Polylang — WordPress плагин для переключения языка сайта

Читати цю статтю українською

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

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

Для меня лично кривоватый автоматический перевод – не выход, а заводить отдельный поддомен для другой языковой версии сайта не хочется. Так что воспользуемся довольно хорошим плагином WordPress для переключения языка сайта – Polylang. Есть также похожий по функционалу qtranslate X. Что ближе Вам – смотрите сами. Я свой выбор сделал.

Итак, первое, что нам нужно – установить сам плагин на сайт. Сделать это легко стандартным методом – Заходим в админку сайта, переходим в раздел Плагины – Добавить новый.

Установка плагина Polylang для WordPress

В поисковой строке пишем Polylang и жмем Установить. После успешной установки нам остается его Активировать. Кстати, сейчас плагин уже обновился и у вас там все меню настройки будет не на английском.

Результатом станет новый раздел в Консоли – Languages. Туда и переходим, но пока не в раздел Settings, а в именно в раздел Languages. Там нам нужно добавить необходимые языки для нашего сайта.

Настройка плагина Polylang для WordPress

В моем случае – это будет русский и украинский. Для это справа в выпадающем списке выбираем нужный язык и жмем внизу кнопку Add new language. Обратите внимание – в поле Order вписываем нужный порядковый номер языке, который у него будет в выпадающем списке языков. Первым у меня будет украинский язык, он же будет установлен по умолчанию для сайта.

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

Добавление языков для сайта WordPress

Обратите внимание! Если у вас уже есть статьи на сайте, вверху появится уведомление, что найдены Страницы, Посты, Категории для которых не установлен язык. Если нажать ссылку рядом, то всему этому делу автоматически присвоится язык по умолчанию для сайта. Это здорово облегчает жизнь, но есть нюанс. Когда вы переключите язык сайта на другой, у вас, естественно, будет пустой сайт, так как все материалы станут доступны только для языка по умолчанию. Потому не пугайтесь, ничего не пропало, но стало недоступно для нового языка. Переключив снова на основной язык, все вернется.

Еще один важный момент – если вы для существующего поста установите другой язык, то автоматически измениться его URL, в зависимости от того, как именно вы настроите постоянные ссылки для нового языка. Таким образом, чтобы ваши пользователи не видели страницу 404 для старых постов, не советую менять язык для существующих страниц и постов. Как сделать правильно – напишу дальше, когда дойдем к вопросу добавления перевода для постов.

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

Правильная настройка плагина Polylang для WordPress

Переходим в раздел настроек плагина – Languages – Settings. Первая настройка URL modifications поможет настроить как именно будут формироваться постоянные ссылки для других языков. Благодаря примерам вам не составит труда разобраться, что к чему. Все настройки по умолчанию вполне подходят, если вам нужно что-то особенное – крутите и пробуйте менять эти настройки. Чтобы не было 404 ошибки проверьте галочку напротив пункта Hide URL language information for default language. Это сохранит все существующие ссылки на ваши посты от изменений.

Если вы что-то меняете в настройках этого раздела – не забудьте зайти в меню Настройки – Постоянные ссылки и нажать там кнопку Сохранить, чтобы обновить ваши url.

Настройка постоянных ссылок для WordPress
Настройка постоянных ссылок для WordPress

Следующий пункт настроек плагина Polylang для мультиязычного сайта на WordPress — Detect browser language. По умолчанию она неактивна, но вы можете ее включить, и в зависимости от языка браузера пользователю будет открываться сайт на том же языке, а не на языке по умолчанию (если вы добавили такой язык для своего сайта, конечно же). Переключать пользователю язык самостоятельно или отдать это дело на волю судьбы и браузера – решать вам. Следует отметить, что эта штука не так уж хорошо работает, поскольку время от времени при переходе на главную выбивает российскую версию сайта, вместо того, чтобы всегда загружать украинскую версию.

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

Если у вас стоят какие-то плагины типа WooCommerce, то зайдите в настройки Custom post types and Taxonomies и поставьте там галочки для товаров, категорий и прочего. В разделе Synchronization рекомендую поставить все галочки. Ну и в разделе Tools можете поставить галочку, чтоб удалить все изменения в случае удаления плагина Polylang.

Делаем мультиязычное меню и добавляем переводы записей

Теперь нам нужно решить, где именно будет переключатель языков сайта – его можно засунуть в Главное меню, а можно добавить в удобное место через Виджеты. Решать вам. Я решил пока засунуть переключатель в главное меню. Для этого заходим в меню Внешний вид – Меню. Справа появился новый пункт Language switcher. Ставим Галочку на Languages и жмем Add to Menu. Новый пункт добавился, можем раскрыть его и сделать нужные настройки. Я решил сделать выпадающий список, показывать флаги, а для экономии места в меню снял галочку с отображения названия языка.

Добавляем переключатель языков для WordPress

Что ж, теперь переходим к самому интересному – будем делать меню для разных языков. Но для начала, если у вас в меню ссылки на страницы, нам нужно создать соответствующие страницы для нужных языков. Так что переходим в раздел Страницы, открываем их и жмем на плюсик возле языка, для которого нет перевода:

Добавление перевода для страниц WordPress
Добавление перевода для страниц WordPress

Открывается добавление новой страницы, пишем всё заново или переводим тем же Google Translate существующую, проверяем насколько хорошо выглядит будущий url (постоянная ссылка), если всё нравится — публикуем страницу. Таким же образом формируем переводы для всех страниц.

Вот теперь можем заняться и самим меню для каждого из языков. Снова переходим в Внешний вид – Меню. Раскрываем каждый из пунктов меню, делаем локализацию в случае необходимости, меняя текст ссылки.

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

Делаем меню для мультиязычного сайта на WordPress

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

Вот и готово! Теперь у нас есть свое меню для каждого языка сайта, есть переключатель языков в главном меню. Если вам нужно сделать сам переключатель в другом месте – воспользуйтесь виджетом. Заходим туда же Внешний вид – Виджеты. У нас есть новый виджет Language switcher – пихаем его в нужное место и сохраняемся.

Что ж, теперь при переключении языка сайта у нас есть практически новый сайт, который только предстоит наполнить. Для новых постов (записей – как это называется в WordPress) мы сами указываем для какого языка будет доступен данный пост, а если нам нужен этот пост для всех языков – что ж, придется переводить самостоятельно. Для этого повторяем всё как и для новой страницы: написав пост для одного языка, нажимаем вверху справа на плюсик для нужного языка и пишем аналогичный пост для других языков. Обращаем внимание на то, какая формируется постоянная ссылка для переводных постов. Поскольку в плагине Polylang это дело вынесли в платную версию, то теперь постоянная ссылка формируется для поста с переводом с той же постоянной ссылкой и порядковым номером. Если нужно красивее – правьте сами, например, на том же английском.

Добавление перевода для постов WordPress

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

Что касается старых заметок, которые уже есть на сайте, как и обещал выше, рассказываю. Тут всё как и со страницами – открываете их и добавляете им перевод. Но не меняйте им язык, которым вы им уже присвоили по умолчанию. Иначе постоянные ссылки на них изменятся (появится приписка с названием языка) и у вас будет 404 ошибка. Если вы всё же решили менять им язык, то проследите, чтобы старая постоянная ссылка вела на материал на новом языке.

Подводим итоги. В результате всех этих манипуляций мы имеем многоязычный сайт на WordPress, а кроме этого — дополнительный объем работы, так как придется фактически писать статьи для каждого установленного языка. Даже перевод через гугл всё равно придется редактировать. Перевести даже этот небольшой пост с русского на украинский оказалось нелегким делом и заняло почти час времени.

Я не против украинского языка, это нужное дело, а закон «Об обеспечении функционирования украинского языка как государственного» безумно важен и нужен, но заставляет иметь украинскую версию сайта, а поэтому работы у нас с вами значительно прибавилось.

Удачи!

Поделиться:

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

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