v0.1.29
自动转换、基于配置的前端国际化方案。
在前端国际化开发中,很多社区方案给我们带来了极大便利,但是仍有2个问题没有解决:
为此,我们开发了 di18n,它能自动扫描代码中的主语言,将其替换成国际化标记;同时将语言抽取成配置,可以放到服务端保存及更新。
di18n 会先按如下步骤扫描源码:
注:对于 React,上面提到的特殊节点包括: JSXText StringLiteral TemplateLiteral 等。
JSXText
StringLiteral
TemplateLiteral
扫描之后,对于源代码:
CallExpression
intl.t('key1')
path.replaceWith(newNode)
对于国际化资源:
$ npm i -D di18n-cli # or $ yarn add -D di18n-cli
React
$ npx di18n init
注意:TypeScript 需要将配置文件 di18n.config.js 的 prettier.parser 改为 "typescript"。
TypeScript
prettier.parser
"typescript"
Vue
$ npx di18n init --vue
$ npx di18n sync
MIT
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
di18n
自动转换、基于配置的前端国际化方案。
为什么存在
在前端国际化开发中,很多社区方案给我们带来了极大便利,但是仍有2个问题没有解决:
为此,我们开发了 di18n,它能自动扫描代码中的主语言,将其替换成国际化标记;同时将语言抽取成配置,可以放到服务端保存及更新。
工作原理
di18n 会先按如下步骤扫描源码:
自动为每一个字符串分配一个 key因随机 key 可读性差,已改成使用主语言(如中文)文案为 key;扫描之后,对于源代码:
CallExpression表达式intl.t('key1');path.replaceWith(newNode);对于国际化资源:
流程图
安装
初始化
React
注意:
TypeScript需要将配置文件 di18n.config.js 的prettier.parser改为"typescript"。Vue
转换
License
MIT