WordPress как на ладони
wordpress jino

load_muplugin_textdomain() WP 3.0.0

Подключает .mo файл перевода для обязательных плагинов (mu-plugins) из указанной папки.

.mo файл должен называться: ДОМЕН_ПЕРЕВОДА-ЛОКАЛЬ.mo, где локаль это код языка (см. get_locale()). Например, если ДОМЕН_ПЕРЕВОДА = my-plugin и выбран русский язык ЛОКАЛЬ = ru_RU, то файлы должны назваться: my-plugin-ru_RU.mo и my-plugin-ru_RU.po.

Вызывать функцию рекомендуется через хук muplugins_loaded.

С версии 4.6. функция сначала пытается загрузить .mo файл с папки WP_LANG_DIR/plugins/ обычно это /wp-content/language/plugins.

Для подключения перевода темы, используйте load_theme_textdomain().

Для подключения перевода обычного плагина, используйте load_plugin_textdomain().

Работает на основе: load_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_plugin_textdomain( 'my-plugin', dirname( plugin_basename( __FILE__ ) ) ); 
}

#1.2 Если нужно расположить файл перевода .mo в подпапку lang:

Файл перевода должен лежать в подпапке lang обязательного плагина и должен называться: my-plugin-ru_RU.mo.

add_action( 'muplugins_loaded', 'myplugin_init' );
function myplugin_init() {
	 load_plugin_textdomain( 'my-plugin', dirname( plugin_basename( __FILE__ ) ) . '/lang/' );
}

Код load_muplugin_textdomain: wp-includes/l10n.php VER 4.9.8

<?php
function load_muplugin_textdomain( $domain, $mu_plugin_rel_path = '' ) {
	/** This filter is documented in wp-includes/l10n.php */
	$locale = apply_filters( 'plugin_locale', is_admin() ? get_user_locale() : get_locale(), $domain );

	$mofile = $domain . '-' . $locale . '.mo';

	// Try to load from the languages directory first.
	if ( load_textdomain( $domain, WP_LANG_DIR . '/plugins/' . $mofile ) ) {
		return true;
	}

	$path = WPMU_PLUGIN_DIR . '/' . ltrim( $mu_plugin_rel_path, '/' );

	return load_textdomain( $domain, $path . '/' . $mofile );
}

Cвязанные функции

Из метки: textdomain (файлы переводов po mo)

Еще из метки: localize (локализация Internationalization)

Еще из раздела: Локализация

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться