Мультиязычный сайт на Joomla 2.5

1 звезда2 звезда3 звезда4 звезда5 звезда (7 голос, рейтинг: 4,71 из 5)
Loading ... Loading ...

Хотите оперативно получать новые уроки и статьи блога LAWANS.RU. Просто введите ВАШ e-mail на форме справа >>>

Привет Всем!
Недавно попросили сделать на одном из сайтов несколько языков (мультиязычность). Вначале я подумал, что это можно реализовать с помощью всем известного компонента для мультиязычных сайтов  – JoomFish . Однако как оказалось версии  JoomFish для Joomla 2.5 ещё пока нет. Но есть компонент под названием FaLang – что- то типа приемника (или будущего конкурента) JoomFish.

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

А сейчас ближе к теме….

Для начала определимся с языками, т.е. сколько у нас их будет на сайте. Я добавил в систему помимо английского, русского ещё украинский язык и таким образом у меня стало три языка (Расширения – Менеджер языков):

языки joomla

Далее зайдём на вкладку Языки контента и тут необходимо добавить Украинский язык. Я заполнил его по аналогии с английским и русским. Префикс для изображения я поставил uk (так как файл флажка для украинского флага назывался uk.gif в компоненте Falang)

добавляем украинский язык

И вот у нас теперь три полноценных локализации языков для сайта:

три языка

Давайте скачаем компонент FaLang версию Free с сайта (www.faboba.com ) и установим через Менеджер расширений.

После установки необходимо будет активировать  плагин FaLang Database Driver.

ВАЖНО!!! Также необходима активация плагина Фильтр языка

И ещё вывести панель выбора языков. Для этого в Менеджере модулей активируем модуль mod_falang.

И вот наша панель из трёх языков.

панель языков joomla

Кстати у модуля есть ещё и настройки:

Фильтр языка настройки

Pre-text – текст перед языками и Post-text – текст после языков

Use Dropdown – выводить ли языки в виде выпадающего списка.

Далее идут настройки показывать или нет флаги (Use Image Flags). Горизонтальное или вертикальное отображение панели языков (Horizontal Display). Активность или нет языка (Active Language). Полное отображение имени языка (Languages Full Names).

А вот и вид нашего компонента.

вид компонента falang

К сожалению, не нашёл файла руссификации для FaLang. Но думаю, вы с английским дружите и, используя мой мануал сможете сделать всё так, как Вам надо. К тому же тут не так всё сложно! Используя компонент, не придётся создавать явно дубли менюшек, материала, категорий и т. д.

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

Нам потребуется  вкладка Translation.

вкладка Translation

Выберем в выпадающем списке Languages язык перевода, а в Content elements – необходимые блоки для перевода (Категории, статьи, меню и модули). Я выбрал для начала Меню (Menus).

Компонент отобразил нам все доступные ссылки меню.

доступные ссылки меню

Давайте пощелкаем по пунктам меню и переведем их на английский. И также на украинский выбрав другой язык.

переводим

В итоге, мы получим такие картинки.

Для английского:

меню английское

Для украинского:

меню украинское

Давайте посмотрим, как это работает на сайте!

Вот на английском:

меню английское на сайте

А вот на украинском:

меню украинское на сайте

Всё работает! Далее нам надо перевести контент на который ссылаются ссылки. Я возьму для примера мою статью (ссылка с пункта меню Статья). Выберем на вкладке Translate в выпадающих списках язык перевода и Content elements – Contents и также сделаем переводы.

перевод Статьи

Заметим, что текст статьи переводим прямо в компоненте, т.е. не создаём три разных статьи на разных языках! Просто выбираем нужный язык, выбираем нужную статью и Falang нам даёт поля для ввода перевода.

переводим на английский

А теперь проверим на сайте:

Английский:

Переведенная Статья на сайте английский

Украинский:

Переведенная Статья на сайте украинский

Я ещё не перевел название категории, но это делается также как и остальное – просто выбираем на вкладке Translate  в выпадающих списках язык перевода и Content elements – Categoties.

И также названия модулей можно тоже перевести – просто выбираем Content elements – Modules

Ещё бы встроить в него что-то вроде Google Translate (там, где переводы вбивать, в помощь так сказать) и было бы вообще замечательно!

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

И ещё чуть не забыл! После установки компонента появляется паразитная ссылка на сайт разработчика.

Если хотите убрать, то делается это так:

Заходим в файл administrator/components/com_falang/classes/FalangManager.class.php

Находим строку:

$cacheBuf2 = 'PGRpdj48YSBocmVmPSJodHRwOi8vd3d3LmZhYm9iYS5jb20iIHN0eWxlPSJmb250LXNpemU6IDhw'.
                  'eDt2aXNpYmlsaXR5OiB2aXNpYmxlOyBkaXNwbGF5OmlubGluZTsiIHRpdGxlPSJGYWJvYmEgQ3Im'.
                    'ZWFjdXRlO2F0aW9uIGRlIGNvbXBvc2FudCANCkpvb21sYSI+RmFMYW5nIHRyYWR1Y3Rpb24gc3lz'.
'dGVtIGJ5IEZhYm9iYTwvYT48L2Rpdj4=';

Заменяем на:

$cacheBuf2 = '';

Вот собственно и весь краткий мануал по компоненту FaLang.

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


У ВАС ведь есть ТЕЛЕФОН? Или mp3-player? А может даже планшет, ноутбук или игровая консоль!
Хочется, чтобы он был необычным и уникальным?
Заходите к нам – мы поможем.

  
  
{lang: 'ru'}

Похожие статьи

85 thoughts on “Мультиязычный сайт на Joomla 2.5

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

  2. Материал очень интересный, спасибо.
    Но у меня есть вопрос. Есть ли у данного модуля возможность не просто отобразить флаги или буквы языков, а сделать выдиление активного языка, например поменять цвет того языка на котором находишься?

Добавить комментарий для Александр Забияка Отменить ответ

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>