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 ); }