Localizing ClickOnce Applications

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

La localisation consiste à adapter votre application à une culture spécifique. Ce processus implique la traduction du texte de l'IU (interface utilisateur) dans une langue propre à la région, en utilisant la mise en forme appropriée de date et de devise, en ajustant la taille des contrôles sur un formulaire et en mettant en miroir les contrôles de droite à gauche, si nécessaire.

La localisation de votre application implique la création d'un ou plusieurs assemblys satellites. Chaque assembly contient des chaînes IU, des images et d'autres ressources spécifiques d'une culture donnée. (Le fichier exécutable principal de votre application contient les chaînes de la culture par défaut pour votre application.)

Cette rubrique décrit trois façons de déployer une application ClickOnce pour d'autres cultures :

  • Inclure tous les assemblys satellites dans un déploiement unique.

  • Générer un seul déploiement pour chaque culture, avec un seul assembly satellite chacune.

  • Télécharger les assemblys satellites à la demande.

Au lieu de publier plusieurs déploiements ClickOnce, vous pouvez publier un seul déploiement ClickOnce qui contient tous les assemblys satellites.

Cette méthode est utilisée par défaut dans Visual Studio. Pour utiliser cette méthode dans Visual Studio, vous n'avez aucune autre tâche à effectuer.

Pour utiliser cette méthode avec MageUI.exe, vous devez définir la culture de votre application avec la valeur neutre dans MageUI.exe. Ensuite, vous devez inclure manuellement tous les assemblys satellites dans votre déploiement. Dans MageUI.exe, vous pouvez ajouter les assemblys satellites à l'aide du bouton Populate sous l'onglet Files du manifeste de votre application.

L'avantage de cette approche est de créer un déploiement unique et de simplifier votre histoire de déploiement localisé. Au moment de l'exécution, l'assembly satellite approprié est utilisé, en fonction de la culture par défaut du système d'exploitation Windows de l'utilisateur. L'inconvénient de cette approche est le téléchargement de tous les assemblys satellites chaque fois que l'application est installée ou mise à jour sur un ordinateur client. Si votre application comporte un grand nombre de chaînes ou que vos clients disposent d'une connexion réseau lente, ce processus peut affecter les performances pendant la mise à jour de l'application.

System_CAPS_ICON_note.jpg Remarque

Cette approche suppose que votre application ajuste automatiquement la hauteur, la largeur et la position des contrôles pour s'adapter aux différentes tailles des chaînes de texte des différentes cultures. Windows Forms contient plusieurs contrôles et technologies qui vous permettent de concevoir votre formulaire de sorte à ce qu'il soit facilement localisable, y compris les contrôles FlowLayoutPanel et TableLayoutPanel ainsi que la propriété AutoSize. Consultez également Procédure : prise en charge de la localisation dans les Windows Forms à l'aide du redimensionnement automatique et du contrôle TableLayoutPanel

Dans cette stratégie de déploiement, vous générez plusieurs déploiements. Dans chaque déploiement, vous incluez uniquement l'assembly satellite nécessaire pour une culture spécifique, et vous marquez le déploiement comme étant spécifique de cette culture.

Pour utiliser cette méthode dans Visual Studio, définissez la propriété Langue de publication sous l'onglet Publier avec la valeur de la région souhaitée. Visual Studio inclut automatiquement l'assembly satellite requis pour la région que vous sélectionnez et exclut tous les autres assemblys satellites du déploiement.

Vous pouvez obtenir le même résultat avec l'outil MageUI.exe dans le Kit de développement logiciel Windows de Microsoft. Utilisez le bouton Populate sous l'onglet Files du manifeste de votre application pour exclure tous les autres assemblys satellites du répertoire de l'application, puis définissez le champ Culture sous l'onglet Name de votre manifeste de déploiement dans MageUI.exe. Ces étapes n'incluent pas seulement l'assembly satellite correct, elles définissent également l'attribut language de l'élément assemblyIdentity dans votre manifeste de déploiement avec la valeur de la culture correspondante.

Après la publication de l'application, vous devez répéter cette étape pour chaque culture supplémentaire que votre application prend en charge. Vous devez vous assurer que vous publiez chaque fois vers un autre répertoire de serveur web ou répertoire de partage de fichiers, car chaque manifeste d'application référence un assembly satellite différent et chaque manifeste de déploiement a une valeur différente pour l'attribut language.

Si vous décidez d'inclure tous les assemblys satellites dans un déploiement unique, vous pouvez améliorer les performances à l'aide du téléchargement à la demande, qui vous permet de marquer des assemblys comme étant facultatifs. Les assemblys marqués ne sont pas téléchargés quand l'application est installée ou mise à jour. Vous pouvez installer les assemblys quand vous en avez besoin en appelant la méthode DownloadFileGroup sur la classe ApplicationDeployment.

Le téléchargement d'assemblys satellites à la demande diffère légèrement du téléchargement d'autres types d'assemblys à la demande. Pour plus d'informations et pour obtenir des exemples de code illustrant la mise en place de ce scénario à l'aide des outils du SDK Windows pour ClickOnce, consultez Walkthrough: Downloading Satellite Assemblies on Demand with the ClickOnce Deployment API.

Vous pouvez également mettre en place ce scénario dans Visual Studio. Consultez également Procédure pas à pas : téléchargement d'assemblys satellites à la demande avec l'API de déploiement ClickOnce à l'aide du concepteur ou Procédure pas à pas : téléchargement d'assemblys satellites à la demande avec l'API de déploiement ClickOnce à l'aide du concepteur.

Un assembly satellite est utilisé pour une application Windows Forms uniquement si la propriété CurrentUICulture pour le thread principal de l'application est définie avec la valeur de la culture de l'assembly satellite. Les clients des marchés locaux ont probablement déjà exécuté une version localisée de Windows avec une culture définie avec la valeur par défaut appropriée.

Vous avez trois options pour tester les déploiements localisés avant de mettre votre application à la disposition des clients :

  • Vous pouvez exécuter votre application ClickOnce sur les versions localisées de Windows appropriées.

  • Vous pouvez définir la propriété CurrentUICulture par programmation dans votre application. (Cette propriété doit être définie avant d'appeler la méthode Run.)

<assemblyIdentity> Element
ClickOnce Security and Deployment
Globalisation des Windows Forms

Afficher: