在Eclipse RCP应用程序中实现动态语言切换

7

我正在开发一款带有本地化功能的Eclipse RCP应用程序。用户应该能够在应用程序运行时更改使用的语言,在此语言切换期间不应重启应用程序。还应该可以在从左到右书写的语言和从右到左书写的语言之间切换。
有没有(好的)方法解决这个问题?


困难在于我不相信你可以自动地在所有东西上调用 setText(*)... - VonC
2个回答

4
根据这篇文章
大多数Eclipse库在创建小部件时加载其语言信息。如果您稍后更改区域设置,则需要重新启动Eclipse才能使其生效。
您可以将此类动态行为编写到自己的SWT程序中,但是(当区域设置切换时,您需要在所有内容上调用setText(*) :-))
因此,除非您自己编程,否则目前不会进行动态管理...
其他rcp/plugins应用程序如Birt指定了相同的说明(即在结束时“重新启动Eclipse”...)
话虽如此,在这个线程中提出了一个略有不同的问题:
切换语言设置,重启,然后以该语言运行 我通过阅读bug 222023并模仿org.eclipse.ui.internal.ide.actions.OpenWorkspaceAction来使其工作。 我手动尝试了一下: 添加了“-configuration @user.home/.myapp/configuration”到launcher.ini 将“osgi.nl”添加到用户的config.ini,并且它起作用了。 由于我可以通过Platform.getConfigurationLocation()访问config-Location,因此我想那可能就是方法。
注意:将“osgi.nl”添加到webstart jnlp也是有效的

有没有可能自动获取“所有内容”(调用setText(*))? - zizzo

1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接