Intereting Posts
Как создать сайт wordpress, который будет иметь сервисы и продукты на основе местоположения? Как показать пункт меню панели управления только пользователям с определенными возможностями? Как добавить rel nofollow к этому? хочу прекратить удаление из моего сообщения Добавить внешний js-файл в нижний колонтитул с идентификатором Использовать основную тему CSS для внешней обертки в столбцах категории-списка? Установите поддомены в следующем шаге Как проверить эту устаревшую функцию Расширенные пользовательские поля в functions.php JavaScript в WordPress Customizer Странное поведение при программном применении терминов / term_taxonomies get_the_foo () в цикле – выполняет ли он другой запрос? Получение пользовательского изображения типа post с помощью 'get_post_custom' Как получить значение через get_option, когда параметр_value хранится в многомерном массиве? Как изменить текст комментария «допустимые теги» в плагине?

перевод не работает с text_domain

Я пытаюсь перевести свой собственный плагин.

Я могу перевести мой плагин, если поместить fr_CA.po/.mo в мои wp-content\languages\plugins вручную.

Но я хотел бы иметь возможность поместить мой .po / .mo в мою папку плагинов в "myplugin/languages"

Ну, в основном файле, у меня есть:

  * Text Domain: myplugin * Domain Path: /languages/ 

мой текст

  add_action( 'init', 'myplugin_load_textdomain' ); function myplugin_load_textdomain() { load_plugin_textdomain( 'myplugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); } 

все мои .po / .mo находятся в этой папке myplugin/languages/

Мой WordPress находится в fr_CA (WordPress 4.7.2-fr_CA)

У меня есть fr_FR.po /fr_CA.po (и их .mo ).


Как я уже говорил ранее, мой плагин меняет язык, если я помещаю свой .po/.mo в wp-content\languages\plugins и меняю fr_FR(.mo/.po) на myplugin-fr_FR(.mo/.po)

но я хотел бы сохранить мой .po/.mo в моей папке плагинов.

Кто-нибудь знает, в чем проблема?

Solutions Collecting From Web of "перевод не работает с text_domain"

Из исходного кода load_plugin_textdomain становится очевидным, что функция сначала будет искать $domain . '-' . $locale . '.mo' $domain . '-' . $locale . '.mo' $domain . '-' . $locale . '.mo' (так, это myplugin-fr_FR.mo ) в WP_LANG_DIR . '/plugins/' . $mofile WP_LANG_DIR . '/plugins/' . $mofile WP_LANG_DIR . '/plugins/' . $mofile .

Только тогда, когда файла нет, он начнет искать указанный путь и если его нет в главном каталоге плагина. Итак, если вы не получаете mo-файл в указанном каталоге, то он либо не существует, либо вы используете неправильный путь.

Я не вижу, сделали ли вы какие-либо опечатки, но вместо комбинирования dirname и plugin_basename вы можете захотеть придерживаться plugin_dir_path чтобы предоставить правильный каталог.