独立使用的 API
访问本地化的消息包
导入默认语言包后,将消息包传给 i18n
函数就可访问所有特定区域的消息。
例如:
import { localizeBundle } from '@dojo/framework/i18n/i18n';
import bundle from 'nls/main';
localizeBundle(bundle, { locale: 'fr' }).then(({ messages }) => {
console.log(messages.hello); // "Bonjour"
console.log(messages.goodbye); // "Au revoir"
});
如果将不支持的区域传给 i18n
,则返回默认的消息。此外,如果特定区域的消息包中没有提供某些消息,也会返回默认值。因此,默认包应该包含所有特定区域包中使用的 所有 消息 key。
确定当前区域
@dojo/framework/i18n/i18n
公开了两个确定当前区域的方法:
getCurrentLocale
, 用于获取应用程序当前使用的顶层区域设置。getComputedLocale
, 支持的区域中包含用户的系统区域,则返回用户的系统区域设置;如果不支持用户的系统区域,则返回.dojorc
中指定的默认区域。