溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Web開發(fā)者應(yīng)該知道的jQuery i18n 知識(shí)有哪些

發(fā)布時(shí)間:2021-11-15 22:43:37 來源:億速云 閱讀:183 作者:柒染 欄目:web開發(fā)

Web開發(fā)者應(yīng)該知道的jQuery i18n 知識(shí)有哪些,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

在設(shè)計(jì)網(wǎng)站時(shí),一個(gè)重要的考慮是國(guó)際化。世界上每個(gè)地區(qū)和國(guó)家對(duì)于文本、消息、數(shù)字和日期應(yīng)該如何出現(xiàn)有不同的期望。特定應(yīng)用程序的每個(gè)用戶期望所有文本和消息以熟悉的格式顯示。JavaScript有一個(gè)很好的國(guó)際化解決方案稱為jQuery.i18n。jQuery  i18n用于MediaWiki和許多其他國(guó)際網(wǎng)站的本地化。

JQuery I18n的特性

  • 保持代碼與i18n內(nèi)容分離。此功能保持代碼的模塊化,并允許開發(fā)人員加載他們需要的i18n功能。

  • 使用JSON格式。

  • 允許不刷新網(wǎng)頁(yè)而更改語(yǔ)言。

  • 處理復(fù)數(shù)形式不使用附加消息。規(guī)則處理使用Unicode Consortium的通用區(qū)域設(shè)置數(shù)據(jù)存儲(chǔ)庫(kù)(Common Locale Data Repository,CLDR)完成。

  • 通過傳遞性別值來根據(jù)性別更正句子。

  • 支持語(yǔ)法形式。

JQuery I18n目錄

使用jQuery i18n格式化目錄的常規(guī)方法是對(duì)存儲(chǔ)在此目錄中的每種語(yǔ)言代碼都有一個(gè)JSON文件的i18n文件夾。Figure 1中顯示了一個(gè)示例目錄。

Web開發(fā)者應(yīng)該知道的jQuery i18n 知識(shí)有哪些

Figure 1.每種語(yǔ)言代碼的JSON文件的目錄。

JQuery I18n消息文件格式

jQuery i18n使用JSON文件,這允許用戶以輕量級(jí)格式存儲(chǔ)信息以進(jìn)行數(shù)據(jù)交換。 JSON文件非常有益,因?yàn)椋?/p>

  • 它們?cè)试S翻譯人員輕松地訪問要翻譯的文本。如果需要發(fā)送JSON文件用于翻譯服務(wù),這將非常有用。

  • 它們阻止對(duì)數(shù)據(jù)庫(kù)的直接訪問。

JSON文件由一系列名稱-值對(duì)或值的有序列表組成。在用于國(guó)際化的JSON文件中,消息鍵-消息對(duì)包含所有語(yǔ)言對(duì)的名稱和值。每個(gè)鍵都是小寫字母,使用“  –  ”分隔單詞,并與所選語(yǔ)言中的值相關(guān)聯(lián)。JSON文件可以包含@metadata,存儲(chǔ)關(guān)于文件的非消息信息,例如版權(quán)和作者信息。通常為每種語(yǔ)言類型創(chuàng)建單獨(dú)的JSON文件;然而,所有的翻譯也可以放在一個(gè)單一的文件中。單獨(dú)JSON文件的優(yōu)點(diǎn)是文件不那么復(fù)雜。但是,單個(gè)JSON文件有助于確保在嵌入多語(yǔ)言數(shù)據(jù)時(shí)字段不會(huì)重復(fù)。下面提供了一個(gè)包含單一語(yǔ)言和@metadata的JSON文件示例:

{ "@metadata": {  "author": "Colleen",  "description": "An example JSON file", "last-updated": "2016-09-21", "message-documentation": "qqq" }, "greeting": "Hello", "bye": "Goodbye" }

下面提供了一個(gè)包含多種語(yǔ)言和@metadata的JSON文件示例:

{  "@metadata": { "author": "Fred", "description": "An example JSON file", "last-updated": "2016-09-21", "message-documentation": "qqq", "arrayGroups": { "label": { "en": "label_en", "fr": "label_fr" } } }, "en": { "greeting": “Hello”, "bye": "Goodbye" } "fr": { "greeting": “Bonjour”, "bye": "Au revoir" }   }

用法

jquery.i18n的一些使用方法如下表所示。

使用區(qū)域

說明

切換區(qū)域設(shè)置

可以使用locale選項(xiàng)獲取網(wǎng)頁(yè)的區(qū)域設(shè)置:

$.i18n( {

locale: ‘fr’ // Locale is French

} );

在插件初始化后切換到另一個(gè)區(qū)域設(shè)置:

$.i18n ().locale = ‘ml’;

消息加載

可以為特定區(qū)域設(shè)置或多個(gè)區(qū)域設(shè)置加載消息。

$.i18n().load( {

} );

數(shù)據(jù)API

本地化消息可以不使用JavaScript顯示。

<li data-i18n=”message-key”></li>

消息格式 &ndash; 占位符

這些參數(shù)在消息中通過$1,$2,$3表示,語(yǔ)法為{{PLURAL:$1|pluralform1|pluralform2|&hellip;}} ,并由運(yùn)行時(shí)替換。

消息格式 &ndash; 復(fù)數(shù)

在英語(yǔ)中,只有兩個(gè)復(fù)數(shù)形式,但在許多其他語(yǔ)言中,有兩個(gè)以上的復(fù)數(shù)形式。

消息格式 &ndash; 性別

{{GENDER&hellip;}}語(yǔ)法使用占位符的性別,動(dòng)態(tài)更改語(yǔ)法。

翻譯

有幾種方法來翻譯一個(gè)jquery.i18n應(yīng)用程序:

  1. 編輯JSON文件。這適用于語(yǔ)言數(shù)量有限的小型應(yīng)用程序。

  2. 有一個(gè)應(yīng)用程序的翻譯界面。此選項(xiàng)適用于具有許多翻譯器的專有或?qū)S脩?yīng)用程序。

JQuery.I18n.Properties

jQuery.i18n.properties是一個(gè)用于國(guó)際化的jQuery插件。與Java類似,jquery  i18n使用資源軟件集(&rsquo;.properties&rsquo;文件)。資源軟件集用于存儲(chǔ)特定于區(qū)域的信息,例如文本消息。它們?cè)试S輕松訪問特定于區(qū)域的信息并通過添加額外的資源軟件集來輕松添加區(qū)域。  &lsquo;.properties&rsquo;文件包含特定于區(qū)域的鍵-值對(duì),并根據(jù)語(yǔ)言和國(guó)家/地區(qū)代碼解析這些文件。

使用Jquery.I18n.Properties

jquery.i18n.properties.js插件可以從https://github.com/jquery-i18n-properties/jquery-i18n-properties下載。插件應(yīng)包含在HTML頁(yè)面的<head>部分中。你使用的jquery的版本應(yīng)如下所示在源文件中指定。

<HEAD>      
  <script type="text/JavaScript" src="js/jquery-1.10.2.js"></script>           <script type="text/JavaScript" src="js/jquery.i18n.properties.js"></script> </ </HEAD>

JQuery.I18n.Properties的特性

  • 像Java i18n一樣工作。使用資源軟件集(&rsquo;.properties&rsquo;文件)進(jìn)行翻譯。使用ISO-639作為語(yǔ)言代碼,使用ISO-3166作為國(guó)家代碼。

  • 如果未指定語(yǔ)言,則使用默認(rèn)瀏覽器語(yǔ)言。始終首先使用資源軟件集中的默認(rèn)語(yǔ)言。接下來加載用戶指定的語(yǔ)言。

  • 資源軟件集字符串允許占位符替換,并且支持鍵中的命名空間。

語(yǔ)言控制

為了使代碼更有效率,減少404錯(cuò)誤,應(yīng)使用languages.json文件。languages.json文件定義了可以使用的語(yǔ)言和屬性文件。languages.json應(yīng)該放置在與語(yǔ)言屬性文件相同的目錄中。languages.json文件的示例如下:

{       "languages": [     "en_GB",     "es_ES",     "pt_BR",     "sv_SE"       ]  }

使用JQuery.I18n.Properties的示例

要使用jquery.i18n.properties.js創(chuàng)建HTML頁(yè)面,***步是創(chuàng)建一個(gè)目錄,其中包含JavaScript文件和屬性文件所需的文件夾。對(duì)于這個(gè)例子,我們將使用Figure 2中的目錄。

Web開發(fā)者應(yīng)該知道的jQuery i18n 知識(shí)有哪些

Figure 2.使用屬性文件的目錄。

接下來,創(chuàng)建HTML代碼。HTML包含允許用戶選擇語(yǔ)言的下拉菜單。下拉列表下面的消息根據(jù)所選語(yǔ)言進(jìn)行本地化。

<HTML>    <HEAD>           <script src="js/jquery-3.1.0.js" ></script>   <script type="text/JavaScript" src="js/jquery.i18n.properties.js"></script>   </HEAD>      <BODY>             <h3>Internationalization Example Using jQuery.i18n.properties</h3>     <div id="langBox">       Language:                   <select id="lang">                         <option value="en" selected>English</option>                         <option value="tr">Turkish</option>                         <option value="fr">French</option>                   </select>             </div><br>             <div id="lWelcome">Thank you for reading this example</div><br>             <div id="lSelLang">Your Selected Language is: en </div>    </BODY>    </HTML>

定義.Properties文件

jquery.i18n.properties.js插件使用.properties文件作為翻譯文本。在此示例中使用三個(gè)屬性文件:(1)Messages.properties,(2)Messages_fr.properties以及(3)Messages_tr.properties。每個(gè)屬性文件中的文本如下所示:

Messages.properties  lWelcome = Thank you for reading this example lSelLang = Your Selected Language is: {0}      Messages_fr.properties  lWelcome = Merci d'avoir lu cet exemple  lSelLang = Votre langue s&eacute;lectionn&eacute;e est : {0}      Messages_tr.properties  lWelcome = Bu &ouml;rnek okumak i&ccedil;in te?ekk&uuml;r ederiz  lSelLang = Sizin Se&ccedil;ili Dil ge&ccedil;erli: {0}

從.Properties加載本地化字符串

要從屬性文件加載消息,請(qǐng)將jquery.i18n.properties.js文件保存在js文件夾中。下面的jquery.i18n.properties.js代碼是顯示如何加載屬性文件的簡(jiǎn)單示例。

選項(xiàng)

選項(xiàng)

說明

備注

name

表示資源軟件集的文件名或文件名的一部分。

可選字符串或String []

language

ISO-639語(yǔ)言代碼(&rsquo;en&rsquo;,&rsquo;fr&rsquo;)以及可選的ISO-3166國(guó)家代碼(&rsquo;en_US&rsquo;,&rsquo;pt_BR&rsquo;)。如果未指定,將使用瀏覽器報(bào)告的默認(rèn)語(yǔ)言。

可選字符串

path

包含要加載的“.properties”文件的目錄路徑。

可選字符串

mode

將資源軟件集密鑰作為JavaScript vars / 作為映射functions OR使用的選項(xiàng)。

可選字符串

cache

軟件集通過瀏覽器緩存或強(qiáng)制重新加載。默認(rèn)為強(qiáng)制重新加載。

可選布爾值

encoding

對(duì)軟件集編碼的類型。屬性文件資源軟件集以ISO-8859-1格式指定。默認(rèn)為UTF-8格式。

可選字符串

callback

當(dāng)腳本執(zhí)行完成時(shí)調(diào)用回調(diào)函數(shù)。

可選function()

看完上述內(nèi)容,你們掌握Web開發(fā)者應(yīng)該知道的jQuery i18n 知識(shí)有哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI