Partager via


Comment localiser les contrôles WinJS (HTML)

[ Cet article est destiné aux développeurs Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]

Localisez les libellés et les icônes de vos contrôles WinJS avec le reste du contenu de votre application.

Prérequis

Localisation des propriétés

Les contrôles WinJS peuvent avoir des attributs qui doivent être localisés, tels que :

  • libellés et icônes des commandes de la barre de l’application ;
  • libellés des options de menu ;
  • libellés des boutons bascules dans les menus volants Paramètres ;
  • libellés ARIA utilisés pour l’accessibilité.

Ajoutez des identificateurs de ressource pour le balisage de vos contrôles WinJS afin de faire référence aux chaînes localisées.

Dans l’exemple de barre de l’application ci-dessous, un attribut data-win-res est ajouté à chaque commande de la barre de l’application avec ce modèle :

data-win-res="{winControl: {propertyName1:'resourceID1',propertyName2:'resourceID2'}}"

Chaque propertyName correspond à l’une des propriétés du contrôle (telles que le libellé ou le titre), et resourceID fait référence à l’identificateur de ressource de la chaîne à charger à partir des fichiers ressources. Voir l’exemple de strings/en-US/resources.resjson, ci-dessous.

Dans le code JavaScript qui accompagne ce balisage, la fonction WinJS.Resources.processAll doit être appelée lorsque le code HTML est chargé pour remplacer les attributs et les propriétés de chaque attribut data-win-res par les chaînes ressources.

Exemple de barre de l’application

Cet exemple montre comment localiser des chaînes de commande sur une barre de l’application.

<div data-win-control="WinJS.UI.AppBar" data-win-options="">
<button data-win-control="WinJS.UI.AppBarCommand" 
     data-win-res="{winControl: {label:'command1Label',tooltip:'command1Tooltip'}}"
     data-win-options="{id:'cmdCommand1',icon:'add',section:'global'}">
</button>
<button data-win-control="WinJS.UI.AppBarCommand"
     data-win-res="{winControl: {label:'command2Label',tooltip:'command2Tooltip'}}"
     data-win-options="{id:'cmdCommand2',icon:'remove',section:'global'}">
</button>
</div>
(function () {

    "use strict";
    var page = WinJS.UI.Pages.define("/html/localize-appbar.html", {
    ready: function (element, options) {
        // Load resources.
        loadResources();
        // Enable listener so they get updated when user changes language selection.
        WinJS.Resources.addEventListener("contextchanged", loadResources);
    }
});

// Handle loading of resources.
function loadResources() {
    WinJS.Resources.processAll();
}

})();

Fichiers ressources

strings/en-US/resources.resjson

{
    "command1Label"            : "en-US Command1",
    "command1Tooltip"          : "en-US Command1 Tooltip",

    "command2Label"            : "en-US Command2",
    "command2Tooltip"          : "en-US Command2 Tooltip"
}

strings/fr-FR/resources.resjson

{
    "command1Label"            : "fr-FR Command1",
    "command1Tooltip"          : "fr-FR Command1 Tooltip",

    "command2Label"            : "fr-FR Command2",
    "command2Tooltip"          : "fr-FR Command2 Tooltip"
}

strings/de-DE/resources.resjson

{
    "command1Label"            : "de-DE Command1",
    "command1Tooltip"          : "de-DE Command1 Tooltip",

    "command2Label"            : "de-DE Command2",
    "command2Tooltip"          : "de-DE Command2 Tooltip"
}

Exemple de menu

Ce balisage montre comment localiser un contrôle menu. Des fichiers JavaScript et de ressources semblables à l’exemple de barre de l’application sont également requis.

<div id="headerMenu" data-win-control="WinJS.UI.Menu">
    <button data-win-control="WinJS.UI.MenuCommand" 
        data-win-res="{winControl: {label:'item1Label'}}" 
        data-win-options="{id:'firstMenuItem'}">
    </button>
    <button data-win-control="WinJS.UI.MenuCommand" 
        data-win-res="{winControl: {label:'item2Label'}}" 
        data-win-options="{id:'secondMenuItem'}">
    </button>
    <hr data-win-control="WinJS.UI.MenuCommand" 
        data-win-options="{id:'separator',type:'separator'}" />
    <button data-win-control="WinJS.UI.MenuCommand" 
        data-win-res="{winControl: {label:'itemNLabel'}}" 
        data-win-options="{id:'lastMenuItem'}">
    </button>
</div>

Exemple de bouton bascule

Ce balisage montre comment localiser un contrôle ToggleSwitch. Des fichiers JavaScript et de ressources semblables à l’exemple de barre de l’application sont également requis.

<div data-win-control="WinJS.UI.ToggleSwitch" 
    data-win-res="{winControl: {labelOn:'switch1LabelOn',labelOff:'switch1LabelOff',
    title:'switch1Title'}}"
    data-win-options="">
</div>

Rubriques associées

Exemple de contrôle AppBar HTML

Exemple de contrôle menu volant HTML

Exemple de contrôle ToggleSwitch HTML