Как настроить плагин polylang

Как сделать ресурс на WordPress мультиязычным

Плагин Polylang – удобный инструмент создания многоязычных сайтов на WordPress. В отличие от WPML, у расширения есть бесплатная версия, возможности которой устраивают большинство пользователей. Расширение полностью интегрируется в Elementor и добавляет в визуальный конструктор виджет переключателя языков Polylanguage Switcher. Переключатель вставляется в виджет или навигационное меню. С помощью функции pll_the_languages() можно разместить Switcher в произвольном месте шаблона.

Общие сведения о плагине:

  • разработчик: DeckerWeb, Дэвид Декер;
  • версия WordPress: 4.7 и выше;
  • проверена совместимость до версии WP: 5.4.2;
  • версия PHP: 5.6 и выше;
  • текущая версия плагина: 1.0.0;
  • последнее обновление: 4 месяца назад;
  • локализация: английский, французский, немецкий;
  • рейтинг WordPress: 5.00;
  • количество активных установок: 30000+;
  • цена: бесплатно/99 евро.
  • поддержка языков RTL (арабский, иврит, другие);
  • создание копий страниц/записей на других языках;
  • перевод меню и виджетов;
  • перевод записей, страниц, тегов, категорий и так далее;
  • интеграция Polylang в Elementor Finder;
  • опция установки переключателя языков customize polylanguage switcher;
  • перевод пользовательских типов записей и таксономий;
  • добавление переключателя в меню;
  • интуитивно понятный виджет Polylang Language Switcher для конструктора Elementor;
  • перевод через файлы .pot;
  • поддержка стандартов локализации;
  • возможность использования одного URL версиями страниц на разных языках;
  • динамические теги для визуального редактора;
  • достаточно функциональная бесплатная версия;
  • расширение функциональности за счет дополнительных плагинов;
  • подробная документация (на английском);
  • добавление переключателя в любое место сайта с помощью функции pll_the_languages().

Дополнения

Основное дополнение, без которого установка Polylang теряет всякий смысл – конструктор Elementor Page Builder. Плагин интегрируется в Elementor Finder, добавляет в визуальный редактор виджет переключателя языков. Опцией customize polylanguage switcher можно установить переключатель в меню или любое место, где предусмотрено размещение виджета. Чтобы поставить Switcher в произвольном месте шаблона, придется воспользоваться функцией pll_the_languages().

Polylang удобно использовать в паре с Loco Translate, расширением для локализации тем и дополнений WordPress через файлы .mo и .po. Для полной интеграции с WooCommerce потребуется плагин Hyyan WooCommerce Polylang Integration. Для CF7 – Contact Form 7 Polylang Module.

Для перехода с WPML на Polylang понадобится дополнительное расширение WPML to Polylang. Плагин переносит не только языки, но и опции WPML, если у них существуют аналоги в Polylang. Импортируются посты и переводы, в том числе для кастомных типов записей и кастомных категорий. Чтобы старые записи корректно отображались, их язык должен совпадать с языком сайта по умолчанию.

Настройки

Перейдите в консоли администрирования в раздел Languages и добавьте все языки, которые будут использоваться на веб-сайте. Отметьте язык по умолчанию.

  • URL modifications: задает вид адреса языковых версий ресурса (возможно размещение на сторонних доменах, на поддоменах, в поддиректории на основном домене);
  • Detect browser language: включение/выключение автоматического определения языка браузера пользователя;
  • Media: включение/выключение переводов файлов изображений (мета) и других медиа;
  • Custom post types: задает многоязычные типы записей и категорий;
  • Synchronization: синхронизация при обновлении одной из языковых версий;
  • WPML compatibility: совместимость с WPML;
  • Tools: опция удаления данных расширения после его деинсталляции.

В опциях Custom post types и Synchronization желательно включить все. Также стоит выбрать режим совместимости с WPML. Опцию Tools нужно включать только в том случае, если вместе с удалением плагина должны будут удалиться и результаты его работы.

Функции Polylang

Типовые манипуляции осуществляются в соответствующем разделе консоли и в конструкторе. Однако в некоторых случаях возникает необходимость вмешательства в код PHP. Например, если у плагина отсутствует файл .po и его интерфейс не получается перевести расширением наподобие Loco Translate.

В этом случае можно «точечно» перевести слова и словосочетания, предварительно зарегистрировав строки в базе плагина Polylang с помощью функции pll_register_string(). Зарегистрированные строки появляются в секции ‘Strings translations’ раздела ‘Languages’ панели Polylang на административной панели, где им можно задать значения для разных языков.

Функции плагина подробно описаны в документации. Перечислим некоторые из них:

  • pll_the_languages: отображает переключатель языков в произвольном месте страницы;
  • pll_current_language, pll_default_language: возвращает текущий язык или язык по умолчанию;
  • pll_get_post: возвращает перевод записи или страницы;
  • pll_get_term: возвращает перевод категории или тега записи;
  • pll_home_url: возвращает адрес главной страницы сайта WordPress;
  • pll_register_string: регистрация строк для последующего перевода;
  • pll__: перевод строки, предварительно зарегистрированной функцией pll_register_string;
  • pll_e: отображение переведенной строки, предварительно зарегистрированной функцией pll_register_string;
  • другие функции.
Читайте также:  Как отремонтировать антимоскитную сетку самому

Заключение

Бесплатная версия плагина Polylang достаточно функциональна для создания многоязычных сайтов на WordPress. Типовые операции легко выполняются в соответствующем разделе консоли управления и конструкторе drag-and-drop и не требуют вмешательства в код. Есть удобные дополнения для перехода на Polylang c WPML, для более тесной интеграции с плагинами Contact Form 7, ACF, WooCommerce. Расширение определяет несколько функций для «точечной» подстройки работы плагина и задания произвольного размещения переключателя языков на странице. Функционал подробно описан в документации к дополнению.

Источник

Многоязычные веб-сайты WordPress с Polylang

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

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

WordPress доступен на разных языках. Однако при переключении на другой язык на панели «Общие настройки» по умолчанию вы не можете одновременно использовать несколько языков.

Иногда, иметь возможность использовать несколько языков — это то, что мы сейчас рассмотрим. Я могу проиллюстрировать это утверждение: есть блоги, которые доступны на двух или трех языках (русском, английском и французском). Если вы предпочитаете французский язык, вы можете переключиться на него без каких-либо проблем, точно также вы можете переключиться на английский язык.

По умолчанию это невозможно сделать в WordPress, но есть плагины, которые могут помочь вам достичь этой цели. В этой статье я расскажу вам о совершенно бесплатном и классном плагине под названием Polylang. Мы рассмотрим, как его установить, как его настроить и, прежде всего, как использовать его для перевода всего веб-сайта (а не только сообщений!).

Управление несколькими языками в WordPress

Зачем использовать Polylang?

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

Однако это не полное решение. Преимущество использования Polylang заключается в том, что плагин не просто позволит вам переводить ваши сообщения. Фактически, если ваша тема переведена на правильный язык, ваши посетители увидят весь переведенный веб-сайт. Используя мой пример, когда вы читаете блог на французском языке, вы увидите переведенную боковую панель и подвал сайта.

Polylang — это мощный инструмент, который поможет вам создать многоязычный веб-сайт. После того, как вы настроили его, использование Polylang для перевода ваших сообщений так же просто, как в примере, который мы видели выше. Может быть, еще проще!

Установка Polylang

Вы можете бесплатно скачать плагин Polylang через WordPress.org. Он может быть установлен и активирован, как и любой другой плагин.

Управление доступными языками

У Polylang есть своя панель параметров, доступная из меню «Language» во вкладке «Настройки» панели администрирования. Мы рассмотрим первую вкладку этой панели, она называется «Language». Как следует из названия, она позволяет вам управлять языками, которые вы хотите использовать на своем веб-сайте.

Чтобы добавить новый язык, самым простым способом является раскрывающийся список с надписью «Выбрать язык». По умолчанию существует множество доступных языков, и, скорее всего, вы найдете тот, который вам нужен. Если вы не можете, вы все равно можете использовать его, создав свой собственный (его имя, локаль, код и направление).

Вы также можете выбрать порядок, в котором должны отображаться ваши языки в списке. Текстовое поле «Order» включает в себя число (вам нужнл установить его). Языки будут отсортированы с использованием этого числа в порядке возрастания.

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

Читайте также:  Не работает педаль газа мерседес w203

Настройка Polylang

Посетив вкладку «Настройки» на панели параметров Polylang, вы найдете несколько полезных опций для персонализации вашего многоязычного навыка.

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

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

На этой вкладке вы также найдете несколько дополнительных параметров, которые вы захотите проверить, а частности, предпочтение вашего URL-адреса.

Полностью переведенный сайт

Перевод Темы

Как упоминалось выше, Polylang делает больше, чем только перевод наших сообщений. Наши посетители могут иметь полный опыт работы на предпочитаемом языке.

Для этого вам понадобится переведенная тема. Если тема, которую вы используете, готова к переводу, вы должны найти в ней (возможно, в такой подпапке languages) файл POT. Этот файл содержит все строки, используемые в теме. Таким образом, вы можете перевести их на все языки, которые вы хотите.

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

Обратите внимание: если вы используете тему WordPress по умолчанию, например Twenty Fifteen, когда вы добавляете новый язык в Polylang, он пытается загрузить и установить переводы этой темы на этом языке.

Динамический перевод строк

Мы не можем переводить все с помощью простого файла POT. Например, заголовки виджетов представляют собой строки, созданные пользователем (вами), поэтому, естественно, мы не можем использовать файл POT для их перевода. Однако есть еще один способ перевести их благодаря Polylang.

Перейдите на вторую вкладку панели параметров Polylang. Эта вкладка называется «Strings translations» ​​и содержит различные строки, которые отображаются на вашем веб-сайте. По умолчанию Polylang генерирует несколько динамических строк. Вы найдете строки, такие как имя и описание сайта, вы можете даже перевести временные форматы.

Polylang также покажет все виджеты, которые вы используете. Их заголовки и содержимое (например, для виджета «Текст») можно перевести с помощью динамических строк. Стоит отметить, что при создании виджета, когда Polylang активен, теперь вы можете выбрать язык в настройках виджета.

На вкладке «Strings translations» ​​Polylang перечисляет все зарегистрированные динамические строки на языке оригинала. Затем вы можете перевести их на языки, которые вы используете. Не только ваша тема может быть переведена, но и ваш динамический контент.

Регистрация собственных динамических строк

Если вы разрабатываете тему или плагин, вы можете сделать это «готовым к использованию Polylang», зарегистрировав свои собственные динамические строки. Например, это может быть полезно, если вам нужно отобразить строку, которую пользователи могут определить сами по себе. Регистрируя эти строки, эти же пользователи смогут предоставить их на нескольких языках.

Чтобы зарегистрировать строку, используйте функцию pll_register_string(). Как и с любой другой функцией, определенной другим плагином, вы должны проверить, существует ли эта функция со следующим тестом:

Даже если Polylang установлен и активирован, эта функция может отсутствовать. Например, можно попытаться вызвать ее слишком рано, прежде чем она будет создана. Чтобы убедиться, что вы не вызываете ее слишком рано, обязательно вызовите ее после действия «plugins_loaded». Например, это так, если вы регистрируете свои строки непосредственно в файле вашей темы: functions.php

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

Первый параметр — это имя строки. Это имя — способ описать это. См. текущую вкладку «Strings translations» ​​для примеров ее использования. Например, строка типа «l, F j, Y» не всегда понятна, но с именем «Формат даты» это понятно.

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

Читайте также:  File and archive manager не работает

Третий параметр представляет группу, в которую должна быть помещена ваша строка. По умолчанию эта группа называется «polylang», но вы можете определить свою собственную группу, указав, например, имя своей темы. Имена групп могут отображаться вашими пользователями в списке зарегистрированных строк. Другим способом для ваших пользователей лучше понять, где отображается ваша строка (если несколько плагинов используют Polylang, ваши пользователи будут благодарить вас за указание, что это строка для вашего плагина, а не для другого).

Последний параметр будет полезен не всем, а только некоторым. По умолчанию это значение равно false. Если задано значение true, Polylang будет предоставлять многострочную текстовую область, позволяющую пользователю переводить строку вместо ввода текста в одну строку.

Получение зарегистрированных строк

После регистрации ваших строк ваши пользователи могут перевести их на вкладке «Strings translations». Но вам все равно нужен способ получить их, чтобы отобразить правильный перевод!

Для этого есть две функции. Первая из них pll__()(обратите внимание на два символа подчеркивания __() для функции WordPress). Вы даете ему строку для перевода и она возвращает ту же строку, переведенную на текущий язык.

Если Вы не хотите что-либо делать с этой переведенной строкой (например, вводить ее в функцию, например, sprintf ()), вы можете напрямую вывести с помощью pll_e().

Можно также использовать третью функцию: pll_translate_string(). Последнее исключает два параметра: строку для перевода и язык на который требуется перевод. Это может быть полезно, если вы хотите отобразить текст типа «Просмотр этого сообщения на [любом языке]» на целевом языке, например.

Перевод постов

Перевод сообщения

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

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

После этого ничего больше нам не нужно. Вы пишете свой перевод, как и любой другой пост и все! Есть ли у вас другое слово для этого, кроме «удивительного»?

Обратите внимание, что вы также можете добавить перевод в сообщение при его редактировании. В редакторе Polylang есть собственный блок, в котором перечислены существующие переводы для текущего сообщения. Из этого списка вы можете редактировать существующие переводы и добавлять другие.

Переводы категорий и тегов

До сих пор мы переводили нашу тему, виджеты и сообщения, но есть еще несколько вещей, которые мы не рассматривали: таксономии, такие как категории и теги. Мы можем перевести их, посетив вкладку «Категории» или «Теги» на панели администрирования. Вы сможете перевести их точно так же, как и сообщения.

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

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

Например, предположим, что у вас есть категория под названием «Моя категория», переведенная на французском языке «Ma catégorie». Вы напишете сообщение в этой категории на русском языке, а также вы захотите перевести его на французский. В этом переводе не указывайте какую-либо категорию: если вы активировали синхронизацию таксономий, то категория «Ma catégorie» будет автоматически выбрана!

Покоряем мир!

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

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

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

Источник

Оцените статью