2013-04-11 67 views
0

有谁知道在SWT \ RCP应用程序中是否有可能对某些SWT Widget执行NLS?Eclipse RCP&SWT Widgets&NLS

备注: 随着JFace组件的可能,如果你创建自己的春分片段插件org.eclipse.jface,(包含messages.properties),所以让我说,如果我想使斯洛伐克NLS到JFace组件我在我的片段中创建messages_sk.properties

有谁知道这是否也可以做SWT这是插件的一部分org.eclipse.ui

我开发的应用程序,它使用SWT FileDialog,其默认的英语按钮等 我要让他们的其他语言不作我自己的对话,但改变NLS ..

+1

是的,但在这里要小心 - 我认为'FileDialog'会提升您的系统的文件选择器对话框,因此会根据您的操作系统的语言进行本地化? – 2013-04-11 14:24:41

回答

1

我不认为你有机会国际化org.eclipse.swt.widgets.FileDialog按钮的文字。

SWT在这里使用系统文件对话框。对于使用德语win32系统的我来说,文本是德文的。这表示按钮文本也是系统相关的。

enter image description here

PS:
SWT不是插件org.eclipse.ui的一部分。的FileDialog是插件的一部分org.eclipse.swt.<ws>.<os>.<arch>_<version>.jar

其中:

  • WS - 窗口系统:gtkwin32
  • OS - 操作系统:win32linuxsolaris
  • arch - architecture:x86x86_64
  • - 版本ID(类似3.100.1.v4234e
1
大部分零部件

org.eclipse.swt可以本地化。我不知道选择本地化FileDialog和类似的“小部件”,因为库直接调用一些Win32 API(或其他操作系统上的类似API)来创建它。因此,这部分是高度依赖于操作系统的,如果您以某种方式更改它,它将不可移植。

如果您想本地化org.eclipse.swt的其他部分,它相对简单。只需创建一个片段(例如org.eclipse.swt.nls),其中主机将是org.eclipse.swt。创建一个包org.eclipse.swt.internal

将文件SWTMessages.propertiesorg.eclipse.swt.<ws>.<os>.<arch>_<version>.jar/org/eclipse/swt/internal复制到新软件包并将其重命名为_SWTMessages.properties

然后,您可以创建本地化SWTMessages_<lang>.properties文件(其中<lang>是语言缩写:例如skdefr)。