Qual è il secondo parametro di NSLocalizedString ()?

Qual è il parametro *comment in:

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

Se faccio questo:

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

e hanno due versioni di un Localizable.strings (inglese e spagnolo), ognuno ha bisogno della voce:

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

L’inglese non è ridondante?

La stringa di commento viene ignorata dall’applicazione. È usato a beneficio di un traduttore, per aggiungere significato all’utilizzo contestuale della chiave in cui si trova nella vostra applicazione.

Ad esempio, la chiave Hello_World_Key può assumere valori diversi in una determinata lingua, a seconda di quanto formale o informale deve essere la frase Hello World in quella lingua (“What’s up World”, “Yo World”, “Good Day World”, ecc. .).

È ansible aggiungere una stringa nel campo dei commenti per suggerire questo utilizzo al traduttore, che (si presume) sarà in grado di localizzare meglio la propria applicazione.

Il secondo parametro è un commento che apparirà automaticamente nel file delle stringhe se si utilizza l’utilità della riga di comando di genstrings , che può creare il file delle stringhe per te scansionando il codice sorgente.

Il commento è utile per i tuoi localizzatori. Per esempio:

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

Quando esegui genstrings, questo produrrà una voce nel file Localizable.strings come questo:

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

È solo per la comprensione degli sviluppatori sulla traduzione, cioè stai fornendo una chiave per ottenere una stringa corrispondente dal corrispondente file di stringhe.

Il parametro comment consente allo sviluppatore di capire cosa rappresenta la chiave …