Мультиязычный сайт на 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. Добрый день !!! всё сделал , как у вас . иконки появились нажимаю выбор другой язык , не чего не меняется. ((( Что может быть , Joomla 3.0

  3. Подскажите, что делать если компонент не переводит контент, и модули, хотя стандартные елементы вперед назад и т.д. переводит

        • Значит то то не так сделали, joomla чистая? Попробуйте то же самое на новой чистой установке со стандартным шаблоном

          • Шаблон немного переделан, вообще первый раз сталкиваюсь с мультиязычностью

          • Надо на чистой жумле все это дело потестировать , может где чего упустили,
            или дайте доступы

          • Ваша версия кривовата, удалите старый falang

            установите этот http://file.7log.ru/pkg_falang_120_free.zip
            Это пакет сразу ставиться без распаковки там модули плагины всё вообщем,

            Далее всё по вышеуказанной инструкции,

          • Frog, постарайтесь порешать такие вопросы в личной переписке, а то ветку забиваете

          • Переделываю все с нуля . На чистой джумле и шаблоне атомик. Вроде пока на локалке работает.

            Работает и предложенный Вами плагин он более старой версии поэтому там дополнительный финт с ушами.

            $cacheBuf2 = ”;
            \plugins\system\falangdriver\falangdriver.php

            строка 61 – заменить то же самое

            Вообще кажется что глючил слайдер в предыдущем. Просто я не веб -дизайнер, так сложились обстоятельства что нужно срочно сделать. Кстати сегодня понял что такое фреймворк блю принт :)

  4. А есть ли способ скрывать модули, которые не нуждаются в переводе? Совсем. Сейчас отключаешь перевод – получаешь русский модуль. Проблема.

  5. Я не поняла, так мне самой все вручную надо переводить. Т.е. после того как я зашла в translations, выбрала язык, модуль, у меня открывается окно перевода с двумя окошками Original (заполненное словом, которое надо перевести) и Translations, которое у меня пустое. Мне туда самой перевод вбивать? Или на какую-то кнопочку нажать для перевода надо?

  6. Все сделал как написано. Перевел и меню и контент. Все иконки флажков выводятся, но ничего не работает. При нажатии на любой флажок, переходит index.php. Делал два раза на новой чистой joomla. Установлены только стандартные компоненты. В чем ПРОБЛЕМА???

  7. Огромное спасибо за статью! Joomla 3.1 – установилось, работает – глюков не заметил! А ведь за час до прочтения Вашей стати я этот Falang удалил и почти смирился с мыслю оставаться на J15 до выхода JoomFish под J3.
    Вобщем – все сделал как у Вас написано – шаг за шагом и Все работает – еще раз спасибо.

      • в версии 1 3 0 пакета Falang разработчики изменили код скрытой ссылки. Теперь она выглядит так: –
        $cacheBuf2 =
        FaLang tra’.
        ‘nslation syste’.
        ‘m by Faboba
        ‘;

        И находится уже в двух файлах.
        - /administrator/components/com_falang/classes файл FalangManager.class.php
        и
        - /plugins/system/falangdriver файл falangdriver.php

        Чтоб избавиться от ссылки теперь надо НЕ удалять содержимое переменной $cacheBuf2 а обнулить её добавив в обоих файлах кода с сылкой
        $cacheBuf2 = ‘ ‘; то есть выглядетть должно вот так –

        $cacheBuf2 = ‘FaLang tra’.
        ‘nslation syste’.
        ‘m by Faboba
        ‘;

        $cacheBuf2 = ”;

          • спасибо Alex, что предупредил насчёт новых вставок. А код наверно лучше не выводить а просто написать в каких файлах с какими строками что сделать.

  8. А у меня вместо указанной строки:

    $cacheBuf2 = ‘PGRpdj48YSBocmVmPSJodHRwOi8vd3d3LmZhYm9iYS5jb20iIHN0eWxlPSJmb250LXNpemU6IDhw’.
    ‘eDt2aXNpYmlsaXR5OiB2aXNpYmxlOyBkaXNwbGF5OmlubGluZTsiIHRpdGxlPSJGYWJvYmEgQ3Im’.
    ‘ZWFjdXRlO2F0aW9uIGRlIGNvbXBvc2FudCANCkpvb21sYSI+RmFMYW5nIHRyYWR1Y3Rpb24gc3lz’.
    ‘dGVtIGJ5IEZhYm9iYTwvYT48L2Rpdj4=’;

    Такая строка:

    $cacheBuf2 =
    FaLang tra’.
    ‘nslation syste’.
    ‘m by Faboba
    ‘;

    Пробовал заменять эту строку на $cacheBuf2 = ”; но безрезультатно. Ссылка не убирается.

  9. Сделала все выше указанное, появляется вот такая надпись в месте куда должны были появится флажки, “Falang Database driver not enabled”
    да и вообще как я только не делала флажок только русского языка выводится и все…помогите пожалуйста разобраться?может дело в шаблоне,просто кое где читала что такое может быть

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

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

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