2013-04-11 83 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)。