Локализуем и делаем перевод темы WordPress за 5 шагов

Статьи 26.06.2022 (обновлено)

В этом материале мы поговорим о том, как сделать локализацию и перевод темы WordPress.

Перевод темы WordPress или локализация
Перевод темы WordPress или локализация

Перевод темы WordPress или локализация

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

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

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

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

Шаг 1. Функция load_theme_textdomain

Первый шаг — включить в файл functions.php функцию, которая будет искать в каталоге вашей темы файл локализации locale.mo и загружать его (где locale — текущий язык, т.е., например, pt_BR.mo). Подробнее об этом есть в кодексе WordPress.

1. Добавляем следующую функцию в файл functions.php вашей темы:

load_theme_textdomain( 'framework', get_template_directory() . '/lang' );

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

3. Измените путь к шаблону. Вместо /lang укажите папку, где вы будете хранить файлы .po и .mo.

Шаг 2. Локализация темы

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

1. Заменяем echo функции

Вместо использования функций echo для показа текста

<?php echo 'Some string'; ?>

Используйте функцию _e(' '):

<?php _e( 'Some string', 'framework' ); ?>

2. Заменяем «голые» строки

Вместо «голых строк»

<?php echo '<h2>Some string</h2>'; ?>

Используйте функцию _(' '):

<?php echo '<h2>' . __('Some string', 'framework') . '</h2>'; ?>

3. Изменяем обычный текст

Вместо обычного текста

Hi I am Text

Используем функцию _e(' '):

<?php _e('Hi I am Text','framework')

Шаг 3. Создаем файлы .po и .mo и добавляем текстовый домен в файл functions.php

Теперь, когда ваша тема готова, вы можете создать файлы .po и .mo, которые используются для перевода. В этом руководстве я использую программу Poedit.

1. Откройте Poedit и перейдите в File –> New Catalog

2. Введите Name (имя) для информации о вашем проекте (подойдет название вашей темы)

Локализуем и делаем перевод темы WordPress за 5 шагов

3. Перейдите на вкладку Paths (пути) и введите путь к файлам, которые нужно перевести. Лично я помещаю свои файлы .po и .mo в папку lang в моей теме, поэтому мой базовый путь — ../.

Локализуем и делаем перевод темы WordPress за 5 шагов

4. Перейдите на вкладку Keywords (ключевые слова) и введите _ и _e для ключевых слов (они были использованы в шаге 2 локализации темы)

Локализуем и делаем перевод темы WordPress за 5 шагов

5. Теперь сохраните файл .po по умолчанию в папке lang вашей темы.

Локализуем и делаем перевод темы WordPress за 5 шагов

Шаг 4. Перевод файла .po и создание нового файла .mo

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

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

1. Переводим файл default.po

Чтобы перевести файл default.po, достаточно открыть его в Poedit и ввести перевод для каждого значения — нажмите на строку текста и введите перевод, как показано на рисунке ниже:

Локализуем и делаем перевод темы WordPress за 5 шагов

2. Сохраняем новый файл с переводом

Теперь вам нужно сохранить переведенный файл .po, используя определенное соглашение об именах.

Соглашение об именах основано на коде языка (например, pt для португальского), за которым следует код страны (например, _BR для Бразилии). Таким образом, файл на бразильском португальском языке будет называться pt_BR.mo. См. по ссылкам полный список кодов языков и кодов стран, чтобы точно определить свой регион.

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

pt_BR.po
pt_BR.mo

Как показано в примере, при сохранении файла .po программа PoEdit автоматически создаст для вас файлы .po и .mo.

3. Добавляем новый .mo файл в языковую папку темы

Файл .mo, созданный в пункте 2 этого шага, нужно поместить в папку /lang вашей темы (или туда, куда вы указали в шаге 1 этого руководства).

Шаг 5. Меняем язык на сайте

Теперь просто перейдите в Settings -> General (Настройки -> Общие) и измените опцию Site Language (Язык сайта).

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

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

Сергей Ермилов
Опубликовано 26.06.2022
Категория: Статьи
Теги:
Источник

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

Ваш адрес email не будет опубликован.