Kiwi是阿里巴巴开源的国际化解决方案,kiwi不仅仅一个软件国际化的代码库,而是国际化从设计到发布的整个流程的一整套解决方案。目前有很多成熟的库可以帮助前端去做对应的国际化方案,比较知名的有react-intl以及I18N-loader。这些库都可以很好的解决代码中多种语言切换的问题,但是也存在一些没有解决的问题。
目前有很多成熟的库可以帮助前端去做对应的国际化方案,比较知名的有 react-intl 以及 I18N-loader。这些库都可以很好的解决代码中多种语言切换的问题,但是也存在如下没有解决的问题:
文案使用国际化Key代替后,难以搜索,文案不直观代码中的中文提取困难无法知道项目中是不是还有未提取的中文文案而且这些国际化库并没有解决下列问题:
国际化涉及到多个相关人员,与各个业务方有交流众多。比如导出翻译文案给翻译团队而在国际化过程中,在还没有拿到对应语言文案的时候,相关文案的长度也给UI上的调整也给前端增加了很多难度
不认识对应语言,或者不知道对应语言的显示长度,UI上不知道如何处理而kiwi就是为了解决上述的问题而创造的。Kiwi解决了哪些问题kiwi不仅仅一个软件国际化的代码库,而是国际化从设计到发布的整个流程的一整套解决方案。
kiwi整体基于kiwi-intl国际化框架,实现与框架无关的语言切换功能。
在开发过程中,使用kiwilinter实现中文文案的批量自动提取,同时针对替换后的文案变量,在VSCode中显示对应的中文文案。当然你也可以全局搜索中文文案,跳转到对应的代码,很好的解决了国际化过程中由于中文文案缺失造成的开发体验问题。
在翻译过程中,可以使用kiwi命令行自动提取未送翻词汇,整理成Excel方便与翻译同学协作。针对翻译同学还没有返回翻译文案的期间,可以使用kiwi内置的支持google以及多种翻译平台的自动翻译脚本,先临时翻译成对应语言,节省文案调整时间。
国际化文案翻译完成后,可以使用kiwi的命令行工具,一键导入到项目文件内。
kiwi还提供了对应TSLint的插件,使用TSLint在开发过程中实时提醒未抽离文案,以及在代码提交的时候,拦截未国际化的代码提交。
评论