¿Cuál es el segundo parámetro de NSLocalizedString ()?

¿Cuál es el *comment parámetro de *comment en:

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

Si hago esto:

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

y tiene dos versiones de Localizable.strings (inglés y español), cada uno necesita la entrada:

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

¿No es el inglés redundante?

La cadena de comentarios es ignorada por la aplicación. Se utiliza para beneficio del traductor, para agregar significado al uso contextual de la clave donde se encuentra en su aplicación.

Por ejemplo, la tecla Hello_World_Key puede tomar diferentes valores en un idioma determinado, dependiendo de cuán formal o informal sea la frase de Hello World en ese idioma (“What’s up World”, “Yo World”, “Good Day World”, etc. .).

Puede agregar una cadena en el campo de comentario para insinuar este uso al traductor, quien (uno supondría) podrá localizar mejor su aplicación.

El segundo parámetro es un comentario que aparecerá automáticamente en el archivo de cadenas si utiliza la utilidad de línea de comandos genstrings , que puede crear el archivo de cadenas escaneando su código fuente.

El comentario es útil para tus localizadores. Por ejemplo:

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

Cuando ejecuta genstrings, esto producirá una entrada en el archivo Localizable.strings como este:

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

Es solo para que el desarrollador entienda la traducción, es decir, que está dando una clave para obtener la cadena correspondiente del archivo de cadenas correspondiente.

El parámetro de comentario permite al desarrollador comprender qué representa la clave …