2009-09-18 16 views
107

Cuál es el parámetro en *comment:¿Cuál es el segundo parámetro de NSLocalizedString()?

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

si hago esto:

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

y tienen dos versiones de un Localizable.strings (Inglés y Español), ¿necesita cada uno de 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 uno redundante?

Respuesta

60

La cadena de comentario es ignorado 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 clave Hello_World_Key puede tomar diferentes valores en un idioma dado, dependiendo de cuán formal o informal sea la frase 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 (supongo) podrá localizar mejor su aplicación.

244

El segundo parámetro es un comentario que aparecerá automáticamente en el archivo de cadenas si usa 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 tu localizador. Por ejemplo:

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

Cuando se ejecuta genstrings, esto producirá una entrada en el archivo Localizable.strings así:

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

¿Puedo preguntar por qué esta respuesta no es la correcta? –

+0

@JuandelaTorre: Esta pregunta tiene algunos años, tal vez 4thSpace (la persona que hizo la pregunta) no ha echado un vistazo a su pregunta ya que acepta una de las respuestas. – Manni

+0

¡Me ahorró un montón de tiempo! ¡Gracias! – jonstaff

0

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 entender lo que la tecla representa ...

Cuestiones relacionadas