近期在作國際化的改造,作了相應的調研,簡單作下項目前端國際化的小結前端
國際化能夠分爲前端國際化和後端國際化,也能夠是先後端組合的國際化
後端多爲spring國際化,這裏不作展開,百度一下處處都是react
常見的前端國際化方法步驟以下:(原理)jquery
展開說:spring
以上三步任意組合均可以完成國際化的任務,只是效率各有不一樣,可根據項目作自由組合express
優勢:json
缺點:後端
不常見的方法步驟以下:(原理)緩存
將國際化配置分散在各個文件中如:cookie
`<a class='i18n'>登陸|登入|Sign in|サインイン|로그인</a>`
根據環境肯定國際化標記:異步
cn:0, tw:1, en:2, jp:3, kr:4
根據國際化標記顯示相應信息
全局搜索class=i18n的元素,保留相應信息
優勢:
缺點:
使用google翻譯插件
https://support.google.com/tr...
適用項目:
內容龐大且不在意準確性,時效性強,更新頻繁,支持世界語言
實例:
阿里國際賣場 https://www.aliexpress.com/
普通異步項目:
**nej/jquery項目** 若是僅須要支持中文和英文,建議使用第二種形式,若是須要支持多國語言,建議使用第一種形式,code錯誤碼能夠添加標記定向到國際版錯誤信息
組件式項目:
**Regular/Angular/React...項目** 由於數據雙向綁定和組件化的特色,能夠將國際化版本作在組件裏, 經過標記繼承控制版本的顯示,利用路由系統解析hash值,如: '#/cn/s1' : 中文頁面S1 '#/s1' : 頁面S1 '#/en/s1' : 英文頁面S1