有點小糾結,
客戶端的國際化,如果在服務器端實現,那么客戶端就不用管任何事情了,所有的調用接口就行了,當有需要改一些提示語的時候,直接改后臺就行了,不用讓客戶端再去升級,當時這樣的話,后臺壓力就很大,文案這種東西老是會修改的,后臺會很崩潰。
如果放在客戶端實現國際化,服務器只用給對應的錯誤碼,客戶端根據錯誤碼翻譯成對應的提示語,這樣后臺就不用經常去改了,但是如果要改提示語,客戶端又得去升級,真是糾結啊。~
有哪些大神,支支招~~~
6 回答

慕碼人2483693
TA貢獻1860條經驗 獲得超9個贊
1)資源的變更內容保存到服務器端
2)客戶端只根據客戶端的選擇顯示對應的語言
3)客戶端最下化下載相應地語言資源包到本地,顯示內容
4)在需要升級的時候發送通知給客戶端,客戶端下載對應的資源包到本地再解析,沒有必要升級整個客戶端
5)功能性的變更需要升級客戶端那就另論了

翻閱古今
TA貢獻1780條經驗 獲得超5個贊
我們是服務端和客戶端都做。
服務端的好理解,就是讀取文件,輸出到緩存里面。
其實客戶端也類似,只不過需要服務端配合,我們是客戶端有一個js文件請求 /xxx/i18n.js 這個文件是服務端輸出的 map 數據結構,在頁面上或者 js 代碼中配合一些類庫(比如 Handlebars helper, I18nJs)來輸出語言信息。

UYOU
TA貢獻1878條經驗 獲得超4個贊
常改的東西 : 客戶端檢測系統語言發送Accept-Language,服務器端根據客戶端發送的Accept-Language返回錯誤信息文本,要注意編碼問題
不常改的東西 : 寫死
一般來說錯誤信息什么的不常改...如果是更復雜的,很多都是Webview吧?例如各種音樂客戶端那種,如果是可以離線使用的應用,可以考慮定期更新語言文件的方式,也沒多大,不然斷網了...
添加回答
舉報
0/150
提交
取消