Поддерживаемые типы файлов (Strings)

.PO - gettext files (Strings)

Контент автоматически переведен с английского языка с помощью Phrase Language AI.

Расширения файлов 

.po

Расширение API 

gettext

Импорт 

Да

Экспорт 

Да

Поддержка форм множественного числа 

Да

Поддержка описания 

Да

Варианты формата

Эти параметры могут быть указаны при загрузке и/или скачивании файла. В зависимости от метода загрузки/скачивания (API, CLI, синхронизация репозитория и т.д.), они могут быть указаны в параметрах запроса Загрузить, Скачать или в конфигурационном файле phrase.yml.

  • msgid_as_default

  • is_bilingual_file

.PO (Portable Object) — это стандартный формат файла для локализации с помощью GNU gettext, открытой библиотеки GNU, предназначенной для упрощения процесса локализации. С помощью GNU gettext локализуемые строки извлекаются из исходного кода в файл PO для перевода. Файл .PO представляет собой серию пар ключ-значение. Ключ msgid — это место, где размещается исходная строка, в то время как значение msgstr — это место, куда помещается перевод.

gettext извлекает строки из исходного кода в .POT (шаблон переносимого объекта). На основе определенных языковых стандартов gettext затем преобразует файл .POT в специфичные для локали файлы .PO для загрузки в инструмент CAT для перевода. После перевода gettext преобразует переведенные файлы .PO в файлы .MO (файлы машинных объектов), которые в конечном итоге используются для локализации.

.PO файлы идентичны .POT файлам, за исключением того, что .POT файлы обычно используются gettext для генерации специфичных для локали файлов .PO. Прямой перевод файла .POT и его переименование в соответствии с позже предполагаемой локалью не вызывает проблем. Phrase поддерживает перевод:

  • .PO файлы

  • Двуязычные .PO файлы

  • .POT файлы 

  • Машиночитаемые .MO файлы

msgctxt будет использоваться в качестве префикса ключа, в сочетании с msgid и разделенным ||

Параметры формата

Идентификатор

msgid_as_default

Тип

Булевский тип данных

Загрузить

true

Скачать

false

По умолчанию

false

Описание

Берет контент перевода из значения msgid вместо msgstr

Идентификатор

is_bilingual_file

Тип

Булевский тип данных

Загрузить

true

Скачать

false

По умолчанию

false

Описание

Обе переводы источника и цели будут импортированы из загруженного файла: контент источника будет взят из значения msgid, цель из значения msgstr

Образец кода

msgid ""
msgstr ""
"Язык: английский\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-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 "простой ключ, простое сообщение, так просто."

#, неточный
msgid "unverified_key"
msgstr "Мне нужна проверка, пожалуйста, подтвердите меня!" (In some formats we also export this status)"

Типичный элемент gettext: 

# описание (необязательно)
msgid "ключ-имя"
msgstr "Мой перевод"

gettext Заголовок

Заголовок файла gettext может содержать имя языкового стандарта и данные для форм множественного числа, которые извлекаются во время импорта:

msgid ""
msgstr ""
"Язык: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-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 "меню"
msgid "Открыть"
msgstr "Я перевод"

msgctxt "форум"
msgid "Открыть"
msgstr "Я другой перевод"

Чтобы добавить msgctxt к новому ключу, добавьте его к имени ключа:

my_context||my_key_name

Результирующий gettext вывод:

...
msgctxt "my_context"
msgid "my_key_name"
...

Формы множественного числа

gettext поддерживает множественные формы для перевода:

msgid "новые_сообщения"
msgid_plural ""
msgstr[0] "У вас новое сообщение"
msgstr[1] "У вас %{count} новых сообщений"

неточный

Ключевое слово неточный используется для проверки перевода. Неточный автоматически вызывает процесс непроверки в Phrase.

#, неточный
msgid "app_title"
msgstr "Мой программный проект"
Была ли эта статья полезной?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.