国际化
antd 目前的默认文案是英文,如果需要使用其他语言,可以参考下面的方案。
antd 提供了一个 React 组件 ConfigProvider 用于全局配置国际化文案。
import zhCN from 'antd/locale/zh_CN';// for date-picker i18nimport 'dayjs/locale/zh-cn';return (<ConfigProvider locale={zhCN}><App /></ConfigProvider>);
详细配置见:ConfigProvider。
注意:zh_CN 是文件名,以下表格也遵循同样的规则。
目前支持以下语言:
| 语言 | 文件名 | 
|---|---|
| 阿拉伯语 | ar_EG | 
| 阿塞拜疆语 | az_AZ | 
| 保加利亚语 | bg_BG | 
| 孟加拉语(孟加拉国) | bn_BD | 
| 白俄罗斯语 | by_BY | 
| 加泰罗尼亚语 | ca_ES | 
| 捷克语 | cs_CZ | 
| 丹麦语 | da_DK | 
| 德语 | de_DE | 
| 希腊语 | el_GR | 
| 英语 | en_GB | 
| 英语(美式) | en_US | 
| 西班牙语 | es_ES | 
| 巴斯克语 | eu_ES | 
| 爱沙尼亚语 | et_EE | 
| 波斯语 | fa_IR | 
| 芬兰语 | fi_FI | 
| 法语(比利时) | fr_BE | 
| 法语(加拿大) | fr_CA | 
| 法语(法国) | fr_FR | 
| 爱尔兰语 | ga_IE | 
| 加利西亚语(西班牙) | gl_ES | 
| 希伯来语 | he_IL | 
| 印地语 | hi_IN | 
| 克罗地亚语 | hr_HR | 
| 匈牙利语 | hu_HU | 
| 亚美尼亚 | hy_AM | 
| 印度尼西亚语 | id_ID | 
| 意大利语 | it_IT | 
| 冰岛语 | is_IS | 
| 日语 | ja_JP | 
| 格鲁吉亚语 | ka_GE | 
| 高棉语 | km_KH | 
| 北库尔德语 | kmr_IQ | 
| 卡纳达语 | kn_IN | 
| 哈萨克语 | kk_KZ | 
| 韩语/朝鲜语 | ko_KR | 
| 立陶宛语 | lt_LT | 
| 拉脱维亚语 | lv_LV | 
| 马其顿语 | mk_MK | 
| 马拉雅拉姆语 | ml_IN | 
| 蒙古语 | mn_MN | 
| 马来语 (马来西亚) | ms_MY | 
| 缅甸语 | my_MM | 
| 挪威语 | nb_NO | 
| 尼泊尔语 | ne_NP | 
| 荷兰语(比利时) | nl_BE | 
| 荷兰语 | nl_NL | 
| 波兰语 | pl_PL | 
| 葡萄牙语(巴西) | pt_BR | 
| 葡萄牙语 | pt_PT | 
| 罗马尼亚语 | ro_RO | 
| 俄罗斯语 | ru_RU | 
| 僧伽罗语 | si_LK | 
| 斯洛伐克语 | sk_SK | 
| 塞尔维亚语 | sr_RS | 
| 斯洛文尼亚语 | sl_SI | 
| 瑞典语 | sv_SE | 
| 泰米尔语 | ta_IN | 
| 泰语 | th_TH | 
| 土耳其语 | tr_TR | 
| 土库曼 | tk_TK | 
| 乌尔都语 (巴基斯坦) | ur_PK | 
| 乌克兰语 | uk_UA | 
| 乌兹别克语(拉丁字母) | uz_UZ | 
| 越南语 | vi_VN | 
| 简体中文 | zh_CN | 
| 繁体中文(中国香港) | zh_HK | 
| 繁体中文(中国台湾) | zh_TW | 
具体的使用方法请参考 ConfigProvider 文档。
如果你找不到你需要的语言包,欢迎你在 英文语言包 的基础上创建一个新的语言包,并给我们发一个 Pull Request,可以参考 阿塞拜疆语的 PR。
基本步骤如下:
Fork antd 并 git clone 到本地,切换到 feature 分支,执行一次拉取确保最新,基于 feature 分支切换一个新分支,以下工作将在新分支完成。
git clone git@github.com:<your organization>/ant-design.gitcd ant-design/git remote add upstream git@github.com:ant-design/ant-design.gitgit checkout -b <your new branch name> upstream/feature
为 rc-pagination 添加对应语言,参考 这个。
等待 rc-picker 和 rc-pagination 发布含上述内容的最低版本。
参考 阿塞拜疆语的 PR 向 antd 发起 PR,完善对应语言的其他内容和更新 rc-picker 和 rc-pagination 版本。
在 index.test.tsx 添加该语言的测试用例。
更新 snapshot,在这之前或许你还需要先删除 node_modules 和 lock 文件 (yarn.lock or package-lock.json) 并全新安装。
npm run test -- components/locale -u
更新 docs/react/i18n.zh-CN.md 和 docs/react/i18n.zh-CN.md,将对应语言添加到文档列表。
观察 CI 是否通过,若未通过,根据日志进行修改直至通过。
万事俱备等待 review 。
你可以参考 Ant Design Pro 国际化文档 查看完整的国际化项目示例。