337 votes

Que signifie $NON-NLS-1 moyenne de $ ?

Dans le code source Eclipse, j’ai trouvé certains ' $NON-NLS-1$ ' dans les commentaires utilisés comme ça :

Que cela signifie-t-il ?

389voto

Aaron Maenpaa Points 39173

Ils silence un avertissement que Eclipse émet lorsqu'il rencontre des littéraux de chaîne (et a été configuré pour se plaindre).

L'idée est que l'INTERFACE utilisateur messages ne doivent pas être imbriquées comme des littéraux de chaîne, mais plutôt provenir d'un fichier de ressources (de sorte qu'ils peuvent être traduits, à l'épreuve, etc). Par conséquent, Eclipse peut être configuré de manière à détecter les littéraux de chaîne, de sorte que vous n'avez pas accidentellement ont laisser unexternalized les chaînes de l'INTERFACE utilisateur dans le code; cependant, il y a des chaînes qui ne devrait pas être externalisées (comme les expressions régulières) et donc, //$NON-NLS-1$ vous donne un moyen de communiquer que fait le compilateur.

61voto

McDowell Points 62645

La chaîne n’est pas traduisible. Il indique à l’éditeur Eclipse à pas la chaîne comme unresourced du pavillon. C’est important pour des applications multilingues.

14voto

fishjd Points 560

Si vous êtes un développeur Android. Toutes les chaînes de caractères que l'utilisateur peut voir dans le fichier de ressources /res/values/strings.xml à lire strings.xml fichier dans le code que vous utilisez R. chaîne.. En ajoutant la balise //$NON-NLS-$ vous êtes en notant que la chaîne ne sera pas visible par les utilisateurs.

L'avertissement dans Eclipse Helios peut être activée à l' Window -> preferences -> java -> Compiler -> code style -> "Non-externalized Strings (missing/unused &NON-NLS$ tag).

Si vous prévoyez de la programmation de votre activité pour être multi-langue, il serait recommandé de désactiver cette sur. Et puis en y ajoutant les &NON-NLS$ tag aux chaînes qui sont internes à vous de l'activité. Eclipse s'ajouter et NON-NLS$ tag dans le quick-fix si vous faites un clic droit sur l'avertissement ou d'erreur.

9voto

Kees de Kooter Points 3268

Il est utilisé par Eclipse pour indiquer qu’une chaîne n’a pas besoin d’être traduit, probablement parce qu’il ne va pas être perçu par les utilisateurs de l’application.

5voto

Björn Points 15485

Il indique au compilateur de ne pas se plaindre sur une chaîne non externalisée, et qu’il ne nécessite pas de localisation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X