На самом деле это легко сочетать с другими подходами интернационализации
Мы используем jquery-i18n-properties, который является плагином jQuery, который поддерживает использование файлов .properties,
которые совместимы с Java.
Фреймворк пытается загрузить файл с именем Messages.properties и в зависимости от языка браузера для примера
Messages_en.properties и Messages_en_US.properties. Это позволяет очень быстро построить иерархию переводов.
Так что, слегка изменив пример слешника и используя хоган / усы, я пишу:
var template = "{{#i18n}}Name{{/i18n}}: {{username}}",
context = {
username: "Jean Luc",
i18n: function (i18nKey) {return jQuery.i18n.prop(key);}
};
// Init i18n
jQuery.i18n.properties(
{
name:'Messages',
path:'some/path',
mode : 'map'
});
Hogan.compile(template).render(context);
Файл Messages.properties:
Name = Name
Messages_fr.properties Файл:
Name = nom
На самом деле я не вижу преимущества использования специальной версии для усов с поиском глобальной функции (производительность может быть?).