Расширения файлов |
.po |
Расширение API |
gettext |
Импорт |
Да |
Экспорт |
Да |
Поддержка форм множественного числа |
Да |
Поддержка описания |
Да |
Варианты формата |
|
.Заказ на покупку (PO) — стандартный формат файла для локализации с GNU gettext, библиотекой GNU с открытым оригиналом, предназначенной для упрощения процесса локализации. С помощью GNU gettext Localizable Strings извлекаются из оригинала в файл заказа на покупку (PO) для перевода. Файл .Заказ на покупку (PO) — это ряд пар «ключ-значение». Ключ msgid
— это место размещения строки оригинала, в то время как значение msgstr
— это место перевода.
gettext извлекает Strings из оригинала кода в .POT (шаблон портативного объекта). В соответствии с заданными языковыми стандартами gettext затем конвертирует файл .Заказ на покупку (PO) в файлы .PO, связанные с конкретным языковым стандартом, чтобы загрузить их в CAT-инструмент для перевода. После перевода gettext конвертирует переведенные файлы .Заказ на покупку (PO) в файлы .MO (файлы машинного объекта), в конечном итоге используемые для локализации.
Файлы .заказа на покупку (PO) идентичны файлам .POT, за исключением файлов .POT, как правило, используются геттекстом для создания файлов .заказа на покупку (PO), учитывающих языковые стандарты. Непосредственный перевод файла .POT и его переименование в соответствии с более поздним предполагаемым языковым стандартом не создают проблем. phrase поддерживает перевод:
-
Файлы .заказ на покупку (PO)
-
Двуязычные файлы .Заказ на покупку (PO)
-
Машиночитаемые файлы .MO
msgctxt
будет использоваться в качестве префикса ключа, в сочетании с msgid
и разделяться ||
.
Параметры формата
Идентификатор |
msgid_as_default |
Тип |
Булевский тип данных |
Загрузить |
true |
Скачать |
false |
По умолчанию |
false |
Описание |
Контент перевода берется из значения |
Идентификатор |
is_bilingual_file |
Тип |
Булевский тип данных |
Загрузить |
true |
Скачать |
false |
По умолчанию |
false |
Описание |
Перевод оригинала и перевода будет импортирован из загруженного файла: контент оригинала будет взят из значения |
Образец кода
msgid "" msgstr "" «Язык: English\n" «Версия MIME: 1,0\n" «Тип контента: текст/просто; charset=UTF-8\n» «Кодирование контента-передачи: 8bit\n" «Формы множественного числа: nplurals=2; plural=(n != 1);\n» «Генератор X: PhraseApp (phraseapp.com)\n" msgid "boolean_key" msgstr "--- true\n" msgid "empty_string_translation" msgstr "" # Это потрясающее описание для этого ключа! msgid "key_with_description" msgstr "Проверьте! This key has a description! (At least in some formats)" msgid "key_with_line-break" msgstr "This translations содержит\na line-break." msgid "nested.deeply.key" msgstr «Ого, этот ключ вложен еще глубже». msgid "nested.key" msgstr «Этот ключ вложен в пространство имен». msgid "null_translation" msgstr "" msgid "pluralized_key" msgid_plural "" msgstr[0] «Найдено только одно множественное число». msgstr[1]: "Wow, you have %s pluralizations!" msgid "sample_collection" msgstr "---\n- первый элемент\n- второй элемент\n- третий элемент\n" msgid "simple_key" msgstr «простой ключ, простое сообщение, так просто.2» #, неточно msgid "unverified_key" msgstr «Мне нужна проверка, подтвердите меня! (In some formats we also export this status)"
Типичная запись gettext:
# описание (необязательно) msgid «имя ключа» msgstr «Мой перевод»
gettext Header
Заголовок файла gettext может содержать имя языковой стандарт стандарта и данные для форм множественного числа, которые извлекаются при импортировать:
msgid "" msgstr "" «Язык: en\n» «Версия MIME: 1,0\n" «Тип контента: текст/просто; charset=UTF-8\n» «Кодирование контента-передачи: 8bit\n" «Формы множественного числа: nplurals=2; plural=(n != 1);\n» «Генератор X: PhraseApp (phraseapp.com)\n"
Описания
Комментарии в файле gettext добавляются в качестве описания ключ при импортировать:
# Это моё описание msgid «app_title» msgstr «Мой программный проект»
Контекст
gettext использует нотацию msgctxt
, чтобы отличать разные контексты для одного и того же msgid
. Каждое имя ключа должно быть уникальным, поэтому в качестве первой части имени ключа добавляется msgctxt
, разделенный двумя символами труб ||
:
msgctxt «меню» msgid "Открытый" msgstr «Я переводчик» msgctxt «форум» msgid "Открытый" msgstr «Я какой-то другой перевод»
Чтобы добавить msgctxt
в новый ключ, введите его в имя ключа:
my_context||my_key_name
Результат gettext:
... msgctxt "my_context" msgid "my_key_name" ...
Формы множественного числа
gettext поддерживает формы множественного числа для перевода:
msgid «new_messages» msgid_plural "" msgstr[0] «У вас новое сообщение» msgstr[1] «У вас есть %{count} новых сообщения»
Неточный
Неточное ключевое слово используется для проверки переводчика. Неточный автоматически вызывает процесс отмены подтверждения внутри приложения.
#, неточно msgid «app_title» msgstr «Мой программный проект»