Содержание

Локализация в шаблонах (<b:l10n>)

Для определения файла словаря, который используется шаблоном, используется тег <b:l10n>. Если описание шаблона находится в отдельном файле, то по умолчанию шаблон будет использовать словарь с таким же именем файла как имя шаблона, но с расширением .l10n (для шаблона path/to/template.tmpl будет использован файл path/to/template.l10n). Таким образом, использование <b:l10n> имеет смысл, только если нужно использовать другой файл или описание шаблона находится не в отдельном файле.

Тег имеет единственный атрибут src, в котором указывается путь к файлу словаря. Если описание шаблона находится в отдельном файле, то путь разрешается относительно него, иначе относительно корня приложения.

Шаблон использует словарь, только если в описании шаблона есть хотя бы один маркер с префиксом l10n:. Заданный (явно или неявно) словарь применяется только для маркеров в самом описании шаблона, и на включаемые описания (подключаемые через <b:include>) не распространяется.

<b:l10n src="./path/to/dict.l10n"/>

<h1>{l10n:greeting}</h1>

Для маркеров с префиксом l10n: допускается использование биндинга в качестве последней части пути. Это применяется для перечислений (enum токены) и грамматического числа (plural токены). Таким образом при изменении значения биндинга значение в шаблоне будет перевычисляться (выбираться тот или иной токен).

<div class="example">
  Enum: {l10n:state.{state}}<br/>
  Plural: {l10n:plural.{number}}
</div>

<b:l10n> не влияет на подключаемые описания.