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

 


原创粉丝点击