20200731
先下結(jié)論: 國際化(i18n)和可訪問性(a11y) 都是大坑刻两。
首先說一下背景增蹭,仍然是一個SAAS應(yīng)用,它支持多國語言磅摹,因此也就需要支持國際化滋迈。
前兩天也剛好看到一篇文章,講這個户誓。https://product.hubspot.com/blog/software-internationalization-101-how-to-go-global-without-slowing-down 饼灿。 這是公司里的一位資深大佬發(fā)過來的文章,看了之后厅克,也的確覺得我們自己做的還有很多得不足赔退。
當前的流程
當前的流程是這樣的,首先開發(fā)者會根據(jù)設(shè)計圖畫前端UI证舟,這個時候會將那些反映在設(shè)計圖中的文案拿下來硕旗,放到我們的一個JSON文件中,例如我們有一個叫做‘copy’的文案女责,我們就會在這個JSON文件中添加一個key漆枚,就叫做'global.copy',而對應(yīng)的值就是‘copy’。這里的這個值抵知,是在美國英語環(huán)境下的值墙基。
之后,我們將以美國英語作為一個基準刷喜,將這個JSON文中中残制,還沒有被翻譯的key交到翻譯人員手中,翻譯人員的職責就是根據(jù)這些美國英語下的值掖疮,給出對應(yīng)語言下各個key的值初茶。開發(fā)人員將翻譯人員給到的最終結(jié)果,導入到我們的代碼庫中浊闪,就完成了整個流程恼布。
但是到此為止了嗎螺戳?其實并沒有。由于開發(fā)和翻譯并不是同時進行的折汞,所以倔幼,就會出現(xiàn)開發(fā)和測試已經(jīng)完成,但是翻譯的結(jié)果卻還沒有給出來這樣的情況爽待。這個時候损同,我們的做法是優(yōu)先保證能夠上線。這個時候鸟款,如果你去看生產(chǎn)環(huán)境的話揖庄,無論你切換到任何的一種語言,沒有被翻譯的部分欠雌,展示的內(nèi)容都是你的基準語言,在這里就是美國英語疙筹。直到翻譯的結(jié)果從翻譯人員那里給到我們富俄,我們對生產(chǎn)環(huán)境再做一次部署,翻譯的結(jié)果才能夠走到線上去而咆。
流程標準化
那么這個流程能否再進一步優(yōu)化呢霍比?
這篇文章給到了一個很好的思路”┍福可以依靠一個第三方平臺去推動翻譯工作悠瞬,翻譯不應(yīng)該是阻塞的。
這篇文章提到可以先由人工智能去做翻譯涯捻,這樣的話浅妆,就不會遇到我上面提到的沒有翻譯的部分用基準語言代替這樣的問題了。當然障癌,當翻譯結(jié)束之后凌外,再將人類翻譯的結(jié)果發(fā)送到生產(chǎn)環(huán)境,這也是非常順滑的涛浙。