PO gettext является системой интернационализации и локализации (i18n), обычно используемой для написания многоязычных программ на операционных системах, подобных Unix.
Только контекстный ключ учитывается при проверке QA при идентификации одного и того же источника.
Действительные .PO файлы являются двуязычными, где msgid содержит исходный текст, а msgstr содержит целевой текст.
Пример:
#: src/name.c:36 msgid "Меня зовут %s.\n" msgstr "Меня зовут %s.\n"
Типы файлов
-
.PO
Поддерживаемые форматы заполнителей
-
c-формат
-
objc-формат
-
sh-формат
-
python-формат
-
python-формат с фигурными скобками
-
elisp-формат
-
librep-формат
-
scheme-формат
-
smalltalk-формат
-
java-format
-
csharp-формат
-
awk-формат,
-
object-pascal-format
-
ycp-формат
-
tcl-формат
-
perl-формат
-
perl-формат с фигурными скобками
-
php-формат,
-
gcc-внутренний формат
-
gfc-внутренний формат
-
qt-формат
-
qt-формат с множественным числом
-
kde-формат
-
boost-формат
-
lua-формат
-
javascript-format
Параметры импорта
-
Сообщения ICU автоматически конвертируются в теги. Когда сегмент содержит встроенные элементы, разбор ICU для этого сегмента пропускается. Сегменты без встроенных элементов разбираются нормально.
ВАЖНО:
Проблемы с тегами являются распространенной причиной ошибок экспорта. Всегда убедитесь, что теги и форматирование правильные перед экспортом файлов, запустив проверки контроля качества.
-
Выбрано по умолчанию и улучшает обработку файлов .PO с тегами
\n, добавляя фактические разрывы строк в экспортируемом файле .PO. -
Правила сегментации будут использоваться для сегментации текста в исходных и целевых элементах.
-
Импортируются HTML теги, содержащиеся в файле. Далее теги можно использовать с настройками импорта файлов .HTML.
-
Применить регулярные выражения, чтобы преобразовать указанный текст в теги.
-
Если включено, записи
языкимножественные формыв заголовке файла PO будут перезаписаны значениями целевого языка задания. Еслимножественные формыотсутствуют в оригинальном файле PO, они будут созданы для цели в завершенном файле. -
Выберите дополнительную информацию о контекстном ключе, которая будет добавлена к msgstr и сохранена как контекст для TM.
-
Установить подтверждение на основе неточности или точности.
-
Установите атрибуты экспорта в зависимости от неточного или точного статуса.
Форма множественного числа
PO Gettext позволяет локализацию множественных форм.
PO GNU Gettext поддерживает только множественные формы с целыми числами. Форма десятичного числа, такая как 1.5 баллов, не поддерживается.
-
Исходный файл должен содержать строку msgid_plural, а также единственное msgid.
-
Спецификация правил множественного числа (формула), определенная в заголовке файла, используется для генерации множественных форм. Если такой спецификации нет, будут использоваться стандартные правила множественного числа Unicode CLDR, основанные на целевых языках, для импорта задания.
-
Файл должен быть импортирован с контекстным ключом сегмента, чтобы правильно использовать функциональность множественных форм.
-
Целевой языковой стандарт и форма множественного числа сегмента будут использоваться в качестве контекстного ключа сегмента и сохранены в TM,
-
Строка msgctxt, если она присутствует в исходном файле, добавляется к контекстному ключу сегмента и сохраняется в TM. Она также будет отображаться в окне контекстного примечания. В случае, если msgctxt пустой, используется только ключевое слово msgstr и сохраняется.
Если импортировано на немецкий и арабский, немецкий целевой файл будет иметь только две формы множественного числа, в то время как арабский целевой файл будет иметь шесть. Правило множественного числа будет автоматически использоваться для каждого целевого языка, и задание будет импортировано с языково-специфическим количеством множественных форм.
msgid "" msgstr "" "MIME-Version: 1.0\n" "Тип-контента: текст/обычный; кодировка=UTF-8\n" "Кодировка передачи контента: 8бит\n" #:ui/gui/409 msgctxt "GUI|Installation" msgid "%d _устройство хранения выбрано" msgid_plural "%d _устройства хранения выбрано"
Этот файл всегда будет иметь 3 формы множественного числа, даже при импорте в немецкий или арабский.
msgid "" msgstr "" "MIME-Version: 1.0\n" "Тип-контента: текст/обычный; кодировка=UTF-8\n" "Кодировка передачи контента: 8бит\n" "Формы-множественного: nplurals=3; plural=(n==1 ? 0 : n>=2 && n<=4 ? 1 : 2);\n""Язык: cs\n" #:ui/gui/409 msgctxt "GUI|Installation" msgid "%d _устройство хранения выбрано" msgid_plural "%d _устройства хранения выбрано" msgstr[0] ""msgstr[1] ""msgstr[2] ""