对于希望在同一页面上显示多种语言的奇怪场景,我如何利用 Dojo 的 extraLocale 功能以辅助语言标记标签?
假设我在 Dojo 中定义了一个额外的语言环境,如下所示
var dojoConfig = {
locale : "en",
extraLocale: [ "zh-cn", "ja-jp" ]
};
如果我随后以以下方式定义一个类,如果我尝试使用 i18n,我总是会得到一个已经包含 MyClass_nls 的所有英文标签的对象。如何指定一个额外的语言环境,例如“zh-cn”,以便它查找 MyClass_nls 的中文版本?
define(
[ "dojo/_base/declare", "dojo/_base/lang",
"dijit/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin",
"dojo/text!./templates/MyClass.html",
"dojo/i18n!./nls/MyClass_nls" ],
function(declare, lang, _TemplatedMixin,
_WidgetsInTemplateMixin, template, i18n) {
return declare(
"group.test.MyClass",
[ _TemplatedMixin, _WidgetsInTemplateMixin,
Evented ],
{
像这样的东西会起作用,但我相信这不需要 dojoConfig 中的 extraLocale 功能
var bundle = i18nResolver.getLocalization("group/mypath", "MyClass_nls", "zh-cn");