web-dev-qa-db-fra.com

Quel est le deuxième paramètre de NSLocalizedString ()?

Quel est le *comment paramètre dans:

NSString *NSLocalizedString(NSString *key, NSString *comment)

Si je fais ça:

NSLocalizedString(@"Hello_World_Key", @"Hello World")

et ont deux versions de Localizable.strings (anglais et espagnol), chacune a-t-elle besoin de l'entrée:

English.lproj/Localization.strings: @"Hello_World_Key" = @"Hello World";

Spanish.lproj/Localization.strings: @"Hello_World_Key" = @"Hola Mundo";

L'anglais n'est-il pas redondant?

119
4thSpace

La chaîne de commentaire est ignorée par l'application. Il est utilisé au profit d'un traducteur, pour ajouter du sens à l'utilisation contextuelle de la clé où elle se trouve dans votre application.

Par exemple, le Hello_World_Key la clé peut prendre différentes valeurs dans une langue donnée, selon le degré de formalité ou d'informalité de la Hello World la phrase doit être dans cette langue ("What's up World", "Yo World", "Good Day World", etc.).

Vous pouvez ajouter une chaîne dans le champ de commentaire pour suggérer cette utilisation au traducteur, qui sera (on pourrait le supposer) plus à même de localiser votre application.

69
Alex Reynolds

Le deuxième paramètre est un commentaire qui apparaîtra automatiquement dans le fichier de chaînes si vous utilisez l'utilitaire de ligne de commande genstrings, qui peut créer le fichier de chaînes pour vous en scannant votre code source.

Le commentaire est utile pour vos localisateurs. Par exemple:

NSLocalizedString(@"Save",@"Title of the Save button in the theme saving dialog");

Lorsque vous exécutez genstrings, cela produira une entrée dans le fichier Localizable.strings comme ceci:

/* Title of the Save button in the theme saving dialog */
"Save" = "Save";
268
Rob Keniger

C'est juste pour que les développeurs comprennent la traduction, c'est-à-dire que vous donnez une clé pour obtenir la chaîne correspondante à partir du fichier de chaînes correspondant.

Le paramètre de commentaire permet au développeur de comprendre ce que la clé représente ...

0
Shanmugaraja G