Как перевести WordPress шаблон или плагин?

WordPress

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

Как перевести WordPress плагин или тему на русский язык. Инструменты и способы для перевода.

Замечу, что перевод wordpress плагинов аналогичен переводу тем или наоборот!

Русифицировать файлы тем или плагинов для WordPress можно несколькими способами:

1. Вручную. Для этого потребуется открыть каждый файл темы или плагина и заменить английские слова на русские. В общем вы должны будете пробежаться глазами по всему коду и перевести фразы предназначенные для пользователей. Но у такого перевода есть один огромный минус: если вы обновите тему или плагин, то Вам придется заново переводить все файлы.

2. Программный (подходит только для интернациональных тем и плагинов): создаётся специальный файл локализации для темы или плагина. Который заливается на сервер в папку с локализацией темы или плагина, в следствии чего получается автоматически русифицированный плагин или шаблон. В таком случае, при обновлении темы или плагина русский язык сохранится, и 90% случаях, заново переводить не придется.

Кстати когда Вы делаете перевод шаблонов (тем) для любых cms, то вы, как автора перевода получаете возможность поставить ссылку на свой сайт. Обычно эти ссылки ставятся в футере. Также о локализации можно сообщить автору темы англоязычной версии и получить ссылку на свой сайт с переведенной темой. Таким образом, Вы бесплатно добываете 1 обратную ссылку на свой сайт.

Как узнать какая у тебя тема или плагин: интернациональный или обычный.

Разработчики интернациональных тем и плагинов используют специальные коды, которые упрощают работу переводчика. Обычно они выглядят следующим образом:

<?php _e(‘some-sort text’) ?>

<?php next_comments_link( __( ‘Newer Comments <span class=»meta-nav»>&rarr;</span>’, ‘themater’ ) ); ?>

Иными словами перед текстом который подлежит переводу будут находиться: __ (два подчеркивания) или _e (подчеркивание и буква e).

Также в папке вместе с темой или плагином, обычно есть папка с локализациями (обычно это папка «languages») в которой находятся файлы локализации с расширениями *.pot, *.po и *.mo.

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

Разновидность файлов локализации

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

.POT или Portable Object Template – это шаблон в котором присутствуют все строки для перевода. Но, в таком файле нет перевода и не указан конкретный язык перевода. На основе этого файла можно создать перевод на любой язык. Например, на основе файла .pot создается файл .po.

.PO или Portable Object – файл который содержит язык-оригинал и его перевод на конкретный язык. С этим файлом работает человек. В этот файл вносится перевод, комментарии, указывается автор перевода и комментарии.

.MO или Machine Object – это бинарная версия .po файла. Этот файл понимают машины и с ним работают. Из этого файла скрипты подтягивают перевод для выражений и терминов. А потому на сайт достаточно загрузить только лишь этот файл.

Перевод wordpress шаблонов и плагинов из админки сайта при помощи плагина Loco Translate

Установите плагин Loco Translate, для этого перейдите в раздел «Плагины» — «Добавить новый«, в открывшейся странице в поле поиска введите «Loco Translate» и нажмите клавишу «Enter«, после чего на странице с результатами поиска, на против данного плагина нажмите кнопку «Установить«,установка плагина Loco Translate

после этого откроется страница установки плагина, после успешной установки, не забудьте активировать его.

Активация Loco Translate

После чего у вас в левом меню в админ панели должен появится пункт  «Loco Translate». Обратите внимание на подпункты «Темы» и «Плагины». В зависимости от того, что вам нужно перевести, перейдите в нужный подпункт. В каждом из них находится список установленных шаблонов/плагинов. К примеру я перейду в «Плагины». Появится список всех установленных плагинов.

список всех установленных плагинов

Здесь нас нужно нажать на плагин который хотите перевести (или обновить его перевод). Вы окажетесь во вкладке «Обзор», где вы увидите список языков, на которые плагин уже переведён. Если кликнуть на уже существующий язык, то можно отредактировать перевод. Если нужного языка нет, то жмем по кнопке «Новый язык».

обзор переводов

После нажатия на кнопку «Новый язык», если у темы или плагина нет *.pot шаблона, то Loco Translate предложит создать его, нажимаем на кнопку «Создать шаблон».

Создание шаблона локализации

На открывшейся странице жмем еще раз нажимаем на кнопку «Создать шаблон».

Создаем шаблон

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

создание нового файла локализации

Примечание по выбору местоположения:

  • Авторский — это место будет внутри папки, в которой установлена ​​тема или плагин. Автоматические обновления будут перезаписывать файлы в этом месте, поэтому сохраняйте файлы здесь только в том случае, если вы являетесь автором или имеете вескую причину для добавления файлов непосредственно в пакет.
  • Системный — это расположение находится в каталоге установки глобального языка ( WP_LANG_DIR). Файлы, сохраненные здесь, могут быть перезаписаны установщиком собственного языка WordPress, поэтому не сохраняйте файлы здесь, если вы не отключили автоматическое обновление переводов .
  • Авторский (рекомендуется плагином Loco Translate) — это защищенная папка Loco, в «wp-content/languages/loco/»которой нет автоматических обновлений и которая имеет приоритет над указанными выше папками . Если эта папка не существует, вам может потребоваться ее создать и убедиться, что у нее есть правильные разрешения.

Я выбрал системный путь — т.к. я потом удалю плагин Loco Translate — отсюда авторское месторождение для меня не подходит. Но я сохраню на пк файлы перевода на всякий случай — если при обновлении плагина или темы слетит перевод — я его заново загружу через ftp.

Откроется редактор для перевода, щелкаем по строчке которую хотите перевести, ниже видите исходный код и окошко куда нужно написать перевод.

переводим плагин

Внимание! В исходном переводе попадаются системные строки, например %1$s их трогать нельзя, так и оставляйте, пример на скриншоте.

Переводите все, после чего нажимаете на кнопку «Сохранить«. Ну вот в принципе и все, после сохранения локо транслит скомпилирует файлы *.po и *.mo, после чего плагин или тема должны стать на нужном языке.

Плагин на русском

Да если вы заметили при переводе, есть неактивная кнопка auto — если в настройках указать API ключ переводчика, то сможете автоматически получать перевод с переводчика.

api keys

Перевод файлов локализации на ПК при помощи программы POEdit

Poedit — мощный кроссплатформенный клиент (доступен для Windows, macOS и Linux) и интуитивно понятный редактор для перевода интерфейсов, использующих gettext.

Poedit существует в 2х версиях free и pro. Про версия может автоматически переводить файлы — вернее делать черновой перевод на основе api переводчика, в версии free нужно переводить все вручную.

Скачать Poedit можно на официальном сайте poedit.net. Установка стандартная.

Для того чтобы сделать перевод, вам нужен файл шаблона перевода *.pot или файл перевода *.po. Нам их предварительно нужно скачать на пк, перевести, потом закачать на сайт.

Файлы локализации обычно лежат в директориях тем и плагинов, например: /wp-content/themes/название-темы/languages и /wp-content/plugins/название-плагина/languages

файлы локализации

Если есть *.pot файл скачиваем его, если *.pot файла нет, тогда скачиваем любой *.po файл. Если в папке с темой или плагином нет папки languages, попробуйте посмотреть файлы локализаций в каталогах:

  • /wp-content/languages/plugins;
  • /wp-content/languages/themes.

Если вы откроете файл *.pot при помощи Poedit, то он сам предложит вам создать перевод. Жмем на кнопку «Создать новый перевод», выбираем новый язык и нажимаем «ОК». И переводим.

Создание нового перевода в poedit

В случае если *.pot файла нет, вы можете его создать при помощи Loco Translate (см. выше), либо как сказал выше скачиваем *.po файл. Далее запускаем ПоЭдит и выбираем «Создание нового перевода на основе имеющегося файла PO или шаблона POT» и выбираем файл *.po.

Создание нового перевода на основе имеющегося файла PO или pot

После выбираем язык перевода и жмем OK.

выбираем язык перевода

Переводим и сохраняем. В отличии от плагина POEdit показывает ошибки и лично мне в нем как то комфортнее переводить чем через админку в плагине Loco Translate. А теперь давайте покажу главные плюшки версии ПРО:

Версия про

Есть предлагаемые варианты перевода — щелкнули на подходящий и перевод автоматом заполнился. И еще более прикольная фишка это «Черновой перевод». Жмем на него, откроется окошко, выставляем все галки и снова жмем «Черновой перевод».

Черновой перевод

Программа обращается к API переводчика и заполняет перевод при точном соответствии. За 30 секунд он перевел 92% (1582 строки из 1780 — сэкономил как минимум часа 1,5 работы).

Результат чернового перевода

В общем если вам нужно перевести большой количество тем и плагинов, рекомендую купить лицензию, она не такая уж и дорогая — 1999р, лично у меня она себя уже раз 50 окупила.

Остается лишь пробежаться глазами по черновому переводу, подправить при необходимости и перевести остатки.

Пулуавтоматический перевод

И сохраняем.

сохраняем перевод

Если есть ошибки, то poedit скажет об этом.

ошибки

Все ошибки и предупреждения собираются в верху, правим их и пересохраняем.

Правим ошибки

После сохранения poedit создает 2 файла (1 po и 1 mo)

файлы локализации po и mo

их нужно закинуть в /wp-content/themes/название-темы/languages и /wp-content/plugins/название-плагина/languages (т.е. туда от куда взяли файл для локализации).

Часто бывает, когда закидываешь файлы в директорию languages, которая находится в папке с шаблоном или темой — перевод не применяется. Тогда вам нужно переименовать «ru_RU.po» и «ru_RU.mo» в «goodnews5_ru_RU.po» и «goodnews5_ru_RU.mo», где goodnews5 — это название темы или плагина (вернее паки где лежит плагин или тема) и залить их в /wp-content/languages/plugins или /wp-content/languages/themes.

Что делать если перевелось не все?

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

Ручной перевод wordpress шаблона через код при помощи Notepad++.

Переводить вручную опасно, можно случайно повредить тему или плагин — так что этот способ привожу больше для информации. В качестве подопытного кролика я взял тему с сайта: themes.rock-kitty.net под названием Horcrux. Вот её верхняя часть, на которой я выделил англоязычные слова:

англоязычная тема Horcrux

Если полистать рубрики, архивы и т.д. вы найдёте ещё кучу англоязычных слов. Ну да ладно! Приступим к переводу:

Поочередно открываем все файлы темы с расширением *.php программой Notepad++. И во всех вкладках выставляем кодировку UTF-8 без BOM («Кодировки» — «Кодировать в UTF-8 без BOM»). Файлы темы находятся в директории «wp-content/themes/название-темы».

Если Вы на каждом файле этого не сделаете кодировку UTF-8 без BOM, то вместо переведенных слов получите «????». Такая проблема довольно-таки часто встречается при переводах.

Ну, а теперь приступаем к переводу! На первых порах, начните с перевода слов чёрного цвета (серые слова пока не трогаем):

кусок кода одного из файлов шаблона

У Вас должно получиться следующее:

4

И так переводим все php файлы в которых попадаются слова чёрного цвета.

После того как вы перевели все слова чёрного цвета, нажимаем на кнопку сохранить всё:

Сохранить всёДалее обновляем главную страницу блога и проверяем работоспособность темы, если всё нормально без ошибок загружается едем дальше, т.к. перевели пока мы не всё.

Теперь нам потребуется одна полезная функция Notepad++ — «поиск».

Смотрим на главной странице непереведённые слова и в Notepad++ нажимаем «Поиск» – «Найти в файлах»

поиск - найти в файлах

и заполняем открывшееся окно по подобию (как на картинке ниже):

8Начинаем «Найти всё»
И видим то наше не переведённое слово находиться в файле sidebar.php в 7 строке, открываем файл sidebar.php и переводим данное предложение:

поиск и перевод слов в шаблоне вордпресс при помощи Notepad++

Потом, таким же макаром ищем и переводим следующие слова (такие как: Read More, COMMENT ) и так далее.

Не в кое случае в файлах шаблона не переводите функциональные части php кода. Вы его сломаете!!!

Т.е. код такого вида: <form action=»<?php echo get_option(‘siteurl’); ?>/wp-comments-post.php» method=»post» id=»commentform»> не трогаем.

А вот здесь например можно и нужно перевести: Enter your email address..:

<?php $subsc_text = «Enter your email address..»; ?>

В строке например такого типа:

<input name=»submit» type=»submit» id=»commentSubmit» tabindex=»5″ value=»Submit» />

Можно исправить только значение: value=»Submit» на value=»Отправить», всё остальное трогать нельзя.

Думаю что походу разберётесь, просто почаще сохраняйте изменения и проверяйте грузиться ли Ваш блог! Если вместо главной страницы вылетает какая-нибудь ошибка, отменяете изменения и снова сохраняетесь и проверяете работоспособность блога и т.п.

Что делать с картинками и демо контентом?

Для того, чтобы перевести некоторые кнопки и картинки, необходимо зайти в папку wp-content\themes\название_темы\images\ взять нужную Вам картинку и перерисовать её в любом графическом редакторе, либо заменить на свою.

А импортированный контент (страницы и записи) вам нужно либо удалить, либо заменить на реальный.

Как обновить перевод под новую версию темы или плагина?

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

Это можно сделать:

а) с помощью сканирования исходного кода темы
б) с помощью более свежего файла .POT.

Подробнее в видео ниже.

Сколько стоит перевод WordPress тем и плагинов и где его заказать?

Заказать перевод можно практически на любой фриланс бирже. И стоит он копейки: к примеру на бирже kwork, вам в полном объёме переведут шаблон или плагин всего за 500 рублей.

Стоимость перевода вордпресс тем и плагинов на kwork

Так что если вам лень возиться можете заказать на кворке, либо обращайтесь за помощью в переводе шаблонов и плагинов ко мне в телеграмм.

Ответы на часто задаваемые вопросы

Как найти в исходном коде продукта функцию подключения файла локализации?

Это можно сделать с помощью любой программы которая может искать по директориям, например бесплатным notepad++. Вызываете поиск и ищите слово textdomain.

Почему не виден перевод настроек темы?

Причин может быть много:

  1. Нужно почистить кэш.
  2. В настройках WordPress указан не русский язык.
  3. Стоит плагин, который переключает языки на сайте или в админке. И текущий язык не русский.
  4. Файлы локализации нужно загрузить не в языковую папку продукта, а в языковую папку WordPress.
  5. Файлы локализации имеют неправильное название. Особенно, это актуально для плагинов. В большинстве случаев, в названии файла локализации для плагина обязательно должно быть указано название плагина или домена (локализации).
  6. Перевод не работает, потому что на сайте активирован плагин Loco Translate. Деактивируйте этот плагин.
  7. В некоторых шаблонах присутствуют две языковые папки. Одна – для файлов локализации перевода фронтенда, а другая – для файлов локализации перевода бэкэнда.

Иногда, причина не в одном пункте, а в нескольких.

Ссылки

Остались вопросы — задавайте! Отвечу с удовольствием.

Поделиться с друзьями
Алексей

Веб-дизайнер и SEO оптимизатор. Занимаюсь созданием сайтов с 2010 года и их продвижение с 2012 года!

Оцените автора
( Пока оценок нет )
Web-Revenue.ru
Добавить комментарий

  1. Сергей

    День добрый!
    Мне срочно нужен перевод дизайна! Готов даже заплатить
    прошу как можно скорей мне ответить либо на почту либо в скайп: xxxados

    Ответить
    1. Алексей автор

      Добрый день! Написал вам на почту!

      Ответить
  2. Евгения

    великолепная статья, я раньше мучалась с переводом, а тепереь!Элементарно, Ватсон!Спасибо!

    Ответить
    1. Алексей автор

      Пожалуйста)

      Ответить
  3. Макс

    Тема (Cherry) не реагирует на перевод. Переводил с помощью Codestyling Localization, потом с Poedit. Закидывал переведенные файлы .po и .mo в файл lang темы и в папку languages в wp-content корня сайта.

    Менял и присваивал в config.php WPLANG значение ‘ru_RU’.

    */ define(‘WPLANG’, ‘ru_RU’);

    Менял с ru_RU.po на ru.po и с ru_RU.mo на ru.mo

    В теме нет папки languages , только папка с lang с дефолтными po и mo. Так же там нет файла pot

    Не реагирует и все тут. И эта тема не первая… Хоть убей не пойму в чем дело, может вы сталкивались с чем то подобным???

    Ответить
    1. Алексей автор

      Данная тема скорее всего не интернациональная и не поддерживает языковые файлы! Единственный выход, вы можете перевести ее вручную при помощи нотепад++ к примеру, но при обновлении темы перевод пропадет!

      Ответить
  4. Алексей

    Вот! Настоящая находка! Теперь буду всё переводить как мне надо. А то всё по английски а тои и французкий…

    Ответить
    1. Алексей автор

      )

      Ответить
  5. Алекс

    Плагин штука класная конечно но сейчас все больше англоязычных Больших плагинов типа CRM или плагинов социалок или интернет магазинов не имеют .po и .mo файлов то есть не предполагают локализации и их приходится переводить ручками что как раз в случае с большими плагинами сильно геморойно ((( и ничего не поделаш (((

    Ответить
    1. Алексей автор

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

      Ответить
  6. Андрей

    Спасибо братан. Очень помогла твоя статья. Благодарю

    Ответить
    1. Алексей автор

      Пожалуйста)

      Ответить
  7. Lisa

    Автор, СПАСИБИЩЕ! На куче сайтов написано как русифицировать шаблоны, но везде фигня — я неделю не могла перевести тему! А у вас все подробно расписано и благодаря вам я все же перевела весь шаблон самостоятельно)))
    А еще стала лучше в кодировках разбираться.

    Ответить
  8. Ксения

    Спасибо большое за статью! Я вчера столько времени потратила, а оказывается все так просто))) Очень нужный плагин скачала, но не все переведено было. С вашими инструкциями все получилось!

    Ответить
  9. Екатерина

    Здравствуйте Алексей. Хочу вас поблагодарить за вашу статью. Все очень подробно написано, а главное я в ней нашла нужную для меня информацию. Спасибо вам большое!

    Ответить