AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrsprachige Ressourcen

Ein Thema von Luckie · begonnen am 30. Aug 2005 · letzter Beitrag vom 6. Sep 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Luckie
Luckie

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

Mehrsprachige Ressourcen

  Alt 30. Aug 2005, 12: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
Benutzerbild von Luckie
Luckie

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

Re: Mehrsprachige Ressourcen

  Alt 1. Sep 2005, 09:38
Ich dachte, hier würde mir jemand eine Antwort zum Geburtstag schenken.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#3

Re: Mehrsprachige Ressourcen

  Alt 1. Sep 2005, 09:52
Ich persönlich hätte den Weg gewählt, dass ich das Programm grundsätzlich nur Englisch schreibe. Als Grundversion. Also, englische Ressourcenstrings, englische Menüs, usw. Delphi bietet doch von Haus aus die Unterstützung mit den Sprachressourcen an. Sprich: Ressourcen-DLL mit der Endung ".de" meinetwegen für deutsche Texte, usw.
Zugegeben, bei meinem Help 2.0-Tool brauchte ich keine Dialogvorlagen und Menüs sondern nur Texte, aber das hat trotzdem wunderbar geklappt, und es war nur eine nonVCL/Konsolen-App.

Ich wüsste also keinen Grund, warum das bei deinem UserManager nicht ähnlich klappen soll. Und dann könntest du bspw. den Quellcode der deutschen Ressourcen-DLL mit englischen Texten veröffentlichen, so dass jeder Interessent eine Version für seine Sprache schreiben und dir schicken kann.

Mach einen String für den Autoren rein, der dann als Übersetzer im Info-Dialog angezeigt wird, und du hast auch den Ansporn für andere Leute, sich da zu betätigen.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Mehrsprachige Ressourcen

  Alt 1. Sep 2005, 10:08
Das Problem ist: Die Ressource ist insgesamt schon automatisch Deutsch, da es die deutsche Version des VC ist. Kopiere ich jetzt die Menü-Ressource und gebe Deutsch als Sprache an, schreibt er das nicht in Klammern dahinter. Und ich will ja erreichen, dass es auf einbem deutschen System Deutsch ist, auf einem englischem und allen anderen Englisch. Eigentlich funktioniert das ja aschon. Nur auf nicht deutschen und nicht englischen System ist es leider Deutsch und nicht die neutrale Sprache, wie ich dachte.

Wenn ich jetzt die erste Sprachen Englisch mache, wie bekomme ich denn die Deutsche hin? Noch mal Deutsch auswählen geht ja nicht.

PS: Ich habe nur die Personal Versionen von Delphi, da ist der Spracheditor nicht dabei.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#5

Re: Mehrsprachige Ressourcen

  Alt 1. Sep 2005, 10:28
Versuch's mit Xxx_INVARIANT statt Xxx_NEUTRAL.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Mehrsprachige Ressourcen

  Alt 1. Sep 2005, 10:32
Was soll für die Xxx stehen? Ich habe nur Neutral, Neutral (Standard) und Neutral (Sys.-Standard) im VC zur Auswahl.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Heffalump

Registriert seit: 3. Aug 2005
278 Beiträge
 
RAD-Studio 2009 Ent
 
#7

Re: Mehrsprachige Ressourcen

  Alt 5. Sep 2005, 22:41
Wie wird denn das Menü überhaupt geladen, mit LoadMenu? Wenn ja dann gebe es noch den Weg mit LoadMenuIndirect. Dieser Funktion kann man eine geladene (Menu) Resource als Menü laden und verwenden, welche mit FindResourceEx, LoadResource (usw.) vorher (nach Sprache) geladen wurde. Vieleicht hilft das.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Mehrsprachige Ressourcen

  Alt 6. Sep 2005, 00:32
Ja es wird geladen, das ist nicht das Problem.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Heffalump

Registriert seit: 3. Aug 2005
278 Beiträge
 
RAD-Studio 2009 Ent
 
#9

Re: Mehrsprachige Ressourcen

  Alt 6. Sep 2005, 00:46
Nun bei mir war das Problem ähnlich. Deswegen nutze ich die Funktion LoadMenu nicht mehr, da sie etweder nicht sprachabhänig bzw. nicht zuverlässog funktioniert. Aber man kann ja festellen welche Sprache das BS verwendet, die passende Resoure laden (nicht mit LoadMenu, sondern mit FindResourceEx (da man hier die zu verwendende Sprache bestimmen kann) und LoadResource. Danach kann man diese Resource mit Hilfe von LoadMenuIndirect als Menu deklarieren und mit SetMenu einem Fenster zuordnen. Vieleicht verstehe ich aber auch Dein Problem nicht.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Mehrsprachige Ressourcen

  Alt 6. Sep 2005, 00:53
Es ist nicht nur das Menü. Es gibt auch noch String Ressourcen usw. Und deswgen wollte ich um eine Abfrage drumrumkommen, weil das dann wieder sehr aufwändig wird.

Das Problem ist, dass er wenn die Sprache weder Deutsch noch Englisch nicht die neutrale Ressource nimmt, sondern die Hauptsprache und das ist deutsch. Jetzt denke ich mir aber es gibt mehr Menschen, die mit Englisch was anfängen könnten als mit Deutsch. Die neutrale Ressource wäre dan nauch Englisch.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz