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

16.05.2012

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

Один из достаточно распространенных вопросов — как перевести шаблон WordPress? Кто-то ищет уже переведенные варианты, кто-то меняет перевод в коде шаблона… Сегодня я хочу рассказать, как я перевожу шаблоны. Тем более, давно обещал своим посетителям статью на эту тему. 

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

Причин несколько:

  • более платежеспособная аудитория
  • гораздо шире рынок сбыта
  • аудитория подготовлена к тому, что за все нужно платить
  • наличие удобных инструментов для продажи(Themeforest и прочие сервисы)

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

В Рунете очень мало шаблонов с русским переводом(с другими языками вообще беда) и они, обычно, уже устарели. Вам могут предложить перевод шаблона за деньги, но зачем платить, если можно сделать самостоятельно? Тем более, это не сложно. Есть три варианта перевода — рассмотрим каждый подробнее.

Перевод в коде шаблона

Самый распространенный способ перевода среди начинающих. Открыл файл шаблона — просмотрел и заменил текст на нужный.

Я не рекомендую его использовать и вот почему — представьте, что завтра разработчик обновил шаблон. Вы обновили его у себя на хостинге и… Правильно! Все ваши изменения потеряются. Вам это нужно? Уверен, что нет, лишнюю работу никто делать не хочет.

Поэтому не будем останавливаться на этом способе и пойдем дальше — посмотрим способы, которые используют настоящие джедаи

Codestyling Localization

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

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

Устанавливаем как обычно, кто не в курсе, как это делается — вот статейка.

Местонахождение плагина

Местонахождение плагина

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

Выбор объектов для перевода

Выбор объектов для перевода

Можно выбрать, что конкретно необходимо перевести. Кроме шаблонов и плагинов, доступно к переводу ядро WordPress. То есть вы можете что-то там поменять, если не нравится, как это сделано разработчиками. Внимательный читатель заметит пункт меню «Translation-Servece API» — этот пункт появился в последней версии плагина и позволяет выбрать, какой сервис использовать для автоматического перевода. Я не тестировал их, предпочитаю переводить самостоятельно. Идем дальше…

Допустим, нужно перевести шаблон — выбираем «Шаблоны» и попадаем на закладку с ними. Плагин сканирует, какие переводы уже есть и позволяет добавить свой, для своего языка.

Выбор языка

Выбор языка

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

Выбор локали

Выбор локали

Я не буду рассказывать, как работает система мультиязычности в WordPress — это оставим на другой раз. Плагин создает po файл, который после этого необходимо заполнить данными:

Сканирование файла

Сканирование файла

Жмем «Сканировать» и заполняем данными po файл. После этого можно его править — для этого кнопка «Редактировать».

В открывшемся окне необходимо перевести те строки, которые вам нужны. Обычно, я не перевожу полностью весь шаблон, это занимает много времени, перевожу только те строки, которые доступны для посетителя. Все остальное — оставляю и перевожу по необходимости. Когда вы заканчиваете перевод — не забудьте нажать на эту кнопку:

Сгенерировать файл

Сгенерировать файл

После этого все что вы перевели — будет сохранено и шаблон будет на том языке, который вы добавили.

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

POEdit

Третий способ, на котором я не буду подробно останавливаться, так как считаю, что он проигрывает плагину. Описываю его просто для того, чтобы вы были в курсе, что этот вариант существует.

Итак, есть программа POEdit — скачать ее можно тут. Она предназначена для редактирования файлов po, которые используются движком WordPress для перевода. Доступна для операционных систем Windows, Mac OS, есть бинарные файлы для Linux и исходный код.

Чем она хуже плагина?

  • нужно программу устанавливать на компьютер
  • прежде, чем появится перевод на сайте — его нужно загрузить по FTP
  • из предыдущего пункта вытекает то, что нет перевода в «реалтайм» режиме — для изменения любой неточности вам необходимо опять загружать файлы(po/mo) на хостинг
  • программа не обновлялась уже 2 года(сомнительный недостаток, но все же)

Я не люблю эту программу, поэтому и советовать вам ее не буду.

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

Удачного дня

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

  1. Boolean_Type

    Здравствуйте!
    Вопрос, возможно, странный, но всё же: как увидеть результат работы Codestyling Localization?
    1. Написал в теме строку:
    2. В админ. части плагина прописал для строки перевод.
    На фронт-энде так и отражается ‘Строка 1’. Пробовал менять в админке и язык сайта, и часовой пояс. Даже на компе часовой пояс поменял — без разницы.
    Можно ли как-то увидеть результат его работы? От чего он зависит?

    Ответить
    • Boolean_Type

      Случайно разобрался, нужно добавить GET-параметр lang с нужным кодом языка.
      Я так понимаю, плагин Codestyling Localization ориентируется как раз на этот GET-параметр, как и qTranslateX?

      Ответить
  2. art

    Как сделать аватары в комментариях круглые, как у Вас, а то на моём шаблоне они квадратные. Шаблон Р2

    Ответить
    • GerinG

      Это простой css Закругляйте края у прямоугольников с помощью border-radius.

      Ответить
  3. Юлия

    Добрый день! Попыталась перевести тему Playbook от Mythemeshop, а у меня выдало The Plugin Codestyling Localization was forced to protect its own page rendering process against 4 incidents. Получается, что плагин не совместим с моей темой?

    Ответить
    • GerinG

      Возможно и такое, тема бесплатная, разработчики могли намеренно отключить возможность перевода

      Ответить
  4. Ирина

    извините, все нашла. Но плагин буду иметь ввиду.Спасибо.

    Ответить
  5. Ирина

    У меня проблема в том, что перевожу с русского на болгарский. В целом тема переведена на болгарский, но т.к. шаблон на русском, такие фразъ и слова,как : Подробнее (в коментах) Вы вошли как admin, Выйти,Комментарий,отправить- все ето находится в статьях , все ето русские слова и никак не переводяться на болгарский и плагин не помогает. Етих слов там просто нет. Где их искать и заменить. Если подскажете?!

    Ответить
  6. Ваня

    Здравствуйте! Помогите! никак не могу перевести «Recent Articles» в коде поменял все шаблон

    Ответить
    • GerinG

      Добрый вечер, Иван
      Вы переводили плагином или же заменяли строки непосредственно в шаблоне? Если плагин — бывает такое, меняйте в файлах. Если же правили файлы(что очень плохо, на самом деле) — нужно искать тщательнее. Я рекомендую Notepad++ и его функцию поиска по всем файлам в папке.

      Ответить
  7. Emil

    Спасибо за статью! Установил плагин, в теме русский язык уже отображается, нажимаю «сканировать» , выдаёт следующию ошибку в модальном окошке:
    You do not have the permission to read the file ‘/home/e/eeee/domen/public_html/wp-content/themes/mrtailor/languages/ru_RU.po’.
    Права доступа на папку languages 777.
    Подскажите пожалуйста, что не так?

    Ответить
  8. art

    Как сделать перевод дней, недель и тд. в верху сайта. Сайт — ###

    Ответить
    • GerinG

      Эти надписи генерируются автоматически, к переводу шаблона не имеют отношения, править нужно непосредственно в коде

      Ответить
  9. Ivanovsku

    Раньше переводил всё было хорошо, сейчас почему-то не отображает шаблон (

    Ответить
  10. Максим

    Использую плагин Codestyling Localization
    На одном сайте все нормально перевелось. После этого скопировал файлы po и mo на другой сайт с таким же шаблоном, но там шаблон не переводится. Установил плагин Codestyling Localization файлы po и mo есть, также перевод который я делал для первого сайта тоже есть. Но шаблон отображается без перевода.
    Если есть возможные причины, которых я не знаю, буду благодарен за совет.

    Ответить
  11. Natali

    Очень благодарна за Вашу статью, очень помогла! И вообще отличный сайт!

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

    Огромное мега-спасибо за статью! Очень помогла!

    Ответить
  13. Михаил

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

    Ответить
  14. Elena

    Гениально!!! Спасибо за труд! Я уже просто отчаялась Успехов!

    Ответить
  15. алексей

    Народ, помогите
    как переводить Written by %s on %s. Posted in %s?
    Я знаю как это можно перевести, но что ставить в «процентах»?
    Спасибо! жду помощи.

    Ответить
    • GerinG

      Ничего не ставить, так и оставлять, проценты заменяются значением переменной

      Ответить
  16. Женя

    Вот у меня такой вопрос: хорошо, перевел я премиум шаблон на русский, все отлично. !!!НО!!! Пока у меня шаблон был на английском, текст отображался прекрасными шрифтами. Как только появляется русский текст, он отображается (именно русский текст) каким-нибудь стандартным корявым шрифтом. Помогите решить данную проблему. Очень хочется, чтобы русский текст отображался точно таким же красивым шрифтиком, как и изначальный английский текст шаблона.
    Спасибо.

    Ответить
    • GerinG

      Красивые шрифты в иностранных шаблонах в 90% случаев не поддерживают русский. В этом и вся проблема, необходимо заменять шрифт на тот, который поддерживает кириллицу

      Ответить
  17. Dmitry

    Плагин конечно хороший, однако иногда выводит наверху такое предупреждений —
    «Malfunction at current Theme detected!
    Below listed scripts has been automatically stripped because of injection:»
    Причем, довольно часто. Вот с этим бы разобраться

    Ответить
    • GerinG

      Достаточно просто — плагин предупреждает, что в теме используются автоматически генерируемые строки, из-за этого он не гарантирует корректность перевода.

      Ответить
      • Dmitry

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

        Ответить
  18. Olunka

    А все таки Poedit удобнее.
    Плагин больше подходит для тех кто совсем на «вы» с комьютером, а Poedit для тех, кто любит стабильность и более профессиональный подход.

    Ответить
    • GerinG

      Ну не знаю, не знаю… Тут больше вопрос личных предпочтений, наверное. Я постоянно работаю с плагином, меня более чем устраивает.
      А что вы подразумеваете под более профессиональным подходом, в данном случае? Перевод получается более качественным ? Это не так, уверяю вас. Они идентичны, смотря кто переводит, конечно

      Ответить
    • Dmitry

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

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

    Простите. Но я не поняла как переводить плагином. Добавляем русский язык нажимаем сканировать … просканировалось.. редактировать…. а потом то что делать??????????

    Ответить
  20. Dmitry

    Есть еще платный плагин «Easy Translation Manager». Делает то же самое , только интерфейс поудобнее. Но в любом случае, тема должна быть подготовлена к переводу автором, иначе никакой плагин ее не увидит.

    Ответить
  21. Светлана

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

    Ответить
  22. GerinG

    Serg — можно попробовать, но со следующей недели, тут выходные на носу… Надо море навестить ))) Напомни в понедельник, подумаем

    Ответить
  23. Serg

    Есть такая неплохая тема — ifeature (wordpress.org/extend/themes/ifeature). В ней как бы и есть русский лангпак и Codestyling Localization-ом я допереводил — всё равно на фронэнде не переводится (родные виджеты например).

    Сможешь разобраться почему? Я не смог

    Ответить
  24. maksim

    у меня после активации страничка с плагинами перестает открываться
    как быть?

    Ответить
  25. GerinG

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

    Ответить
  26. maksim

    у меня тема Cameleon Автор: DynamicPressВерсия 1.1. не отображается в плагине. все плагины и другие темы есть. а ее невидно негде. ??

    Ответить
    • Dmitry

      Хороший вопрос для авторской поддержки. Вообще то «Translation ready», заявлена в фичах темы. Не помешает и обновиться, текущая версия 1.2 уже.

      Ответить
  27. GerinG

    Semm — это отдельная тема, если интересно — могу написать статью по этому вопросу

    Ответить
  28. Semm

    А если автор шаблона не предусмотрел его локализацию? Какие строки кода добавить чтобы локализация заработала?

    Ответить
  29. volodymyrl

    Попробовал плагин — очень удобно. Подключал перевод от Bing — он постоянно глючит, то не переводит вообще, то с 2-5 раза. Хочу попробовать подключить перевод от гугла.

    Ответить
  30. Яр Громов

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

    Ответить
  31. GerinG

    Для этого плагина достаточно дать права 777 для файлов локализации. Больше он все равно никуда не ходит.

    Ответить
  32. Ирина

    Это просто супер! Забросила классный шаблон только потому, что с POEdit не понравилось переводить. Попробовала плагин. Все чудесно работает. Большое спасибо.

    Ответить
  33. Igor

    Помогите, плиз, разобраться.
    Сделал перевод шаблона с помощью плагина CodeStyling Localization.
    Переведено всё. Вот плагин выдал информацию:
    Total ( 4576 / 4576 ) |
    Plural ( 104 ) |
    Context ( 172 ) |
    Not translated ( 0 ) |
    Comments ( 0 ) |
    Code Hint ( 0 ) |
    Trailing Space ( 26 )
    Нажимал: «Генерировать мо-файл».
    Когда открываю файл ru_RU.po там вообще 0% переведено. Песец какой-то.
    Файлам .ро и .мо дал права 777. Как сохранить перевод?

    Ответить
    • GerinG

      На основе этих данных — ничего не скажу, непонятно мне. Сбросьте мне на почту шаблон, посмотрю что к чему — gering111@gmail.com

      Ответить
  34. GerinG

    Перевод подключается в зависимости от локали движка, если я не ошибаюсь. То есть — русский движок по умолчанию стоит и если есть русский перевод, он его использует.
    pot он не создаст, а вот po — очень даже. Главное, чтобы разработчик предусмотрел возможность перевода

    Ответить
  35. akkad

    Очень интересная статья, спасибо. Такие темы мне нравятся. Попробую программу, мне почему-то предпочтительнее её использовать. Увижу, если хорошо работает, надо будет у себя на блоге о ней написать.
    Плагин будет хостинг мучить На локалке лучше тогда работать.

    Ответить
      • akkad

        Ну я имел ввиду, что если часто обновлять страницы для проверки
        Кстати ещё один вопрос: перевести допустим перевели. А как подключить этот перевод, чтобы он был активным? Т.е. если несколько есть, чтобы выбрать именно нужный?
        Даже второй назрел:) Если переводов нет ни одного, то плагин сам создаст pot-файл? И .po. Или их вручную собирать? Программа кажется, только из уже имеющихся образцов позволяет перевести…

        Ответить
  36. volodymyrl

    Спасибо за статью. Раньше пользовался POEdit — не очень удобно, теперь попробую плагин.

    Ответить
    • GerinG

      Удобно, когда все в одном месте. Перевел, глянул, поправил — быстро и просто

      Ответить