Формати файлів локалізації¶
У Weblate передбачено підтримку широкого діапазону форматів перекладів. Кожен формат має свої особливості і надає власний набір можливостей.
Підказка
When choosing a file format for your application, it’s better to stick to some well-established format in the toolkit/platform you use. This way your translators can additionally use whatever tools they are used to, and will more likely contribute to your project.
Дивись також
Автоматичне виявлення¶
Weblate намагається визначити формат файлу під час Додавання проєктів і складників перекладу. Визначення може бути неправильним для різних варіантів одного й того ж формату серіалізації (JSON, YAML, властивості) або кодування файлу, тому, будь ласка, перевірте правильність Формат файлу перед створенням компонента.
Можливості типів перекладу¶
Інформацію про те, які функції підтримуються в тому чи іншому форматі, дивіться на сторінці документації до кожного окремого формату файлів.
Двомовні і одномовні формати¶
Передбачено підтримку як одномовних, так і двомовних форматів. У двомовних форматах зберігаються повідомлення двома мовами в одному файлі — початковий рядок і переклад (типовими прикладами є GNU gettext PO (портативний об’єкт), XLIFF 1.1 і 1.2 або Рядки Apple iOS). З іншого боку, в одномовних форматах передбачено ідентифікацію рядка за ідентифікатором, а кожен мовний файл містить лише прив’язку цих ідентифікаторів до перекладів кожного з мов (типовим прикладом є Рядкові ресурси Android). Деякі формати файлів використовуються у обох варіантах. Докладніший опис можна знайти нижче.
Для правильного використання одномовних файлів Weblate потрібен доступ до файла, у якому міститься повний список рядків, які слід перекласти із початковими даними — цей файл у Weblate має назву Основний файл для одномовного перекладу (назва може бути дещо іншої у вашій парадигмі).
Крім того, цей робочий процес можна розширити, використовуючи Проміжний мовний файл для включення рядків, наданих розробниками, але не для використання їх у кінцевому вигляді в рядках.
Стани рядків¶
У багатьох форматах файлів передбачено лише «неперекладені» і «перекладені» рядки. У деяких форматах можна зберігати ширший спектр стані даних, зокрема стани «потребує редагування» та «затверджено».
Опис початкового рядка¶
Описами початкових рядків можна скористатися для передавання додаткових відомостей щодо рядка, який слід перекласти.
У деяких форматах (наприклад XLIFF 1.1 і 1.2, GNU gettext PO (портативний об’єкт), JSON WebExtension, Файли CSV, Excel Open XML, Qt Linguist .ts, Файли JSON go-i18n, Файли JSON gotext, Файл ARB, Файли ресурсів .NET (RESX, RESW)) передбачено вбудовану підтримку надання додаткових даних для перекладачів. У багатьох інших форматах система видобуває найближчий коментар до коду як опис початкового рядка.
Пояснення¶
Пояснення щодо рядків можна зберігати і обробляти для декількох форматів файлів.
У поточній версії підтримку передбачено лише у Формат TermBase eXchange.
Розташування початкового рядка¶
Дані щодо розташування рядка у початковому коді можуть допомогти досвідченим перекладачам визначити, у який спосіб використовується рядок.
Ці дані, типово, доступні у двомовних форматах, де рядки видобувають з початкового коду за допомогою певних інструментів. Прикладом є GNU gettext PO (портативний об’єкт) і Qt Linguist .ts.
Прапорці перекладу¶
За допомогою прапорців перекладу можна налаштувати поведінку Weblate. У деяких форматах передбачено підтримку визначення таких прапорців у файлі перекладу (ви завжди можете визначити їх в інтерфейсі Weblate, див. Налаштовування поведінки за допомогою прапорців).
Цю можливість моделюють на прапорцях у GNU gettext PO (портативний об’єкт).
Additionally, XML-based formats that support flags extract them from the
non-standard attribute weblate-flags. The max-length:N flag is also
supported through the maxwidth attribute as
defined in the XLIFF standard, see Визначення прапорців перекладу.
Контекст¶
Контекст використовується для розрізнення ідентичних рядків у двомовному форматі, які використовуються у різних парадигмах (наприклад, Sun може бути використано як скорочення дня тижня «Sunday» або як назва найближчої до нас зірки).
В одномовних форматах цю роль може виконувати ідентифікатор рядка (який часто називають ключем), а додатковий контекст не потрібен.
Рядки із формами множини¶
Форми множини потрібні для належної локалізації рядків із змінними-лічильниками. Правила залежать від мови перекладу. Багато форматів використовують для визначення правил специфікацію CLDR.
Plural support in the supported features table means Weblate can represent plural strings for the format. Some formats need existing plural metadata or a specific variant, and cannot create new plural strings unless that is natively supported by the format.
Підказка
Крім того, належну підтримку рядків із формами множини має бути реалізовано у бібліотеках програми. Виберіть рідний для вашої платформи формат, зокрема GNU gettext PO (портативний об’єкт), Рядкові ресурси Android або Формат Stringsdict.
Рядки лише для читання¶
До файла буде включено призначені лише для читання рядки з файлів перекладу, але ці рядки не можна бути редагувати у Weblate. Придатні лише до читання рядки передбачено у деяких форматах (XLIFF 1.1 і 1.2 і Рядкові ресурси Android), але її можна емулювати у інших форматах додаванням прапорця read-only, див. Налаштовування поведінки за допомогою прапорців.
Removing obsolete strings¶
Some file formats can store obsolete strings. Weblate can remove these obsolete strings from formats that support this operation.
Підтримка інших форматів¶
Most formats supported by translate-toolkit which support serializing can be easily supported, but they did not (yet) receive any testing. In most cases, an additional thin layer is needed in Weblate to hide differences in behavior of different storages.
Рекомендованим способом додавання нових форматів є реалізація їхньої підтримки у translate-toolkit.
Дивись також
Параметри формату файлу¶
Параметри формату файлу надають спосіб налаштування параметрів, пов’язаних з форматом файлу. Вони налаштовуються на рівні компонента та дозволяють налаштувати спосіб обробки парсингу та серіалізації файлів.
Список параметрів формату файлу¶
Назва параметра |
Формати файлів |
Мітка |
Довідковий текст |
|---|---|---|---|
csv_encoding |
|
Кодування файлів |
Кодування, що використовується для файлів CSV Доступні варіанти:
|
csv_escape_formulas |
|
Escape spreadsheet formulas |
Prefix values that look like spreadsheet formulas with an apostrophe when saving CSV files. |
csv_simple_encoding |
|
Кодування файлів |
Кодування, що використовується для простих CSV-файлів Доступні варіанти:
|
„dos_eol |
Усі формати файлів |
Кінець рядка як у DOS |
У рядках слід використовувати символи кінця рядка DOS (rn) замість символів кінця рядка UNIX (n). |
flatxml_key_name |
|
Ім’я ключа FlatXML |
|
flatxml_root_name |
|
Ім’я кореня FlatXML |
|
flatxml_value_name |
|
Ім’я значення FlatXML |
|
gwt_encoding |
|
Кодування файлів |
Кодування, що використовується для файлів властивостей GWT Доступні варіанти:
|
json_indent |
|
Відступи JSON |
|
json_indent_style |
|
Стиль відступів JSON |
Доступні варіанти:
|
json_sort_keys“ |
|
Сортувати ключі JSON |
|
json_use_compact_separators“ |
|
Уникайте пробілів після роздільників |
|
line_max_length |
|
Максимальна довжина рядка |
Максимальна кількість символів у кожному рядку вихідного файлу. |
md_extract_code_blocks |
|
Виділити блоки коду |
Чи витягувати перекладний вміст із блоків коду у файлах Markdown та MDX. |
md_extract_frontmatter |
|
Витяг з передмови |
Чи витягувати та перекладати блоки YAML у файлах Markdown та MDX. |
md_frontmatter_translate_values |
|
Translate front matter values |
Parse YAML front matter and translate only scalar string values. Keys, structure, comments, and formatting are preserved when possible. |
md_no_placeholders |
|
Вимкнути заповнювачі |
Вимкнути виявлення та обробку заповнювачів у файлах Markdown та MDX. |
merge_duplicates |
|
Видалити повторювані рядки |
Об’єднує ідентичні вихідні рядки в єдину одиницю перекладу. Запобігає втраті перекладу під час реструктуризації файлів або переупорядкування таблиць шляхом видалення контексту, що залежить від позиції. |
po_fuzzy_matching |
|
Використовувати нечіткий збіг |
|
po_keep_previous |
|
Зберігати попередні msgid перекладених рядків |
Controls previous msgid comments for fuzzy strings. |
po_line_wrap |
|
Обтікання довгих рядків |
Типово, gettext переносить рядки на 77-у символі та на символах перенесення рядків, з параметром Доступні варіанти:
|
po_no_location“ |
|
Не включайте інформацію про розташування у файл |
|
po_remove_obsolete |
|
Remove obsolete strings |
Remove obsolete entries from PO files when saving translation changes or updating from a POT file. |
po_report_msgid_bugs_to |
|
Повідомляйте про помилки за адресою |
Дозволити Weblate оновлювати заголовок файлу «Report-Msgid-Bugs-To», якщо вказано адресу для повідомлення про помилки у вихідному рядку. |
po_set_language_team |
|
Оновити заголовок мовної групи |
Дозвольмо Weblate оновити заголовок файлу «Language-Team». |
po_set_last_translator |
|
Оновити заголовок останнього перекладача |
Нехай Weblate оновить заголовок файлу «Last-Translator». |
po_set_x_generator |
|
Оновити заголовок X-Generator |
Дозвольмо Weblate оновити заголовок файлу «X-Generator». |
properties_encoding |
|
Кодування файлів |
Кодування, що використовується для файлів властивостей Java Доступні варіанти:
|
strings_encoding |
|
Кодування файлів |
Кодування, що використовується для файлів рядків iOS Доступні варіанти:
|
xml_closing_tags“ |
|
Включати завершальний теґ для порожніх теґів XML |
|
yaml_indent |
|
Відступи YAML |
|
yaml_line_break“ |
|
Розриви рядків |
Доступні варіанти:
|
yaml_line_wrap |
|
Обтікання довгих рядків |
Доступні варіанти:
|