2013-03-21 71 views
0

我想創建一個定製的Dojo小部件使用requireLocalization和getLocalization這是我的文件結構的外觀:在道場

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。但問題是在我的谷歌Chrome瀏覽器的以下錯誤控制檯顯示出來:

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

爲什麼道場需要內部「customwidget> NLS」也本地化代碼文件?儘管控制檯出現錯誤,但我的代碼實際上沒有任何問題。

我正在通過Globalization Guidelines,它說,而不是寫dojo.requireLocalization("my.app", "bar", "zh-cn");我們應該使用dojo.requireLocalization("my.app", "bar");dojo.i18n.getLocalization的情況也是如此。爲什麼?

回答

0

對於你的第一個問題,我不完全確定它爲什麼仍然發出請求(IMO不應該),但dojo試圖獲得默認語言包。最好在nls文件夾的根目錄下有一個默認包,這樣會在用戶使用不支持的語言瀏覽頁面時顯示。

對於第二個問題 - 你應該允許dojo選擇正確的語言包,當然,如果你自己指定它,你最終將複製大量的代碼來決定使用哪種語言並傳遞它。