Application avec localisation
Bonjour,
Je voudrais savoir comment fait-on pour la localisation
J'utilise une combo box pour choisir la langue:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Imports System.Globalization
Imports System.Threading
Imports System.ComponentModel.ComponentResourceManager
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ComboBox1.Items.Add("English")
ComboBox1.Items.Add("Spanish")
ComboBox1.Items.Add("French")
ComboBox1.SelectedIndex = 0
End Sub
Private Sub comboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
If comboBox1.SelectedItem.ToString() = "English" Then
ChangeLanguage("")
ElseIf ComboBox1.SelectedItem.ToString() = "Roumain" Then
ChangeLanguage("ro-RO")
ElseIf ComboBox1.SelectedItem.ToString() = "French" Then
ChangeLanguage("fr-FR")
End If
End Sub |
et pour que le programme adapte les bons strings:
Code:
1 2 3 4 5 6
| Private Sub ChangeLanguage(ByVal lang As String)
For Each c As Control In Me.Controls
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(Form1))
resources.ApplyResources(c, c.Name, New CultureInfo(lang))
Next c
End Sub |
J'ai évidemment mis pour ma forme
que me me manque-t-_il? car il ne se passe rien.
je ne suis pas sûr pour System.ComponentModel.ComponentResourceManager car j'ai du changer ComponentResourceManager en System.ComponentModel.ComponentResourceManager pourtant j'ai importé la librairie