Мультиязычный сайт на WordPress (обновлено)

26.11.2019 | Написал

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

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

<!--?php if( 'ru' == pll_current_language() ) : // вызываем руское меню ..................................... else : // вызываем меню для второго языка ..................................... endif; ?-->

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

 

Для выделения текущего языка добавляем стили:

.lang-link .current-lang a {color:#fff;}

Третье – перевод отдельных фраз в шаблоне. Здесь мы будем использовать встроенную возможность Polylang переводить строки. По умолчанию это название сайта, описание и форматы времени и даты. Но можно добавить свои строки, которые будут переводиться при переключении языка.
Для этого сначала заведем строку в functions.php темы:

// добавляем строки в полиленг
add_action('init', function() {
  pll_register_string('Описание строки', 'Строка с текстом');
});

После этого в консоли в Languages – Strings translations добавляем тексты с переводом.
Выводим в шаблоне вставкой:

<!--?php pll_e('Строка с текстом'); ?-->

Еще один интересный плагин для создания мульязычного сайта на WordPress – WPGlobus.
Там, в принципе, вполне вменяемый виджет переключения языков, его можно добавить через консоль в нужное место. Но бывает, есть необходимость вставить его непосредственно в файлы темы. В этом случае добавляем, например, в header.php вызов виджета таким образом:

<?--php the_widget( 'WPGlobusWidget' ); ?-->

При такой вставке, виджет вставится с параметрами по умолчанию. Изменить их мы можем, поправив файл wp-content/plugins/wpglobus/includes/class-wpglobus-widget.php. Там в р-не 49-53 строк есть условие типа вывода модуля.

Комментарии читателей статьи "Мультиязычный сайт на WordPress (обновлено)"

Нет комментариев.

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

Ваш e-mail не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.