问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

js文件怎样spring:message国际化

发布网友 发布时间:2022-04-23 00:27

我来回答

3个回答

懂视网 时间:2022-04-23 04:48

这次给大家带来怎样使自己的js代码国际化,使js代码国际化的注意事项有哪些,下面就是实战案例,一起来看一下。

当我们在做前台页面开发时,由于页面内容过多,过于繁杂,有的时候一个页面上千行的(当然这样的页面也就算一般的),为了减少页面的内容,我们将页面的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 变量(或函数)或 Map 的方式使用资源文件中的 key。

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

第一步:创建properties资源文件。

properties资源文件命名规则为:string_浏览器语言简码.properties,例如简体中文:string_zh-CN.properties这里需要注意是中划线而不是下划线,如图我创建了三个资源文件

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

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

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

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

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

<script type="text/javascript">
 $(document).ready(function(){
 //国际化加载属性文件
 jQuery.i18n.properties({
 name:'js',
 path:'<%=path%>/js/i18n/',
 mode:'map',
 callback: function() {// 加载成功后设置显示内容
 //alert(jQuery.i18n.prop("theme_manage.js_activity"));
 }
 });
 });
</script>

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

path后面的值为你资源文件的相对路径。即相对于工程结构WebContent下的路径所在

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

callback为回调函数。

是怎样根据不同的语言环境加载不同的资源文件的呢?其实,jQuery.i18n.properties实现的原理就是,根据name后面的值,加上浏览器的语言简码,再加上.properties找到对应的资源文件。这个过程是自动的,只需要进行上面的配置即可。

propertites中键值对如下:(在properties文件中中文会自动转换成相对应的ASCII值,当然这里是可以设置的,也可以通过插件进行更改的,我这就没做了反正这些中文是从页面上复制出来的,不管了),等号前的为key,等号后的为值(注意一点的是,不同的资源文件中key必须保持一致,是自定义的)。

这样资源文件中的内容已经加载完成了。

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

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

需要注意的地方:

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

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

这样国际化就到此结束了。

这是我第一篇博客,以前总是看别人的博客,后面发现自己遇到的问题,虽然解决了,但过段时间后发现自己就忘记了,一致多次遇到同样的问题,后又忘记怎么解决,又是上网找资料。这是我决定写写博客的直接原因。不过写博客的感觉确实还是不错的,可以记录一下自己的学习过程。希望大伙也可以这样试试。

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

怎样使用Vue三层嵌套路由

如何使用Vue.js计算属性与侦听器

热心网友 时间:2022-04-23 01:56

如果js代码嵌入在jsp页面则可以直接输出标签,如alert(“<spring:message code="welcome"/>”);
单独的一个js文件无法用上述方法访问,可以在嵌入式的页面将标签的值存入一个js对象中,再在外部引入的js文件中调用对象即可,用手机码的,所以没有写更具体的代码,希望你能明白。

热心网友 时间:2022-04-23 03:14

加引号加引号加引号加引号
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑wifi已禁用怎么打开电脑无线网络禁用了怎么恢复 ...禁用网络在哪重开win7笔记本无线网络被禁用了怎么办 win7网络禁用怎么恢复 windows7网络被禁用怎么恢复 Win7系统本地连接禁用了怎么恢复Win7系统启动本地连接的两种方法图文... 梦见家人去世什么预兆 ...经缝针现在基本痊愈,一个月过去了现在就是小腿还不能贴大腿,最近感... 小腿缝针拆线三个月了表皮长好了里面的肉怎么有点带黑红色还有点白色... 小腿迎面骨掉快深宽都1厘米左右的肉。当时没缝针。已经20天了。天天... 运费和快递费各走 什么科目? 快递费用放什么科目 魔幻陀螺哪个陀螺强,我买了烈焰兽王和灭魂飞鲨,我感觉灭魂飞鲨好, 股票问题。我出自玩股票。听到朋友说股票今年很好。我就买了300手。万安科技。昨天35进入的。这个怎 万安科技是不是要重组 第二届未成年人公益广告创意大赛暨第十二届中小学电脑制作活动。。有没有范本!! 当前加强和改进未成年人思想教育应着重抓好哪方面教育工作 转笔中的基础有哪些 超长直播 30小时云上市 全新路虎发现运动版35.68万起 代码前两位为75代表什么? 如何委托经纪人购买商标? JS代码中怎么实现文字国际化 鲜牛奶一天就变质了,但是超市的买的纯牛奶保质期一般都45天。但是配料表只有生牛乳,也没添加防腐剂, 七夕有历史传说为背景,那2月14的由来又是什么呢? 牛奶的配料和保质期? 为什么玩奥特曼进化格斗重生很卡? 我们喝的纯牛奶里面,有食品添加剂么?在配料表上只写了鲜牛奶这一个 纯牛奶的配料表里为什么就[鲜牛奶]一样 奥特曼格斗进化重生,玩起画面卡,求完美解决方法?答案好的话再加财富值 为什么我家电脑玩奥特曼格斗进化重生很卡? 银饰要用什么清洗才能焕然一新? 怎样清除电脑浏览器数据,让浏览器焕然一新 灵动魔幻陀螺灭魂飞鲨的绝招是什么 魔幻陀螺中的灭魂飞沙是什么型的陀螺 请问魔幻陀螺灭魂飞鲨除了惊天巨浪还有什么技能? 魔幻陀螺灭魂飞鲨和暗绝帝王龙谁厉害 魔幻陀螺暗绝帝王龙和灭魂飞鲨分别是什么类型的飞鲨分别是什么类型飞鲨 最强魔幻陀螺里猎鹰之翼厉害还是灭魂飞鲨厉害 魔幻陀螺玩具灭魂飞鲨可以转多久 魔幻陀螺哪个好? 魔幻陀螺的灭魂飞鲨和烈焰兽王那个更厉害? 早餐中的油条需要做成什么样的,才最好吃。 麦咭魔幻陀螺灭魂飞鲨和猎鹰之翼哪个好一些(总体来看) 魔幻陀螺的灭魂飞鲨和烈焰兽王那个更厉害 麦咭魔幻陀螺有几个,叫什么? 魔幻陀螺中那个好 魔幻陀螺有哪九个角色 魔幻陀螺有几种 2023年起浙江高考有没有技术? 浙江省高考政策改革技术没有了吗 2016年买二手房,都需要交什么税费,具体到小数点,那些如何减免,贷款的话,现在的贷款利率都是多少 浙江新高考选技术对于没有基础的学生难不难