Поддерживаемые форматы файлов¶
Weblate поддерживает большинство форматов перевода, понимаемых translate-toolkit, однако понимание любого из них чем-нибудь да отличаются, поэтому могут возникнуть некоторые проблемы с форматами, которые были протестированы недостаточно тщательно.
Примечание
При выборе формата файла для вашего приложения лучше придерживаться какого-нибудь устоявшегося формата для используемого вами инструментария/платформы. Таким образом, ваши переводчики в дополнение смогут использовать любые инструменты, к которым они привыкли, и вероятность внесения ими своего вклада в ваш проект будет выше.
Двуязычные и одноязычные форматы¶
Поддерживаются как одноязычные, так и двуязычные форматы. Двуязычные форматы хранят в одном файле два языка — исходный язык и перевод (типичными примерами являются GNU gettext, XLIFF или Строки Apple iOS). С другой стороны, одноязычные форматы идентифицируют строку по идентификатору, и каждый языковой файл содержит только сопоставление этих форматов с любым заданным языком (обычно это Строковые ресурсы Android). Некоторые форматы файлов могут использоваться и так, и эдак, подробнее смотрите ниже.
Для правильного использования одноязычных файлов Weblate требует доступа к файлу, содержащему полный список строк для перевода и их «перевод» на исходный язык — этот файл внутри Weblate называется одноязычным базовым файлом, хотя в вашей парадигме наименование этой сущности может отличаться.
Кроме того, этот рабочий процесс может быть расширен с помощью файла промежуточного языка, позволяющего включить в перевод строки, предоставленные разработчиками, но не использованными «как есть» в окончательных строках.
Автоматическое обнаружение¶
Weblate умеет автоматически обнаруживать некоторые широко распространённые форматы файлов, но это обнаружение может навредить вашей производительности и ограничено возможностями, специфичными для данного формата файла (к примеру, автоматическим добавлением новых переводов).
Возможности типов переводов¶
Возможности всех поддерживаемых форматов:
Формат |
Языковость 1 |
Множественные формы 2 |
Комментарии 3 |
Контекст 4 |
Расположение 5 |
Флаги 8 |
Дополнительные состояния 6 |
---|---|---|---|---|---|---|---|
двуязычный |
да |
да |
да |
да |
да 9 |
требуется правка |
|
одноязычный |
да |
да |
да |
да |
да 9 |
требуется правка |
|
оба |
да |
да |
да |
да |
да 10 |
требуется правка, одобрено |
|
оба |
нет |
да |
нет |
нет |
нет |
||
одноязычный |
да |
да |
нет |
нет |
нет |
||
одноязычный |
нет |
да |
нет |
да |
нет |
||
оба |
да |
да |
нет |
да |
да 10 |
требуется правка |
|
одноязычный |
да |
да 7 |
нет |
нет |
да 10 |
||
двуязычный |
нет |
да |
нет |
нет |
нет |
||
одноязычный |
нет 11 |
да |
нет |
нет |
нет |
||
одноязычный |
нет |
нет |
нет |
нет |
нет |
||
одноязычный |
да |
нет |
нет |
нет |
нет |
||
одноязычный |
да |
нет |
нет |
нет |
нет |
||
одноязычный |
да |
да |
нет |
нет |
нет |
||
одноязычный |
да |
да |
нет |
нет |
нет |
||
одноязычный |
нет |
да |
нет |
нет |
да 10 |
||
одноязычный |
нет |
да |
да |
да |
нет |
требуется правка |
|
одноязычный |
нет |
да |
нет |
нет |
нет |
||
одноязычный |
да |
да |
нет |
нет |
нет |
||
одноязычный |
нет |
нет |
нет |
нет |
нет |
||
одноязычный |
нет |
нет |
нет |
нет |
да 10 |
||
одноязычный |
нет |
да |
нет |
нет |
нет |
||
одноязычный |
нет |
да |
да |
да |
нет |
требуется правка |
|
одноязычный |
нет |
нет |
нет |
нет |
нет |
||
одноязычный |
нет |
нет |
нет |
да |
нет |
||
одноязычный |
нет |
нет |
нет |
нет |
нет |
||
одноязычный |
нет |
нет |
нет |
нет |
нет |
||
одноязычный |
нет |
нет |
нет |
нет |
нет |
||
одноязычный |
нет |
нет |
нет |
нет |
нет |
||
одноязычный |
нет |
нет |
нет |
нет |
нет |
- 1
Смотрите раздел Двуязычные и одноязычные форматы
- 2
Множественные формы необходимы для правильной локализации строк, содержащих переменную количества.
- 3
Комментарии могут быть использованы для указания дополнительной информации о строке для перевода.
- 4
Контекст используется для различения одинаковых строк, используемых в разных областях (например, Sun может означать как сокращённое название дня «воскресенье» — «Sunday» — так и название нашей ближайшей звезды).
- 5
Расположение строки в исходном коде может помочь опытным переводчикам понять предназначение этой строки.
- 6
Дополнительные состояния, поддерживаемые форматом файла в дополнение к состояниям «Не переведено» и «Переведено».
- 7
Комментарий XML, размещённый перед элементом
<string>
, трактуется как комментарий разработчика.- 8
Смотрите раздел Настройка поведения
- 9(1,2)
В качестве флагов используются комментарии типа gettext.
- 10(1,2,3,4,5)
Для всех форматов на основе XML флаги извлекаются из нестандартного атрибута
weblate-flags
. Кроме того, флагmax-length:N
поддерживается через атрибутmaxwidth
, как определено в стандарте XLIFF, смотрите раздел Указание флагов перевода.- 11
Множественные формы поддерживаются только для Laravel, который использует для их определения внутристрочный синтаксис, смотрите документ Локализация в Laravel.
GNU gettext¶
Наиболее широко используемый формат для перевода свободного программного обеспечения. Этот формат Weblate поддержал самым первым, и он до сих пор имеет самую лучшую поддержку.
Контекстная информация, хранящаяся в файле, поддерживается настройкой его заголовков или его привязкой к соответствующим исходным файлам.
Двуязычный 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-файл gettext |
См.также
Перевод программ с помощью GNU Gettext, Перевод документации с помощью Sphinx, Gettext в Википедии, PO-файлы, Обновление переменной ALL_LINGUAS в файле «configure», Настройка вывода gettext, Обновление файла LINGUAS, Генерирование MO-файлов, Обновлять PO-файлы до соответствия POT (msgmerge)
Одноязычный 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-файл gettext (одноязычный) |
XLIFF¶
Формат на основе XML, созданный для стандартизации файлов перевода, но в конечном итоге ставший просто ещё одним из многочисленных стандартов в этой области.
Формат файла XML для обмена локализациями (XLIFF) обычно используется как двуязычный, но Weblate поддерживает его использование и в качестве одноязычного.
См.также
Спецификация формата файла XML для обмена локализациями (XLIFF)
Состояния перевода¶
Изменено в версии 3.3: До выпуска 3.3 Weblate игнорировал атрибут состояния.
Атрибут состояния 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 |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
Пусто |
Шаблон для новых переводов |
|
Формат файла |
Файл перевода XLIFF |
Типичная настройка компонента в Weblate для одноязычного XLIFF |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
Файл перевода XLIFF |
Файлы свойств Java¶
Родной формат Java для переводов.
Файлы свойств Java обычно используются в качестве одноязычных переводов.
Weblate поддерживает варианты этого формата в кодировках ISO-8859-1, UTF-8 и UTF-16. Все они поддерживают сохранение всех символов юникода, просто в разных кодировках. В формате ISO-8859-1 используются юникодные экранирующие последовательности (например, zkou\u0161ka
), остальные кодируют символы непосредственно в UTF-8 или UTF-16.
Примечание
Загрузка экранирующих последовательностей также работает в режиме UTF-8, поэтому, пожалуйста, будьте внимательны при выборе правильного набора кодировок в соответствии с потребностями вашего приложения.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Свойства Java (ISO 8859-1) |
Файлы свойств GWT¶
Родной формат GWT для переводов.
Файлы свойств GWT обычно используются в качестве одноязычных переводов.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Свойства GWT |
Переводы в INI-файлах¶
Добавлено в версии 4.1.
Формат INI-файла для переводов.
Переводы в INI-файлах обычно используются в качестве одноязычных переводов.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
INI-файл |
Переводы в INI-файлах Inno Setup¶
Добавлено в версии 4.1.
Формат INI-файлов Inno Setup для переводов.
Переводы в INI-файлах Inno Setup обычно используются в качестве одноязычных переводов.
Примечание
Единственным заметным отличием от обычных переводов в INI-файлах является поддержка заполнителей %n
и %t
для символов переноса строки и табуляции.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
INI-файл Inno Setup |
Примечание
На текущий момент поддерживаются только юникодные файлы (.islu
), файлы в кодировке ANSI (.isl
) в настоящее время не поддерживаются.
См.также
Переводы Joomla¶
Добавлено в версии 2.12.
Родной формат Joomla для переводов.
Переводы Joomla обычно используются в качестве одноязычных переводов.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Языковой файл Joomla |
Файлы .ts Qt Linguist¶
Формат перевода, используемый в приложениях на основе Qt.
Файлы Qt Linguist используются и как двуязычные, так и одноязычные переводы.
Типичная настройка компонента в Weblate при использовании формата как двуязычного |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
Пусто |
Шаблон для новых переводов |
|
Формат файла |
Файл перевода Qt Linguist |
Типичная настройка компонента в Weblate при использовании формата как одноязычного |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
Файл перевода Qt Linguist |
Строковые ресурсы Android¶
Специфичный для Android формат файла для перевода приложений.
Строковые ресурсы Android являются одноязычными, Одноязычный базовый файл хранится в другом месте, нежели остальные строки — в файле res/values/strings.xml
.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Строковый ресурс Android |
Примечание
Структуры строкового массива Android, string-array, в настоящее время не поддерживаются. Чтобы это обойти, вы можете разбить свои строковые массивы на части:
<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, так и для iPhone’а/iPad’а.
Строки Apple iOS обычно используются в качестве двуязычных переводов.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Строки 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 |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
Строки PHP |
Строки Laravel PHP¶
Изменено в версии 4.1.
Файлы локализации Laravel PHP также поддерживают множественные формы:
<?php
return [
'apples' => 'There is one apple|There are many apples',
];
См.также
JSON-файлы¶
Добавлено в версии 2.0.
Изменено в версии 2.16: Начиная с Weblate версии 2.16 и translate-toolkit версии не ниже 2.2.4 также поддерживаются 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": ""
}
}
Предупреждение
В настоящее время Weblate обрабатывает вложенные JSON-файлы, уплощая их ключи. Это приводит к проблемам сериализации, когда в реальных ключах используются такие символы как .
или []
, потому что Weblate думает, что это признак вложенного ключа.
Смотрите <https://github.com/WeblateOrg/weblate/issues/2149>
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Файл вложенной структуры JSON |
См.также
JSON -файлы i18next¶
Изменено в версии 2.17: Начиная с Weblate версии 2.17 и translate-toolkit версии не ниже 2.2.5 также поддерживаются JSON-файлы i18next с множественными формами.
i18next — это фреймворк интернационализации, написанный на и для JavaScript. Weblate поддерживает его файлы локализации с такими возможностями, как формы множественного числа.
Переводы i18next обычно одноязычные, поэтому рекомендуется указывать базовый файл со строками на (как это чаще всего бывает) английском языке.
Примечание
Weblate поддерживает формат JSON-файла i18next версии v3. Версии v2 и v1 в основном совместимы, за исключением того, как они работают с формами множественного числа.
Пример файла:
{
"hello": "Hello",
"apple": "I have an apple",
"apple_plural": "I have {{count}} apples",
"apple_negative": "I have no apples"
}
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
JSON-файл i18next |
JSON -файлы go-i18n¶
Добавлено в версии 4.1.
Переводы go-i18n обычно одноязычные, поэтому рекомендуется указывать базовый файл со строками на (как это чаще всего бывает) английском языке.
Примечание
Weblate поддерживает формат JSON-файла go-i18n версии v2, который не поддерживает плоские JSON-файлы, поддерживаемые версией v1.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
JSON -файл go-i18n |
См.также
JSON, go-i18n, Настройка вывода в JSON, Очистка файлов перевода,
Файл ARB¶
Добавлено в версии 4.1.
Переводы ARB обычно одноязычные, поэтому рекомендуется указывать базовый файл со строками на (как это чаще всего бывает) английском языке.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Файл 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": "",
"description": "Description"
},
"try": {
"message": "",
"description": "Description"
},
"thanks": {
"message": "",
"description": "Description"
}
}
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
JSON-файл WebExtension |
.XML-файлы ресурсов¶
Добавлено в версии 2.3.
В .XML-файле ресурса (.resx) применяется формат одноязычного XML-файла, используемый в приложениях Microsoft .NET. Он взаимозаменяем с форматом .resw, который использует синтаксис, идентичный синтаксису .resx.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Файл ресурсов .NET |
Файлы CSV¶
Добавлено в версии 2.4.
Файлы CSV могут содержать простой список исходных строк и переводов. Weblate поддерживает следующие файлы:
Файлы с заголовком, определяющим поля (источник, перевод, местоположение, …). Это рекомендуемый подход, так как он наименее подвержен ошибкам.
Файлы с двумя полями — источником и переводом (в этом порядке), для этого в качестве формата файла выберите Простой CSV файл
Файлы с полями, определёнными translate-toolkit: location, source, target, ID, fuzzy, context, translator_comments, developer_comments
Предупреждение
Формат CSV в настоящее время автоматически определяет диалект файла CSV. В некоторых случаях автоматическое определение может не сработать, и вы получите смешанные результаты. Особенно это касается файлов CSV с символами новых строк внутри значений. В качестве обходного пути рекомендуется не использовать кавычки.
Пример файла:
Thank you for using Weblate.,Děkujeme za použití Weblate.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
Пусто |
Шаблон для новых переводов |
|
Формат файла |
Файл CSV |
См.также
Файлы YAML¶
Добавлено в версии 2.9.
Простые файлы YAML со строковыми ключами и значениями. Также Weblate извлекает строки из списков и словарей.
Пример файла YAML:
weblate:
hello: ""
orangutan": ""
try": ""
thanks": ""
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Файл YAML |
См.также
Файлы Ruby YAML¶
Добавлено в версии 2.9.
Файлы YAML локализации Ruby с языком в качестве корневого узла.
Пример файла YAML локализации Ruby:
cs:
weblate:
hello: ""
orangutan: ""
try: ""
thanks: ""
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Файл Ruby YAML |
См.также
Файлы DTD¶
Добавлено в версии 2.18.
Пример DTD-файла:
<!ENTITY hello "">
<!ENTITY orangutan "">
<!ENTITY try "">
<!ENTITY thanks "">
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Файл DTD |
См.также
Плоские 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 |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
Пусто |
Формат файла |
Плоский XML-файл |
См.также
Файлы ресурсов Windows¶
Изменено в версии 4.1: Поддержка файлов ресурсов Windows была переписана.
Примечание
Поддержка этого формата в настоящее время находится в бета-режиме, приветствуются обратная связь от тестирования.
Пример файла ресурсов 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 |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
Файл RC |
См.также
Файлы метаданных магазина приложений¶
Добавлено в версии 3.5.
Метаданные, используемые для публикации приложений в различных магазинах приложений, могут быть переведены. В настоящее время совместимы следующие инструменты:
Метаданные состоят из нескольких текстовых файлов, которые Weblate представляет для перевода в виде отдельных строк.
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
Файлы метаданных магазина приложений |
Файлы субтитров¶
Добавлено в версии 3.7.
Weblate может переводить различные файлы субтитров:
Файл субтитров SubRip (
*.srt
)Файл субтитров MicroDVD (
*.sub
)Файл субтитров Advanced SubStation Alpha (
*.ass
)Файл субтитров SubStation Alpha (
*.ssa
)
Типичная настройка компонента в Weblate |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
Файл субтитров SubRip |
См.также
Excel Open XML¶
Добавлено в версии 3.2.
Можно импортировать и экспортировать файлы Excel Open XML (.xlsx).
Загружая для перевода файлы XLSX, имейте в виду, что учитывается только активный рабочий лист, и должны быть хотя бы колонки с названием source
(содержащая исходную строку) и target
(содержащая перевод). Дополнительно может быть колонка с названием context
(содержащая путь к контексту строки перевода). Если вы используете скачанный XLSX для экспорта переводов в рабочую книгу Excel, вы уже получите файл в правильном формате.
Файлы HTML¶
Добавлено в версии 4.1.
Примечание
Поддержка этого формата в настоящее время находится в бета-режиме, приветствуются обратная связь от тестирования.
Переводимое содержимое извлекается из HTML-файлов и предлагается для перевода.
См.также
Формат OpenDocument¶
Добавлено в версии 4.1.
Примечание
Поддержка этого формата в настоящее время находится в бета-режиме, приветствуются обратная связь от тестирования.
Переводимое содержимое извлекается из файлов OpenDocument и предлагается для перевода.
См.также
Формат IDML¶
Добавлено в версии 4.1.
Примечание
Поддержка этого формата в настоящее время находится в бета-режиме, приветствуются обратная связь от тестирования.
Переводимое содержимое извлекается из файлов языка разметки Adobe InDesign и предлагается для перевода.
Другие¶
Большинство форматов, которые поддерживают сериализацию и которые поддерживает translate-toolkit, могут быть легко поддержаны, но они (пока) не прошли никакого тестирования. В большинстве случаев, чтобы скрыть различия в поведении различных хранилищ translate-toolkit, для Weblate требуется тонкая прослойка.
Добавление новых переводов¶
Изменено в версии 2.18: В версиях до 2.18 поведение добавления новых переводов зависело от формата файла.
Weblate может автоматически начинать новый перевод для всех форматов файлов.
Некоторые форматы ожидают, что они будут начинаться с пустого файла и в него будут включены только переведённые строки (например, Строковые ресурсы Android), в то время как другие ожидают, что в файле будут присутствовать все ключи (например, GNU gettext). В некоторых ситуациях это на самом деле зависит не от формата, а от фреймворка, который вы используете для работы с файлами перевода (например, с файлами JSON).
При указании в конфигурации компонента файла шаблона нового перевода Weblate будет использовать его для начинания новых переводов. Все существующие переводы при этом будут из файла удалены.
Если поле Шаблон для новых переводов на заполнено, а формат файла его требует, создаётся пустой файл, в который добавляются новые строки после их перевода.
Параметр Стиль кода языка позволяет вам настраивать код языка, используемый в именах сгенерированных файлов:
- Умолчание, основанное на формате файла
Зависит от формата файла, для большинства форматов используется стиль POSIX.
- Стиль POSIX, использующий подчёркивание как разделитель
Обычно используется gettext’ом и связанными с ним инструментами, выдаёт коды языков вида ru_RU.
- Стиль POSIX, использующий подчёркивание как разделитель и включающий код страны
Код языка в стиле POSIX, включающий код страны, даже если в этом нет необходимости (например, cs_CZ).
- Стиль BCP, использующий в качестве разделителя дефис
Обычно используется на веб-платформах, выдаёт коды языков вида ru-RU.
- Стиль BCP, использующий в качестве разделителя дефис и включающий код страны
Код языка в стиле BCP, включающий код страны, даже если в этом нет необходимости (например, cs-CZ).
- Стиль Android
Используется только в приложениях для Android, выдаёт коды языков вида ru-rRU.
- Стиль Java
Используется Java — в основном BCP с устаревшими кодами для китайского языка.
Примечание
Weblate распознаёт любой из этих стилей при разборе файлов перевода, вышеуказанные настройки влияют только на то, в каком стиле создавать новые файлы.
Строки только для чтения¶
Добавлено в версии 3.10.
Строки из файлов перевода, доступные только для чтения, будут включены, но не могут быть отредактированы в Weblate. Поддержка этой возможности уже встроена в некоторые форматы (XLIFF и Строковые ресурсы Android), а в других может быть сэмулирована добавлением к строке флага read-only
— смотрите раздел Настройка поведения.