Перевірки і виправлення¶
Перевірки якості допомагають знайти типові помилки перекладачів, що забезпечує якість перекладу. Підсумками перевірок можна нехтувати, якщо ви впевнені у їхній хибності.
Одразу після надсилання перекладу, який не проходить перевірки, Weblate покаже користувачеві повідомлення про помилку:
Автоматичні виправлення¶
Окрім Перевірки якості, Weblate може автоматично виправляти деякі поширені помилки в перекладених рядках. Використовуйте його обережно, щоб уникнути додавання помилок.
Дивись також
Засіб заміни завершальних багатокрапок¶
- Назва класу:
weblate.trans.autofixes.chars.ReplaceTrailingDotsWithEllipsis
Замінити кінцеві крапки (...) на багатокрапку (…) для забезпечення однорідності зі початковим рядком.
Вилучення символів нульової ширини¶
- Назва класу:
weblate.trans.autofixes.chars.RemoveZeroSpace
Зазвичай, символи нульової ширини є зайвими у перекладі. Це виправлення призводить до вилучення таких символів, якщо їх немає у початковому рядку.
Вилучення керівних символів¶
- Назва класу:
weblate.trans.autofixes.chars.RemoveControlChars
Вилучає керівні символи, якщо у початковому коді міститься ці символи.
Деванагарі данда¶
- Назва класу:
weblate.trans.autofixes.chars.DevanagariDanda
Замінює крапку в реченні мовою бенгальська символом деванагарі данда (।).
Щільність знаків¶
- Назва класу:
weblate.trans.autofixes.chars.PunctuationSpacing
Added in version 5.3.
Переконується, що французька мова використовує правильні розділові інтервали.
Це виправлення можна вимкнути за допомогою прапорця ignore-punctuation-spacing (який також вимикає Щільність знаків).
Небезпечне чищення коду HTML¶
- Назва класу:
weblate.trans.autofixes.html.BleachHTML
Видаляє небезпечну розмітку HTML із рядків, позначених як safe-html.
Дивись також
Засіб виправлення кінцевих і початкових пробілів¶
- Назва класу:
weblate.trans.autofixes.whitespace.SameBookendingWhitespace
Робить початкові і кінцеві комплекти пробілів однаковими у перекладі і початковому рядку. Поведінку можна скоригувати за допомогою прапорців ignore-begin-space і ignore-end-space з метою пропускання обробки частин рядка.
Перевірки якості¶
Weblate застосовує до рядків широкий діапазон перевірок якості. У наступному розділі докладно описано усі ці перевірки. Також передбачено специфічні для мов перевірки. Якщо у звітах вади ви знайшли помилку, повідомте нам про неї.
Перевірки перекладів¶
Виконуються після кожної зміни у перекладі, допомагаючи перекладачам підтримувати високу якість перекладів.
Розмітка BBCode¶
Змінено в версії 5.10: Ця перевірка більше не покладається на ненадійне автоматичне виявлення, тепер її потрібно ввімкнути за допомогою прапорця bbcode-text.
- Підсумок:
BB-код у перекладі не збігається з BB-кодом у джерелі.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.BBCodeCheck- Перевірити ідентифікатор:
bbcode- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
bbcode-text- Прапорець для нехтування:
ignore-bbcode
BBCode використовує просту розмітку, наприклад, надає змогу позначити важливі частини повідомлення напівжирним або курсивним шрифтом.
Ця перевірка забезпечує наявність розмітки у перекладі.
Примітка
Спосіб виявлення BBCode у поточній версії є доволі простим, тому ця перевірка може помилково повідомляти про хиби у перекладі.
Послідовне повторення слів¶
Added in version 4.1.
- Підсумок:
Текст містить те саме слово двічі поспіль.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.duplicate.DuplicateCheck- Перевірити ідентифікатор:
duplicate- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-duplicate
Перевіряє переклад на відсутність послідовного дублювання слів. Дублювання, зазвичай, вказує на помилку у перекладі.
Підказка
До цієї перевірки включено специфічні для мови правила для уникнення хибного спрацьовування. Якщо у вашому випадку рядок без помилок не проходить перевірки, повідомте про це нас. Див. розділ Надсилання звітів щодо вад у Weblate.
Не відповідає вимогам глосарію¶
Added in version 4.5.
- Підсумок:
Переклад не слідує термінам, які визначено у глосарії.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.glossary.GlossaryCheck- Перевірити ідентифікатор:
check_glossary- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
check-glossary- Прапорець для нехтування:
ignore-check-glossary
Цю перевірку має бути увімкнено за допомогою прапорця check-glossary (див. Налаштовування поведінки за допомогою прапорців). Будь ласка, зважте на таке, перш ніж її вмикати:
Виконує точну перевірку збігу рядків. У глосарії мають міститися терміни в усіх варіантах.
Зіставлення всіх рядків з глосарієм ресурсовитратна операція. Вона сповільнює будь-які дії у Weblate, які стосуються виконання перевірок, подібних до імпортування рядків або перекладу.
Також використовує непридатні до перекладу терміни з глосарія у Переклад не змінено.
Подвійний пробіл¶
- Підсумок:
Переклад містить подвійний пробіл.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.DoubleSpaceCheck- Перевірити ідентифікатор:
double_space- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-double-space
Перевіряє, чи немає у перекладі подвійних пробілів, щоб уникнути хибних спрацювань інших пов’язаних із пробілами перевірок.
Перевірка вважається пройденою, якщо буде виявлено подвійний пробіл у початковому рядку, що означатиме, що подвійний пробіл було використано навмисно.
Частини Fluent¶
Added in version 5.0.
- Підсумок:
Повільні частини повинні збігатися.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.fluent.parts.FluentPartsCheck- Перевірити ідентифікатор:
fluent-parts- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
fluent-parts- Прапорець для нехтування:
ignore-fluent-parts
Кожне повідомлення Fluent може мати необов’язкове значення (основний текстовий вміст) та необов’язкові атрибути, кожен з яких є «частиною» повідомлення. Усі ці частини перебувають в одному блоці з використанням Fluent-подібного синтаксису для визначення атрибутів. Приклад:
This is the Message value
.title = This is the title attribute
.alt = This is the alt attribute
Ця перевірка забезпечує наявність значення у перекладеному повідомленні, якщо воно є у початковому повідомленні, або відсутність значення, якщо його немає у початковому повідомленні. Також буде перевірено, що усі атрибути початкового повідомлення є у перекладі, без будь-яких додавань.
Примітка
Ця перевірка є незастосовною до термінів Fluent, оскільки терміни завжди мають значення, а атрибути терміну загалом є специфічними для локалей (використовуються для граматичних правил тощо), вони мають бути не в усіх перекладах.
Дивись також
Посилання Fluent¶
Added in version 5.0.
- Підсумок:
Повільні посилання мають збігатися.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.fluent.references.FluentReferencesCheck- Перевірити ідентифікатор:
fluent-references- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
fluent-references- Прапорець для нехтування:
ignore-fluent-references
Повідомлення або термін Fluent може посилатися на інше повідомлення, термін, атрибут або змінну. Приклад:
Here is a { message }, a { message.attribute } a { -term } and a { $variable }.
Within a function { NUMBER($num, minimumFractionDigits: 2) }
Загалом, вважається, що у перекладених повідомленнях або термінах містяться ті самі посилання, що і у початкових даних, хоча і не обов’язково у тому самому порядку. Отже, ця перевірка забезпечує використання тих самих посилань із їхніми значеннями, що і у початкових даних, у перекладах, у тій самій кількості без жодних додавань. Для повідомлень також буде перевірено, що у кожному атрибуті у перекладі буде використано ті самі посилання, що і у відповідному атрибуті початкових даних.
Якщо у початкових даних або перекладі містяться вирази вибору Fluent, кожному можливому варіанту у початковому коді має відповідати принаймні один варіант у перекладі із тими самими посиланнями, і навпаки.
Більше того, якщо посилання на змінну є одразу у виборі виразу вибору і одному з його варіантів, можна також перевірити, чи в усіх варіантах міститься це посилання. Припущення може полягати у тому, що ключ варіанта може робити посилання зайвим для варіанта. Приклад:
{ $num ->
[one] an apple
*[other] { $num } apples
}
Тут, з метою перевірки, вважатиметься, що варіант [one] також має містити посилання $num.
Втім, посилання у виборі виразу вибору, яке може бути лише змінною атрибута терміна у синтаксисі Fluent, не буде вважатися саме собою обов’язковим посиланням, оскільки вони не формують самі текстові дані рядка, які побачить кінцевий користувач, а наявність виразу вибору вважатиметься специфічною для локалі. Приклад:
{ -term.starts-with-vowel ->
[yes] an { -term }
*[no] a { -term }
}
Тут посилання -term.starts-with-vowel не повинно бути у перекладах, а посилання -term має бути.
Внутрішній HTML у перекладі Fluent¶
Added in version 5.0.
- Підсумок:
Ціль Fluent має бути дійсним внутрішнім HTML, який відповідає.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.fluent.inner_html.FluentTargetInnerHTMLCheck- Перевірити ідентифікатор:
fluent-target-inner-html- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
fluent-target-inner-html- Прапорець для нехтування:
ignore-fluent-target-inner-html
Ця перевірка забезпечує наявність тих сами елементів HTML у перекладеному значенні повідомлення або терміна.
По-перше, якщо початкове значення не проходить перевірку Внутрішній HTML коду Fluent, ця перевірка не призводить до будь-яких наслідків. Якщо це не так, перекладене значення також буде перевірено на відповідність тим самим умовам.
По-друге, елементи HTML, знайдені в перекладеному значенні, будуть порівняні з елементами HTML, знайденими у вихідному значенні. Два елементи збігатимуться, якщо вони мають однакову назву тегу, однакові атрибути та значення, а всі їхні предки збігатимуться однаково. Ця перевірка гарантує, що всі елементи у вихідному коді з’являться десь у перекладі, з однаковою кількістю появи та без додавання додаткових елементів. Якщо у значенні є кілька елементів, вони не обов’язково повинні з’являтися в однаковому порядку у значенні перекладу.
Якщо у початкових даних або перекладі містяться вирази вибору Fluent, кожному можливому варіанту у початковому коді має відповідати принаймні один варіант у перекладі із тими самими елементами HTML, і навпаки.
При використанні Fluent у поєднанні з пакунком DOM Fluent, ця перевірка забезпечує наявність у перекладі усіх обов’язкових елементів data-l10n-name початкового коду або будь-яких дозволених вбудованих елементів, зокрема <br>.
Наприклад, такий початковий код:
Source message <img data-l10n-name="icon"/> with icon
має відповідати:
Translated message <img data-l10n-name="icon"/> with icon
але не:
Translated message <img data-l10n-name="new-val"/> with icon
і не
Translated message <br data-l10n-name="icon"/> with no icon
Дивись також
Синтаксис перекладу Fluent¶
Added in version 5.0.
- Підсумок:
Помилка вільного синтаксису в перекладі.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.fluent.syntax.FluentTargetSyntaxCheck- Перевірити ідентифікатор:
fluent-target-syntax- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
fluent-target-syntax- Прапорець для нехтування:
ignore-fluent-target-syntax
У Weblate рядки Fluent використовують синтаксис Fluent для посилань та змінних, але також для складніших речей, зокрема визначення атрибутів та варіантів вибору, зокрема форм множини. Ця перевірка забезпечує коректність синтаксису Fluent перекладу.
Форматовані рядки¶
Перевіряє, чи є однаковим форматування у початковому рядку і перекладі. Пропускання рядків форматування у перекладі, зазвичай, спричиняє серйозні проблеми, тому форматування у рядках перекладів має, зазвичай, збігатися із форматуванням у початковому рядку.
У Weblate передбачено підтримку рядків форматування декількох мов програмування. Перевірка не вмикається автоматично, а лише якщо рядок позначено відповідним прапорцем (наприклад c-format для форматування C). Gettext додає такі прапорці автоматично, але вам, ймовірно, доведеться додавати прапорці вручну для файлів в інших форматах, або якщо ваші файли PO не створено за допомогою xgettext.
Більшість перевірок форматування надають змогу пропускати рядки форматування для форм множини, якщо така форма множини є єдиною. Уможливлює для перекладачів написання кращих рядків для цих випадків (Одне яблуко замість %d яблуко). Вимикається прапорцем strict-format.
Прапорці можна налаштовувати для кожного рядка окремо (див. Додаткові відомості щодо початкових рядків) або в Налаштовування складників. Визначення прапорців для кожного компонента простіше, але це може призвести до хибних спрацьовувань, якщо рядок не інтерпретується як рядок форматування, а використовується синтаксис рядка форматування.
Підказка
Якщо у Weblate недоступна специфічна перевірка формату, ви можете скористатися загальними Заповнювачі.
Окрім перевірки, Weblate підсвітить рядки форматування для спрощення вставлення їх до рядків перекладу:
Рядок інтерполяції AngularJS¶
- Підсумок:
Рядки інтерполяції AngularJS не відповідають джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.angularjs.AngularJSInterpolationCheck- Перевірити ідентифікатор:
angularjs_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
angularjs-format- Прапорець для нехтування:
ignore-angularjs-format
- Приклад рядка іменованого форматування:
Your balance is {{amount}} {{ currency }}
Дивись також
Автоматичне форматування компонентів¶
- Підсумок:
Заповнювачі компонентів Automattic не відповідають джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.AutomatticComponentsCheck- Перевірити ідентифікатор:
automattic_components_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
automattic-components-format- Прапорець для нехтування:
ignore-automattic-components-format
- Приклад рядка простого форматування:
They bought {{strong}}apples{{/strong}}.
Дивись також
Формат C¶
- Підсумок:
Рядок, формату C, не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.CFormatCheck- Перевірити ідентифікатор:
c_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
c-format- Прапорець для нехтування:
ignore-c-format
- Приклад рядка простого форматування:
There are %d apples- Приклад рядка позиційного форматування:
Your balance is %1$d %2$s
Дивись також
Формат C#¶
- Підсумок:
Рядок формату C# не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.CSharpFormatCheck- Перевірити ідентифікатор:
c_sharp_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
c-sharp-format,csharp-format- Прапорець для нехтування:
ignore-c-sharp-format
- Приклад рядка позиційного форматування:
There are {0} apples
Дивись також
Літерали шаблонів ECMAScript¶
- Підсумок:
Літерали шаблонів ECMAScript не відповідають джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.ESTemplateLiteralsCheck- Перевірити ідентифікатор:
es_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
es-format- Прапорець для нехтування:
ignore-es-format
- Приклад інтерполяції:
There are ${number} apples
Дивись також
i18next інтерполяція¶
Added in version 4.0.
- Підсумок:
Інтерполяція i18next не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.I18NextInterpolationCheck- Перевірити ідентифікатор:
i18next_interpolation- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
i18next-interpolation- Прапорець для нехтування:
ignore-i18next-interpolation
- Приклад інтерполяції:
There are {{number}} apples- Приклад вкладеності:
There are $t(number) apples
Дивись також
MessageFormat ICU¶
Added in version 4.9.
- Підсумок:
Помилки синтаксису та/або невідповідності заповнювача в рядках ICU MessageFormat.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.icu.ICUMessageFormatCheck- Перевірити ідентифікатор:
icu_message_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
icu-message-format- Прапорець для нехтування:
ignore-icu-message-format
- Приклад інтерполяції:
There {number, plural, one {is one apple} other {are # apples}}.
У цій перевірці передбачено підтримку чистих повідомлень MessageFormat ICU, а також ICU із простими теґами XML. Ви можете налаштувати поведінку цієї перевірки за допомогою icu-flags:*, або доповнивши підтримку XML, або вимкнувши певні підлеглі перевірки. Наприклад, вказаний нижче прапорець вмикає підтримку XML і вимикає перевірку підповідомлень із формами множини:
icu-message-format, icu-flags:xml:-plural_selectors
|
Увімкнути підтримку простих теґів XML. Типово, обробку теґів XML оптимізовано. Окремі символи |
|
Увімкнути підтримку строгої обробки теґів XML. Усі символи |
|
Вимкнути підсвічування замінників у редакторі. |
|
Вимкнути вимогу щодо того, що підповідомлення повинні належати до селектора |
|
Пропустити перевірку того, чи селектори підповідомлень відповідають джерелу. |
|
Пропустити перевірку відповідності типів замінників джерелу. |
|
Пропустити перевірку того, чи є замінники, яких немає у початковому рядку. |
|
Пропустити перевірку того, чи не пропущено замінники, які були у початковому рядку. |
Крім того, якщо не увімкнено strict-xml, але увімкнено xml, ви можете скористатися прапорцем icu-tag-prefix:ПРЕФІКС, щоб вказати, що усі теґи XML мають починатися із вказаного рядка. Наприклад, вказаний нижче прапорець призводить до того, що відповідність теґами XML встановлюється, лише якщо вони починаються з <x::
icu-message-format, icu-flags:xml, icu-tag-prefix:"x:"
Тобто, відповідність буде встановлено для <x:link>натисніть тут</x:link>, але не для <strong>це</strong>.
Формат Java¶
- Підсумок:
Рядок формату Java не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.JavaFormatCheck- Перевірити ідентифікатор:
java_printf_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
Рядкові ресурси Android, Ресурси Kotlin для мобільних пристроїв, Ресурси Compose Multiplatform
- Прапорець для вмикання:
java-printf-format- Прапорець для нехтування:
ignore-java-printf-format
- Приклад рядка простого форматування:
There are %d apples- Приклад рядка позиційного форматування:
Your balance is %1$d %2$s
Змінено в версії 4.14: Зазвичай, перемикається прапорцем java-format, було змінено для сумісності із GNU gettext.
Дивись також
Формат Java Message¶
- Підсумок:
Рядок Java MessageFormat не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.JavaMessageFormatCheck- Перевірити ідентифікатор:
java_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
auto-java-messageformat,java-format- Автоматична поведінка прапорця:
auto-java-messageformat: Розглядати текст як умовний Java MessageFormat, увімкнувши Формат Java Message лише тоді, коли джерело містить заповнювачі Java MessageFormat.- Прапорець для нехтування:
ignore-java-format
- Приклад рядка позиційного форматування:
There are {0} apples
Змінено в версії 4.14: Зазвичай, перемикається прапорцем java-messageformat, було змінено для сумісності із GNU gettext.
Ця перевірка визначає, чи є рядок форматування коректним для класу Java MessageFormat. Окрім встановлення відповідності рядків форматування у фігурних дужках, також буде виконано перевірку відповідності одинарних лапок специфічного призначення. Одинарні лапки має бути записано як ''. Якщо у лапок немає пари, обробник вважатиме їх початком цитування і не показуватиме при обробці рядка.
Дивись також
Формат JavaScript¶
- Підсумок:
Рядок, формату JavaScript, не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.JavaScriptFormatCheck- Перевірити ідентифікатор:
javascript_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
javascript-format- Прапорець для нехтування:
ignore-javascript-format
- Приклад рядка простого форматування:
There are %d apples
Дивись також
Формат Laravel¶
- Підсумок:
Рядок формату Laravel не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.LaravelFormatCheck- Перевірити ідентифікатор:
laravel_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
laravel-format- Прапорець для нехтування:
ignore-laravel-format
- Приклад рядка іменованого форматування:
The :attribute must be :value
Дивись також
Формат Lua¶
- Підсумок:
Рядок, формату Lua, не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.LuaFormatCheck- Перевірити ідентифікатор:
lua_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
lua-format- Прапорець для нехтування:
ignore-lua-format
- Приклад рядка простого форматування:
There are %d apples
Дивись також
Форматування Object Pascal¶
- Підсумок:
Рядок форматування Object Pascal не збігається із джерелом.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.ObjectPascalFormatCheck- Перевірити ідентифікатор:
object_pascal_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
object-pascal-format- Прапорець для нехтування:
ignore-object-pascal-format
- Приклад рядка простого форматування:
There are %d apples
Форматування Objective-C¶
Added in version 5.17.
- Підсумок:
Рядок форматування Objective-C не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.ObjCFormatCheck- Перевірити ідентифікатор:
objc_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
objc-format- Прапорець для нехтування:
ignore-objc-format
Відсоток заповнювачів¶
Added in version 4.0.
- Підсумок:
Відсоток заповнювачів не відповідає джерелам.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.PercentPlaceholdersCheck- Перевірити ідентифікатор:
percent_placeholders- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
percent-placeholders- Прапорець для нехтування:
ignore-percent-placeholders
- Приклад рядка простого форматування:
There are %number% apples
Дивись також
Формат дужок Perl¶
- Підсумок:
Рядок формату дужок Perl не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.PerlBraceFormatCheck- Перевірити ідентифікатор:
perl_brace_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
perl-brace-format- Прапорець для нехтування:
ignore-perl-brace-format
- Приклад рядка іменованого форматування:
There are {number} apples
Дивись також
Формат Perl¶
- Підсумок:
Рядок формату Perl не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.PerlFormatCheck- Перевірити ідентифікатор:
perl_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
perl-format- Прапорець для нехтування:
ignore-perl-format
- Приклад рядка простого форматування:
There are %d apples- Приклад рядка позиційного форматування:
Your balance is %1$d %2$s
Дивись також
Формат PHP¶
- Підсумок:
Рядок, формату PHP, не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.PHPFormatCheck- Перевірити ідентифікатор:
php_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
php-format- Прапорець для нехтування:
ignore-php-format
- Приклад рядка простого форматування:
There are %d apples- Приклад рядка позиційного форматування:
Your balance is %1$d %2$s
Формат дужок Python¶
- Підсумок:
Рядок, формату Python brace, не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.PythonBraceFormatCheck- Перевірити ідентифікатор:
python_brace_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
python-brace-format- Прапорець для нехтування:
ignore-python-brace-format
- Простий рядок форматування:
There are {} apples- Приклад рядка іменованого форматування:
Your balance is {amount} {currency}
Формат Python¶
- Підсумок:
Рядок, формату Python, не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.PythonFormatCheck- Перевірити ідентифікатор:
python_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
python-format- Прапорець для нехтування:
ignore-python-format
- Простий рядок форматування:
There are %d apples- Приклад рядка іменованого форматування:
Your balance is %(amount)d %(currency)s
Формат Qt¶
- Підсумок:
Рядок формату Qt не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.qt.QtFormatCheck- Перевірити ідентифікатор:
qt_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
qt-format- Прапорець для нехтування:
ignore-qt-format
- Приклад рядка позиційного форматування:
There are %1 apples
Дивись також
Формат Qt у множині¶
- Підсумок:
Рядок формату Qt у множині не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.qt.QtPluralCheck- Перевірити ідентифікатор:
qt_plural_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
qt-plural-format- Прапорець для нехтування:
ignore-qt-plural-format
- Приклад рядка форматування форм множини:
There are %Ln apple(s)
Дивись також
Формат Ruby¶
- Підсумок:
Рядок формату Ruby не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.ruby.RubyFormatCheck- Перевірити ідентифікатор:
ruby_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
ruby-format- Прапорець для нехтування:
ignore-ruby-format
- Приклад рядка простого форматування:
There are %d apples- Приклад рядка позиційного форматування:
Your balance is %1$f %2$s- Приклад рядка іменованого форматування:
Your balance is %+.2<amount>f %<currency>s- Рядок із іменованим шаблоном:
Your balance is %{amount} %{currency}
Дивись також
Формат Scheme¶
- Підсумок:
Рядок форматування Scheme не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.SchemeFormatCheck- Перевірити ідентифікатор:
scheme_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
scheme-format- Прапорець для нехтування:
ignore-scheme-format
- Приклад рядка простого форматування:
There are ~d apples
Форматування I18n Vue¶
- Підсумок:
Форматування I18n Vue не збігається із початковим рядком.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.format.VueFormattingCheck- Перевірити ідентифікатор:
vue_format- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
vue-format- Прапорець для нехтування:
ignore-vue-format
- Іменоване форматування:
There are {count} apples- Форматування i18n Rails:
There are %{count} apples- Пов’язані повідомлення локалі:
@:message.dio @:message.the_world!
Вже перекладено¶
- Підсумок:
Цей рядок було перекладено в минулому.
- Область:
усі рядки
- Клас перевірки:
weblate.checks.consistency.TranslatedCheck- Перевірити ідентифікатор:
translated- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-translated
Означає, що рядок вже було перекладено. Таке може трапитися, якщо переклади було скасовано у системі керування версіями або втрачено у інший спосіб.
Неузгодженість¶
- Підсумок:
Цей рядок має більше одного перекладу в цьому проєкті або не перекладений у деяких складниках.
- Область:
усі рядки
- Клас перевірки:
weblate.checks.consistency.ConsistencyCheck- Перевірити ідентифікатор:
inconsistent- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-inconsistent
Weblate шукає різні переклади однакових рядків в усьому проєкті, щоб забезпечити однорідність перекладів.
Ця перевірка вважається не пройденою, якщо у межах проєкту буде знайдено різні переклади одного рядка. Неоднорідність буде показано серед інших даних щодо перекладу. Знайти інші переклади рядка можна на вкладці Інші входження.
Цю перевірку буде застосовано до всіх складників у проєкті, для яких увімкнено Дозволити поширення перекладу.
Підказка
З міркувань швидкодії перевірка може шукати не усі неузгодженості — кількість відповідників обмежено.
Примітка
Перевірка також вважається не пройденою, якщо рядок перекладено в одному складнику проєкту і не перекладено в іншому. Нею можна скористатися як швидким способом обробки рядків, які не перекладено у деяких складниках: достатньо просто натиснути кнопку Використати цей переклад, яку показано для кожного з рядків на вкладці Інші входження.
Ви можете скористатися додатком Автоматичний переклад для автоматизації нових доданих рядків, які вже було перекладено в іншому складнику.
Непослідовний reStructuredText¶
Added in version 5.10.
- Підсумок:
Невідповідна розмітка reStructuredText у перекладеному повідомленні.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.RSTReferencesCheck- Перевірити ідентифікатор:
rst-references- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
rst-text- Прапорець для нехтування:
ignore-rst-references
Якщо посилання на терміни reStructuredText або інша розмітка не відповідають джерелу, типовими причинами цих помилок є:
Невідповідні або відсутні зворотні галочки.
Відсутні пробіли або інтерпункт навколо посилання. Вбудовані блоки reStructuredText мають бути розділені символами, що не є словами.
Пробіл між вбудованим тегом і зворотними галочками.
Довідкова назва не перекладається.
Використання лапок замість зворотних галочок.
Невідповідні заміни або посилання на виноски.
Дивись також
Використано літеру кашида¶
- Підсумок:
Декоративні букви кашіда використовувати не можна.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.KashidaCheck- Перевірити ідентифікатор:
kashida- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-kashida
Декоративні літери кашиди не повинні використовуватися. Такі літери також називають татвілами.
Дивись також
Посилання Markdown¶
- Підсумок:
Посилання Markdown не відповідають джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.MarkdownLinkCheck- Перевірити ідентифікатор:
md-link- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
md-text- Прапорець для нехтування:
ignore-md-link
Посилання Markdown не відповідають джерелу.
Дивись також
Markdown посилання¶
- Підсумок:
Посилання Markdown не збігаються з джерелом.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.MarkdownRefLinkCheck- Перевірити ідентифікатор:
md-reflink- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
md-text- Прапорець для нехтування:
ignore-md-reflink
Посилання Markdown не збігаються з джерелом.
Дивись також
Синтаксис Markdown¶
- Підсумок:
Синтаксис Markdown не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.MarkdownSyntaxCheck- Перевірити ідентифікатор:
md-syntax- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
md-text- Прапорець для нехтування:
ignore-md-syntax
Синтаксис Markdown не відповідає джерелу
Дивись також
Максимальна довжина перекладу¶
- Підсумок:
Переклад не перевищує заданої довжини.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.MaxLengthCheck- Перевірити ідентифікатор:
max-length- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
max-length- Прапорець для нехтування:
ignore-max-length
Перевіряє, чи прийнятною є довжина перекладів і чи вкладаються вони у доступне місце. У цій перевірці враховується лише довжина перекладу у символах.
На відміну від інших перевірок, прапорець слід встановити як пару ключ:значення, наприклад max-length:100.
Підказка
Ця перевірка використовує кількість символів — це значення може бути не найкращим варіантом, якщо для показу тексту використовується пропорційний шрифт. Справжню довжину тексту можна оцінити за допомогою перевірки Найбільший розмір перекладу.
Крім того, може стати у пригоді прапорець replacements: для розгортання замінників перед перевіркою рядка.
Якщо також використано прапорець xml-text, в обчисленнях довжини буде проігноровано теґи XML.
Найбільший розмір перекладу¶
- Підсумок:
Перекладений текст не повинен перевищувати заданий розмір.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.render.MaxSizeCheck- Перевірити ідентифікатор:
max-size- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
max-size- Прапорець для нехтування:
ignore-max-size
Перекладений текст не повинен перевищувати заданий розмір. Програма обробляє текст із перенесенням рядків і перевіряє, чи вкладається він у вказані обмеження.
Для перевірки потрібні два параметри — максимальна ширина і максимальна кількість рядків. Якщо кількість рядків не вказано, буде перевірено однорядковий текст.
Ви також можете налаштувати використаний шрифт за допомогою інструкції font-* (див. Налаштовування поведінки за допомогою прапорців). Наприклад, вказані нижче прапорці перекладу встановлюють, що запис тексту шрифтом ubuntu розміру 22 має вкладатися у два рядки і ширину у 500 пікселів:
max-size:500:2, font-family:ubuntu, font-size:22
Підказка
Можливо, вам варто встановити директиви font-* у Налаштовування складників, щоб налаштувати однаковий шрифт для всіх рядків у компоненті. Ви можете перевизначити ці значення для кожного рядка, якщо вам потрібно налаштувати його окремо.
Крім того, може стати у пригоді прапорець replacements: для розгортання замінників перед перевіркою рядка.
Якщо також використано прапорець xml-text, в обчисленнях довжини буде проігноровано теґи XML.
Не збіглися \n¶
- Підсумок:
Кількість \n літералів у перекладі не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EscapedNewlineCountingCheck- Перевірити ідентифікатор:
escaped_newline- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-escaped-newline
Зазвичай, екрановані символи розриву рядка є важливими для форматування виведених програмою даних. Перевірка вважається не пройденою, якщо кількість записів \n у перекладі не збігається із кількістю у початковому рядку.
Невідповідність двокрапки¶
- Підсумок:
Джерело та переклад не закінчуються двокрапкою.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EndColonCheck- Перевірити ідентифікатор:
end_colon- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-end-colon
Перевіряє, чи правильно відтворено двокрапки з початкового рядка у перекладі. Також виконується перевірка двокрапок у мовах, де вони не використовуються (китайській і японській).
Дивись також
Невідповідність багатокрапок¶
- Підсумок:
Джерело та переклад не закінчуються крапкою.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EndEllipsisCheck- Перевірити ідентифікатор:
end_ellipsis- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-end-ellipsis
Перевіряє, чи відтворено кінцеві три крапки з початкового рядка у перекладі. Виконується перевірка лише для справжнього символу трьох крапок (…), а не трьох послідовних крапок (...).
Символ багатокрапки, зазвичай, краще виглядає у друкованому варіанті і краще обробляється системами озвучення тексту.
Дивись також
Невідповідність знаків оклику¶
- Підсумок:
Джерело та переклад не закінчуються знаком оклику.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EndExclamationCheck- Перевірити ідентифікатор:
end_exclamation- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-end-exclamation
Перевіряє, чи правильно відтворено знаки оклику з початкового рядка у перекладі. Також виконується перевірка знаків оклику у мовах, де вони не використовуються (китайській, японській, корейській, вірменській, лімбу, м’янмській та нко).
Дивись також
Невідповідність кінцевої крапки¶
- Підсумок:
Джерело та переклад не закінчуються крапкою.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EndStopCheck- Перевірити ідентифікатор:
end_stop- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-end-stop
Перевіряє, чи правильно відтворено крапки з початкового рядка у перекладі. Також виконується перевірка крапок у мовах, де вони не використовуються (китайській, японській, деванагарі та урду).
Дивись також
Невідповідність інтерробенга¶
- Підсумок:
Початковий і переклад не закінчуються міжрядковим виразом.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EndInterrobangCheck- Перевірити ідентифікатор:
end_interrobang- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-end-interrobang
Перевіряє, чи відтворено позначки інтерробенга з початкового рядка у перекладі. Уможливлює перемикання між «!?» і «?!».
Дивись також
Невідповідність знаків питання¶
- Підсумок:
Джерело та переклад не закінчуються знаком питання.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EndQuestionCheck- Перевірити ідентифікатор:
end_question- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-end-question
Перевіряє, чи правильно відтворено знаки питання з початкового рядка у перекладі. Також виконується перевірка знаків питання у мовах, де вони не використовуються (вірменській, арабській, китайській, корейській, японській, ефіопській, ваї або коптській).
Дивись також
Невідповідність крапки з комою¶
- Підсумок:
Джерело і переклад не завершуються крапкою з комою.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EndSemicolonCheck- Перевірити ідентифікатор:
end_semicolon- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-end-semicolon
Перевіряє, чи відтворено кінцеві двокрапки з початкового рядка у перекладі.
Дивись також
Розбіжність розривів рядків¶
- Підсумок:
Кількість нових рядків у перекладі не відповідає джерелу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.NewLineCountCheck- Перевірити ідентифікатор:
newline-count- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-newline-count
Зазвичай, символи розриву рядка є важливими для форматування виведених програмою даних. Перевірка вважається не пройденою, якщо кількість перенесень рядків у перекладі не збігається із кількістю у початковому рядку.
Бракує множини¶
- Підсумок:
Деякі форми множини не перекладено.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.consistency.PluralsCheck- Перевірити ідентифікатор:
plurals- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-plurals
Перевіряє, чи було перекладено усіх форми множини початкового рядка. Специфіку використання кожної з форм множини, яку використано, можна знайти у визначенні рядка.
Якщо деякі з форм множини пропущено, у деяких випадках користувачу буде показано порожній рядок замість форми множини.
Декілька великих літер поспіль¶
Added in version 5.16.
- Підсумок:
Переклад містить слова з кількома неправильно розміщеними великими літерами.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.MultipleCapitalCheck- Перевірити ідентифікатор:
multiple_capital- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-multiple-capital
Перевіряє наявність неправильно розміщених великих літер, виявляючи слова, що містять послідовно великі літери в тексті, що зазвичай використовується в нижньому регістрі або з великою літерою (наприклад, HEllo або CAmelCase). Рядкам, які містять великі літери у вихідному рядку, дозволено містити великі літери в перекладі.
Нестандартні символи кабільською мовою¶
Added in version 5.12.
- Підсумок:
Використовуйте стандартизовані латинські кабільські символи (наприклад, ɣ замість грецького γ; ɛ замість ε).
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.KabyleCharactersCheck- Перевірити ідентифікатор:
kabyle-characters- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-kabyle-characters
Перевіряє, чи в кабільських перекладах використовуються правильні кабільські літери, а не подібні грецькі, які часто використовувалися до стандартизації кабільських символів у Unicode.
Заповнювачі¶
Змінено в версії 4.3: Ви можете використовувати формальний вираз як замінник.
Змінено в версії 4.13: Із прапорцем case-insensitive програма не зважатиме на регістр символів у символах-замінника.
- Підсумок:
У перекладі не вистачає деяких замінників.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.placeholders.PlaceholderCheck- Перевірити ідентифікатор:
placeholders- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
placeholders- Прапорець для нехтування:
ignore-placeholders
У перекладі пропущено деякі з символів-замінників. Символи-замінники видобуваються з файла перекладу або визначаються вручну за допомогою прапорця placeholders. Декілька символів-замінників можна відокремити двокрапкою, рядки з пробілами слід вказувати у лапках:
placeholders:$URL$:$TARGET$:"some long text"
Якщо ви знаєте синтаксичну конструкцію для замінників, ви можете скористатися регулярним виразом:
placeholders:r"%[^% ]%"
Також можна вказати, що не слід враховувати регістр символів у символах-замінниках:
placeholders:$URL$:$TARGET$,case-insensitive
Дивись також
Заборонений ініціал¶
Added in version 5.9.
- Підсумок:
Рядок починається із забороненого символу в CSV.
- Область:
рядки глосарію
- Клас перевірки:
weblate.checks.glossary.ProhibitedInitialCharacterCheck- Перевірити ідентифікатор:
prohibited_initial_character- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-prohibited-initial-character
Глосарій часто використовується як CSV, і використання деяких символів на початку обмежено багатьма програмами, оскільки це може призвести до того, що текст буде оцінено як вираз. Це також впливає на Глосарії в автоматичній пропозиції, де багато служб використовують CSV для синхронізації глосаріїв і відхиляють такі рядки.
Щільність знаків¶
Змінено в версії 5.10: Ця перевірка також застосовувалася до бретонської мови, але вона була обмежена лише французькою.
- Підсумок:
Пропущений нерозривний пробіл перед подвійним знаком пунктуації.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.PunctuationSpacingCheck- Перевірити ідентифікатор:
punctuation_spacing- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-punctuation-spacing
Перевіряє, чи є нерозривний пробіл перед подвійним знаком пунктуації (знак оклику, знак питання, крапка з комою та двокрапка). Це правило використовується лише в кількох вибраних мовах, наприклад у французькій, де пробіл перед подвійним знаком пунктуації є типографічним правилом.
Дивись також
Регулярний вираз¶
Змінено в версії 5.10: Розширена підтримка розширених регулярних виразів, включаючи властивості кодової точки Unicode.
- Підсумок:
Переклад не відповідає регулярному виразу.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.placeholders.RegexCheck- Перевірити ідентифікатор:
regex- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
regex- Прапорець для нехтування:
ignore-regex
Переклад не відповідає формальному виразу. Вираз або видобувається з файла перекладу, або визначається вручну за допомогою прапорця regex:
regex:^foo|bar$
Зіставлення також підтримує властивості кодових точок Unicode, включаючи сценарії та блоки:
regex:^[-_\p{L}\p{N}\p{sc=Deva}\p{sc=Thai}]{1,32}$
Підказка
Використовуйте Заповнювачі для виявлення відсутніх заповнювачів у рядку.
Дивись також
Синтаксична помилка reStructuredText¶
Added in version 5.10.
- Підсумок:
Синтаксична помилка reStructuredText у перекладі.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.RSTSyntaxCheck- Перевірити ідентифікатор:
rst-syntax- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
rst-text- Прапорець для нехтування:
ignore-rst-syntax
Синтаксична помилка reStructuredText у перекладі. Питання для пошуку:
Невідповідність закриваючих/відкриваючих тегів.
Відсутні пробіли або інтерпункт навколо посилання. Вбудовані блоки reStructuredText мають бути розділені символами, що не є словами.
Використання лапок замість зворотних галочок.
Дивись також
Повторно використаний переклад¶
Added in version 4.18.
- Підсумок:
Різні рядки перекладено однаково.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.consistency.ReusedCheck- Перевірити ідентифікатор:
reused- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-reused
Перевірка, яка вважається непройденою, якщо той самий переклад використано для інших початкових рядків. Такі переклади може бути використано навмисне, але вони можуть заплутати користувача.
Однакова множина¶
- Підсумок:
Деякі форми множини перекладені однаково.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.consistency.SamePluralsCheck- Перевірити ідентифікатор:
same-plurals- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-same-plurals
Перевірка вважається не пройденою, якщо у перекладі усі форми множини є однаковими. У більшості мов форми множини мають бути різними.
Перехід у новий рядок¶
- Підсумок:
Джерело та переклад не починаються з нового рядка.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.BeginNewlineCheck- Перевірити ідентифікатор:
begin_newline- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-begin-newline
Символи розриву рядка, зазвичай, з’являються у початкових рядках з певних причин. Пропускання або додавання цих символів може призвести до проблем із форматуванням при використанні перекладеного тексту.
Дивись також
Початкові пропуски¶
- Підсумок:
Джерело та переклад не починаються з однакової кількості пробілів.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.BeginSpaceCheck- Перевірити ідентифікатор:
begin_space- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-begin-space
Пробіл на початку рядка зазвичай використовується для відступів у інтерфейсі, тому його важливо зберігати.
Кінцевий знак нового рядка¶
- Підсумок:
Джерело та переклад не закінчуються символом нового рядка.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EndNewlineCheck- Перевірити ідентифікатор:
end_newline- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-end-newline
Символи розриву рядка, зазвичай, з’являються у початкових рядках з певних причин. Пропускання або додавання цих символів може призвести до проблем із форматуванням при використанні перекладеного тексту.
Дивись також
Кінцеві пропуски¶
- Підсумок:
Джерело та переклад не закінчуються пробілом.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.EndSpaceCheck- Перевірити ідентифікатор:
end_space- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-end-space
Перевіряє, чи відтворено кінцеві крапки з початкового рядка у перекладі.
Кінцевий пробіл зазвичай використовується для відокремлення сусідніх елементів, тому його вилучення може призвести до помилок при показі тексту.
Переклад не змінено¶
- Підсумок:
Джерело і переклад ідентичні.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.same.SameCheck- Перевірити ідентифікатор:
same- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-same
Трапляється, якщо вихідний і відповідний рядки перекладу ідентичні принаймні до однієї з форм множини. Деякі рядки, які зазвичай зустрічаються в усіх мовах, ігноруються, а різні розмітки видаляються. Це зменшує кількість помилкових спрацьовувань.
Ця перевірка може допомогти рядки, які помилково не було перекладено.
За умовчанням ця перевірка виключає з перевірки слова зі списку вбудованих термінів. Це слова, які часто не перекладаються. Це корисно, щоб уникнути помилкових спрацьовувань на коротких рядках, які складаються лише з одного слова, яке є однаковим у кількох мовах. Цей список можна вимкнути, додавши позначку strict-same до рядка або компонента.
Змінено в версії 4.17: Якщо вказано прапорець check-glossary (див. Не відповідає вимогам глосарію), непридатні до перекладу терміни з глосарія буде виключено з перевірки.
Небезпечний HTML-код¶
- Підсумок:
Переклад використовує небезпечну HTML-розмітку.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.SafeHTMLCheck- Перевірити ідентифікатор:
safe-html- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
auto-safe-html,safe-html- Автоматична поведінка прапорця:
auto-safe-html: Розглядає текст як умовний HTML, увімкнувши Небезпечний HTML-код лише для простого тексту або рядків-джерел, що містять стандартну HTML-розмітку або допустимі власні елементи. Це корисно для розширених варіантів Markdown, таких як MDX, де синтаксис у кутових дужках може не відповідати HTML.- Прапорець для нехтування:
ignore-safe-html
Переклад використовує небезпечну розмітку HTML. Цю перевірку слід увімкнути за допомогою прапорця safe-html (див. Налаштовування поведінки за допомогою прапорців). Також передбачено автоматичний засіб виправлення розмітки.
Підказка
Якщо також використано прапорець md-text, буде дозволено також посилання у стилі Markdown.
Дивись також
Перевірка HTML виконується бібліотекою Ammonia.
URL¶
- Підсумок:
У перекладі немає URL-адреси.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.URLCheck- Перевірити ідентифікатор:
url- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Прапорець для вмикання:
url- Прапорець для нехтування:
ignore-url
The translation does not contain a URL. This is triggered only in case the unit is marked as containing URL. In that case the translation has to be a valid URL.
Розмітка XML¶
- Підсумок:
Теґи XML у перекладі не збігаються з тегами XML у джерелі.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.XMLTagsCheck- Перевірити ідентифікатор:
xml-tags- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-xml-tags
Це, зазвичай, означає, що остаточний результат виглядатиме інакше. У більшості цей результат є небажаним у перекладі, але іноді без зміни не обійтися.
Перевіряє, чи відтворено теґи XML з початкового рядка у перекладі.
Цю перевірку автоматично увімкнено для XML-подібних рядків. У деяких випадках вам слід додати прапорець xml-text для примусового увімкнення перевірки.
Примітка
Цю перевірку вимкнено прапорцем safe-html, оскільки чищення коду HTML, яке вона виконує, може призвести до створення розмітки HTML, яка не є коректним кодом XML.
Синтаксис XML¶
- Підсумок:
Цей переклад не є правильним XML.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.markup.XMLValidityCheck- Перевірити ідентифікатор:
xml-invalid- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-xml-invalid
Розмітка XML є некоректною.
Цю перевірку автоматично увімкнено для XML-подібних рядків. У деяких випадках вам слід додати прапорець xml-text для примусового увімкнення перевірки.
Примітка
Цю перевірку вимкнено прапорцем safe-html, оскільки чищення коду HTML, яке вона виконує, може призвести до створення розмітки HTML, яка не є коректним кодом XML.
Простір нульової ширини¶
- Підсумок:
Переклад містить зайві символи пропуску нульової ширини.
- Область:
перекладені рядки
- Клас перевірки:
weblate.checks.chars.ZeroWidthSpaceCheck- Перевірити ідентифікатор:
zero-width-space- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-zero-width-space
Символи пробілів нульової ширини (<U+200B>) використовуються для розриву рядків посередині слова (перенесення рядків).
Оскільки ці символи часто включають до перекладів помилково, ця перевірка вмикається, якщо відповідні символи буде знайдено у перекладі. У роботі деяких програм можуть виникати проблеми, якщо буде використано такі символи.
Дивись також
Перевірки джерела¶
Перевірки початкових рядків можуть допомогти розробникам удосконалити початкові рядки.
Трикрапка¶
- Підсумок:
У цьому рядку замість символу еліпсису
(…)використовуються три крапки(...).- Область:
початкові рядки
- Клас перевірки:
weblate.checks.source.EllipsisCheck- Перевірити ідентифікатор:
ellipsis- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-ellipsis
Ця перевірка вважається не пройденою, якщо у рядку використано три крапки (...) замість символу багатокрапки (…).
Використання символу Unicode у більшості випадків є кращим варіантом — символ виглядає краще у друкованому варіанті і краще озвучуються системами озвучення тексту.
Дивись також
Внутрішній HTML коду Fluent¶
Added in version 5.0.
- Підсумок:
Джерело Fluent має бути дійсним внутрішнім HTML.
- Область:
початкові рядки
- Клас перевірки:
weblate.checks.fluent.inner_html.FluentSourceInnerHTMLCheck- Перевірити ідентифікатор:
fluent-source-inner-html- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
fluent-source-inner-html- Прапорець для нехтування:
ignore-fluent-source-inner-html
Fluent часто використовують у контекстах, де значення для повідомлення (або терміна) має бути використано безпосередньо як .innerHTML (а не як .textContent) для якогось елемента HTML. Прикладом є використання пакунка DOM Fluent.
The aim of this check is to predict how the value will be parsed as inner HTML, assuming an HTML5 conforming parser, to catch cases where there would be some «unintended» loss of the string, without being too strict about technical parsing errors that do not lead to a loss of the string.
Цю перевірку буде застосовано до значення повідомлень або термінів Fluent, але не до їхніх атрибутів. Для повідомлень атрибути Fluent часто є просто значенням атрибутів HTML, тому можуть бути довільними рядками. Для термінів атрибути Fluent часто є властивостями мови, посилання на які можливі лише у виборі виразів вибору Fluent.
Generally, most Fluent values are not expected to contain any HTML markup. Therefore, this check does not expect or want translators and developers to have to care about strictly avoiding any technical HTML5 parsing errors (let alone XHTML parsing errors). Instead, this check will just want to warn them when they may have unintentionally opened an HTML tag or inserted a character reference.
Більше того, для значень Fluent, які навмисно містять теґи HTML або символьні посилання, ми хочемо перевірити «правильність», зокрема відповідність завершальних або кінцевих теґів, коректність символьних посилань та лапки у значеннях атрибутів. Крім того, хоча специфікація HTML5 технічно дозволяє майже довільні назви теґів та атрибутів, ця перевірка обмежує їх певними базовими значеннями у ASCII, серед яких містяться усі стандартні теґи та атрибути елементів HTML5, а також дозволяє деякі нетипові назви елементів або атрибутів. Таким чином, частково можна забезпечити «навмисність» використання HTML.
Приклади:
Значення |
Попередження? |
Причина |
|---|---|---|
|
так |
Частину |
|
ні |
|
|
так |
Немає завершального теґу. |
|
так |
|
|
ні |
Нетиповий теґ елемента із відповідним завершальним теґом. |
|
ні |
|
|
ні |
|
|
так |
Значення атрибуту вказано без лапок. |
|
так |
Назва теґу поза ASCII. |
|
так |
Частину |
|
ні |
Символьне посилання, здається, є навмисним. |
|
так |
Частину |
|
так |
Символьне посилання є некоректним. |
|
так |
Змінну Fluent може бути ненавмисно перетворено на теґ. |
|
так |
Змінну Fluent може бути ненавмисно перетворено на символьне посилання. |
Примітка
Ця перевірка не забезпечує безпечності або притомності вбудованого коду HTML і не захищає від зловмисних спроб змінити вбудований код HTML. Більше того, слід пам’ятати, що змінні і посилання Fluent може бути розгорнуто до довільних рядків, тому можливе розгортання до довільного коду HTML, якщо рядки не екрановано. Виключення: символ < або & перед посиланням Fluent спричиняє спрацювання цієї перевірки, оскільки навіть екрановане значення може призвести до неочікуваних результатів.
Примітка
Пакунок DOM Fluent містить додаткові обмеження, зокрема список дозволених теґів та атрибутів, які ця перевірка не обмежує примусово.
Дивись також
Синтаксис початкового коду Fluent¶
Added in version 5.0.
- Підсумок:
Помилка вільного синтаксису в джерелі.
- Область:
початкові рядки
- Клас перевірки:
weblate.checks.fluent.syntax.FluentSourceSyntaxCheck- Перевірити ідентифікатор:
fluent-source-syntax- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
fluent-source-syntax- Прапорець для нехтування:
ignore-fluent-source-syntax
У Weblate рядки Fluent використовують синтаксис Fluent для посилань та змінних, але також для складніших речей, зокрема визначення атрибутів та варіантів вибору, зокрема форм множини. Ця перевірка забезпечує коректність синтаксису Fluent початкових даних.
Синтаксис ICU MessageFormat¶
Added in version 4.9.
- Підсумок:
Помилки синтаксису в рядках ICU MessageFormat.
- Область:
початкові рядки
- Клас перевірки:
weblate.checks.icu.ICUSourceCheck- Перевірити ідентифікатор:
icu_message_format_syntax- Тригер:
Цю перевірку потрібно ввімкнути за допомогою прапорця.
- Формати файлів, що автоматично вмикають цю перевірку:
- Прапорець для вмикання:
icu-message-format- Прапорець для нехтування:
ignore-icu-message-format
Дивись також
Тривалий час не перекладено¶
Added in version 4.1.
- Підсумок:
Цей рядок вже тривалий час не перекладено.
- Область:
початкові рядки
- Клас перевірки:
weblate.checks.source.LongUntranslatedCheck- Перевірити ідентифікатор:
long_untranslated- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-long-untranslated
Якщо рядок не було перекладено доволі давно, це може вказувати на проблему у рядку, яка робить його переклад утрудненим.
Кратні невдалі перевірки¶
- Підсумок:
Переклади на декількох мовах мають непройдені перевірки.
- Область:
початкові рядки
- Клас перевірки:
weblate.checks.source.MultipleFailingCheck- Перевірити ідентифікатор:
multiple_failures- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-multiple-failures
Багато перекладів цього рядка не проходять перевірок якості. Це, зазвичай, означає, що початковий рядок слід якимось чином удосконалити.
Поширеною причиною того, що рядок не пройшов перевірки, є нестача крапки наприкінці речення або подібні незначні проблеми, які перекладачі намагаються виправити у перекладі, хоча найкращим способом є виправлення початкового рядка.
Декілька змінних без назв¶
Added in version 4.1.
- Підсумок:
У рядку є декілька змінних без назв — перекладачі не зможуть змінити порядок цих змінних.
- Область:
початкові рядки
- Клас перевірки:
weblate.checks.format.MultipleUnnamedFormatsCheck- Перевірити ідентифікатор:
unnamed_format- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-unnamed-format
У рядку є декілька змінних без назв — перекладачі не зможуть змінити порядок цих змінних.
Вам варто використовувати іменовані змінні, щоб перекладачі могли переставляти їх у перекладі.
Немає форм множини¶
- Підсумок:
Рядок використовується як множина, але не використовує форми множини.
- Область:
початкові рядки
- Клас перевірки:
weblate.checks.source.OptionalPluralCheck- Перевірити ідентифікатор:
optional_plural- Тригер:
Ця перевірка завжди увімкнена, але її можна ігнорувати за допомогою прапорця.
- Прапорець для нехтування:
ignore-optional-plural
Рядок використано як рядок із формами множини, але у ньому не використовуються форми множини. Якщо у вашій системі перекладу передбачено підтримку форм множини, вам слід використовувати варіант рядка, який уможливлює переклад за усіма правилами форм множини різних мов.
Наприклад, із Gettext у Python це може бути:
from gettext import ngettext
print(ngettext("Selected %d file", "Selected %d files", files) % files)
Розміщувані елементи в автоматичних пропозиціях¶
Перевірки розміщуваних елементів виявляють інформацію про поточні розміщувані елементи, і це можна використовувати для надання вказівок механізмам автоматичних пропозицій зберігати їх. Підтримка цієї функції варіюється в різних сервісах, і в багатьох випадках немає можливості забезпечити збереження розміщуваних елементів у незмінному вигляді.
Дивись також