Eclipse RCP Internationalization独立插件

GGr*_*rec 3 java eclipse rcp eclipse-plugin internationalization

没有教程提供了如何创建国际化插件片段的具体示例.我需要翻译到plugin.xml和源代码文件.试着把头转过去翻译的地方,以及i18n门面的去处.

1.该片段如何应用于多插件企业应用程序,更重要的是,所有这些插件如何将其字符串外部化到片段中的相应文件夹中?

2. 外部JAR怎么样?该机制如何为外部资源提供翻译支持?

3.有远程风险,是否可以提供a viewperspective?的独立翻译?不一定是在运行时,因为我知道bundle无法动态切换.

Fre*_*rik 5

有一些帮助,本文列出了该过程.它基于Eclipse 2.0(!),但基本思想仍然正确.Vogella的这篇教程是一篇更好的文章

  1. 对于您需要翻译的每个插件,您将创建一个插件片段.该片段与一个主机插件相关联,因此您需要多个片段.每个片段可以包含多种语言.语言由文件夹结构分隔,如第一篇文章中的步骤5所述

  2. 我猜你指的是你自己创造的非日食Java罐子,是吗?如果是这样,那是一个完全不同的过程,最适合使用Java标记的单独问题.Oracle有一个可能有用指南.但请记住,您只需要翻译用户所接触的内容.因此,将所有用户可见字符串保留在Eclipse插件中的重构可能是个好主意.

  3. 你指的是视图/透视的名称吗?如果是的话,是的.您也可以翻译plugin.xml中提供的信息.参见Vogellas的文章,第3章

编辑:

At nr.3 I was referring to choosing which View to translate (e.g. via a view menu), then restart the app, then only the said view should translate

嗯..我想到了一种理论上可行的方法,但我不确定它是最好的选择.所以翻译是基于语言环境.并且根据区域设置选择一定的翻译.如果不存在适当的翻译,则将选择默认值.

因此,如果您的"视图"菜单要将应用程序的区域设置更改为"us-en-v1",并且您只有一个视图具有区域设置"us-en-v1"的翻译,则这意味着特定的视图将被翻译,但应用程序的其余部分将使用默认值(可能是他们默认返回到最接近的翻译,不记得确切).

然后,对于每个视图,您将创建一个新的翻译并为每个视图使用唯一的区域设置.

这应该有效,但它会滥用翻译的工作方式,因此可能会导致问题.

我曾经做过类似的事情,一个应用程序使用相同的语言,但不同的客户有不同的词汇.因此,我们使用i18n通过定义我们自己的语言环境使应用程序使用正确的术语.