WordPress L10n: как сделать локализацию плагина

В первой части серии статей о WordPress плагинах i18n and l10n мы рассказали о том, как локализовать плагин для WordPress.
Вторая (и заключительная) часть представляет собой руководство к действиям по подготовке плагина к переводу, подобное тому, как было с локализацией и переводом плагина на новый язык.

Процесс подготовки плагина к переводу довольно прямолинеен. Во-первых, вам необходимо сгенерировать .pot файл. Этот файл используется для осуществления локализации. .pot-файл содержит оригинальные строчки текста (на английском языке) вашего плагина.

Вот пример содержимого файла .pot-файла:

#: plugin-name.php:123 msgid "Welcome to SitePoint" msgstr ""

Переводчик, найдя вхождение строки Welcome to SitePoint (в строке 123 вашего плагина) на немецком языке, добавит его в файл:

#: plugin-name.php:123 msgid "Welcome to SitePoint" msgstr "Willkommen auf SitePoint"

Генерация POT файла

Как упоминалось ранее, POT-файл необходим для осуществления локализации программой – переводчиком.
Обратите внимание: перед генерацией POT-файла, убедитесь, что вы подготовили плагин для мультиязыкового использования.

Есть два варианта генерации POT – файла вашего плагина.

Репозиторий плагинов для администраторов

На странице официального репозитория плагинов WordPress есть утилита для генерации POT файлов, которая находится на странице Admin каждого плагина.

Для доступа к странице Admin, авторизуйтесь в репозитории и нажмите зеленую кнопку Admin, расположенную в сайдбаре:

Репозиторий плагинов для администраторов

Следуйте краткой инструкции, изложенной ниже, чтобы научится легко генерировать POT файлы, используя инструмент администратора.

  • Нажмите Continue в секции Generate POT file:
легко генерировать
  • Затем нажмите на Get POT, для того, чтобы скачать POT-файл:
нажмите на  Get POT

Poedit

Есть несколько программ Gettext – переводчиков, но самая популярная среди программ для WordPress плагинов — Poedit. Профессиональная версия Poedit позволяет создать файл PO / POT одним щелчком мыши.

Если у вас нет профессиональной версии, вы можете использовать программу Blank POT.

Поместите файл POT в директорию languages вашего плагина и двойным щелчком по данному файлу откройте его в Poedit. Нажмите Update в Poedit для обновления строк POT файла:

для обновления строк

И, наконец, нажмите File > Save или Ctrl + S для сохранения изменений.

Если у вас есть профессиональная версия этой утилиты, генерация POT-файла осуществляется следующим образом:

  • Откройте меню File > New WordPress translation и выберите папку с плагином;
  • Poedit проанализирует всю директорию и найдет строчки для перевода;
  • Выберите язык перевода во всплывающем окне;
  • Ctrl + S и файл будет сохранен как.pot;
  • Вы также можете сохранить файл как .po и впоследствии переименовать его в .POT.
для сохранения изменений

Файлы PO и POT имеют схожий формат. Есть всего несколько отличий между ними:

  • .pot используется переводчиком и это не PO-файл.
  • Результирующий файл с переводом — .po файл и .mo файл – это скомпилированный файл.

Приложить файл POT вместе с плагином — хорошая идея. Переводчикам не придется просить вас об этом.

Плагин L10n

Процесс локализации заключается в переводе и установке многоязычности для плагина.

Как локализовать плагин

Для локализации плагина берем файл POT плагина, открываем его в текстовом редакторе, и в секции msgstr вводим перевод. Перевод заключаем в кавычки.

Имя файла давайте согласно формату my-plugin-{locale}.po, где {locale} код языка и/или код страны, который вы определили в константе WPLANG файла wp-config.php. К примеру, код для немецкого языка — de_DE. Значение my-plugin – название плагина.

Помните о том, что из .po файла генерируется файл .mo (который и используется для перевода платформой WordPress). Теперь перейдем, непосредственно к генерации MO файла из файла PO.

Онлайн утилиты для конвертации PO в MO

Есть парочка онлайн утилит для конвертации .po файлов в .mo файлы. Лично я использую tools.konstruktors.com:

Онлайн утилиты для конвертации PO в MO

Для генерации MO файла из PO-файла, загружаем .pot файл. Утилита автоматически сгенерирует и предоставит .mo файл для скачивания.

Используем Poedit для L10n

Poedit представляет собой утилиту для перевода плагинов с простым интерфейсом. Она также может генерировать MO файлы из PO файлов.

Для локализации или перевода плагина на новый язык с помощью Poedit, следуйте инструкции, изложенной ниже:

  • Откройте файл .pot с помощью Poedit.
  • Нажмите на строку, которую хотите перевести и введите перевод в текстовой области, помеченной надписью Translation.
  • Когда весь перевод будет готов, сохраните файл, дав ему имя в формате my-plugin-{locale}.po. Например, espw-plugin-de_DE.po, где espw-plugin – текстовый домен, а de_DE – код языка.

Когда вы сохраните PO-файл, файл MO будет создан автоматически.

Программа выдаст вам файлы локализации (MO и PO файлы). Скопируйте MO (.mo) файл в папку language вашего плагина для того, чтобы WordPress мог его использовать.

Когда вы будете использовать локализованную версию WordPress, плагин также будет отображаться в той же языковой версии.

Заключение

Если вы хотите, чтобы ваш плагин был доступен большой аудитории – интернационализируйте его и сделайте переводы на нужные языки.

Вы можете сделать перевод только в одном языке. Когда вы подготовите ваш плагин к переводу, это предоставит возможность людям самостоятельно перевести ваш плагин на другие языки.

Если у вас есть вопросы, предложения или дополнения, я буду счастлив увидеть их в комментариях.

Перевод статьи «WordPress L10n: How to Translate Your Plugin» был подготовлен дружной командой проекта Сайтостроение от А до Я.