Кажется, что Twitter использует fork Mustache.js предоставить i18n своим шаблонам?
Может ли кто-нибудь дать краткий пример того, как это делается, и, возможно, также указать, какая семантика необходима для перераспределения этих переводов?
Конечно, этот простой пример:
var template = "{{_i}}{{name}} is using mustache.js!{{/i}}"
var view = {
name: "Matt"
};
var translationTable = {
// Welsh, according to Google Translate
"{{name}} is using mustache.js!": "Mae {{name}} yn defnyddio mustache.js!"
};
function _(text) {
return translationTable[text] || text;
}
alert(Mustache.to_html(template, view));
// alerts "Mae Matt yn defnyddio mustache.js!"
Но я хотел бы получить более подробную информацию о том, как структурировать функцию _ (text) и translationTable, чтобы обеспечить условные, сингулярные, множественные числа и т.д. Примеры решения более сложных вариантов использования были бы высоко оценены.