Utilisation de ressources d'application sur Windows Phone

Ce que vous allez créer

Dans les tutoriels précédents, nous avons appris à propos des ressources d'application, du MAT (Multilingual App Toolkit) et de la façon de tester une application localisée. Dans ce tutoriel, non seulement nous résumerons le tout plus facilement, mais nous créerons également une barre d’applications localisée que vous pourrez utiliser n’importe où dans votre application..

Les développeurs doivent souvent utiliser la même barre d’applications sur plusieurs pages de leur projet et finissent généralement par copier-coller les codes XAML et C #, ce qui n’est pas recommandé..

Dans ce didacticiel, vous apprendrez à utiliser les ressources des applications et à ajouter la localisation et la mondialisation à vos applications. Vous apprendrez également à utiliser les fichiers App.xaml et App.xaml.cs pour créer une barre d'application localisée que vous pourrez utiliser n'importe où dans votre application Windows Phone..

1. Pourquoi créer une application localisée??

Les utilisateurs de Windows Phone ne parlent pas tous l'anglais. En fait, seulement 34% d’entre eux parlent anglais. Cela signifie que 66% parlent une langue autre que l'anglais et c'est pourquoi il est important de créer des applications localisées..

Une stratégie efficace pour augmenter le nombre de téléchargements d'applications consiste à rendre votre application plus adaptée aux clients Windows Phone qui ne parlent pas anglais. Plus le nombre de langues prises en charge par votre application est élevé, plus le nombre de téléchargements et le classement de votre application sont élevés. En prenant en charge le français, l'allemand, l'arabe et l'espagnol, vous représentez environ 75% du marché Windows Phone..

Dans ce tutoriel, nous allons traduire toutes les ressources de notre application en français et en arabe. Voici quelques conseils à garder à l’esprit avant de commencer:

  • Assurez-vous de nommer toutes les ressources utiles que vous utiliserez.noms, parce que nous ferons référence aux ressources de chaîne par leur nom,pas leur valeur. Essayez de donner à chaque ressource un uniquenom qui fait sens.
  • Essayez de rassembler toutes vos ressources de chaîne dans AppResources.resx, y compris les titres des boutons et les messages d'erreur.
  • Activer la prise en charge multiligne et les contrôles d'habillage de texte.
  • Enregistrez toujours votre travail et assurez-vous de reconstruire votre projet souvent pour implémenter les modifications que vous apportez. AppResources.resx.

2. Soutien culturel et linguistique

Les formats de devise, de nombre, de date, d'heure et de région diffèrent d'une culture à l'autre. Heureusement, le CultureInfo La classe s'occupe de ces détails pour chaque langue. En fait, vous pouvez même récupérer les données culturelles actuelles du téléphone et afficher ses informations dans un répertoire. Messagerie en utilisant une seule ligne de code:

MessageBox.Show (CultureInfo.CurrentCulture.Name);

Cependant, le InitializeLanguage () fonctionner dans App.xaml.cs fait le travail automatiquement chaque fois que l'application est lancée et définit RootFrame.Language basé sur la valeur de la AppResources.ResourceLanguage Ressource. Notez que si votre application ne prend en charge aucune langue autre que en-US (Anglais, États-Unis), l'application utilise le neutre et le défaut AppResources.resx fichier du projet.

3. Localisation de votre application

Étape 1: Ajout de ressources et éléments de texte de liaison

Dans ce didacticiel, nous allons créer une application d'une page qui montrera à l'utilisateur des paroles sages et anciennes. Pour commencer, dans MainPage.xaml, nous ajouterons quelques TextBlock éléments sans spécifier leur contenu en ajoutant les deux lignes de code suivantes dans le code parent ContentPanella grille:

 

Nous apportons également les modifications suivantes à la valeur par défaut AppResources.resx fichier:

  • changer le Titre de l'application valeur de chaîne
  • ajout de deux chaînes comme indiqué dans la capture d'écran suivante

Revenons maintenant à MainPage.xaml. Après avoir ajouté les chaînes dont nous aurons besoin dans notre application, nous définissons la Texte propriété du TextBlock contrôle pour spécifier le contenude chaque TextBlock.

Au lieu d’afficher le titre "MON APPLICATION", nous utilisons la chaîne "Mon application localisée". Nous pouvons accomplir cela en utilisant une liaison qui fait la référence aux ressources de l'application, en liant la valeur de la chaîne. Pour faire cette référence, nous n'utiliserons pas la valeur de chaîne elle-même mais son attribut(prénom), Titre de l'application.

Text = "Binding Path = LocalizedResources.ApplicationTitle, Source = StaticResource LocalizedStrings"

Chacun des deux TextBlock les éléments auront aussi un dicton. Nous allons simplement utiliser la même ligne de code, en remplaçant le Titre de l'application attribuer avec l'attribut de notre dicton. Voici à quoi votre code devrait ressembler:

   

Voici à quoi ressemble le résultat:

Il ne nous reste plus qu'à ajouter d'autres langues et à traduire.

Étape 2: Ajout d'autres langues

Pour ajouter une autre langue, accédez aux propriétés du projet en cliquant dessus avec le bouton droit de la souris. Explorateur de solution la fenêtre. Assurez-vous d'accéder aux propriétés du projet, pas aux propriétés de la solution..


dans le Onglet Application vous devriez voir le Langues prises en charge section. Sélectionnez la langue que vous souhaitez prendre en charge. Comme mentionné précédemment dans ce didacticiel, nous ajouterons le français et l'arabe. Comme vous pouvez le voir dans la liste, vous pouvez même sélectionner la culture en fonction de la région, telle que le français (France), le français (Belgique). Pour ce tutoriel, nous allons choisir le plus général, en ignorant le dialecte et la région..

Une fois que vous avez enregistré les modifications, vous remarquerez que Visual Studio a généré automatiquement deux nouveaux fichiers .resx:

  • AppResources.ar.resx pour l'arabe
  • AppResources.fr.resx pour le français

Notez que les fichiers nouvellement générés ont le même contenu que AppResources.resx. Vous ne devriez pas changer les attributs (noms). Il suffit de traduire les valeurs.

3. Utilisation de la boîte à outils des applications multilingues

La boîte à outils des applications multilingues est très utile pour la traduction des ressources de chaîne. Intégré à Visual Studio, il prend en charge la création d'applications Windows et Windows Phone localisées et facilite la traduction des ressources des applications. Le Multilingual App Toolkit facilite l’ajout d’autres langues et vous permet d’importer et d’exporter facilement des fichiers de traduction..

Vous pouvez télécharger le Multilingual App Toolkit en tant qu’extension Visual Studio à partir du site Web du développeur de Microsoft. Après avoir installé le toolkit, sélectionnez Activer la boîte à outils des applications multilingues du Outils menu.

Après avoir activé MAT, Visual Studio génère de nouvelles .xlf des fichiers pour chacune des langues prises en charge que vous avez ajoutées précédemment. Cela signifie que vous pouvez générer des traductions automatiques en cliquant avec le bouton droit de la souris sur un élément. .xlf déposer et choisir Générer des traductions automatiques. Vous pouvez également modifier les ressources de chaîne traduites dans le répertoire. cible tag dans tous les .xlf des dossiers.


4. Comment tester une application localisée?

Vous pouvez tester une application localisée à l'aide de l'émulateur..

  • Déboguer votre projet et aller à Paramètres de l'émulateur.
  • Accédez au La langue onglet et ajouter une nouvelle langue. Il est important de ne pas redémarrer votre téléphone.
  • Accédez au Région onglet et choisissez votre région.
  • Redémarrer le téléphone.

Lorsque le téléphone redémarre, Visual Studio peut générer une erreur en perdant la connexion avec l'émulateur. Après avoir redémarré le téléphone, déboguez à nouveau le projet. Voici à quoi ressemble l'application pour l'arabe:

Maintenant que nous en avons terminé avec les ressources de chaîne, nous allons ajouter une barre d'application localisée à notre application..

5. Créer une barre d'application localisée

Étape 1: Création de la barre d'application

Dans cette étape, nous allons créer une barre d’application que nous pourrons utiliser n’importe où dans notre application. Pour ce faire, nous allons utiliser le App.xaml fichier, dans lequel nous définissons des styles et des ressources XAML globaux qui seront utilisés dans l'application.

dans le Ressources d'application faire App.xaml, nous ajoutons une barre d'application avec uniquement une icône et un élément de menu. N'oubliez pas de donner un nomà la barre d’application en utilisant le x: clé attribuer afin que nous puissions le référencer plus tard.

     

dans le RateReview_Click gestionnaire d'événements, nous utilisons l'une des tâches du téléphone pour diriger les utilisateurs vers le magasin s'ils souhaitent laisser un avis ou donner une note à l'application. En ce qui concerne la Help_Click gestionnaire d'événements, nous venons d'ajouter du code C # pour naviguer entre les différentes pages. Notez que j'ai ajouté une nouvelle page XAML, À propos de TheApp.xaml, dans lequel nous montrons des informations sur notre application.

Dans App.xamls.cs, ajoutez la déclaration suivante afin que nous puissions tirer parti de la classe des tâches téléphoniques:

using Microsoft.Phone.Shell;

Lorsque l'utilisateur appuie sur l'élément de menu évaluer et réviser, l'application ouvre la boutique sur une page sur laquelle l'utilisateur peut évaluer et / ou examiner l'application. Nous utilisons un MarketPlaceReviewTask comme ça:

Avis MarketplaceReviewTask = new MarketplaceReviewTask (); review.Show ();

En ce qui concerne la Help_Click gestionnaire d’événements, l’extrait de code suivant permet de naviguer entre les deux pages:

(Application.Current.RootVisual en tant que PhoneApplicationFrame) .Navigate (nouvel Uri ("/ AboutTheApp.xaml", UriKind.RelativeOrAbsolute)); 

Étape 2: Référence à la barre d'application

Après avoir créé la barre d'application que nous souhaitons utiliser, nous ajoutons une nouvelle instance de la barre d'application à l'aide de l'extrait de code ci-dessous dans MainPage.xaml.cs et ensuite nous le faisons référence à celui de App.xaml.

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

Nous n'avons pas utilisé le AppResources du tout pour la construction de la barre d’application, ce qui signifie que les propriétés du texte sont déjà définies indépendamment de la culture du téléphone. En fait, nous ne pouvons pas vraiment utiliser les liaisons lorsque nous traitons des barres d'application.

C’est pourquoi nous référencerons la barre d’application créée précédemment dans App.xaml.cs et changer la valeur des chaînes, en utilisant un simple bloc de code juste après la InitializeComponent () méthode. Les chaînes utilisées sont également ajoutées à AppResources.resx.

// Initialisation XAML standard InitializeComponent (); var appBar = App.Current.Resources ["myAppBar"] en tant que ApplicationBar; ((ApplicationBarIconButton) appBar.Buttons [0]). Text = AppResources.AboutAppBarIconText; ((ApplicationBarMenuItem) appBar.MenuItems [0]). Text = AppResources.RateAppBarMenuItemText;

Après avoir ajouté les ressources de chaîne, traduisez-les et reconstruisez-les.le projet. Enfin, ajoutez les informations du À propos de TheApp.xaml page. Voici à quoi ressemble le résultat:

Conclusion

Dans ce tutoriel, nous avons appris la culture du téléphone, comment utiliser les ressources d'application, comment créer une application localisée et une barre d'application, et comment créer une barre d'application que nous pouvons réutiliser n'importe où dans notre application. Nous avons également appris à faire référence à une valeur de chaîne dans les fichiers AppResources à l'aide de liaisons..

Enfin, nous avons appris à utiliser les tâches du téléphone pour aider les utilisateurs à évaluer et à consulter l'application dans le magasin. N'hésitez pas à télécharger l'exemple de projet et à poser toutes les questions qui vous traversent l'esprit dans les commentaires ci-dessous..