Subscribe Twitter Twitter

lunes, 13 de septiembre de 2010

Multiidioma (I)

En esta primera parte vamos a explicar como hacer que nuestras aplicaciones sean multiidioma. En primer lugar decir que cuando hacemos una aplicación multiidioma no es necesario si no queremos hacerlo en todos los idiomas de los mercados en los que pongamos nuestra app en el caso en el cual el idioma del dispositivo no esté contemplado en la aplicación cogerá por defecto el inglés.

1. Crear un fichero de tipo Strings file el cual será nuestro fichero de recursos.

Lo vamos a crear en la carpeta de Resources y para ello haremos botón derecho sobre la carpeta de Resources,  Add - New File y seleccionados debajo de MAC OS X la opción Resources y dentro de está en la parte derecha elegimos el fichero de tipo Strings File  y lo llamaremos Localizable.strings (hay que llamarlo así).



2. Ahora ya tenemos un fichero de recursos pero nosotros necesitamos tener varios idiomas,para ello lo que haremos será "crear diferentes versiones" de este fichero de recursos.

Botón derecho sobre el fichero Localizable.strings, Get info y en la pestaña General haremos click sobre el botón Make File Localizable



3. Volvemos a la pestaña general y ahora tenemos una pantalla con una caja de texto en la que pone solo English que este será el idioma por defecto.

4. Para añadir más idiomas, hacer clic en Add Localization y en función del idioma que queramos pondremos el código iso del idioma, otra opción es seleccionar del combo el idioma que queramos o escribirle tal cual, yo recomiendo poner el código iso. Una vez añadidos los deseados cerramos la pantalla.




Listado de los códigos de los idiomas aquí
5. Ahora verás que ha aparecido una flechita a la izda del fichero, si le damos se despliega y como  ves hay una versión del fichero Localizable.strings por cada idioma que hayamos añadido.


El formato de las diferentes versiones del fichero Localizable.string será el siguiente:

(hacemos clic sobre la versión "es"):
En el español:

"Saludo" = "Hola";
"Boton" = "Botón";

(hacemos clic sobre la versión "English")
En el de inglés:

"Saludo" = "Hello";
"Boton" = "Button";


Como has podido ver estos ficheros de recursos son listados de pares clave-valor (ambos cadenas de texto).

Importante:  A pesar de ser cadenas de texto no van precedidas de @

6. Para obtener el texto correspondiente a la clave "Saludo" lo haremos de la siguiente manera:

NSLocalizedStrings(@"Saludo",@"");

EJEMPLO:

Para asignar el valor a una label:   etiqueta.text =NSLocalizedString(@"Saludo",@"");

Para asignar el texto de un botón: [miBoton setTitle:NSLocalizedString(@"Boton",@"")forState:0];


Tenemos preparado un tutorial con esto, debido a los problemas con el audio no se escucha en youtube. Por lo tanto en cuanto se resuelva dicho problema pondremos el video.

15 comentarios:

Anónimo dijo...

Ya se os echaba de menos! :)

Está muy bien el tutorial, y me lo anoto para cuando avance un poco más la aplicación que tengo en mente (primero que funcione, y luego ya la hacemos multiidioma ^^).

Me gustaría pediros también a ver si podéis dar unas nociones básicas de estructuras de datos en Objective-C (Arrays, Diccionarios y demás), que los que venimos de Java (List, Set y Map) estamos muy muy desorientados...

Noemí dijo...

Hola patoroco oki lo anotamos :)

Unknown dijo...

Hola Noemí, soy seguidor habitual de tu blog, me parece muy interesante.
El motivo de contactar contigo es que en mi empresa estamos buscando un colaborador que domine la programación de aplicaciones para iPad e iPhone para un importante proyecto. Nos gustaría cambiar impresiones contigo. Como podemos contactar? Gracias

Noemí dijo...

Hola Theo me puedes mandar un correo a pynsoftware@gmail.com

Pablo dijo...

Que poquito actualizais ya...

Noemí dijo...

En breve más Pablo :)

KPD dijo...

Ha muerto esta pagina¿?

Noemí dijo...

No ;)

KPD dijo...

Ok, pues seguiremos atentos...
Volveis pronto?

Rixar dijo...

He leido por los foros que los videotutoriales los colgais el Itunes, me puedes poner el enlace.

Saludos.

Noemí dijo...

Hola Rixar de momento están youtube y en vimeo en itunes todavía no.
Un saludo

Nelson dijo...

Hola Noemí, eres soltera?

Unknown dijo...

El blog me parece interesantisimo, enhorabuena por él! por favor, no dejeis de publicar! ;) saludos!

Noemí dijo...

Hola hObbeS, gracias por tu comentario, hay un nuevo post de Pablo y la verdad es que es muy interesante :)

Unknown dijo...

Estamos buscando colaboradores/as para nuestro Blog, sería una publicación semanal. Eres el perfil que estamos buscando, contacta con nosotros para más información www.rincondelcomecocos.com

Publicar un comentario