Important: Veuillez noter que cette page a été traduite avec la traduction automatique de notre article en anglais. Nous nous excusons pour la qualité de la traduction. Vous êtes invités à contribuer avec des corrections.
Merci

Dans cet article, nous verrons comment localiser les applications pour créer une application multilingue pour donner à l’utilisateur la possibilité de changer la langue préférée à l’exécution en utilisant Microsoft Visual C #.

La localisation est le processus de personnalisation de votre application à une langue, une culture ou locale. Dans notre projet de démonstration, nous avons soutenu 3 langues, anglais, français et espagnol. L’utilisateur peut basculer entre l’une de ces 3 langues au moment de l’exécution et l’application se souviendra de la dernière langue sélectionnée lors du démarrage. Cette même méthode peut être utilisée pour soutenir toute autre langue requise du monde.

Démarrer une nouvelle application Windows C #, la nôtre , nous allons le nommer multilingue. Sélectionnez la forme et dans les propriétés, modifier les propriétés du texte à « Application multilingue » comme indiqué sur la figure 1 ci – dessous.

Si vous ne savez pas comment créer un nouveau projet en utilisant Microsoft Visual C #, s’il vous plaît lire cet article avant de continuer:  Création d’ un nouveau projet en C #

Windows Form multilingueFigure 1: Windows Form multilingue

Glissez et déposez les MenuStrip du ToolBox à la forme. Type fichier , dans le sous-menu, le type de langue , sous la langue, le type « anglais « , « Français » et « Español « . Pour changer la langue d’affichage en français, on doit cliquer sur le menu Fichier, puis sous Langue sélectionner Français. De même pour le passage à l’ espagnol, on doit sélectionner Español.

Insertion du menu Fichier

Figure 2: Insertion du menu Fichier

Glissez et déposez deux TexBoxes, trois étiquettes et un bouton a indiqué sur la figure 3 ci-dessous. Nous allons construire une petite interface pour calculer le prix total des articles. Le nombre d’articles sera inhumé dans la première zone de texte et le prix par article dans la deuxième zone de texte. Le bouton Calculer calculera le prix total des articles et afficher les résultats dans le labelDisplay. Si de mauvaises valeurs telles que les valeurs non numériques sont entrées dans les deux TexBoxes, un message Box informera l’utilisateur. Ce sera notre interface de langue par défaut.

Multilingue anglais Interface utilisateurFigure 3: multilingue anglais Interface utilisateur

Voyons maintenant comment nous pouvons créer des fichiers de langue supplémentaires pour cette interface en anglais.

Étape 1:

Dans la fenêtre Propriétés, définissez la propriété Localizable de forme true . Vous verrez la propriété de la langue est déjà définie par défaut.

propriété Localizable de formulaire trueFigure 3: la propriété localisable de formulaire true

Étape 2:

Définissez la propriété Langue de formulaire Français (France) . Modifiez la propriété Text de tous les contrôles et les éléments sur le formulaire à leur équivalent français. Cliquez sur le formulaire et modifiez sa propriété Text de « Application multilingue » à « Application Multilingue ». Sélectionnez chaque contrôle et modifier sa propriété Text, le menu « Fichier » à « Fichier », « Langue » à « Langue », « Exit » pour « Quitteur », « Nombre d’articles » à « Nombre de postes D’articles », « Prix par item » à « article par Prix » et « Calculer » à « Calculer ». Si le besoin de, redimensionner le contrôle pour contenir le nouveau texte.

Sauvegarder  tout, un nouveau fichier de ressources en langue française sera générée ( Form1.fr-FR.resx ) dans la solution Explorer. La figure 4 ci – dessous montre l’interface française.

Interface utilisateur français

Figure 4: Interface utilisateur Français

Étape 3:

Répétez l’ étape 2 pour générer le fichier de ressources en langue espagnole. Form1.es-ES.resx  fichier de ressources sera généré dans la solution Explorer. La figure 5 ci – dessous montre l’interface espagnole.

Interface utilisateur espagnol

Figure 5: Interface utilisateur espagnol

Appuyez sur la touche F5 ou choisissez Démarrer le débogage dans le menu Debug. Notre application se charge en anglais, français ou espagnol selon la langue de l’ interface de votre système d’exploitation .

Remarque: La langue de l’ interface utilisateur utilisée dans Windows est une fonction du réglage de CurrentUICulture . Si votre copie de Windows dispose d’ un pack d’ interface utilisateur multilingue (MUI)installé, vous pouvez changer la langue de l’ interface utilisateur dans le Panneau de configuration. Si vous n’avez pas MUI installé, vous pouvez changer la culture d’interface utilisateur actuelle programme, comme nous allons l’ expliquer suivant

Étape 4:

Créer une variable paramètres pour enregistrer les paramètres utilisateur de langue sélectionnée. Même si nous fermons notre application, la prochaine fois qu’il sera rouverte, l’application chargera la langue préférée sélectionnée par l’utilisateur. Nous allons créer une variable String « Langue » de la portée de l’ utilisateur pour enregistrer nos paramètres de langue. La langue par défaut sera l’anglais américain « en-US« . Clic droit multilingue projet dans la solution Explorer, puis cliquez sur Propriétés pour ouvrir les propriétés du projet. Cliquez sur l’onglet Paramètres et entrez langue dans la section Nom, sélectionnez chaîne dans le type et écrire en États-Unis dans la valeur comme indiqué sur la figure 6 ci – dessous. Pour une liste des valeurs de langue, reportez – vous à la  table des langues Culture noms, les codes et valeurs ISO

ParamètresFigure 6: Paramètres

Dans l’éditeur de code, ajoutez les System.Globalization , System.Threading et System.Resources codes d’espace de noms ci – dessous les codes d’espace de noms autogénérés et le code pour lancer le formulaire avec la valeur par défaut / langue sélectionnée comme indiqué ci – dessous:

Dans le bouton Calculer Cliquez sur l’événement, écrire le code suivant pour calculer le prix total:

Appuyez sur la touche F5 ou choisissez Démarrer le débogage dans le menu Debug. Le projet devrait commencer par la langue par défaut (en-US qui est l’anglais américain). Maintenant, nous allons code nous notre menu de langue pour pouvoir changer la langue au moment de l’exécution.

Étape 5:

Dans le code View, écrire le code de fonction suivante qui sera utilisée pour changer la langue.

En mode Création, double Cliquez sur le sous-menu en anglais et écrire le code suivant:

Appuyez sur la touche F5 ou choisissez Démarrer le débogage dans le menu Debug. Utilisez le menu et changer la langue de votre langue de votre choix, vous remarquerez que la langue ne change pas immédiatement, mais si vous redémarrez votre application, il va changer. Laissez-nous créer un message personnalisé Box pour informer l’utilisateur de redémarrer l’application pour le changement de langue prenne effet. L’autre chose importante est de valider les données d’entrée avant de calculer le prix total. Si un utilisateur entre des données non numériques comme une chaîne par exemple au lieu d’un numéro, notre application ne fonctionne pas, il va se planter. Laissez-nous créer deux boîtes de dialogue pour avertir l’utilisateur.

Étape 6:

Création de deux autres formes, dans le menu Projet, cliquez sur Ajouter un nouvel élément ou à droite Cliquez sur notre projet dans la solution Explorer et sélectionner Ajouter un nouvel élément. Dans la zone Modèles, sélectionnez le Windows Form modèle de fichier. Tapez le nom du fichier « dlgChangeLanguage.cs » dans la zone Nom.

Le fichier est ajouté à votre projet dans l’Explorateur de solutions et ouvre automatiquement. Ajoutez quelques quelques commandes, un PictureBox pour afficher une image d’avertissement, une étiquette pour afficher le message d’avertissement et deux boutons. La forme que la localisation que nous avons appris dans la première étape, traduire les différentes chaînes de commande en français et en espagnol.

Sélectionnez le formulaire, modifiez les propriétés suivantes:

  • Modifiez le AcceptButton à btnYes (le nom de notre bouton Oui)
  • Modifiez le CancelButton à btnNo (le nom de notre No Button)
  • Modifier la ControlBox False
  • Changer le FormBorderStyle à FixedDialog
  • Changer le localisable True
  • Changer le StartPosition à CentreScreen

Répétez l’étape 6 pour créer un autre formulaire pour afficher un message d’erreur si l’utilisateur entre un caractère non valide. Nommez ce nouveau formulaire « dlgErrorMessage.cs ». Ecrire le code suivant dans les txtnoItems et txtPriceItem TextBoxes KeyPress événement:

Appelez le dlgChangeLanguage avant de changer une langue. Si un utilisateur accepte de redémarrer l’application, puis redémarrez l’application. Le code ci – dessous montre comment la langue anglaise peut être sélectionné, faire la même chose pour les autres langues.

Démarrez le formulaire, si vous voulez changer une langue, vous obtiendrez le message d’avertissement comme indiqué sur la figure 7 ci-dessous ou si vous entrez une valeur non valide dans la zone de texte, vous obtiendrez un message d’erreur comme indiqué ci-dessous sur la figure 8.

Changement de message d'avertissement de langue

Figure 7: Changement de message d’avertissement de langue

message d'erreur de valeur non valide affichée en françaisFigure 8: message d’erreur de valeur non valide affichée en français

Vous pouvez télécharger les fichiers de projet complet ci – dessous ici. Tous les fichiers sont compressés, vous aurez besoin de les dézipper ( Télécharger une version gratuite de l’utilitaire Winzip pour décompresser les fichiers ).  

Télécharger multilingue