Главная / Уроки Wordpress / Если не работают файлы перевода WordPress

Если не работают файлы перевода WordPress

Сидел писал новый обзор плагина и в очередной раз столкнулся с проблемой: не работают файлы перевода у плагина! Вроде все на месте, в комплекте идут файлы локализации .po и .mo но плагин отказывается их подхватывать.

И такая ерунда встречается довольно таки часто. Наверное и вы сталкивались с проблемой когда не подключаются файлы перевода у плагина. Надоело это дело и решил разобраться, что к чему. Причину этого безобразия не понял, но решение было найдено.

Чтобы плагин подхватывал файлы перевода надо немного изменить код плагина. Для этого открываем главный исполняемый файл плагина (он может быть разным, нет точного совета) и ищем код PHP который отвечает за языковой файл перевода, в массиве будет присутствовать строка «load_plugin_textdomain» ….

Например в моем плагине до правки это выглядело так:

function nb_multilanguage() {
	$param_array = explode('/', NB_DIR);
 	$folder_name = end($param_array);
	load_plugin_textdomain( 'nb_ml', false, $folder_name . '/languages');
}
add_action('init', 'nb_multilanguage', 1);

Вероятно этот код в разных плагинах может немного отличаться.

Удаляем это безобразие целиком и вместо него вставляем код:

add_action( 'plugins_loaded', 'true_load_plugin_textdomain' );

function true_load_plugin_textdomain() {
	load_plugin_textdomain( 'nb_ml', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}

Обратите внимание на функцию

load_plugin_textdomain( 'nb_ml'

То что в кавычках это название перевода в данном случае ‘nb_ml’, у каждого плагина будет свое имя, скопируйте его в этот код!
Ну и все, после замены кода у меня заработал перевод в плагине 🙂 Буду продолжать писать обзор. Надеюсь еще продолжить тему о капризных переводах.

И не удалите лишнего! 🙂

В тему!

Как добавить водяной знак на фото в WordPress

Как добавить водяной знак на фото в WordPress

Сейчас вроде набирает популярность защита авторских прав. Расскажу как добавить водяной знак или копирайт или логотип на все ...

2 комментария

  1. Здравствуйте! У меня та же проблема. Но я не поняла, о каком конкретно плагине идёт речь в посте. Как он называется и где его искать.

  2. Евгений

    Спасибо за статью.

    К последнему абзацу я бы добавил. Что сами файлы перевода будут называться не как в теме WP где указан только код языка. А как название плагина и код языка. В данном примере файл перевода будет выглядеть так: nb_ml-en_EN и так nb_ml-ru_RU и все будет работать как нужно 🙂

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.