Всем доброго времени суток.
Всю эту неделю я занималась переездом в новую квартиру и, наконец, его закончила. Но позвать друзей на новоселье пока не смогу, уже послезавтра мы уезжаем кататься в Хибины.
Как и обещала в статье про , сегодня разберем вопрос по переводу темы 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. Он также подойдет и для перевода плагинов. После стандартного процесса , в разделе «Инструменты» появится новый пункт – «Локализация». Там выбираем «Управление языковыми файлами»:
- Выбираем для данного случая «Темы» и жмем «Добавить язык».
- Откроется окно, в котором выбираем «Русский язык» и нажимаем «Создать po-файл».
- Затем нужно нажать в строке «Русский» кнопку «Сканировать», после завершения данного процесса жмем «Редактировать».
- Тут, как и в 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 сайта:
- Жмем «редактировать», напротив нужного языка.
- Напротив каждой английской фразы есть кнопка «Редактировать». Жмем ее.
- В открывшемся окне переводим текст.
- После того, как переведете, нужно прокрутить страницу вверх и нажать «генерировать mo-файл» .
На этом все. После процедуры плагин можно удалить , файлы po и mo останутся.
Как мне кажется, способ перевода тем WordPress с помощью плагина несколько удобнее и позволяет избежать некоторых лишних шагов.
Сейчас практически все темы WordPress переведены на русский язык, точно так же, как и большинство плагинов. Точнее, не переведены, а локализированы, во всяком случае, из официального репозитория. Но порой возникает необходимость самому переводить плагины или темы WordPress.
В связи с этим нам важно сделать перевод правильно, чтобы избежать в дальнейшем каких-либо неясностей и проблем. Для этого мы задействуем плагин , который способный переводить плагины и темы прямо из админ-панели.
Некоторые особенности плагина Loco Translate:
- Редактор перевода в админ-панели сайта
- Создание и обновление языковых файлов напрямую из админ-панели
- Резервное копирование файлов PO. MO
- Защищенная папка для языковых файлов пользовательских переводов
Как не нужно переводить темы или плагины
Начинающие пользователи по своему незнанию часто делают нелепые ошибки, включая перевод тем прямо в шаблонных файлах php. Это есть неправильно, даже по такой простой причине, как потеря перевода при первом же обновлении темы. Не говоря уже о том, что можно случайно что-то удалить из шаблонных файлов темы.
Как правильно локализировать темы WordPress
Исходные строки фраз, надписей и прочего текста в файлах php должны остаться на английском языке, так как WordPress использует технологию GNU gettext для локализации. Кроме того, весь этот текст помещается в специальную функцию вывода. Вместе с оператором echo (или в отдельности) используется _e("") или __("") .
Функция _e("") определяет текст для перевода, а WordPress следует параметрам файла config.php, в котором указан основной язык локализации define("WPLANG", "ru_RU"); или тот, который указан в настройках «Общие-Язык сайта». Но прежде чем получить нужный результат, необходимо подключить языковые файлы к теме. За это отвечает функция load_theme_textdomain . Она прописывается вначале файла functions.php
Load_theme_textdomain("nematheme", get_template_directory() . "/languages"); Здесь «nematheme»
обязательно указывайте наименование темы без пробелов, а «languages»
– это название папки, в которой находятся языки перевода – она должна быть расположена внутри темы. Полный комплект локализации состоит из трех файлов: POT (Portable Object Template)
– файл содержит в себе весь текст, доступный для перевода. Это, так сказать, шаблон того содержания, которое помещено во функцию _e("") или __("") . PO (Portable Object)
– файл перевода предназначен исключительно для темы оформления. В нем находится тот же текст, что и в файле POT, только отличается своими целями. MO (Machine Object)
– персональный файл для ядра машины WordPress. В нем находится все тот же самый текст, что и в файле PO, только он чуть другого формата и работает с системой, дабы та, в свою очередь, понимала, какой использовать файл локализации. Обычно все эти файлы расположены внутри темы в папке «languages», «lang», «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", все зависит от темы. Его нужно вставить после WP-DEBUG: На сегодня у меня все. Если не хотите пропускать свежие уроки, подпишитесь на обновления в конце этой статьи. Если будут вопросы - задавайте, с радостью отвечу. Всего вам хорошего! Привет, дорогой читатель, сегодня мы научимся переводить плагины и темы WordPress
, разберёмся с назначением файлов.po и.mo., с принципами технологии gettext.
На самом деле в операции перевода нет ничего сложного. Если тема готова к переводу, то это дело занимает максимум полчаса, а когда наловчитесь и 10 минут будет хватать. Ну что ж приступим. В большинстве случаев заниматься поиском английских слов и их заменой на русские в исходных.php файлах совершенно не нужно. Почему, спросите вы, это ведь первое что приходит в голову? Все потому, что WordPress использует свободную технологию gettext
(даже не технологию, а скорее библиотеку), в принципах которой написано - все программное обеспечение должно писаться на английском, а уже затем должен осуществляться перевод на любой другой язык в зависимости от потребностей пользователя. Сам перевод будет находиться в отдельных файлах
со специальным расширениями (.mo, .po
). Теперь подробнее о возможных расширениях: Принцип взаимодействия между файлами представлен на картинке справа (foo.c обозначает первоначальный английски текст чего-либо). Это первый вопрос которым стоит задаться. К сожалению, ни все создатели тем и плагинов предусматривают перевод своей темы и как следствие не используют gettext.
Заниматься внедрением gettext в этой статье мы не будем. Готовность темы или плагина могут подтвердить 2 вещи: наличие в архиве файлов с выше рассмотренными расширениями и наличие в описании специального тега "Translation Ready
", темы, готовые к переводу, можно найти на официальном сайте по этому адресу
, на данный момент таких тем свыше 2000. Кстати, под надписью "Translations" можно найти ссылку перейдя по которой можно посмотреть состояние перевода и внести свою лепту в перевод темы (ссылка для выбранной темы
). Для перевода выбираем любую тему и на скачавшем её на компьютер (выбранная тема
). Poedit
- бесплатная (+) кроссплатформенная программа для редактирования файлов gettext. Существует достаточно много и других программ, нацеленных на перевод по такой схеме: Ну и, конечно же, в крайней ситуации всегда можно использовать любой текстовый редактор. Сейчас мы поэтапно пройдём через процесс перевода темы WordPress программой Poedit:
Существует способ перевода проще, без установки чего-либо себе на компьютер. Он заключается в использовании плагинов-переводчиков, которые организуют всю работу по переводу прямо в браузере. Именно к таким является Loco Translate. Хочется отметить интуитивно понятный интерфейс, минимум настроек и сбалансированный дизайн, чем-то схожим с программой Poedit. Эти аспекты делают работу приятной и не напрягающей. P.S. В статье описана новая версия, которая еще сама не локализована, либо просто локализации не корректно работает. Если для вас это существенно, то понизить версию
(а следовательно и сменить язык) можно в настройках плагина. Но я не рекомендую тем более все и так более чем понятно. Существует так же очень удобный плагин Codestyling Localization
, который в свое время был достаточно популярен. Стоит заметить, что он уже достаточно давно не обновляться и плохо работает со множественными числами и некоторыми скриптами, но в целом все еще может вполне успешно работать. По этому рекомендую использовать другие плагины представленные статье. На этой ноте я заканчиваю своё повествование и оставляю вас наедине с вашими мыслями с: Будут вопросы пишите в комментарии, ну и от благодарности не откажусь. Чао!
Файлы перевода PO, MO, POT
Переводим тему WordPress на русский язык с плагином Loco Translate
На этом все. Если есть вопросы, задавайте их в комментариях.Файлы для перевода темы
Как перевести тему WordPress с помощью редактирования ".po" файла
Как устроен принцип перевода на WordPress
Готова ли тема WordPress, плагин к переводу?
Перевод темы WordPress с помощью программы Poedit
Перевод темы WordPress плагином Loco Translate
Плагин Codestyling Localization
Похожие статьи