load_muplugin_textdomain()
Подключает .mo файл перевода для обязательных плагинов (mu-plugins) из указанной папки.
MO файл должен называться: ДОМЕН_ПЕРЕВОДА-ЛОКАЛЬ.mo
. Например my-plugin-ru_RU.mo
, где my-plugin домен перевода и ru_RU локаль перевода. Какие бывают локали см. в get_locale().
Вызывать функцию рекомендуется через хук muplugins_loaded. Но можно и позднее, например на plugins_loaded.
С версии 4.6. функция сначала пытается загрузить .mo файл с папки WP_LANG_DIR/plugins/
обычно это /wp-content/language/plugins
.
-
Переводы Темы подключается через load_theme_textdomain().
- Переводы обычного Плагина подключается через load_plugin_textdomain().
Хуки из функции
Возвращает
true|false
. Вернет false, если .mo файл не существует по указанному пути. В остальных случаях функция вернет true.
Использование
load_muplugin_textdomain( $domain, $mu_plugin_rel_path );
- $domain(строка) (обязательный)
- Уникальный идентификатор для получения строки перевода.
- $mu_plugin_rel_path(строка)
Путь до каталога .mo файла относительно WPMU_PLUGIN_DIR.
Если путь не указан, то им будет корневая директория MU плагинов WPMU_PLUGIN_DIR. Т.е. путь до файла будет такой: WPMU_PLUGIN_DIR/domain-ru_RU.mo.
По умолчанию: ''
Примеры
#1 Регистрация файла перевода для MU плагина
Файл перевода должен лежать в каталоге обязательного плагина и должен называться: my-plugin-ru_RU.mo
.
add_action( 'muplugins_loaded', 'myplugin_init' ); function myplugin_init(){ load_muplugin_textdomain( 'my-plugin', dirname( plugin_basename( __FILE__ ) ) ); }
#2 Если нужно расположить файл перевода .mo в подпапку lang:
Файл перевода должен лежать в подпапке lang обязательного плагина и должен называться: my-plugin-ru_RU.mo
.
add_action( 'muplugins_loaded', 'myplugin_init' ); function myplugin_init() { load_muplugin_textdomain( 'my-plugin', dirname( plugin_basename( __FILE__ ) ) . '/lang/' ); }
Заметки
- Global. WP_Textdomain_Registry. $wp_textdomain_registry WordPress Textdomain Registry.
Список изменений
С версии 3.0.0 | Введена. |
С версии 4.6.0 | The function now tries to load the .mo file from the languages directory first. |