Настройка плагина WPML для мультиязычности WordPress

Наша компания занимается разработкой, поддержкой и обслуживанием сайтов любой сложности. От простых одностраничных сайтов до масштабных кластерных систем построенных на микро сервисах. Опыт разработчиков подтвержден сертификатами от вендоров.
Разработка и обслуживание любых видов сайтов:
Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 2065 услуг
Настройка плагина WPML для мультиязычности WordPress
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1214
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    852
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1041
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    823
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    815

Настройка плагина WPML для мультиязычности WordPress

WPML (WordPress Multilingual Plugin) — платный плагин для создания многоязычных сайтов на WordPress. Используется на сотнях тысяч сайтов и де-факто является стандартом для серьёзных мультиязычных проектов с поддержкой WooCommerce.

Компоненты WPML

WPML состоит из нескольких плагинов, устанавливаемых отдельно:

  • WPML Multilingual CMS — ядро, без которого ничего не работает
  • WPML String Translation — перевод строк темы, плагинов, виджетов
  • WPML Translation Management — рабочие процессы перевода с назначением переводчиков
  • WPML Media Translation — отдельные изображения для разных языков
  • WooCommerce Multilingual — поддержка товаров, атрибутов, вариаций, корзины

Минимальный набор: CMS + String Translation. Для интернет-магазина добавляется WooCommerce Multilingual.

Языковая структура URL

WPML поддерживает три варианта:

1. Разные поддомены:   ru.example.com / en.example.com
2. Подпапки:           example.com/ru/ / example.com/en/
3. Разные домены:      example.ru / example.com

Подпапки — самый распространённый вариант. Настраивается в WPML → Languages → Language URL format.

Создание переводов контента

Переводы создаются двумя способами:

Вручную: в редакторе поста появляется блок «Translation» с кнопками для каждого языка. Нажав «+» или карандаш, открывается редактор перевода с оригиналом и переводом рядом.

Через Translation Management: посты отправляются в очередь переводов, назначаются переводчикам (локальным или через WPML Translation Services), возвращаются с переводом.

Перевод строк темы и плагинов

WPML → Theme and Plugins Localization
→ Выбрать тему → Scan for strings

После сканирования все строки появляются в String Translation для ручного перевода или загрузки через .po/.mo файлы.

Строки с JavaScript-вставкой через wp_localize_script сканируются автоматически начиная с WPML 4.5.

Настройка WooCommerce

После установки WooCommerce Multilingual:

  1. WPML → WooCommerce Multilingual → Products — переводить ли каждый товар отдельно или синхронизировать поля
  2. Currencies — можно задать разные валюты для разных языков (EUR для немецкого, GBP для английского)
  3. Shipping — способы доставки переводятся отдельно

Таблица соответствий переводов: wpml_translations хранит trid (translation group id), language_code, element_id (post_id), element_type (post/post_type).

Программный доступ к переводам

// Получить ID перевода поста на конкретный язык
$translated_id = apply_filters( 'wpml_object_id', $original_post_id, 'post', true, 'en' );

// Получить текущий язык
$current_language = apply_filters( 'wpml_current_language', null );

// Переключить язык программно
do_action( 'wpml_switch_language', 'de' );
$german_posts = get_posts( [...] );
do_action( 'wpml_switch_language', null ); // восстановить

Синхронизация полей

В WPML → Settings → Custom Fields Translation задаётся, что происходит с кастомными полями поста при переводе:

  • Copy — скопировать значение в перевод (для числовых полей, дат)
  • Copy once — скопировать только при первоначальном создании перевода
  • Translate — поле переводится независимо
  • Ignore — не копировать

ACF-поля определяются автоматически через интеграцию с ACF.

Типичные проблемы

Дублирование контента в поиске — если sitemap генерируется Yoast без учёта языков. Решение: в Yoast включить поддержку WPML в Yoast SEO → Integrations, или использовать WPML XML Sitemap.

Пустые переводы в REST API — при обращении к /wp-json/wp/v2/posts возвращаются посты только текущего языка. Для явного указания языка: добавить параметр ?lang=en к запросу (WPML добавляет этот параметр).

Медленный сайт — WPML добавляет JOIN к каждому WP_Query. На больших базах (10k+ постов, 3+ языка) это ощутимо. Решение: индексы на wpml_translations.trid, кеш объектов (Redis/Memcached).

Сроки

Установка и настройка языков, перевод существующего контента до 50 страниц — 2–3 рабочих дня. Магазин WooCommerce, кастомные типы записей, настройка Translation Management с переводчиками — 4–6 дней.