i18n實(shí)現(xiàn)前端國(guó)際化(實(shí)例)

在今日的需求中需要利用 i18n 這個(gè)框架來(lái)實(shí)現(xiàn)前端的國(guó)家化操作,下圖是實(shí)現(xiàn)效果:

點(diǎn)擊選擇框?qū)崿F(xiàn)網(wǎng)頁(yè)上語(yǔ)言的切換:

下面開(kāi)始實(shí)現(xiàn)過(guò)程:

  1. 所需工具:
    - jquery-3.3.1.js 下載地址:jquery
    - jquery.i18n.properties.js jquery.i18n.properties.js
  2. 搭建項(xiàng)目目錄如下:

    其中:language.js 為自定義的 js 文件莲祸,用于實(shí)現(xiàn)頁(yè)面邏輯其障,strings_en_US.properties
    strings_en_ZH.properties文件為語(yǔ)言文件亩进。
  3. 首先我們?cè)?index.html 中寫(xiě)上一定的測(cè)試頁(yè)面代碼器罐,如下所示:
<!doctype html>  
<head>  
 <meta charset="UTF-8">  
 <meta name="viewport"  
  content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">  
 <meta http-equiv="X-UA-Compatible" content="ie=edge">  
 <title>國(guó)際化樣例</title>  
</head>  
<body>  
  
<form>  
     <select class="lan_select">  
         <option class="lan_zh">中文</option>  
         <option class="lan_en">英文</option>  
     </select>
 </form>  
  
<label class="username"><!--用戶(hù)名:--></label><input type="text">  
<label class="password"><!--密碼:--></label><input type="password">  
  
<script type="application/javascript" src="JS/jquery-3.3.1.js"></script>  
<script type="application/javascript" src="JS/jquery.i18n.properties.js"></script>  
<script type="application/javascript" src="JS/language.js"></script>  
  
</body>  
</html>
  1. 下面我們?cè)趦蓚€(gè)語(yǔ)言中分別定義需要顯示的文字:
    1. strings_en_ZH.properties文件:
      username=用戶(hù)名:  
      password=密碼: 
      lan_zh=中文  
      lan_en=英文
      
    2. strings_en_US.properties 文件:
      username=User Name:  
      password=Password:  
      lan_zh=Chinese  
      lan_en=English
      
  2. 最后我們?cè)?language.js 中實(shí)現(xiàn)點(diǎn)擊事件和切換方法跟束,代碼如下:
var LANGUAGE_Index = "zh_CN"; //標(biāo)識(shí)語(yǔ)言  
  
jQuery(document).ready(function () {  
    // alert("頁(yè)面加載時(shí)調(diào)用的方法");  
  
  LANGUAGE_Index = jQuery.i18n.normaliseLanguageCode({}); //獲取瀏覽器的語(yǔ)言  
  loadProperties(LANGUAGE_Index);  
});  
  
  
$(".lan_select").change(function () {  
  
  
    if (($(".lan_select").val() === "英文") || ($(".lan_select").val() === "English")) {  
        LANGUAGE_Index = "en_US";  
  } else {  
        LANGUAGE_Index = "zh_CN";  
  }  
  
    loadProperties(LANGUAGE_Index);  
  
});  
  
  
function loadProperties(type) {  
    jQuery.i18n.properties({  
        name: 'strings', // 資源文件名稱(chēng)  
        path: 'Languages/', // 資源文件所在目錄路徑  
        mode: 'map', // 模式:變量或 Map  
        language: type, // 對(duì)應(yīng)的語(yǔ)言  
        cache: false,  
        encoding: 'UTF-8',  
        callback: function () { // 回調(diào)方法  
            $('.lan_zh').html($.i18n.prop('lan_zh'));  
            $('.lan_en').html($.i18n.prop('lan_en'));  
            $('.username').html($.i18n.prop('username'));  
            $('.password').html($.i18n.prop('password'));  
        }  
    });  
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抬吟,一起剝皮案震驚了整個(gè)濱河市萨咕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌火本,老刑警劉巖危队,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異钙畔,居然都是意外死亡交掏,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)刃鳄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)盅弛,“玉大人,你說(shuō)我怎么就攤上這事叔锐∨才簦” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵愉烙,是天一觀的道長(zhǎng)讨盒。 經(jīng)常有香客問(wèn)我,道長(zhǎng)步责,這世上最難降的妖魔是什么返顺? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮蔓肯,結(jié)果婚禮上遂鹊,老公的妹妹穿的比我還像新娘。我一直安慰自己蔗包,他們只是感情好秉扑,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著调限,像睡著了一般舟陆。 火紅的嫁衣襯著肌膚如雪误澳。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,196評(píng)論 1 308
  • 那天秦躯,我揣著相機(jī)與錄音忆谓,去河邊找鬼。 笑死踱承,一個(gè)胖子當(dāng)著我的面吹牛陪毡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播勾扭,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼毡琉,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了妙色?” 一聲冷哼從身側(cè)響起桅滋,我...
    開(kāi)封第一講書(shū)人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎身辨,沒(méi)想到半個(gè)月后丐谋,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡煌珊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年号俐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片定庵。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吏饿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蔬浙,到底是詐尸還是另有隱情猪落,我是刑警寧澤,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布畴博,位于F島的核電站笨忌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏俱病。R本人自食惡果不足惜官疲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望亮隙。 院中可真熱鬧途凫,春花似錦、人聲如沸咱揍。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)煤裙。三九已至掩完,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間硼砰,已是汗流浹背且蓬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留题翰,地道東北人恶阴。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像豹障,于是被迫代替她去往敵國(guó)和親冯事。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom閱讀 2,701評(píng)論 0 3
  • 在 SAPUI5 中血公,通過(guò)兩種方法來(lái)實(shí)現(xiàn)多語(yǔ)言昵仅,一是 SAPUI5 提供 Resource Model,Resou...
    Stone0823閱讀 2,123評(píng)論 0 2
  • 很多人都容易自我設(shè)限,這就好像在多年以前垦写,我們?cè)?jīng)被關(guān)在籠子里÷朗溃現(xiàn)在籠子早已消失了。我們卻仍然受它影響梯投,無(wú)法沖破它...
    小蓮蓬兒閱讀 134評(píng)論 0 0
  • plist是什么命辖? 它全名是:Property List,屬性列表文件分蓖,它是一種用來(lái)存儲(chǔ)串行化后的對(duì)象的文件吮龄。屬性...
    Moker_C閱讀 346評(píng)論 0 1
  • 今年假期,爸爸帶我來(lái)了一次說(shuō)走就走的旅行咆疗。早晨爸爸念叨了一下說(shuō)出去玩玩漓帚,下午媽媽下班后我們就出發(fā)了!這次旅...
    118d415ceb4a閱讀 560評(píng)論 2 3