25 avril 2024

Localiser une application WinRT

Est-ce vraiment utile d’expliquer comment localiser son application tellement c’est simple !?

Créer les dossiers

Un clic droit sur l’application dans l’Explorateur de solutions pour créer un dossier nommé par exemple Strings. Sur le même principe je crée autant de dossier que de traduction souhaitée. Ces sous-dossiers ont le nom des « culture » souhaité. Dans mon exemple en (anglais) et fr (français) :

Les fichiers ressources

Nouveau clic droit sur le dossier « fr » puis ajouter un nouvel élément « Fichier de ressources (.resw)« .

Utilisation c#

Il suffit ensuite de mettre dans ce fichier de ressources toutes les chaines de caractères utilisées dans l’application.

using Windows.ApplicationModel.Resources;
var resourceLoader = new ResourceLoader();
MonLibelle.Text = resourceLoader.GetString("MonString1");
Utilisation XAML

Coté XAML on ajoute un identificateur unique via x:Uid :

<TextBlock x:Uid="MainPageTitle" Text="TextBlock" Width="5" />

Et dans le fichier ressources :

Mais c’est pas tout, on peut gérer d’autres propriétés selon les « cultures » :

Les boutons du BottomAppbar

Ajouter l’identificateur x.Uid :

<Button x:Name="Add" x:Uid="abButtonAdd"  HorizontalAlignment="Left" 
          Style="{StaticResource AddAppBarButtonStyle}" Click="Add_Click" />

et dans le fichier ressource, le nom sera abButtonAdd.[using:Windows.UI.Xaml.Automation]AutomationProperties.Name

Dupliquer ensuite le fichier ressource

Il suffit ensuite de faire un copier/coller du fichier de base dans les autres dossiers des différentes « cultures » voulues et ensuite modifier leur contenu :

Propriétés de l’application

Il faut penser aussi à définir, ou pas, la culture par défaut de l’application : Menu [Projet] puis [Propriétés] et dans l’onglet Application il faut cliquer sur le bouton « Information de l’assembly » et dans la liste « Langue neutre » choisir la culture par défaut.

Comment tester

Méthode fun : Aller dans l’interface METRO et taper directement « Langue » puis choisir « Paramètres » dans le menu Charms. Ou plus classiquement aller dans le panneau de configuration depuis le shell classic et choisir « Ajouter une langue » depuis la rubrique « Horloge, Langue et Région » en vue par Catégorie.

Il suffit alors d’ajouter les « cultures » à tester en ajoutant si besoin les langues via le bouton « Ajouter une langue » et de placer en haut la langue pour le test via les autres boutons « Monter » « Descendre » :

Une réflexion sur « Localiser une application WinRT »

  1. Merci pour cet article. 😉
    Je n’ai désormais plus aucune excuse pour ne pas localiser mes applications.

Les commentaires sont fermés.