load_plugin_textdomain()
Підключає .mo файл перекладу із зазначеної папки. Не працює з MU плагінами.
.mo файл повинен називатися: ДОМЕН_ПЕРЕВОДА-ЛОКАЛЬ.mo
, де локаль – це код мови (див. get_locale() ). Наприклад, якщо ДОМЕН_ПЕРЕВОДА = my-plugin і вибрано російську мову ЛОКАЛЬ = ru_RU , файли повинні назватися: my-plugin-ru_RU.mo і my-plugin-ru_RU.po .
Викликати функцію рекомендується через хук plugins_loaded
.
З версії 4.6. функція спочатку намагається завантажити .mo файл із папки WP_LANG_DIR/plugins/
зазвичай це /wp-content/language/plugins
.
Щоб підключити переклад теми, використовуйте load_theme_textdomain() .
load_textdomain()
Хуки з функції
Повертає
true|false
. Поверне false, якщо .mo файл не існує вказаним шляхом. За інших випадках функція поверне true.
Використання
load_plugin_textdomain( $domain, $deprecated, $plugin_rel_path );
-
$domain
(рядок) (обов’язковий) - Унікальний ідентифікатор для одержання рядка перекладу.
-
$deprecated
(рядок) -
Скасований аргумент працює до версії 2.7. Шлях подібний до ABSPATH, до
.mo файлу.
Типово: false -
$plugin_rel_path
(рядок) Шлях до каталогу .mo файлу щодо WP_PLUGIN_DIR .
Якщо шлях не вказаний, то буде коренева директорія плагінів WP_PLUGIN_DIR . Тобто. шлях до файлу буде таким: WP_PLUGIN_DIR/domain-ru_UA.mo
Типово: false
Приклади
#1 Реєстрація файлу перекладу для плагіна
Мається на увазі, що цей код буде розташований в основному файлі плагіна або файлу, який знаходиться в кореневій директорії плагіна. Якщо це не так, __FILE__ потрібно замінити на відповідний шлях.
Файл перекладу повинен лежати у каталозі плагіна і називатися: my-plugin-ru_RU.mo
.
add_action( 'plugins_loaded', 'myplugin_init'); function myplugin_init(){ load_plugin_textdomain( 'my-plugin', false, dirname( plugin_basename( __FILE__ ) ) )); }
#2 Якщо ми хочемо розмістити файл перекладу .mo в підпапку languages :
add_action( 'plugins_loaded', 'myplugin_init'); function myplugin_init() { load_plugin_textdomain( 'my-plugin', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); }
#3 Реєстрація файлу перекладу для MU плагіна
У WP є спеціальна функція load_muplugin_textdomain() .
список змін
З версії 1.5.0 | Введено. |
З версії 4.6.0 | Функція now tries to load the .mo file from the languages directory first. |