Как перевести тему WordPress на русский? Обзор плагинов для создания локализации
Локализация шаблонов и плагинов WordPress помогает нам пользоваться продуктом на знакомом для нас языке. Также, локализация создает удобство пользования сайтом для посетителей. В целом, локализация повышает конверсию и создает комфортные условия для быстрой настройки сайта.
Как локализировать шаблон или плагин WordPress на русский язык (или любой другой)?
Для создания, перевода и обновления файлов локализации существует два плагина: Codestyling Localization и Loco Translate.
Работать с этим плагинами очень просто. Даже новичок разберется с их настройками и сможет сделать свой первый перевод.
У каждого из плагинов есть свои сильные и слабые стороны. Но, они оба достойны нашего внимания. Оба плагина прекрасно справляются с задачей создания файлов локализации и их перевода.
Какой из плагинов использовать вам? Смотрите видео и таблицу сравнения.
Смотреть видео
Для примера я взял премиум шаблон WoodMart и на его основе показал как создать файлы локализации в разных плагинах и чем эти плагины отличаются в работе.
Разновидность файлов локализации
Когда мы занимаемся локализацией шаблонов и плагинов WordPress, то мы обязательно соприкасаемся с файлами локализации.
.POT или Portable Object Template — это шаблон в котором присутствуют все строки для перевода. Но, в таком файле нет перевода и не указан конкретный язык перевода. На основе этого файла можно создать перевод на любой язык. Например, на основе файла .pot создается файл .po.
.PO или Portable Object — файл который содержит язык-оригинал и его перевод на конкретный язык. С этим файлом работает человек. В этот файл вносится перевод, комментарии, указывается автор перевода и комментарии.
.MO или Machine Object — это бинарная версия .po файла. Этот файл понимают машины и с ним работают. Из этого файла скрипты подтягивают перевод для выражений и терминов. А потому на сайт достаточно загрузить только лишь этот файл.
Сравнение плагинов для локализации
Функция | Codestyling Localization | Loco Translate |
---|---|---|
Бесплатный | + | + |
Настройки плагина | — | + |
Локализация WordPress | + | + |
Локализация шаблонов WP | + | + |
Локализация плагинов WP | + | + |
Создание файлов локализации (.PO). Сканирование продукта | + | + |
Создание файла локализации (.PO) из файла шаблона (.POT) | — | + |
Отображение всех текстовых доменов | + | — |
Просмотр кода файлов | + | + |
Быстрый поиск выражений и перевода | + | + |
Отображение количества строк в файле локализации | + | + |
Выбор места сохранения файлов локализации | — | + |
Перевод строк в файле локализации | + | + |
Компиляция файла .MO | + | + |
Информация о файле локализации (автор, дата изменения, вес файла) | — | + |
Скачивание файлов локализации | — | + |
Отметить перевод как неточный | — | + |
Вставка комментария | — | + |
Копирование файлов локализации в другую папку | — | + |
Перемещение файлов локализации в другую папку | — | + |
Ревизии и восстановление файлов локализации | — | + |
Удаление файлов локализации | + | + |
Работает ли перевод без этих плагинов | + | + |
Обновление и поддержка плагина | — | + |
Конфликт плагина с другими продуктами | Да | Нет |
Выводы
Codestyling Localization
Плагин Codestyling Localization — старый плагин, который был инструментом №1 для локализации. Но, к сожалению, он уже не обновляется и не поддерживается (последнее обновление 7 лет назад). Его можно еще скачать на github в виде версии 1.99.30 и 2.0.
Плагин имеет простой и понятный интерфейс. Никаких настроек — установил и работаешь. Плагин позволяет создавать и переводить файлы локализации.
Преимущество:
- Показывает все текстовые домены (домены локализации), которые использует автор продукта.
- Файлы локализации — полные, т.е. содержат все строки.
Недостаток: плагин не обновляется, что ведет к его устареванию.
Не смотря на то, что плагин больше не обновляется, он все же пока остается надежным инструментом для локализации шаблонов и плагинов WordPress.
Рекомендую его использовать для личных и коммерческих переводов.
После выхода WordPress 5.5 плагин Codestyling Localization перестал работать. Этот плагин давно уже не обновлялся, а появление WordPress 5.5 окончательно вывело его из игры. Но, WordPress 5.7 опять вернул плагин в строй. На сегодняшний день (июль, 2021 г.), плагин Codestyling Localization отлично работает.
Loco Translate
Создан 6 лет назад, переведен на 27 языков, больше 1 млн. активных установок. Свою популярность среди пользователей начал приобретать после того, как Codestyling Localization перестал обновляться и пользователи лишились надежного инструмента.
Плагин переведен на русский язык, работает стабильно и надежно. У плагина множество различных опций, которые позволяют создавать и переводить файлы локализации, добавлять комментарии, создавать копии файлов локализации, перемещать и удалять файлы локализации и многое другое.
Плагин Loco Translate больше подойдет для любительского перевода и правки существующих переводов на сайте. Как инструмент переводчика он слабоват.
Недостатки:
1.Не показывает все текстовые домены, которые встречаются в продукте, который мы переводим.
2. Файлы локализации могут быть неполными, если мы создаем файлы локализации путем сканирования исходного кода продукта. Но, плагин создаст полный файл локализации .PO, если файл шаблона .POT является полным и он присутствует (см. таблицу ниже).
Плагин сначала синхронизируется с файлом шаблона (.pot), если таковой имеется (в видео такой был). Если файла шаблона нет, то плагин предлагает создать такой файл. Плагин сканирует папку продукта и создает шаблон (.pot). Потом мы из этого шаблона создаем файл локализации (.po).
При создании файла .PO путем сканирования исходного кода продукта мы получим неполный файл. Небольшую часть выражений плагин теряет из виду. Я думаю, что причина в том, что плагин игнорирует часть файлов продукта.
Чтобы плагин увидел больше строк, нужно в его настройках изменить опцию: Настройки — Опции сайта — Пропустить PHP файлы больше.
Укажите вместо 100К — например 500К. После этого плагин находит больше строк, но не все.
В опции «Scan JavaScript files with extensions» — можно указать js (чтобы захватить еще больше файлов). Потом нажимаем Синхронизация на странице перевода. У меня плагин долго синхронизировался, а потом выдал ошибку:
В документации к плагину написано, что поиск в js-файлах является экспериментальной функцией:
При создании файлов локализации плагин Loco Translate хорошо работает с файлом .POT, но, плохо работает с исходным кодом продукта.
Учитывая эти моменты я рекомендую плагин Loco Translate использовать только в личных проектах и для себя.
Напишите в комментариях, если у вас получилось с помощью плагина Loco Translate получить полные файлы локализации.
Таблица
Различные инструменты в различных условиях по-разному находят и добавляют строки в файлы локализации.
Для примера взята премиум тема WoodMart 4.3.0
Задача: создать файлы локализации для перевода темы.
Инструмент | Добавление строк из файла .POT | Добавление строк из исходного кода продукта |
---|---|---|
Плагин Codestyling Localization | — | 2401 |
Плагин Loco Translate | 2407 | 2342 |
Программа Poedit | 2407 | 2408 |
В следующих статьях, я покажу как все эти инструменты по-разному обновляют старые файлы локализации для новой версии продукта.
Локализация темы WoodMart
Когда мы создаем новые файлы локализации для темы WoodMart, они имеют название ru_RU.po и ru_RU.mo, и если вы делали все по видео, то файлы лежат в папке /wp-content/themes/woodmart/languages/
Чтобы подключить русификацию в виде файлов локализации для WoodMart вам необходимо выполнить следующее:
- Переименуйте файлы локализации с ru_RU.po и ru_RU.mo на woodmart-ru_RU.po и woodmart-ru_RU.mo
- Загрузите файл woodmart-ru_RU.mo на сайт, в папку: /wp-content/languages/themes/
Файлы локализации в этой папке не затираются после обновления шаблона.