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-файл:

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:

Для генерации 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, плагин также будет отображаться в той же языковой версии.
Заключение
Если вы хотите, чтобы ваш плагин был доступен большой аудитории – интернационализируйте его и сделайте переводы на нужные языки.
Вы можете сделать перевод только в одном языке. Когда вы подготовите ваш плагин к переводу, это предоставит возможность людям самостоятельно перевести ваш плагин на другие языки.
Если у вас есть вопросы, предложения или дополнения, я буду счастлив увидеть их в комментариях.