首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >$NON-NLS-1$是什么意思?

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

Stack Overflow用户
提问于 2009-03-17 12:34:27
回答 5查看 77.6K关注 0票数 331

在Eclipse源代码中,我在注释中找到了一些'$NON-NLS-1$‘,如下所示:

代码语言:javascript
复制
private String toolTip = ""; //$NON-NLS-1$

这是什么意思?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-03-17 12:40:35

它们使Eclipse在遇到字符串字面量时发出的警告静默(并且已被配置为报错)。

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

票数 385
EN

Stack Overflow用户

发布于 2009-03-17 12:37:14

字符串不可翻译。它告诉Eclipse编辑器不要将字符串标记为unresourced。这对于多语言应用程序很重要。

票数 60
EN

Stack Overflow用户

发布于 2011-02-09 01:53:35

如果你是一名Android开发人员。用户可能看到的所有字符串都应该位于资源文件/res/values/strings.xml中,以便在使用R.string的代码中读取strings.xml文件。通过添加标记//$NON-NLS-$,您会注意到该字符串将不会被用户看到。

Eclipse Helios中的警告可能会在Window -> preferences -> java -> Compiler -> code style -> "Non-externalized Strings (missing/unused &NON-NLS$ tag)中打开。

如果您计划将您的活动编程为多语言,建议您打开此选项。然后将&NON-NLS$标记添加到活动内部的字符串中。如果您右键单击警告或错误,Eclipse将在快速修复中添加&NON-NLS$标记。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/654037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档