快速业务通道

为Eclipse plug-in(插件)创建语言包 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-22

为Eclipse plug-in(插件)创建语言包

时间:2010-12-29

在我们的应用中,难免会遇到国际化的问题,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

为Eclipse plug-in(插件)创建语言包 - 编程入门网

2、注意在第三步的时候,选择你要为哪个插件创建语言包(红色标出),并选定要示的版本。

为Eclipse plug-in(插件)创建语言包 - 编程入门网

3、项目结构如下:

为Eclipse plug-in(插件)创建语言包 - 编程入门网

其中,messages_zh_CN.properties是将jface的messages.properties部分译成中文后再用native2ascii生成的文件。messages.properties可以按自己的要求翻译。

为Eclipse plug-in(插件)创建语言包(2)

时间:2010-12-29

下面是我的文件的一部分,我只译了其中的几个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、需要做其它语言的版本,过程一样。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号