視頻
1.背景介紹
國(guó)際化(Internationalization)指的是同一個(gè)網(wǎng)站可以支持多種不同的語言僧须,以方便不同國(guó)家项炼,不同語種的用戶訪問。關(guān)于國(guó)際化我們想到的最簡(jiǎn)單的方案就是為不同的國(guó)家創(chuàng)建不同的網(wǎng)站暂论,比如蘋果公司拌禾,他的英文官網(wǎng)是:http://www.apple.com而中國(guó)官網(wǎng)是http://www.apple.com/cn
蘋果公司這種方案并不適合全部公司,而我們希望相同的一個(gè)網(wǎng)站湃窍,而不同人訪問的時(shí)候可以根據(jù)用戶所在的區(qū)域顯示不同的語言文字,而網(wǎng)站的布局樣式等不發(fā)生改變循榆。
于是就有了我們說的國(guó)際化墨坚,國(guó)際化總的來說就是同一個(gè)網(wǎng)站不同國(guó)家的人來訪問可以顯示出不同的語言。
國(guó)際化的英文Internationalization泽篮,但是由于拼寫過長(zhǎng),有人想了一個(gè)簡(jiǎn)單的寫法叫做I18N泼各,代表的是Internationalization這個(gè)單詞亏拉,以I開頭扣蜻,以N結(jié)尾,而中間是18個(gè)字母锐极,所以簡(jiǎn)寫為I18N芳肌。以后我們說I18N和國(guó)際化是一個(gè)意思。
2亿笤、知識(shí)剖析
首先我們需要知道,用戶使用的是哪種語言汪榔,這個(gè)問題最好解決肃拜,因?yàn)闉g覽器在發(fā)送請(qǐng)求時(shí)會(huì)發(fā)送如下請(qǐng)求頭:Accept-Language: zh-CN,en-US
下一步需要我們根據(jù)不同的語言顯示不同的內(nèi)容。那我們想一下爆班,如果說我們?cè)陧?yè)面中把這些諸如:用戶名、密碼等信息都寫死了戚嗅,那么枢舶,將不能再修改。
所以在頁(yè)面中這些需要國(guó)際化的內(nèi)容都是需要?jiǎng)討B(tài)獲取的凉泄,也就是他們實(shí)際上都是變量。
我們一般采取的方式是將這些需要國(guó)際化的內(nèi)容寫到一個(gè)資源配置文件中胀糜,然后程序根據(jù)不同的語言加載不同的文件蒂誉,就達(dá)到了一個(gè)國(guó)際化的目的。
3右锨、編碼實(shí)戰(zhàn)
在springmvc-servlet.xml配置國(guó)際化資源文件
配置i18n.properties和兩個(gè)國(guó)際化資源文件,中文和英文
配置一個(gè)i18n的jsp頁(yè)面
這里為了使用國(guó)際化消息讥电,需要用到fmt標(biāo)簽轧抗。JSTL提供了對(duì)國(guó)際化的支持,可以根據(jù)發(fā)出請(qǐng)求的客戶端地域的不同來顯示不同的語言信息
4潮剪、常見問題
properties文件無法正常顯示中文
5分唾、解決方案
properties文件一開始中文讀取出來是亂碼狮斗,然后我發(fā)現(xiàn)網(wǎng)上寫的都是Unicode碼,但他們都是用的eclipse寫的碳褒,所以我就打開了快一個(gè)月沒用過的eclipse,發(fā)現(xiàn)在eclipse中沙峻,在properties文件中輸入中文會(huì)自動(dòng)轉(zhuǎn)換成Unicode碼,這是為了防止亂碼去枷。又查了很多是复,發(fā)現(xiàn)idea可以進(jìn)行全局的utf-8設(shè)置,在setting底下的編譯器的文件編碼中淑廊,改完之后發(fā)現(xiàn)還是不行_(:з」∠)_
然后重啟idea之后就好了,頁(yè)面就會(huì)顯示中文了录粱。画拾。當(dāng)然輸入U(xiǎn)nicode碼也可以,不過需要手動(dòng)轉(zhuǎn)換一下碾阁,很麻煩
------------------------------------------------------------------------------------------------------------------------
今天的分享就到這里啦,歡迎大家點(diǎn)贊脂凶、轉(zhuǎn)發(fā)愁茁、留言亭病、拍磚~
技能樹.IT修真院
“我們相信人人都可以成為一個(gè)工程師,現(xiàn)在開始促煮,找個(gè)師兄整袁,帶你入門,掌控自己學(xué)習(xí)的節(jié)奏坐昙,學(xué)習(xí)的路上不再迷茫”疾棵。
這里是技能樹.IT修真院,成千上萬的師兄在這里找到了自己的學(xué)習(xí)路線是尔,學(xué)習(xí)透明化开仰,成長(zhǎng)可見化,師兄1對(duì)1免費(fèi)指導(dǎo)抖所。快來與我一起學(xué)習(xí)吧~
我的邀請(qǐng)碼:14229748暴匠,或者你可以直接點(diǎn)擊此鏈接:http://www.jnshu.com/login/1/14229748