Руководство для начинающих по переводу WordPress шаблонов

Редактирование шаблона WordPress не займет много времени. Работая с PHP всего 1-2 часа в день можно многому научиться. Для описания данного урока, давайте попытаемся углубиться в тему перевода шаблона WordPress. Следите за нашими инструкциями ниже. Мы расскажем, как получить и правильно установить языковые пакеты. Приготовьтесь, мы пойдем более сложным путем и затронем более сложные внутренние функции WordPress. Об этом полезно знать при обновлении текстовой информации, метаданных и нижних колонтитулов.

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

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

Если вы хотите следовать этому пути, рекомендуем вам скачать специальную программу для перевода файлов Poedit.

Чтобы настроить WordPress, вам необходимо заменить лишь глобальные переменные внутри файла wp-config.php. Обычно английский является языком по умолчанию, однако WordPress действительно поддерживает целое множество дополнительных языков. В новых темах разработчики готовы предложить своим пользователям поддержку перевода шаблона на другие языки. Возможно, эта мысль хороша, но претворить ее в жизнь на старте не так уж и просто, однако мы хотим заложить основу для дальнейшего продвижения этой идеи.

Новые настройки языка

Каждый новый язык шаблона — это отдельный набор файлов .po и .mo. Обычно эти файлы используются в качестве библиотеки для поиска конкретных фраз и замены их переведенным текстом. В Poedit это делается в автоматическом режиме.

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

С помощью программы Poedit мы можем собрать воедино все ключевые слова и функции, связанные с переводом шаблона WordPress. Откройте программу и перейдите в меню Файл — Новый каталог. Введите необходимые детали на вкладке «Информация о проекте», которые связаны с текущей WordPress темой. На вкладке с названием Пути вводим путь доступа к файлам проекта. Используйте одну точку (.), если файлы проекта и локализации будут находиться в одном каталоге и две точки (..) – если языковые файлы будут помещены в специальную подпапку.

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

  • __
  • _e
  • _n:1,2
  • _x:1,2c
  • _ex:1,2c

Пользовательские функции WordPress

Каждый из этих символов представляет собой имя функции перевода WordPress. Все текстовые строки, которые подлежать переводу, помещаем в данные функции:

А теперь давайте посмотрим, что означает каждая из представленных функций. __ () и _е () являются самыми основными формами перевода. __ () – возвращает исходный текст, _е () – выводит повторяющийся текст. Обе функции осуществляют поиск в файлах .mo и .po на наличие совпадений.

_n () – функция, позволяющая работать со словами во множественном числе. К примеру, слово «комментарий» благодаря данной функции теперь будет отображаться ровно с таким окончанием, которое будет соответствовать количеству (один комментарий/два комментария/ десять комментариев и т.д.). Вот так выглядит код данной функции:

echo _n( ‘There is a comment’ , ‘There are comments’ , get_comments_number() );

Функция _x () немного сложнее и большинство разработчиков ее практически не используют. _x () – используется для идентификации слов с похожим значением и контекстом. Возьмем, к примеру, слова «проект» и «производство». Речь идет о веб-сайте или проецировании? И мы говорим о производстве качественного контента или о продуктах, растущих в саду? Функция _x () принимает и сортирует различные уровни контекста для тех языков, в которых он может восприниматься неоднозначно.

Здесь начинается развитие

Для разработчиков, которые читают эти строки, мы рекомендуем экспериментировать в области перевода пользовательских фраз в шаблоне. Это отличная практика, которая не несет в себе значительной разрушающей силы для сайта. После изменения и обновления всех ваших файлов в Poedit, запускайте сайт, который будет использовать уже обновленный файл .pot.

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

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

В заключение

Надеемся, данное руководство несет в себе ценную информацию для начинающих WordPress веб-разработчиков. Изучение внутренних составляющих системы – дело довольно хлопотное, особенно если приходится углубляться в PHP код. Файлы перевода значительно облегчают процесс работы с WordPress, ведь знакомиться с движком на родном языке гораздо удобней и понятней.

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

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

  1. Ангелиночка!

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

  2. В список ключевых слов я бы добавил еще функций:
    _n_noop:1,2
    _nx:1,2,4c
    _nx_noop:1,2,3c
    esc_attr__
    esc_attr_e
    esc_attr_x:1,2c
    esc_html__
    esc_html_e
    esc_html_x:1,2c
    Они часто используются при локализации.

    Также для русского языка и для славянских языков в частности, нужно использовать правильный формат множественного числа. В русском языке есть три формы множественного числа например: 1 товар, 2 товара, 5 товаров. Поэтому для него правильно использовать следующие выражение:
    nplurals=3; plural=(n%10==1 && n%100!=11) ? 0 : ((n%10>=2 && n%10<=4 && (n%100=20)) ? 1 : 2);
    В случаи если понадобятся другие формы множественного числа, можно использовать выражения для двух форм (английский язык например)
    nplurals=2; plural=n != 1;
    или для четырёх форм (словенский язык)
    nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>