我正在尝试使用 dojo 设置本地化,但无法正常工作。
我有一个这样的文件夹结构:
Folder: locale
- about.html
- Folder: nls
- about.js
- Folder fr
- about.js
这是应该本地化的文件。
<html>
<head>
<script type="text/javascript">
var dojoConfig = {
locale: 'fr'
};
</script>
<script src="//servicesbeta.esri.com/jsapi/arcgis/3.4/js/dojo/dojo/dojo.js"></script>
<script>
require([
"dojo/i18n",
"dojo/i18n!./nls/about"
],function(
i18n,
nls
){
console.log("Good Morning");
console.log(dojoConfig);
console.log(nls['hello']);
});
</script>
</head>
<body></body>
</html>
这是文件的输出:
我期望输出包括French Hello
,而不是English Hello
。
如果我将要求更改为:
require([
"dojo/i18n",
"dojo/i18n!./nls/about.js"
],function(
到:
require([
"dojo/i18n",
"dojo/i18n!./nls/about"
],function(
我得到这个输出:
不完全确定这里发生了什么。
为什么第一个示例找不到法语本地化?它正在加载并正在设置本地。
第二个示例与我看到的大多数 dojo 示例更加一致。这怎么了?
任何帮助,将不胜感激。谢谢!
为了完整起见,nls/about.js:
define({
root: {
hello: "English Hello"
},
"fr":true
});
和 nls/fr/about.js:
define({
root: {
hello: "French Hello"
}
});