Трудности перевода, или Как перевести тему или плагин WordPress

58 комментариев

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

Предложив вашему вниманию уже две неплохие подборки тем:: 30 flat-тем и 50 адаптивных шаблонов WordPress, я совершенно упустила из виду тот факт, что все шаблоны найдены мною на зарубежных сайтах, и далеко не всегда — да что там, практически никогда — они не переведены на русский язык. Что значительно сужает круг блогеров, которые могут ими воспользоваться — никто же не захочет устанавливать на свой блог непереведенную тему. Потому сегодня мы поговорим о том, как перевести тему (а тем же способом можно переводить и плагины, если это необходимо) на русский язык.

На самом деле, существует два способа перевода тем: тот, которым я обычно пользовалась раньше, и нормальный грамотный «человеческий» 🙂 . Вкратце, раньше я всегда переводила темы обычным редактированием php-файлов. Однако в этом способе есть много подводных камней: невозможность в будущем обновления темы (и здесь даже дочерние темы не помогут), не всегда сразу видишь те фрагменты, которые нужно перевести — зачастую элементарно забываешь проверить файл ошибки 404 или файл архивов автора или категории… Кстати, у меня до сих пор по этой причине 404-я страница не сделана(( Исправлюсь.

Но сегодня я расскажу о том, как перевести тему WordPress правильно. «По-человечьи», а не через…

Как перевести тему WordPress

Прежде всего, нужно иметь в виду, что этот способ перевода подойдет не для всех тем, а только для заранее подготовленных к переводу ее создателями. Определить это несложно: в описании темы, неважно где: на WordPress.org ли, на сайте ли разработчиков, вам обязательно встретится пометка «translation-ready«, что означает, что тема к переводу подготовлена, и мы можем приступать.

Собственно, для работы нам потребуется немного:

  • распакованный архив с выбранной темой оформления;
  • и установленная на ПК программа PoEdit. Скачать программу можно бесплатно на сайте разработчиков (существует версия как для Windows, так и для MacOS).

Запускаем программу:

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

В меню «Файл» выбираем «Создать каталог из pot-файла», а затем в корне распакованной папки с темой находим каталог «languages«, а внутри него файл с расширением .pot. Если в папке такого файла нет, то переключите вид на «все файлы» (1) и выберите файл с расширением .po (2).

перевод шаблона WordPress

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

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

Теперь через меню «Файл» открываем созданный нами только что файл «ru_Ru.po» и приступаем к работе.

Я буду переводить полюбившуюся всем нам из-за названия тему «Hueman», что, чтобы уж поставить точку в обсуждении вариантов транскрипции, звучит как «Хьюман».

Итак, вот так выглядит рабочее окно программы:

  1. Все фразы, которые нам предстоит перевести
  2. Фраза или слово, которое мы переводим в данный момент
  3. Поле для ввода перевода
  4. Статус перевода

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

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

На этом все: в папке «languages» программа создает два файла: «ru_Ru.po» — в нем хранится перевод, который отображается в теме оформления, и «ru_Ru.mo» — это файл машинного перевода, нужный самому ядру WordPress, он создастся автоматически при сохранении нашего перевода.

В общем-то все, тема переведена! Теперь эти два файла можно закинуть на сервер в папку «languages» внутри вашей темы оформления; если тема у вас уже установлена, можно полностью закачать по FTP папку с шаблоном, если вы только планируете его устанавливать; можно написать письмецо разработчикам темы: мол, я такой молодец, перевел ваш шаблон на русский, они оценят, кроме шуток.

А, чуть не забыла, вот вам обещанная локализация «Hueman» — архив с этими двумя файлами. Скачивайте, кому нужно!

Абсолютно аналогично переводятся плагины — главное, чтобы они были готовы к переводу, то есть в папке плагина существовал каталог «languages«.

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

Удачного дня, леди и джентльмены!

58 коммент.
  1. Привет, Лариса! Если не против, внесу маленькое уточнение, после перевода всех фраз необходимо нажать на кнопочку Проверка. Если будут ошибки, то изменения в файле не сохраняться, надо будет ошибки поправить, провести еще раз проверку и тогда только сохранять. И еще совет, при переводе надо обращать внимание на сохранение всех знаков, то есть, если после слова стоит пробел, то и в переводе надо ставить пробел. Иначе все будет выглядеть слитно. Например, будет так АвторПетя

    • Спасибо, Артем! Я, если честно, предположила, что проверка — больше формальность… Из своего скромного опыта работы, ни разу не встречалась, чтобы появлялись ошибки. Кстати, а ты не знаешь, что именно проверяется? Кодировка? Еще что-то?
      А вот про пробелы — да, действительно, важный нюанс. Не хватает все-таки поддержки непечатаемых символов, как в Ворде. Или она где-то есть в настройках, просто я не нашла.

      • Да не за что! Я так и не понял, почему дает ошибку, но факт есть факт. В принципе, на ненужных фразах ошибку дает, можно и пропустить при переводе.

        Ну ты скажешь, поддержка непечатных символов, нет там ничего такого, можно только кавычки включить, но это не замена

  2. Я как-то не задумывалась о том, что тему надо переводить. Хром частично переводит и все 🙂 Хотя действительно, видеть иностранные слова типа «read more» иногда не очень приятно. Спасибо за обзор интересной программы

  3. Александр Викторович

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

  4. Александр

    Лариса, а для Joomla все так же или не так?

    • Александр, с Joomla по-другому. В корне сайта находите папку «language», в ней должна быть папка «en-Gb» — это языковые файлы для всех расширений. Делаем копию этой папки, называем ее «ru-Ru», а затем по названию файла находим тот ini-файл, что относится к нужному расширению, к шаблону, например: ru-RU.tpl_ja_purity — здесь tpl — показатель того, что это шаблон, а ja_purity — название шаблона. И уже этот файл редактируем.
      Если папка «ru-Ru» уже есть, то нужно в нее просто скопировать нужный файл из аналогичной «En-Gb» и перевести его.

  5. Так и уже установленные темы можно переводить? Я скачал локализованную тему из интернета, установлю ее на поддомен вместо англоязычной, посмотрю что там.
    Мне комфортнее все-таки русский язык, потому что в школе учил не английский, а испанский.

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

  6. Юлия

    А сверстать шаблон по своему усмотрению возможно?

  7. К сожалению, этот редактор не особо любит множественные формы. Смею порекомендовать замечательный WP плагин — Codestyling Localization. Гораздо удобнее и практичнее чем POEDIT на мой взгляд. Однако в некоторых случаях без последнего не обойтись.

    • Дмитрий, спасибо Вам большое лично от меня! 🙂 Как раз столкнулась с тем, что одна премиум-тема почему-то не хочет подхватывать русскую локализацию, созданную в PoEdit, а вручную переводить файлы так муторно на самом деле. Буду пробовать плагин — не слышала о нем раньше.
      С Наступающим Вас 🙂

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

    • Василий, а ты о чем это:

      А туда, собственно, и заходить нечего

      ?

  9. Я имел ввиду перевод общих настроек. В редакторе перевод не нужен.

  10. Удобная штучка, начал переводить classpress, только сдуру еще термины из phpшных функций перевел — талантливый человек, талантлив во всем.)))
    Спросить хотел, ты пишешь, что если переводить темы обычным редактированием php-файлов, то они не будут обновляться. Почему? Переводиться же только пользовательская часть или я не прав?

    • Привет:)
      Подошла тебе classipress?
      Да нет, обновляться-то будет, просто весь перевод слетит при обновлении — файлы-то полностью перезаписываются. Хотя именно classipress можешь и так переводить, она все равно не обновится.

      • Привет!)
        Тема в тему.)) Теперь все зависит от того, насколько грамотно переведу и настрою. Есть плагин, но если делать classipress именно то что доктор прописал.
        Я перед обновлением бекапюсь, потом просто копирую перевод, дешево и сердито.)

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

          • Не так объяснил, смотри у меня есть переведенный файл. Чтоб по новой не искать, в гугл лишний раз не лазить, перевод беру из файла, php не трогаю.
            Как правило та часть, которую надо переводить меняется крайне незначительно.

          • Поняла. Но это же трудоемко достаточно… Потом скажешь мне, нормально у тебя локализация подхватилась или нет. У меня на Адамс почему-то не встала, пришлось руками переводить.

  11. Привет!) Есть подозрение, что бесплатную версию разработчики запустили в качестве демки. Прогнал пару тем — показала дулю. Зато появилась пара идей для статей.))

    • Да нет, быть не может этого. Что значит, «показала дулю»?

      • Тогда не знаю. Часть перевода не отображается.

        • Да, Ларис, ты права. Стал перепроверять, нашел пару базедов, TAC их в упор не видел. Poedit не виноват!)) Теперь все нормально.

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

  13. Добрый день Лариса! Перевел я тему «Астерия Лайт». Переводил с помощью плагина: Codestyling Localization. Получилось. Плагином немного проще. По окончании перевода он генерирует файл и он автоматически включается в тему. Проверил — надписи теперь на русском языке. Если написать разработчикам (может подарят ПРО версию), им нужен перевод или что? Перевод есть. Он автоматически сохраняется на странице плагина. А вот сгенерированного файла я не видел, он сам убежал в шаблон темы. Если можно подскажите как лучше поступить. Шаблон темы установлен на тестовом блоге. Блог на бесплатном хостинге и почти пустой (заметка о себе и пара плагинов).

    • Александр Викторович, я думаю, что если и отправлять перевод, то вряд ли стоит рассчитывать на ответную любезность))

      • Я как бы человек не жадный, но не против подарка. Адрес файла с переводом нашел. Файл сохранил себе на всякий случай. В принципе не против отправить разработчикам, может кому пригодится. Все же времени на перевод тратится много. Главное я теперь знаю как перевести шаблон.

  14. Lana

    Если Вы заинтересованы в инструменте, который обеспечивает быстрый и эффективный перевод тем и плагинов WordPress, я рекомендую Вам использовать этот инструмент на базе web: https://poeditor.com/ Особенностью данного инструмента является наличие плагина, который Вы можете использовать для интеграции его API в Ваш WordPress. Это позволяет Вам сэкономить значительное время на процессе организации файлов. Пожалуйста, пройдите по этой ссылке: http://wordpress.org/extend/plugins/poeditor/

  15. Привет! Опять я к тебе с проблемой 🙁
    Попыталась я перевести тему sahifa. Не найдя сходу там файл .ро, воспользовалась плагином Codestyling Localization, который создал файл ru_RU в папке с языками, а то там такие языки, что неясно как с них переводить вообще… А этот получился на английском — при открытии его твоей программкой. Я его перевела — убив не один час. Нажала «сохранить» — он сохранил 2 файла ru.ро и ru.мо. Залила в папку с языкам — и ничего не произошло 🙁 Переименовала ru.ро в ru_RU.ро — тоже ничего… Хотя в коде хедера прописано
    И что делать? Я туплю?

    • Основная беда в том, что когда открываешь в админке настройки темы — гугл начинает их переводить автоматически, по поводу чего виснет очень надооолго…

    • Слушай, там в папке languages куча языковых файлов, возьми default.po и переведи его PoEdit-ом, все, как здесь написано. Я просто плагином так и не воспользовалась, не знаю, как он работает. Я сделаю потом перевод сама для Sahifa, выложу там в теме, но это будет не сейчас 🙂 Я Jarida переводила, все нормально получилось, а они почти одинаковые, так что попробуй.

      • Ок, попробую…
        Как ты думаешь, реально ли в теме, которая у тебя на этом блоге, сделать контент и виджеты в рамочках, как в sahifa с помощью css или резиновость этого не позволит? Меня в sahifa смущает ее громоздкость… Нужно-то от нее только оформление и адаптивность 🙂

        • Реально, конечно, легко можно сделать, если нужно 🙂

          • Обнадеживает 🙂 В файл функцион лезть не нужно — только css?

          • Чистый CSS — свойство border для нужных блоков 🙂

          • Спасибо! Значит, буду издеваться над двумя темами, а потом посмотрим 🙂

  16. OzZ

    Понятно то оно всё понятно. Только вот попался мне один шаблон (DW Focus называется от designwall) , с котором нихрена не понятно как его переводить.
    Нет в нём вообще ни mo, ни po, ни папки langues хоть с какими бы то ни было языками! Всё перерыл, не нашёл. Я вообще шаблоны плагинами прямо из вордпресса переводил всегда.
    А тут он не может найти эти файлы и соответственно плагин отказался выполнять свою прямую функцию. Тогда я уже вручную искал файла — их нет.
    Как в такой ситуации быть? Как перевести шаблон?

    • А это значит, что разработчики не предусмотрели возможность перевода нормальным способом. Тут только правкой PHP-кода.

      • OzZ

        Да нет… Как выяснилось только что, разработчик предусмотрел локализацию данного шаблона. Я написал им, они ответили:
        Hello OzZ !
        Of course ! If you want to translate the DW Focus theme to Russian language, please find here for the guide on how to translate theme: http://www.designwall.com/guide/how-to-translate-the-wordpress-theme/
        Hope this helps !
        Посмотрел я по ссылке.. Там пишут:
        Внутри каталога наших тематических wp-content/themes/theme_name/languages ​​, вы можете найти два файла, которые участвуют в переводе: en.po файлов и en.mo файлов.
        Но вот нихрена я не вижу в теме такого каталога /languages ! Иначе не спрашивал бы..

        • Странно все это, может у вас ломанный шаблон? Все-таки, DW-focus платный шаблон.
          Я вот у них скачал бесплатный шаблон и там все нужное есть: и папка и дефолтные файлы.
          Кстати, шикарные шаблоны у них

  17. Подскажи,плиз,как в теме Hueman убрать вывод даты публикации постов?

    • Сергей, нужно смотреть файл single.php, скорее всего. Если нет, то проще всего узнать класс блока с датой, посмотрев инспектором, а потом этот класс поискать по тексту файлов шаблона тотал коммандером.

  18. Tit

    Я не хочу все вордпресс на русском,только часть комментирования. Где могу редактировать? Какая путь у него? На пример как у вас здесь. Потому что,я обновил на вордпресс 3.9 но я забыл какую путь. Спасибо!

    • Тит, тогда нужно попробовать переустановить WordPress на англ. версию — это на вкладке «Обновления». Возможно, языковую константу нужно будет удалить из wp-config heccre.? но тут я не уверена, что обязательно. А потом найти в папке шаблона файл типа comments.php и его перевести на русский. То есть это будет так: сайт/wp-content/themes/название_темы/comments.php

      • Tit

        У меня получился. Спасибо вам большое!

  19. Макс

    Тема (Cherry) не реагирует на перевод. Переводил с помощью Codestyling Localization, потом с Poedit закидывал переведенные файлы и в файл lang темы и в папку languages в wp-content корня сайта. Менял и присваивал WPLANG значение ‘ru_RU’.
    */ define(‘WPLANG’, ‘ru_RU’); Не реагирует и все тут. И эта тема не первая… Хоть убей не пойму в чем дело, может вы сталкивались с чем то подобным???

  20. Владимир

    Вот спасибо Вам огромное, Лариса. А мне и в голову не пришло поискать такую программу. Протестирую потом Вам отпишусь.

  21. Владимир

    Программа протестирована, работает на все 100%, за что я Вам, Лариса, очень благодарен. Столько теперь сэкономлю времени и сил)

  22. Златко

    А если вы не хотите тратить свое время с переводом языков — или ищете многоязычную шаблону, то я рекомендую вам посетить этот сайт. Все уже переведено. http://www.ait-themes.club/ru/ Темы включают встроенную многоязычную поддержку, не требуется никаких дополнительных плагинов.

  23. Приветствую! Снова я заглянул на огонек веб кошки. Здесь я хочу поделиться, с вами как выполнить — перевод вашей темы, это можно сделать с программы (PoEdit). Я сделал перевод своей темы при помощи плагина, который можно найти на официальном сайте — WordPress org. Вот этот плагин «codestyling localization» вот об этом плагине и пойдет речь, а с настройками думаю, разберетесь.

  24. Dee

    Здравствуйте.
    У меня проблема не с переводом, а со сломанной темой WP. Дело в том, что на мобильных устройствах вылазит банер с чужой рекламой. Подскажите, как его можно отследить и удалить?
    Спасибо!

    • Читать вручную весь код. Я б начала с functions.php и далее по основным файлам…

      • Dee

        та ки делаю, но явных кодов не нашел. сейчас занимаюсь поиском зашифрованного в base24

  25. надо язык учить, не надо будет переводить ))

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *