Простой перевод темы WordPress на русский язык

Простой перевод темы WordPress на русский язык
Локализация темы Wordpress (po и mo файлы)
Всем привет. В этой статье я хочу описать процесс перевода тем (шаблонов) CMS WordPress с одного языка на другой. Если вы купили премиум шаблон на ThemeForest, то скорее всего он не поддерживает русский язык, поэтому навык перевода темы WordPress вам будет крайне полезен. Как правило, чаще всего, необходимо выполнить перевод с английского языка на русский язык. Что же, я покажу вам как это делается. Более того, это намного проще, чем кажется на первый взгляд. Важно уметь локализовать тему — правильно, ведь, если перевод темы WordPress сделать не правильно, то при следующем обновлении темы или движка ваш перевод просто исчезнет. А нам это не нужно.

Редактор Poedit — редактирует *.po и *.mo файлы

Итак, приступим к делу. У нас есть рабочий сайт с установленной темой WordPress на английском языке. То есть, мы сейчас запускаем сайт и видим, что все слова в новом шаблоне написаны на английском языке. Не беда, все это легко можно исправить, а для этого нам понадобится специальная программа-редактор файлов локализации WordPress, называется она — Poedit. Скачать программу Poedit можно с официального сайта.  На этом сайте вы можете скачать инсталяторы данной программы для платформ Windows и MacOS. Кроме того там же можно скачать архив данной программы для установки под Linux. Как видите, данный продукт — кроссплатформенный. Для Windows и MacOS проблем с установкой редактора Poedit возникнуть не должно, если вы работаете в ОС Linux, то для установки Poedit, вы можете воспользоваться командой:

sudo apt-get install poedit

Итак, после установки данной программы — запускаем её. В зависимости от того, в какой ОС вы работаете, внешний вид программы будет немного отличаться. Вот примеры:

 

Теперь вы знаете как выглядит редактор Poedit. Но что это за программа? С помощью этой программы мы сможем локализовывать любую тему WordPress. Под словом «локализовать» я имею ввиду, перевод темы с базового на любой другой язык, какой только сами захотите.

Файлы *.po и *.mo

Для начала, вам необходимо знать, что языковая локаль WordPress содержится в объектном файле, с расширением  *.mo. То есть именно в этом файле содержатся все слова и предложения шаблона в закодированном виде. Напрямую этот файл редактировать нельзя, но зато мы сможем создать такой файл воспользовавшись  программой Poedit. Давайте найдем такой файл у себя в теме WordPress. В моей теме этот файл лежит в этой директории /wp-content/themes/dante/language.

Файлы локализации WordPress

На скриншоте выше красными стрелочками показаны mo-файлы, эти файлы понимает только WordPress, мы не можем их прочитать и напрямую отредактировать. Нам следует обратить внимание на po-файлы, которые выделены зелеными стрелочками. Открыв po-файл и отредактировав как следует мы сможем создать mo-файл. Обратите внимание на имена файлов, они не случайны, имя файла задается по кодовому названию языка и региона. Для русского языка имя po-файла должно быть таким — ru_RU, для украинского языка таким — uk_UK. Для других языков правила именования аналогичны, подробнее с ними можно ознакомиться тут.

Так как нам нужно перевести тему с английского на русский язык, копируем po-файл - en_US и переименовываем в ru_RU. Теперь список файлов будет такой:

Теперь когда у нас есть po-файл, его можно открыть программой Poedit и наконец уже начать переводить тему на русский язык. Чтобы приступить к локализации темы, выполните следующие шаги:

  • Откройте Poedit, если он еще не открыт у вас.
  • В редакторе нажмите на кнопку «Открыть», в появившемся окне необходимо указать адрес к po-файлу, после этого — откройте его.
  • В рабочую область редактора должно загрузиться содержимое po-файла.

Учимся переводить тему WordPress

Приступим к переводу темы WordPress на русский язык. Для этого в редакторе для каждого английского слова, предложения пишем перевод в поле перевод. Вот так это выглядит:

Из верхней картинки видно, что есть две колонки — «Исходный текст», «Translation», изначально всегда заполнена одна, первая. Вторую колонку нужно заполнить нам, это и есть перевод. То есть сначала выбираем строку, в примере указана Comments, и в нижнем поле редактора пишите для нее перевод, в примере — Комментарии. Не забывайте почаще сохранять свой перевод, примечание, при первом же сохранении создаться mo-файл с русской локализацией. После чего вы сразу можете перезагружать страницу с темой и смотреть на свой перевод, он автоматически подтянется в шаблон WordPress-темы.

Кстати, хочу сказать, что не обязательно переводить весь файл, достаточно перевести только те строки, которые вам 100% нужны, остальное переводить по мере надобности. Я так говорю, потому что также поступил со своим шаблоном для блога. Как видите блог сейчас на русском языке, хотя и не полностью, но ведь вы этого не видите и не знали бы, если бы я не сказал.

Как видите, шаблон этого блога изначально был полностью на английском языке, а сейчас это не так. Поэтому, возьмитесь прямо сейчас за перевод своего шаблона, это не так страшно как кажется. Кроме того, могу сказать, что точно также переводится любой плагин WordPress, для каждого плагина есть свои po и mo файлы.

Обязательно поделитесь этой страницей со своими друзьями с помощью кнопок социальных сетей, если конечно вам понравилась эта статья. Прочитав которую, вы должны научиться переводить любую тему или плагин для WordPress самостоятельно. Если что-то не понятно, задавайте вопрос в комментариях. Удачи!

9 Комментариев

  1. seofine 3 года назад

    Ни в коем случае не пытайтесь руссифицироавть тему или плагин WordPress правками исходного кода, это не безопасно и работать будет до первого апдейта плагина или темы. Не говоря о том, что вы допустите не один десяток ошибок в коде, если конечно плохо понимаете в программировании.

  2. Олег 3 года назад

    До этого пользовался всегда cms dle, и там было всё удобнее. Для того чтобы установить русский язык, нужно было закинуть текстовый файл и выбрать в панели управления его. А тут все намного сложнее, около часа возился с тем, чтобы установить русский язык. Но в результате у меня все получилось, я перевел тему на русский язык. И в конце понял, что тут тоже легко, просто я делал это первый раз.

  3. Макс 3 года назад

    Тема (Cherry) не реагирует на перевод. Переводил с помощью Codestyling Localization, потом с Poedit. Закидывал переведенные файлы .po и .mo в файл lang темы и в папку languages в wp-content корня сайта.Менял и присваивал WPLANG значение ‘ru_RU’.*/ define(‘WPLANG’, ‘ru_RU’); Менял с ru_RU.po на ru.po  и  с ru_RU.mo на ru.moНе реагирует и все тут. И эта тема не первая… Хоть убей не пойму в чем дело, может вы сталкивались с чем то подобным???

  4. Игорь 3 года назад

    Я пользуюсь плагином CodeStyling Localization.

    Переводит все,темы,плагины.

  5. Эльвира 2 года назад

    Автор, спасибо большое тебе! Это то, что искала! А то я с помощью notepad пыталась эти фалы открыть, потом карякули были вместо перевода. Ты прям очень помог! Спасибо!

  6. Артём 1 год назад

    Подскажите как быть.

    Есть шаблон. И если в нем вбить меню в админке на русском языке, то на сайте он не отображается. Это нужно делать перевод через файлы как указано тут или еще что то?

  7. Артём 1 год назад

    В общем проблема оказалась в не стандартных шрифтах, которые заменяли стандартные через cufon.

    И еще примечание по блогу. Сижу через Chrome в поле куда пишешь текст, необходимо кликнуть почти под самый край формы иначе, форма не берет фокус и нельзя писать текст.

    Если же отвечать на сообщение другого пользователя, то попасть в это поле можно только переключением фокуса через «Tab».

    А за статью спасибо ничего сложного нету, хоть это и было не совсем то что я искал :)

  8. Cat 12 месяцев назад

    Тема  не реагирует на перевод. Переводил с помощью Poedit Pro.

    Пробовал на нескольких темах результата нет вообще или переводятся не всё, а только отдельные слова. Что может быть не так? 

  9. Cat 11 месяцев назад

    Решил проблему с переводом темы. uk_Ua.po и uk_Ua.mo изменил на uk.po и uk.mo соответственно.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_bye.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_good.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_negative.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_scratch.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_wacko.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_yahoo.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_cool.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_heart.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_rose.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_smile.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_whistle3.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_yes.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_cry.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_mail.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_sad.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_unsure.gif 
http://seofine.ru/wp-content/plugins/wp-monalisa/icons/wpml_wink.gif 
 

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img src="" alt="" class="" width="" height="">