【问题标题】:Eclipse RCP: what does the percent symbol mean?Eclipse RCP:百分比符号是什么意思?
【发布时间】:2014-10-27 15:04:36
【问题描述】:

我已经多次看到 plugin.xml 标签或其他字符串值有一个前导 % 符号。喜欢在:

<command
    commandId="org.eclipse.ui.examples.contributions.item2"
    icon="icons/editor.gif"
    id="contributions.trimItem"
    label="%Trim.item"
    tooltip="%TrimItem.toolTip">
</command>

this example.

百分号是什么意思?它是某种参考吗?如果它引用了一个字符串值,它是在哪里定义的?

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp


    【解决方案1】:

    这意味着标签或工具提示的值实际上在plugin.propertiesOSGI-INFO/i10n/bundle.properties 文件中。 % 后面的值是要在该文件中查找的属性键。

    所以使用 '%Trim.item' 会有一行:

    Trim.item=the trim label
    

    在属性文件中。

    这用于允许文本国际化,因为 Eclipse 将查找属性文件的国家语言版本。

    如果插件的 MANIFEST.MF 中有一个条目 Bundle-Localization: plugin,则使用 plugin.properties,如果没有使用 Bundle-Localization 条目 OSGI-INFO/i10n/bundle.properties。

    如果您右键单击 plugin.xml(或其他文件),您可以选择“Plug-in Tools > Externalize Strings...”来启动一个工具,它将 plugin.xml 和 MANIFEST.MF 字符串转换为这种格式.

    plugin.xml / MANIFEST.MF 编辑器可以在您使用未像这样“外部化”的字符串时生成警告。

    【讨论】:

    • 请注意,.properties 文件的名称由 Bundle-Localization 条目的值决定。常规值是plugin,但它可以是您想要的任何名称。例如,设置 Bundle-Localization: foo 会导致 OSGi 在名为 foo.properties 的文件中查找属性。
    • 我的 RCP 应用程序变得更棒了 :)
    • 如果你想在你的 Java 中进行国际化,vogella.com/tutorials/EclipseInternationalization/article.html 有一个单独的机制
    • 如果您需要以实际值开头,有没有办法转义% 字符?
    • 回答我自己的问题 - 我尝试使用 &amp;amp;#37;(仍被解释为 % 用于替换),&amp;amp;#37;(以防双重危险就像在正则表达式中转义转义字符一样) Java)、\%^%\u0025 - 所有这些都作为输入的文字文本值插入。更新(以防万一其他人一直在寻找它)-%% 似乎可以工作-plugin.xml 语法荧光笔仍然是占位符,但第一个被省略了,第二个保持不变
    猜你喜欢
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-02-18
    • 1970-01-01
    相关资源
    最近更新 更多