Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Компонент MODX Revolution Babel для создания мультиязычности на сайте

Сайдбар

Что такое Babel?

Babel – это дополнение для MODx Revolution, которое призвано помочь в управлении Вашими мультиязычными веб-сайтами с использованием различных контекстов. Babel поддерживает даже управление несколькими мультиязычными веб-сайтами в одном образце MODx с помощью так называемых контекстных групп. ▶ Babel сохраняет ссылки между переведенными ресурсами. В менеджере Вы можете использовать Babel Box, чтобы легко переключаться между различными языковыми версиями Ваших ресурсов. Переведенные версии Babel могут создаваться автоматически или задаваться вручную. Кроме того, Babel может использоваться для синхронизации определенных шаблонных переменных (template variables, TV) переведенных ресурсов, которые должны быть аналогичными в любом контексте (языке).

История

Babel разработал Якоб Класс (Jakob Class) на основе идей Sylvain Aerni, впервые приложение было выпущено 16 декабря 2010 года.

Установка

Подготовка Создайте контекст под каждый из языков и задайте настройки cultureKey и site_url в соответствии со своими потребностями. Убедитесь, что переключения контекстов происходят корректно.

Скачивание

Babel можно скачать с помощью менеджера в MODx Revolution через Package Management, или через MODx Extras Repository/

Установка

Установите Babel с помощью пакет-менеджера и задайте системные настройки Babel, используя форму, которая отображается во время установки:
<code><strong>Context</strong><strong>Keys</strong> (babel.contextKeys): список контекстных клавиш через запятую, которые применяются для связки мультиязычных ресурсов.<br />
В расширенной конфигурации Вы можете определить несколько групп контекстных клавиш с помощью точки с запятой (;) в качестве разделителя. Это пригодится для администрирования нескольких многоязычных сайтов в одном образце MODx. Пример:
<code> site1: en, de, fr. c контекстами <em>web, site1de, site1fr</em>
<code> site2: en, de. с контекстами <em>site2en, site2de<br /></em>
Вы выбираете babel.contextKeys для "
web,site1de,site1fr;site2en,site2de". •
ИмяBabel TV (babel.babelTvName): Имя шаблонной переменной (TV), в которой Babel будет хранить ссылки между мультиязычными ресурсами. Эту TV будет поддерживать Babel. Пожалуйста, не изменяйте TV в ручном режиме, иначе Ваши ссылки между переведенными версиями могут быть утрачены. •
IDшаблонных переменных должны быть синхронизированы (babel. syncTvs): разделенный запятыми список идентификаторов шаблонных переменных (TV), которые Babel должен синхронизировать.

Как пользоваться

При открытии ресурса для редактирования Babel Box будет отображаться в верхней части формы ресурса. Там же находятся ссылки в виде кнопок для каждого из языков (контекстов), заданных в настройках системы babel.contextKeys. images/key.jpg Три различных цвета, в которых могут отображаться кнопки, означают: • Черный: язык ресурса, отображающегося в данный момент. • Зеленый: язык, для которого определена переведенная версия ресурса. • Светло-серый: язык, для которого переведенная версия пока не была создана или определена. Нажимая на (зеленые) кнопки языков, Вы можете легко переключаться между различными языковыми версиями Ваших ресурсов. Если перевод не определен для данного языка (серая кнопка), наведите курсор мыши на языковую кнопку – появляется окно, в котором можно задать Babel создать перевод текущего ресурса, или вставить ссылку перевода на существующий ресурс вручную, для чего требуется ввести ID переведенного ресурса. Кликая на «Create Translation», Вы задаете Babel создать новый ресурс в контексте языка и скопировать все содержимое текущего ресурса для вновь созданного. Далее Вы можете перевести вест контент, TV и опубликовать переведенный ресурс.

Если Вы хотите  удалить ссылку на переведенную версию, просто наведите курсор мыши на зеленую кнопку языка: появляется окно с опцией «Unlink translation» для ее удаления.

Сниппеты

В настоящее время два сниппета  доступны для Babel: BabelLinks и BabelTranslation.

Изменение настроек Babel после установки

Вы можете изменить настройки Babel после установки. Например, если Вы хотите определить новую TV, которая должна быть синхронизирована, или добавить новый контекст. Для этого перейдите в System/Settings в менеджере MODx и выберите местоположение babel. Теперь Вы можете редактировать все параметры Babel:

BabelLinks

BabelLinks – это snippet, который отображает ссылки на другие языки (контексты) для конечного пользователя.

Доступные параметры








Имя

Описание

По умолчанию

resourceId

(опция) ID ресурса, в котором должны отображаться ссылки на переводы.

ID текущего ресурса

tpl

(опция) Чанк для отображения языка ссылки.

babelLink

activeCls

(опция) имя класса CSS для языка, активного в данный момент.

active

showUnpublished

(опция) закладка, где отображаются неопубликованные переводы.

0

 

BabelLink Chunk

Если параметр &tpl не установлен, по умолчанию Chunk будет использоваться со следующим кодом:
<code><li><a href="[[+url]]" class="[[+cultureKey]][[+active:notempty=` [[+active]]`]]">[[%babel.language_[[+cultureKey]]? &topic=`default` &namespace=`babel`]]</a></li>
Используя собственный блок для отображения языковых ссылок, Вы можете использовать следующие идентификаторы (placeholders):






Имя

Описание

url

Url связанного перевода (или url сайта определенного языка, если нет доступного переведенного ресурса)

cultureKey

Culture key перевода (e.g en, de, fr oder es). Можно использовать словарь babel для отображения названия языка: [[%babel.language_[[+cultureKey]]? &topic=`default` &namespace=`babel`]]

active

Если активная ссылка указывает на текущий активный язык (контекст), этот плейсхолдер устанавливается на активное имя CSS-класса, указанное в параметре & activeCls (по умолчанию =active). В противном случае идентификатор пуст.

id

ID переведенного ресурса. Если нет доступного перевода, идентификатор пуст.

Пример

[[BabelLinks]]

BabelTranslation

Snippet BabelTranslation возвращают ID переведенных ресурсов в данном контексте.

Доступные параметры







Имя

Описание

По умолчанию

resourceId

(опция) ID ресурса, на основе которого должен быть  определен переведенный ресурс.

ID текущего ресурса

contextKey

Ключ контекста, в котором переведенный ресурс должен быть определен.

showUnpublished

(опция) Флажок, для просмотра неопубликованных переводов

0

Пример

Чтобы вернуть ID переведенного ресурса, который находится в «de» контексте текущего ресурса.