首页 > 基础知识 > 正文

js国际化,js文件怎样spring-message国际化

2020-04-18 10:08:57  来源:http://www.yummyboobs.net  编辑:admin

js文件怎样spring-message国际化

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

struts2国际化在js里面怎么使用

一、struts2国际e79fa5e98193e4b893e5b19e31333363373766化比较简单,过程如下:1. 建立资源文件中文资源:language_zh_CN.properties (language-自定义名称,zh-中文,CN-中国)英文资源:language_en_US.properties (language保持一致,en-英文,US-美国)其内容就是键值对,俩资源文件的键名对应保持一致,值分别对应中文与英文其中中文在MyEclipse环境下,用Properties进行编辑,直接输入中文如:password 密码那么从Source看时,就可看到中文是用Unicode表示的如:password=\u5BC6\u78012. 配置struts.xml文件中,配置i18n的源,值取资源文件的自定义名称部分(如果资源文件不是在src下,记得加上包路径):<constant name="struts.custom.i18n.resources" value="language"></constant>web.xml文件中,配置Struts2:<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>3. jsp中使用资源加入标签引用:<%@ taglib prefix="s" uri="/struts-tags" %>s:text标签用健名取资源值:<s:text name="password"/>或者表单元素用:key="password"4. 在action中使用资源用ActionSupport类中的方法取资源值:getText("password");二、js中要获取以上的资源值,就比较麻烦了单独建立一套资源的话,就需要维护两套资源,重复且维护麻烦1. js中使用量较少时,可在jsp页面中定义变量先取出资源值用js代码如:var curPassword='<s:text name="password"/>';或:var curLang = {password : '<s:text name="password"/>',user : '<s:text name="user"/>'}那单独的js文件中就可直接使用了2. 另外想到的是从Java资源中全部取出,在js中再建立一个语言的对象struts国际化,是建立在java国际化之上,做了一次封装java国际化,用到的有两个类:Locale、ResourceBundleLocale是语言类,选定当前的语言与地域,如:Locale locale = new Locale("zh","CN");ResourceBundle是资源类,加载的是资源如:ResourceBundle bundle = new ResourceBundle.getBundle("language",locale);有个方法可取键值:bundle.getString("password");找到一个方法可取全部键名:Set<String> keys=bundle.keySet();好,再看Struts2中如何取ResourceBundle对象:ActionSupport类中方法:ResourceBundle bundle=getTexts("langauge");Action中添加方法:protected String getCurLang(String resourceName){ResourceBundle bundle=getTexts(resourceName);if(null != bundle){Set<String> keys=bundle.keySet();Iterator<String> it = keys.iterator();StringBuffer curLang = new StringBuffer();curLang.append("{");int id=0;String key;while(it.hasNext()){key=it.next();if(id>0){curLang.append(",");}curLang.append(key);curLang.append(":\'");curLang.append(getText(key));curLang.append("\'");id++;}curLang.append("}");return curLang.toString();}return "";}然后放入session中:session.setAttribute("curLang",getCurLang("langauge"));或前台调用Ajex通讯取得最后,前台把它转为对象,如:var strvar curLang="<%=session.getAttribute("curLang")%>";那么js文件中就可直接使用了:curLang["password"];

请教jquery.i18n.properties国际化问题

jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化。国际化英文单词为:Internationalization,又称i18n,“i”为单词的第一个字母,“18”为“i”和“n”之间单词的个数,而“n”代表这个单词的最后一个字母。jQuery.i18n.properties采用.properties文件对JavaScript进行国际化。jQuery.i18n.properties插件首先加载默认的资源文件(strings.properties),然后加载针对特定语言环境的资源文件(strings_zh.properties),这就保证了在未提供某种语言的翻译时,默认值始终有效。e79fa5e9819331333339666130资源文件命名有以下三种格式:basename.propertiesbasename_language.propertiesbasname_language_country.propertiesjQuery.i18n.properties APIjQuery.i18n.properties的API只有几个:jQuery.i18n.properties()、jQuery.i18n.prop()、jQuery.i18n.browserLang(),当然也可以采用.i18n.properties()、.i18n.prop()、$.i18n.browserLang()的形式使用这些API。jQuery.i18n.properties(settings)该方法加载资源文件,其中settings是配置加载选项的一系列键值对。各项配置项的具体描述如下:选项 描述 类型 可选 name 资源文件的名称,例如strings或[strings1,strings2],前者代表一个资源文件,后者代表资源文件数组 string或string[] 否 path 资源文件所在路径 string 是 mode 加载模式:“vars”表示以JavaScript变量或函数的形式使用资源文件中的Key“map”表示以Map的方式使用资源文件中的Key“both”表示以同时使用两种方式。如果资源文件中的Key包含JavaScript关键字,则只能采用“map”。默认值是“vars”。 string 是 language ISO-639指定的语言编码(例如“en”表示英文,“zh”表示中文),或者同时使用ISO-639和ISO-3166编码(例如:“en_US”,“zh_CN”)。如果不指定,则采用浏览器报告的语言编码。 string 是 cache 指定浏览器是否对资源文件进行缓存,默认值为false boolean 是 encoding 加载资源文件时使用的编码。默认值为UTF-8 string 是 callback 代码执行完成时运行的回调函数 function 是 function loadProperties() { jQuery.i18n.properties({//加载资浏览器语言对应的资源文件 name : 'strings', //资源文件名称 path : '/i18n/', //资源文件路径 mode : 'map', //用Map的方式使用资源文件中的值 language : 'zh', callback : function() {//加载成功后设置显示内容 $('.l-btn-text').each(function() { $(this).text($.i18n.prop($(this).text())); }); } }); }jQuery.i18n.prop(key)该方法以map方式使用资源文件中的值,其中key指的是资源文件中的key。当key指定的值含有占位符时,可用使用jQuery.i18n.prop(key,val1,val2……)的形式,其中val1,val2……对点位符进行顺序替换。jQuery.i18n.browserLang()用于获取浏览器的语言信息。使用的方式项目组织结构在i18n目录下,strings.properties对应默认翻译,strings_zh.properties对应中文翻译。strings.propertiesstrings_zh.properties<script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script><script type="text/javascript" src="/js/jquery.i18n.properties-1.0.9.js"></script><div id="content"> <div> <label id="label_username"></label> <input type="text" id="username"></input> </div> <div> <label id="label_password"></label> <input type="password" id="password"></input> </div> <input type="button" id="button_login"/> </div><script type="text/javascript"> $(function(){ jQuery.i18n.properties({ name : 'strings', //资源文件名称 path : '/i18n/', //资源文件路径 mode : 'map', //用Map的方式使用资源文件中的值 language : 'zh', callback : function() {//加载成功后设置显示内容 $('#button-login').html($.i18n.prop('Login')); $('#label-username').html($.i18n.prop('User Name')); $('#label-password').html($.i18n.prop('Password')); } }); });</script>

请教jquery.i18n.properties国际化问题

jQuery.i18n.properties是一款轻量级的jQuery国际化插件,能实现Web前端的国际化。国际化英文单词为:Internationalization,又称i18n,“i”为单词的第一个字母,“18”为“i”和“n”之间单词的个数,而“n”代表这个单词的最后一个字母。jQuery.i18n.properties采用.properties文件对JavaScript进行国际化。jQuery.i18n.properties插件首先加载默认的资源文件(strings.properties),然后加载针对特定语言环境的资源文件(strings_zh.properties),这就保证了在未提供某种语言的翻译时,默认值始终有效。e79fa5e9819331333339666130资源文件命名有以下三种格式:basename.propertiesbasename_language.propertiesbasname_language_country.propertiesjQuery.i18n.properties APIjQuery.i18n.properties的API只有几个:jQuery.i18n.properties()、jQuery.i18n.prop()、jQuery.i18n.browserLang(),当然也可以采用.i18n.properties()、.i18n.prop()、$.i18n.browserLang()的形式使用这些API。jQuery.i18n.properties(settings)该方法加载资源文件,其中settings是配置加载选项的一系列键值对。各项配置项的具体描述如下:选项 描述 类型 可选 name 资源文件的名称,例如strings或[strings1,strings2],前者代表一个资源文件,后者代表资源文件数组 string或string[] 否 path 资源文件所在路径 string 是 mode 加载模式:“vars”表示以JavaScript变量或函数的形式使用资源文件中的Key“map”表示以Map的方式使用资源文件中的Key“both”表示以同时使用两种方式。如果资源文件中的Key包含JavaScript关键字,则只能采用“map”。默认值是“vars”。 string 是 language ISO-639指定的语言编码(例如“en”表示英文,“zh”表示中文),或者同时使用ISO-639和ISO-3166编码(例如:“en_US”,“zh_CN”)。如果不指定,则采用浏览器报告的语言编码。 string 是 cache 指定浏览器是否对资源文件进行缓存,默认值为false boolean 是 encoding 加载资源文件时使用的编码。默认值为UTF-8 string 是 callback 代码执行完成时运行的回调函数 function 是 function loadProperties() { jQuery.i18n.properties({//加载资浏览器语言对应的资源文件 name : 'strings', //资源文件名称 path : '/i18n/', //资源文件路径 mode : 'map', //用Map的方式使用资源文件中的值 language : 'zh', callback : function() {//加载成功后设置显示内容 $('.l-btn-text').each(function() { $(this).text($.i18n.prop($(this).text())); }); } }); }jQuery.i18n.prop(key)该方法以map方式使用资源文件中的值,其中key指的是资源文件中的key。当key指定的值含有占位符时,可用使用jQuery.i18n.prop(key,val1,val2……)的形式,其中val1,val2……对点位符进行顺序替换。jQuery.i18n.browserLang()用于获取浏览器的语言信息。使用的方式项目组织结构在i18n目录下,strings.properties对应默认翻译,strings_zh.properties对应中文翻译。strings.propertiesstrings_zh.properties<script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script><script type="text/javascript" src="/js/jquery.i18n.properties-1.0.9.js"></script><div id="content"> <div> <label id="label_username"></label> <input type="text" id="username"></input> </div> <div> <label id="label_password"></label> <input type="password" id="password"></input> </div> <input type="button" id="button_login"/> </div><script type="text/javascript"> $(function(){ jQuery.i18n.properties({ name : 'strings', //资源文件名称 path : '/i18n/', //资源文件路径 mode : 'map', //用Map的方式使用资源文件中的值 language : 'zh', callback : function() {//加载成功后设置显示内容 $('#button-login').html($.i18n.prop('Login')); $('#label-username').html($.i18n.prop('User Name')); $('#label-password').html($.i18n.prop('Password')); } }); });</script>

315国际消费者权益日可以告深圳市聚电充电桩认购充电桩诈骗吗-

如果你有大量资料,可以咨询一下律师