Aplicación multi-idioma
09 September 2008
Al hilo de un comentario del foro, en el que preguntaban como cambiar el lenguaje de una aplicación en función del lenguaje del sistema operativo del iphone, ó como adivinar el lenguaje del iphone por defecto, os voy a explicar la forma correcta de definir el multi-idioma en vuestra aplicación, ya que yo me he visto en la misma necesidad.
1. Debemos de añadir a nuestro proyecto un fichero de tipo Strings File localizado en la última categoría en Others.

2. Ese fichero debemos de llamarlo Localizable.strings.
3. Pulsamos encima de ese fichero y seleccionamos Get Info.
4. Seleccionamos Make file localizable que encontraremos en la parte inferior de la opción de General.

5. Volvemos de nuevo a la pestaña de General y ahora toca añadir localizaciones, como por ejemplo en para inglés, es para español, etc.
6. Ahora añadimos a ambos ficheros las cadenas que necesitemos de la siguiente forma:
"Cadena1" = "Texto de la Cadena1";
7. En nuestra aplicación, en el momento en el que necesitemos obtener una cadena lo haremos mediante:
NSLocalizedString(@"Cadena1", @"")
Si mantenemos las mismas cadenas en ambos ficheros en y es, cuando nuestra aplicación necesite cargar una cadena con los métodos descritos anteriormente, la cargará del fichero indicado en o es en función del idioma que tenga configurado en su iPhone.
1. Debemos de añadir a nuestro proyecto un fichero de tipo Strings File localizado en la última categoría en Others.

2. Ese fichero debemos de llamarlo Localizable.strings.
3. Pulsamos encima de ese fichero y seleccionamos Get Info.
4. Seleccionamos Make file localizable que encontraremos en la parte inferior de la opción de General.

5. Volvemos de nuevo a la pestaña de General y ahora toca añadir localizaciones, como por ejemplo en para inglés, es para español, etc.
6. Ahora añadimos a ambos ficheros las cadenas que necesitemos de la siguiente forma:
"Cadena1" = "Texto de la Cadena1";
7. En nuestra aplicación, en el momento en el que necesitemos obtener una cadena lo haremos mediante:
NSLocalizedString(@"Cadena1", @"")
Si mantenemos las mismas cadenas en ambos ficheros en y es, cuando nuestra aplicación necesite cargar una cadena con los métodos descritos anteriormente, la cargará del fichero indicado en o es en función del idioma que tenga configurado en su iPhone.

Comentarios recientes
Gracias Javier Me alegro que te haya sido de utilidad.
Muchas gracias!! lo creas o no he buscado en renombrados foros de desarrollo iPhone y nadie lo pone tan claro y sencillo como lo has puesto. De nuevo ¡¡gracias!!
Exactamente coolman, gracias por la observación.
Buen articulo. Quedaría decir que si el idioma por defecto no se encuentra en las Localizable Strings asumirá el archivo de localización English.
Deja un comentario