RCP中国际化使用 plugin.properties文件的读取的问题

在程序启动时在Application.java的start方法里重新设置了系统的默认语言,

比如:Locale.setDefault(Locale.US) ;这时系统的显示都是英文的。在设置Locale.US之前,如果系统的默认语言是中文,在设置为英文之后,从plugin.properties(plugin_zh.properties)里面获取的name="%navigationView.title"这个标题的显示还是中文。但其它地方的显示都已经改变成英文了。
解决方法是什么呢?大家给个思路!

Application.java的start方法应该是程序的入口,为什么在这里设置了系统的语言依然不能改变显示?难道plugin.properties的读取在这个start方法之前?

3个回答

增加一个管理plugin信息的方法,获取语言类型后读plugin 用ResourceBundle

应该是的。

你可以package com.jin;

import java.util.Locale;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class LocaleChangeListener implements ServletContextListener{

public void contextInitialized(ServletContextEvent sce) {
    Locale locale = Locale.ENGLISH;
    Locale.setDefault(locale);
}

public void contextDestroyed(ServletContextEvent sce) {
    // TODO Auto-generated method stub

}

}
或者是


jinandmei
jinbingchuan ResourceBundle#getBundle(String baseName, Locale locale) locale是从配置文件读取的,这样应该可以的
大约 7 年之前 回复
weixin_42508219
weixin_42508219 程序在启动的时候会读取一个设置了语言的文件,然后将系统的语言设置为文件里定义的。 框架是RCP,在启动系统的project.project设置了语言为en_US后,显示是英文的。但读取语言文件后,如果文件里设置的是zh_CN,页面其他地方的显示都变成了中文,不知道为什么只有从plugin.properties里面获取的内容依然是英文。
大约 7 年之前 回复

增加程序启动参数:-nlzh

lyb520320
lyb520320 -nl zh
大约 7 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐