|
Расширения файлов |
.po |
|
Расширение API |
gettext |
|
Импорт |
Да |
|
Экспорт |
Да |
|
Поддержка форм множественного числа |
Да |
|
Поддержка описания |
Да |
|
Варианты формата Эти параметры можно указать при загрузке и/или Скачать файла. В зависимости от метода загрузить/Скачать (интерфейс приложений API, CLI, синхронизация репозитория и т. д.), их можно указать в параметрах запрос |
|
.заказ на покупку (PO) (Portable Object) — это стандартный формат файла для локализации с помощью GNU gettext, библиотеки GNU с открытым исходным кодом, предназначенной для упрощения процесса локализации. С помощью GNU gettext локализуемые Strings извлекаются из оригинал кода в файл .заказ на покупку (PO) для перевода. Файл .заказ на покупку (PO) представляет собой серию пар ключ-значение. Ключ msgid — это место, где размещается оригинал строка, а значение msgstr — это место, куда помещается перевод.
gettext извлекает Strings из оригинал кода в .POT (шаблон переносимого объекта). На основе определенных языковых стандартов gettext затем преобразует файл .POT в файлы .заказ на покупку (PO), специфичные для языкового стандарта, для загрузки в CAT-инструмент для перевода. После перевода gettext преобразует переведенные файлы .заказ на покупку (PO) в файлы .MO (машинно-объектные файлы), которые в конечном итоге используются для локализации.
Файлы .заказ на покупку (PO) идентичны файлам .POT, за исключением того, что файлы .POT обычно используются gettext для создания файлов .заказ на покупку (PO), специфичных для языкового стандарта. Перевод файла .POT напрямую и его переименование в соответствии с предполагаемым в дальнейшем языковым стандартом не создает проблем. Phrase поддерживает перевод:
-
Файлы .заказ на покупку (PO)
-
Двуязычные файлы .заказ на покупку (PO)
-
Машиночитаемые файлы .MO
msgctxt будет использоваться в качестве префикса ключа в сочетании с msgid и разделяться ||.
Параметры формата
|
Идентификатор |
msgid_as_default |
|
Тип |
Булевский тип данных |
|
Загрузить |
true |
|
Скачать |
false |
|
По умолчанию |
false |
|
Описание |
Берет контент перевода из значения |
|
Идентификатор |
is_bilingual_file |
|
Тип |
Булевский тип данных |
|
Загрузить |
true |
|
Скачать |
false |
|
По умолчанию |
false |
|
Описание |
И оригинал, и перевод будут импортированы из загруженного файла: оригинал контент будет взят из значения |
Образец кода
msgid "" msgstr "" "Язык: Русский\n" "MIME-Version: 1.0\n" "Контент-Type: text/plain; charset=UTF-8\n" "Контент-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: 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 "Этот перевод содержит\nразрыв строки." msgid "nested.deeply.key" msgstr "Ого, этот ключ вложен еще глубже." msgid "nested.key" msgstr "Этот ключ вложен внутри пространства имен." msgid "null_translation" msgstr "" msgid "pluralized_key" msgid_plural "" msgstr[0] "Найдена только одна форма множественного числа." msgstr[1] "Ого, у вас %s форм множественного числа!" 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 "key-name" msgstr \"Мой перевод\"
Заголовок gettext
Заголовок файла gettext может содержать имя языковой стандарт и данные для форм множественного числа, которые извлекаются во время импортировать:
msgid "" msgstr "" \"Language: en\\n\" "MIME-Version: 1.0\n" "Контент-Type: text/plain; charset=UTF-8\n" "Контент-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: PhraseApp (phraseapp.com)\n"
Описания ключей
Комментарии в файле gettext добавляются как описания ключей во время импортировать:
# Это мое описание msgid "app_title" msgstr \"Мой программный проект\"
Контекст
gettext использует нотацию msgctxt для различения разных контекстов для одного и того же msgid. Каждое имя ключ должно быть уникальным, поэтому msgctxt добавляется как первая часть имени ключ, отделенная двумя символами вертикальной черты ||:
msgctxt "menu" msgid \"Open\" msgstr \"Я перевод\" msgctxt "forum" msgid \"Open\" 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} новых сообщений\"
неточный
Ключевое слово неточный используется для проверки перевода. неточный автоматически запускает процесс отмены проверки в Phrase.
#, неточный msgid "app_title" msgstr \"Мой программный проект\"