Проблеми локалізації тим wordpress, плагіни для wordpress

Є два основних способи перекладу тим і плагінів WordPress: брудний і чистий, або правильний або неправильний.

Що таке брудний або неправильний переклад тим і плагінів WordPress

Коли переклад виконаний прямо в файлах PHP.

У мене - більш ніж 6-річний досвід перекладу українською та українську мову тим і плагінів WordPress. І я стикався з різними варіантами перекладу. Раніше, ще на самому початку, в основному я робив брудний, або неправильний переклад.

Як виглядає код PHP, готовий до правильної, чистої локалізації? За якими ознаками можна відразу визначити, що тема або плагін WordPress готові або мають правильну локалізацію?

Наявність папки з файлами локалізації

Всі файли локалізації мають розширення. po і .mo

Всі файли локалізації (досить часто) лежать в окремій папці з іменами: / languages, / lang, / local. Бувають і інші назви папок, але такі як я написав - в 99% випадків.

Вам достатньо відкрити тему або плагін, знайти таку папку, заглянути в неї і переконатися, що в ній лежать файли з зазначеними мною вище розширеннями - PO і MO.

Зазвичай файли мають ім'я, яке відповідає короткому формату мови. Російська локалізація - ru_RU, англійська - en_EN (Британія) або us_US (США), німецька - de_DE і так далі.

Також в цій папці досить часто може лежати файл з розширенням .POT

Напевно ви бачили в темах або плагінах цілу купу файлів локалізації на різні мови.

Приклад? Будь ласка. Досить популярний серед власників сайтів на WordPress плагін посторінковою навігації WP-Pagenavi. Скачайте його, відкрийте і знайдіть папку - / lang. Там ви побачите 76 файлів локалізації. І український там теж є.

І тоді треба вміти знайти і перевести на українську мову (якщо текст англійською видно відвідувачам).

Але, моя сьогоднішня публікація не про те, як правильно переводити тему або плагін WordPress, а про те, що досить рідко, але буває, а саме:

Коли я перший раз зіткнувся з такою ситуацією - спочатку не міг зрозуміти, де шукати і в чому причина.

Але коли розібрався, все виявилося дуже просто.

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

Отже, якщо ви зіткнулися з такою ситуацією, заспокойтеся і зробіть так, як я зараз напишу нижче, так як можуть бути варіанти.

Але спочатку - трохи коду PHP. Яка саме функція WordPress включає локалізацію? Ось ця:

load_theme_textdomain ( 'twentyfifteen', get_template_directory (). '/ languages');

І що важливо: ця функція в будь-якій темі WordPress завжди повинна включена в файлі functions.php. Я виділив жирним, так як це - важливе правило.

Отже варіанти, коли може не працювати локалізація:

З цим варіантом помилки я стикаюся найчастіше, коли роблю переклад теми WordPress.

Важливо! Цей запис може містити посилання на плагіни, які до моменту вашого читання і скачування можуть працювати не коректно. Будьте уважні.