load_muplugin_textdomain()
Підключає .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_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_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/' );
}
список змін
| З версії 3.0.0 | Введено. |
| З версії 4.6.0 | Функція now tries to load the .mo file from the languages directory first. |
Код load_muplugin_textdomain() 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 );
}