js+xml在网站中如何实现多国语言切换 如题,所有页面为静态页面. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 全站为静态页面的话1:将所有语言版本的页面分目录存放,比如:简体中文:/cn目录下,英文:/en目录下2:根据用户选择的语言版本,切换至对应目录下去访问就可以了3:如果想再人性化些,就使用Cookie记住用户上次对语言版本的设置,下次用户来访问时,就直接跳转到指定的语言版本下去 var country = 1;//需要选择的语言 var language = ["china","english"];//语言的总类 function loadXML(xmlFile) { var xmlDoc; if (window.ActiveXObject) { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async = false; xmlDoc.load(xmlFile); } else if (document.implementation && document.implementation.createDocument) { xmlDoc = document.implementation.createDocument("", "", null); xmlDoc.async = false; xmlDoc.load(xmlFile); } else { alert('您的浏览器不支持该系统脚本!'); } return xmlDoc; } function getString(req_name){ //解析XML, xmlDoc = loadXML("language.xml"); var oError=xmlDoc.parseError; var sadasd = xmlDoc.getElementsByTagName(req_name); alert("1312="+language[country]); var language11 = language[country]; return sadasd[0].getElementsByTagName(language11)[0].childNodes[0].nodeValue;//country可以用一个全局变量来确定是要显示哪个国家的语言。 } document.write(getString("songs"));//针对每个这样的名字,就可以查找对应的翻译,直接调用这个函数即可<?xml version="1.0" encoding="gb2312"?><node> <songs> <china>布拉格广场</china> <english>11mp3</english> </songs> <songs1> <china>梦想天空分外蓝</china> <english>222mp3</english> </songs1></node>可以这样封装一个函数,这样的话,可以把所有的语言分到一个xml文件,当然也可以按1楼说的,分放到两个文件,然后在解析路径的时候,解析不同的xml文件,可以自己做选择~~ 我见过这种形式,但当时只做为协助,负责填写XML的内容,每条语言都有自己有ID,但不了解如何使用,虽然看两位高手都以说明,但还是不了解.如何读取相关XML内的每条不同信息,如何按1楼的放文件?放的文件是什么?是XML文件还是整个翻译后的网站,麻烦再详细说明,谢谢!谢谢!谢谢! 假如是网站分了中文和英文那么你将中文部份放入/cn文件夹下,英文部份放入/en文件夹下也就是说,通过语言版本的选择,指向对应的文件夹即可实现语言的切换,对吧?再说到你在各自语言版本下读取xml的文件在你未分语言版本,假如读取一条新闻的内容的xml文件,可能你直接读取的就是类似于:news_id.xml那么你现在需要变更的也和上面一样,就是加多了与语言版本的目录。变成了读取:/cn/news_id.xml或/en/news_id.xml这种方式,允许你每个语言版本的内容各不相同比如一条新闻,你可能只需要发中文,不需要发英文,这个就更好些。可能在事务的处理逻辑上也更容易理清些 请教关于jQuery中:visible的问题 点击没反应? 咋回事呢[100分] javascript高手请进!!` 招唤fason,请教联动下拉菜单问题. 学生举手提问了? 请问那位现成的javascript工具条,最好解决了div透明 event.srcElement在netscape上怎么实现。 请问在JAVAXCRIPT中的MSGBOX如何自己定义呀!? 怎样取得表格各单元格的数据? 怎样显示或者隐藏当前窗口的滚动条? js复选框问题请教 jquery怎么点击显示下一个a标签,在线等。。急····
1:将所有语言版本的页面分目录存放,比如:简体中文:/cn目录下,英文:/en目录下
2:根据用户选择的语言版本,切换至对应目录下去访问就可以了
3:如果想再人性化些,就使用Cookie记住用户上次对语言版本的设置,下次用户来访问时,就直接跳转到指定的语言版本下去
var country = 1;//需要选择的语言
var language = ["china","english"];//语言的总类
function loadXML(xmlFile) {
var xmlDoc;
if (window.ActiveXObject) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.load(xmlFile);
}
else if (document.implementation && document.implementation.createDocument) {
xmlDoc = document.implementation.createDocument("", "", null);
xmlDoc.async = false;
xmlDoc.load(xmlFile);
} else {
alert('您的浏览器不支持该系统脚本!');
}
return xmlDoc;
}
function getString(req_name){
//解析XML,
xmlDoc = loadXML("language.xml");
var oError=xmlDoc.parseError;
var sadasd = xmlDoc.getElementsByTagName(req_name);
alert("1312="+language[country]);
var language11 = language[country];
return sadasd[0].getElementsByTagName(language11)[0].childNodes[0].nodeValue;//country可以用一个全局变量来确定是要显示哪个国家的语言。
}
document.write(getString("songs"));//针对每个这样的名字,就可以查找对应的翻译,直接调用这个函数即可<?xml version="1.0" encoding="gb2312"?>
<node>
<songs>
<china>布拉格广场</china>
<english>11mp3</english>
</songs>
<songs1>
<china>梦想天空分外蓝</china>
<english>222mp3</english>
</songs1>
</node>
可以这样封装一个函数,这样的话,可以把所有的语言分到一个xml文件,当然也可以按1楼说的,分放到两个文件,然后在解析路径的时候,解析不同的xml文件,可以自己做选择~~
也就是说,通过语言版本的选择,指向对应的文件夹即可实现语言的切换,对吧?再说到你在各自语言版本下读取xml的文件
在你未分语言版本,假如读取一条新闻的内容的xml文件,可能你直接读取的就是类似于:news_id.xml
那么你现在需要变更的也和上面一样,就是加多了与语言版本的目录。变成了读取:/cn/news_id.xml或/en/news_id.xml这种方式,允许你每个语言版本的内容各不相同
比如一条新闻,你可能只需要发中文,不需要发英文,这个就更好些。可能在事务的处理逻辑上也更容易理清些