【发布时间】:2011-12-24 11:33:15
【问题描述】:
似乎 Twitter 正在使用 Mustache.js 中的 fork 为其模板提供 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 以提供条件、单数、复数等。解决更高级用例的示例将不胜感激。
【问题讨论】:
-
我的印象是 twitter 使用 hogan.js 进行小胡子模板。如果是这样的话,那么马丁在下面的回答似乎是一个很好的建议。
标签: javascript twitter internationalization templating mustache