Dojo 是否支持创建用于 Dojo 的语言环境和 i18n 的自定义语言变体
有谁知道我是否能够为 Dojo 的语言环境创建与 i18n 一起使用的自定义语言变体?
Example
define({
root: {
greeting: "Hello, world!"
}
"de-myVariant" : true
});
Dojo 是否支持创建用于 Dojo 的语言环境和 i18n 的自定义语言变体
有谁知道我是否能够为 Dojo 的语言环境创建与 i18n 一起使用的自定义语言变体?
Example
define({
root: {
greeting: "Hello, world!"
}
"de-myVariant" : true
});
是的,这是可以做到的。如果您有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 并且在内部所有标签都保持小写。