Для многих разработчиков плагинов важным этапом становится обеспечение поддержки нескольких языков. Это позволяет расширить аудиторию и сделать продукт удобным для пользователей из разных стран. В этой статье мы разберем, как добавить настройку локализации в ваш собственный плагин WordPress, используя стандартные возможности платформы и лучшие практики.
Почему локализация важна в разработке плагинов WordPress
Локализация (или интернационализация) — это процесс адаптации программного продукта к разным языковым и культурным условиям. Для плагинов WordPress локализация означает, что все текстовые строки выводятся на языке пользователя, который определяется настройками сайта. Это увеличивает удобство, снижает количество обращений в поддержку и повышает рейтинг плагина в репозитории.
WordPress предоставляет встроенный API для локализации с функциями __(), _e(), _n() и др., а также систему файлов переводов .po и .mo.
Чтобы сделать плагин локализуемым, нужно:
- Обернуть все текстовые строки в функции локализации.
- Зарегистрировать домен перевода.
- Создать и подключить файлы переводов.
Добавление поддержки локализации в плагин: пошаговое руководство
1. Определяем домен перевода
Домен перевода — это уникальный идентификатор, который связывает текстовые строки с конкретными файлами переводов. Обычно это имя плагина.
Например, если ваш плагин называется wpstudy-localizer, используйте этот домен:
define('WPSTUDY_LOCALIZER_TEXTDOMAIN', 'wpstudy-localizer');2. Оборачиваем все строки в функции локализации
Вместо простого вывода текста используйте функции __() и _e(). Например:
echo __('Привет, мир!', WPSTUDY_LOCALIZER_TEXTDOMAIN);или
_e('Настройки плагина', WPSTUDY_LOCALIZER_TEXTDOMAIN);Для множественного числа используйте _n():
printf(_n('%s запись', '%s записей', $count, WPSTUDY_LOCALIZER_TEXTDOMAIN), $count);3. Загружаем текстовый домен плагина
Чтобы WordPress мог найти файлы переводов, необходимо подключить домен. Это делается с помощью функции load_plugin_textdomain(), обычно в хуке plugins_loaded:
function wpstudy_localizer_load_textdomain() {
load_plugin_textdomain(
WPSTUDY_LOCALIZER_TEXTDOMAIN,
false,
dirname(plugin_basename(__FILE__)) . '/languages/'
);
}
add_action('plugins_loaded', 'wpstudy_localizer_load_textdomain');4. Создаем файлы переводов
Файлы .po и .mo содержат переводы строк. Их удобно создавать с помощью программ Poedit или Loco Translate (плагин для WordPress).
Расположите файлы в папке /languages/ вашего плагина. Например:
wpstudy-localizer-ru_RU.poиwpstudy-localizer-ru_RU.mo— русский перевод.wpstudy-localizer-en_US.poиwpstudy-localizer-en_US.mo— английский.
Poedit позволяет экспортировать эти файлы из исходного кода плагина, сканируя вызовы функций локализации.
Настройка локализации с помощью плагина Clearfy Pro
Плагин Clearfy Pro помогает оптимизировать и обезопасить WordPress, включая управление языками и переводами. Он позволяет легко включать или отключать локализацию, а также интегрируется с популярными плагинами для перевода.
Если вы используете Clearfy Pro, можно автоматически настроить загрузку языковых файлов и избежать конфликтов между плагинами с разными текстовыми доменами.
Пример: создание функции для вывода локализованного сообщения в плагине
Создадим простую функцию, которая будет выводить приветствие с учетом языка пользователя:
function wpstudy_localizer_greet_user() {
$greeting = __('Добро пожаловать на сайт!', WPSTUDY_LOCALIZER_TEXTDOMAIN);
echo '<p>' . esc_html($greeting) . '</p>';
}Вы можете вызвать эту функцию в любом месте сайта, и она отобразит текст на языке, выбранном в настройках WordPress, если для данного языка есть перевод.
Советы по тестированию и отладке локализации
После добавления локализации важно проверить, что все работает корректно:
- Поменяйте язык сайта в настройках WordPress.
- Проверьте, что все строки плагина отображаются на нужном языке.
- Используйте плагины для отладки локализации, например
Say What?, чтобы менять строки без редактирования файлов. - Убедитесь, что файлы .mo загружаются из правильной директории.
Если строка не переводится, проверьте корректность домена перевода и правильность обертки функций.
Выводы и рекомендации по локализации плагинов WordPress
Добавление локализации — это несложный, но важный этап разработки плагина. Используйте встроенный API WordPress, оборачивайте все пользовательские строки, создавайте качественные переводы и тестируйте работу на разных языках.
Для расширенного управления локализацией рассмотрите интеграцию с плагинами, такими как Clearfy Pro или инструментами Loco Translate.
Таким образом, вы сделаете свой плагин удобным и востребованным для пользователей по всему миру.