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

Создание мультиязычного или многоязычного сайта, как впрочем и многое другое, не так уж сложно, когда вы знаете что и как и в какой последовательности:)

Рассмотрим способ создания многоязычного сайта на следующем примере:

  • установим англоязычную Joomla;
  • добавим русский язык интерфейса;
  • создадим двуязычную структуру меню и содержимого сайта;

1. Установите Joomla без демо-данных

инсталлируйте русский (и или требуемый) языковой пакет
в меню Extensions/Language Manager/ Install Language
выбираем "Russian"После установки выберите русский языком обоих интерфейсов  - пользовательского и администраторского

2. Добавим язык содержимого (контента) сайта

меню Расширения / Менеджер языков / языки контента 

Английский уже установлен как язык контента по умолчанию

{gallery}Articles/20130201,quality=100,quality_png=6,thumbs=1,caption=0,iptc=0,print=1,single=01.jpg,single_gallery=0,salign=center,download=1,thumbdetail=0,watermark=1,watermarkposition=4,watermarkimage=watermark_big.png,encrypt=2,image_info=0,css_image=0,copyright=0,resize_images=1,width_image=700,ratio_image=1,images_new=0{/gallery}

Кликните Создать

Внимание!

Тег языка состоит из 3 х частей:

  • ru (язык) всегда строчными буквами
  • разделитель -
  • RU (код страны) всегда прописными

в данном примере ru-RU

{gallery}Articles/20130201,quality=100,quality_png=6,thumbs=1,caption=0,iptc=0,print=1,single=02.jpg,single_gallery=0,salign=center,download=1,thumbdetail=0,watermark=1,watermarkposition=4,watermarkimage=watermark_big.png,encrypt=2,image_info=0,css_image=0,copyright=0,resize_images=1,width_image=700,ratio_image=1,images_new=0{/gallery}

Сохранить

Определённые таким образом языки контента будут доступны по всему пользовательскому интерфейсу. При написании статей, пунктов меню, категорий и т.д. можно / нужно будет выбрать к какому языку относится материал.

3. По умолчанию, главной странице назначим язык "Все"

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

{gallery}Articles/20130201,quality=100,quality_png=6,thumbs=1,caption=0,iptc=0,print=1,single=03.jpg,single_gallery=0,salign=center,download=1,thumbdetail=0,watermark=1,watermarkposition=4,watermarkimage=watermark_big.png,encrypt=2,image_info=0,css_image=0,copyright=0,resize_images=1,width_image=700,ratio_image=1,images_new=0{/gallery}

Пусть главное_меню_ALL содержит пункт меню произвольного типа, по умолчанию определённый как Главная страница с присвоенным статусом языка  - "Все".

{gallery}Articles/20130201,quality=100,quality_png=6,thumbs=1,caption=0,iptc=0,print=1,single=04.jpg,single_gallery=0,salign=center,download=1,thumbdetail=0,watermark=1,watermarkposition=4,watermarkimage=watermark_big.png,encrypt=2,image_info=0,css_image=0,copyright=0,resize_images=1,width_image=700,ratio_image=1,images_new=0{/gallery}

В Менеджере модулей отмените публикацию модуля меню, отображающего Main Menu_ALL .
Язык этого модуля - 'Все' .


{gallery}Articles/20130201,quality=100,quality_png=6,thumbs=1,caption=0,iptc=0,print=1,single=05.jpg,single_gallery=0,salign=center,download=1,thumbdetail=0,watermark=1,watermarkposition=4,watermarkimage=watermark_big.png,encrypt=2,image_info=0,css_image=0,copyright=0,resize_images=1,width_image=700,ratio_image=1,images_new=0{/gallery}

4. Структура содержимого сайта

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

4.1. Для каждого языка контента и языка "Все", создайте по корневой родительской категории используемых компонентов. Назначьте категориям соответствующий язык контента.

{gallery}Articles/20130201,quality=100,quality_png=6,thumbs=1,caption=0,iptc=0,print=1,single=06.jpg,single_gallery=0,salign=center,download=1,thumbdetail=0,watermark=1,watermarkposition=4,watermarkimage=watermark_big.png,encrypt=2,image_info=0,css_image=0,copyright=0,resize_images=1,width_image=700,ratio_image=1,images_new=0{/gallery}

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

Внимание! Структура категорий "Все" должна совпадать со структурами категорий для прочих языков контента.

{gallery}Articles/20130201,quality=100,quality_png=6,thumbs=1,caption=0,iptc=0,print=1,single=07.jpg,single_gallery=0,salign=center,download=1,thumbdetail=0,watermark=1,watermarkposition=4,watermarkimage=watermark_big.png,encrypt=2,image_info=0,css_image=0,copyright=0,resize_images=1,width_image=700,ratio_image=1,images_new=0{/gallery} 

4.3 Создайте содержимое в этих категориях, назначая соответствующий корневой категории язык контента.

{gallery}Articles/20130201,quality=100,quality_png=6,thumbs=1,caption=0,iptc=0,print=1,single=08.jpg,single_gallery=0,salign=center,download=1,thumbdetail=0,watermark=1,watermarkposition=4,watermarkimage=watermark_big.png,encrypt=2,image_info=0,css_image=0,copyright=0,resize_images=1,width_image=700,ratio_image=1,images_new=0{/gallery}

Продолжение следует...