日期:2014-05-18  浏览次数:20666 次

网站国际化怎么做的
比如这个:
http://www.huachentel.com
连页面的内容页国际化啦!
求思路,最近要做这个东西!!!!!!
国际化 URL 内容国际化

------解决方案--------------------
struts,spring什么的,不都有国际化的功能吗
------解决方案--------------------
1.    首先导一个fmt标签,
用两个属性
<fmt:setLocale value="zh_CN"/>选择文件
<fmt:setBundle basename="lan"/>绑定一系列文件
2.   创建两个文件,在src中创建
lan_en_US.properties英文文件
lan_zh_CN.properties中文文件
中英文对应好
如果转不 
就在java安装文件夹中的bin目录下转换,用msvcr71.dll工具
在cmd命令下转换目录调一下native2ascii 你要转换的文本文档名(将转换的内容复制到文本文档里) 空格转换为另外一个文本文档名   回车然后就好了,你打开你转换后的就是解析的转码,将转码复制到你之前的转换不了文件里
3.    两个方案做好了,就在页面取键,,,,,有些麻烦,你试试看吧!
中文,利用jdk\bin\native2ascii.exe
------解决方案--------------------
引用:
Quote: 引用:

各位先看看lz给出的网站再说吧
那网站压根就没做什么“国际化”,丫的纯粹就是做了中文版和英文版两个网站而已
你看一下URL地址,完全不同。再看导航菜单,连菜单的条目数量都不一样。

这么说来 java要做这样功能,不是也要做两个语言的网站....


如果你说的是java的实现的话,那楼上各位已经给出答案了,就不用我多说了
其实“国际化”的本质把所有用于界面显示的字符串全部提取出来,做成语言文件、每种语言一份文件,运行的时候按照需要的语言访问对应的语言文件获取字符串来显示。即使你不想用框架自带的国际化,你自己也可以按这个思路做国际化的啊。
====================
例如,以前你可能写
<ul><li>主页</li><li>菜单一</li><li>菜单二</li></ul>

现在这样写
伪码:
String lang=获取用户设定的语言();
HashMap msgMap = new HashMap();
msgMap.put("HOMEPAGE",读文件函数("language","HOMEPAGE",lang));
msgMap.put("MENU1",读文件函数("language","MENU1",lang));
msgMap.put("MENU2",读文件函数("language","MENU2",lang));
前台:
<ul><li>${msgMap["HOMEPAGE"]}</li><li>${msgMap["MENU1"]}</li><li>${msgMap["MENU2"]}</li></ul>
配置文件language_zh_CN.properties
HOMEPAGE=主页
MENU1=菜单一
MENU2=菜单二
配置文件language_en_US.properties
HOMEPAGE=HomePage
MENU1=Menu 1
MENU2=Menu 2

你看,这样的话,你想增加一门语言,或者修改不确切的翻译,都不需要对编译好的程序作任何改动了。当然,只要你喜欢,语言文件你也可以做成xml、或者存储到数据库、甚至从某个在线翻译接口获取,多么的灵活。

PS:各位看客请忽略语法问题,俺们仅仅是借助伪码讲一下原理而已,呵呵~~~
------解决方案--------------------
那个网站 用两个页面实现的