Dans le code source d'Eclipse, j'ai trouvé des «$ NON-NLS-1 $» dans les commentaires utilisés comme ça:
private String toolTip = ""; //$NON-NLS-1$
Qu'est-ce que ça veut dire ?
la source
Dans le code source d'Eclipse, j'ai trouvé des «$ NON-NLS-1 $» dans les commentaires utilisés comme ça:
private String toolTip = ""; //$NON-NLS-1$
Qu'est-ce que ça veut dire ?
Ils font taire un avertissement qu'Eclipse émet lorsqu'il rencontre des littéraux de chaîne (et a été configuré pour se plaindre).
L'idée est que les messages d'interface utilisateur ne doivent pas être incorporés en tant que littéraux de chaîne, mais plutôt provenir d'un fichier de ressources (afin qu'ils puissent être traduits, vérifiés, etc.). Par conséquent, Eclipse peut être configuré pour détecter les littéraux de chaîne, afin que vous n'ayez pas accidentellement laissé de chaînes d'interface utilisateur non externalisées dans le code; cependant, il existe des chaînes qui ne doivent pas être externalisées (telles que les expressions régulières) et donc, // $ NON-NLS-1 $ vous donne un moyen de communiquer ce fait au compilateur.
La chaîne n'est pas traduisible. Il indique à l'éditeur Eclipse de ne pas marquer la chaîne comme non financée. Ceci est important pour les applications multilingues.
la source
NON-NLS
des moyens non - N ational L anguage S upport .Wikipedia propose également non - N ative L ANGUE S upport (NLS) , mais ce dernier n'est pas très utilisé.
NLS consiste à internationaliser votre application. Aide d'Eclipse pour localiser les chaînes codées en dur dans votre code. Pour indiquer qu'une chaîne ne fait pas partie de l'internationalisation, ajoutez le commentaire
//$NON-NLS-x$
où x est la position de la chaîne. Dans l'exemple suivant, les deux"!"
sont des chaînes codées en dur qui ne font pas partie de l'internationalisation:Remarques:
//
est nécessaire à chaque fois$NON-NLS$
pour plusieurs chaînes dans la même ligne(par exemple si votre ligne a six chaînes, vous devez écrire six fois
//$NON-NLS-x$
)Le livre EMF: Eclipse Modeling Framework à la page 250 dit:
Pour plus de détails, consultez également les pages L'interface graphique du générateur et Comment internationaliser votre plug-in Eclipse .
Vous pouvez activer / désactiver cette fonction. Sur Eclipse Neon, allez sur
Project > Properties > Java Compiler > Errors/Warnings
et sélectionnez le champ
Non-externalized strings (missing/unused $NON-NLS$ tag)
la source
Si vous êtes développeur Android. Toutes les chaînes que l'utilisateur peut voir doivent se trouver dans le fichier de ressources /res/values/strings.xml pour lire le fichier strings.xml dans le code que vous utilisez R.string .. En ajoutant la balise // $ NON-NLS- $ vous êtes notant que la chaîne ne sera pas vue par les utilisateurs.
L'avertissement dans Eclipse Helios peut être activé à
Window -> preferences -> java -> Compiler -> code style -> "Non-externalized Strings (missing/unused &NON-NLS$ tag)
.Si vous prévoyez de programmer votre activité en plusieurs langues, il est recommandé de l'activer. Et puis en ajoutant la balise & NON-NLS $ aux chaînes internes à votre activité. Eclipse ajoutera la balise & NON-NLS $ dans la correction rapide si vous faites un clic droit sur l'avertissement ou l'erreur.
la source
Il est utilisé par Eclipse pour indiquer qu'une chaîne n'a pas besoin d'être traduite, probablement parce qu'elle ne sera pas vue par les utilisateurs de l'application.
la source
Il indique au compilateur de ne pas se plaindre d'une chaîne non externalisée et qu'il ne nécessite pas de localisation.
la source