宝哥软件园

详细说明如何使用jQuery.i18n.properties实现js国际化

编辑:宝哥软件园 来源:互联网 时间:2021-08-31

我们在做前台页面开发的时候,因为页面太多,复杂的页面太多,有时候一个页面就有几千行(当然这样的页面就算是普通的了)。为了减少页面的内容,我们提取页面的js文件,放入特定的js文件,然后导入到页面中。这样,当我们需要国际化应用程序时,我们需要考虑js的国际化。在这里,我们介绍使用JQuery.i18n.properties来实现js的国际化。

Ps: jQuery.i18n.properties是一个轻量级的jQuery国际化插件。类似于Java中的资源文件,jQuery.i18n.properties通过使用。属性文件。jQuery.i18n.properties插件解析带有后缀“”的相应资源文件。属性”根据用户指定的语言(或由浏览器提供)和国家代码(符合ISO-639和ISO-3166标准)。

使用资源文件进行国际化是一种流行的方式。例如,安卓应用程序可以通过使用以语言和国家代码命名的资源文件来国际化。jQuery.i18n.properties插件中的资源文件采用”。属性”作为后缀,并包含与区域相关的键值对。我们知道,Java程序也可以使用带后缀的资源文件。属性来实现国际化。因此,当我们想要在Java程序和前端JavaScript程序之间共享资源文件时,这种方法特别有用。jQuery.i18n.properties插件首先加载默认的资源文件(例如strings.properties),然后加载特定语言环境的资源文件(例如strings_zh.properties),这样可以确保在没有提供某种语言的翻译时,默认值始终有效。开发人员可以将资源文件中的密钥用作JavaScript变量(或函数)或映射。

那么如何使用jQuery.i18n.properties实现js国际化呢?

步骤1:创建属性资源文件。

属性资源文件的命名规则是:string_ browser语言短代码。属性,例如,在简体中文中:string_zh-CN.properties,这里需要注意的是它是一个破折号而不是下划线,如图所示,我创建了三个资源文件。

Js_en-US.properties(美国英语),js_ja.properties(日语),js_zh-CN.properties(简体中文)。

第二步:将jQuery.i18n.properties所需的js文件引入到js文件中。

由于jQuery.i18n.properties依赖于jQuery框架,因此有必要将jQuery.i18n.properties所需的js文件引入到您的js文件中。

用红色导入js以使用jQuery.i18n.properties

第三步:使用jQuery.i18n.properties API

脚本类型=' text/JavaScript' $(文档)。ready(function(){//国际化加载属性文件jquery . i18n . properties({ name : ' js ',path:'%=path%/js/i18n/',Mode :' map ',回调: function(){//成功加载后设置显示内容//alert(jquery . i18n . prop(' theme _ manage . js _ activity '))));} });});/script其中:name之后的值是您定义的资源文件中语言短代码之前的字符串,因为我的资源文件是js_xxx.properties,所以这个值是js。

路径后的值是资源文件的相对路径。也就是说,相对于工程结构,WebContent下的路径

模式后的值为加载模式;“Vars”是指以JavaScript变量或函数的形式加载资源文件中的键值(这是默认的),“map”是指以map的形式加载资源文件中的键值。“两者都意味着两种方法可以同时使用”。我这里用地图。

回调是一个回调函数。

如何根据不同的语言环境加载不同的资源文件?其实jQuery.i18n.properties的实现原理是根据名称后的值,加上浏览器语言和属性的短代码,找到对应的资源文件,这个过程是自动的,只需要上面的配置。

properties中的键值对如下:(中文会自动转换为properties文件中对应的ASCII值,可以在这里设置,也可以通过插件更改,所以我没有做。反正这些中文都是从页面复制过来的,不管是什么),等号前的键,等号后的值(注意不同资源文件中的键必须一致,用户自定义)。

这样,资源文件中的内容就被加载了。

第四步:根据js文件中的键找到对应的值。

红色部分是取值的方式,引号中的字符串对应于上面资源文件中的键值。

需要注意的事情:

这种方法可以在谷歌和火狐浏览器中实现,没有任何问题。但是IE浏览器会出现问题。问题是每次使用IE浏览器获得的语言环境是系统的语言,而不是浏览器的语言。

这个问题我纠结了很久。互联网上提供了一些获取浏览器语言的方法,但在IE中不起作用。最后,我的解决方案是在使用jQuery.i18n.properties加载资源文件之前获取请求头信息中的浏览器语言,然后进行设置。

所以国际化结束了。

这是我的第一个博客。以前一直看别人的博客,后来发现遇到的问题都解决了,但是过了一段时间发现忘记了,反复遇到同样的问题,然后忘记了怎么解决,上网找资料。这就是我决定写博客的直接原因。但是写博客的感觉真的很好,可以记录自己的学习过程。希望大家也可以试试这个。

以上是使用边肖介绍的jQuery.i18n.properties实现js国际化的示例代码。希望对大家有帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

更多资讯
游戏推荐
更多+