Підтримувані формати файлів

У Weblate передбачено підтримку більшості форматів перекладів, які може обробляти translate-toolkit. Втім, у кожного формату є свої особливості, тому можуть виникати певні проблеми з форматами, які не було належним чином тестовано.

Дивись також

Translation Related File Formats

Примітка

При виборі формату файлів для вашої програми слід надавати перевагу типовим форматам на платформі або у наборі інструментів, яким ви користуєтеся. Якщо ви це зробите, перекладачі зможуть користуватися знайомими їм інструментами, що збільшить ймовірність того, що вони візьмуть участь у вашому проєкті.

Двомовні і одномовні формати

Передбачено підтримку як одномовних, так і двомовних форматів. У двомовних форматах зберігаються повідомлення двома мовами в одному файлі — початковий рядок і переклад (типовими прикладами є GNU Gettext, XLIFF або Рядки Apple iOS). З іншого боку, в одномовних форматах передбачено ідентифікацію рядка за ідентифікатором, а кожен мовний файл містить лише прив’язку цих ідентифікаторів до перекладів кожного з мов (типовим прикладом є Рядкові ресурси Android). Деякі формати файлів використовуються у обох варіантах. Докладніший опис можна знайти нижче.

Для правильного використання одномовних файлів Weblate потрібен доступ до файла, у якому міститься повний список рядків, які слід перекласти із початковими даними — цей файл у Weblate має назву Основний файл для одномовного перекладу (назва може бути дещо іншої у вашій парадигмі).

Крім того, робочий процес може бути розширено використанням проміжного мовного файла, до якого буде включено рядки, які надано розробниками, але які не буде використано без обробки у остаточних рядках перекладу.

Автоматичне виявлення

Weblate може автоматично визначати декілька поширених форматів файлів, але це визначення може значно вплинути на швидкодію і обмежить можливості списком можливостей, які є специфічними для заданого формату файлів (наприклад, автоматичним додаванням нових перекладів).

Можливості типів перекладу

Можливості усіх підтримуваних форматів:

Формат

Кількість мов 1

Форми множини 2

Описи 3

Контекст 4

Розташування 5

Прапорці 8

Додаткові стани 6

GNU Gettext

двомовний

так

так

так

так

так 9

потребує редагування

Одномовний gettext

одномовний

так

так

так

так

так 9

потребує редагування

XLIFF

обидва

так

так

так

так

так 10

потребує редагування, затверджено

Властивості Java

обидва

ні

так

ні

ні

ні

Мовні файли mi18n

одномовний

ні

так

ні

ні

ні

Властивості GWT

одномовний

так

так

ні

ні

ні

Переклади Joomla

одномовний

ні

так

ні

так

ні

Qt Linguist .ts

обидва

так

так

ні

так

так 10

потребує редагування

Рядкові ресурси Android

одномовний

так

так 7

ні

ні

так 10

Рядки Apple iOS

обидва

ні

так

ні

ні

ні

Рядки PHP

одномовний

ні 11

так

ні

ні

ні

файли JSON

одномовний

ні

ні

ні

ні

ні

Файли JSON i18next

одномовний

так

ні

ні

ні

ні

Файли JSON go-i18n

одномовний

так

ні

ні

ні

ні

Файл ARB

одномовний

так

так

ні

ні

ні

JSON WebExtension

одномовний

так

так

ні

ні

ні

Файли ресурсів .XML

одномовний

ні

так

ні

ні

так 10

Файли ResourceDictionary

одномовний

ні

ні

ні

ні

так 10

Файли CSV

обидва

ні

так

так

так

ні

потребує редагування

Файли YAML

одномовний

ні

так

ні

ні

ні

Файли YAML Ruby

одномовний

так

так

ні

ні

ні

Файли DTD

одномовний

ні

ні

ні

ні

ні

Прості файли XML

одномовний

ні

ні

ні

ні

так 10

Файли RC Windows

одномовний

ні

так

ні

ні

ні

Excel Open XML

одномовний

ні

так

так

так

ні

потребує редагування

Файли метаданих крамниці застосунків

одномовний

ні

ні

ні

ні

ні

Файли субтитрів

одномовний

ні

ні

ні

так

ні

Файли HTML

одномовний

ні

ні

ні

ні

ні

Формат OpenDocument

одномовний

ні

ні

ні

ні

ні

Формат IDML

одномовний

ні

ні

ні

ні

ні

Переклади INI

одномовний

ні

ні

ні

ні

ні

Переклади INI Inno Setup

одномовний

ні

ні

ні

ні

ні

Формат TermBase eXchange

двомовний

ні

так

ні

ні

так 10

Текстові файли

одномовний

ні

ні

ні

ні

ні

Формат Stringsdict

одномовний

так

так

ні

ні

ні

Формат Fluent

одномовний

ні 12

так

ні

ні

ні

1

Див. Двомовні і одномовні формати

2

Форми множини потрібні для належної локалізації рядків із змінними-лічильниками.

3

Описами початкових рядків можна скористатися для передавання додаткових відомостей щодо рядка, який слід перекласти.

4

Контекст використовується для розрізнення ідентичних рядків, які використовуються у різних парадигмах (наприклад, Sun може бути використано як скорочення дня тижня «Sunday» або як назва найближчої до нас зірки).

5

Дані щодо розташування рядка у початковому коді можуть допомогти досвідченим перекладачам визначити, у який спосіб використовується рядок.

6

Форматом передбачено підтримку додаткових станів рядка, окрім станів «Неперекладений» та «Перекладено».

7

Коментар XML, який додано перед елементом <string>, буде оброблено як опис початкового рядка.

8

Див. Налаштовування поведінки за допомогою прапорців

9(1,2)

Коментарі типу gettext використовуються як прапорці.

10(1,2,3,4,5,6,7)

Прапорці видобуваються з нестандартного атрибута weblate-flags для всіх заснованих на XML форматів. Крім того, передбачено підтримку max-length:N шляхом обробки атрибута maxwidth у формі, яку визначено у стандарті XLIFF, див. Визначення прапорців перекладу.

11

Підтримку форм множити передбачено лише для Laravel, який використовує синтаксис рядків для визначення цих форм, див. Локалізація у Laravel.

12

Форми множини обробляються у синтаксисі рядків і не показуються як форми множини на Weblate.

Рядки лише для читання

Нове в версії 3.10.

До файла буде включено призначені лише для читання рядки з файлів перекладу, але ці рядки не можна бути редагувати у Weblate. Придатні лише до читання рядки передбачено у деяких форматах (XLIFF і Рядкові ресурси Android), але її можна емулювати у інших форматах додаванням прапорця read-only, див. Налаштовування поведінки за допомогою прапорців.

GNU Gettext

Найвикористовуваніший формат для перекладу вільного ПЗ.

Підтримку контекстних даних, які зберігаються у файлі, реалізовано коригуванням його заголовків та прив’язкою до відповідних файлів початкового коду.

Типовий двомовний файл PO gettext виглядає ось так:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "Tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgctxt "No known user"
msgid "None"
msgstr "Žádný"

Типовий Налаштовування складників Weblate

Маска файлів

po/*.po

Основний файл для одномовного перекладу

Порожньо

Шаблон для нових перекладів

po/messages.pot

Формат файлу

файл PO Gettext

Одномовний gettext

У деяких проєктах розробники використовують gettext як одномовний формат — у початковому коді є лише ідентифікатори, а рядок має бути перекладено усіма мовами, зокрема і англійською. Підтримку таких форматів передбачено, але цей формат слід вибрати явним чином при імпортуванні складників до Weblate.

Типовий одномовний файл PO gettext виглядає ось так:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Pondělí"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Úterý"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "Žádný"

А базовий мовний файл ось такий:

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-monday"
msgstr "Monday"

#: weblate/media/js/bootstrap-datepicker.js:1421
msgid "day-tuesday"
msgstr "Tuesday"

#: weblate/accounts/avatar.py:163
msgid "none-user"
msgstr "None"

Типовий Налаштовування складників Weblate

Маска файлів

po/*.po

Основний файл для одномовного перекладу

po/en.po

Шаблон для нових перекладів

po/messages.pot

Формат файлу

файл PO Gettext (одномовний)

XLIFF

Формат на основі XML створено для стандартизації файлів перекладу, але, врешті, він став лише одним із багатьох стандартів у цій області.

XML Localization Interchange File Format (XLIFF) зазвичай використовується як двомовний, але у Weblate передбачено підтримку і одномовних варіантів.

У Weblate передбачено підтримку декількох варіантів XLIFF:

файл перекладу XLIFF

Простий файл XLIFF, де вміст елементів зберігається у формі простого тексту (усі елементи XML екрановано).

XLIFF із підтримкою замінників

Стандартний XLIFF із підтримкою замінників та інших елементів XML.

XLIFF із розширеннями gettext

XLIFF, удосконалений за XLIFF 1.2 Representation Guide for Gettext PO з метою забезпечення підтримки форм множини.

Дивись також

Специфікація XML Localization Interchange File Format (XLIFF), Настанови щодо представлення XLIFF 1.2 для Gettext PO

Стани перекладу

Змінено в версії 3.3: Weblate ігнорував атрибут стану до версії 3.3.

Дані атрибута state у файлі частково обробляються і пов’язуються зі станом «Потребує редагування» у Weblate (для позначення рядка як такого, що потребує редагування, використовується такі стани, якщо вони є у записі перекладу: new, needs-translation, needs-adaptation, needs-l10n). Якщо атрибут state не вказано, рядок вважатиметься перекладеним, якщо існує елемент <target>.

Якщо рядок перекладу має атрибут approved="yes", його також буде імпортовано до Weblate як «Підтверджений». Усі інші переклади буде імпортовано як «Очікують на рецензування» (що відповідає специфікації XLIFF).

Під час збереження Weblate не додає ці атрибути, якщо вони не є потрібними:

  • Атрибут state додається, лише якщо рядок позначено як таки, який потребує редагування.

  • Атрибут approved буде додано, лише якщо рядок було рецензовано.

  • У інших випадках атрибути не додаються, але їх буде оновлено, якщо вони були.

Це означає, що при використанні формату XLIFF, наполегливо рекомендуємо увімкнути процес рецензування Weblate, щоб переглядати і змінювати стан підтвердження рядків.

Так само, під час імпортування таких файлів (у вивантаженій формі) ви можете вибрати варіант Імпортувати як перекладено у розділі Обробка рядків, які потребують рецензування.

Пробіли і символи перенесення рядків у XLIFF

Загалом, типи або кількість пробілів у форматах XML не враховуються. Якщо ви хочете зберегти пробіли, вам слід додати прапорець xml:space="preserve" до рядка.

Приклад:

    <trans-unit id="10" approved="yes">
        <source xml:space="preserve">hello</source>
        <target xml:space="preserve">Hello, world!
</target>
    </trans-unit>

Визначення прапорців перекладу

Ви можете вказати додаткові прапорці перекладу (див. Налаштовування поведінки за допомогою прапорців) за допомогою атрибута weblate-flags. Крім того, Weblate розуміє атрибути maxwidth і font зі специфікації XLIFF:

<trans-unit id="10" maxwidth="100" size-unit="pixel" font="ubuntu;22;bold">
   <source>Hello %s</source>
</trans-unit>
<trans-unit id="20" maxwidth="100" size-unit="char" weblate-flags="c-format">
   <source>Hello %s</source>
</trans-unit>

Атрибут font обробляється для отримання сімейства шрифтів, розміру та ваги. У наведеному вище прикладі показано усе це, хоча потрібним є лише сімейство шрифтів. Усі пробіли у записі сімейства шрифтів буде перетворено на підкреслювання, отже Source Sans Pro буде перетворено Source_Sans_Pro. Будь ласка, зверніть увагу на це при іменуванні групи шрифтів (див. Керування шрифтами).

Ключі рядків

Weblate визначає модулі у файлі XLIFF за допомогою атрибута resname, якщо його вказано у файлі та використовує резервний атрибут id (разом з міткою file, якщо її вказано).

Вмістом``resname`` має бути зручний для читання ідентифікатор модуля, який варто показати у Weblate замість id. Вміст resname не повинен повторюватися у межах файла XLIFF. Це вимога Weblate, яка не є частиною стандарту XLIFF. Стандарт не накладає вимоги унікальності на цей атрибут.

Типовий Налаштовування складників Weblate для двомовних XLIFF

Маска файлів

localizations/*.xliff

Основний файл для одномовного перекладу

Порожньо

Шаблон для нових перекладів

localizations/en-US.xliff

Формат файлу

файл перекладу XLIFF

Типовий Налаштовування складників Weblate для одномовних XLIFF

Маска файлів

localizations/*.xliff

Основний файл для одномовного перекладу

localizations/en-US.xliff

Шаблон для нових перекладів

localizations/en-US.xliff

Формат файлу

файл перекладу XLIFF

Властивості Java

Власний формат Java для перекладів.

Властивості Java, зазвичай, використовуються як одномовні переклади.

У Weblate передбачено підтримку варіантів ISO-8859-1, UTF-8 і UTF-16 цього формату. У всіх з цих форматів передбачено збереження усіх символів Unicode, лише у різних кодуваннях. В ISO-8859-1 використовуються екрановані послідовності Unicode (наприклад zkou\u0161ka). У інших варіантах символи кодуються безпосередньо, у UTF-8 або UTF-16.

Примітка

Завантаження екранованих послідовностей працює також і у режимі UTF-8, тому, будь ласка, будьте обережними із вибором належного кодування, яке відповідатиме потребам вашої програми.

Типовий Налаштовування складників Weblate

Маска файлів

src/app/Bundle_*.properties

Основний файл для одномовного перекладу

src/app/Bundle.properties

Шаблон для нових перекладів

Порожньо

Формат файлу

Властивості Java (ISO-8859-1)

Мовні файли mi18n

Нове в версії 4.7.

Формат файлів, який використовують для локалізації коду JavaScript за допомогою mi18n. Синтаксично збігається із Властивості Java.

Типовий Налаштовування складників Weblate

Маска файлів

*.lang

Основний файл для одномовного перекладу

en-US.lang

Шаблон для нових перекладів

Порожньо

Формат файлу

мовний файл mi18n

Властивості GWT

Власний формат GWT для перекладів.

Властивості GWT, зазвичай, використовуються як одномовні переклади.

Типовий Налаштовування складників Weblate

Маска файлів

src/app/Bundle_*.properties

Основний файл для одномовного перекладу

src/app/Bundle.properties

Шаблон для нових перекладів

Порожньо

Формат файлу

Властивості GWT

Переклади INI

Нове в версії 4.1.

Формат файлів INI для перекладу.

Переклади INI, зазвичай, використовуються як одномовні переклади.

Типовий Налаштовування складників Weblate

Маска файлів

language/*.ini

Основний файл для одномовного перекладу

language/en.ini

Шаблон для нових перекладів

Порожньо

Формат файлу

файл INI

Примітка

Weblate видобуває ключові слова лише з розділів у файлі INI. Якщо у файлі INI немає розділів, вам варто скористатися форматом Переклади Joomla або Властивості Java.

Переклади INI Inno Setup

Нове в версії 4.1.

Формат файлів INI Inno Setup для перекладу.

Переклади INI Inno Setup, зазвичай, використовуються як одномовні переклади.

Примітка

Єдиною помітною відмінністю від Переклади INI є підтримка замінників %n і %t для розриву рядка і табуляції.

Типовий Налаштовування складників Weblate

Маска файлів

language/*.islu

Основний файл для одномовного перекладу

language/en.islu

Шаблон для нових перекладів

Порожньо

Формат файлу

файл INI Inno Setup

Примітка

У поточній версії передбачено підтримку лише файлів Unicode (.islu), підтримки варіанта ANSI (.isl) у поточній версії не передбачено.

Переклади Joomla

Нове в версії 2.12.

Власний формат Joomla для перекладів.

Переклади Joomla, зазвичай, використовуються як одномовні переклади.

Типовий Налаштовування складників Weblate

Маска файлів

language/*/com_foobar.ini

Основний файл для одномовного перекладу

language/en-GB/com_foobar.ini

Шаблон для нових перекладів

Порожньо

Формат файлу

мовний файл Joomla

Qt Linguist .ts

Формат перекладів, який використовується у перекладах програм на основі Qt.

Файли Qt Linguist використовуються і як двомовні, і як одномовні переклади.

Типовий Налаштовування складників Weblate при використанні як двомовного файла

Маска файлів

i18n/app.*.ts

Основний файл для одномовного перекладу

Порожньо

Шаблон для нових перекладів

i18n/app.de.ts

Формат файлу

файл перекладу Qt Linguist

Типовий Налаштовування складників Weblate при використанні як одномовного файла

Маска файлів

i18n/app.*.ts

Основний файл для одномовного перекладу

i18n/app.en.ts

Шаблон для нових перекладів

i18n/app.en.ts

Формат файлу

файл перекладу Qt Linguist

Рядкові ресурси Android

Специфічний для Android формат файлів для перекладу програм.

Рядкові ресурси Android є одномовними. Файл Основний файл для одномовного перекладу зберігається у іншому місці, якщо порівнювати із іншими файлами — res/values/strings.xml.

Типовий Налаштовування складників Weblate

Маска файлів

res/values-*/strings.xml

Основний файл для одномовного перекладу

res/values/strings.xml

Шаблон для нових перекладів

Порожньо

Формат файлу

рядковий ресурс Android

Примітка

У поточній версії підтримки string-array Android не передбачено. Щоб обійти це обмеження, ви можете розбити ваші рядкові масиви на частини:

<string-array name="several_strings">
    <item>First string</item>
    <item>Second string</item>
</string-array>

стане:

<string-array name="several_strings">
    <item>@string/several_strings_0</item>
    <item>@string/several_strings_1</item>
</string-array>
<string name="several_strings_0">First string</string>
<string name="several_strings_1">Second string</string>

string-array, який вказує на елементи string, має зберігатися в іншому файлі і не повинен бути доступним для перекладу.

Цей скрипт може допомогти у попередній обробці наявних файлів strings.xml і перекладів: https://gist.github.com/paour/11291062

Рядки Apple iOS

Формат файлів, який типово використовують для перекладу програм Apple iOS, але також стандартизований PWG 5100.13 і використаний у NeXTSTEP/OpenSTEP.

Рядки Apple iOS, зазвичай, використовуються як одномовні переклади.

Типовий Налаштовування складників Weblate

Маска файлів

Resources/*.lproj/Localizable.strings

Основний файл для одномовного перекладу

Resources/en.lproj/Localizable.strings або Resources/Base.lproj/Localizable.strings

Шаблон для нових перекладів

Порожньо

Формат файлу

рядки iOS (UTF-8)

Рядки PHP

Переклади PHP є, зазвичай, одномовними, тому рекомендуємо вказувати базовий файл, яким (здебільшого) є файл з рядками англійською мовою.

Приклад файла:

<?php
$LANG['foo'] = 'bar';
$LANG['foo1'] = 'foo bar';
$LANG['foo2'] = 'foo bar baz';
$LANG['foo3'] = 'foo bar baz bag';

Типовий Налаштовування складників Weblate

Маска файлів

lang/*/texts.php

Основний файл для одномовного перекладу

lang/en/texts.php

Шаблон для нових перекладів

lang/en/texts.php

Формат файлу

Рядки PHP

Рядки PHP Laravel

Змінено в версії 4.1.

Передбачено підтримку файлів локалізації PHP Laravel, а також форм множини:

<?php
return [
    'welcome' => 'Welcome to our application',
    'apples' => 'There is one apple|There are many apples',
];

Дивись також

PHP, Локалізація у Laravel

файли JSON

Нове в версії 2.0.

Змінено в версії 2.16: З версії Weblate 2.16 і принаймні з версії translate-toolkit 2.2.4 передбачено підтримку і вкладеної структури файлів JSON.

Змінено в версії 4.3: Програма належним чином зберігає структуру файла JSON, навіть для складних випадків, які було важко обробити у попередніх випусках.

Формат JSON використовується здебільшого для перекладу програм, які реалізовано мовою JavaScript.

У поточній версії Weblate передбачено підтримку декількох варіантів перекладів JSON:

Переклади JSON є, зазвичай, одномовними, тому рекомендуємо вказувати базовий файл, яким (здебільшого) є файл з рядками англійською мовою.

Приклад файла:

{
  "Hello, world!\n": "Ahoj světe!\n",
  "Orangutan has %d banana.\n": "",
  "Try Weblate at https://demo.weblate.org/!\n": "",
  "Thank you for using Weblate.": ""
}

Підтримку файлів із вкладеністю також реалізовано (див. вимоги вище). Такий файл може виглядати ось так:

{
  "weblate": {
    "hello": "Ahoj světe!\n",
    "orangutan": "",
    "try": "",
    "thanks": ""
  }
}

Підказка

Варіанти файл JSON та файл JSON із вкладеною структурою призначено для файлів одного типу. Використання обох варіантів надає змогу зберегти наявну структуру JSON під час перекладу.

Єдиною відмінністю є обробка додавання нових рядків за допомогою Weblate. У варіанті із вкладеністю програма робить спробу обробити ключ і вставити новий рядок у відповідну структуру. Наприклад, ключ app.name буде вставлено так:

{
   "app": {
      "name": "Weblate"
   }
}

Типовий Налаштовування складників Weblate

Маска файлів

langs/translation-*.json

Основний файл для одномовного перекладу

langs/translation-en.json

Шаблон для нових перекладів

Порожньо

Формат файлу

файл JSON із вкладеною структурою

Файли JSON i18next

Змінено в версії 2.17: З версії Weblate 2.17 і принаймні з версії translate-toolkit 2.2.5 передбачено підтримку файлів JSON i18next із формами множини.

i18next — бібліотека для перекладу, яку написано на JavaScript і для JavaScript. У Weblate передбачено підтримку файлів локалізації цієї бібліотеки із різними можливостями, зокрема формами множини.

Переклади i18next є одномовними, тому рекомендуємо вказувати базовий файл, яким (здебільшого) є файл з рядками англійською мовою.

Примітка

У Weblate передбачено підтримку формату версії 3 JSON i18next. Версії 2 і 1 є здебільшого сумісними, за винятком способу обробки форм множини.

У варіанті v4 використано інший підхід до збереження форм множини. Підтримку його ще не реалізовано.

Приклад файла:

{
  "hello": "Hello",
  "apple": "I have an apple",
  "apple_plural": "I have {{count}} apples",
  "apple_negative": "I have no apples"
}

Типовий Налаштовування складників Weblate

Маска файлів

langs/*.json

Основний файл для одномовного перекладу

langs/en.json

Шаблон для нових перекладів

Порожньо

Формат файлу

файл i18next JSON

Файли JSON go-i18n

Нове в версії 4.1.

Переклади go-i18n є одномовними, тому рекомендуємо вказувати базовий файл, яким (здебільшого) є файл з рядками англійською мовою.

Примітка

У Weblate передбачено підтримку формату JSON go-i18n версії 1. Для простих форматів JSON, будь ласка, скористайтеся файли JSON. Підтримки формату версії 2 із хешем у поточній версії не передбачено.

Типовий Налаштовування складників Weblate

Маска файлів

langs/*.json

Основний файл для одномовного перекладу

langs/en.json

Шаблон для нових перекладів

Порожньо

Формат файлу

файл JSON go-i18n

Файл ARB

Нове в версії 4.1.

Переклади ARB є одномовними, тому рекомендуємо вказувати базовий файл, яким (здебільшого) є файл з рядками англійською мовою.

Типовий Налаштовування складників Weblate

Маска файлів

lib/l10n/intl_*.arb

Основний файл для одномовного перекладу

lib/l10n/intl_en.arb

Шаблон для нових перекладів

Порожньо

Формат файлу

файл ARB

JSON WebExtension

Нове в версії 2.16: Підтримку цих файлів передбачено з версії Weblate 2.16 і принаймні версії translate-toolkit 2.2.4.

Формат файлів, який використовується для перекладу розширень до Mozilla Firefox або Google Chromium.

Примітка

Хоча цей формат має назву JSON, його специфікацією передбачено можливість включення коментарів, які не є частиною специфікації JSON. У поточній версії Weblate не передбачено підтримки файлів із коментарями.

Приклад файла:

{
  "hello": {
    "message": "Ahoj světe!\n",
    "description": "Description",
    "placeholders": {
      "url": {
        "content": "$1",
        "example": "https://developer.mozilla.org"
      }
    }
  },
  "orangutan": {
    "message": "Orangutan has $coUnT$ bananas",
    "description": "Description",
    "placeholders": {
      "count": {
        "content": "$1",
        "example": "5"
      }
    }
  },
  "try": {
    "message": "",
    "description": "Description"
  },
  "thanks": {
    "message": "",
    "description": "Description"
  }
}

Типовий Налаштовування складників Weblate

Маска файлів

_locales/*/messages.json

Основний файл для одномовного перекладу

_locales/en/messages.json

Шаблон для нових перекладів

Порожньо

Формат файлу

файл JSON WebExtension

Файли ресурсів .XML

Нове в версії 2.3.

Файл ресурсів .XML (.resx) використовується як одномовний формат файлів XML у програмах Microsoft .NET. Він є взаємозамінним із .resw, якщо використовується ідентичний до .resx синтаксис.

Типовий Налаштовування складників Weblate

Маска файлів

Resources/Language.*.resx

Основний файл для одномовного перекладу

Resources/Language.resx

Шаблон для нових перекладів

Порожньо

Формат файлу

файл ресурсів .NET

Файли ResourceDictionary

Нове в версії 4.13.

ResourceDictionary є форматом одномовних файлів XML, який використовують для пакування ресурсів придатних до перекладу рядків для програм Windows Presentation Foundation (WPF).

Типовий Налаштовування складників Weblate

Маска файлів

Languages/*.xaml

Основний файл для одномовного перекладу

Language/en.xaml

Шаблон для нових перекладів

Порожньо

Формат файлу

файл ResourceDictionary

Файли CSV

Нове в версії 2.4.

У файлах CSV можуть міститися прості списки початкових рядків і рядків перекладів. У Weblate передбачено підтримку таких файлів:

  • Файли із визначенням полів у заголовку (location, source, target, ID, fuzzy, context, translator_comments, developer_comments). Цей підхід є рекомендованим, оскільки зменшує ймовірність помилки. Виберіть формат файлів файл CSV.

  • Файли із двома полями — початковим рядком і перекладом (саме у такому порядку) — виберіть Простий файл CSV у полі формату файлів.

  • Файли без заголовків із полями у порядку визначеному в translate-toolkit: location, source, target, ID, fuzzy, context, translator_comments, developer_comments. Виберіть формат файлів файл CSV.

  • Не забудьте визначити Основний файл для одномовного перекладу коли ваші файли одномовні (гляньте Двомовні і одномовні формати).

Підказка

Типово, у форматі CSV не передбачено автоматичного виявлення кодування символів у файлі. Іноді таке автоматичне виявлення не спрацьовує і спричиняє проблеми зі швидкодією. Будь ласка, виберіть варіант форматування файла з кодуванням, щоб уникнути цього (приклад: файл CSV (UTF-8)).

Попередження

Обробник формату CSV у поточній версії автоматично виявляє діалект файла CSV. У деяких випадках автоматичне виявлення може бути невдалим — ви отримаєте неоднозначні підсумки. Це, зокрема, стосується файлів CSV із символами нових рядків у значеннях. Щоб обійти проблеми, рекомендуємо уникати використання символів лапок.

Приклад файла:

Thank you for using Weblate.,Děkujeme za použití Weblate.

Типово Налаштовування складників Weblate для двомовних CSV

Маска файлів

locale/*.csv

Основний файл для одномовного перекладу

Порожньо

Шаблон для нових перекладів

locale/en.csv

Формат файлу

Файл CSV

Типово Налаштовування складників Weblate для одномовних CSV

Маска файлів

locale/*.csv

Основний файл для одномовного перекладу

locale/en.csv

Шаблон для нових перекладів

locale/en.csv

Формат файлу

Простий файл CSV

Multivalue CSV file

Нове в версії 4.13.

This variant of the CSV files allows storing multiple translations per string.

Дивись також

CSV

Файли YAML

Нове в версії 2.9.

Звичайні файли YAML із рядковими ключами і значеннями. Крім того, Weblate видобуває рядки зі списків або словників.

Приклад файла YAML:

weblate:
  hello: ""
  orangutan": ""
  try": ""
  thanks": ""

Типовий Налаштовування складників Weblate

Маска файлів

translations/messages.*.yml

Основний файл для одномовного перекладу

translations/messages.en.yml

Шаблон для нових перекладів

Порожньо

Формат файлу

файл YAML

Дивись також

YAML, Файли YAML Ruby

Файли YAML Ruby

Нове в версії 2.9.

Файли YAML інтернаціоналізації Ruby із кореневим вузлом «language».

Приклад файла перекладу YAML Ruby:

cs:
  weblate:
    hello: ""
    orangutan: ""
    try: ""
    thanks: ""

Типовий Налаштовування складників Weblate

Маска файлів

translations/messages.*.yml

Основний файл для одномовного перекладу

translations/messages.en.yml

Шаблон для нових перекладів

Порожньо

Формат файлу

файл YAML Ruby

Дивись також

YAML, Файли YAML

Файли DTD

Нове в версії 2.18.

Приклад файла DTD:

<!ENTITY hello "">
<!ENTITY orangutan "">
<!ENTITY try "">
<!ENTITY thanks "">

Типовий Налаштовування складників Weblate

Маска файлів

locale/*.dtd

Основний файл для одномовного перекладу

locale/en.dtd

Шаблон для нових перекладів

Порожньо

Формат файлу

файл DTD

Дивись також

Mozilla DTD format

Прості файли XML

Нове в версії 3.9.

Приклад простого файла XML:

<?xml version='1.0' encoding='UTF-8'?>
<root>
  <str key="hello_world">Hello World!</str>
  <str key="resource_key">Translated value.</str>
</root>

Типовий Налаштовування складників Weblate

Маска файлів

locale/*.xml

Основний файл для одномовного перекладу

locale/en.xml

Шаблон для нових перекладів

Порожньо

Формат файлу

простий файл XML

Дивись також

Flat XML

Файли RC Windows

Змінено в версії 4.1: Підтримку файлів RC Windows було переписано.

Примітка

Підтримка цього формату зараз перебуває на тестовому етапі. Будемо раді тестуванню та відгукам.

Приклад файла RC Windows:

LANGUAGE LANG_CZECH, SUBLANG_DEFAULT

STRINGTABLE
BEGIN
    IDS_MSG1                "Hello, world!\n"
    IDS_MSG2                "Orangutan has %d banana.\n"
    IDS_MSG3                "Try Weblate at http://demo.weblate.org/!\n"
    IDS_MSG4                "Thank you for using Weblate."
END

Типовий Налаштовування складників Weblate

Маска файлів

lang/*.rc

Основний файл для одномовного перекладу

lang/en-US.rc

Шаблон для нових перекладів

lang/en-US.rc

Формат файлу

Файл RC

Дивись також

Windows RC files

Файли метаданих крамниці застосунків

Нове в версії 3.5.

Метадані, які використовуються для оприлюднення програму різноманітних крамницях програмного забезпечення, можна перекладати. У поточній версії сумісними є такі інструменти:

Метадані складаються із декількох текстових файлів, які Weblate показуватиме як окремі рядки для перекладу.

Типовий Налаштовування складників Weblate

Маска файлів

fastlane/android/metadata/*

Основний файл для одномовного перекладу

fastlane/android/metadata/en-US

Шаблон для нових перекладів

fastlane/android/metadata/en-US

Формат файлу

„Файли метаданих крамниці програм`

Підказка

Якщо ви не хочете, щоб певні рядки було перекладено (наприклад, усунути з перекладу записи журналу змін), позначте ці рядки як придатні лише для читання (див. Налаштовування поведінки за допомогою прапорців). Процедуру можна автоматизувати за допомогою Масове редагування.

Файли субтитрів

Нове в версії 3.7.

За допомогою Weblate можна перекладати різноманітні файли субтитрів:

  • Файл субтитрів SubRip (*.srt)

  • Файл субтитрів MicroDVD (*.sub)

  • Файл субтитрів Advanced Substation Alpha (*.ass)

  • Файл субтитрів Substation Alpha (*.ssa)

Типовий Налаштовування складників Weblate

Маска файлів

path/*.srt

Основний файл для одномовного перекладу

path/en.srt

Шаблон для нових перекладів

path/en.srt

Формат файлу

файл субтитрів SubRip

Дивись також

Subtitles

Excel Open XML

Нове в версії 3.2.

Файли Excel Open XML (.xlsx) може бути імпортовано і експортовано.

При вивантаженні файлів XLSX для перекладу слід зважати на те, що оброблятиметься лише активний робочий аркуш. У файлі має бути принаймні один стовпчик із назвою source (у якому міститься початковий рядок) і стовпчик із назвою target (у якому міститься переклад). Крім того, має бути стовпчик із назвою context (у якому міститься контекстний шлях рядка перекладу). Якщо ви використовуєте отримання XLSX для експортування перекладів до робочої книги Excel, у вас вже є файл у належному форматі.

Файли HTML

Нове в версії 4.1.

Примітка

Підтримка цього формату зараз перебуває на тестовому етапі. Будемо раді тестуванню та відгукам.

Придатні до перекладу дані буде видобуто з файлів HTML і запропоновано до перекладу.

Дивись також

HTML

Текстові файли

Нове в версії 4.6.

Примітка

Підтримка цього формату зараз перебуває на тестовому етапі. Будемо раді тестуванню та відгукам.

Придатні до перекладу дані буде видобуто з простих текстових файлів і запропоновано до перекладу. Кожен абзац перекладається як окремий рядок.

Існує три різновиди цього формату:

  • Звичайний текстовий файл

  • Текстовий файл DokuWiki

  • Текстовий файл MediaWiki

Дивись також

Simple Text Documents

Формат OpenDocument

Нове в версії 4.1.

Примітка

Підтримка цього формату зараз перебуває на тестовому етапі. Будемо раді тестуванню та відгукам.

Придатні до перекладу дані буде видобуто з файлів OpenDocument і запропоновано до перекладу.

Дивись також

OpenDocument Format

Формат IDML

Нове в версії 4.1.

Примітка

Підтримка цього формату зараз перебуває на тестовому етапі. Будемо раді тестуванню та відгукам.

Придатні до перекладу дані буде видобуто з файлів мови розмітки Adobe InDesign і запропоновано до перекладу.

Формат TermBase eXchange

Нове в версії 4.5.

TBX — це формат XML для обміну термінологічними даними.

Типовий Налаштовування складників Weblate

Маска файлів

tbx/*.tbx

Основний файл для одномовного перекладу

Порожньо

Шаблон для нових перекладів

Порожньо

Формат файлу

Файл TermBase eXchange

Дивись також

TBX у Вікіпедії, TBX, Глосарій

Формат Stringsdict

Нове в версії 4.8.

Примітка

Підтримка цього формату зараз перебуває на тестовому етапі. Будемо раді тестуванню та відгукам.

Заснований на XML формат, який використовує Apple і у якому передбачено можливість зберігання форм множини рядка.

Типовий Налаштовування складників Weblate

Маска файлів

Resources/*.lproj/Localizable.stringsdict

Основний файл для одномовного перекладу

Resources/en.lproj/Localizable.stringsdict або Resources/Base.lproj/Localizable.stringsdict

Шаблон для нових перекладів

Порожньо

Формат файлу

Файл Stringsdict

Формат Fluent

Нове в версії 4.8.

Примітка

Підтримка цього формату зараз перебуває на тестовому етапі. Будемо раді тестуванню та відгукам.

Fluent — одномовний текстовий формат, увагу у якому зосереджено на асиметричній локалізації: простий рядок однією мовою може відповідати складному багатоваріантному перекладу іншою мовою.

Типовий Налаштовування складників Weblate

Маска файлів

locales/*/messages.ftl

Основний файл для одномовного перекладу

locales/en/messages.ftl

Шаблон для нових перекладів

Порожньо

Формат файлу

Файл Fluent

Дивись також

Сайт проєкту Fluent

Підтримка інших форматів

Реалізувати підтримку більшості форматів, підтримку яких реалізовано у translate-toolkit і у яких передбачено підтримку перетворення у послідовну форму, доволі просто, але цю підтримку ще не достатньо перевірено. У більшості випадків потрібен певний тонкий шар у Weblate для приховування відмінностей у поведінці різних репозиторіїв даних translate-toolkit.

Рекомендованим способом додавання нових форматів є реалізація їхньої підтримки у translate-toolkit.

Дивись також

Translation Related File Formats