我现在想做一个国际化网站,国际化部分的要求如下:
1,页面部分都是独立的,不同语言用不同的静态页面(这部分己完成)。
2,根据当前系统语言来选择不同的语言页面(这个怎么做???)
3,DB中的数据字典(如地区级连表,产品表)应该怎么存放,是一种语言一个表呢,还是说放在一个里面用不同的标志位来区分?主要是第三点,我想用一个名存不同的语言不知道可以不????大家帮给出个方案!!兄弟在这里先谢谢了。。
1,页面部分都是独立的,不同语言用不同的静态页面(这部分己完成)。
2,根据当前系统语言来选择不同的语言页面(这个怎么做???)
3,DB中的数据字典(如地区级连表,产品表)应该怎么存放,是一种语言一个表呢,还是说放在一个里面用不同的标志位来区分?主要是第三点,我想用一个名存不同的语言不知道可以不????大家帮给出个方案!!兄弟在这里先谢谢了。。
解决方案 »
- 如何在struts框架下使用打印预览功能?
- hibernate3 c3p0连接池 db2V8 操作sql语句报错
- 为什么在tomcat的root目录下不能正常的链接
- 新建群一个!!名字有点嚣张~不过希望大家一起加入哦!(12816501)
- wsad下使用log4j出现奇怪问题,求助。
- Json中文乱码
- xp sp2下如何使用JBuilder连接SQL2000 数据库
- 配置Weblogic8.1+SQLServer2000连接池的问题
- 请问用javamail发信后,能否设定在接收者打开信件的时候发送一个反馈信息回来?
- 讨论java的web service和.net的web service
- Hiberante里很多关系连接,但真正用到的都是一对多关系,请问?
- SQL能执行,但hql不能执行,为什么啊求助!
另外问一下,为什么非得要保存在数据库中呢?用xml式的配置文件不好吗?可以参考struts。
2.同上,该功能可以自动获取浏览器默认语言来选择显示哪种语言
3.我的做法是使用两个字段相同表结构相同的两个database,并根据客户的语言选择来选择具体建立哪个database/url的数据库连接,但在这之上的dao层与servlet层是不用变的
id cid string
1 zh_CN 中国
2 en_US china查询的时候读下local信息 由查询条件+local信息联合查询.struts再厉害也不能把动态信息,随时翻译成不同的语言啊!楼主的意思是数据库里面的动态信息怎么国际化的问题.
KEY LANGUAGE VALUE
key_CN zh_CN 中国
key_CN en_US China
例如:table people
1 chinaName varchar(20) 中文
2 englishName varchar(20) 英文 struts中bean类
class People{
private String languageKey;//语言的种类
private String chinaName ;
private String englishName ; //bean类属性字段和数据库列相对应,关联。可以用hibernate等实现
}建2个xml文件 实现信息国际化 xx_zh.properties(存中文信息),xx_en.properties(存英文信息)jsp叶面建个checkbox存放languageKey,选择中文还是英文action业务逻辑
通过获取jsp叶面的languageKey的值,来存或取数据库中相应的是中文还是英文信息
简单说了下流成,希望对你有帮助
struts.custom.i18n.resources=ch2.reg.globalMessages ,struts 框架可以根据这个找到游览器或系统语言来确定语言globalMessages_en_US.properties
globalMessages_zh_CN.properties
两个资源文件,需要将其保存到WEB-INF/classes
struts2 加载资源文件是通过配置文件来实现,struts2 的全局属性文件是struts.properties,也要保存到classes文件目录下
struts2 会根据basename,按照"basename_语言代码_国家代码.properties"的定义规则加载相应的资源文件
HelloWorld=\u4f60\u597d\uff0c\u4e16\u754c
name=\u7528\u6237\u540d\u79f0
pass=\u7528\u6237\u5bc6\u7801
username=\u7528\u6237\u540d
password1=\u5bc6\u7801
password2=\u786e\u8ba4\u5bc6\u7801
birthday=\u751f\u65e5
struts.messages.error.file.too.large=\u4e0a\u4f20\u6587\u4ef6\u8fc7\u5927
struts.messages.error.content.type.not.allowed=\u4e0a\u4f20\u7684\u6587\u4ef6\u5fc5\u987b\u662f\u56fe\u50cf\u6587\u4ef6
struts.messages.error.uploading=\u4e0a\u4f20\u6587\u4ef6\u8fc7\u7a0b\u4e2d\u51fa\u73b0\u5f02\u5e38
HelloWorld=Hello World!!!!!!!!!!!!!
name=userName
pass=password
username=Your Name
password1=Password
password2=confirm Password
birthday=Birthday自己的一些例子,互相学习
Word Japanese Chinese Korean
Create 创建 创建 创建这样,到时再取出来。生成静态页面。这样可以一一对应。
赞同!!
id cid string
1 zh_CN 中国
2 en_US chin
2、本地化资源要存入数据库时,最好将对应各种语言的资源存放到一个表里,添加locale字段标识其属于哪种语言。
A 多语言要求简单的,直接在同一个表里多加个字段:比如 id name_cn name_en name_jp,根据本地语言操作对应字段。
B 如果要求的语言比较多,可以考虑表切换,或数据库切换;