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