我在DOJO Localization中苦苦挣扎了很长时间。
我的应用程序文件夹结构如下。
并且,获取本地化字符串的代码如下所示。
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");
请指导我解决此问题
提前致谢。
答案 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");