返回顶部
首页 > 资讯 > 前端开发 > html >Web开发者应该知道的jQuery i18n 知识有哪些
  • 573
分享到

Web开发者应该知道的jQuery i18n 知识有哪些

2024-04-02 19:04:59 573人浏览 独家记忆
摘要

web开发者应该知道的Jquery i18n 知识有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在设计网站时,一个重要的考虑是国际化。世

web开发者应该知道的Jquery i18n 知识有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

在设计网站时,一个重要的考虑是国际化。世界上每个地区和国家对于文本、消息、数字和日期应该如何出现有不同的期望。特定应用程序的每个用户期望所有文本和消息以熟悉的格式显示。javascript有一个很好的国际化解决方案称为jQuery.i18n。jQuery  i18n用于MediaWiki和许多其他国际网站的本地化。

JQuery I18n的特性

  • 保持代码与i18n内容分离。此功能保持代码的模块化,并允许开发人员加载他们需要的i18n功能。

  • 使用JSON格式。

  • 允许不刷新网页而更改语言。

  • 处理复数形式不使用附加消息。规则处理使用Unicode Consortium的通用区域设置数据存储库(Common Locale Data Repository,CLDR)完成。

  • 通过传递性别值来根据性别更正句子。

  • 支持语法形式。

JQuery I18n目录

使用jQuery i18n格式化目录的常规方法是对存储在此目录中的每种语言代码都有一个jsON文件的i18n文件夹。Figure 1中显示了一个示例目录。

Web开发者应该知道的jQuery i18n 知识有哪些

Figure 1.每种语言代码的JSON文件的目录。

JQuery I18n消息文件格式

jQuery i18n使用JSON文件,这允许用户以轻量级格式存储信息以进行数据交换。 JSON文件非常有益,因为:

  • 它们允许翻译人员轻松地访问要翻译的文本。如果需要发送JSON文件用于翻译服务,这将非常有用。

  • 它们阻止对数据库的直接访问。

JSON文件由一系列名称-值对或值的有序列表组成。在用于国际化的JSON文件中,消息键-消息对包含所有语言对的名称和值。每个键都是小写字母,使用“  –  ”分隔单词,并与所选语言中的值相关联。JSON文件可以包含@metadata,存储关于文件的非消息信息,例如版权和作者信息。通常为每种语言类型创建单独的JSON文件;然而,所有的翻译也可以放在一个单一的文件中。单独JSON文件的优点是文件不那么复杂。但是,单个JSON文件有助于确保在嵌入多语言数据时字段不会重复。下面提供了一个包含单一语言和@metadata的JSON文件示例:

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

下面提供了一个包含多种语言和@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的一些使用方法如下表所示。

使用区域

说明

切换区域设置

可以使用locale选项获取网页的区域设置:

$.i18n( {

locale: ‘fr’ // Locale is French

} );

插件初始化后切换到另一个区域设置:

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

消息加载

可以为特定区域设置或多个区域设置加载消息。

$.i18n().load( {

} );

数据api

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

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

消息格式 &ndash; 占位符

这些参数在消息中通过$1,$2,$3表示,语法为{{PLURAL:$1|pluralfORM1|pluralform2|&hellip;}} ,并由运行时替换。

消息格式 &ndash; 复数

在英语中,只有两个复数形式,但在许多其他语言中,有两个以上的复数形式。

消息格式 &ndash; 性别

{{GENDER&hellip;}}语法使用占位符的性别,动态更改语法。

翻译

有几种方法来翻译一个jquery.i18n应用程序:

  1. 编辑JSON文件。这适用于语言数量有限的小型应用程序。

  2. 有一个应用程序的翻译界面。此选项适用于具有许多翻译器的专有或专用应用程序。

JQuery.I18n.Properties

jQuery.i18n.properties是一个用于国际化的jQuery插件。与Java类似,jquery  i18n使用资源软件集(&rsquo;.properties&rsquo;文件)。资源软件集用于存储特定于区域的信息,例如文本消息。它们允许轻松访问特定于区域的信息并通过添加额外的资源软件集来轻松添加区域。  &lsquo;.properties&rsquo;文件包含特定于区域的键-值对,并根据语言和国家/地区代码解析这些文件。

使用Jquery.I18n.Properties

jquery.i18n.properties.js插件可以从https://github.com/jquery-i18n-properties/jquery-i18n-properties下载。插件应包含在html页面的<head>部分中。你使用的jquery的版本应如下所示在源文件中指定。

<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;文件)进行翻译。使用ISO-639作为语言代码,使用ISO-3166作为国家代码。

  • 如果未指定语言,则使用默认浏览器语言。始终首先使用资源软件集中的默认语言。接下来加载用户指定的语言。

  • 资源软件集字符串允许占位符替换,并且支持键中的命名空间。

语言控制

为了使代码更有效率,减少404错误,应使用languages.json文件。languages.json文件定义了可以使用的语言和属性文件。languages.json应该放置在与语言属性文件相同的目录中。languages.json文件的示例如下:

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

使用JQuery.I18n.Properties的示例

要使用jquery.i18n.properties.js创建HTML页面,***步是创建一个目录,其中包含JavaScript文件和属性文件所需的文件夹。对于这个例子,我们将使用Figure 2中的目录。

Web开发者应该知道的jQuery i18n 知识有哪些

Figure 2.使用属性文件的目录。

接下来,创建HTML代码。HTML包含允许用户选择语言的下拉菜单。下拉列表下面的消息根据所选语言进行本地化。

<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文件作为翻译文本。在此示例中使用三个属性文件:(1)Messages.properties,(2)Messages_fr.properties以及(3)Messages_tr.properties。每个属性文件中的文本如下所示:

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加载本地化字符串

要从属性文件加载消息,请将jquery.i18n.properties.js文件保存在js文件夹中。下面的jquery.i18n.properties.js代码是显示如何加载属性文件的简单示例。

选项

选项

说明

备注

name

表示资源软件集的文件名或文件名的一部分。

可选字符串或String []

language

ISO-639语言代码(&rsquo;en&rsquo;,&rsquo;fr&rsquo;)以及可选的ISO-3166国家代码(&rsquo;en_US&rsquo;,&rsquo;pt_BR&rsquo;)。如果未指定,将使用浏览器报告的默认语言。

可选字符串

path

包含要加载的“.properties”文件的目录路径。

可选字符串

mode

将资源软件集密钥作为JavaScript vars / 作为映射functions OR使用的选项。

可选字符串

cache

软件集通过浏览器缓存或强制重新加载。默认为强制重新加载。

可选布尔值

encoding

对软件集编码的类型。属性文件资源软件集以ISO-8859-1格式指定。默认为UTF-8格式。

可选字符串

callback

当脚本执行完成时调用回调函数。

可选function()

看完上述内容,你们掌握WEB开发者应该知道的jQuery i18n 知识有哪些的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网html频道,感谢各位的阅读!

--结束END--

本文标题: Web开发者应该知道的jQuery i18n 知识有哪些

本文链接: https://lsjlt.com/news/86062.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Web开发者应该知道的jQuery i18n 知识有哪些
    Web开发者应该知道的jQuery i18n 知识有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在设计网站时,一个重要的考虑是国际化。世...
    99+
    2024-04-02
  • web开发者应该知道的命令有哪些
    本篇内容介绍了“web开发者应该知道的命令有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. ali...
    99+
    2024-04-02
  • web开发人员必须知道的网络基础知识有哪些
    这篇文章主要介绍“web开发人员必须知道的网络基础知识有哪些”,在日常操作中,相信很多人在web开发人员必须知道的网络基础知识有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Java开发中需要知道的基础知识有哪些
    这篇文章将为大家详细讲解有关Java开发中需要知道的基础知识有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java 是一个多功能的编程语言,在某种程度上,它用在几乎所有可能涉及计算机的行业了里。Ja...
    99+
    2023-06-02
  • 实时响应和Git:Java开发者必须要知道的知识点?
    实时响应和Git:Java开发者必须要知道的知识点 Java开发者在日常工作中经常需要与实时响应和Git打交道。实时响应可以提高应用程序的性能,Git则是现代软件开发的核心工具。本文将介绍Java开发者必须要知道的实时响应和Git知识点,并...
    99+
    2023-10-13
    git 实时 响应
  • Knockout应用开发知识点有哪些
    本篇内容介绍了“Knockout应用开发知识点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1 Kn...
    99+
    2024-04-02
  • 前端开发者必备的Nginx知识有哪些
    这篇文章主要讲解了“前端开发者必备的Nginx知识有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“前端开发者必备的Nginx知识有哪些”吧!nginx在...
    99+
    2024-04-02
  • 应该了解决的Linux知识有哪些
    本篇内容介绍了“应该了解决的Linux知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!几种比较典型的Linux系统首先对目前的Lin...
    99+
    2023-06-16
  • Python开发者应该知道的7个开发库分别是什么
    Python开发者应该知道的7个开发库分别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。请注意我特别排除了像SQLAlchemy和Flask这样的库,因为其实在太优秀了,...
    99+
    2023-06-17
  • Web前端开发者必知的CSS属性有哪些
    这篇文章将为大家详细讲解有关Web前端开发者必知的CSS属性有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 圆角效果 如今的Web设计在不断跟进最新的开发技术,纷纷采用HTML5来开发多样性的W...
    99+
    2023-06-08
  • Apache和NumPy:Java开发者必须知道的关键知识点。
    Apache和NumPy:Java开发者必须知道的关键知识点 Apache和NumPy是两个极其重要的工具,它们被广泛用于数据科学、机器学习、人工智能等领域。对于Java开发者而言,熟悉这两个工具的使用方法和关键知识点,可以为日常工作和项目...
    99+
    2023-11-14
    apache numy load
  • 可能不知道的sudo知识有哪些
    可能不知道的sudo知识有哪些,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。大家都知道 sudo,对吗?默认情况下,该工具已安装在大多数 Linux 系统上,并...
    99+
    2023-06-16
  • 前端要知道的AST知识有哪些
    本篇内容主要讲解“前端要知道的AST知识有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“前端要知道的AST知识有哪些”吧!认识 AST定义:在计算机科学中,抽象语法树是源代码语法结构的一种抽...
    99+
    2023-07-06
  • Node.js开发的知识点有哪些
    这篇文章主要介绍“Node.js开发的知识点有哪些”,在日常操作中,相信很多人在Node.js开发的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node.js开发的知识点有哪些”的疑惑有所帮助!...
    99+
    2023-06-17
  • web自动化平台开发的知识点有哪些
    本篇内容主要讲解“web自动化平台开发的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“web自动化平台开发的知识点有哪些”吧!模型设计中的枚举值在前期的准备过程中,最开始写页面的时候...
    99+
    2023-06-04
  • Web开发者不可不知的编码原则有哪些
    这篇文章主要讲解了“Web开发者不可不知的编码原则有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Web开发者不可不知的编码原则有哪些”吧!1、善用DI...
    99+
    2024-04-02
  • Linux shell中必须知道的知识有哪些
    本篇文章为大家展示了Linux shell中必须知道的知识有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。我个人很喜欢使用 Linux 系统,虽然说 Windows 的图形化界面做的确实比 Li...
    99+
    2023-06-16
  • PHP中必须知道的知识点有哪些
    这篇文章主要介绍“PHP中必须知道的知识点有哪些”,在日常操作中,相信很多人在PHP中必须知道的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP中必须知道的知识点有哪些”的疑惑有所帮助!接下来...
    99+
    2023-06-20
  • C#中所要知道的知识点有哪些
    本文小编为大家详细介绍“C#中所要知道的知识点有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#中所要知道的知识点有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.在C#中,类名首字母需大写。如:c...
    99+
    2023-07-05
  • 优秀Web开发者提升开发能力必知的事有哪些
    这篇文章主要介绍了优秀Web开发者提升开发能力必知的事有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  1. 不要只盯着代码  如今人人都会写代码。很多业余爱好者也可以...
    99+
    2023-06-08
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作