Многие блогеры почему то предлагают переводить тему WordPress путем непосредственного редактирования ее файлов. Я считаю этот способ не правильным, поскольку после обновления темы — придется переводить заново. Кроме того, если понадобится перевести тему на несколько языков, придется создать несколько файлов с разным текстовым содержимым. Нужно идти другим путем.
Сегодня мы рассмотрим перевод темы, путем создания *.po и *.mo файлов из существующего POT-файла. Аналогичным способом можно перевести и плагин. Заинтересованных прошу под кат.
Для начала скачаем какую-нибудь тему. Учтите, она должна быть «готова к переводу». Что это значит? Текст в теме должен выводиться с помощью специальных функций, которые мы рассмотрим в следующей статье. А пока просто будем искать тему, которая имеет метку «translation-ready». Мне попалась под руку PageLines версии 1.0.6. Вот ссылка. Скачиваем, распаковываем архив.
Теперь нам понадобится программа Poedit. Ее можно скачать с официального сайта. Устанавливаем программу и запускаем. Если вы плохо знакомы с английским, поменяйте настройки интерфейса программы на русский. Теперь зайдем в директорию с темой. Там есть папка languages. В ней находится файл с расширением *.pot. Он нам и нужен. В программе Poedit выберем в меню Файл -> Создать каталог из POT-файла. После выбора самого файла откроется окно настроек. Заполните его аналогично следующему скриншоту:
Поле «формат множественного числа» можно не указывать. А можно указать такой же как и в стандартных темах WordPress’a, то есть nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2. Этот формат определяет преобразование слов и словосочетаний в нужную форму в соответствии языку. Жмем ОК и программа предложит куда сохранить файл *.po. В той же папке после сохранения она будет создавать файл *.mo с тем же именем. Для того, что бы WordPress его подхватил, нужно дать ему имя ru_RU.po. Сохраняем файл в папке languages нашей темы. Теперь Poedit загрузил фразы, и можно приступить к переводу:
Выделяем фразу, в нижней части программы в верхнем текстовом поле появляется значение оригинала, а в нижнем вы можете ввести свой перевод. После перевода, в списке фраз напротив соответствующей фразы появится перевод.
Примечание: не удаляйте из перевода служебную информацию! Например, в фразах могут встречаться переменные. Будьте внимательны!
После окончания перевода вам нужно сохраниться, что бы автоматически создался файл ru_RU.mo. Теперь осталось залить тему на хостинг. Если у вас по каким либо причина перевод не отображается, убедитесь, что в конфигурационном файле WordPress’a указана русская локаль и что вы корректно дали имена файлам *.po и *.mo.
В следующей статье я расскажу больше о *.po и *.mo файлах и покажу как перевести плагин WordPress’a если у него нету POT-файла.


У меня ru_RU.po и ru_RU.mo в плагине не подхватываюся. Что делать?
А плагин точно поддерживает перевод?
Проверьте что в файле wp-config.php в основной папке сайте
есть функция
define(‘WPLANG’, ‘ru_RU’);
ru_RU в данном случае — это имя файла языкового, если другое меняйте либо в wp-config.php либо имя файла .po и .mo
Помогите кто может — я сайт перевел через poedit — но часть сайта осталась все равно на англ языке — че делать ?
Другой шаблон переводил — все норм
Скорее всего проблема в самом шаблоне. Видимо местами для вывода текста, не используются мульти-языковые функции.
Вот здесь достаточно подробно описан перевод темы WorPress с использованием POEDIT
Кстати, если переводится тема, то ее языковые файлы не работают с плагинами. Для перевода плагинов используется языковой файл непосредственно вордпресса.
спасибо. разобрался — помогло! а то в коде ковыряться уже, порядком, поднадоело.
Рад был помочь.
Спасибо за статью! Очень познавательно. Помогла в настройках языковых файлов для темы.
Пожалуйста :).
Спасибо, то, что нужно =)
Пожалуйста.
Чушь.
Плохо описал
Лучше сделай гайд
Спасибо за мнение :).
норм перевёл себе темку)
Дякую, допомогло!
А як перенести щоб працювало на платформі wordpress.com ?
Наприклад для сайту http://avsu.wordpress.com ?
Пожалуйста.
На счет платформы wordpress.com ничего не скажу, так как не знаю. Увы.
Автор рассказал о том, как самому локализировать тему и многим эта статья сильно поможет. Но есть люди, которые не хотят на это тратить свое время и разбираться во всех тонкостях этого не минутного процесса. Если вы относите себя к этой второй группе, то тогда предлагаю свои услуги по русификации тем для WordPress.
Круто!
Кстати, зацените мой блог на английском. Ссылка в шапке.
Сколько стоит перевод темы?
Я не в курсе цен, но можете со мной связаться (страница «Контакты») и мы договоримся.
Спасибо!!!! Очень помог а я думал что поедит не читает такой формат. Все получилось, благодарю да совет.
Пожалуйста.
а слабо подсказать как обновить перевод темы? то бишь при установке я всё сделал как написано, но после обновления темы в шаблоне появились новые фразы, соответственно, в ru_RU.po стало не хватать переведённых фраз. как их добавить? или может как-то можно сварганить новый ru_RU на основе нового pot и старого ru_RU?
сам спросил, сам отвечу. тупил ибо в текущей на данный момент версии Poedit, а именно 1.6.5, не работает Память Переводов, по-крайней мере у меня. скачал версию 1.4.3 и всё стало норм, в Настройках нужно выбрать язык базы, сгенерировать Память Переводов с помощью .po файлов, которые уже имеются и запустить «Перевод с помощью ПП» в нужном файле.
Отлично! Спасибо!
Кстати, зацените мой блог на английском. Ссылка в шапке.
Спасибо за статью. Долго крутил шаблон и .po и .mo, но все равно пришлось внутри ковыряться. Шаблон не был предрасположен к переводу:)
Рад, что помог)
Выручили, спасибо)
Пожалуйста)
Русифицирую тему, плагин БЕСПЛАТНО. Моя страница вк. Жду Вас 🙂
Еще занимаетесь этим? 🙂
Кстати, зацените мой блог на английском. Ссылка в шапке.
А даст ли это мультиязычность? Я например хочу 3 вариант темы сделать, анг русский и турецкий. как сделать так чтобы была мультиязычность?
Это более сложный момент, чем тот, что описан в статье. Ищите в интернете как реализовать мультиязычность в WordPress.
Спасибо, все предельно кратко и понятно!
Пожалуйста, рад помочь.
Кстати, зацените мой блог на английском. Ссылка в шапке.
А почему вы рекомендуете это делать именно POT файлом, а не плагином? В чем основная разница?
К сожалению вовремя на ваш вопрос не ответил. Тут скорее просто пример как именно POT переводить.
Хотите можно и плагином.
Кстати, зацените мой блог на английском. Ссылка в шапке.