为乐而来
为乐而来
  • 发布:2016-07-14 16:17
  • 更新:2017-01-20 13:37
  • 阅读:1518

关于多语言的问题

分类:HTML5+

我现在有想法是
设置多个js来存语言变量
如zh.js en.js,选不同语言就加载不同语言的js文件
但是这个语言字符串变量
如果存在storage里面只能plusReady才能取到啊

mui.plusReady(function() {  
    var lan=plus.storage.getItem("Language");  
    if(lan=="zh"){  
        document.writeln("<script src=\"js/language/zh.js\"></script>");  
    }else{  
        document.writeln("<script src=\"js/language/en.js\"></script>");  
    }     
});

这样导致在mui.ready里面要用到语言变量就取不到值。。。。。
还有不有别的办法啊

2016-07-14 16:17 负责人:无 分享
已邀请:
Trust

Trust - 少说废话

您可以使用localStorage的相关方法,大部分手机浏览器都支持HTML5新增的方法。
代码如下:

var lan = localStorage.getItem("Language");  
if(lan == "zh") {  
    document.write('<script src="js/language/zh.js"><\/script>');  
} else {  
    document.write('<script src="js/language/en.js"><\/script>');  
}
为乐而来

为乐而来 (作者)

@DCloud_客服_Trust

mui(function(){  
在这里的时候我就有一些地方要用到多语言了。。。  
因为这里的方法比mui.plusReady里面方法先执行。  
所以这个时候取不到语言的js变量..  
});
mui.plusReady(function() {  
    var lan=plus.storage.getItem("Language");  
    if(lan=="zh"){  
        document.writeln("<script src=\"js/language/zh.js\"></script>");  
    }else{  
        document.writeln("<script src=\"js/language/en.js\"></script>");  
    }     
});
为乐而来

为乐而来 (作者)

@DCloud_客服_Trust 怎么没有localStorage这个方法的文档呢。。

  • lhyh

    上网查,这是html5的特性

    2016-07-22 14:17

  • 为乐而来 (作者)

    谢谢,已经知道了。。

    2016-07-22 14:46

ali

ali

function plusReady(){
var Language="zh";
if(Language=="zh"){
var dynamic=document.createElement("script");
dynamic.src="js/locale_en_US.js";
document.head.appendChild(dynamic);
}
}
if(window.plus){
plusReady();
}else{
document.addEventListener("plusready",plusReady,false);
}

这样创建JS 有延迟 能不能优化啊 我还是 继续关注 这个问题

  • 为乐而来 (作者)

    @265397

    现在不用plus了直接用

    var lan=localStorage("Language");

    if(lan=="zh"){

    document.writeln("<script src=\"js/language/zh.js\"></script>");

    }else{

    document.writeln("<script src=\"js/language/en.js\"></script>");

    }

    2017-06-15 14:17

该问题目前已经被锁定, 无法添加新回复