+7 (831) 262-10-70

+7 (831) 280-82-09

+7 (831) 280-82-93

+7 (495) 545-46-62

НИЖНИЙ НОВГОРОД, УЛ. Б. ПОКРОВСКАЯ, 42Б

ПН–ПТ 09:00–18:00

Перевод файлов PO Gettext

Перевод файлов PO Gettext

Gettext – библиотека для локализации, первоначально разработанная компанией Sun Microsystems, а затем ставшая частью проекта GNU. Отличительной особенностью gettext является то, что для обозначения переводимых строк используются их английские оригиналы, а не специальные идентификаторы. Благодаря этому локализуемой программе не нужны файлы перевода для отображения текста на английском языке. Существуют реализации библиотеки для языков C, C++, Perl, PHP, Python и других.

Отображаемые пользователю и требующие перевода строки могут быть экспортированы из исходного кода программы в форматы POT (Portable Object Template) или PO (Portable Object). Структура этих файлов идентична: файл *.PO может быть создан из *.POT путем заполнения пустых строк текстом перевода и включения в название файла указания на язык. Файлы также могут содержать комментарии программиста, технического писателя или переводчика, начинающиеся с символов /// или #.

/// Comment to translator: Please do not remove placeholder %s.
msgid "My name is %s.\n"
msgstr "Меня зовут %s.\n"

В gettext есть поддержка множественного числа, когда программа выбирает строку перевода в зависимости от значения числового параметра. Выбор строки перевода задается выражением Plural-Forms. В приведенном ниже примере строка [0] будет использоваться при %d равном 1, 21, 31 …, а строка [1] при %d = 2, 3, 4, 22, 23, 24, 32, 33, 34 … Готовые выражения Plural-Forms для разных языков можно найти здесь.

"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100=20) ? 1 : 2);\n"

msgid "Within %d day "
msgid_plural "Within %d days "
msgstr[0] "Через %d день "
msgstr[1] "Через %d дня "
msgstr[2] "Через %d дней "

Перевод файлов PO в текстовом редакторе

Файлы PO можно редактировать и переводить в любом текстовом редакторе. Однако при работе с файлами PO в текстовом редакторе существует опасность повредить структуру документа или оставить без перевода требующие локализации символьные данные, поэтому на практике такой метод используется довольно редко.

Для облегчения работы переводчиков с файлами PO было создано много специальных утилит, самой известной из которых является Poedit.

Перевод файлов PO с использованием систем переводческой памяти

Формат PO поддерживается некоторыми из современных систем переводческой памяти, например, Memsource, MemoQ или SDL Trados Studio.

Memsource

po 1

MemoQ

po 2

Бюро переводов «Альба» имеет большой опыт работы с файлами в формате PO. Наши специалисты смогут выстроить процесс работы над заказом оптимальным и, следовательно, выгодным для заказчика способом.