UNPKG

@alicloud/console-base-intl-factory-basic

Version:
53 lines (38 loc) 1.24 kB
# @alicloud/console-base-intl-factory-basic ConsoleBase 用的一个极简极简的国际化(仅仅是做语言解析) ## INSTALL ```shell tnpm i @alicloud/console-base-intl-factory-basic -S ``` ## USAGE ## 定义你自己的 `intl` ```typescript // src/intl/index.ts import intlFactory from '@alicloud/console-base-intl-factory-basic'; import localeZhCN from './messages/zh-cn'; import localeEnUS from './messages/en-us'; const intl = intlFactory<typeof localeZhCN>({ 'zh-CN': localeZhCN, // 这里的 key 你可以写成 zhCN zh_cn 等,这里自会处理成 kebab-case 的 'zh-cn' 'en-US': localeEnUS // 默认会把当前语言的 messages 和英文下做一个 merge,在当前语言下找不到的 message 会 fallback 为英文 }, { locale, // 可选,当前的 locale localeDefault // 可选,默认 fallback 的 locale,默认英文 }); export default intl; export const { intlDate } = intl; ``` 以上,注意 `<keyof typeof zhCN>` 可写可不写,如果加了这个泛型,则 TS 将保障 key 的合法性。 ## 使用你的 intl 方法 ```typescript import intl from ':/intl'; intl('xxx'); intl('xxx_{id,name}', { id, name }); intl<{n: number}>('xxx_{n}', { // 约束 values n }); ```