如果没有可用的本地化/本地化版本,如何为xml内容指定默认位置?

时间:2019-05-15 14:23:30

标签: eclipse localization internationalization

这是有关eclipse备忘单功能的问题,尽管它更普遍地适用于Eclipse中使用NLS。

假设我们最初有一个eclipse备忘单,如下所示在plugin.xml中:

<cheatsheet
        category="com.example.myCategory"
        composite="false"
        contentFile="xmlContent/CheatSheet.xml"
        id="com.example.myCheatSheet"
        name="%CheatSheetName">
</cheatsheet>

在所有安装中均以英文显示。如果用户可以阅读英语,则可以按照说明进行学习。

然后,我们决定将备忘单翻译成法语和西班牙语,因此我们创建了内容的翻译后的副本,并像这样更新xml:

<cheatsheet
        category="com.example.myCategory"
        composite="false"
        contentFile="$nl$/xmlContent/CheatSheet.xml"
        id="com.example.myCheatSheet"
        name="%CheatSheetName">
</cheatsheet>

内容的英语,法语和西班牙语版本现在分别位于以下位置:

nl/en/xmlContent/CheatSheet.xml
nl/fr/xmlContent/CheatSheet.xml
nl/es/xmlContent/CheatSheet.xml

备忘单仍可以在所有三种语言环境中正确显示(现在以本地语言显示),但是,如果使用其他语言环境(de,zh,it,jp ...)的用户尝试加载备忘单,他们将只是收到一条错误消息,提示找不到内容。这没什么用,因为这些地区的许多用户仍然可以从英语内容中受益。

是否有一种方法可以设置默认的语言环境,以防内容丢失,或者我们必须为可能存在用户的数百种语言环境中的每一个复制一份?

1 个答案:

答案 0 :(得分:0)

默认情况也只是查找不带nl/xx前缀的路径,因此在这种情况下为xmlContent/CheatSheet.xml

完整规则由Eclipse FileLocator.find API定义