GNU gettext PO (переносимый объект)¶
Самый широкоиспользуемый формат для перевода свободного програмного обеспечения.
Контекстная информация, хранящаяся в файле, поддерживается настройкой его заголовков или его привязкой к соответствующим исходным файлам.
См. также
Отображение изменения исходной строки¶
Weblate может извлекать предыдущие исходные строки из PO-файлов, если они присутствуют, и показывать разницу строк для строк, требующих редактирования, на основе этого. Чтобы включить их, msgmerge должен быть выполнен с параметром --previous, и тогда результирующий PO-файл будет содержать строки, подобные следующим:
#, fuzzy
#| msgid "previous-untranslated-string"
msgid "untranslated-string"
msgstr "translated-string"
Заголовок PO-файла¶
Заголовок PO-файла автоматически поддерживается Weblate. Его можно настроить на включение заголовков Language-Team, Last-Translator, X-Generator и Report-Msgid-Bugs-To с помощью Параметры формата файла.
Комментарии заголовка также можно обновить, чтобы они содержали имена авторов, с помощью Участники в комментарии.
Перенос строк¶
Перенос строк в основном соответствует поведению GNU gettext. Как алгоритм переноса в GNU gettext, так и данные Юникода, на которых основан перенос, развиваются, что может вызывать различия в некоторых граничных случаях.
Ширину переноса можно настроить с помощью параметра po_line_wrap, см. Параметры формата файла.
Создание соответствующих MO-файлов¶
Если MO-файлы хранятся в репозитории вместе с PO-файлами, можно использовать Создание MO-файлов, чтобы поддерживать их в актуальном состоянии в соответствии с PO-файлами.
Обновление PO-файлов из POT-файла¶
Обновлять PO-файлы до соответствия POT (msgmerge) можно использовать для обновления PO-файлов из POT-файла, см. Обновление файлов языка перевода.
Одноязычный gettext¶
Некоторые проекты решают использовать 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ý"
Одноязычный 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"
Расширения файлов |
|
|---|---|
Языковость ⓘ |
Одноязычный |
Поддерживает множественное число ⓘ |
|
Поддерживает описания ⓘ |
|
Поддерживает пояснения ⓘ |
|
Поддерживает контекст ⓘ |
|
Поддерживает расположение ⓘ |
|
Поддерживает флаги ⓘ |
|
Дополнительные состояния ⓘ |
|
Идентификатор API |
|
Поддерживает строки только для чтения ⓘ |
|
Расширения файлов |
|
|---|---|
Языковость ⓘ |
Двуязычный |
Поддерживает множественное число ⓘ |
|
Поддерживает описания ⓘ |
|
Поддерживает пояснения ⓘ |
|
Поддерживает контекст ⓘ |
|
Поддерживает расположение ⓘ |
|
Поддерживает флаги ⓘ |
|
Дополнительные состояния ⓘ |
|
Идентификатор API |
|
Поддерживает строки только для чтения ⓘ |
|
Настройка Weblate¶
Типичный Настройки компонента Weblate для двуязычного gettext |
|
|---|---|
Маска файла |
|
Одноязычный базовый файл |
Пусто |
Шаблон для новых переводов |
|
Формат файла |
PO-файл gettext |
Типичный Настройки компонента Weblate для одноязычного gettext |
|
|---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
PO-файл gettext (одноязычный) |
Параметры формата файла¶
Параметры формата файла с шаблоном po_* можно использовать для настройки поведения формата gettext.