Localiser des applications ClickOnceLocalize ClickOnce applications

La localisation consiste à adapter votre application à une culture spécifique.Localization is the process of making your application appropriate for a specific culture. 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.This process involves translating user interface (UI) text to a region-specific language, using correct date and currency formatting, adjusting the size of controls on a form, and mirroring controls from right to left if necessary.

La localisation de votre application implique la création d'un ou plusieurs assemblys satellites.Localizing your application results in the creation of one or more satellite assemblies. Chaque assembly contient des chaînes IU, des images et d'autres ressources spécifiques d'une culture donnée.Each assembly contains UI strings, images, and other resources specific to a given culture. (Le fichier exécutable principal de votre application contient les chaînes de la culture par défaut pour votre application.)(Your application's main executable file contains the strings for the default culture for your application.)

Cette rubrique décrit trois façons de déployer une application ClickOnceClickOnce pour d'autres cultures :This topic describes three ways to deploy a ClickOnceClickOnce application for other cultures:

  • Inclure tous les assemblys satellites dans un déploiement unique.Include all satellite assemblies in a single deployment.

  • Générer un seul déploiement pour chaque culture, avec un seul assembly satellite chacune.Generate one deployment for each culture, with a single satellite assembly included in each.

  • Télécharger les assemblys satellites à la demande.Download satellite assemblies on demand.

Ajout de tous les assemblys satellites dans un déploiementIncluding All Satellite Assemblies in a Deployment

Au lieu de publier plusieurs déploiements ClickOnceClickOnce, vous pouvez publier un seul déploiement ClickOnceClickOnce qui contient tous les assemblys satellites.Instead of publishing multiple ClickOnceClickOnce deployments, you can publish a single ClickOnceClickOnce deployment that contains all of the satellite assemblies.

Cette méthode est utilisée par défaut dans Visual StudioVisual Studio.This method is the default in Visual StudioVisual Studio. Pour utiliser cette méthode dans Visual StudioVisual Studio, vous n'avez aucune autre tâche à effectuer.To use this method in Visual StudioVisual Studio, you do not have to do any additional work.

Pour utiliser cette méthode avec MageUI.exe, vous devez définir la culture pour votre application à neutre dans MageUI.exe.To use this method with MageUI.exe, you must set the culture for your application to neutral in MageUI.exe. Ensuite, vous devez inclure manuellement tous les assemblys satellites dans votre déploiement.Next, you must manually include all of the satellite assemblies in your deployment. Dans MageUI.exe, vous pouvez ajouter les assemblys satellites en utilisant le Populate bouton sur le fichiers onglet de votre manifeste d’application.In MageUI.exe, you can add the satellite assemblies by using the Populate button on the Files tab of your application manifest.

L'avantage de cette approche est de créer un déploiement unique et de simplifier votre histoire de déploiement localisé.The benefit of this approach is that it creates a single deployment and simplifies your localized deployment story. 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.At run time, the appropriate satellite assembly will be used, depending on the default culture of the user's Windows operating system. 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.A drawback of this approach is that it downloads all satellite assemblies whenever the application is installed or updated on a client computer. 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.If your application has a large number of strings, or your customers have a slow network connection, this process can affect performance during application update.

Note

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.This approach assumes that your application adjusts the height, width, and position of controls automatically to accommodate different text string sizes in different 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.Windows Forms contains a variety of controls and technologies that enable you to design your form to make it easily localizable, including the FlowLayoutPanel and TableLayoutPanel controls as well as the AutoSize property. Consultez également Comment : prendre en charge la localisation sur des formulaires Windows à l’aide du redimensionnement automatique et le contrôle TableLayoutPanel.Also see How to: Support localization on Windows forms using AutoSize and the TableLayoutPanel control.

Générer un déploiement pour chaque cultureGenerate one deployment for each culture

Dans cette stratégie de déploiement, vous générez plusieurs déploiements.In this deployment strategy, you generate multiple deployments. 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.In each deployment, you include only the satellite assembly needed for a specific culture, and you mark the deployment as specific to that culture.

Pour utiliser cette méthode dans Visual StudioVisual Studio, définissez le Publish Language propriété sur le publier onglet à la région souhaitée.To use this method in Visual StudioVisual Studio, set the Publish Language property on the Publish tab to the desired region. Visual StudioVisual 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.will automatically include the satellite assembly required for the region you select, and will exclude all other satellite assemblies from the deployment.

Vous pouvez accomplir la même chose en utilisant le MageUI.exe outil dans Microsoft Kit de développement logiciel WindowsWindows Software Development Kit (SDK).You can accomplish the same thing by using the MageUI.exe tool in the Microsoft Kit de développement logiciel WindowsWindows Software Development Kit (SDK). Utilisez le Populate bouton sur le fichiers onglet de votre manifeste d’application pour exclure tous les autres assemblys satellites à partir du répertoire de l’application, puis définissez le Culturechamp sur le nom onglet manifeste de déploiement dans MageUI.exe.Use the Populate button on the Files tab of your application manifest to exclude all other satellite assemblies from the application directory, and then set the Culture field on the Name tab for your deployment manifest in 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.These steps not only include the correct satellite assembly, but they also set the language attribute on the assemblyIdentity element in your deployment manifest to the corresponding culture.

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.After publishing the application, you must repeat this step for each additional culture your application supports. Vous devez vous assurer que vous publiez vers un autre répertoire de serveur Web ou un répertoire de partage de fichier chaque fois, car chaque manifeste d’application référencera un assembly satellite différent et chaque manifeste de déploiement aura une valeur différente pour le languageattribut.You must make sure that you publish to a different Web server directory or file share directory every time, because each application manifest will reference a different satellite assembly, and each deployment manifest will have a different value for the languageattribute.

Télécharger des assemblys satellites à la demandeDownload satellite assemblies on demand

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.If you decide to include all satellite assemblies in a single deployment, you can improve performance by using on-demand downloading, which enables you to mark assemblies as optional. Les assemblys marqués ne sont pas téléchargés quand l'application est installée ou mise à jour.The marked assemblies will not be downloaded when the application is installed or updated. Vous pouvez installer les assemblys quand vous en avez besoin en appelant la méthode DownloadFileGroup sur la classe ApplicationDeployment.You can install the assemblies when you need them by calling the DownloadFileGroup method on the ApplicationDeployment class.

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.Downloading satellite assemblies on demand differs slightly from downloading other types of assemblies on demand. Pour plus d’exemples de code et des informations sur la façon d’activer ce scénario à l’aide de la SDK WindowsWindows SDK tools pour ClickOnceClickOnce, consultez procédure pas à pas : téléchargement d’assemblys satellites à la demande avec l’API de déploiement ClickOnce.For more information and code examples on how to enable this scenario using the SDK WindowsWindows SDK tools for ClickOnceClickOnce, see Walkthrough: Downloading Satellite Assemblies on Demand with the ClickOnce Deployment API.

Vous pouvez également mettre en place ce scénario dans Visual StudioVisual Studio.You can also enable this scenario in Visual StudioVisual 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.Also see Walkthrough: Downloading Satellite Assemblies on Demand with the ClickOnce Deployment API Using the Designer or Walkthrough: Downloading Satellite Assemblies on Demand with the ClickOnce Deployment API Using the Designer.

Test des applications ClickOnce localisées avant le déploiementTesting localized ClickOnce applications before deployment

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.A satellite assembly will be used for a Windows Forms application only if the CurrentUICulture property for the main thread of the application is set to the satellite assembly's culture. 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.Customers in local markets will probably already be running a localized version of Windows with their culture set to the appropriate default.

Vous avez trois options pour tester les déploiements localisés avant de mettre votre application à la disposition des clients :You have three options for testing localized deployments before you make your application available to customers:

  • Vous pouvez exécuter votre application ClickOnceClickOnce sur les versions localisées de Windows appropriées.You can run your ClickOnceClickOnce application on the appropriate localized versions of Windows.

  • Vous pouvez définir la propriété CurrentUICulture par programmation dans votre application.You can set the CurrentUICulture property programmatically in your application. (Cette propriété doit être définie avant d'appeler la méthode Run.)(This property must be set before you call the Run method.)

Voir aussiSee also

<assemblyIdentity > élément <assemblyIdentity> element
Sécurité et déploiement ClickOnce ClickOnce security and deployment
Globaliser les formulaires WindowsGlobalize Windows forms