在我们的eclipse rcp应用程序中,所有字符串都是外部化的,并以两种语言显示,这很好。例如。我收到了这样的消息。
public class Messages extends NLS
{
private static final String BUNDLE_NAME =
"abc.fixedcolumns.messages"; //$NON-NLS-1$
public static String additionalReq;
static
{
// initialize resource bundle
NLS.initializeMessages( BUNDLE_NAME, Messages.class );
}
private Messages()
{
super();
}
使用匹配的消息_de.properties和messages_en.properties。
它可以正常工作,以英语启动申请显示了英文字符串,德语显示了德语。
现在,我需要在德语版本中获得一些英语字符串。如何实现?
(一种尝试是更改JVM的语言环境,获取字符串并将其更改,但这将是一个非常糟糕的解决方案)
您不必将所有消息都放在特定于语言的属性文件中。NLS
还将查看messages.properties
文件。您可以将仅英文邮件放在那里,而不会在语言特定的属性中放任何东西。
除非NLS
不支持除当前语言环境以外的任何事物。您可以制作自己的班级版本来完成您想做的事情,NLS
不是很大。
eclipse e4
rcps确实支持更灵活的翻译系统。