InterMaster.com.ru

Разное и возможно полезное

Многоязычный сайт на WordPress

Просмотров: 21102Комментарии: 4
Рубрика: СайтостроительствоМетки:

От одного клиента поступил заказ – сделать двуязычный сайт. Структура сайта вполне можно было реализовать на движке WordPress, но как быть с многоязычностью? Погуглив, нашел замечательный плагин qtranslate. Легкий, удобный, функциональный! Решил поделиться опытом его установки и настройки – может, кому-нибудь будет полезным.

Итак, качаем плагин с сайта и стандартно заливаем в папку с плагинами на хостинге. Сразу в папке wp-incledes создаем подпапку languages и даем ей права 777. Затем идем в панель управления WordPress и активируем плагин. Теперь можно приступать к его настройке.

У меня по умолчанию русский язык в плагине установлен не был. Ставил «ручками». Для этого на странице настройки плагина в разделе «Add Language» вбил в строки следующие данные:

  1. Language Code – ru
  2. Flag – ru.png
  3. Name – Russian
  4. Date Format – пусто
  5. Time Format – пусто
  6. Not Available Message - Sorry, this entry is only available in %LANG:, : and %

И нажал «Add Language». Язык добавился. Теперь в сводной таблице сделал нужные языки активными, и один из них сделал «языком по умолчанию» - Default.

Кстати, не язык у меня хоть и русский, но флаг установлен казахский, так как сайт рассчитан на аудиторию из этой страны.

Далее, на той же странице настройки плагина, поставил галочки в полях «Hide Untranslated Content» и «Detect Browser Language». Первая опция отвечает за то, чтобы в списке постов выводились только те, которые имеют перевод на выбранный язык. Вторая опция позволяет автоматически определять, какой язык в браузере посетителя определен как дефолтный, и, в зависимости от этого, показывать ему версию сайта на том или ином языке. Другими словами, предположим, что у вас сайт на двух языках – русском и английском. Русский язык у вас в плагине установлен как дефолтный. К вам приходит посетитель, у которого в браузере основной язык – русский. Он увидит ваш сайт на русском языке. Потом к вам придет пользователь с основным языком браузера – английским. Плагин сам подсуетиться, и пользователь сразу увидит английскую версию вашего сайта. А вот если к вам придет юзер с языком, например, немецким, то плагин продемонстрирует ему сайт на языке, который вы установили для него основным – т.е. на русском. Надеюсь, понятно :)

Идем далее. В настройках есть опция - Advanced Settings (Show). Кликаем на Show, получаем дополнительные опции настройки. Тут можно ничего не трогать, кроме двух пунктов.

URL Modification Mode – выберите, как страницы на разных языках будут отличаться друг от друга. Вариантов три:

  • к каждой странице будет добавлено окончание типа ?lang=en (http://site.ru/hello.php?lang=en)
  • будет добавлен префикс после домена (http://site.ru/en/hello.php)
  • будет добавлен префикс до имени домена (http://en.site.ru/hello.php)

Что выбрать – решать вам. Мне понравился второй вариант.

И еще можно поставить галочку в «Hide URL language information for default language.». Если вы эту опцию активируете, что для языка, который вы выбрали «дефолтным», никакие префиксы и окончания добавляться не будут. Т.е. если сайт на трех языках – русском, немецком и английском, и русский – дефолтный, то адреса страниц при будут выглядеть так:

  • http://site.ru/hello.php - на русском
  • http://site.ru/en/hello.php - на английском
  • http://site.ru/gr/hello.php - на немецком

А если вы эту опцию не активируете, то, соответственно, получите такой вариант

  • http://site.ru/ru/hello.php - на русском
  • http://site.ru/en/hello.php - на английском
  • http://site.ru/gr/hello.php - на немецком

После выбора всех настроек не забудьте их сохранить, нажав клавишу «Save Changes»!

Комментариев: 4 RSS

1 Алексей 21-11-2012 13:58

Указанный вами сайт явно взломали - сплошные перенаправления на нехорошую страницу с рекламой и загрузкой трояноподобной программы (принудительно предлагает загрузить odnoclassniki.exe и ничего о Франции).

2 Administrator 21-11-2012 14:02

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

3 regedit 29-07-2014 20:34

Сделал всё как написано, но ничего не произошло, сайт не перевёл, как был русский - так и остался, что делать?!

4 Administrator 29-07-2014 22:26

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

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Вы можете войти под своим логином или зарегистрироваться на сайте.

Выберите человечка с поднятой рукой!

При нажатии на картинку, Ваш комментарий будет добавлен.