En el código fuente de Eclipse, he encontrado algunos '$ NON-NLS-1 $' en comentarios que se usan así:
private String toolTip = ""; //$NON-NLS-1$
Qué significa eso ?
fuente
En el código fuente de Eclipse, he encontrado algunos '$ NON-NLS-1 $' en comentarios que se usan así:
private String toolTip = ""; //$NON-NLS-1$
Qué significa eso ?
Silencian una advertencia que Eclipse emite cuando encuentra literales de cadena (y se ha configurado para quejarse).
La idea es que los mensajes de la interfaz de usuario no se deben incrustar como literales de cadena, sino que se deben obtener de un archivo de recursos (para que puedan traducirse, revisarse, etc.). En consecuencia, Eclipse se puede configurar para detectar literales de cadena, de modo que no deje accidentalmente cadenas de IU no externalizadas en el código; sin embargo, hay cadenas que no deben externalizarse (como expresiones regulares) y, por lo tanto, // $ NON-NLS-1 $ le ofrece una forma de comunicar ese hecho al compilador.
La cadena no es traducible. Le dice al editor de Eclipse que no marque la cadena como sin recursos. Esto es importante para aplicaciones multilingües.
fuente
NON-NLS
medios para no - N ational L anguage S upport .Wikipedia propone también no - N ativa L anguage S poyo (NLS), pero esto último no es muy utilizado.
NLS se trata de internacionalizar su aplicación. Ayuda de Eclipse para localizar cadenas codificadas en su código. Para indicar que una cadena no es parte de la internacionalización, agregue el comentario
//$NON-NLS-x$
donde x es la posición de la cadena. En el siguiente ejemplo, ambas"!"
son cadenas codificadas que no forman parte de la internacionalización:Notas:
//
es necesario cada vez$NON-NLS$
para múltiples cadenas dentro de la misma línea(por ejemplo, si su línea tiene seis cadenas, debe escribir seis veces
//$NON-NLS-x$
)El libro EMF: Eclipse Modeling Framework en la página 250 dice:
Para obtener más detalles, consulte también las páginas La GUI del generador y Cómo internacionalizar su complemento Eclipse .
Puede habilitar / deshabilitar esta función. En Eclipse Neon, vaya
Project > Properties > Java Compiler > Errors/Warnings
y seleccione el campo
Non-externalized strings (missing/unused $NON-NLS$ tag)
fuente
Si eres un desarrollador de Android. Todas las cadenas que el usuario pueda ver deben estar en el archivo de recursos /res/values/strings.xml para leer el archivo strings.xml en el código que usa R.string. Al agregar la etiqueta // $ NON-NLS- $ usted es observando que la cadena no será vista por los usuarios.
La advertencia en Eclipse Helios puede activarse en
Window -> preferences -> java -> Compiler -> code style -> "Non-externalized Strings (missing/unused &NON-NLS$ tag)
.Si planea programar su actividad para que sea en varios idiomas, se recomienda activar esto. Y luego agregue la etiqueta $ NON-NLS a las cadenas que son internas de su actividad. Eclipse agregará la etiqueta $ NON-NLS en la solución rápida si hace clic derecho en la advertencia o error.
fuente
Eclipse lo utiliza para indicar que una cadena no necesita ser traducida, probablemente porque los usuarios de la aplicación no la verán.
fuente
Le dice al compilador que no se queje de una cadena no externalizada, y que no requiere localización.
fuente