Dojo 自定义小部件可以按照此处和此处_templated
列出的步骤通过 mixin进行国际化。然后像这样的小部件模板中的占位符: 自动替换为适当的语言翻译。${i18n.username}
在小部件之外进行类似 nls 语言替换的最简单方法是什么?理想情况下,我想向标签添加一个属性,以替换其中的所有占位符,包括嵌套标签。是否有某种类型的容器小部件已经这样做了?
还是 Dojo 开发假设一切都在(自定义)小部件中?我需要本地化已经存在的不使用小部件的代码。
到目前为止,我发现的最佳解决方案是:
- 使用dojox.mobile.i18n,它是“一个围绕 dojo.i18n 的薄包装,并且能够在 dojo 标记中替换字符串,例如 CDATA 或属性值”。但是,恐怕这仅限于移动标签/小部件的某个子集。
- 在 dojo.addOnLoad() 中显式调用解析器之前禁用自动解析并手动搜索/替换适当的文本。