Как русифицировать тему WordPress? Перевод шаблона с помощью программы Poedit

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

В итоге, я сделала перевод  темы WordPress  с помощью программы Poedit. И сегодня хочу рассказать, как это делается.

Какие темы WordPress подходят для русификации с помощью программы Poedit

Чтобы можно было перевести шаблон WordPress с помощью программы Poedit, тема должна быть интернационализирована (translation-ready). Что это значит?

 

Если посмотреть на код правильной темы WordPress, от мы увидим, что все команды вывода текста шаблона на экран имеют следующий вид:

<?php _e(‘текст на английском’) ?>

<?php __(‘текст на английском’) ?>

Т.е. перед текстом, который надо перевести будут видны  _e (подчеркивание и буква e) или  __ (два подчеркивания).

 

Если же мы видим код:

<h3>текст на английском</h3>

то такую тему, к сожалению придется переводить «вручную». Т.е. просматривать все файлы темы, искать где выводится текст и заменять его русским.

 

В официальной директории тем на WordPress.org все интернационализированные темы помечены специальной меткой translation-ready. Либо подобную информацию можно найти на сайте разработчика темы.

 

Почему не стоит  переводить интернационализированную тему WordPress вручную

 

Если тема готова к переводу, то перевод ее вручную — является неправильным подходом. Хотя очень многие поступают именно так.

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

Для локализации «правильных» тем WordPress используется технология GNU gettext, которая позволяет распространять перевод в специальном формате, в файлах, отдельных от исходного кода.

Что же это за файлы?

Файлы .pot , .po и .mo

В директории каждой темы есть папка languages. Если тема интернационализированная, в  ней находится файл с расширением *.pot. Это языковый шаблон из которого создаются файлы для перевода.

Обратите внимание! У меня на компьютере стандартный проводник воспринимает и показывает этот файл как шаблон PowerPoint. Однако это совсем не помешало мне работать с ним.

Если тема уже переведена на какой-нибудь язык, то в этой же директории вы увидите файлы с расширением *.po и *.mo . Название файлов будет соответствовать локали конкретного языка.

Так после перевода на русский у вас появятся файлы ru_RU.po и ru_RU. mo.

Файл .po содержат перевод строк в текстовом виде. С этим файлом работает переводчик темы. Файл .mo  — это те же строки в скомпилированом варианте, они нужны для отображения перевода ядром WordPress.

Для чего нужна программа Poedit

Poedit — бесплатная и открытая кросс-платформенная программа для редактирования каталогов локализации, созданных по технологии GNU gettext (*.po файлы).

Если используется эта технология, для перевода на новый язык нужно взять английский термин из словаря программы и установить ему соответствие с термином нужного языка (в нашем случае русского). После того как соответствия установлены для всех необходимых терминов, получившийся файл локализации нужно поместить в каталог программы. Эти задачи и выполняет программа Poedit.

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

В Poedit есть проверка орфографии, поддержка множественных форм, редактирование комментариев, нумерация строк и удобный поиск по строкам.

Скачать Poedit можно с официального сайта.

Замечу, что технология GNU gettext используется далеко не только при создании  тем WordPress. «Правильные» плагины создаются (а значит и русифицируются) тоже с использованием этой технологии. Кроме того, большинство разработчиков используют эту технологию для локализации Unix программ, так что если вы занимаетесь переводом ПО, Poedit так же будет вам полезен.

Перевод темы WordPress с помощью Poedit

Создание нового файла каталога

После запуска Poedit следует создать каталог из POT-файла для создания нового перевода. Для этого выбираем в меню Файл -> Создать каталог из POT-файла. Выбираем нужный файл (помните, что он отображается как шаблон PowerPoint?).

перевод темы WordPress с помощью программы Poedit

Появится окно сведений о переводе (его можно заполнить сразу, можно потом через пункт меню Каталог -> Свойства).

Заполнение производится следующим образом:

Poedit инструкция

Нажимаем ОК. Программа спросит, куда сохранить файл *.po. Сохраняем его в папке languages нашей темы. Название файла должно быть ru_RU.po.

Формы множественного числа

Поле «формы множественного числа» можно не заполнять. А можно указать в нем стандартную формулу. Что же это за формула и для чего она нужна? Она определяет преобразование слов и словосочетаний в нужную форму в соответствии языку.

В русском языке существует три формы множественных чисел. Например:

  • 21… месяц
  • 22… месяца
  • 26… месяцев

Выбор одной из этих трёх форм в зависимости от числа осуществляется следующей формулой:

nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);

Формула взята с сайта docs.translatehouse.org, там же можно найти формулы перевода для других языков.

Редактирование перевода

После сохранения файла ru_RU.po, Poedit загрузит фразы, и можно выполнять перевод:

русификация темы WordPress

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

Как только фраза будет переведена, перевод отобразится в верхнем окне.

Внимание: не удаляйте из перевода служебную информацию! В фразах могут присутствовать переменные. Например, фраза Posted in %1$s должна иметь русский перевод Опубликовано в рубрике: %1$s (но не Опубликовано в рубрике:)

При сохранении файла Poedit автоматически создаст соответствующий файл *.mo.

Для редактирования существующего перевода, достаточно открыть соответствующий файл *.po.

перевод шаблона WordPress

Установить перевод

Теперь осталось загрузить тему на ваш сайт и активировать ее стандартным образом. Либо (если тема уже установлена) загрузить в ее директорию  languages файлы перевода ru_RU.po и ru_RU.mo.

Если у вас установлен WordPress на русском языке, то вы сразу же увидите изменения. Если WordPress настроен на английский (или какой-то другой)язык, то в конфигурационном файле WordPress (wp-config.php)  следует изменить локаль. Для этого найдите строку в этом файле, определяющую константу WPLANG и измените её:

define( ‘WPLANG’, ‘ru_RU’ );

После этого, тема будет отображаться на русском.

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


Понравилось? Поделись с друзьями!

Комментарии:

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

  1. Анна:

    Не хотелось бы после каждого обновления возвращаться к переводу темы, поэтому, если уж переводить, так с программой Poedit. :)

  2. Оказывается все не так просто, как кажется. Сколько тонкостей. Проще все же найти уже русскую версию, хотя зарубежные могут быть более качественными.

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

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