Eclipse国际化的问题,Eclipse-RCP项目做做国际化的时候,存在两个层面,一个是控件上的中文,另一个是Plugin.xml中的中文信息,控件上的中文,没有什么可说的,用一个类,加一个资源文件就可以了~主要的问题是Plugin.xml中的中文信息;
根据各大网站和资料的中描述,Plugin.xml中中文信息用一下方法处理:
1.在Plugin.xml同目录下新建plugin.properties;
2.将Plugin.xml文件中中文部分替换成%xxxx;
不知道这样的办法是不是在Eclipse3.3以前的版本中有用,反正我在Eclipse3.3中,这招没有用,PDE可以解析到%XXX的内容,但是启动应用程序以后没有任何效果,所有修改的地方都显示为%XXX了~
解决办法就是:
请在插件的 MANIFEST.MF 文件后面添加上 Bundle-Localization: plugin 和一个回车应该可以解决你的问题。
各个控件上的中文使用:ResourceBoundle
NLS
NLS它好像与操作系统语言有关系,可以这样设置:
在Run Configurations的Arguments的Program arguments如下设置
-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl
en_US ${target.nl}
ResourceBoundle例子:
- public class CustomString {
- private static final String BUNDLE_NAME = "helloworld.resource.custom";
- private static ResourceBundle rb = null;
-
-
- public static void setLocale(Locale locale) {
- try {
- rb = ResourceBundle.getBundle(BUNDLE_NAME, locale);
- } catch (Exception e) {
- rb = ResourceBundle.getBundle(BUNDLE_NAME, Locale.ENGLISH);
- }
- }
-
-
- public static String getString(String key) {
- try {
- String keyValue = new String(rb.getString(key).getBytes(
- "ISO-8859-1"), "UTF-8");
- return keyValue;
- } catch (Exception e) {
- return key;
- }
- }
-
- }
-
-
- 在Application的start方法中加入
- [code
-
-
- ="java"]
参考资料:http://www.ibm.com/developerworks/cn/opensource/os-eclipse-globalrcp/index.html?ca=dat-cn-0727
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。