首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript实现多语言碰到的有关问题

2013-10-30 
javascript实现多语言碰到的问题本帖最后由 shayeyekai 于 2013-10-12 11:28:47 编辑JavaScript实现中、英

javascript实现多语言碰到的问题
本帖最后由 shayeyekai 于 2013-10-12 11:28:47 编辑 JavaScript实现中、英双语时碰到如下问题:

   目前做法:JavaScript中的“提示信息” 是读取服务器目录中的zh_Cn.xml(中文)和en_Us.xml,
  
   问    题:有时会出现延迟,并读取zh_Cn.xml失败。

   解决办法:把原来的语言文件写在代码里面,这样就不会去服务器中读取这些文件了,思路如下:
   
   


   /**
   *index 要获取的语言内容
   *type  要获取的语言类型
   *@return   返回语言
   */
   function get_Language(index,type){
//临时字符串
var bufferStr="";
switch (index){ 
case 0:
//把语言直接赋值给临时的变量
bufferStr="中文,English";
break;
case 1: 
                ....
break;
}
        //拆分为数组
        bufferStr=bufferStr.split(",");
        return bufferStr[type];
   }
   


   请教一下问题:
    1、按照上面的写法,如果在一台没有安装中文的电脑上操作,会读取出来的中文信息是乱码吗?
   2、上面写法是否实际解决了第一个的问题。这样写的坏处有那些。
    3、通常JavaScript实现双语都是用那些方法
javascript 多语言 jsp js xml
[解决办法]
引用:
Quote: 引用:

最近刚写了一个js的双语言,网站内容不多,我用的是json来保存要用到的提示信息,使用哪种语言我直接保存在cookie中,js初始化时读取cookie,多语言提示全部用变量来表示

var lang = getCookie("cookieName"); // lang=en-US
lang = lang.substring(5);
var Mes = new JsMes(lang);


function getCookie(name)  // 获取cookie

 var arr,reg=new RegExp("(^
[解决办法]
 )"+name+"=([^;]*)(;
[解决办法]
$)");
 
 if(arr=document.cookie.match(reg))
 
  return unescape(arr[2]); 
 else 
  return null; 




function JsMes(lang) 
{
    this.lang = lang;
    this.mesList = [{
        "id": 0,
        "cn": "部门/人员选择",
        "tw": "部門/人員選擇",
        "en": "Department/Personnel selection"
    }, 
             {
        "id": 1,
        "cn": "条件",
        "tw": "條件",
        "en": "criteria"
    }];
}

JsMes.prototype.getMes = function (typeNum) {
    var mes = "";
    switch (lang) {
    case "zh-cn":
        mes = this.mesList[typeNum].cn;
        break;
    case "en-US":
        mes = this.mesList[typeNum].en;
        break;
    case "zh-TW":
        mes = this.mesList[typeNum].tw;
        break;
    default:
        mes = this.mesList[typeNum].cn;
    }
    return mes;
}

//使用: alert(Mes.getMes(0));

恩  谢谢  
如果当前使用的是纯英文版的电脑,那么读取出来的汉字会不会出现乱码?

这个我没试过,也没办法给你答案

热点排行