Sprache wechseln, je nach OS-Einstellung



  • Hallo,
    ich habe ein Programm geschrieben, schön mit Oberfläche, Buttons, Meldungsfenstern etc.
    Nun hab ich die Aufgabe gekriegt, dass alle Texte die enthalten sind die Sprache nach Betriebssystem-Einstellung in der Registry automatisch geändert werden soll.
    Sprich es ist ein englisches OS, dann sollen alle Messagebox-Texte und alle Button-Namen auch englisch sein.
    Es soll aber nur zwischen deutsch und englisch unterschieden werden.
    Ich hab z.b. keine Ahnung welcher Registry-Schlüssel das ist, den ich dafür auslesen muss und vorallem wie ich die Sprachumstellung realisieren soll ?!?
    Kann man das irgendwie mit ner Datenbank machen, wo jetzt die englischen und deutschen Texte drin stehen ?
    Ich fürchte das lohnt sich nicht. sind höchstens 10 verschiedene Texte die da geändert werden sollen....
    Falls Jemand eine Idee hat, bitte gleich Methodennamen und/oder COdebeispiel zu.
    Danke im Voraus!



  • Spracheinstellungen bekommst Du über die WinAPI, z.B. GetSystemDefaultLangID() und GetLocaleInfo().
    Um Texte zu übersetzen, kannst Du Dir was selbst stricken, z.B. mit einer Ini-Datei, oder über die Datenbank
    oder eine DLL erstellen. Letzteres ist der Borland-Weg, über den man hier im Forum auch was finden kann.
    Wir fahren zweigleisig über XML-Dateien und Datenbank.
    Am einfachsten ist wahrscheinlich Ini-Datei; je nach Einstellung eine andere Ini laden und die Texte austauschen.
    Als Schlüssel könntest Du beispielsweise Form-Namen + Komponentennamen verwenden.

    Gruß,

    Alexander


Anmelden zum Antworten