js+xml在网站中如何实现多国语言切换

chjyezi 2012-09-12 09:28:16
如题,所有页面为静态页面.
...全文
367 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡鱼_ 2012-09-13
  • 打赏
  • 举报
回复
假如是网站分了中文和英文

那么你将中文部份放入/cn文件夹下,英文部份放入/en文件夹下
也就是说,通过语言版本的选择,指向对应的文件夹即可实现语言的切换,对吧?

再说到你在各自语言版本下读取xml的文件
在你未分语言版本,假如读取一条新闻的内容的xml文件,可能你直接读取的就是类似于:news_id.xml
那么你现在需要变更的也和上面一样,就是加多了与语言版本的目录。变成了读取:/cn/news_id.xml或/en/news_id.xml

这种方式,允许你每个语言版本的内容各不相同
比如一条新闻,你可能只需要发中文,不需要发英文,这个就更好些。可能在事务的处理逻辑上也更容易理清些
chjyezi 2012-09-12
  • 打赏
  • 举报
回复
我见过这种形式,但当时只做为协助,负责填写XML的内容,每条语言都有自己有ID,但不了解如何使用,虽然看两位高手都以说明,但还是不了解.如何读取相关XML内的每条不同信息,如何按1楼的放文件?放的文件是什么?是XML文件还是整个翻译后的网站,麻烦再详细说明,谢谢!谢谢!谢谢!
[Quote=引用 2 楼 的回复:]

JScript code

var country = 1;//需要选择的语言
var language = ["china","english"];//语言的总类
function loadXML(xmlFile) {
var xmlDoc;
if (window.ActiveXObject) {
xmlDoc = ne……
[/Quote]
张运领 2012-09-12
  • 打赏
  • 举报
回复

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文件,可以自己做选择~~
泡泡鱼_ 2012-09-12
  • 打赏
  • 举报
回复
全站为静态页面的话
1:将所有语言版本的页面分目录存放,比如:简体中文:/cn目录下,英文:/en目录下
2:根据用户选择的语言版本,切换至对应目录下去访问就可以了
3:如果想再人性化些,就使用Cookie记住用户上次对语言版本的设置,下次用户来访问时,就直接跳转到指定的语言版本下去

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧