Как переводить темы для WordPress. WordPress полностью на русском языке

Всем доброго времени суток.

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

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

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

Какие файлы темы отвечают за перевод?

Первое, на что хочу обратить ваше внимание, — не нужно переводить английские слова на русский в исходном коде шаблона. Исходные файлы php должны оставаться без изменений. Для перевода предусмотрены дополнительные файлы, которые находятся в комплекте с темами, адаптированными для русификации. Т.е. не все иностранные темы WordPress можно перевести методами, которые будут описаны ниже.

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

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

Как русифицировать тему WordPress с программой Poedit?

Приведу краткое описание данного процесса.

После того, как вы скачали выбранную вами тему, найдите папку languages и файл с расширением.pot или.po. Он нам и понадобится. Качаем программу Poedit с официального сайта издателя — poedit.net . При установке выбирайте русский язык. С помощью данной программы открываем найденный нами файл.po. Если вы выбрали нужный файл, то увидите слева список исходных названий на английском языке. Например, вот:

К каждому исходному тексту на английском нужно подобрать перевод на русский. После того, как вы переведете каждую строку, процесс можно считать завершенным. Сохраните новый, созданный вами файл, к примеру, ru_RU.po в ту же директорию languages. Если все сделано верно, то вместе с ним появится и файл ru_RU.mo, он создается автоматически. Затем вы можете установить новую тему WordPress с русским переводом на свой сайт. Если она уже была установлена, то через ftp (с помощью или ) добавьте только файлы перевода (ru_Ru.po, ru_RU.mo) в папку с языками темы.

define ("WPLANG", "ru_RU");

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

Данный вариант перевода также очень удобен. Вы можете перевести тему непосредственно в админке сайта. В этом вам поможет плагин Codestyling Localization. Он также подойдет и для перевода плагинов. После стандартного процесса , в разделе «Инструменты» появится новый пункт – «Локализация». Там выбираем «Управление языковыми файлами»:

  1. Выбираем для данного случая «Темы» и жмем «Добавить язык».
  2. Откроется окно, в котором выбираем «Русский язык» и нажимаем «Создать po-файл».
  3. Затем нужно нажать в строке «Русский» кнопку «Сканировать», после завершения данного процесса жмем «Редактировать».
  4. Тут, как и в Poedit, построчно переводим каждую английскую фразу на русский. Для перевода нужно нажать в строке «Редактировать».

После того, как вы все перевели нужно скомпилировать mo-файлы. Нажмите на соответствующую кнопку вверху страницы:

В завершение советую посмотреть видео о переводе шаблона:

На этом перевод темы WordPress окончен. По завершению вы можете сделать доброе дело и отправить разработчику ваши файлы перевода, чтоб после обновлений тема на русском была доступна другим пользователям. Или не делать этого, если боитесь, что русифицированной ее установят себе больше пользователей, и тогда ваш блог будет иметь одинаковый с кем-то дизайн ^_^.

P.S. Обращаюсь ко всем читателям: посоветуйте, о чем еще мне написать? Каких статей не хватает на блоге?

Здравствуйте, в сегодняшней статье выложу подробный мануал по русификации темы 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 .

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

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

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

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

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

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

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

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

После того, как вы полностью закончили перевод, необходимо его сохранить в папку с темой. Кроме сохраненного файла 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 , воспользовавшись поиском.

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

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

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

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

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

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

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

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

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

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

Некоторые особенности плагина Loco Translate:

  • Редактор перевода в админ-панели сайта
  • Создание и обновление языковых файлов напрямую из админ-панели
  • Резервное копирование файлов PO. MO
  • Защищенная папка для языковых файлов пользовательских переводов

Как не нужно переводить темы или плагины

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

Как правильно локализировать темы WordPress

Исходные строки фраз, надписей и прочего текста в файлах php должны остаться на английском языке, так как WordPress использует технологию GNU gettext для локализации. Кроме того, весь этот текст помещается в специальную функцию вывода. Вместе с оператором echo (или в отдельности) используется _e("") или __("") .

Hello World"; ?> " . __("Hello World", domia) . ""; ?>

Функция _e("") определяет текст для перевода, а WordPress следует параметрам файла config.php, в котором указан основной язык локализации define("WPLANG", "ru_RU"); или тот, который указан в настройках «Общие-Язык сайта».

Но прежде чем получить нужный результат, необходимо подключить языковые файлы к теме. За это отвечает функция load_theme_textdomain . Она прописывается вначале файла functions.php

Load_theme_textdomain("nematheme", get_template_directory() . "/languages");

Здесь «nematheme» обязательно указывайте наименование темы без пробелов, а «languages» – это название папки, в которой находятся языки перевода – она должна быть расположена внутри темы.

Файлы перевода PO, MO, POT

Полный комплект локализации состоит из трех файлов:

POT (Portable Object Template) – файл содержит в себе весь текст, доступный для перевода. Это, так сказать, шаблон того содержания, которое помещено во функцию _e("") или __("") .

PO (Portable Object) – файл перевода предназначен исключительно для темы оформления. В нем находится тот же текст, что и в файле POT, только отличается своими целями.

MO (Machine Object) – персональный файл для ядра машины WordPress. В нем находится все тот же самый текст, что и в файле PO, только он чуть другого формата и работает с системой, дабы та, в свою очередь, понимала, какой использовать файл локализации.

Обычно все эти файлы расположены внутри темы в папке «languages», «lang», «translate». Чтобы найти тему, поддерживающую локализацию, достаточно на официальном сайте использовать фильтр поиска с галочкой «Готова к переводу».

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

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

К примеру, нам понравилась тема . Мы ее устанавливаем и замечаем, что некоторые слова, фразы написаны на английском языке. Стало быть, она нуждается в переводе. Первым делом подготовим к этому тему и начнем с создания папки «languages» непосредственно внутри самой темы. Затем открываем файл functions.php и недалеко от начала добавляем функцию:

Load_theme_textdomain("pashmina", get_template_directory() . "/languages");

Дальше делаем следующее: устанавливаем и активируем плагин Loco Translate, в панели слева переходим в появившуюся вкладку «Loco Translate-Менеджер переводов». В этом разделе находятся две категории элементов доступных для перевода: темы и плагины. Принцип работы с ними один и тот же, поэтому в примере поработаем с темой.

Находим из списка нашу тему, напротив нее нажимаем на надпись: «Новый шаблон». На открывающейся странице плагин выдаст результат анализа текста. На этом этапе нажмите кнопку «Сохранить» – это будет файл шаблона POT. Он сохранится в папке «languages».

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

Из выпадающего списка выбираем русский язык, а директорию языка оставляем по умолчанию. Жмем «Начать перевод».

Перед нами откроется редактор с тремя основными полями: исходный текст, выбранный текст из исходника, перевод. Что вы делаете? Выбираете из первого поля фразу (она попадает во второе поле), а в третьем поле прописываете перевод и жмете кнопку «Сохранить».

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

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

Прогресс не стоит на месте, все развивается, Вордпресс - не исключение. Сегодня я расскажу про то, как перевести тему WordPress наиболее правильным способом и как раз с помощью редактирования всего лишь одного файла.

А еще знаете, что самое классное? Когда вы переводите несколько шаблонов, Вы сталкиваетесь с тем, что по сути вам часто приходится переводить одни и те же фразы в стиле "Page Not Found", "Pages" и другие. Тут я покажу Вам, как избавиться от данной проблемы и моментально переводить уже встречавшиеся ранее фразы.

Файлы для перевода темы

Практически во всех современных шаблонах есть такая папка "lang" или она может как-то немного по-другому называться:

Внутри этой папки содержатся файлы, которые имеют расширение.po и.mo:

У Вас там могут быть только 2 файла: "en_EN.mo" и "en_EN.po", все зависит от темы.

Как перевести тему WordPress с помощью редактирования ".po" файла

  1. Скачиваем себе на компьютер 2 файла: en_EN.mo и en_EN.po. Если же у вас уже присутствует перевод темы на русский и содержатся 2 файла ru_RU.mo и ru_RU.po и вы хотите просто скорректировать перевод, то скачиваем эти файлы.
  2. Устанавливаем себе великолепную программу Poedit. Мне очень понравилось то, что есть версия, как для Windows, так и для Os X. Вот тут можно скачать Poedit , программа бесплатная.
  3. Запускаем Poedit -> Файл -> Открыть:

  4. Находим скаченный в первом шаге файл en_EN.po и открываем его.
  5. И там мы увидим список английский слов, которые у нас встречаются в шаблоне, подлежащие переводу:
  6. Выбираем необходимую фразу и внизу в поле "Перевод" вбиваем необходимый русский текст:
  7. Для тех, кто часто занимается переводом шаблонов, могут купить Pro версию данной программы и она сама будет предлагать несколько вариантов перевода: машинный (несколько вариантов), человеческий. Я, если быть честным, не увидел надобности в этом, а все потому, что... Смотрим следующий пункт. 🙂
  8. Потому что в программе Poedit реализован классный функционал, который сохраняет в своей памяти наши переводы. То есть, допустим, перевели фразу "Pages" на русский язык и, когда в следующий раз при переводе другой темы нам встретится такая же фраза, программа уже предложит те варианты, которые мы использовали. Согласитесь, круто!

  9. И не нужно все это вручную перепечатывать, просто 1 клик по данной фразе или даже можно использовать "горячие клавиши" и фраза переведена на русский язык. Вуаля! Очень классно.
  10. Таким образом переводим фразы в этом файле. Я обычно не трогаю фразы, которые встречаются в админке WordPress, там итак все понятно, перевожу только те фразы, которые демонстрируются пользователям на сайте.
  11. После заверешения перевода фраз, в программе Poedit нажимаем Файл -> Сохранить как и уже там сохраняем под названием ru_RU:

  12. В результате у нас получится 2 файла: ru_RU.mo и ru_RU.po:

  13. Закидываем эти 2 файла по FTP в папку lang (или как-то по-другому у вас называется), то есть туда, где мы скачали файлы en_EN.po и en_EN.mo в первом шаге:
  14. Следующее нам нужно указать WordPress, какой язык использовать. Для этого по FTP в корне сайта (там, где лежат папки wp-content, wp-admin и др.) открываем файл wp-config.php:
  15. И там просто добавляем вот этот код: define("WPLANG", "ru_RU");

    Его нужно вставить после WP-DEBUG:

  16. Вот и все! Переведенные фразы Вы уже можете наблюдать у себя на сайте. Каждый последующий перевод будет проще, так как Poedit будет сохранять фразы и, если будут совпадения, предложит уже использованные вами переводы. Очень удобно.

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

Всего вам хорошего!

Привет, дорогой читатель, сегодня мы научимся переводить плагины и темы WordPress , разберёмся с назначением файлов.po и.mo., с принципами технологии gettext. На самом деле в операции перевода нет ничего сложного. Если тема готова к переводу, то это дело занимает максимум полчаса, а когда наловчитесь и 10 минут будет хватать. Ну что ж приступим.

Как устроен принцип перевода на WordPress

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

Сам перевод будет находиться в отдельных файлах со специальным расширениями (.mo, .po ). Теперь подробнее о возможных расширениях:

  1. .mo - сокращение с английского Machine Object. Этот файл предназначен для чтения машинами и поэтому бинарный и специфичный для платформ.
  2. .po - тоже сокращение с английского Portable Object. Этот файл уже предназначен для людей и хорошо человеко-читаем и не специфичен для платформы.
  3. .pot - ещё одно сокращение с PO template. С названия расширения видна функция этого файла: шаблон / трафарет для файла.po, т. е. это заготовка для создания нового.po (перевода на новый язык).

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

Готова ли тема WordPress, плагин к переводу?

Это первый вопрос которым стоит задаться. К сожалению, ни все создатели тем и плагинов предусматривают перевод своей темы и как следствие не используют gettext. Заниматься внедрением gettext в этой статье мы не будем. Готовность темы или плагина могут подтвердить 2 вещи: наличие в архиве файлов с выше рассмотренными расширениями и наличие в описании специального тега "Translation Ready ", темы, готовые к переводу, можно найти на официальном сайте по этому адресу , на данный момент таких тем свыше 2000.


Кстати, под надписью "Translations" можно найти ссылку перейдя по которой можно посмотреть состояние перевода и внести свою лепту в перевод темы (ссылка для выбранной темы ). Для перевода выбираем любую тему и на скачавшем её на компьютер (выбранная тема ).

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

Poedit - бесплатная (+) кроссплатформенная программа для редактирования файлов gettext. Существует достаточно много и других программ, нацеленных на перевод по такой схеме:

  1. Gtranslator (GNOME)
  2. Lokalize (KDE)
  3. TM-database онлайн-перевод.po файлов + память переводов
  4. Pootle онлайн-перевод и управление переводами (интересует больше всех)

Ну и, конечно же, в крайней ситуации всегда можно использовать любой текстовый редактор. Сейчас мы поэтапно пройдём через процесс перевода темы WordPress программой Poedit:


Перевод темы WordPress плагином Loco Translate

Существует способ перевода проще, без установки чего-либо себе на компьютер. Он заключается в использовании плагинов-переводчиков, которые организуют всю работу по переводу прямо в браузере. Именно к таким является Loco Translate.

Хочется отметить интуитивно понятный интерфейс, минимум настроек и сбалансированный дизайн, чем-то схожим с программой Poedit. Эти аспекты делают работу приятной и не напрягающей.


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

Плагин Codestyling Localization

Существует так же очень удобный плагин Codestyling Localization , который в свое время был достаточно популярен. Стоит заметить, что он уже достаточно давно не обновляться и плохо работает со множественными числами и некоторыми скриптами, но в целом все еще может вполне успешно работать. По этому рекомендую использовать другие плагины представленные статье.


На этой ноте я заканчиваю своё повествование и оставляю вас наедине с вашими мыслями с: Будут вопросы пишите в комментарии, ну и от благодарности не откажусь. Чао!

Похожие статьи