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. |