load_theme_textdomain — локалізація теми wordpress

Прикро, коли бракує слів, особливо, якщо мова йде про локалізацію Вашого сайту, а стандартні мовні пакети не передають всіх барв.

Всі програмісти з порядних сімей знають, що вивід написів у Вордпресі реалізовується не напряму, а такою магічною функцією:

__('Your words', '');

При цьому десь в недрах вордпресу знаходитимуться локалізаційні файли:

/wp-content/languages

Там, під Ваш “Your words“, має бути відведений запис, з перекладом та в ідеалі з адресою використання.

#: wp-comments-post.php:24
msgid "Your words"
msgstr "Щось адекватне на потрібній мові"

Проте, якщо Ви просто відредагуєте один з наявних файлів та додасте слова, котрих бракує (чи відредагуєте щось з переліку), то при наступному оновленні Вас чекатиме неприємний сюрприз.

Замість пристойного перекладу на сторінках бованітиме Your words, а клієнти питатимуть як Ваше здоров’я.

Аби уникнути таких фейлів, індивідуальні файли локалізації теми пакують в саму ж тему. Ну, а для того, щоб система брала їх до уваги, в файл functions.php вставляють ось таку функцію:

// Your custom localisation
function custom_lang_setup(){
 load_theme_textdomain('customLang', get_template_directory() . '/newLang');
}
add_action('after_setup_theme', 'custom_lang_setup');

Зауважте, що для того, аби система точно знала, який переклад використовувати, сам вивід локалізацій має відбуватись в дещо розширеному форматі

__('Your words', 'customLang');

Тобто, в другому параметрі мовленнєвої функції ми використовуємо назву “домену” customLang, який використовуємо у функції розширення мови custom_lang_setup.

Цей підхід є одним із засобів захисту даних при оновленнях системи, іншими словами, це складова Вашого ризик-менеджменту.

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