浏览 2933 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-08-25
进来在做项目的时候碰到一个英文汉化的问题,也没有什么例子可以参考,就自己弄了一个方法,自我感觉良好,特分享出来,希望老鸟能提出点意见,当然如果能有更好的处理方法,请不吝赐教! 需求是这样的:公司是做j2ee服务器的,web容器,ejb容器都已经完成了,但是在对这些容器监控的时候,后台提供的数据都是英文,不可能再该,而页面则为了服务更多的中国客户,需要中文显示; 本人的实现:新建一个类,在该类中包含一个hashmap(在数据查找方面没有比这个容器更有效率的),声明一个静态块,将所有英文和中文转化的名值对放入该map中,源码: public class NameConvert { public static Map<String, String> nameMap = new HashMap<String, String>(); static{ nameMap.put("CreateCount", "创建的EJB实例数(个)"); nameMap.put("RemoveCount", "销毁的EJB实例数(个)"); nameMap.put("JSPCount", "已加载的jsp个数"); nameMap.put("milliseconds", "微秒"); nameMap.put("JMSMaxMessagesLoad", "JMS会话装载的最大消息数"); } public NameConvert() { } public Map getNameMap() { return nameMap; } public void setNameMap(Map nameMap) { this.nameMap = nameMap; } } 注:转化个数比较多,本人只放了5个, 把hashmap放到static的好处是:这个类用的太频繁,如果每点用一次就要创建一个类的话,将是一个大的内存消耗,虽然java有垃圾回收机制,但是就像《effective java》中说的那样,不敢太相信它 用这个hashmap的话,只要将英文传进来,即可以得到相对应的中文信息 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-08-25
struts有个东西叫i18n
|
|
返回顶楼 | |
发表时间:2008-08-25
farryu 写道
本人刚入行1年,在javaeye呆过半年多吧,看到这么多牛人在技术上的认识和见解,深表佩服;进来在做项目的时候碰到一个英文汉化的问题,也没有什么例子可以参考,就自己弄了一个方法,自我感觉良好,特分享出来,希望老鸟能提出点意见,当然如果能有更好的处理方法,请不吝赐教! 需求是这样的:公司是做j2ee服务器的,web容器,ejb容器都已经完成了,
看来你公司的技术实力很强。这些服务器能自己开发不是一般的公司。。关注中...
|
|
返回顶楼 | |
发表时间:2008-08-25
i18n确实不错,可是它还要把别的框架加进来,而我们的页面是纯jsf的,
jsf也要自己的国际化解决方案,和struct类似,不过他不能形成很好的映射,只能给property文件制定一个静态的key,得到一个静态的value 例如:message.properties里面有一条: CreateCount=创建的EJB实例数(个) 在页面引用的时候就只能写message['CreateCount']得到右面的值,而我的需求则是一个可通过bean改变key值得方式 |
|
返回顶楼 | |
发表时间:2008-08-25
farryu 写道 本人刚入行1年,在javaeye呆过半年多吧,看到这么多牛人在技术上的认识和见解,深表佩服;进来在做项目的时候碰到一个英文汉化的问题,也没有什么例子可以参考,就自己弄了一个方法,自我感觉良好,特分享出来,希望老鸟能提出点意见,当然如果能有更好的处理方法,请不吝赐教! 需求是这样的:公司是做j2ee服务器的,web容器,ejb容器都已经完成了, 看来你公司的技术实力很强。这些服务器能自己开发不是一般的公司。。关注中... 呵呵,比较一般化的 |
|
返回顶楼 | |