【发布时间】:2017-09-07 20:45:00
【问题描述】:
我对如何从Intl polyfill 实际填充某些通用语言环境数据 (CLDR) 感到有些困惑。
目前我的理解如下(如有错误请指正):
- 现代浏览器自己传送语言环境数据(不需要任何 polyfill)
-
Intl.min没有任何语言环境数据 -
Intl.complete附带来自intl/locale-data的所有语言环境数据捆绑
由于我们只需要支持一些语言环境(比如说en 和de),因此明智的做法是仅捆绑Intl.min 并在需要时动态加载 CLDR(在应用启动时或用户更改语言)。
如何在需要时动态加载 CLDR 以及如何将其添加到 Intl?
我已经设置了aurelia-i18n 和i18next,以便它们仅在需要时使用i18next-xhr-backend 加载我们的自定义翻译。我可以以某种方式挂钩并从 Intl polyfill 加载所需的语言环境吗?
- 如果是这样,我该怎么做?如何事先检查是否有必要(新浏览器不需要它,它可能已经加载)?
- 我是否正确假设我不必在加载语言环境后手动添加它,因为它自己会这样做(例如,
intl/locale-data/jsonp/en.js以IntlPolyfill.__addLocaleData(...);开头)?
【问题讨论】:
标签: javascript internationalization aurelia i18next