发现了几个问题(和答案):How is internationalization configured for Hogan.js? ,ETC。
但不是特别考虑词序。我需要具备以下能力:
步骤 1. 给定一个键 -> 查找特定语言的句子。
step 2. 这句话可能包含 {{var}} ,需要
用 json-values 替换。
步骤 2. 单独是一般的胡须模板。
步骤 1. 单独可以使用多种技术完成,但我更喜欢不涉及 Mustache/Hogan 引擎之外的任何专门代码的技术(当然与 i18n 资源包结合使用)。霍根似乎通过以下方式支持这一点:(来自上面的网址)
var template = "{{#i18n}}Name{{/i18n}}: {{username}}",
context = {
username: "Jean Luc",
i18n: function (i18nKey) {return translatedStrings[i18nKey];}
};
然而,在这个例子中结合 1. 和 2. 我想translatedStrings[i18nKey]
返回一个可能包含的字符串{{<some expansion>}}
。
有人知道这样做的优雅方法吗?
理由:通常语言在词序等方面存在很大差异,这使得复杂的模板没有这种能力。