Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La localisation est le processus permettant de rendre votre application appropriée pour une culture spécifique. Ce processus implique la traduction du texte de l’interface utilisateur vers une langue spécifique à une région, en utilisant une mise en forme de date et de devise correcte, 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 entraîne la création d'une ou plusieurs assemblies satellites. Chaque assembly contient des chaînes d’interface utilisateur, des images et d’autres ressources spécifiques à 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 :
Incluez tous les assemblages satellites dans un seul déploiement.
Générez un déploiement pour chaque culture, avec un seul assembly satellite inclus dans chacun.
Téléchargez des assemblages satellites à la demande.
Inclusion de tous les assemblys satellites dans un déploiement
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 la valeur par défaut dans Visual Studio. Pour utiliser cette méthode dans Visual Studio, vous n’avez pas à effectuer de travail supplémentaire.
Pour utiliser cette méthode avec MageUI.exe, vous devez définir la culture pour que votre application soit 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 Remplir sous l’onglet Fichiers de votre manifeste d’application.
L’avantage de cette approche est qu’elle crée un déploiement unique et simplifie votre récit de déploiement localisé. Au moment de l’exécution, l’assembly satellite approprié sera 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 qu’elle télécharge tous les assemblys satellites chaque fois que l’application est installée ou mise à jour sur un ordinateur client. Si votre application a un grand nombre de chaînes ou si vos clients disposent d’une connexion réseau lente, ce processus peut affecter les performances pendant la mise à jour de l’application.
Note
Cette approche suppose que votre application ajuste automatiquement la hauteur, la largeur et la position des contrôles pour prendre en charge différentes tailles de chaîne de texte dans différentes cultures. Windows Forms contient un large éventail de contrôles et de technologies qui vous permettent de concevoir votre formulaire pour le rendre facilement localisable, y compris les contrôles FlowLayoutPanel et TableLayoutPanel ainsi que la propriété AutoSize. Découvrez également comment : prendre en charge la localisation sur windows forms à l’aide de la fonctionnalité AutoSize et du contrôle TableLayoutPanel.
Générer un déploiement pour chaque culture
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 donnée, et vous indiquez que le déploiement est spécifique à cette culture.
Pour utiliser cette méthode dans Visual Studio, définissez la propriété Publish Language sous l’onglet Publier sur 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.
Note
Dans ClickOnce pour .NET Core 3.1 et .NET 5 ou version ultérieure, vous définissez les propriétés de déploiement à l’aide de l’outil Publier au lieu de l’Assistant Publication et de la page Publier du Concepteur de projets. Pour plus d’informations, consultez Déployer une application Windows .NET à l’aide de ClickOnce et ClickOnce pour .NET.
Vous pouvez accomplir la même chose à l’aide de l’outil MageUI.exe dans le Kit de développement logiciel Microsoft Windows (SDK). Utilisez le bouton Remplir sous l’onglet Fichiers de votre manifeste d’application pour exclure tous les autres assemblys satellites du répertoire de l’application, puis définissez le champ Culture sous l’onglet Nom de votre manifeste de déploiement dans MageUI.exe. Ces étapes incluent non seulement l’assembly satellite correct, mais elles définissent également l’attribut du composant language dans l’élément assemblyIdentity de votre manifeste de déploiement sur la culture correspondante.
Après avoir publié l’application, vous devez répéter cette étape pour chaque culture supplémentaire prise en charge par votre application. Vous devez vous assurer que vous publiez dans un répertoire de serveur web ou un répertoire de partage de fichiers différent chaque fois, car chaque manifeste d’application référence un assembly satellite différent, et chaque manifeste de déploiement aura une valeur différente pour l’attribut language .
Télécharger les assemblies satellites à la demande
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, ce qui vous permet de marquer les assemblys comme facultatifs. Les assemblys marqués ne seront pas téléchargés lorsque l’application est installée ou mise à jour. Vous pouvez installer les assemblys quand vous en avez besoin en appelant la DownloadFileGroup méthode sur la ApplicationDeployment classe.
Note
La classe ApplicationDeployment et les API de l’espace de noms System.Deployment.Application ne sont pas prises en charge dans .NET Core et .NET 5 et les versions ultérieures. Dans .NET 7, une nouvelle méthode d’accès aux propriétés de déploiement d’application est prise en charge. Pour plus d’informations, consultez les propriétés de déploiement Access ClickOnce dans .NET. .NET 7 ne prend pas en charge l’équivalent des méthodes ApplicationDeployment.
Le téléchargement à la demande des assemblies satellites diffère légèrement de celui des autres types d'assemblies à la demande. Pour plus d’informations et des exemples de code sur l’activation de ce scénario à l’aide des outils du Kit de développement logiciel (SDK) Windows pour ClickOnce, consultez la procédure pas à pas : téléchargement d’assemblys satellites à la demande avec l’API de déploiement ClickOnce.
Vous pouvez également activer ce scénario dans Visual Studio. Pour plus d’informations, consultez procédure détaillée : téléchargement d’assemblies satellites à la demande avec l’API de déploiement ClickOnce à l’aide du concepteur.
Test des applications ClickOnce localisées avant le déploiement
Un assembly satellite sera utilisé pour une application Windows Forms uniquement si la propriété CurrentUICulture du thread principal de l'application est définie sur la culture de l'assembly satellite. Les clients des marchés locaux exécuteront probablement déjà une version localisée de Windows avec leur culture définie sur la valeur par défaut appropriée.
Vous avez trois options pour tester les déploiements localisés avant de rendre votre application disponible pour les clients :
Vous pouvez exécuter votre application ClickOnce sur les versions localisées appropriées de Windows.
Vous pouvez définir la CurrentUICulture propriété par programmation dans votre application. (Cette propriété doit être définie avant d’appeler la Run méthode.)