$NON-NLS-1$是什么意思?

2022-08-31 04:57:14

在Eclipse源代码中,我在这样的注释中发现了一些“$NON-NLS-1$”:

private String toolTip = ""; //$NON-NLS-1$

那是什么意思?


答案 1

他们沉默了Eclipse在遇到字符串文本时发出的警告(并且已被配置为抱怨)。

这个想法是UI消息不应该嵌入为字符串文本,而是来自资源文件(以便它们可以被翻译,校对等)。因此,Eclipse可以配置为检测字符串文本,这样您就不会意外地在代码中留下未外部化的UI字符串;但是,有些字符串不应该被外部化(例如正则表达式),因此,//$NON-NLS-1$为您提供了一种将该事实传达给编译器的方法。


答案 2

字符串不可翻译。它告诉 Eclipse 编辑器不要将字符串标记为未提供源。这对于多语言应用程序非常重要。


推荐