Java:如何强制swt FileDialog的本地化

时间:2011-05-08 11:18:53

标签: java localization eclipse-plugin swt filedialog

我会用英语本地化FileDialog组件。我的默认语言是意大利语。 有可能吗?

我正在使用FileDialog的项目是一个Eclipse插件项目。

我发现只有JFileChooser组件的解决方案才有效。

提前谢谢。

1 个答案:

答案 0 :(得分:6)

原始答案中的信息已过时。请向下滚动到编辑2。

我的理解是SWT调用一些操作系统API来显示常用对话框(FileDialog就是其中之一)。因此,它将始终以当前OS语言或当前用户选择的MUI系统语言显示 如果我的理解是正确的(我坚信这一点),那么根本无法将其本地化。

编辑(在Jarek发表评论后):

似乎我错了。 This page(向下滚动到国际化)说:

  

Eclipse SDK被设计为国际化的基础   产品。 Eclipse SDK提供的用户界面元素   组件(包括对话框和错误消息)已外部化。   英语字符串作为默认资源包提供。

这意味着它应该可本地化。但这并不意味着本地化。另一句话:

  

测试德语和日语语言环境。

这是否意味着它本地化为德语和日语?我不知道。 Swing on Mac平台就是这种情况(我不确定它是否仍然保持不变) 但是,这意味着本地化至少应该是可能的。

编辑2(当前状态)

我不能,如果首先是这种情况(我不这么认为),但现在你所要做的只是to use language pack

  

java -Duser.language = fr -Djava.library.path = C:\ MyApp         -classpath C:\ MyApp \ swt.jar; C:\ MyApp \ swt-nl.jar; C:\ MyApp \ myApp.jar         my.org.HelloWorld

在类路径上放置一个或多个语言包应该足以翻译FileDialog。如果是意大利人和其他人,那将是NLpack1。对于波兰语,匈牙利语,捷克语和俄语,它将是NLpack2

原始信息似乎是错误的,对不起(谢谢Jarek的怀疑,它应该提高这个答案的质量)。