Перевод темы WordPress на русский (русификация шаблона). Poedit

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

Перевод темы WordPress
Сам процесс русификации шаблона не такой уж и сложный, в чем вы скоро сами убедитесь.

Для того, чтобы перевести WordPress тему на русский или какой-либо другой язык, понадобится либо программа Poedit, которую можно скачать по ссылке ниже. Либо Вордпресс плагин CodeStyling Localization, который позволит без труда сделать русскую локализацию WordPress шаблона или плагина.

Технология локализации шаблонов

Для локализации WordPress используется библиотека GNU gettext, которая кроме интернационализации, поддерживает функцию множественного числа, то есть с помощью специальной функции программа использующая технологию GNU gettext сможет правильно определить, как правильно писать:  «5 комментариев» или «5 комментарий». Вот сама функция для русского языка: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10=20) ? 1 : 2).

Еще один положительный момент – программы использующие данную библиотеку создают файлы перевода, изменение которых никак не повлияет ни на структуру WordPress, ни на структуру шаблона. Что дает существенный плюс, в плане того, что после каждого обновления темы не придется обновлять и перевод.

Несмотря на то, что данная технология является, так сказать, стандартом при разработке тем, далеко не все из них ее поддерживают. Виной тому – разработка тем сторонними разработчиками. И не все из них заботятся о возможности перевода на другой язык. О переводе таких шаблонов будет отдельная статья.

Узнать готов ли WordPress шаблон к переводу можно на сайте разработчика темы, либо непосредственно скачав и установив ее.

Тема доступная для русификации будет иметь в папке с шаблоном одну из следующих папок: languages или translation. В них будут расположены файлы перевода на различные языки с расширением .po и .mo. Как их создать читайте ниже.

Как перевести тему WordPress. Программа Poedit

Для перевода понадобится программа Poedit.

Poedit скачать.

Итак, после установки программы, следует создать каталог для перевода. Создается он из .pot или .po файла в папке с темой, которую следует перевести.

Используя «Файл – New from POT\PO file…» ищем .pot файл в папке с темой, если его нет, то .po.  Не забудьте при поиске выбрать соответствующий формат.

открыть файлВыберите необходимый язык для перевода:

выбрать язык РусскийОткрыв этот файл, вы увидите список фраз доступных для перевода.

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

В помощь тем, у кого проблемы с языками - https://translate.google.com.ua/.

Программа PoeditДостаточно просто выбирать интересующие строки и в поле «перевод» вбивать русский перевод фразы.

% - это значок переменной, если в исходном варианте он есть, то и в переводе должен обязательно присутствовать.

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

Важный момент:  если сам движок WordPress не на русском языке, то в файле wp-config.php, расположенном в корневой директории сайта необходимо исправить язык в строчке define('WPLANG', 'ru_RU');

Плагин для перевода темы WordPress. CodeStyling Localization

А теперь рассмотрим перевод WordPress темы с помощью плагина CodeStyling Localization. CodeStyling Localization – браузерный аналог вышеупомянутой программы. Я уже упоминал выше о том, что данный плагин кроме шаблонов, может переводить еще и плагины.

Скачать его можно в разделе «плагины – добавить новый» в административной панели WordPress, воспользовавшись поиском.

После установке, в разделе «Инструменты», появится подраздел «Локализация». Заходим туда.

Плагин перевода WordPress

В открывшемся окне вы увидите все плагины, темы с уже установленными переводами. Если напротив необходимой нет нужного перевода, то следует  нажать «Добавить новый язык».перевести сайт на русскийВ открывшемся окне выбираете русский язык и нажимаете «создать po-файл».

русификация темы WP Теперь необходимо просканировать файлы.

translate WP Запустите процесс сканирования.

Редактор языковА теперь непосредственно к переводу шаблона WP сайта:

  1. Жмем «редактировать», напротив нужного языка.
  2. Напротив каждой английской фразы есть кнопка «Редактировать». Жмем ее.
  3. В открывшемся окне переводим текст.
  4. После того, как переведете, нужно прокрутить страницу вверх и нажать «генерировать mo-файл».

На этом все. После процедуры плагин можно удалить, файлы po и mo останутся.

Как мне кажется, способ перевода тем WordPress с помощью плагина несколько удобнее и позволяет избежать некоторых лишних шагов.

Комментарии к “Перевод темы WordPress на русский (русификация шаблона). Poedit

  1. Спасибо за статью, допереводила с помощью Программы Poedit свою тему Chooko Lite, но у меня не перевелось «Previous Post» и «Next Post » как это исправить,скажите, пожалуйста?

    1. Previous Post и Next Post организованы с помощью темы, или с помощью плагина?

  2. Юрий, спасибо за такую замечательную статью.
    Столкнулась с проблемой, аналогичной как у Натали.
    Работаю с темой verge на денвере.
    Все заголовки переведены успешно, кроме этого: http://clip2net.com/s/38GhUo8
    Как его перевести и где искать с коде (хоть в ручную бы изменить) не знаю. Буду благодарна, если подскажете.

    1. Странно. Если тема локализована, то все должно переводиться.
      Вручную: С помощью редакторов Notepad++ или DreamWeaver воспользуйтесь поиском по файлам из папки сайта.
      Вполне вероятно, что фраз «Recent posts» будет много. Придется по очереди их все менять на нужный заголовок и отменять изменение, если оно не дало результата.

  3. Спасибо за статью. Пользовался программой POEDIT, очень удобно.

    У меня возник следующий вопрос: можно ли из переведенного в файла сделать новый файл локализации, взяв переведенный за основу? Я перевел с английского на русский, а теперь хочу перевести еще на один, взяв за основу русский.
    Получается, когда я загружаю новый, переведенный файл, там как исходный текст остается английский. Не могу понять, как этого избежать. Может вы знаете?

    И еще один вопрос: как в теме вордпресса указать на новый основной язык?

    Спасибо еще раз

    1. Нет, переводить с уже переведенного файла нельзя. Разработчики взяли английский за основу, ввиду его распространенности.
      Как вариант — откройте 2 окна программы. Один с русским, второй — с нужным вам языком и переводите.

      В файле wp-config.php найдите строчку:
      define(‘WPLANG’, ‘en_EN’);
      Замените на:
      define(‘WPLANG’, ‘ru_RU’);
      Я так понимаю, вам не русский нужен. Поищите в поиске сокращение нужного вам языка и замените ru_RU.

  4. Не знаю как у вас, а я плагин этот найти больше не могу в магазине плагинов.
    Нашел zip архив с плагином, установил, но при нажатии «Добавить новый язык» ничего не происходит. Вот такая вот беда…

    1. Да действительно, нет плагина. Хотя буквально недавно я его устанавливал.

  5. ребзя, плагина CodeStyling Localization в репозитории вордпресс вы уже не найдете, но, якобы, делает тоже самое другой плагин — Loco Translate. буду пробовать переводить с помощью него.

  6. А возможно ли сделать так, чтобы посетители моего сайта с Германии заходили на немецкую версию сайта, а из России на русскую?

    1. Можно сделать редирект в .htaccess, который будет перенаправлять в зависимости от того, какой язык установлен у пользователя в браузере.
      Но есть нюанс: если пользователь из России, но у него, допустим, установлена английская версия браузера (а такое встречается), то он соответственно будет перенаправлен на англ версию сайта.
      Как вариант можно добавить возможность смены языка на самом сайте.
      Поищите в поиске информацию о Accept-Language.

  7. Спасибо за статью с подробным описанием! Несмотря на то, что всё так хорошо описано, у меня возникли проблемы…

    У меня WordPress на английском, и тема тоже на английском, которую мне нужно было перевести. Перевела на русский с помощью программы Poedit, скопировала файлы ru_RU.po и ru_RU.mo в child theme в папку languages. Согласно документации самой темы, поскольку я создала child theme, мне нужно было скопировать файл wpml-config.xml из родительской темы в дочернюю и изменить код: keyname=’theme_mods_zerif-lite’ на key name=»theme_mods_ child_theme_example», где заменила child_theme_example на название моей child theme.

    У меня не сработало, тема всё равно появляется на английском. Когда я изменяю язык WordPress на русский, то тема отображается частично на русском (но в любом случае, мне необходимо, чтобы WordPress был на английском).

    В Вашей статье написано, что изменения нужно делать в файле wp-config.php. Но у меня нет такого файла, только wpml-config.xml, где нет указанной Вами строчки define…

    Я уже отчаялась. Очень надеюсь на вашу помощь!

        1. Похоже это какие-то индивидуальные особенности темы. Нужно копаться в документации разработчика.

  8. Помогите лузеру, пожалуйста, как сделать так чтобы на главной странице сайта было написано на русском(например Posted by admin on)? Смогла разыскать и перевести только «Подробнее» и ещё кое-что. Спасибо

    1. Если шаблон составлен нормально, то все должно быть в Pot | Po файлах.
      Если нет — то ищите в коде шаблона. Воспользуйтесь поиском по файлам в Notepad++. Ищите по записи «Posted by».

  9. Ничего не понимаю, пробовала переводить и с CodeStyling Localization, и с Poedit, и с Loco Translate — ничего не меняется . Как быть???(

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

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