Thema: Delphi Mehrsprachige Ressourcen

Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Mehrsprachige Ressourcen

  Alt 30. Aug 2005, 13:31
Ich in gerade dabei meinen Usermanager mehrsprachig zu machen. Dafür benutze ich mehrsprachige Ressourcen. Dann kann zwar nur ich Übersetzungen hinzufügen, aber das ist erstmal egal. Im Ressourcen-Editor stellt sich das jetzt folgendermaßen dar:
Code:
Menu
  101
  101 [Englisch (USA)]
  101 [Neutral (Standard)]
Die erste Menü-Ressource, bei der nichts steht, ist deutsch.

Jetzt hatte ich mir das so gedacht: Wenn das System englisch ist, soll er die englische Ressource nehmen, bei einem deutschen System die erste, ohne Angabe, und bei allen anderen Sprachen, die Neutrale. So weit der Gedanke.

Getestet habe ich das folgendermaßen:
SetThreadLocale(DWORD(Word(SORT_DEFAULT) shl 16) or DWORD(Word(LANG_ENGLISH))); Setze ich so die Sprache auf Englisch, nimmt er auch das englische Menü. Lasse ich diese Zeile weg, nimmt der das deutsche. So weit, so gut. Mache ich aber
SetThreadLocale(DWORD(Word(SORT_DEFAULT) shl 16) or DWORD(Word(SUBLANG_FRENCH))); setze die Sprache also auf französisch, nimmt er wieder das deutsche Menü und nicht, wie von mir beabsichtigt, das neutrale.

Bei der ersten Menü-Ressource kann ich übrigens nicht explizit Deutsch angeben. Im Eigenschaftsdialog steht zwar 'Deutsch' eingetragen, wird aber nicht angezeigt, wie bei den anderen Menü-Ressourcen.

Was muss ich also machen in der Ressource, damit das so funktioniert, wie ich mir das vorstelle? Denn dafür ist so was ja gedacht oder? Ich will möglichst eine Abfrage im Code vermeiden. Wenn denn mal mehr Sprachen hinzukommen sollten, wäre das eine Katastrophe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat