Формати файлів локалізації¶
У Weblate передбачено підтримку широкого діапазону форматів перекладів. Кожен формат має свої особливості і надає власний набір можливостей.
Підказка
При виборі формату файлів для вашого програми слід надавати перевагу типовим форматам на платформі або у наборі інструментів, яким ви користуєтеся. Якщо ви це зробите, перекладачі зможуть користуватися знайомими їм інструментами, що збільшить ймовірність того, що вони візьмуть участь у вашому проєкті.
Дивись також
Автоматичне виявлення¶
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 (портативний об’єкт).
Крім того, для всіх форматів на основі XML прапорці витягуються з нестандартного атрибута weblate-flags. Крім того max-length:N підтримується через maxwidth attribute як визначено в стандарті XLIFF, див Визначення прапорців перекладу.
Контекст¶
Контекст використовується для розрізнення ідентичних рядків у двомовному форматі, які використовуються у різних парадигмах (наприклад, Sun може бути використано як скорочення дня тижня «Sunday» або як назва найближчої до нас зірки).
В одномовних форматах цю роль може виконувати ідентифікатор рядка (який часто називають ключем), а додатковий контекст не потрібен.
Рядки із формами множини¶
Форми множини потрібні для належної локалізації рядків із змінними-лічильниками. Правила залежать від мови перекладу. Багато форматів використовують для визначення правил специфікацію CLDR.
Підказка
Крім того, належну підтримку рядків із формами множини має бути реалізовано у бібліотеках програми. Виберіть рідний для вашої платформи формат, зокрема GNU gettext PO (портативний об’єкт), Рядкові ресурси Android або Формат Stringsdict.
Рядки лише для читання¶
До файла буде включено призначені лише для читання рядки з файлів перекладу, але ці рядки не можна бути редагувати у Weblate. Придатні лише до читання рядки передбачено у деяких форматах (XLIFF 1.1 і 1.2 і Рядкові ресурси Android), але її можна емулювати у інших форматах додаванням прапорця read-only, див. Налаштовування поведінки за допомогою прапорців.
Підтримка інших форматів¶
Більшість форматів, що підтримуються translate-toolkit та підтримують серіалізацію, легко підтримувати, але вони (поки що) не пройшли жодного тестування. У більшості випадків у Weblate потрібен додатковий тонкий шар, щоб приховати відмінності в поведінці різних сховищ.
Рекомендованим способом додавання нових форматів є реалізація їхньої підтримки у translate-toolkit.
Дивись також
Параметри формату файлу¶
Параметри формату файлу надають спосіб налаштування параметрів, пов’язаних з форматом файлу. Вони налаштовуються на рівні компонента та дозволяють налаштувати спосіб обробки парсингу та серіалізації файлів.
Список параметрів формату файлу¶
Назва параметра |
Формати файлів |
Мітка |
Довідковий текст |
|---|---|---|---|
csv_encoding |
|
Кодування файлів |
Кодування, що використовується для файлів CSV Доступні варіанти:
|
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_no_placeholders |
|
Вимкнути заповнювачі |
Вимкнути виявлення та обробку заповнювачів у файлах Markdown та MDX. |
merge_duplicates |
|
Видалити повторювані рядки |
Об’єднує ідентичні вихідні рядки в єдину одиницю перекладу. Запобігає втраті перекладу під час реструктуризації файлів або переупорядкування таблиць шляхом видалення контексту, що залежить від позиції. |
po_fuzzy_matching |
|
Використовувати нечіткий збіг |
|
po_keep_previous |
|
Зберігати попередні msgid перекладених рядків |
|
po_line_wrap |
|
Обтікання довгих рядків |
Типово, gettext переносить рядки на 77-у символі та на символах перенесення рядків, з параметром Доступні варіанти:
|
po_no_location“ |
|
Не включайте інформацію про розташування у файл |
|
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 |
|
Обтікання довгих рядків |
Доступні варіанти:
|