Eclipse RCP应用程序中的动态语言切换

我正在研究具有本地化的Eclipse RCP应用程序。 用户应该能够动态更改应用程序中使用的语言。 在此语言切换期间不应重新启动应用程序。 还应该可以在从左到右书写的语言和从右到左书写的语言之间切换。
是否有(好的)方法来解决这个问题?

根据这个post :

大多数eclipse库都会在创建小部件时加载语言信息。 如果之后更改了语言环境,则需要重新启动eclipse才能使其生效。

您可以将这种动态行为写入您自己的SWT程序中(但是当语言环境切换时, 您需要在所有内容上调用setText(*) 🙂

因此,除非您自己编程,否则目前不会动态管理…
像Birt这样的其他rcp / plugins应用程序指定了相同的指令(即最后的“重启Eclipse”……)


也就是说,在这个post中设置了一个稍微不同的问题:

切换语言设置,重新启动,然后以该语言运行

我通过阅读bug 222023并模仿org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction得到了它的工作

我手动尝试了:

  • 将“ -configuration @user.home/.myapp/configuration ”添加到launcher.ini中
  • 将“ osgi.nl ”添加到osgi.nl的用户config.ini并且它有效。

由于我可以通过Platform.getConfigurationLocation()访问config-Location ,我想这可能就是这样。

注意:将“ osgi.nl ”添加到webstart jnlp 也可以 。

您需要使用相应的文本在每个窗口小部件上调用setText。 由于小部件上没有文本变量映射,因此您必须完全手动完成。