Trabajar con recursos de aplicaciones en Windows Phone

Lo que vas a crear

En tutoriales anteriores, aprendimos sobre los recursos de la aplicación, el MAT (Multilingual App Toolkit) y cómo probar una aplicación localizada. En este tutorial, no solo resumiremos todo de una manera más fácil, sino que también crearemos una barra de aplicación localizada que puede usar en cualquier parte de su aplicación..

Los desarrolladores a menudo tienen que usar la misma barra de aplicaciones en varias páginas de su proyecto y generalmente terminan copiando y pegando el código XAML y C #, lo que no se recomienda.

En este tutorial, aprenderá cómo usar los recursos de la aplicación y cómo agregar la localización y la globalización a sus aplicaciones. También aprenderá a usar los archivos App.xaml y App.xaml.cs para crear una barra de aplicación localizada que pueda usar en cualquier lugar de su aplicación de Windows Phone..

1. ¿Por qué construir una aplicación localizada??

Los usuarios de Windows Phone no son todos hablantes nativos de inglés. De hecho, solo el 34% de ellos habla inglés. Esto significa que el 66% habla un idioma distinto al inglés y es por eso que es importante crear aplicaciones localizadas.

Una estrategia efectiva para aumentar las descargas de aplicaciones es hacer que su aplicación sea más adecuada para los clientes de Windows Phone que no hablan inglés. Cuantos más idiomas admita su aplicación, más descargas obtendrá y mejores serán las calificaciones de su aplicación. Al admitir francés, alemán, árabe y español, admite aproximadamente el 75% del mercado de Windows Phone..

En este tutorial, estaremos traduciendo todos nuestros recursos de aplicaciones al francés y al árabe. Aquí hay algunos consejos rápidos a tener en cuenta antes de comenzar:

  • Asegúrese de nombrar todos los recursos que utilizará con sentidonombres, porque nos referiremos a los recursos de cadena por su nombre,no su valor. Trate de dar a cada recurso un úniconombre que tiene sentido.
  • Trate de reunir todos sus recursos de cadena en AppResources.resx, incluyendo títulos de botones y mensajes de error.
  • Habilitar soporte multilínea y ajuste de texto en controles.
  • Guarde siempre su trabajo y asegúrese de reconstruir su proyecto a menudo para implementar los cambios que realice en AppResources.resx.

2. Apoyo a la cultura y el idioma

Los formatos de moneda, números, fecha, hora y región difieren de una cultura a otra. Afortunadamente, la CultureInfo La clase cuida estos detalles para cada idioma. En realidad, incluso puede recuperar los datos culturales actuales del teléfono y mostrar su información en una Buzon de mensaje usando una sola línea de código:

MessageBox.Show (CultureInfo.CurrentCulture.Name);

sin embargo, el Inicializar Idioma () funcionar en App.xaml.cs hace el trabajo automáticamente cada vez que se lanza la aplicación y se establece RootFrame.Language basado en el valor de la AppResources.ResourceLanguage recurso. Tenga en cuenta que si su aplicación no admite otro idioma que no sea en-US (Inglés, Estados Unidos), la aplicación usa el valor neutral y predeterminado AppResources.resx archivo del proyecto.

3. Localizando tu aplicación

Paso 1: Agregar recursos y vincular elementos de texto

En este tutorial, construiremos una aplicación de una página que mostrará al usuario algunos dichos antiguos y sabios. Para empezar, en MainPage.xaml, vamos a añadir algunos Bloque de texto elementos sin especificar su contenido agregando las siguientes dos líneas de código en el elemento principal ContentPanelcuadrícula:

 

También realizamos los siguientes cambios en el predeterminado AppResources.resx expediente:

  • cambiando el Titulo de la aplicación valor de cadena
  • añadiendo dos cadenas como se muestra en la siguiente captura de pantalla

Volvamos ahora a MainPage.xaml. Después de agregar las cadenas que necesitaremos en nuestra aplicación, establecemos la Texto propiedad de la Bloque de texto control para especificar el contenidode cada Bloque de texto.

En lugar de mostrar "MI APLICACIÓN" como título, usamos la cadena "Mi aplicación localizada". Podemos lograr esto utilizando un enlace que haga referencia a los recursos de la aplicación, vinculando el valor de la cadena. Para hacer esta referencia, no usaremos el valor de la cadena en sí, sino su atributo(nombre), Titulo de la aplicación.

Text = "Ruta de enlace = LocalizedResources.ApplicationTitle, Source = StaticResource LocalizedStrings"

Cada uno de los dos Bloque de texto Los elementos también tendrán un dicho. Solo usaremos la misma línea de código, reemplazando el Titulo de la aplicación atribuir con el atributo de nuestro dicho. Este es el aspecto que debería tener tu código:

   

Así es como se ve el resultado:

Ahora solo tenemos que añadir otros idiomas y traducir..

Paso 2: Agregar otros idiomas

Para agregar otro idioma, vaya a las propiedades del proyecto haciendo clic derecho en el proyecto en la Explorador de la solución ventana. Asegúrese de acceder a las propiedades del proyecto, no a las propiedades de la solución.


En el Pestaña de aplicación deberías ver el Idiomas soportados sección. Seleccione el idioma que desea admitir. Como se mencionó anteriormente en este tutorial, agregaremos francés y árabe. Como puede ver en la lista, incluso puede seleccionar la cultura según la región, como francés (Francia), francés (Bélgica). Para este tutorial, solo elegiremos el general, ignorando dialecto y región.

Una vez que guarde los cambios, notará que Visual Studio ha generado automáticamente dos nuevos archivos .resx:

  • AppResources.ar.resx para el arabe
  • AppResources.fr.resx para frances

Tenga en cuenta que los archivos recién generados tienen el mismo contenido que AppResources.resx. No debes cambiar los atributos (nombres). Solo necesitas traducir los valores..

3. Usando el kit de herramientas de la aplicación multilingüe

El Kit de herramientas de aplicaciones multilingües es muy útil para traducir recursos de cadena. Está integrado en Visual Studio, proporciona soporte para crear aplicaciones localizadas de Windows y Windows Phone, y ayuda a traducir los recursos de la aplicación. El Kit de herramientas de aplicaciones multilingües facilita la adición de otros idiomas y puede importar y exportar archivos de traducción fácilmente.

Puede descargar el Kit de herramientas de aplicaciones multilingües como una extensión de Visual Studio desde el sitio web para desarrolladores de Microsoft. Después de instalar el kit de herramientas, seleccione Habilitar el kit de herramientas de aplicaciones multilingües desde el Herramientas menú.

Después de habilitar el MAT, Visual Studio genera nuevos .xlf archivos para cada uno de los idiomas compatibles que agregó anteriormente. Esto significa que puede generar traducciones automáticas haciendo clic derecho en un .xlf archivo y elección Generar traducciones automáticas.. También puede modificar los recursos de cadena traducidos en el objetivo etiqueta en todo el .xlf archivos.


4. Cómo probar una aplicación localizada?

Puedes probar una aplicación localizada usando el emulador.

  • Depura tu proyecto y ve a Ajustes del emulador.
  • Navegar a la Idioma pestaña y añadir un nuevo idioma. Es importante no reiniciar su teléfono..
  • Navegar a la Región pestaña y elige tu región.
  • Reinicia el telefono.

Cuando el teléfono se reinicia, Visual Studio puede lanzar un error, perdiendo la conexión con el emulador. Después de reiniciar el teléfono, vuelva a depurar el proyecto. Así es como se ve la aplicación para el árabe:

Ahora que hemos terminado con los recursos de cadena, agregaremos una barra de aplicación localizada a nuestra aplicación.

5. Creando una barra de aplicación localizada

Paso 1: Creando la barra de aplicaciones

En este paso, crearemos una barra de aplicación que podemos usar en cualquier lugar de nuestra aplicación. Para ello, haremos uso de la App.xaml Archivo, en el que definimos los estilos y recursos globales de XAML que se utilizarán en toda la aplicación.

En el Recursos de la aplicación etiqueta en App.xaml, agregamos una barra de aplicación con solo un icono y un elemento de menú. No olvides dar un nombre.a la barra de aplicaciones usando el x: clave atributo para que podamos referenciarlo más tarde.

     

En el RateReview_Click manejador de eventos, usamos una de las tareas del teléfono para llevar a los usuarios a la tienda si desean dejar una revisión o calificar la aplicación. En cuanto a Help_Click controlador de eventos, solo agregamos un código C # para navegar entre las diferentes páginas. Tenga en cuenta que he añadido una nueva página XAML, Acerca deTheApp.xaml, En el que mostramos información sobre nuestra aplicación..

En App.xamls.cs, agregue la siguiente declaración para que podamos beneficiarnos de la clase de tareas telefónicas:

utilizando Microsoft.Phone.Shell;

Cuando el usuario toca el elemento de menú de velocidad y revisión, la aplicación abrirá la tienda en una página donde el usuario puede calificar y / o revisar la aplicación. Usamos un MarketPlaceReviewTask Me gusta esto:

Revisión de MarketplaceReviewTask = nueva MarketplaceReviewTask (); review.Show ();

En cuanto a Help_Click controlador de eventos, el siguiente fragmento de código se encarga de navegar entre las dos páginas:

(Application.Current.RootVisual as PhoneApplicationFrame) .Navigate (new Uri ("/ AboutTheApp.xaml", UriKind.RelativeOrAbsolute)); 

Paso 2: referenciar la barra de aplicaciones

Después de crear la barra de aplicaciones que queremos usar, agregamos una nueva instancia de la barra de aplicaciones usando el siguiente fragmento de código en MainPage.xaml.cs y luego hacemos que se refiera a la de App.xaml.

InitializeComponent (); ApplicationBar = new ApplicationBar (); ApplicationBar = ((ApplicationBar) Application.Current.Resources ["myAppBar"]);

No hemos usado el Recursos de la aplicación en absoluto para construir la barra de aplicaciones, lo que significa que las propiedades del texto ya están establecidas independientemente de la cultura del teléfono. En realidad, no podemos usar enlaces cuando se trata de barras de aplicaciones.

Es por esto que haremos referencia a la barra de aplicaciones que creamos anteriormente en App.xaml.cs y cambie el valor de las cadenas, utilizando un bloque simple de un código justo después de la InitializeComponent () método. Las cuerdas utilizadas también se añaden a AppResources.resx.

// Inicialización estándar de XAML InitializeComponent (); var appBar = App.Current.Resources ["myAppBar"] como ApplicationBar; ((ApplicationBarIconButton) appBar.Buttons [0]). Text = AppResources.AboutAppBarIconText; ((ApplicationBarMenuItem) appBar.MenuItems [0]). Text = AppResources.RateAppBarMenuItemText;

Después de agregar los recursos de cadena, traducirlos y reconstruirel proyecto. Finalmente, añada la información de la Acerca deTheApp.xaml página. Así es como se ve el resultado:

Conclusión

En este tutorial, aprendimos sobre la cultura del teléfono, cómo utilizar los recursos de la aplicación, cómo crear una aplicación localizada y una barra de aplicaciones, y cómo crear una barra de aplicaciones que podamos reutilizar en cualquier parte de nuestra aplicación. También aprendimos cómo hacer una referencia a un valor de cadena en los archivos AppResources usando enlaces.

Y, finalmente, llegamos a conocer la forma en que usamos las tareas del teléfono para ayudar a los usuarios a calificar y revisar la aplicación en la tienda. Siéntase libre de descargar el proyecto de muestra y hacer cualquier pregunta que se te ocurra en los comentarios a continuación..