@alicloud/console-base-intl-factory-basic
v1.6.9
Published
ConsoleBase Intl Factory Basic, Pure Text, No JSX
Downloads
534
Readme
@alicloud/console-base-intl-factory-basic
ConsoleBase 用的一个极简极简的国际化(仅仅是做语言解析)
INSTALL
tnpm i @alicloud/console-base-intl-factory-basic -S
USAGE
定义你自己的 intl
// 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 方法
import intl from ':/intl';
intl('xxx');
intl('xxx_{id,name}', {
id,
name
});
intl<{n: number}>('xxx_{n}', { // 约束 values
n
});