Uno de los secretos para que nuestras aplicaciones sean usadas después de haber sido descargadas consiste en que el usuario entienda el idioma de la misma, el hecho de que en la descripción de tu aplicación digas que soporta mas de un idioma, hace que el alcance se mucho mayor, por lo tanto se ve reflejado en mas descargas y si tienes publicidad en ella, mas entrada de dinero por parte de la publicidad y aquí tienes la manera de como hacer tu aplicación multi-idioma.

Cuando creamos una aplicación nueva Visual Studio nos crea varios archivos para el manejo de la aplicación, uno de ellos es AppResources.resx que se encuentra dentro de la carpeta Resources.

Si abrimos el archivo nos mostrará una pantalla similar a la siguiente.

AppResourcesPara que esto funcione lo que hay que hacer es todos los textos que vamos a usar en la aplicación, ya sea para los botones, etiquetas, mensajes y esas cosas, necesitas agregarlas ahí, le das donde esta el asterisco y agregas un nombre por ejemplo “PruebaIdioma” y en valor le ponemos “Esta es una prueba en Español” después de hacer eso, quedaría de esta forma.

AppResources2Bien, ahora para que funcione hay que irnos al código XAML de MainPage.xaml y en la propiedad Text del primer TextBlock que tenemos hay sustituirlo por

{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}

Esto es para que busque en los recursos el nombre ApplicationTitle y se lo asigne a la propiedad Text del TextBlock si se fijan el Valor con ese nombre es “MI APLICACIÓN“, agregamos un nuevo TextBlock al formulario y y agregamos a su propiedad Text

{Binding Path=LocalizedResources.PruebaIdioma, Source={StaticResource LocalizedStrings}}

Solo que ahora en ves de ApplicationTitle vamos a ponerle PruebaIdioma (es el recurso nuevo que acabamos de agregar)

Nota: Si el diseñador no les muestra el texto en este nuevo TextBlock, solo es cuestión de Re-compilar la Aplicación (pulsar f6) y los cambios se verán reflejados.

Hasta ahorita el codigo XAML debe de ser parecido a este.

XAMLAhora, vamos al explorador de soluciones y sobre el proyecto damos click derecho->Propiedades y nos aparecerá esta ventana.

PropiedadesSeleccionamos el idioma en el que queremos que sea compatible nuestra aplicación, para este ejemplo seleccionaremos Ingles (Estados Unidos) le damos guardar y nos vamos al Explorador de Soluciones en la Carpeta Resources veremos que ya hay un nuevo archivo AppResources.en-US.resx

idiomaAbrimos ese archivo nuevo y nos va a aparecer lo mismo que nos apareció cuando abrimos AppResources.resx, ahora solo es cuestión de cambiar esos letreros en español al Inglés y quedaría algo similar a esto.

AppResources3

 

Bien, con esto está lista la aplicación, la lanzamos y veremos algo así.

cap2Como mi emulador está en español por eso muestra eso, ahora nos salimos de la app, vamos a configuración > idioma y cambiamos el idioma a Inglés(Estados Unidos) mas abajo nos dice que hay que reiniciar el teléfono  le damos ahí y se reinicia, abrimos de nuevo la aplicación y listo, está en inglés🙂

cap1Esto es todo, es algo tedioso cuando son demasiados los textos que hay, pero vale la pena hacerlo si lo que queremos es que nuestra aplicación sea usada por mas gente🙂

Aquí les dejó el código ejemplo funcionando en VS2012 y SDK de WinPho8

https://www.dropbox.com/s/w63a8lt8119um2b/MultiIdioma.rar

Les dejo mi página de Facebook para que le den like y estén informados de todos los post que subo🙂

https://www.facebook.com/pages/ProgramFeels/199922476767497?fref=ts

Saludos.