RCP 国际化
来源:互联网 发布:python股票预测准确率 编辑:程序博客网 时间:2024/06/06 17:20
原文地址:http://jjxliu306.iteye.com/blog/1882002
Eclipse体系已对国际化功能封装的很不错了,因此在RCP中处理国际化很方便,下面借用jjxliu306的一个例子来展示如何在RCP中使用国际化。
1. 首先创建一个RCP应用工程。
注意将工程设置为RCP工程。
为方便测试,选择Hello RCP。
2. 创建资源文件 ,文件名任意,文件的格式:资源名_地区.properties 。 RCP的国际化类NLS在绑定属性资源文件时会根据地区来确定应该加载哪个.properties文件,在找不到匹配资源文件时将使用默认资源文件:资源名.properties文件。
如图 :
这里创建了三个文件,方便对应英国地区,大陆区域与默认。
三个文件中的内容如下:
message_en : test_info = this is english
message_zh_CN : test_info = 这个是中文的
message : test_info = 默认的
3. 下面我们创建访问资源文件的类,Eclipse中采用NLS类来实现国际化,因此我们需要继承NLS类来实现资源文件访问类。
代码如下:
/** * 国际化的信息类 * @author Administrator * */public class Message extends NLS { //要加载的资源文件的名称 //注意:这里的 “message” 对应我们要绑定的文件名称。 private static final String MESSAGE_BUNDLE = "message" ; static{ //绑定资源文件 initializeMessages(MESSAGE_BUNDLE, Message.class); } //这里的名称要和属性文件中一样 并且定义为static 供外部程序调用 public static String test_info ;}
4.到这一步后我们的国际化功能已实现的差不多了,下面通过一个视图来测试此资源文件访问类。
代码如下:
package rcp_localization;import org.eclipse.swt.SWT;public class TestViewPart extends ViewPart {public TestViewPart() {}public static final String ID = "RCP_Localization.testView";private Text info;@Overridepublic void createPartControl(Composite parent) {info = new Text(parent, SWT.MULTI | SWT.H_SCROLL | SWT.BORDER);// 这里调用了国际化的信息info.setText(Message.test_info);}@Overridepublic void setFocus() {info.setFocus();}}
5.在透视图中将此视图显示出来:
package rcp_localization;import org.eclipse.ui.IFolderLayout;import org.eclipse.ui.IPageLayout;import org.eclipse.ui.IPerspectiveFactory;public class Perspective implements IPerspectiveFactory {final static String FOLDER_ID_TEST = "test";public void createInitialLayout(IPageLayout layout) {layout.setEditorAreaVisible(false);final IFolderLayout testFolder = layout.createFolder(FOLDER_ID_TEST,IPageLayout.RIGHT, 0.8f, IPageLayout.ID_EDITOR_AREA);testFolder.addView(TestViewPart.ID);}}
以上运行结果是在中文的运行环境中得到的,即资源文件调用类Message调用的是message_zh_CN.properties文件中的信息。
我们也可修改运行环境为英文:
在Eclipse中设置RCP工程启动参数
选择 Run Configurations ,选择后出现:
选中右侧的 arguments ,
将 ${target.nl} 替换为 "en" (英语环境),
点击 run 运行,
从图中可见,此次运行加载的文件是message_en.properties
- Rcp国际化
- RCP 国际化
- 插件/RCP的国际化
- Eclipse RCP 之国际化
- rcp(插件开发)国际化
- rcp(插件开发)资源文件国际化问题-中文例子
- rcp(插件开发) plugin.xml 国际化中文未出现?
- RCP
- rcp
- RCP
- RCP
- RCP
- RCP
- rcp
- rcp
- RCP
- NetBeans RCP - 在NetBeans中如何实现GUI Form的国际化
- RAP/RCP程序国际化后IE浏览器不能正常查看的真正原因
- Bigtable:一个结构化数据的分布式存储系统
- hibernate createCriteria
- ExtJs 画出图表
- android.support.v4关联不到源码
- Hadoop深入学习:MapTask详解
- RCP 国际化
- Parsing with Compositional Vector Grammars
- hdu 1241 Oil Deposits
- SGU_511_Fermat's Last Theorem
- C/C++中extern关键字详解
- oracle RAC一个节点频繁重启
- 给生命一段独处的时光
- 开灯问题
- Linux运行与控制后台进程的方法:nohup, setsid, &, disown, screen