Проблемы локализации тем WordPress | Плагины для WordPress

Опубликовано AlaVita 29.04.2017
Рубрики: Компьютерное
Метки:

Столкнулась я с одной проблемой при настройке своего блога, пытаясь перевести понравившуюся тему на русский язык. Точнее, перевести-то я её перевела (к счастью, дизайнер темы встроил такую возможность), но перевод не работал, и мне очень помогла найденная в Интернете статья. Спасибо автору! Вот выдержка главного из неё.

Все файлы локализации лежат в отдельной папке темы с именами: /languages, /lang, /local с расширениями — PO и MO.

Обычно файлы имеют имя, которое соответствует краткому формату языка. Русская локализация — ru_RU, английская — en_EN (Британия) или us_US (США), немецкая — de_DE и так далее.

Также в этой папке довольно часто может лежать файл с расширением .POT. Этот файл — программный, с помощью которого можно запустить процесс локализации на любой язык.

Иногда бывает так:

  1. Есть папка с файлами локализации или фалом POT
  2. Вы делаете перевод на русский (с помощью плагина или специального редактора Poedit)
  3. Сохраняете файл с расширением PO
  4. Создаете автоматически файл с расширением MO
  5. Все файлы лежат в папке локализации
  6. Но! Перевод не работает!

Почему?

Какая именно функция WordPress включает локализацию? Вот эта:

load_theme_textdomain ( 'theme-name', get_template_directory () . '/languages' );

И что важно: эта функция в любой теме WordPress всегда должна включена в файле functions.php.
Итак варианты, когда может не работать локализация:

Вариант 1 — автор темы или плагина мог забыть создать папку для хранения языковых файлов. Проверьте и если такой папки нет (как имя папки в функции) — создайте эту папку.

Вариант 2 — автор сделал иначе: папку создал, но путь к папке не прописал в функции, или — папка /lang, а в функции — имя папки, например /languages.

Вариант 3 — автор прописал функцию подключения локализации не в файле functions.php, а в другом.

Вариант 4 — автор просто забыл добавить функцию подключения локализации.

Источник: Проблемы локализации тем WordPress | Плагины для WordPress

От себя добавлю Вариант 5иногда уже существующие файлы темы названы так theme-name-en_CA.mo  (так было у меня), что является неверным. Согласно документации на сайте WordPress, файлы обязаны называться только по названию локали. Когда я переименовала в ru_RU.mo, всё заработало. Возможно, в других темах это было учтено в functions.php, но если это первый перевод, то для автоматического его подхватывания самим движком WordPress надо делать вот так.

Поделиться с друзьями

Добавить комментарий