大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个是接着上一篇 国际化总结—关于Struts2
创新互联主打移动网站、成都网站建设、成都做网站、网站改版、网络推广、网站维护、国际域名空间、等互联网信息服务,为各行业提供服务。在技术实力的保障下,我们为客户承诺稳定,放心的服务,根据网站的内容与功能再决定采用什么样的设计。最后,要实现符合网站需求的内容、功能与设计,我们还会规划稳定安全的技术方案做保障。
在做国际化的时候,有时候script脚本中也需要有国际化,所以就用到了jquery的一个包:jquery.i18n
关于这个包的详细使用有空在弄,这里只是介绍如何实现js脚本的国际化的一些简单代码
直接上代码了:
首先是加载jquery.i18n的,这个需要随着页面的加载马上就执行,就写在document的onready代码的最前面吧
function loadProperties(){ /*lan = $("#local_lan").val(); lan = (lan==null||lan.trim()=='')?'en':"zh";*/ var lan = 'zh';//zh,en $.ajax({ type:"POST", url:"getlanguage", dataType:"json", async:false, success:function(json){ lan=json; }, error: function(json){ alert("ERROR!!!\ncontact wuzhongwei@..."); } }); jQuery.i18n.properties({// 加载资浏览器语言对应的资源文件 name:'msg', // 资源文件名称 path:'Js/i18n/', // 资源文件路径 mode:'map', // 用 Map 的方式使用资源文件中的值 language:lan, callback: function() {// 加载成功后设置显示内容 } }); }
上面的代码核心部分是使用ajax获取当前使用的是什么环境,相关的Struts2 Action类代码如下:
public String execute(){ //flag = sysConfig.getLanguage_version(); Locale locale = (Locale) ActionContext.getContext().getSession().get("WW_TRANS_I18N_LOCALE"); if(locale == null){ locale = Locale.US; } if(locale.equals(Locale.US)){ flag = "en"; }else{ flag = "zh"; } return SUCCESS; }
很简单的一个方法。
这样当页面加载的时候就会根据当前使用的语言环境去获取相应的配置文件
具体的jquery.i18n的使用有空再详细说明,包括初始化啊(其实初始化上面的代码里面就有了),获取相应的资源啊等等