一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

微軟發(fā)布最新jQuery國(guó)際化插件 諸多實(shí)例用法解析

  近日微軟發(fā)布了一款新的jQuery國(guó)際化插件,該插件涵蓋了超過350種文化的國(guó)際化信息,你可以在JavaScript程序中引用這個(gè)插件添加國(guó)際化功能。同時(shí)可以在Github代碼庫(kù)下載插件的原型版本:http://github.com/nje/jquery-glob

  理解國(guó)際化

  jQuery國(guó)際化插件可以讓你在JavaScript代碼中輕松地處理不同文化之間的數(shù)字、貨幣和日期格式。例如,你可以使用這個(gè)插件正確地顯示一個(gè)國(guó)家的貨幣符號(hào):

國(guó)家的貨幣符號(hào)

  你也可以用這個(gè)插件編排日期格式,這樣日期和月份會(huì)以正確的順序顯示,而日期和月份的名稱也能夠得到正確的翻譯:

日期和月份

  請(qǐng)注意上圖阿拉伯的日期格式中,年份顯示成了1431。這是因?yàn)槟攴菀呀?jīng)按照回歷的方式轉(zhuǎn)換過了。

  一些文化差異比較明顯,例如使用不同的貨幣或者不同的月份名稱等。但另外一些差異卻細(xì)微而又出人意料。例如,在有一些文化里,數(shù)字不是以均衡的方式分組的。在語(yǔ)言標(biāo)記為“te-IN”的文化中(印度東部的泰盧固語(yǔ)),數(shù)字先按3位數(shù)字分組,然后再每2位數(shù)字分組。因此象數(shù)字一百萬(1000000)就會(huì)被寫成“10,00,000”。而有些文化就根本不對(duì)數(shù)字進(jìn)行分組。所有這些細(xì)微的差異都能夠被jQuery國(guó)際化插件自動(dòng)處理。

  要得到正確的日期可能非常需要技巧。不同的文化采用不同的歷法,比如公歷和回歷。同一種文化也可能會(huì)采用多個(gè)歷法,比如日本就同時(shí)采用公歷和以天皇年號(hào)推算的紀(jì)年歷。插件提供了函數(shù)將日期在所有這些歷法中相互轉(zhuǎn)換。

  使用語(yǔ)言標(biāo)記

  jQuery國(guó)際化插件依據(jù)RFC 4646和RFC 5646標(biāo)準(zhǔn)里定義的語(yǔ)言標(biāo)記來識(shí)別文化,語(yǔ)言標(biāo)記通常由連字符將多個(gè)輔標(biāo)簽組合而成,比如:

en-AU 英文(澳大利亞)
en-BZ 英文(伯利茲)
en-CA 英文(加拿大)
Id印度尼西亞文
zh-CHS中文(簡(jiǎn)體)
Zu祖魯文

  請(qǐng)注意單一語(yǔ)言例如英語(yǔ)可以同時(shí)有多個(gè)語(yǔ)言標(biāo)記。同是英語(yǔ)國(guó)家,加拿大采用的數(shù)字、貨幣和日期格式就不同于澳大利亞或者美國(guó)。你可以使用下面的語(yǔ)言輔標(biāo)簽查找工具來獲取某個(gè)文化的語(yǔ)言標(biāo)記:http://rishida.NET/utils/subtags/。

  jQuery國(guó)際化插件里一個(gè)叫做globinfo的文件夾包含了這350種文化的信息。實(shí)際上,這個(gè)文件夾里有700多個(gè)文件,因?yàn)樗嗣總€(gè)文件的最小化(minify)和原始版本。比如說,在globinfo文件夾,文件jQuery.glob.en-AU.js對(duì)應(yīng)英文(澳大利亞),jQuery.glob.id.js對(duì)應(yīng)印度尼西亞文,而jQuery.glob.zh-CHS對(duì)應(yīng)簡(jiǎn)體中文。

  示例:指定某種文化

  假如你要?jiǎng)?chuàng)建一個(gè)德文的網(wǎng)站,并且希望在客戶端的JavaScript腳本里使用德語(yǔ)習(xí)慣顯示所有的日期、貨幣符號(hào)和數(shù)字。那頁(yè)面的源代碼也許與下面的HTML類似:

源代碼

  注意上面的span標(biāo)簽,它們標(biāo)識(shí)了所有需要用國(guó)際化插件進(jìn)行格式化的區(qū)域:商品的價(jià)格、上架的日期以及庫(kù)存量。要在網(wǎng)頁(yè)里使用jQuery國(guó)際化插件,需要添加三個(gè)JavaScript文件:jQuery庫(kù),jQuery國(guó)際化插件和指定的文化習(xí)慣信息:

jQuery國(guó)際化插件和指定的文化習(xí)慣信息

  在上例中,我將包含了德語(yǔ)文化習(xí)慣的jQuery.glob.de-DE.js文件靜態(tài)地加入到網(wǎng)頁(yè)中,”de-DE”是語(yǔ)言標(biāo)記,表示在德國(guó)使用的德語(yǔ)。既然已經(jīng)引入了必要的腳本文件,就可以使用下面的客戶端JavaScript代碼調(diào)用插件來顯示價(jià)格、上架的日期以及庫(kù)存量等值:

價(jià)格、上架的日期以及庫(kù)存量等值

  jQuery國(guó)際化插件為jQuery函數(shù)庫(kù)添加了一些新的函數(shù)—包括preferCulture()和format()等新函數(shù)。你可以通過preferCulture()函數(shù)設(shè)置插件其他函數(shù)調(diào)用時(shí)使用的默認(rèn)文化。preferCulture()函數(shù)接受一個(gè)語(yǔ)言標(biāo)記作為參數(shù),這個(gè)函數(shù)會(huì)使用最接近這個(gè)語(yǔ)言標(biāo)記的文化。

  $.format()函數(shù)才是真正用來編排貨幣、日期和數(shù)字格式的。$.format()函數(shù)的第二個(gè)參數(shù)是格式分類符。例如,傳入“c”表示按貨幣的樣式編排參數(shù)值。在githum的ReadMe文件里詳細(xì)描述了所有格式分類符代表的意思:http://github.com/nje/jquery-glob

  當(dāng)我們?cè)跒g覽器打開這個(gè)頁(yè)面的時(shí)候,所有的東西都是按照德語(yǔ)習(xí)慣正確顯示。貨幣符號(hào)采用的是歐元符號(hào),日期采用德語(yǔ)的日期和月份名稱,并且,數(shù)字分隔符用的是點(diǎn)號(hào)(.),而不是逗號(hào)(,)。

  你可以通過運(yùn)行示例下載中的3_GermanSite.htm文件來了解上述方法。

  示例:用戶動(dòng)態(tài)選擇一個(gè)區(qū)域設(shè)置

  在前面的例子中,我們顯式指定使用德語(yǔ)文化習(xí)慣(通過引用jQuery.glob.de-DE.js文件)。我們現(xiàn)在來看看動(dòng)態(tài)設(shè)置文化習(xí)慣的幾個(gè)例子。比如說我們打算在頁(yè)面上加一個(gè)包含所有350種文化的下拉框,當(dāng)用戶在下拉框里選擇了一個(gè)文化,頁(yè)面上所有的日期都按照這個(gè)文化的習(xí)慣顯示。

示例:用戶動(dòng)態(tài)選擇一個(gè)區(qū)域設(shè)置

  這是網(wǎng)頁(yè)的HTML源代碼:

HTML源代碼

  請(qǐng)留意所有包含了日期的<span>標(biāo)簽都有一個(gè)data-date屬性(data-*屬性是HTML5里的新功能,同時(shí)在老的瀏覽器上也可以使用)。當(dāng)用戶在下拉框里選擇了一個(gè)文化信息后,我們的代碼將會(huì)格式化data-date屬性里保存的日期。為了顯示所有可能的文化信息,我們要象下面這樣添加一個(gè)叫jQuery.glob.all.js 的文件。

jQuery.glob.all.js文件

  jQuery國(guó)際化插件里有一個(gè)叫做jQuery.glob.all.js的文件,這個(gè)文件包含了所有插件支持的350多種文化的國(guó)際化信息。即使經(jīng)過最小化處理,還是有367k字節(jié)。由于文件很大,除非你的確需要一次性使用所有這些文化信息,我們建議你只添加所使用到的文化信息對(duì)應(yīng)的JavaScript文件。下一個(gè)例子中,我會(huì)演示如何在網(wǎng)頁(yè)中動(dòng)態(tài)地加載某個(gè)語(yǔ)言對(duì)應(yīng)的JavaScript文件。

  下一步,把所有支持的文化名稱添加到下拉框的列表里。可以用$.cultures這個(gè)屬性獲取它們:

$.cultures屬性

  最后,再寫幾行代碼把每個(gè)span標(biāo)簽里的data-date屬性的日期都抓出來并編排格式:

data-date屬性的日期

  jQuery國(guó)際化插件里面的parseDate()函數(shù)將一個(gè)字符串的日期轉(zhuǎn)換成JavaScript日期,而format()函數(shù)則用來編排這些日期的格式。“D”這個(gè)格式分類符說明使用長(zhǎng)日期格式編排日期。現(xiàn)在,只要頁(yè)面瀏覽者選擇這350種語(yǔ)言其中之一,內(nèi)容都會(huì)被正確的國(guó)際化。你可以通過運(yùn)行示例下載中的4_SelectCulture.htm文件來了解上述方法。

  示例:動(dòng)態(tài)加載國(guó)際化文件

  在上一節(jié)說過,你應(yīng)該盡量避免在頁(yè)面中引用jQuery.glob.all.js文件, 因?yàn)樗鼘?shí)在是太大了。相反,你可以動(dòng)態(tài)地加載你所需要的國(guó)際化信息。比如說,你要?jiǎng)?chuàng)建一個(gè)下拉列表顯示下面這些語(yǔ)言:

創(chuàng)建一個(gè)下拉列表顯示下面這些語(yǔ)言

  下面的代碼會(huì)在用戶從下拉框中選擇一個(gè)新的語(yǔ)言后執(zhí)行。這段代碼會(huì)先判斷選中的語(yǔ)言對(duì)應(yīng)的國(guó)際化腳本文件是否已經(jīng)加載了。如果還沒有加載,則使用jQuery的$.getScript()函數(shù)動(dòng)態(tài)加載國(guó)際化腳本文件。

動(dòng)態(tài)加載國(guó)際化腳本文件

  當(dāng)國(guó)際化腳本文件被瀏覽器加載以后,就會(huì)調(diào)用globalizePage()函數(shù),繼而執(zhí)行客戶端的代碼完成國(guó)際化。這個(gè)方法的優(yōu)點(diǎn)是可以讓你避免加載整個(gè)jQuery.glob.all.js文件—只要加載使用到的文件,而且只加載一次。示例下載中的5_Dynamic.htm文件演示了這個(gè)方法。

  示例:自動(dòng)檢測(cè)用戶的常用語(yǔ)言設(shè)置

  大多數(shù)網(wǎng)站通過檢測(cè)用戶的瀏覽器設(shè)置來得到其常用語(yǔ)言,然后根據(jù)這種語(yǔ)言文化習(xí)慣來國(guó)際化網(wǎng)站內(nèi)容。用戶可以在瀏覽器中設(shè)置一個(gè)常用語(yǔ)言。這樣,用戶在請(qǐng)求頁(yè)面時(shí),常用語(yǔ)言設(shè)置會(huì)包含在請(qǐng)求Http消息頭的Accept-Language字段中。如果使用的是微軟的IE瀏覽器,可以通過以下步驟設(shè)置你常用的語(yǔ)言:

  1. 在菜單欄里選擇工具,InterNET 選項(xiàng)。

  2. 選擇常規(guī)標(biāo)簽。

  3. 在外觀里點(diǎn)擊語(yǔ)言按鈕。

  4. 點(diǎn)擊添加在語(yǔ)言列表里增加新的語(yǔ)言。

  5. 然后把你最常用的語(yǔ)言放在列表的最頂端。

  你可以在這個(gè)對(duì)話框中設(shè)置多門常用語(yǔ)言。所設(shè)置語(yǔ)言的順序關(guān)系將會(huì)體現(xiàn)在HTTP請(qǐng)求的Accept-Language字段中,如:

  1. Accept-Language:fr-FR,id-ID;q=0.7,en-US;q=0.3 

  比較奇怪的是,用戶不能夠通過客戶端的JavaScript腳本得到Accept-Language的內(nèi)容。微軟的IE和Firefox瀏覽器都支持一系列語(yǔ)言相關(guān)的屬性,這些屬性可以通過Window.navigator進(jìn)行訪問,例如windows.navigator.browserLanguage和window.navigator.language,不過這些屬性中的語(yǔ)言一般指的是操作系統(tǒng)中設(shè)置的語(yǔ)言或者是瀏覽器的語(yǔ)言版本。你不能通過這些屬性來得到用戶設(shè)置的常用語(yǔ)言。

  得到用戶語(yǔ)言偏好(也就是Accept-Language字段中的內(nèi)容)的唯一可靠方法就是編寫服務(wù)器代碼。例如,下面的ASP.NET頁(yè)面就利用了服務(wù)器的Request.UserLanguages屬性把用戶的語(yǔ)言偏好設(shè)置賦給了客戶端JavaScript的acceptLanguage變量(然后就可以通過客戶端JavaScipt訪問這些值了):

通過客戶端<a href=/itjie/Javajishu/ target=_blank class=infotextkey>Java</a>Scipt訪問這些值

  為了使這段代碼能夠正常工作,頁(yè)面中必須包含與acceptLanguage對(duì)應(yīng)的文化信息。例如如果你的常用語(yǔ)言是fr-FR(法語(yǔ)-法國(guó)),那就必須在這個(gè)頁(yè)面中引用jQuery.glob.fr-FR.js或者jQuery.glob.all.js這兩個(gè)JavaScript腳本之一,否則沒辦法得到文化信息。關(guān)于這個(gè)方法的應(yīng)用可以示例下載中的”6_AcceptLanguages.ASPx”。

  如果對(duì)于頁(yè)面中用戶的常用語(yǔ)言沒有對(duì)應(yīng)的腳本包含其文化信息,那么$.preferCulture()方法就會(huì)引用中立(neutral)的文化信息(例如,使用jQuery.glob.fr.js,而不是jQuery.glob.fr-FR.js)。如果中立文化信息也不可用,那么$.preferCulture()方法就會(huì)回滾到使用默認(rèn)文化(英語(yǔ))。

  示例:利用國(guó)際化插件使JQuery UI DatePicker實(shí)現(xiàn)國(guó)際化

  國(guó)際化插件的目的之一就是使開發(fā)能適應(yīng)各種不同文化的jQuery小工具的變得更為簡(jiǎn)單。我們希望確保jQuery國(guó)際化插件能夠與現(xiàn)有的jQuery的UI插件如DatePicker共存并正常工作。為了實(shí)現(xiàn)這個(gè)目標(biāo),我們創(chuàng)建了DatePicker插件的一個(gè)整合版本,使它可以在渲染日歷的時(shí)候利用我們的插件來提供國(guó)際化支持。下圖演示了把jQuery國(guó)際化插件和整合后的DatePicker插件一起加入到頁(yè)面并選擇印度尼西亞語(yǔ)的效果。

示例:利用國(guó)際化插件使JQuery UI DatePicker實(shí)現(xiàn)國(guó)際化

    注意:一周中每一天的名稱都以印度尼西亞語(yǔ)的縮寫形式顯示。 此外,月份的名字也以印度尼西亞語(yǔ)顯示。你可以從我們的github網(wǎng)站下載整合版的JQuery UI DatePicker。你也可以使用示例下載中文件7_DatePicker.htm所使用的版本。

  原文地址:http://weblogs.ASP.NET/scottgu/archive/2010/06/10/jquery-globalization-plugin-from-microsoft.ASPx

  原文名:jQuery Globalization Plugin from Microsoft

it知識(shí)庫(kù)微軟發(fā)布最新jQuery國(guó)際化插件 諸多實(shí)例用法解析,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国内精品区一区二区三 | 国产视频91在线 | 国产在线干 | 国产高清精品入口麻豆 | 亚洲国产中文字幕在线观看 | 亚洲一区二区三区福利在线 | 成人性色大片 | 色多多在线观看 | 91极品视频在线观看 | 精品久久天干天天天按摩 | 中文字幕久热精品视频免费 | 91一区二区午夜免费福利网站 | 免费色视频在线观看 | 91最新 | 久久99精品久久久久久久不卡 | 国产精品久久久久999 | 久久视热这只是精品222 | 国产一区二区三区久久 | 五月四房播 | 美女视频黄.免费网址 | 久久精品道一区二区三区 | 青草国产在线观看 | 91刘亦菲精品福利在线 | 亚洲一区二区三区网站 | 微拍秒拍福利一区二区 | 夜夜爽天天狠狠九月婷婷 | 国产精品日韩欧美久久综合 | 欧美人人做人人爽人人喊 | 色网站观看 | 久久精品国产精品亚洲婷婷 | 看全色黄大色黄大片色黄看的 | 国产一区二区三区毛片 | 免费观看国产精品 | 精品福利视频一区二区三区 | 69日本xxxxx色护士 | 日本精品1在线区 | 美国黑人毛片 | 337p欧美 | 站长推荐国产精品视频 | 国产精品女同一区二区久久 | 美女色影院 |