GNU gettext PO (Portable Object)¶
Самый широкоиспользуемый формат для перевода свободного програмного обеспечения.
Контекстная информация, хранящаяся в файле, поддерживается настройкой его заголовков или его привязкой к соответствующим исходным файлам.
См. также
Перевод программ с помощью GNU gettext, Перевод документации с помощью Sphinx, Gettext на Википедии, PO Files, Участники в комментарии, Обновление переменной ALL_LINGUAS в файле «configure», Настройка вывода gettext, Обновление файла LINGUAS, Создание MO-файлов, Обновлять PO-файлы до соответствия POT (msgmerge)
Showing source string change¶
Weblate can extract previous source strings from the PO files if present and
show the string difference for strings needing editing based on that. To
include these, msgmerge has to be executed with --previous
and
the resulting PO file then contains lines such as:
#, fuzzy
#| msgid "previous-untranslated-string"
msgid "untranslated-string"
msgstr "translated-string"
Заголовок PO-файла¶
Заголовок PO-файла автоматически поддерживается Weblate. Необязательно он может включать Адрес для сообщения об ошибке в исходной строке и Задать заголовок «Language-Team».
Одноязычный 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"
Настройка Weblate¶
Типичный Настройки компонента Weblate для двуязычного gettext |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
Пусто |
Шаблон для новых переводов |
|
Формат файла |
PO-файл gettext |
Типичный Настройки компонента Weblate для одноязычного gettext |
|
---|---|
Маска файла |
|
Одноязычный базовый файл |
|
Шаблон для новых переводов |
|
Формат файла |
PO-файл gettext (одноязычный) |