【发布时间】:2011-05-08 11:18:53
【问题描述】:
我会用英语本地化一个 FileDialog 组件。我的默认语言是意大利语。 有可能吗?
我使用 FileDialog 的项目是一个 Eclipse 插件项目。
我找到了仅适用于 JFileChooser 组件的解决方案,并且它有效。
提前谢谢你。
【问题讨论】:
标签: java localization eclipse-plugin swt filedialog
我会用英语本地化一个 FileDialog 组件。我的默认语言是意大利语。 有可能吗?
我使用 FileDialog 的项目是一个 Eclipse 插件项目。
我找到了仅适用于 JFileChooser 组件的解决方案,并且它有效。
提前谢谢你。
【问题讨论】:
标签: java localization eclipse-plugin swt filedialog
我的理解是 SWT 正在调用一些操作系统 API 来显示常用对话框(FileDialog 就是其中之一)。因此,它将始终以当前操作系统语言或当前用户为 MUI 系统选择的语言显示。
如果我的理解是正确的(而且我坚信如此),那么根本没有办法将其本地化。
看来我错了。 This page(向下滚动到国际化)说:
Eclipse SDK 被设计为国际化的基础 产品。 Eclipse SDK 提供的用户界面元素 组件,包括对话框和错误消息,都被外部化了。 英文字符串作为默认资源包提供。
这意味着它应该是可本地化的。但这并不意味着它是本地化的。另一个引用:
对德语和日语语言环境进行了测试。
这是否意味着它已本地化为德语和日语?我不知道。 Mac 平台上的 Swing 就是这种情况(我不确定它是否仍然保持不变)。
但是,这意味着至少应该可以进行本地化。
如果一开始是这样的话我不能(我不这么认为),但现在你所要做的就是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 的疑虑,它应该会提高这个答案的质量)。
【讨论】: