1

Dojo 是否支持创建用于 Dojo 的语言环境和 i18n 的自定义语言变体

有谁知道我是否能够为 Dojo 的语言环境创建与 i18n 一起使用的自定义语言变体?

Example

define({
   root: {
     greeting: "Hello, world!"
   }
  "de-myVariant" : true
});
4

1 回答 1

0

是的,这是可以做到的。如果您有nls/SampleApp.js

define({
   root: {
     greeting: "Hello!"
   }
  "de" : true,
  "de-at": true,
  "de-x-mundl": true
});

那么下面会有三个子目录nls

nls/de
nls/de-at
nls/de-x-mundl

对于nls/de/SampleApp.js

define(({
    greeting: "Hallo!"
}));

对于nls/de-at/SampleApp.js

define(({
    greeting: "Gruß Gott!"
}));

nls/de-x-mundl/SampleApp.js

define(({
    greeting: "Servus, Mundi!"
}));

然后,如果您配置 Dojo 以将语言环境作为 URL 参数获取:

<script src="./dojo/1.8.3/dojo/dojo.js" 
        data-dojo-config="locale: location.search.substring(1).toLowerCase()">
</script>

您可以通过将语言环境标记作为该参数传递来轻松切换语言:

   .../app.html?de-DE
   .../app.html?de-at
   .../app.html?de-x-Mundl

请注意,Dojo 认为语言环境标签区分大小写,这就是为什么输入是toLowerCase()ed 并且在内部所有标签都保持小写。

于 2013-04-19T10:03:29.303 回答