Підтримувані формати файлів#
У Weblate передбачено підтримку широкого діапазону форматів перекладів. Кожен формат має свої особливості і надає власний набір можливостей.
Підказка
При виборі формату файлів для вашого застосунку слід надавати перевагу типовим форматам на платформі або у наборі інструментів, яким ви користуєтеся. Якщо ви це зробите, перекладачі зможуть користуватися знайомими їм інструментами, що збільшить ймовірність того, що вони візьмуть участь у вашому проєкті.
- Рядкові ресурси Android
- Рядки Apple iOS
- Файли метаданих крамниці застосунків
- Файл ARB
- Файли CSV
- Файли DTD
- Excel Open XML
- Прості файли XML
- Формат Fluent
- GNU Gettext
- Файли JSON go-i18n
- Файли JSON gotext
- Властивості GWT
- Файли HTML
- Файли JSON i18next
- Формат IDML
- Переклади INI
- Переклади INI Inno Setup
- Властивості Java
- Переклади Joomla
- файли JSON
- Рядки PHP Laravel
- Мовні файли mi18n
- Формат OpenDocument
- Рядки PHP
- Qt Linguist .ts
- Файли ResourceDictionary
- Файли ресурсів .NET RESX
- Файли YAML Ruby
- Формат Stringsdict
- Файли субтитрів
- Формат TermBase eXchange
- Текстові файли
- JSON WebExtension
- Файли RC Windows
- XLIFF
- Файли YAML
Дивись також
Автоматичне виявлення#
Weblate намагається визначити формат файла під час додавання проєктів. Визначення може дати помилкові результати для різних варіантів того самого формату перетворення у послідовну форму (JSON, YAML, properties) або кодування файла. Тому перед створенням складника, будь ласка, перевірте, чи правильно виявлено Формат файлу.
Можливості типів перекладу#
Формат |
Кількість мов [1] |
Форми множини [2] |
Описи [3] |
Контекст [4] |
Розташування [5] |
Прапорці [8] |
Додаткові стани [6] |
---|---|---|---|---|---|---|---|
двомовний |
так |
так |
так |
так |
так [9] |
потребує редагування |
|
одномовний |
так |
так |
так |
так |
так [9] |
потребує редагування |
|
обидва |
так |
так |
так |
так |
так |
потребує редагування, затверджено |
|
обидва |
ні |
так |
ні |
ні |
ні |
||
одномовний |
ні |
так |
ні |
ні |
ні |
||
одномовний |
так |
так |
ні |
ні |
ні |
||
одномовний |
ні |
так |
ні |
так |
ні |
||
обидва |
так |
так |
ні |
так |
так |
потребує редагування |
|
одномовний |
так |
так [7] |
ні |
ні |
так |
||
обидва |
ні |
так |
ні |
ні |
ні |
||
одномовний |
ні [10] |
так |
ні |
ні |
ні |
||
одномовний |
ні |
ні |
ні |
ні |
ні |
||
одномовний |
так |
ні |
ні |
ні |
ні |
||
одномовний |
так |
так |
ні |
ні |
ні |
||
одномовний |
так |
так |
ні |
так |
ні |
||
одномовний |
так |
так |
ні |
ні |
ні |
||
одномовний |
так |
так |
ні |
ні |
ні |
||
одномовний |
ні |
так |
ні |
ні |
так |
||
одномовний |
ні |
ні |
ні |
ні |
так |
||
обидва |
ні |
так |
так |
так |
ні |
потребує редагування |
|
одномовний |
ні |
ні |
ні |
ні |
ні |
||
одномовний |
так |
ні |
ні |
ні |
ні |
||
одномовний |
ні |
ні |
ні |
ні |
ні |
||
одномовний |
ні |
ні |
ні |
ні |
так |
||
одномовний |
ні |
так |
ні |
ні |
ні |
||
одномовний |
ні |
так |
так |
так |
ні |
потребує редагування |
|
одномовний |
ні |
ні |
ні |
ні |
ні |
||
одномовний |
ні |
ні |
ні |
так |
ні |
||
одномовний |
ні |
ні |
ні |
ні |
ні |
||
одномовний |
ні |
ні |
ні |
ні |
ні |
||
одномовний |
ні |
ні |
ні |
ні |
ні |
||
одномовний |
ні |
ні |
ні |
ні |
ні |
||
одномовний |
ні |
ні |
ні |
ні |
ні |
||
двомовний |
ні |
так |
ні |
ні |
так |
||
одномовний |
ні |
ні |
ні |
ні |
ні |
||
одномовний |
так |
ні |
ні |
ні |
ні |
||
одномовний |
ні [11] |
так |
ні |
ні |
ні |
Двомовні і одномовні формати#
Передбачено підтримку як одномовних, так і двомовних форматів. У двомовних форматах зберігаються повідомлення двома мовами в одному файлі — початковий рядок і переклад (типовими прикладами є GNU Gettext, XLIFF або Рядки Apple iOS). З іншого боку, в одномовних форматах передбачено ідентифікацію рядка за ідентифікатором, а кожен мовний файл містить лише прив’язку цих ідентифікаторів до перекладів кожного з мов (типовим прикладом є Рядкові ресурси Android). Деякі формати файлів використовуються у обох варіантах. Докладніший опис можна знайти нижче.
Для правильного використання одномовних файлів Weblate потрібен доступ до файла, у якому міститься повний список рядків, які слід перекласти із початковими даними — цей файл у Weblate має назву Основний файл для одномовного перекладу (назва може бути дещо іншої у вашій парадигмі).
Крім того, робочий процес може бути розширено використанням проміжного мовного файла, до якого буде включено рядки, які надано розробниками, але які не буде використано без обробки у остаточних рядках перекладу.
String states#
Many file formats only differentiate «Untranslated» and «Translated» strings. With some formats it is possible to store more fine-grained state information, such as «Needs editing» or «Approved».
Source string description#
Описами початкових рядків можна скористатися для передавання додаткових відомостей щодо рядка, який слід перекласти.
Several formats have native support for providing additional info to translators (for example XLIFF, GNU Gettext, JSON WebExtension, Файли CSV, Excel Open XML, Qt Linguist .ts, Файли JSON go-i18n, Файли JSON gotext, Файл ARB, Файли ресурсів .NET RESX). Many other formats extract closest comment as source string description.
Пояснення#
The Пояснення on strings can be stored and parsed from a few file formats.
Currently supported only in Формат TermBase eXchange.
Source string location#
Дані щодо розташування рядка у початковому коді можуть допомогти досвідченим перекладачам визначити, у який спосіб використовується рядок.
This information is typically available in bilingual formats where strings are extracted from the source code using tools. For example GNU Gettext and Qt Linguist .ts.
Прапорці перекладу#
За допомогою прапорців перекладу можна налаштувати поведінку Weblate. У деяких форматах передбачено підтримку визначення таких прапорців у файлі перекладу (ви завжди можете визначити їх в інтерфейсі Weblate, див. Налаштовування поведінки за допомогою прапорців).
Цю можливість моделюють на прапорцях у GNU Gettext.
Крім того, прапорці видобуваються з нестандартного атрибута weblate-flags
для всіх заснованих на XML форматів. Крім того, передбачено підтримку max-length:N
шляхом обробки атрибута maxwidth
у формі, яку визначено у стандарті XLIFF, див. Визначення прапорців перекладу.
Context#
Context is used to differentiate identical strings in a bilingual format used in different scopes (for example Sun can be used as an abbreviated name of the day «Sunday» or as the name of our closest star).
For monolingual formats the string identifier (often called key) can serve the same purpose and additional context is not necessary.
Рядки із формами множини#
Форми множини потрібні для належної локалізації рядків із змінними-лічильниками. Правила залежать від мови перекладу. Багато форматів використовують для визначення правил специфікацію CLDR.
Підказка
Крім того, належну підтримку рядків із формами множини має бути реалізовано у бібліотеках програми. Виберіть рідний для вашої платформи формат, зокрема GNU Gettext, Рядкові ресурси Android або Формат Stringsdict.
Рядки лише для читання#
Нове в версії 3.10.
До файла буде включено призначені лише для читання рядки з файлів перекладу, але ці рядки не можна бути редагувати у Weblate. Придатні лише до читання рядки передбачено у деяких форматах (XLIFF і Рядкові ресурси Android), але її можна емулювати у інших форматах додаванням прапорця read-only
, див. Налаштовування поведінки за допомогою прапорців.
Підтримка інших форматів#
Реалізувати підтримку більшості форматів, підтримку яких реалізовано у translate-toolkit і у яких передбачено підтримку перетворення у послідовну форму, доволі просто, але цю підтримку ще не достатньо перевірено. У більшості випадків потрібен певний тонкий шар у Weblate для приховування відмінностей у поведінці різних репозиторіїв даних translate-toolkit.
Рекомендованим способом додавання нових форматів є реалізація їхньої підтримки у translate-toolkit.
Дивись також