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

А теперь давайте приступим к переводу.

Как перевести тему для WordPress на другой язык

Эта инструкция годится только для тех тем, которые оптимизированы для перевода. Обычно у таких тем есть файлы перевода, которые находятся в папке название_темы/languages. А в самой папке будет лежать шаблон перевода с расширением .pot.

Но бывают и плохие случаи. Я их уже давно не встречал, но раньше часто попадались, когда все надписи вшиты в файлы шаблонов и другие файлы вроде functions.php, причём таким образом, что извлечь их для формирования локализации не получалось. Тогда придётся делать дочернюю тему, переносить все файлы шаблонов в неё, а потом переводить.

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

Так что если вам попалась подобная тема, то лучше обойти её стороной.

Если же тема оптимизирована для перевода, то нужно выполнить следующие шаги:

  1. Скачать программу poedit: https://poedit.net/wordpress. Она бесплатная.

  2. Скачать файл с темой WordPress, распаковать её на ПК.

А теперь давайте дам пошаговую инструкцию со скриншотами.

Пошаговая инструкция по переводу темы для WordPress

Итак, в первую очередь качаем программу poedit и устанавливаем. Найти можете по адресу: https://poedit.net/download.

Программа бесплатная, хотя в Pro-версии поддерживает массовое редактирование строк, а также предлагает варианты переводов от сообщества и автоматический машинный перевод, так что иногда можно перевести сайт очень быстро.

Но это стоит того, если вам нужно перевести много тем или желаете сэкономить время. Но можно воспользоваться и бесплатной версией. Её вполне достаточно для перевода. Русская локализация у poedit есть.

Итак, устанавливаем программу, открываем. В открытом окне нам нужно выбрать «Создать новый». А потом найти файл с названием «название_темы.pot».

Создание нового перевода в Poedit

Файл шаблона перевода .pot будет располагаться по адресу название-темы/language. Вам нужно открыть именно его. Но не у всех тем такой файл есть.

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

Выбор языка перевода в poedit

Если такого файла нет, то идём другим путём, открываем poEdit и нажимаем кнопку «Создать».

Создание нового перевода в poedit

Выбираем язык перевода.

Выбор языка в Poedit

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

Сохранение шаблона в Poedit

А потом нажимаем кнопку «Извлечь из исходного кода».

Извлечение фраз для перевода из исходного кода

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

Выбор папок и файлов для извлечения исходного кода для перевода в Poedit

Также нужно добавить ключевые слова для поиска текста для перевода.

Добавление ключевых фраз в Poedit

Более подробный список ключевых слов вы найдёте здесь: https://gist.github.com/jarrodfreeman/c233dd025455b53518eb9f8b2d30cacb.

К сожалению, вставлять ключи придётся по одному.

А теперь приступаем к переводу. Обращайте внимание на предложенные варианты перевода от сообщества, они могут содержать ошибки. Банальный пример:

Ошибка в переводе от сообщества Poedit

Итак, продолжаем перевод и сталкиваемся с такой ситуацией, ибо у нас есть выражение:

%d Comments:

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

  • 2 или 22 комментария;

  • 100 комментариев;

  • 1 комментарий.

А, значит, нам нужно задать форму множественного числа. Конечно, это зависит от того, поддерживает переводимая тема Plural (множественное число) или нет.

Для этого идём в раздел «Перевод» → «Свойства».

Свойства перевода в Poedit

Вариант по умолчанию для русского подходит. Но знайте, что есть языки, у которых и 4 формы для единственного и множественного числа, так что какой вариант вам подойдёт, зависит от языка.

Рекомендую ничего не менять, просто для ознакомления, чтобы было понятно, как это работает.

Настройка множественного числа в Poedit

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

Предупреждение об ошибках в переводе

После того как завершите перевод, просто сохраните файл с названием вашего языка:

  • ru_RU — русский;
  • de_DE — немецкий;
  • en_EN — английский.

Какой у вас язык можете посмотреть в файле wp-config.php.

Готово, частенько язык подхватывается темой сам, но если этого не случилось, то сейчас поведаю, как это сделать.

Как подключить перевод к теме для WordPress

Можно, конечно, просто сбросить перевод в папку основной темы. Но даже это не всегда срабатывает. Иногда требуется подключить локализацию. В таком случае в файле functions.php требуется прописать следующий хук:

function lang_load_theme_textdomain(){
	load_theme_textdomain( 'theme_name', get_template_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'lang_load_theme_textdomain' );

Где вместо theme_name должно быть название вашей темы, найти вы его можете в style.css вашей родительской темы, там нужно найти Text Domain.

Text-domain для перевода

get_template_directory() означает, что переводы подключаются из родительской темы.

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

function lang_load_child_theme_textdomain(){
	load_child_theme_textdomain( 'theme_name', get_stylesheet_directory() . '/languages' );
}
add_action( 'after_setup_theme', 'lang_load_child_theme_textdomain' );

Где get_stylesheet_directory() означает, что файл переводов расположен в папке дочерней темы.

Название темы (Text Domain) остаётся таким же, как и у родительской темы.

Как видите, подключить переводы к родительской и дочерней теме WordPress довольно легко.

Как перевести плагин для WordPress на другой язык: пошаговая инструкция

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

Итак, выполняем следующие шаги:

  1. Скачать программу poedit: https://poedit.net/wordpress. Установить её. Она бесплатная. Но у бесплатной версии нет поддержки машинного перевода, а также многих других возможностей, так что придётся перевести все строки плагина вручную.

  2. Скачать файл с плагином WordPress, распаковать его на ПК.

А теперь небольшое вступление. С плагинами, которые не поддерживают перевод, всё немного сложнее, ибо если для темы можно сделать дочернюю, то для плагина только расширение. Но не все плагины сие дело поддерживают. Когда делаешь расширение, приходится цепляться непосредственно за функционал плагина, а нужного функционала у «родительского» плагина может просто и не быть. Особенно для встраивания перевода.

Соответственно, плагин придётся переводить как есть.

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

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

Для начала открываем программу poedit. А теперь два пути. Начнём с первого, самого простого, в котором уже есть шаблон перевода в папке плагина.

Тогда после открытия просто нажимаем кнопку «Просмотр файлов».

Просмотр файлов в Poedit

А после найдите файл шаблона .pot, находиться он будет, скорее всего, в папке \название-плагина\languages. Откройте его, теперь можете приступать к переводу. Чуть дальше расскажу, что именно нужно делать.

Интерфейс переводчика в Poedit

А теперь ко второму случаю: перевода нет. В таком случае его нужно сформировать с нуля. В таком случае нажмите кнопку «Создать».

Создание нового перевода в Poedit

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

Выбор языка в Poedit

А теперь нажмите кнопку «Извлечь из исходного кода».

Извлечение текста для перевода из исходного кода в Poedit

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

Настройка свойств перевода в Poedit

Теперь добавьте сразу всю папку для извлечения кода для перевода или отдельные файлы.

Добавление файлов и папок для извлечения перевода в Poedit

А теперь нужно добавить ключевые слова для извлечения кода.

Добавление ключевых слов для поиска фраз в Poedit

Полный список ключевых слов можете найти на этом сайте: https://gist.github.com/jarrodfreeman/c233dd025455b53518eb9f8b2d30cacb. К сожалению, такое придётся проворачивать с каждым проектом. Либо покупать Pro-версию(

Теперь можете приступать к переводу плагина.

Перевод в Poedit

После того, как закончите перевод, просто сохраните его в папке плагина/languages (закиньте туда файлы перевода .po и .mo ru_RU). И если плагин изначально не поддерживал перевод, то нужно подключить его.

Как подключить перевод к плагину WordPress

Для этого в исполняемый файл плагина нам нужно добавить функцию:

function plugin_localize_gut() {
load_plugin_textdomain( 'plugin_name', true, basename( dirname( __FILE__ ) ) . '/languages/' );
}
add_action( 'init', 'plugin_localize_gut' );

Где plugin_name — название папки плагина. Исполняемый файл имеет такое же название, как и папка плагина, только формат .php.

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

Перевод плагинов и тем для WordPress — это просто

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

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

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

Если материалы с данного сайта были полезны, и вы желаете поддержать блог, то можете воспользоваться формой по ссылке: Донат на поддержку блога