首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JFace对话框按钮翻译

JFace对话框按钮翻译
EN

Stack Overflow用户
提问于 2013-04-07 01:42:39
回答 2查看 1.5K关注 0票数 4

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

我过去经常使用普通的SWT MessageBox:

代码语言:javascript
复制
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

代码语言:javascript
复制
boolean result = MessageDialog.openQuestion(getShell(), "Question", "So?");

我遇到的问题是,在SWT中,“是”和“否”按钮标签被翻译成我的语言,而在JFace中情况并非如此。有什么想法吗?

我引用的jars是equinox.common 3.8.0、jface 3.8.0以及jface依赖jars 3.6.1和jface 3.6.100。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-07 04:10:39

在SWT的MessageBox类中,标签由操作系统设置。对于JFace,您必须提供自己的翻译文件。您可以为您的语言here获取一个。当然,您也可以自己提供它。这个link解释了如何使用资源包进行翻译。您可以在org/eclipse/jface/messages.properties下找到原始转换文件。您必须将自己的转换文件(messages_language code.properties)添加到项目中相同的包路径中。请注意,资源包与OSGi包没有任何共同之处。

票数 10
EN

Stack Overflow用户

发布于 2014-02-21 06:31:05

我也有同样的问题,我使用的是SWT的Messagebox。由于操作系统必须负责翻译,所以我通过更改控制面板中的区域设置对其进行了测试,但没有任何帮助。为了实现这一点,我们必须切换操作系统语言。对于Windows7用户来说,必须升级到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

我还没试过,但值得一试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15854066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档