日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于ssh国际化的记录

發布時間:2025/7/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于ssh国际化的记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近一點時間,公司項目上需要用到國際化。小小的研究了下,腦袋頭都大了。不是說國際化難,而是看合不合適自己。

接觸到國際化的技術分類有兩種

  • 1.???前臺js國際化

  • a)?????jquery.i18n.properties

  • b)????jquery.i18n

  • c)?????i18next

  • 2.???后臺框架及java原生國際化方法

  • a)?????Java原生 ResourceBundle獲取en_US.properties文件,獲取值

  • b)????Struts2配置相應配置文件 action繼承ActionSupport方法,用getText方法取值頁面引入Struts2標簽庫的方式取值。

  • c)?????Spring進行國際化. Struts2差不多。

  • 因為項目框架的原因,我不得不使用Struts2 + i18next來進行國際化。這兩種國際化的方式網上都有。我簡單列下要注意的點

  • 1.??? Struts2國際化會針對游覽器語言進行自動切換語言,但常常我們自己希望控制語言的切換。

  • 我的方法如下:

    ?

    ????/***?語言切換*?@return*/publicvoid?doChageLanguage(){String?language?=contextPvd.getRequestStr("language");Locale?locale?=?null;if?(language.equals("zh_CN"))?{locale?=?Locale.CHINA;}?else?{locale?=?Locale.US;}//使用cookie?保存用戶語言信息Cookie?cookie?=?new?Cookie("language",?language);contextPvd.addCookie(cookie);cookie.setMaxAge(60?*?60?*?24?*?14);cookie.setPath(contextPvd.getAppCxtPath());???//使用Session?保存用戶語言信息contextPvd.setLocale(locale);???????contextPvd.setSessionAttr("WW_TRANS_I18N_LOCALE",?locale); }



    但是發現語言切換還是有問題,查詢了下發下 Struts2bug~(不知道現在修復了沒,我用的版本比較老)

    解決問題的方案見:

    http://showtime520.iteye.com/blog/1042585(感謝分享)

    我對上面代碼進行了簡單修改

    見代碼

    publicMyRequestWrapper(HttpServletRequest?request)?{?super(request);?Cookie??cookie?=null;Cookie[]?cookies?=??request.getCookies();if?(cookies?!=?null)?{for?(Cookie?c?:?cookies)?{if?(c.getName().equals("language"))?{cookie?=c?;}}}if(null?!=cookie){Stringlanguage?=?cookie.getValue();if(!StringUtils.isBlank(language)?){if?(language.equals("zh_CN"))?{locale?=?Locale.CHINA;}?else?{locale?=?Locale.US;}}else{HttpSession?session?=request.getSession();??locale?=?(Locale)?session.getAttribute("WW_TRANS_I18N_LOCALE");?}}}



    主要使用Cookie 獲取語言~~Struts2注意點就這些。

    然后講講 i18next,說實話如果不是框架的原因 ?單單使用i18next就可以完全實現國際化。

    而且i18next非常小。但是i18next的資料很少,筆者的英語很爛,也只能咬著呀看官方文檔,但還是說同學們看文檔吧~~

    ?

    關鍵初始化:

    ???????????????var?option?=?{ns:?'i18n'?,?sendType:?'post',resGetPath:?bootPATH+'i18n/__lng__.json',debug:?true,lng:?language};i18n.init(option,?function(err,?t)?{ $("body").i18n();});?Json格式: {?? "login":{????"msg":"land?successfully,Get?tothe?system?right?away...",?"msg1":?"landsuccessfully"}? }



    使用:

    在頁面中用?? data-i18n="login.msg" 直接使用。js彈出 時用 直接用i18n.t("ogin.msg")的方式直接獲取.

    就寫到這里。看看對你有沒有幫助~~

    轉載于:https://blog.51cto.com/thlovesky/1968957

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的关于ssh国际化的记录的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。