替换Dojo / Dijit NLS字符串

时间:2013-06-27 11:50:42

标签: javascript localization dojo dijit.form

我希望用新的文件覆盖NLS文件(dijit / form / validate.js),或者替换一些NLS字符串映射。我希望这个文件能被标准的Dijits选中。

我不希望删除标准Dojo库中的文件。我可以在djConfig中指定一个路径来搜索NLS文件的目录,以便我的新文件被拾取而不是原始文件吗?如果是这样,我该怎么做?

或者我如何混合一个新的字符串定义,即

取代:

missingMessage: "This value is required.",

使用:

missingMessage: "My string is here.",

1 个答案:

答案 0 :(得分:1)

如果您想按字面意思执行所请求的内容并为dijit/form/nls/validate i18n模块选择备用文件,则可以使用map property重新映射模块ID(1.8 +):

var dojoConfig = {
    map: { dijit: {
        'dijit/form/nls/validate': 'my/form/nls/validate',
        'dijit/form/nls/en/validate': 'my/form/nls/en/validate',
        // ... etc
    } }
};

但是,覆盖验证小部件上的消息的标准和推荐方法是使用您自己的值设置消息属性:

define([
    'dijit/form/ValidationTextBox',
    'dojo/i18n!my/form/validate'
], function (ValidationTextBox, myI18n) {
    var instance = new ValidationTextBox({ missingMessage: myI18n.missingMessage });
    // ...
});