Préparation de votre application Windows Store en vue de sa commercialisation dans le monde entier

Blog des développeurs d'applications Windows 8

Indications sur la conception d'applications de style Metro pour Windows 8, par l'équipe d'ingénierie de Windows 8

Préparation de votre application Windows Store en vue de sa commercialisation dans le monde entier

  • Comments 0

Vous souhaitez rendre votre nouvelle application accessible dans le monde entier et élargir votre clientèle potentielle ? Avec Windows 8, il est plus simple que jamais de développer une application pouvant être adaptée à différentes langues et différentes cultures. Dans ce billet, je vous explique comment concevoir une application à vocation mondiale, en ne modifiant votre code que très peu, voire pas du tout.

Dans son billet consacré au Kit de ressources pour application multilingue, Sara Thomas a décrit les opportunités qui s'offrent à vous en termes de marchés. En affirmant que vous pouvez accéder à un marché de plus de 4,5 milliards d'utilisateurs et vendre vos applications sur plus de 200 marchés, j'espère qu'elle vous aura donné envie de lire la suite de ce billet !

Scénario

Imaginons que vous développez une application du Windows Store pour tablettes, utilisée dans une agence de location de véhicules. Le loueur et le client utilisent l'application pour afficher une image du véhicule de location, sa description et son emplacement sur le parking. Ils utilisent la tablette en extérieur pour saisir ou vérifier des informations sur le véhicule (kilométrage, par exemple) et faire l'état des lieux. Le client signe le contrat directement sur la tablette.

Application de location de véhicules, affichant des libellés et des commandes en anglais

La même application est utilisée au moment de la restitution du véhicule. L'utilisateur saisit le nouveau kilométrage et entre les éventuels dommages affectant le véhicule. Cette expérience est universelle. Dans le monde entier, des conducteurs louent des véhicules en suivant ce même protocole. Cette application est l'exemple idéal d'application à vocation mondiale, qui vous ouvre de nombreuses opportunités commerciales.

Lors du développement de votre application, vous mettez en œuvre deux processus très proches l'un de l'autre :

  • Globalisation : processus de conception et de développement d'une application, visant à faire fonctionner cette dernière dans plusieurs zones géographiques et dans plusieurs langues.
  • Localisation : processus consistant à adapter votre application (éléments textuels et non textuels) aux attentes linguistiques, culturelles et politiques d'un marché local spécifique.

Globalisation

Voici quelques conseils à prendre en compte dans le cadre de la globalisation de votre application :

  • Concevez une disposition d'application flexible.

Ne concevez pas d'applications composées de formulaires statiques. Les applications du Windows Store prennent en charge des fonctions de disposition qui confèrent de la flexibilité à votre application et qui lui permettent de s'adapter à différentes tailles de texte, dispositions et orientations. Pour obtenir des conseils en la matière, consultez l'article Choix d'une disposition dans le Centre de développement.

Si pour une raison quelconque vous devez absolument utiliser des formulaires statiques, faites en sorte que les champs de texte et les légendes des boutons soient suffisamment grands pour accueillir les traductions. Les traductions sont parfois 40 % plus longues que les chaînes en anglais. Prévoyez en outre une marge verticale suffisante pour les langues utilisant des caractères accentués tels que À ou Ç, et celles qui nécessitent une police plus grande pour être lisibles.

  • Créez du texte et des images faciles à traduire.

Votre application doit pouvoir être traduite facilement dans d'autres langues et d'autres cultures, que vous vous chargiez vous-même de la traduction ou que vous fassiez appel à d'autres personnes.

Quelques conseils à prendre en compte :

    • Évitez les expressions familières et les métaphores propres à une seule langue.
    • Évitez le jargon technique, les abréviations et les acronymes difficiles à traduire.

Si vous décidez d'adopter un ton informel dans votre application ou si elle utilise un jargon propre à certains types de clients, pensez à donner les explications suffisantes à vos traducteurs.

    • Évitez la présence de texte à traduire dans les images.
    • Évitez également les images propres à chaque culture (boîte aux lettres, par exemple) et qui ne sont pas courantes dans le monde entier. Si cela s'avère impossible, fournissez des images localisées (nous en reparlerons ultérieurement).
  • Prenez en compte les différences culturelles.

Les images parfaitement appropriées dans votre culture peuvent s'avérer injurieuses ou équivoques dans d'autres cultures.

Quelques conseils à prendre en compte :

  • Évitez d'utiliser des symboles religieux, des animaux ou des combinaisons de couleurs correspondant à des drapeaux ou à des mouvements politiques.
  • Évitez les cartes qui comportent des frontières nationales ou régionales controversées. Envisagez les nations en tant que « pays/régions ». Ne placez pas un territoire contesté dans une liste intitulée « Pays ».
  • Faites attention lorsque vous utilisez des couleurs pour signifier quelque chose. Les couleurs ont parfois des connotations inattendues dans certaines cultures. Essayez de communiquer des informations par d'autres moyens (taille, forme ou libellé, par exemple), pour que les déficients visuels puissent en profiter.
  • Utilisez des API de globalisation pour exprimer les dates, les heures, les chiffres et les devises dans les formats adéquats.

  • Notre application de location de véhicules affiche la date et l'heure de mise à disposition et de restitution du véhicule. Nous souhaitons les afficher dans la langue et le format adéquat. Faites en sorte que le kilométrage soit mis en forme, en regroupant les chiffres correctement, et veillez à ce que la devise du tarif de location soit affichée correctement.

    Votre application Windows Store peut utiliser des espaces de noms de globalisation pour créer des objets de mise en forme. Ces objets fournissent des chaînes mises en forme, adaptées à la langue de choix de l'utilisateur. Voici un exemple qui utilise JavaScript pour afficher la date du jour, quelle que soit la langue de l'utilisateur :

    JavaScript :

    var dtf = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter
    ("dayofweek day month year");
    var now = new Date();
    var el = document.getElementById('todaysDate');
    el.TextContent = dtf.format(now);

    En C# :

    var dtf = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter
    ("dayofweek day month year");
    DateTime now = DateTime.Now;
    todaysDate.Text = dtf.Format(now); // todaysDate is a XAML TextBlock.

    Pour plus d'informations, voir Démarrage rapide : utilisation de formats globalisés. Examinez également nos exemples de mise en forme :

    Localisation

    Maintenant que vous disposez de toutes les informations dont vous avez besoin pour concevoir une application globalisée, vous pouvez vous concentrer sur le code. Lors du développement de votre application, utilisez la technologie des ressources Windows 8, qui facilitent la localisation.

    Pendant le développement de votre application, ne vous dites pas que vous la localiserez dans une autre langue plus tard, lorsque cela s'avérera nécessaire. En effet, pour que votre application soit localisable, vous devez considérer la première version comme une version localisée dans votre langue de départ. Pour cela, suivez les étapes ci-dessous dès le départ :

    Séparez le code des ressources.

    Lors de l'écriture de votre code, n'incluez pas de chaînes, d'éléments d'affichage et de contrôles codés en dur. Suivez cette règle de façon stricte : ne codez pas en dur le moindre titre, libellé, légende de bouton, légende d'image ni paragraphe ! En séparant complètement le code et les ressources de type chaîne, vous profitez de deux avantages supplémentaires :

    • Vous pouvez localiser les ressources séparément du code. Les traducteurs n'ont pas besoin de compiler votre code et ne risquent donc pas d'introduire des bogues lors de la localisation.
    • Vous pouvez gérer le code séparément du contenu des ressources. Le code peut être modifié dans une seule base de code, ce qui réduit le risque de modification du contenu localisé.

    Dans vos balises, faites référence aux ressources par le biais d'identificateurs de ressources (nous expliquerons comment procéder dans la section suivante). Les chaînes sont récupérées auprès de la ressource adéquate et affichée lors du traitement de la page.

    Dans votre code, chargez les chaînes à l'aide d'identificateurs de ressources, pour récupérer les versions adéquates.

    Écrivez des balises et un code utilisant des ressources.

    HTML et JavaScript

    Je vais maintenant présenter quelques-uns des principaux aspects d'un processus expliqué plus en détail dans le document Démarrage rapide : utilisation de ressources de type chaîne (applications du Windows Store en JavaScript et HTML). Lors de l'écriture du code, utilisez les informations figurant dans ce guide de démarrage rapide.

    Dans Visual Studio, créez un dossier destiné à accueillir les fichiers de ressources. Placez le fichier de ressources de chaque langue dans un sous-dossier portant le nom de la balise de langue au format BCP-47. En général, le fichier de ressources porte quant à lui le nom resources.resjson.

    Par exemple, pour l'anglais des États-Unis, créez le fichier resources.resjson suivant dans un dossier strings/en-US :

    {
    "greeting" : "Hello",
    "_greeting.comment" : "A welcome greeting.",

    "farewell" : "Goodbye",
    "_farewell.comment" : "A goodbye."
    }

    La syntaxe utilisée ici est une syntaxe JSON (JavaScript Object Notation) stricte, dans laquelle vous devez insérer une virgule après chaque paire nom/valeur, sauf après la dernière paire. Dans cet exemple, "greeting" et "farewell" identifient les chaînes de texte affichées. Nous avons également créé "_greeting.comment" et "_farewell.comment" en tant que commentaires de description des chaînes. Les commentaires permettent de communiquer des instructions spécifiques aux traducteurs concernant le style, le ton ou le sens.

    Dans votre code HTML, faites référence aux ressources de type chaîne par le biais d'identificateurs de ressources :

    <h2><span data-win-res="{textContent: 'greeting'}"></span></h2>
    <h2><span data-win-res="{textContent: 'farewell'}"></span></h2>

    En JavaScript, vous pouvez récupérer des chaînes et les insérer comme ceci dans votre code HTML :

    var el = document.getElementById('header');
    var res = WinJS.Resources.getString('greeting');
    el.textContent = res.value;
    el.setAttribute('lang', res.lang);

    XAML et C#/VB/C++

    Voici quelques-uns des points principaux évoqués dans le document Démarrage rapide : utilisation de ressources de type chaîne (applications du Windows Store en C#/VB/C++ et XAML).

    Dans Visual Studio, créez un dossier destiné à accueillir les fichiers de ressources. Placez le fichier de ressources de chaque langue dans un sous-dossier portant le nom de la balise de langue au format BCP-47. En général, le fichier de ressources porte quant à lui le nom Resources.resw.

    Par exemple, pour l'anglais des États-Unis, créez le fichier Resources.resw suivant dans un dossier Strings/en-US :

    Fichier de ressources indiquant le nom, la valeur et le commentaire des chaînes de texte à afficher

    Dans cet exemple, "Greeting.Text" et "Farewell" identifient les chaînes de texte à afficher. L'identificateur "Greeting.Text" inclut la propriété du contrôle XAML qui reçoit la chaîne et "Farewell" identifie une chaîne devant être chargée par le code. Les commentaires permettent de communiquer des instructions spécifiques aux traducteurs concernant le style, le ton ou le sens.

    Dans votre code XAML, faites référence à la ressource de type chaîne par le biais de l'identificateur de ressource et de la propriété :

    <TextBlock x:Uid="Greeting" Text="" />

    En C#, vous pouvez récupérer des chaînes comme ceci :

    var loader = new Windows.ApplicationModel.Resources.ResourceLoader();
    var string = loader.GetString('Farewell');

    Fournissez des images localisées.

    S'il est impossible de créer des images qui ne nécessitent pas de traduction, vous pouvez créer des versions localisées et faire en sorte que le fichier adéquat soit chargé automatiquement par votre application. En pratique, en dehors de la localisation, vous pouvez utiliser la même technologie de ressources pour créer plusieurs versions de vos images, adaptées à différents formats d'affichage, à différents paramètres de contraste et à d'autres types de configurations.

    Vous pouvez par exemple créer votre fichier de logo dans différents formats, différents paramètres de contraste et différentes langues. Affectez alors à vos fichiers des noms significatifs, par exemple :

    • Images\en-Us\logo.scale-100.png
    • Images\en-Us\logo.scale-140.png
    • Images\fr-Fr\logo.scale-100.png
    • Images\fr-Fr\logo.scale-140.png

    Votre application fait simplement référence au fichier Images/logo.png et charge l'image adéquate. Voir Comment nommer des ressources à l'aide de qualificateurs.

    Critères du Windows Store.

    Si vous êtes séduit par la possibilité de proposer votre application sur de nombreux marchés, pour pouvoir commencer à la vendre, vous devez respecter les critères du Windows Store. Pour obtenir des informations détaillées sur la certification des applications et le choix de marchés et de langues, lisez les articles suivants.

      • Langues de certification : langues prises en charge lorsque nous confirmons que votre application respecte les critères de certification. Votre application doit prendre en charge au moins l'une de ces langues.
      • Langues autorisées : langues prises en en charge, mais non utilisées dans le cadre du processus de certification. Votre application peut prendre en charge autant de ces langues que vous le souhaitez, à condition qu'au moins une des langues de certification le soit également.

    Résumé

    Comment se comporte notre application de location de véhicules ? Si nous la développons correctement, toutes ses chaînes de texte et ses images sont contenues dans des ressources. Elle affiche les dates, les heures, les nombres et les devises dans le format adéquat, en fonction de la langue choisie par l'utilisateur. Lorsque nous voulons la localiser pour la proposer sur un marché spécifique, nous ne modifions pas le code : nous ajoutons un nouveau fichier de ressources (que nous traduisons nous-mêmes ou que nous faisons traduire), nous créons de nouveaux fichiers images (si nécessaire), puis nous générons à nouveau l'application.

    Application de location de véhicules en français

    Pour plus d'informations sur les processus décrits dans ce billet, voir

    --Ray Shuman, rédacteur en programmation, Windows Content Services

    Remerciements tout particuliers à Karl Bridge, Rylan Hawkins, Dave Shevitz et Bob Watson pour leur aide et leur participation à ce billet.

    • Loading...
    Leave a Comment
    • Please add 8 and 2 and type the answer here:
    • Post