1

我在 DOJO 本地化方面苦苦挣扎了很长时间。

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

在此处输入图像描述

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

 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");

我得到空的本地化字符串对象。

如果我将录音文件夹移动到 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");

请指导我解决这个问题

提前致谢。

4

2 回答 2

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");
于 2012-07-23T20:52:43.003 回答
0

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

dojo.i18n.getLocalization("CTop.recordings", "agent", "de");
于 2012-08-17T06:29:54.057 回答