[Visual Basic 2008] Localization - Taal instellen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een multi-language applicatie.

Hiervoor heb ik mijn form (in dit voorbeeld Form1) op Localizable = True gezet en de language op French gezet. In het frans heb ik ook de labels en de tekst van de tekstboxes aangepast.

Wanneer ik nu de applicatie opstart wil ik het zo in kunnen stellen dat de gebruikers zelf kunnen kiezen in welke taal het form (en de overige) worden getoond. Hiervoor doe/probeer ik bij de formload het volgende:

Visual Basic .NET:
1
2
3
4
5
6
7
8
9
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

           
        Thread.CurrentThread.CurrentUICulture = New CultureInfo("fr-FR")
        Thread.CurrentThread.CurrentCulture = New CultureInfo("fr-FR")

        Me.TextBox2.Text = Now.Date.ToShortDateString

    End Sub


De text in textbox2 wordt nu wel in een ander (frans) formaat getoond, maar de teksten van de labels en overige tekstboxen worden gewoon in de default taal (nederlands) getoond, terwijl ik wel de teksten heb veranderd. Hoe kan ik het nu zo instellen dat dit form in z'n geheel in het frans wordt getoond, zonder mijn taal-instellingen aan te passen in het configuratiescherm? Ik ben hier al een lange tijd naar op zoek/ aan het proberen, maar ik kom maar niet tot een oplossing. Kan iemand mij helpen?

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Form_Load gebeurd te laat, de localisatie is dan al toegepast, en dit moet je dus eerder doen. Voor on the fly (dus achteraf), zie iets als Changing Your Application User Interface Culture On The Fly. Anders eerst kiezen en dan pas de forms maken. ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt, het is opgelost. Ik doe het nu vooraf, achteraf zal ik ook nog een keer bekijken, wel makkelijk om de applicatie niet opnieuw te hoeven starten voor een andere taal. Alleen is dat niet echt noodzakelijk

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 18:13

Damic

Tijd voor Jasmijn thee

Verwijderd schreef op dinsdag 10 augustus 2010 @ 21:39:
Bedankt, het is opgelost. Ik doe het nu vooraf, achteraf zal ik ook nog een keer bekijken, wel makkelijk om de applicatie niet opnieuw te hoeven starten voor een andere taal. Alleen is dat niet echt noodzakelijk
Sorry voor deze necro kick maar hoe heb je het opgelost? Ik had een work around (via een main() sub) maar dan heb ik het probleem dat ik mijn main form niet kan aanspreken vanuit een ander form.
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Imports System.ComponentModel
Imports System.Threading
Imports System.Globalization
Imports Infralution.Localization

Module modLocalization
    Public bUnload As Boolean
    Public LastLanguage As String, OpenFiles As String()

    Public Sub main()
        Application.EnableVisualStyles()
        Application.SetCompatibleTextRenderingDefault(True)
        Do
            bUnload = True
            CultureManager.ApplicationUICulture = New CultureInfo(My.Settings.Lang)
            If LastLanguage = "" Then LastLanguage = My.Settings.Lang
            Application.Run(New frmMain)
        Loop While bUnload = False
    End Sub
End Module

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag