load_muplugin_textdomain() WP 3.0.0

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

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

Викликати функцію рекомендується через хук plugins_loaded .

З версії 4.6. функція спочатку намагається завантажити .mo файл із папки WP_LANG_DIR/plugins/зазвичай це /wp-content/language/plugins.

Працює на основі:
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 .

За замовчуванням: ”

Приклади

0

#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__ ) ) ));
}
0

#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/' );
}

список змін

З версії 3.0.0Введено.
З версії 4.6.0Функція now tries to load the .mo file from the languages ​​directory first.

Код load_muplugin_textdomain() WP 6.0.2

function load_muplugin_textdomain( $domain, $mu_plugin_rel_path = '' ) {
	/** Цей filter is documented в wp-includes/l10n.php */
	$locale = apply_filters( 'plugin_locale', determine_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 );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *