DOJO本地化问题

时间:2012-07-23 16:22:35

标签: localization dojo

我在DOJO Localization中苦苦挣扎了很长时间。

我的应用程序文件夹结构如下。

enter image description here

并且,获取本地化字符串的代码如下所示。

 dojo.require("dojo.i18n");
    dojo.requireLocalization("CTop.recordings", "agent");
    dojo.addOnLoad(function () {
        //Returns a localized Object
        var localizedStrings = dojo.i18n.getLocalization("CTop.recordings", "agent", "de");

我正在变空 localizedStrings 对象。

如果我将recordings文件夹移动到dojo文件夹的级别(即在Scripts下),则以下代码正常工作。

 dojo.require("dojo.i18n");
    dojo.requireLocalization("recordings", "agent");
    dojo.addOnLoad(function () {
        //Returns a localized Object
        var localizedStrings = dojo.i18n.getLocalization("recordings", "agent", "de");

将CTop文件夹添加到结构有什么问题?如何注册本地化路径?

我也尝试过以下方式,但没有成功。

dojo.require("dojo.i18n");
dojo.registerModulePath("myApp", "cTop.recordings.agent");
dojo.requireLocalization("myApp", "agent");
var localizedStrings = dojo.i18n.getLocalization("myApp", "agent", "de");

请指导我解决此问题

提前致谢。

2 个答案:

答案 0 :(得分:2)

尝试此操作(cTop目录文件夹保持不变,如屏幕截图所示)

// point the top-level namespace (such like 'dojo' is) to a folder by relative URI
// path here is a relative to dojo.js
dojo.registerModulePath("myApp", "../cTop/recordings"); 
dojo.requireLocalization("myApp", "agent");
var localizedStrings = dojo.i18n.getLocalization("myApp", "agent", "de");

// if you were to have a module declared in a file called 'myModule.js' under 'cTop' folder
// one could require it by following
dojo.require("myApp.myModule");

答案 1 :(得分:0)

问题是我有两个同名CTop的文件夹。重命名不需要本地化的文件夹。以下代码段足以本地化。

dojo.i18n.getLocalization("CTop.recordings", "agent", "de");