【问题标题】:Using requireLocalization and getLocalization in Dojo在 Dojo 中使用 requireLocalization 和 getLocalization
【发布时间】:2013-03-21 17:07:33
【问题描述】:

我正在尝试创建一个自定义 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 中的本地化。但问题出在我的 Google Chrome 控制台中,出现以下错误:

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

为什么Dojo 还需要“customwidget > nls”中的本地化代码文件?尽管控制台中出现错误,但我的代码实际上运行没有任何问题。

我正在查看Globalization Guidelines,它说我们应该使用dojo.requireLocalization("my.app", "bar");,而不是写dojo.requireLocalization("my.app", "bar", "zh-cn");。 dojo.i18n.getLocalization 也是如此。为什么?

【问题讨论】:

    标签: javascript localization internationalization dojo


    【解决方案1】:

    对于您的第一个问题,我不完全确定为什么它仍然发出请求(IMO 它不应该),但 dojo 正在尝试获取默认语言包。最好在 nls 文件夹的根目录下放置一个默认包,以便在使用不受支持的语言的用户浏览页面时显示 something。

    对于第二个问题 - 你应该允许 dojo 选择正确的语言包,当然如果你自己指定它,你最终会复制大量代码来决定使用哪种语言并传递它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多