HisTech Up

Internationaliser son application Windows Phone – Pourquoi et Comment ?

Introduction

user

Christian Hissibini

I am a Tech enthusiast who loves to blend Dev & Design on Web and Mobile Platforms. I am also a Windows Platform Dev MVP


LATEST POSTS

Xamarin: Stratégie de partage de code pour iOS et OS X 10th April, 2016

Walkthrough: Data Binding for UWP – Part 3 – Compiled Binding 31st March, 2016

Windows Phone

Internationaliser son application Windows Phone – Pourquoi et Comment ?

Posted on .

Généralement, quand on se lance dans un projet de création d’application, que l’on parte d’une idée de génie ou d’une idée complètement loufoque, on espère secrètement que celle-ci devienne « The Next Big Thing ».

Objectif de Mission : « The Next Big Thing »

Il s’agit ici de séduire le maximum d’utilisateurs… A ce propos, la plateforme Windows Phone nous offre la possibilité de rendre notre application disponible dans le monde entier ou de ne la restreindre qu’à certains pays.

Mais pour garantir un taux de téléchargements et d’adoptions efficients, l’application se doit d’être conviviale et cela passe par la considération du public visé, de la culture, de la zone géographique et de la langue d’interface; d’où la pratique de l’internationalisation.

C’est quoi Internationaliser une application ?

Vous l’avez sans doute déjà deviné, internationaliser une application c’est l’adapter à d’autres langues, marchés, cultures et régions.
Ici deux notions sont essentielles : Globalisation et Localisation.

La Globalisation permet à l’application, pendant son fonctionnement, de considérer les paramètres de culture de l’utilisateur (format d’affichage de date, monnaie, etc.).

La Localisation quant à elle permet à l’application de considérer la langue et les paramètres régionaux de l’utilisateur. Elle consiste entre autre à la traduction de texte, au choix de police (fonte), au sens de lecture, au choix des visuels adéquats, etc.

Maintenant que nous avons meilleure connaissance du sujet, rappelons quelques avantages de l’internationalisation, histoire d’encourager les plus sceptiques.

 

Quels sont les avantages de l’internationalisation ?

  • L’expérience utilisateur est de loin meilleure.
  • Elle permet de toucher un public plus important (on parle ici du monde entier).
  • On récolte forcément beaucoup plus de téléchargements.
  • Le taux d’adoption de l’application est beaucoup plus élevé.
  • Etc.

Bref tout tourne autour de l’argument « The Next Big Thing » :). Tout ceci a forcément un impact positif sur les ventes dans les différents marchés et génère plus de trafic au sein de l’application.

Convaincu ? Allons donc voir comment préparer notre application pour qu’elle soit prête pour la conquête du monde.

 

Comment préparer son application pour le marché international ?

Intégrer la logique de l’internationalisation dès la phase de conception est très avantageux, mais même si vous partez d’un projet existant, soyez sans crainte car grâce à l’infrastructure .NET, l’intégration est super simple à mettre en œuvre. La globalisation et à la localisation deviennent vite un jeu d’enfant.

1 – Globalisation d’une application Windows phone

Comme nous l’avons dit tantôt, la globalisation permet à l’utilisateur de retrouver un environnement culturel qui lui est familier.
Pour ce faire, nous avons recours à la classe CultureInfo. Celle-ci contient déjà les langues adéquates et les codes de pays. Par exemple, en-US pour anglais-Etats Unis ou fr-CA pour français-Canada (qui est différent de fr-FR pour français-France). L’instance est prête à être utilisée pour tous le formatage de chaînes locales (devise, date et heure).

Exemple : Modification de la culture courante grâce à CultureInfo

String cul; 

cul = "fr-CA";

CultureInfo newCulture = new CultureInfo(cul); 

Thread.CurrentThread.CurrentCulture = newCulture;

Thread.CurrentThread.CurrentUICulture = newCulture;

 

Le site Web de MSDN propose dans sa documentation un tutoriel intitulé “How to build a globalized app for Windows Phone”.
Vous y retrouverez les différents usages dont on a recourt dans la globalisation d’une application et aussi, un exemple d’application globalisée est disponible en téléchargement.

2 – Localisation d’une application Windows Phone

Note : Dans ce contexte, localisation signifie adaptation à un groupe linguistique… Donc, aucun lien avec le positionnement GPS…

Ici aussi la plateforme nous simplifie les choses, car lorsque nous créons un nouveau projet Windows Phone, un dossier de ressources (Resources) est automatiquement ajouté à la solution. Ce dossier contient un fichier appelé AppResources.resx. Ce fichier contient les chaînes traduisibles.

Visual Studio - Explorateur de solution - AppResources

AppResources.resx dans l’explorateur de solutions Visual Studio

Normalement, lorsqu’on clique sur ce fichier, un éditeur de ressources s’ouvre.

Éditeur de ressources - Visual Studio

Éditeur de ressources – Visual Studio

Comme nous le constatons, par défaut, ce fichier intègre des entrées telles queResourceLanguage (qui représente la langue par défaut), ResourceFlowDirection (qui détermine le sens directionnel pour la lecture).

Comment ajouter une nouvelle entrée au fichier de ressources ?

Pour ajouter une nouvelle entrée, il suffit de cliquer sur une nouvelle ligne et ajouter le nom et la valeur. Il n’y a pas plus simple non!?

Bon, une petite illustration ne fera que grand bien

Éditeur de ressources - Visual Studio

Éditeur de ressources – Visual Studio

A présent que nous savons ajouter de nouvelles entrées dans le fichier de ressources, voyons comment faire pour que notre code vienne lire ces entrées.

Comment lier le code aux entrées du fichier de ressources ?

Cette liaison se fait aisément au niveau du XAML.

En effet, il suffit de remplacer le texte codé en dur entre les guillemets des attributs par le nom attribué à la ressource correspondante.

Un exemple vaut mieux qu’un long discours :

Supposons que nous voulons intégrer cette citation « If you lie to the compiler, it will get its revenge.» de Henry Spencer qui devra être traduite plus tard.

Sans localisation nous avons :

profile

Christian Hissibini

I am a Tech enthusiast who loves to blend Dev & Design on Web and Mobile Platforms. I am also a Windows Platform Dev MVP

There are no comments.

Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

View Comments (0) ...
Navigation