tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
689
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    399
    Hallo Leute

    Ich möchte eine Anwendung, die mehrsprachig ist, erstellen.

    wie gehe ich da am Besten vor

    Ich habe Zugriff auf eine Eigenschaft in einem Key in der Registry... am Start des Programms möche ich prüfen, welche Sprache gerade eingestellt ist, und je nachdem mein ganzen Controls benennen

    was mache ich da?

    Muss ich für jedes Control eine Funktion aufrufen, die dann den Text abhängig von dem KeyFlag setzt
    Oder geht das irgendwie einfacher?

    Vielen Dank für eure Hilfe
    mfG
    Leitman
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

  2. #2
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.883
    Blog-Einträge
    34
    Hi,

    Jedes Control hat die Properties Localiable und Language. Ist Localiable auf True, wird für jede unter Language gewählte Sprache ein Satellitenassembly erzeugt, die die Spracheabhängigen unterschiede zum "Original" enthält.

    Nachdem du aus der Registry die Informationen der Sprache abgefragt hast, kannst du die CultureInfo neu setzen. Das ganze muss jedoch geschehen, bevor die MEthode InitializeComponent einer Form aufgerufen wird.
    Wird die CultureInfo danach geändert, kannst du mit dem ComponentResourceManager die Properties neu setzen.

    Für weitere Informationen musst du nur mal in der MSDN oder auch einfach nur hier im Forum suchen, gibt schon einige Threads zu dem Thema
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  3. #3
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Du stellst noch bevor Du deine Steuerelemente initialisierst
    • die Thread.CurrentThread.CurrentCulture (Ist zB für die String-Formatierung entsprechend der eingestellten Sprache zuständig)
    • und die Thread.CurrentThread.CurrentUICulture (Legt fest welche Sprache der ResourceManager standardmäßig verwenden soll)
    auf die eingestellte Sprache ein. (zB. new CultureInfo( "en-US" ))
    Danach werden alle Resourcen in der entsprechenden Sprache geladen.
    Wenn Du die Sprache In nachhinein verändern willst, kannst eine Rekursion verwenden und setzt alle nötigen Propertys (idR. Control.Text).

    Kann heute Abend mal eine Demo machen. Bastle gerade an einem ResourcesManager herum, der die möglichen Sprachen aus den Resourcen bestimmt um generell bequemer damit arbeiten zu können.

    Btw. Lokalisierung .resx oder .resources - Komplexe Grundsatzfrage zur Lokalisierung - Thread
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  4. #4
    Avatar von the incredible Leitman
    the incredible Leitman the incredible Leitman ist offline Mitglied Brokat
    Registriert seit
    Jul 2006
    Ort
    ÖSTERREICH
    Beiträge
    399
    kk
    Danke Leute

    Nach dem Start des Programmes möchte ich die Sprache eh nicht ändern,
    d.h. ich muss einfach bevor ich alle Elemente initialisiere Key überprüfen -> CultureInfo setzen -> passt
    Naja, mal schaun ob das echt so easy ist

    Jetzt wo ihr es sagt, fällt mir ein, stimmt, über CultureInfo und so habe ich shcon bereits gelesen... aber ist mir absolut nicht eingefallen >.<

    Danke euch
    mfG
    Leitman
     
    Meine Blogs:
    theIncredibleLeitman.blogspot.com // Tec
    Gamesdev.de // Gamedevelop

    Ein echter Programmierer hat nur natürliche 3 Feinde:
    • Sonnenlicht
    • Frischluft
    • und das unerträgliche Gebrüll der Vögel
    Ownage
    steht für die Fähigkeit einer Person, andere zu ownen, zum Beispiel „Ich habe die totale ownage.“ Gleichzeitig kann es aber auch die positive Qualität einer Sache beschreiben: „Counterstrike owns!“
    (siehe:http://de.wikipedia.org/wiki/Computerspieler-Jargon)

Ähnliche Themen

  1. flexible xml in Flash
    Von Andreas Waldheim im Forum Flash Plattform
    Antworten: 6
    Letzter Beitrag: 27.07.07, 12:40
  2. Flexible breite von DIV´s ?
    Von Liro im Forum CSS
    Antworten: 1
    Letzter Beitrag: 04.07.07, 18:51
  3. Flexible Bildgröße?
    Von tobiaft im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 16.02.06, 12:21
  4. Flexible Risercard?
    Von Gee im Forum Hardware
    Antworten: 5
    Letzter Beitrag: 05.04.04, 12:11
  5. Flexible Homepage?
    Von Daaguru im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 07.10.03, 13:25