繁体   English   中英

JFace对话框按钮翻译

[英]JFace dialog button translation

我正在创建一个独立的SWT / JFace应用程序。

我以前使用普通的旧SWT MessageBox:

int style = SWT.APPLICATION_MODAL | SWT.YES | SWT.NO;
MessageBox messageBox = new MessageBox (getShell(), style);
messageBox.setText ("Question");
messageBox.setMessage ("So?");
boolean result = messageBox.open() == SWT.YES;

我尝试切换到JFace MessageDialog

boolean result = MessageDialog.openQuestion(getShell(), "Question", "So?");

我遇到的问题是在SWT中,Yes和No按钮标签是用我的语言翻译的,而在JFace中并非如此。 任何想法?

我引用的jar是swt 3.8.0,jface 3.8.0,以及jface依赖项core.commands 3.6.1和equinox.common 3.6.100。

在SWT的MessageBox类中,标签由OS设置。 对于JFace,您必须提供自己的翻译文件。 你可以在这里找到一种语言。 当然,您也可以自己提供。 链接说明如何使用资源包进行翻译。 您可以在org / eclipse / jface / messages.properties下找到原始翻译文件。 您必须将自己的翻译文件(messages_ [语言代码] .properties)添加到项目中的同一包路径中。 请注意,资源包与OSGi包没有任何共同之处。

我遇到了同样的问题。我正在使用SWT的Messagebox。 由于操作系统必须处理翻译,我通过更改控制面板中的区域设置来测试它,但它没有帮助。 我们必须切换OS语言才能实现这一目标。 对于Windows 7用户,必须升级到Windows终极软件包。 这就是你如何做到的。 http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/how-to-change-system-language-of-windows-7-home/d58fb37b-cb02-41c8-986f-22582fd35a12

我没试过,但值得一试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM