Зачем нужен xlexicon?
Компонентов, позволяющих создать мультиязычный сайты на MODX Revolution, не так много и фактически, кажущаяся весьма простой задача по реализации мультиязычности на самом деле является весьма сложной. Очень часто эту проблему решают путем создания нескольких контекстов, но это неудобно с точки зрения администрирования. Представьте, что сайт часто обновляется, и каждый раз приходится искать или создавать страницы в нескольких контекстах одновременно. А что если языков не два, а больше и сайт состоит из множества страниц? Администратору такого ресурса не позавидуешь.Когда встала необходимость реализовать многоязычность мы решили написать свой компонент, который подходил бы под наши требования удобства и функциональности. Изначально компонент начинал разрабатывать Валентин Расулов, но потом приостановил работу над расширением и дал добро на доработку. Мы хорошо поработали над функционалом и в результате появился Extended Lexicon.
Основные плюсы
Переводы для любых типов страниц
Первое и, возможно, самое главное: компонент рассчитан на создание словарей для любых типов страниц, как стандартных modResource, так и любых других. Это значит, что xlexicon совместим с другими компонентами, формирующими другие типы страниц.Удобство администрирования.
Фактически Вы открываете только одну страницу и получаете доступ ко всем вариантам ее перевода. На сайте может быть сколь угодно много языков, и при этом все переводы конкретной страницы находятся в одном ресурсе в Админке. Панель управления переводами встраивается в стандартное окно редактирования ресурса.
Такое решение позволяет создавать и редактировать страницы для мультиязычного сайта без необходимости искать версию каждой страницы в разных контекстах. Это очень удобно и экономит время.
Управление языками осуществляется также просто и удобно. Для этого нужно перейти в панель управления модулем xlexicon в верхнем меню. Вы увидите все текущие языки и сможете добавить, удалить или изменить языки по своему желанию. Изменения сразу отразятся на сайте. Допустим при добавлении нового языка каждая страница на сайте автоматически получит новую закладку для вставки туда соответствующего перевода.
MODX теги обрабатываются для всех языков
При выводе документа не нужно менять стандартные MODX теги. То есть тег Редактировать статью будет обработан и будет подставлено значение в зависимости от языка страницы. Проще говоря, если вы находитесь на Русской странице – увидите Русский pagetitle, а если на Английской – Английский. Это значительно облегчает работу с шаблонами. Пока что поддерживаются только основные изменяемые теги.AJAX запросы с языковым ключомВ MODX для реализации AJAX запросов к серверу Вы можете пользоваться встроенными классами коннекторов, обрабатывающих запросы из панели управления. Но есть один минус. Они изначально рассчитаны на учет языкового ключа только для админки. В модуле эта проблема решена. Т.е. вы можете передавать языковой ключ и получать ответы от сервера на языке, который запрашивался.
Компонент работает под MODX Revolution
Установить xlexicon можно из нашего репозитория http://rest.modxstore.ru/extras/ или из официального репозитория MODX.
С подробной документацией можете ознакомиться по ссылке Xlexicon manual
Яна 05.02.2014 12:58 #
Николай 05.02.2014 13:34 #
Яна 05.02.2014 13:35 #
Николай 05.02.2014 13:43 #
Яна 10.02.2014 10:26 #
Яна 10.02.2014 10:27 #
У Вас язык идет через параметр в адресной строке (что то типа ?lang=ru)
А можно этот параметр переписать как в babel?
www.site.ru/ru/?
какое правило надо написать?
Grigoriy 04.06.2014 02:50 #
Переодически выбивает ошибки и не сохраняет страницу. Создает 10-20 дополнительных запросов на страницу. Не работает с ajax manager и ckeditor, нужно перегружать окно, чтобы появилась вкладка. Ну и перевод TV был бы просто супер. Сколько хотите за доработку?
proxyfabio 04.06.2014 09:33 #
«Переодически выбивает ошибки и не сохраняет страницу»
Да ошибки присутствуют, бета же. Как только найду время — займусь. Я, правда, редко их ловлю.
«Создает 10-20 дополнительных запросов на страницу»
Да, создает. Это накладные расходы. Я в инструкции предложил только способ быстрой интеграции. Хотите съэкономить — пишите запрос на получение страниц вручную и джойните необходимые поля. Дело плевое и результат тот, который ожидается.
Но кеширование + настройка бд так или иначе спасает.
«Не работает с ajax manager и ckeditor, нужно перегружать окно, чтобы появилась вкладка»
Печально, что сказать. Наверно я вас разочарую, но интеграции с этими модулями не планируется. Скорость работы админки и tinymce меня вполне устраивают.
Если это так необходимо, то пакет лежит в открытом доступе. Можно допиливать сколько угодно :)
«Ну и перевод TV был бы просто супер»
Я не вижу смысла в переводе тв-параметров. Я думал на счет настраиваемых полей, но еще не определился с реализацией и необходимостью вообще. Как только у меня будут мысли и время — реализую, хотя задел по функционалу уже есть :)
Grigoriy 16.07.2014 21:33 #
proxyfabio 17.07.2014 17:55 #