
为Eclipse plug-in(插件)创建语言包
发布时间:2006-09-01 11:58:59 来源:blog 网友评论 0 条在我们的应用中,难免会遇到国际化的问题,ECLIPSE RCP给我们提供了很好的方案,甚至可以在后期批处理完成,但如果是其它插件未提供我们需要的语言版呢?我们可以如何为它们提供语言包呢?
一个简单的例子,你用MessageDialog打开对话框时,按钮一般时:Ok,Cancel, Yes, No,在一个中文系统中显得不太地道,当前,该类在构造时给了我们改正的机会,即可以在构造时传入你需要显示的字符,如:
MessageDialog dialog = new MessageDialog(parent, title, null,message, QUESTION, new String[] {"确定","取消"}, 0);
但对于一个国际化的系统,这样并不合适,如果今后需要日语版/法语版呢?是否还得改代码呢?
其它,ECLIPSE能很好的通过语言包来解决这样的问题,我们只需为指定插件创建你需要的语言包,即可以使应用使用当前locale的语言。我们以为jface创建中文语言包为例来说说这个过程:
1、创建一个Fragment Project
2、注意在第三步的时候,选择你要为哪个插件创建语言包(红色标出),并选定要示的版本。

3、项目结构如下:

其中,messages_zh_CN.properties是将jface的messages.properties部分译成中文后再用native2ascii生成的文件。messages.properties可以按自己的要求翻译。
下面是我的文件的一部分,我只译了其中的几个LABLE:
ok=确定
cancel=取消
yes=是(&Y)
yestoall=全部(&A)
skip=S&kip
stop=&Stop
abort=&Abort
retry=&Retry
ignore=&Ignore
proceed=&Proceed
open=&Open
close=关闭(&C)
经转换后的样子:
ok=/u786e/u5b9a
cancel=/u53d6/u6d88
yes=/u662f(&Y)
yestoall=/u5168/u90e8(&A)
skip=S&kip
stop=&Stop
abort=&Abort
retry=&Retry
ignore=&Ignore
proceed=&Proceed
open=&Open
close=/u5173/u95ed(&C)
4、将该项目导出为可部署的包(可通过导出向导)。
5、将该包放到你自己的RCP插件搜索目录(如plugins目录)中即可。
6、这时,你在中文系统中运行RCP应用,相应的对话框LABEL就变成了你译成的LABEL
7、需要做其它语言的版本,过程一样。
- VB2005中开发新一代控制台应用程序
- 为什么要用UML建模之建模的重要性
- Ruby入门之代码块、迭代子和过程对象
- MySQL安全性指南(3)(转)
- AJAX及使用E4X编写Web服务脚本
- AJAX入门之使用for实现反射机制
- Oracle 10g Release2新功能之变化通知
- Hibernate二级缓存攻略
- 看看如何在Struts应用中施展AJAX魔法
- Oracle 10g第2版新特性之可管理性特性
- 1..net页面间的参数传递简单实例
- 2.VC++与Matlab混合编程之引擎操作详解
- 3.Oracle数据库数据对象分析
- 4.Eclipse3.2+Tomcat5.5.17+Oracle9配置
- 5.Oracle数据库中索引的维护
- 6.在Oracle的网络结构中解决连接问题
- 7.Oracle数据安全面面观
- 8.Oracle数据库的ORA-00257故障解决过程
- 9.Oracle数据库备份与恢复的三种方法
- 10.Oracle与SQL Server在企业应用中的比较
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
