2007年5月16日星期三

NetBeans多语言版本,更换默认 Locale 设置时的问题

update: (这个BUG只会在中文操作系统下出现,在英文版的操作系统上一切正常。看来是一些模块在编写时没有正确地加载对应locale 的 properties 文件)

在我看来,在日常的工作平台,JDK/NetBeans 的i18n 字体问题已经成为历史了。但是我前些天又登记了一个 BUG 到 NetBeans 的 IssueZilla 中:

1. 下载多语言版本的安装包,安装
2. 因为我不喜欢那些翻译的不准确的词,所以我打算回退到英文的 locale:
增加一个启动参数到 $NetBeans/etc/netbeans.conf 文件:
netbeans_default_options="$默认的配置 --locale en"
语法为: --locale language[:country[:variant]]

3. 重启后,你将看到“著名的字体问题”重新又出现了,显示为小方框:

当前,只有两种办法可以解决这一问题:

1. 去掉加上的 locale 参数,但必须忍受翻译得不佳的词了。

2. 下载英文版,继续用吧。但这样的话,在 Welcome 中你将看不到中文的 Blog.

8 条评论:

匿名 说...

我的英文操作系统没有你这个问题。完全正常。

P.P.Run 说...

对头!
谢谢你的评论。我已经加了一个更新到文章中:指出了只在中文操作系统会出现这一问题。

匿名 说...

今天试了一下中文的vista,也没有问题。

P.P.Run 说...

JDK5 还是 JDK 6?

谢谢

匿名 说...

6u1

匿名 说...

问题解决 我用的是 SUSE10.1 语言是中文 但安装了英文版后还是显示中文,加了那个启动参数后就好了 只是那个 欢迎 页里的中文看不到 呵呵

P.P.Run 说...

对于 Welcome 页面标签上的中文没显示出来的原因,我想是那个模块没有正确地处理JAVA属性文件的加载(没按照启动参数设置的来加载对应 Locale 的属性文件)。

而对于 FileChooserDialog 的问题在NetB eans 4 之前有过类似的问题,NetBeans 好象对标准的 JFileChooser 作了些改动。比如:它所能辨认的工程目录都会有一个小的装饰。所以这相具体的细节还不大清楚。这个BUG在 NetBeans 的几个开发者之间也转了好几次。再者他们的测试平台往往是语言是选择了中文,但 Locale 似乎跟我们的不一样,所以他们的测试结果是对的。不信的话,如果将我们的中文操作系统的 Locale 改为 US 的话应该可以看到正确的结果。

至于你说的安装了英文版还是显示中文(你说的是安装了 NetBeans 的英文版吧,不是操作系统的英文版?)
由于最近NetBeans 的中文社团很活跃,他们跟进了大部分的项目的翻译工作。所以如果你下载的是2006年12月份(具体的日期不十分清楚)的版本5.5的话,是无济于事的。因为里面包括了所有多语言的JAVA属性文件。
我用的是5.5 10月份的版本(FCS),那时中文还未跟进,所以没有这个问题,你也可以按如下步骤得到这五版本:
1. http://www.netbeans.info/downloads/dev.php
2. NetBeans Version : 5.5
Build Type : release
点击 Continue
3. 选择 IDE 200610171010 NetBeans IDE 5.5 fcs build 200610171010

就可以了。


但是我最近按照这五方式去下载 5.5.1 ,已经不管用了。可能是因为5.5.1已经将所有的JAVA属性文件都多语言化了。
在这种情况下,我要想使用英文版而又不出现我们前面遇到的情况,我只有在NetBeans 安装目录下的找到所有 locale 子目录,删除所有 zh.properties 结尾的属性文件了。
不过,如果对 NetBeans 不是很熟悉的话,建议你们不要采取这一招,试着慢慢接受吧。

P.P.Run 说...

Another way to dismiss the the square boxes (the display error text) :
1. new userdir or remove the old one will help the Welcome text out.

2. use '--laf javax.swing.plaf.metal.MetalLookAndFeel' will use a different JFileChooser (Open Project) and the left navigator pane won't displayed.

经过与 NetBeans 的开发者讨论后,目前有两种方案可以暂时缓解,但不能完全根治这个问题:
1. 使用一个新的 userdir (在 netbeans-5.5.1\etc\netbeans.conf 文件 中修改:netbeans_default_userdir="E:/sun/settings/.netbeans/5.5.1") 你甚至可以将以前那个删掉。
这个选项可以解决 Welcome 页上的那个文字”Welcome“

2. 如果你习惯使用另一种SWING的外观感觉的话,可以使用 --laf javax.swing.plaf.metal.MetalLookAndFeel' 选项。这样整个应用的外观和感觉都变了。当然我们的目的是为了解决 "open project" 的中文字体问题的,因为在这种外观感觉下,JFileChooser (Open Project Dialog 的基础)根本不会显示左侧的民航面板,所以当然就不会出现那些方框了。

2.