logo

Переводим тему WordPress плагином и программой

Разместил , . Последнее изменение: 2018-12-25. / 9 комментариев

переводим тему WordPress

  1. Как устроен принцип перевода на WordPress.
  2. Готова ли тема WordPress, плагин к переводу?
  3. Перевод темы с помощью программы Poedit.
  4. Перевод темы WordPress плагином Loco Translate.
  5. Плагин Codestyling Localization.

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

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

В большинстве случаев заниматься поиском английских слов и их заменой напринцип действия gettext русские в исходных .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.

тег готовности к переводу на сайте WordPress

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

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

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

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

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

  1. Устанавливаем саму программу , тем из архива с темой достаём папку "languages".
  2. Открываем программу Poedit жмём на кнопку "новый перевод" → выбираем файл в папке "languages" с расширением .pot → вводим код нужного нам языка ru_RU, именно вводим а не выбираем русский язык!
  3. Теперь, перед нами откроет окошко для перевода, здесь нужно перевести исходный текст и ввести его в строку перевода и повторить для каждого элемента. У вас будет 10 автоматических бесплатных переводов, но гугл переводчик никто не отменял. Также сохраняйте знаки такого типа %1$s или %s. Прежде чем начать переводить, советую посмотреть как переведены другие темы и уже потом приступать к переводу.
    Переводим тему WordPress плагином и программой
  4. После перевода элементов нажимаем сохранить.
  5. Всовываем новые файлы ru_RU.po ru_RU.mo в архив с темой в папку "languages".
  6. Устанавливаем тему WordPress (внешний вид → добавить новую→загрузить тему→выбрать архив), смотри корректность перевода. При неудачном переводе можно отредактировать ru_RU.po этой же программой.
  7. Если перевод не отображается то смените локализацию самого движка на русскую в файле конфигураций. Измените константу WPLANG следующим образом:
    define( 'WPLANG', 'ru_RU' );

    А также вы можете помочь автору, передав ему свой перевод.

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

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

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

  1. Скачиваем плагин , устанавливаем, активируем.
  2. Наблюдаем появление новой кнопки в панели слева "Loco Translate" → тыкаем на нее.
  3. Попадаем на домашнюю страницу плагина. Тут видим название активной темы и кнопку просмотра всех тем. Нажимаем на нужную тему.Переводим тему WordPress плагином и программой
  4. Попадаем на другую страницу → жмем "New language"→ открывается новая страница на которой выбираем русский язык → и жмем "Start translating" (другие настройки можно не трогать).Переводим тему WordPress плагином и программой
  5. Попадаем на страницу, где собственно и начинается сам перевод темы. Рабочее пространство разделено на несколько частей: кнопки управления, исходный текст, перевод на русский, комментарии. При переводе сохраняйте все, на первый взгляд, непонятные знаки, к примеру, %1$s или %s. Прежде чем начать переводить, советую посмотреть как переведены другие темы и уже потом приступать к переводу.Переводим тему WordPress плагином и программой
  6. Как перевод окажется готовым, нажимаем кнопку "Save" и радуемся русским словам на главной странице сайта с: Если увидите недочеты в переводе, то плагин также поможет их исправить. После создания перевода "вашей мечты" можно деактивировать и удалить плагин.

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

Плагин Codestyling Localization

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

  1. Скачиваем, устанавливаем и активируем сам плагин.
  2. Переходим в инструментылокализация → находим нужную тему → нажимаем "Добавить новый язык".Переводим тему WordPress плагином и программой
  3. Из списка выбираем русский и тыкаем "создать po-файл"Переводим тему WordPress плагином и программой
  4. Нажимаем кнопку "сканировать",а затем кнопку "редактировать". В появившемся окне переводим все нужные компоненты  и нажимаем кнопку "генерировать mo-файл" и проверяем успешность перевода.Переводим тему WordPress плагином и программой
  5. Если редактировать ничего не надо, то смело удаляем или просто деактивируем плагин для меньшей нагрузки на сервер.

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

12345
Поделиься
Отправить

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

  • Огромное спасибо за полезную информацию

  • Вы можете объяснить как плагин работает, и почему он не находит переводы в файлах?

    • Как уже писал тема должна быть готова к переводу, т. е. в файлах темы должен быть скелет перевода (.pot) в отдельном фале. Если его нет то плагин попробует сам его создать.

      • Вы меня не совсем поняли.
        Допустим, я настроил уже шаблон переводов, добавил языки и работаю.
        Потом, в каком-нибудь файле, например, в functions.php, я добавил новую строку для перевода

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

        Просто когда я вам писал, строка у меня выглядела __( 'Our Services', 'bs-dental' ), без esc_html, и шаблон ее не находил.

        Теперь уже все в порядке.

        А в другой теме все было наоборот.

        Понимаете теперь в чем вопрос?

        • Рад, что проблема решилась, если доберусь до причины сообщу.

  • Благодарю за статью! Выручил плагин Loco Translate.
    Сам бы я точно не нашел бы где исправлять

  • Огромная благодарность!

  • Спасибо вам!!!

  • Огромное вам спасибо, помогли!

Оставить комментарий

* Возможна анонимная отправка комментария.

Согласен с политикой конфиденциальности *