Partager via


Procédure pas à pas : localisation d'une application hybride

Mise à jour : novembre 2007

Cette procédure pas à pas vous explique comment localiser des éléments WPF dans une application hybride basée sur Windows Forms.

Cette procédure pas à pas illustre les tâches suivantes :

  • Création du projet hôte Windows Forms.

  • Ajout de contenu localisable.

  • Activation de la localisation.

  • Assignation des identificateurs de ressource.

  • Utilisation de l'outil LocBaml pour produire un assembly satellite.

Pour une liste complète du code correspondant aux tâches illustrées dans cette procédure pas à pas, consultez Localisation d'une application hybride, exemple.

Lorsque vous aurez terminé, vous disposerez d'une application hybride localisée.

Remarque   Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

Composants requis

Les composants suivants sont nécessaires pour exécuter cette procédure pas à pas :

  • Visual Studio 2008.

Création du projet hôte Windows Forms

La première étape consiste à créer le projet d'application Windows Forms et à ajouter un élément WPF avec du contenu que vous localiserez.

Pour créer le projet hôte

  1. Créez un projet Application WPF nommé LocalizingWpfInWf. Pour plus d'informations, consultez Comment : créer un projet d'application Windows.

  2. Ajoutez au projet un élément UserControlWPF appelé SimpleControl.

  3. Utilisez le contrôle ElementHost pour placer un élément SimpleControl sur le formulaire. Pour plus d'informations, consultez Procédure pas à pas : hébergement d'un contrôle composite Windows Presentation Foundation dans les Windows Forms.

Ajout de contenu localisable

Vous allez ensuite ajouter un contrôle de type étiquette Windows Forms et affecter une chaîne localisable au contenu de l'élément WPF.

Pour ajouter du contenu localisable

  1. Dans l'Explorateur de solutions, double-cliquez sur SimpleControl.xaml afin de l'ouvrir dans le Concepteur WPF.

  2. Affectez le contenu du contrôle Button à l'aide du code suivant.

  3. Dans l'Explorateur de solutions, double-cliquez sur Form1 afin de l'ouvrir dans le Concepteur Windows Forms.

  4. Ouvrez la Boîte à outils et double-cliquez sur Label pour ajouter un contrôle de type étiquette au formulaire. Affectez "Hello" à la valeur de sa propriété Text.

  5. Appuyez sur F5 pour générer et exécuter l'application.

    L'élément SimpleControl ainsi que le contrôle de type étiquette affichent le texte "Hello".

Activation de la localisation

Le Concepteur Windows Forms fournit des paramètres pour activer la localisation dans un assembly satellite.

Pour activer la localisation

  1. Dans l'Explorateur de solutions, double-cliquez sur Form1.cs afin de l'ouvrir dans le Concepteur Windows Forms.

  2. Dans la fenêtre Propriétés, affectez la valeur true à la propriété Localizable du formulaire.

  3. Dans la fenêtre Propriétés, affectez Espagnol (Espagne) à la valeur de la propriété Language.

  4. Dans le Concepteur Windows Forms, sélectionnez le contrôle de type étiquette.

  5. Dans la fenêtre Propriétés affectez "Hola" à la valeur de la propriété Text.

    Un nouveau fichier de ressources nommé Form1.es-ES.resx est ajouté au projet.

  6. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Form1.cs, puis cliquez sur Afficher le code pour l'ouvrir dans l'éditeur de code.

  7. Copiez le code suivant dans le constructeur Form1, précédant l'appel à InitializeComponent.

  8. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur LocalizingWpfInWf, puis cliquez sur Décharger le projet.

    Le nom du projet est alors étiqueté (non disponible).

  9. Cliquez avec le bouton droit sur LocalizingWpfInWf, puis cliquez sur Modifier LocalizingWpfInWf.csproj.

    Le fichier projet s'ouvre dans l'éditeur de code.

  10. Copiez la ligne suivante dans le premier PropertyGroup du fichier projet.

    <UICulture>en-US</UICulture> 
    
  11. Enregistrez et fermez le fichier projet.

  12. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur LocalizingWpfInWf, puis cliquez sur Recharger le projet.

Assignation des identificateurs de ressource

Vous pouvez mapper votre contenu localisable à des assemblys de ressources en utilisant des identificateurs de ressource. L'application MsBuild.exe assigne automatiquement des identificateurs de ressource lorsque vous spécifiez l'option updateuid.

Pour assigner des identificateurs de ressource

  1. Ouvrez l'invite de commandes Visual Studio à partir du menu Démarrer.

  2. Utilisez la commande suivante pour assigner des identificateurs de ressource à votre contenu localisable.

    msbuild /t:updateuid LocalizingWpfInWf.csproj
    
  3. Dans l'Explorateur de solutions, double-cliquez sur SimpleControl.xaml afin de l'ouvrir dans l'éditeur de code. Vous verrez que la commande msbuild a ajouté l'attribut Uid à tous les éléments. Ceci facilite la localisation par l'assignation d'identificateurs de ressource.

  4. Appuyez sur F6 pour générer la solution.

Utilisation de LocBaml pour produire un assembly satellite

Votre contenu localisé est stocké dans un assembly satellite consacré uniquement aux ressources. Utilisez l'outil de ligne de commande LocBaml.exe pour produire un assembly localisé pour votre contenu WPF.

Pour produire un assembly satellite

  1. Copiez LocBaml.exe dans le dossier obj\Debug de votre projet. Pour plus d'informations, consultez Comment : localiser une application.

  2. Dans la fenêtre d'invite de commandes, utilisez la commande suivante pour extraire les chaînes de ressources dans un fichier temporaire.

    LocBaml /parse LocalizingWpfInWf.g.en-US.resources /out:temp.csv
    
  3. Ouvrez le fichier temp.csv avec Visual Studio ou un autre éditeur de texte. Remplacez la chaîne "Hello" avec sa traduction en espagnol, "Hola".

  4. Enregistrez le fichier temp.csv.

  5. Utilisez la commande suivante pour générer le fichier de ressources localisé.

    LocBaml /generate /trans:temp.csv LocalizingWpfInWf.g.en-US.resources /out:. /cul:es-ES
    

    Le fichier LocalizingWpfInWf.g.es-ES.resources est créé dans le dossier obj\Debug.

  6. Utilisez la commande suivante pour générer l'assembly satellite localisé.

    Al.exe /out:LocalizingWpfInWf.resources.dll /culture:es-ES /embed:LocalizingWpfInWf.Form1.es-ES.resources /embed:LocalizingWpfInWf.g.es-ES.resources
    

    Le fichier LocalizingWpfInWf.resources.dll est créé dans le dossier obj\Debug.

  7. Copiez le fichier LocalizingWpfInWf.resources.dll file dans le dossier bin\Debug\es-ES du projet. Remplacez le fichier existant.

  8. Exécutez LocalizingWpfInWf.exe, qui est situé dans le dossier bin\Debug de votre projet. Ne générez pas à nouveau l'application ou l'assembly satellite sera écrasé.

    L'application affiche les chaînes localisées à la place des chaînes en anglais.

Voir aussi

Tâches

Procédure pas à pas : localisation de Windows Forms

Concepts

Comment : localiser une application

Référence

ElementHost

WindowsFormsHost

Autres ressources

Concepteur WPF

Rubriques Comment relatives à la migration et à l'interopérabilité