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

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

これを解決するために私を導いてください

前もって感謝します。

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 を持つ 2 つのフォルダーがあることでした。ローカライズを必要としないフォルダーの名前を変更しました。ローカライズするには、次のコード スニペットで十分です。

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