独立使用的 API

访问本地化的消息包

导入默认语言包后,将消息包传给 i18n 函数就可访问所有特定区域的消息。

例如:

  1. import { localizeBundle } from '@dojo/framework/i18n/i18n';
  2. import bundle from 'nls/main';
  3. localizeBundle(bundle, { locale: 'fr' }).then(({ messages }) => {
  4. console.log(messages.hello); // "Bonjour"
  5. console.log(messages.goodbye); // "Au revoir"
  6. });

如果将不支持的区域传给 i18n,则返回默认的消息。此外,如果特定区域的消息包中没有提供某些消息,也会返回默认值。因此,默认包应该包含所有特定区域包中使用的 所有 消息 key。

确定当前区域

@dojo/framework/i18n/i18n 公开了两个确定当前区域的方法:

  • getCurrentLocale, 用于获取应用程序当前使用的顶层区域设置。
  • getComputedLocale, 支持的区域中包含用户的系统区域,则返回用户的系统区域设置;如果不支持用户的系统区域,则返回 .dojorc 中指定的默认区域。