Как перевести тему/плагин WordPress

В статье рассматривается как перевести тему/плагин WordPress при помощи специализированного редактора переводов poedit.

Не слушайте тех добрый людей, которые предлагают Вам изменить сообщения в кодах темы (плагина). Не делайте этого ни в коем случае!

Я уже говорил, что ядро WordPress переведено на многие языки и русский перевод весьма хорош. Однако, многие темы и плагины поставляются (продаются) без перевода на язык конечного пользователя (читателя), в нашем случае – русский. Для посетителя сайта английские выражения посреди русского текста по меньшей мере будут выглядеть странно.

Поэтому перед установкой плагина необходимо перевести как минимум все сообщения, которые плагин выдает конечному читателю (front-end), а еще лучше перевести все, включая панель администратора (back-end).

В каждой нормальной теме или плагине должна быть папка languages (или похожая) в которой должен находиться файл с некоторым именем и расширением .po (.pot), скорее всего default.pot. Это текстовый файл, который содержит все текстовые строки сообщений для перевода.

Я предпочитаю использовать специализированный редактор poedit, который можно найти на сайте http://www.poedit.net/. В качестве исходной информации poedit использует default.pot (может называться как-нибудь по другому с расширением .pot или .po) и, в результате работы, производит файлы перевода, Есть две версии этого редактора – бесплатная, которую можно загрузить для OSX или Windows, которая позволяет редактировать любой файл с расширением .pot. После установки редактора, программа предложит обновиться до профессиональной версии, которая отличается от бесплатной наличием некоторых дополнительных функций:

  • счетчиком слов и статистикой;
  • специализированным интерфейсом для перевода тем и плагинов WordPress (наверное, сама находит файлы для перевода в теме);
  • персональной поддержкой поставщика.

Я перевел несколько тем и достаточно много плагинов и возможностей бесплатной версии всегда хватало.

Приступаем. Создаем на рабочем компьютере (не на сервере) новую папку и даем ей название, например, wordpress files. В ней дочерние папки themes (для тем), plugins (для плагинов), translations (для переводов), photo (для фотографий и картинок), articles (для статей) и т.д.

Допустим, мы нашли интересующую нас тему и хотим ее перевести на русский язык. Тогда в папке themes создаем новую папку с названием нашей темы. Например, мы выбрали тему the Leader с сайта themeforest.net. Естественно, о переводе на русский язык никто для нас не позаботился. Тогда спасение утопающих – дело самих утопающих. Создаем в папке тем дочернюю папку the leader и загружаем в нее большой файл с сайта themeforest.net, при этом сразу меняем имя файла. Вы попытаетесь получить нечто в виде themeforest-5493981-the-leader-ecommerce-responsive-mpurpose-theme.zip – это реклама и нет никакой полезной информации. Переименуем сразу в более понятный для дальнейшей работы вид: the leader v 1.3.zip Теперь, как минимум, мы не запутаемся в версиях темы.

Распаковываем тему, переименовываем появившуюся папку аналогично, например the leader v 1.3.

Далее возможны два варианта:

  • для простой темы (плагина) был загружен непосредственно файл для установки WordPress, тогда, открыв полученную папку, мы должны внутри ее сразу увидеть папку languages, в которой и должен быть искомый файл default.po.
  • для большинства тем в загруженном файле еще поставляется документация и много разных более или менее полезных файлов. Тогда процесс итерационный – заходим в появившуюся папку и находим там архив темы – в нашем примере the leader.zip, который, в свою очередь, распаковываем. Появляется папка с названием the leader. Заходим в нее и находим внутри папку languages, в которой и должен быть искомый файл default.pot.

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

Итак, загружаем и устанавливаем программу poedit. После запуска получаем следующее окно:

Как перевести тему/плагин WordPress

Рис. 1. poedit запущен

Нажимаем на среднюю клавишу меню и выбираем найденный файл с сообщениями для перевода (Рис. 2). Открывается рабочее окно poedit и предлагается выбрать язык перевода. Выбираем. Нажимаем OK (Рис. 3).

Как перевести тему/плагин WordPress

Рис.2. poedit выбор языка перевода

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

one apple одно яблоко
two apples два яблока
five apples пять яблок
Как перевести тему/плагин WordPress

Рис.3. Выбор файла для перевода

Открываем Каталог->Свойства и заполняем форму (Рис. 4). По умолчанию, часть полей заполнена. Проверяем и, при необходимости, исправляем содержимое полей. Нам особенно важно правильное задание правил создания форм множественного числа. В поле должно быть следующее выражение:
nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100=20) ? 1 : 2);

Если так, то нажимаем ОК и начинаем. Для каждой фразы вводим ее перевод. И так, строка за строкой, пока все не будет завершено. Процесс может занять достаточно много времени, особенно, для сложных тем, содержащих много сотен строк. При сохранении перевода, poedit записывает два файла – ru_RU.po (текстовый файл с переведенными строками) и ru_RU.mo (двоичный скомпилированный файл для установки на сервере).

Как перевести тему/плагин WordPress

Рис. 4. poedit Задание форм множественного числа

После завершения перевода необходимо его проверить и исправить все ошибки и неточности. Для этого устанавливаем файл перевода ru_RU.mo и тщательно проверяем все страницы сайта, где этот перевод может появляться. Процесс обычно итерационный: находим проблемы – исправляем – устанавливаем новую версию перевода – проверяем опять. И так, пока не наступит чувство глубокого удовлетворения.

Для того, чтобы установить перевод на сервер, необходимо при помощи клиента sftp передать файл на сервер в домашнюю папку пользователя. Как это сделать описано в статьях “Клиент sftp. Краткое описание” для Linux и “PSFTP – SFTP клиент PuTTY для Windows” или “Клиент SSH для Windows Bitvise Tunnelier“. После чего при помощи клиента ssh (“Что такое ssh/sftp и для чего он нужен?” для Linux и “SSH клиент для Windows PuTTY” или “Клиент SSH для Windows Bitvise Tunnelier“) установить безопасное соединение с сервером, стать суперпользователем root (“Несколько слов о Linux” и “Команды Linux. Краткое описание.“) и переписать файл перевода в папку languages (или куда сказано в инструкции) темы или плагина. Сменить владельца и права доступа.

#cd имяпапки
#mv /home/имяпользователя/ru_RU.mo  . , если такой файл уже был, то надо подтвердить замену на новую версию.
#chmod www.www  ru_RU.mo
#chown 0600 ru_RU.mo

имяпапки для сети виртуальных сайтов для темы скорее всего будет /chroot/httpd/var/www/wordpress/wp-content/themes/имятемы/languages/, для одиночного сайта /chroot/httpd/var/www/wp-content/themes/имятемы/languages/, для плагина themes надо заменить на plugins.

Чтобы случайно не потерять наш чудесный перевод, копируем полученный файл с расширением .po (ru_RU.po) в папку translations в дереве wordpress files на рабочем компьютере, где мы храним архив наших переводов. Даем ему понятное название и сохранияем порядковый номер версии, например имятемы_ru_RU-09.po или имяплагина_ru_RU-09.po.  Перевод закончен.

Еще несколько добрых советов:

  1. Обычно переводится несколько объектов. При этом, начиная с качественного перевода WordPress, используется много одинаковых терминов. Чтобы не получилось, что в разных объектах одни и те же термины переведены разными синонимами, весьма желательно создать словарь часто употребляемых терминов и его придерживаться. В качестве основы такого словаря можно взять перевод WordPress. Тогда, не смотря на то, что Ваш сайт будет состоять из многих отдельных объектов, со стороны пользователя он будет смотреться как единое целое, что в свою очередь повысит удовлетворенность посетителей и  их желание вернуться.
  2. Никогда не пользуйтесь автоматическим переводчиком. Может, на некоторые языки он и переводит, но с английского на русский выдает полную чушь. Если случайно получилось перевести автоматически, то проще закрыть редактор poedit без сохранения и продолжить перевод с последней сохраненной точки.
  3. Не надо никогда пытаться перевести весь файл сразу. Особенно, тему. В конце концов, после установки файла перевода, может получиться что Ваш сайт перестанет запускаться. Например, где-то забыли кавычку. Найти ошибку в 1000 строках достаточно сложно и трудоемко. Я всегода перевожу  20-30 строчек, пробую перевод, после чего перевожу следующие строчки и т.д. При этом каждый сохраненный файл именую последовательно, например ru_RU-01.po, ru_RU-02.po …., чтобы всегда можно было вернуться к любой точке перевода. При этом, файл скомпиллированного перевода для установки в тему/плагин ru_RU-01.mo сразу переименовываю в ru_RU.mo, если в инструкции по переводу не оговорено иное.
  4. Иногда переводчик Google http://translate.google.com дает неплохие результаты, или как минимум, неплохую идею перевода. Для сложных конструкций целесообразно с ним проконсультироваться.
  5. Фразы, которые могут в переводе иметь несколько различных значений и сразу непонятно, какое значение нам необходимо, лучше на этапе начального перевода пропустить и перевести на этапе проверки перевода, когда будет понятно в каком контексте эта фраза используется.

Успеха!

, , , ,

One Response to Как перевести тему/плагин WordPress

  1. Антон 25/01/2018 at 05:18 #

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

Leave a Reply