Kiwi國際化全流程解決方案
Kiwi是阿里巴巴開源的國際化解決方案,kiwi 不僅僅一個(gè)軟件國際化的代碼庫,而是國際化從設(shè)計(jì)到發(fā)布的整個(gè)流程的一整套解決方案。目前有很多成熟的庫可以幫助前端去做對(duì)應(yīng)的國際化方案,比較知名的有 react-intl 以及 I18N-loader。這些庫都可以很好的解決代碼中多種語言切換的問題,但是也存在一些沒有解決的問題。
目前有很多成熟的庫可以幫助前端去做對(duì)應(yīng)的國際化方案,比較知名的有 react-intl 以及 I18N-loader。這些庫都可以很好的解決代碼中多種語言切換的問題,但是也存在如下沒有解決的問題:
- 文案使用國際化 Key 代替后,難以搜索,文案不直觀
- 代碼中的中文提取困難
- 無法知道項(xiàng)目中是不是還有未提取的中文文案
而且這些國際化庫并沒有解決下列問題:
- 國際化涉及到多個(gè)相關(guān)人員,與各個(gè)業(yè)務(wù)方有交流眾多。比如導(dǎo)出翻譯文案給翻譯團(tuán)隊(duì)
而在國際化過程中,在還沒有拿到對(duì)應(yīng)語言文案的時(shí)候,相關(guān)文案的長(zhǎng)度也給 UI 上的調(diào)整也給前端增加了很多難度
- 不認(rèn)識(shí)對(duì)應(yīng)語言,或者不知道對(duì)應(yīng)語言的顯示長(zhǎng)度,UI 上不知道如何處理 而 kiwi 就是為了解決上述的問題而創(chuàng)造的。
Kiwi 解決了哪些問題
kiwi 不僅僅一個(gè)軟件國際化的代碼庫,而是國際化從設(shè)計(jì)到發(fā)布的整個(gè)流程的一整套解決方案。
kiwi 整體基于 kiwi-intl 國際化框架,實(shí)現(xiàn)與框架無關(guān)的語言切換功能。
在開發(fā)過程中,使用 kiwi linter 實(shí)現(xiàn)中文文案的批量自動(dòng)提取,同時(shí)針對(duì)替換后的文案變量,在 VS Code 中顯示對(duì)應(yīng)的中文文案。當(dāng)然你也可以全局搜索中文文案,跳轉(zhuǎn)到對(duì)應(yīng)的代碼,很好的解決了國際化過程中由于中文文案缺失造成的開發(fā)體驗(yàn)問題。
在翻譯過程中,可以使用 kiwi 命令行自動(dòng)提取未送翻詞匯,整理成 Excel 方便與翻譯同學(xué)協(xié)作。針對(duì)翻譯同學(xué)還沒有返回翻譯文案的期間,可以使用 kiwi 內(nèi)置的支持 google 以及 多種翻譯平臺(tái)的自動(dòng)翻譯腳本,先臨時(shí)翻譯成對(duì)應(yīng)語言,節(jié)省文案調(diào)整時(shí)間。
國際化文案翻譯完成后,可以使用 kiwi 的命令行工具,一鍵導(dǎo)入到項(xiàng)目文件內(nèi)。
kiwi 還提供了對(duì)應(yīng) TSLint 的插件,使用 TSLint 在開發(fā)過程中實(shí)時(shí)提醒未抽離文案,以及在代碼提交的時(shí)候,攔截未國際化的代碼提交。
