内容简而易懂,条理清晰--jQuery国际化

优采云 发布时间: 2021-06-19 21:13

  内容简而易懂,条理清晰--jQuery国际化

  这次文章主要给大家展示了《如何使用jQuery.i18n.properties实现js国际化》,内容简单易懂,条理清晰,希望能帮到大家解惑,让小编带路大家一起研究学习《如何使用jQuery.i18n.properties实现js国际化》文章。

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

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

  使用资源文件实现国际化是一种流行的方式。例如,Android 应用程序可以使用以语言和国家代码命名的资源文件来实现国际化。 jQuery.i18n.properties 插件中的资源文件以“.properties”为后缀,收录区域相关的键值对。我们知道Java程序也可以使用后缀为.properties的资源文件来实现国际化。因此,当我们想要在 Java 程序和前端 JavaScript 程序之间共享资源文件时,这种方法特别有用。 jQuery.i18n.properties 插件首先加载默认的资源文件(例如:strings.properties),然后加载特定语言环境的资源文件(例如:strings_zh.properties),这样可以确保当某个不提供语言翻译,默认值始终有效。开发者可以以 JavaScript 变量(或函数)或 Maps 的形式使用资源文件中的密钥。

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

  第一步:创建属性资源文件。

  属性资源文件的命名规则是:string_browser language shortcode.properties,例如简体中文:string_zh-CN.properties 这里需要注意下划线而不是下划线。如图,我创建了三个资源文件

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

  

  第2步:在js文件中引入jQuery.i18n.properties需要的js文件。

  因为jQuery.i18n.properties依赖于Jquery框架,所以需要在js文件中收录jQuery.i18n.properties需要的js文件。

  

  导入红色部分的js使用jQuery.i18n.properties。

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

  

  $(document).ready(function(){

  //国际化加载属性文件

   jQuery.i18n.properties({

    name:'js',

    path:'/js/i18n/',

    mode:'map',

    callback: function() {// 加载成功后设置显示内容

    //alert(jQuery.i18n.prop("theme_manage.js_activity"));

    }

   });

 });

  name后面的值是你定义的资源文件中语言短代码前面的字符串,因为我的资源文件是js_xxx.properties,所以这个值是js

  背后的价值

  path 是你的资源文件的相对路径。即相对于项目结构WebContent下的路径

  

  mode 后面的值是加载模式; “vars”表示以JavaScript变量或函数的形式加载资源文件中的key值(默认是this),“map”表示以map值的形式加载资源文件中的key。 “都意味着这两种方法可以同时使用。”我在这里使用地图。

  callback 是一个回调函数。

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

  propertites中的key-value对如下:(properties文件中的中文会自动转换成对应的ASCII值,当然这里可以设置,也可以通过插件修改.反正我没这么做,是从页面复制过来的,不管),等号前的值是key,等号后的值是value(注意不同资源文件中的key必须一致和定制)。

  

  这样,资源文件中的内容就已经加载完毕。

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

  

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

  注意事项:

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

  我一直在为这个问题苦苦挣扎。网上有一些方法可以获取浏览器的语言,但是在IE下不行。最后,我的解决方案是:在使用jQuery.i18n.properties加载资源文件之前,在请求头信息中获取浏览器语言,然后进行设置。

  

  以上是《如何使用jQuery.i18n.properties实现js国际化》文章的全部内容,感谢阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多,请关注一宿云行业资讯频道!

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线