您的位置:程序门 -> java -> j2ee / ejb / jms



国际化采用什么技术最好?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


国际化采用什么技术最好?[已结贴,结贴人:dunai2003]
发表于:2007-03-20 07:43:54 楼主
公司的项目将现有的web程序扩展成中英日三种语言,目前的做法是将各个语言的静态内容写进properties文件,由jsp动态读取。但perperties文件很不方便,大量内容写入后,很难管理,特别烦的是中日文部使用汉字而使用unicode,根本没有可读性。那位给出出主意,用什么办法既简单又便于维护(不考虑静态html页)。谢谢各位。
发表于:2007-03-20 08:13:571楼 得分:1
struts的国际化不好么?我觉得已经够好了
发表于:2007-03-20 18:53:132楼 得分:2
用eclipse的那个properties   editor插件嘛,自动将中日文存盘为unicode,是日本人开发的

或者你自己写一个properties文件的自动转码

这样维护不就方便多了
发表于:2007-03-21 00:17:563楼 得分:0
ide用的是netbeans,所以无法用eclipse插件。关于写properties文件的自动转码,能给个思路吗?多谢赐教。
发表于:2007-03-21 08:10:244楼 得分:1
关注一下....
发表于:2007-03-21 08:52:015楼 得分:2
我是这样做的,比如中文
  chn.properties(编码过的),就对应一个chn.native(源文件)
然后一个批处理文件,把所有native转换成unicode

这样方便又快捷
发表于:2007-03-23 23:22:386楼 得分:0
ding   up
发表于:2007-03-27 12:44:087楼 得分:0
ding   again
发表于:2007-03-27 14:04:068楼 得分:2
mark!
发表于:2007-03-27 22:30:209楼 得分:2
多个原文properties文件对应多国语言
用一个bat生成转码后的文件在程序运行的时用
应该还算方便

在说了转码的文件也是可逆的
发表于:2007-03-27 22:37:3010楼 得分:1
struts不是有个国际化吗?
发表于:2007-03-29 07:56:3511楼 得分:0
可能是我没有把问题说清楚:公司的网站有三种语言:中英日。以前所有的语言相关的字符串都以unicode的形式写在properties文件中,而且是手工写入的。现在的解决办法是:在网站的admin端,允许用户(中英日网页文档编写者)在web上进行操作,在textarea中输入相应的文本,程序自动翻译成unicode再存入properties文件中。这个项目没有用到struts,只是jsp/servlet和javabean,现在unicode-〉本地语言和本地语言-〉unicode的转换已经解决,小弟的问题是当从html/jsp网页的textarea发送文本,由servlet的request.getparameter( "text ")接收到的是转义字符,例如“你好”就变成“你好”,网页显示没有问题,浏览器可iyi自动转换,问题是string对象中这样的转义字符如何处理,请dx不吝赐教。
发表于:2007-03-29 08:30:3512楼 得分:2
我的做法是,先各自编写好各语种的properties文件,例如
res_en.properties
res_chs.properties
res_cht.properties
...

然后用java的命令把上述资源文件编码成utf-8格式。可用批命令的方式。encode.bat
native2ascii   -encoding   utf-8   res_en.properties     applicationresources.properties
native2ascii   -encoding   utf-8   res_en.properties     applicationresources_en_us.properties
native2ascii   -encoding   utf-8   res_chs.properties   applicationresources_zh_cn.properties
native2ascii   -encoding   utf-8   res_cht.properties   applicationresources_zh_tw.properties
也很方便。

--------------------
其实最舒服的是用eclipse的properties   editor插件
发表于:2007-03-30 07:57:5813楼 得分:0
问题已接近解决:现在已经可以在线编辑properties文件,数据可以立即更新,也可以立即返回网页。现在唯一的问题是当用properties.setproperty()和properties.store()以后,写入的unicode都是两个反斜线,例如\\u3053,而不是单反斜线\u3053,这样在网页上的显示成为\u3053,而不是该unicode所代表的字符。请高手赐教。
发表于:2007-03-30 07:59:5614楼 得分:0
当问题全部解决后,我愿把我的解决方案在这里披露,以回报各位对我的支持。
发表于:2007-03-31 20:36:4915楼 得分:1
关注中
发表于:2007-03-31 20:45:3516楼 得分:1
我感觉都差不多,会用一种就行了。
发表于:2007-04-15 13:44:5617楼 得分:2
我自己封装了一个国际化的类,

要的话联系我。
发表于:2007-04-15 13:46:4518楼 得分:1
大家好
      在软件工程项目中,大家是不是都在忙碌一天的工作,为每一个项目完工加班加点,在你每天的忙碌中是否在留意一些技术的弊端,改掉这些弊端就会使工期大大缩短,是否真正的注意到这些弊端了呢.
      而在当今软件工程当中,什么样的技术是现在大部分企业之所需的呢,架构?
设计师?测试?数据库?-------?
      如果你现在是一个研发经理,技术总监,技术副总等,那你觉得现在是学什么样的技术即使本公司发展的方向,有是现在各个公司之所求的技术呢?
      大家可以发表以下自己的看法
  谢谢!!
  ????????
发表于:2007-04-15 17:40:1619楼 得分:2
用utf-8的文档保留中日文等,然后等deploy的时候再convert成 "\xxxxx "格式
发表于:2007-04-21 06:58:1120楼 得分:0
感谢各位参加讨论,现将我的解决方案披露如下:
1。扩展resourcebundle类,主要解决properties文件的加载策略的问题。现存的resourcebundle只能用getstring(key)读进国际化字符串,但无法更新。因此新扩展的类首先加入了setstring(key,   value)以解决动态更新properties文件的问题。第二个要解决的问题是reloading的问题(在不重启服务器的情况下重新加载更新的properties文件内容),这个困扰了一段时间,首先想到的是启动一个线程,加入listener进行监听,后来知道jakarta-commons中已经有现成的utility,叫做configuration,下载后使用了一下发现很好用,所有properties文件的加载、更新、reloading都可以用它解决,因此扩展的resourcebundle完全汉采用了commons-configuration的现成方法。这样完成了resourcebundle的扩展。
2。编码问题,最后的经验是:所有的页面都采用utf-8编码,这样以不变应万变,特别注意的是不仅要在servlet中setcontenttype( "text/html;charset=utf-8 "),jsp页面中 <%@page   contenttype= "text/html;charset=utf-8 "   %> 和 <%@page   pageencoding= "utf-8 "%> ,而且在接收用户输入时也要使用 "utf-8 ",例如:string   userinput   =   new   string(request.getparameter( "userinput ").getbyte( "iso-8859-1 "),   "utf-8 ");
这样不管你处理的字符串是什么语言都能对应,而且,一旦你的web应用配置到其他非中文环境的时候仍然不会出乱码,当然如果你的配置环境确定是中文的话,new   string中的 "utf-8 "也可以改成 "gbk "。
3。数据结构:propertybundlegroup管理所有的国际化文件,propertybundle管理特定国际化文件,propertyfile管理特定语中的文件,其中封装了扩展的resourcebundle类,最后是document类,封装特定语种properties文件的所有信息。
4。程序架构:没有用任何开源框架,但架构上尽量模仿struts,用一个controllerservlet作为中心调度,servlet初始化时创建整个propertybundlegroup,这样在各个页面就可以编辑现存的任何properities文档。项目已经完成。
欢迎各位指教。


快速检索

最新资讯
热门点击