0

カスタムDojoウィジェットを作成しようとしています。これが私のファイル構造の外観です。

customwidget
  |
  +--nls
  |   |
  |   +--en
  |       |
  |       +--CustomWidget.js (My localization code)
  +--CustomWidget.js (My actual custom widget code)

今私のコードで私は書いています:

dojo.requireLocalization("customwidget", "CustomWidget", "en");

そして、このローカリゼーションを取得するために、私は次のように書いています。

dojo.i18n.getLocalization('timeago', "Timeago", "en")

私のウィジェットにはかなりの数のコード行があり、customwidget>nls>enのローカリゼーションで機能します。しかし、問題は次のエラーが表示された私のGoogleChromeのコンソールにあります。

GET http://******/******/******/customwidget/nls/CustomWidget.js 404 (Not Found)

Dojoが「customwidget>nls」内にもローカリゼーションコードファイルを必要とするのはなぜですか?コンソールのエラーにもかかわらず、私のコードは実際には問題なく実行されます。

私はグローバリゼーションガイドラインを通過していましたが、書く代わりにをdojo.requireLocalization("my.app", "bar", "zh-cn");使用する必要があると書かれていますdojo.requireLocalization("my.app", "bar");。の場合も同様dojo.i18n.getLocalizationです。なんで?

4

1 に答える 1

0

最初の質問については、なぜまだリクエストを行うのか完全にはわかりませんが (IMO すべきではありません)、dojo はデフォルトの言語バンドルを取得しようとしています。サポートされていない言語のユーザーがページを参照したときに何かが表示されるように、nls フォルダーのルートに既定のバンドルを配置することをお勧めします。

2 番目の質問については、dojo が正しい言語バンドルを選択できるようにする必要があります。自分でそれを指定すると、使用する言語を決定し、それを渡すために多くのコードを複製することになります。

于 2013-03-22T09:18:24.047 に答える