На время проведения реконструкции сайт переведён в режим "ТОЛЬКО ЧТЕНИЕ" (Read only). Приносим свои извинения!
MaxHub
Полезности по Maxsite CMS

Плагин lang_content — «Многоязычный текст»

Плагины » Контент / 20 марта 2015

С помощью плагина можно создавать многоязычные сайты.

Как это работает

При установке системы в файле mso_config.php указывается язык сайта. По умолчанию это русский. Однако можно выбрать английский, украинский, немецкий или романский. Можно также добавить какой-то ещё, но файлы перевода вам придётся делать самим. В результате интерфейс сайта будет на указанном языке.

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

в файле mso_config.php выбор языка

$ck = mso_get_cookie('lang',NULL);
if ($ck == 'en')
{
    $MSO->language = 'en';
} elseif ($ck == 'ru'){
    $MSO->language = 'ru';
} else {
    $MSO->language = 'ru';
}

А в шаблоне (сайдбаре, хедере, какой-нибудь ушке, где угодно)

<a href="#" onclick="document.cookie='lang=en; path=/;'; location.reload();">English</a>
<a href="#" onclick="document.cookie='lang=ru; path=/;'; location.reload();">Русский</a>

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

С этого момента в дело вступает данный плагин. После его включения в тексте можно использовать коды:

[ru]Текст на русском[/ru]
[ua]Текст на украинском[/ua]
[en]Текст на английском[/en]
[de]Текст на немецком[/de]
[ro]Текст на романском[/ro]

И в зависимости от текущего языка (причём, плагин выбирает язык по cookie) будет показан только текст на выбранном языке.

Не забывайте, что для создания по-настоящему многоязычного сайта данного фокуса мало. Он не создаёт многоязычности в называниях рубрик, в тегах, не учитывается в карте сайта и даже в заголовках страниц. И ещё очень много где.

Скачать:

Автор: Max Koshelev

Текущая версия плагина: 1.0 (стабильно работает на cms 0.863 - 0.93)

lang_content_1_0.zip12

ToDo:

В MaxSite многоязычность находится в зачаточном состоянии. И требует очень большой работы.

  • Что касается именно этого плагина, в нём пять языковых кодов вшиты в исходник. Их ни убрать, ни добавить новые нельзя.
  • Выбор текущего языка идёт по cookie, а установка cookie ложится на плечи веб-мастера. Как минимум стоит добавить виджет с переключалкой языков, которая к тому же задействовала бы штатный механизм переводов MaxSite.
  • Помимо плагина, как упоминалось выше, в MaxSite нет никаких механизмов переключения языков в заголовках страниц, названиях рубрик и так далее. Было бы неплохо, хотя бы обрабатывать эти же коды в заголовках, что, возможно, потребует доработки движка.
  • Собственно переводы в MaxSite неполные. Нужна большая кропотливая работа по проверке того, что все фразы движка и плагинов вызываются через функцию перевода, внесены (и переведены) в файл перевода, что в файлах перевода не осталось старых и уже не актуальных фраз и так далее, и так далее, и так далее.
  • Большинство сторонних плагинов не задействуют механизм переводов.
  • И это только начало…