在程序启动时在Application.java的start方法里重新设置了系统的默认语言,
比如:Locale.setDefault(Locale.US) ;这时系统的显示都是英文的。在设置Locale.US之前,如果系统的默认语言是中文,在设置为英文之后,从plugin.properties(plugin_zh.properties)里面获取的name="%navigationView.title"这个标题的显示还是中文。但其它地方的显示都已经改变成英文了。
解决方法是什么呢?大家给个思路!
Application.java的start方法应该是程序的入口,为什么在这里设置了系统的语言依然不能改变显示?难道plugin.properties的读取在这个start方法之前?
增加一个管理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
}
}
或者是
增加程序启动参数:-nlzh