Протокол ulang и ENTITY, мультиязычность

Материал из Umicms
Версия от 20:30, 4 июня 2013; Mad grant (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

С помощью протокола ulang и ENTITY (xslt сущностей) мы можем определить набор констант для языковой версии сайта: ru, en, de, fr и т.д. В XSL-шаблоне, сразу после заголовка документа:

<?xml version="1.0" encoding="utf-8"?>

идет подключение файла с константами:

<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">

путь файла с данными:

xsltTpls/i18n/constants.ru.dtd

пример файла constants.ru.dtd:

<!ENTITY search-default-text "Поиск">
<!ENTITY login "Логин">
<!ENTITY password "Пароль">
<!ENTITY log-in "Войти">
<!ENTITY log-out "Выход">
<!ENTITY office "Кабинет"

после ENTITY идет имя константы, а потом значение.

В самих XSL-шаблонах, константы вызываются следующим образом:

<xsl:text>&login;</xsl:text>

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

xsltTpls/i18n/constants.ru.dtd
xsltTpls/i18n/constants.en.dtd
или
xsltTpls/i18n/constants.fr.dtd