`
houjiang2100
  • 浏览: 22183 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

将页面表国际化

阅读更多
var language;
$(function(){
	if("chinese"==language){
		$("select[name='language']").val("chinese");
	}
	language=getCookie("language");
	if("chinese"==language){
		chineseLabel();
	}
	var i18nsectionList=$(".ion18section");
	for(var i=0;i<i18nsectionList.length;i+=1){
		var section_content=$(i18nsectionList[i]).html();
		var section_result=lang_section.getChineseInform(section_content,language);
		$(i18nsectionList[i]).html(section_result);
	}
	
});

function chineseLabel(){
	 var ino18List=$(".ion18");
	  var ishaveValue=true;
	  for(var i=0;i<ino18List.length;i+=1){
		  var content=$(ino18List[i]).val();
		  if(ino18List[i].localName=="option"){
			  content="";
		  }
		  if(!content){
			  content=$(ino18List[i]).html();
			  ishaveValue=false;
		  }
		 var result= lang.getChineseInform(content);
		 if(!ishaveValue){
			 $(ino18List[i]).html(result);
		 }else{
			 $(ino18List[i]).val(result);
		 }
		 ishaveValue=true;
	  }
}

function getLabelNameForI18n(labelName){
	if("chinese"==language){
		 return lang.getChineseInform(labelName);
	}else{
		 return labelName;
	}
}
function getSectionMessegeForI18n(labelName){
		 return lang_section.getChineseInform(labelName,language);
}

/***针对页面中标题等英文需要翻译时的国际化的实现方式,messege保存的信息 Key:对照前面是 英文语句的去掉空格,将一些非法字符
 * 转义,变小写等处理后的字符串,value:对应的中文名
 */
var lang={
		messege:{
		      home:"主页",
		      manager:"后台管理",
		      help:"帮助",
		    	  },
		getChineseInform:function (name){
		    	  var content= replaceAllSpace(name);
		   	      var first_char=content.charAt(0);
		   	      if(!isNaN(first_char)){
		   	    	  content="_"+content;
		   	      }
		   	       lowerName=content.toLowerCase();
		   	      return this.messege[lowerName];
      }
}
/*
 * 去掉字符串所有空格
 */
function replaceAllSpace(content){
	 while(content.indexOf("-")!=-1){
		 content=content.replace("-","_");
	 }
	return   content.replace(/\s/g,'');
}
/**针对页面中,大段英文需要翻译时的国际化的实现方式,用上述方式,key太长,不易比较
 * messege 的key 命名规则:分为2种
 * 一种为 页面名称+"_"+位置代号 如:fixingproducedure_node1 表示在fixingproducedure.html页面类的 node处
 * 一种为 功能名称+messege 如:downloadmessege 表示在下载数据时的消息提示信息
 * Please make sure a constant main power
						is always on to the gateway box.
 */
var lang_section={
		messege:{fixingproducedure_a:{
			         en_messege:". If the system is not working, please check on the following things:",
	                 zh_messege:". 如果系统不能正常工作,请检查下列事项:"
	            	 },      
						
			},
		getChineseInform:function (name,language){
		    	  var result=name;
		    	  var content= replaceAllSpace(name);
		   	      lowerName=content.toLowerCase();
		    	  if(language=="chinese"&&this.messege[lowerName]){
		    			result= this.messege[lowerName].zh_messege;
		    	  }else{
		    		    result= this.messege[lowerName].en_messege;
		    	  }
		   	       
		   	      return result;
      }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics