$NON-NLS x$ is specifically for externalization and internationalization. It marks a string as being inappropriate for externalization. Eclipse and potentially other IDEs can be configured to present warnings when strings are hardcoded into a program so that programmers remember to externalize. NLS stands for National Language Support. The number after $NON-NLS- signifies which string on the tagged line the tag is for. The number 1 works for you, likely because there is only 1 string on the line your are trying to tag. If you had 2 strings on the same line, you can, for example, tag only the second string using $NON-NLS-2$. //Warning on "baz" foo("bar","baz"); //$NON-NLS-1$ //Warning on "bar" foo("bar","baz"); //$NON-NLS-2$ //No warnings foo("bar","baz"); //$NON-NLS-1$ //$NON-NLS-2$ //Warning on "baz" (apparently the slashes are required even with multiple tags)