我最近才开始学习道场供个人使用和体验。到目前为止,我一直在做关于各种 dojo 东西的教程(在他们的网站和网络上),并且我一直在“努力”为更复杂的应用程序(或良好实践)实施具体的基础设施。我找到了一个有趣的项目(https://github.com/csnover/dojo-boilerplate)和文章(http://www.sitepen.com/blog/2011/05/04/what-is-the-best-开始-道场-项目/的方式)。有了这个,我想我的第一个问题就解决了。如我错了请纠正我。
我觉得 i18n 上的教程缺少具体的实现。例如,我想在样板项目的对话框中添加 i18n。
define([ 'dojo/_base/declare', 'dijit/Dialog' ], function (declare, Dialog) {
return declare(Dialog, {
title: 'Hello World',
content: 'Loaded successfully!'
});
});
在这里,我的项目层次结构是:
如您所见,我为我的应用程序创建了自己的 nls 文件夹,并为不同的(语言语言环境)我的“字符串”存储。现在,如何在上面的对话框代码的标题或内容上指定区域设置内容。我最近在 ruby on rails 上完成了 i18n(使用 MVC 的概念),根据我的观点,我必须为这个特定的视图创建一个本地化文件(.yml)。我知道 RoR 和 Dojo 真的不是一回事,但是有一个小部件(可以与我的视图进行比较),所以每个小部件都需要有自己的本地化......我遇到了 2 个教程,第一个和第二个。也许,我读错了。
我现在有这样的东西,但它不起作用..我错过了什么?
dojo.requireLocalization("app", "dialog");
define([ 'dojo/_base/declare', 'dijit/i18n' 'dijit/Dialog' ], function (declare, Dialog) {
i18n: dojo.i18n.getLocalization("app", "dialog"),
return declare(Dialog, {
title: i18n.title,
content: i18n.content
});
});
谢谢你。
编辑:
define([ 'dojo/_base/declare', 'dojo/i18n!app/nls/labels', 'dijit/Dialog' ], function (declare, labels, Dialog) {
return declare(Dialog, {
title: labels.title,
content: labels.content
});
});
我现在没有错误,但我的 labels.title 是空的...?
编辑(1):我忘记在默认的 nls 文件夹中添加根目录。