Bonjour,
Pour la localisation des chaines de caractères de votre code vous pouvez utiliser les fichiers de ressources :
Voici un exemple partant du principe que le language neutre est le francais et que vous voulez une traduction en anglais.
1) Les chaines du language neutre
Dans le menu Projet -> Propriétés de MonProjet. Dans l'onglet "Ressources" vous créez les variables qui vont êtres utilisées dans le code (Colonne "Nom") ainsi que leurs traductions francaises (Colonne "Valeur")
Exemple :
StrBonjour | Bonjour
StrOui | Oui
StrNon | Non
StrMonNom | Mon nom est {0}
2) Les chaines en anglais
Ajoutez un nouveau fichier de ressources à votre projet nommé "Ressources.en-US.resx".
Créez les mêmes variables que précédement avec, cette fois, leurs traductions anglais.
Exemple :
StrBonjour | Hello
StrOui | Yes
StrNon | No
StrMonNom | My name is {0}
3) Dans le code source
Code Visual Basic :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| 'Messages dans le language neutre
Console.WriteLine("StrBonjour 1 = " & My.Resources.StrBonjour)
Console.WriteLine("StrOui 2 = " & My.Resources.StrOui)
Console.WriteLine("StrNon 3 = " & My.Resources.StrNon)
Console.WriteLine("StrMonNom 4 = " & String.Format(My.Resources.StrMonNom, "Toto"))
'Changement de la langue en anglais
Dim enCult As New System.Globalization.CultureInfo("en-US")
Threading.Thread.CurrentThread.CurrentCulture = enCult
Threading.Thread.CurrentThread.CurrentUICulture = enCult
'Messages en anglais
Console.WriteLine("StrBonjour 1 = " & My.Resources.StrBonjour)
Console.WriteLine("StrOui 2 = " & My.Resources.StrOui)
Console.WriteLine("StrNon 3 = " & My.Resources.StrNon)
Console.WriteLine("StrMonNom 4 = " & String.Format(My.Resources.StrMonNom, "Toto")) |
Partager