Zitat von
RWarnecke:
da stellt sich mir die Frage, wie ?
Hier gibt es 3 Alternativen:
* Entweder du deserialisierst diese Daten selber: (würde ich nicht machen, da man so sich erstmal in das Format einarbeiten und auch noch aufpassen muß, wenn sich dieses mal ändert (wie z.B. beim Sprung von D2007 nach D2009)
* Dann könne man den Teil der Item.Data, bzw. die ganze TreeView aus der
DFM extrahieren und diese Daten von einer temporär erstellen TreeView deserialisieren lassen, dann ändert man über den tree die Daten und serialisiert am Ende alles wieder.
* Oder man läßt die komplette Form von der
DFM deserialisieren, welches wohl das Beste ist, da man dann gleich alles über die
VCL bearbeiten kann und ebenfalls auch hier am Ende wieder serialisieren.
Die letzen Beiden haben nur einen Nachteil.
Und zwar, daß man den Lokalisierer möglichst mit der selbe Delphi-Version kompiliert, womit auch diese Form serialisiert wurde.
Aber mal was Anderes, willst du deine Anwendung über eine Fremdanwendung lokalisieren und alles direkt in der EXE umbauen lassen
oder soll dieses zur Laufzeit und womöglich noch mit mehreren integrierten Sprachen passieren?
PS: Ich hatte ja auch noch keinen Lokalisierer gefunden, welcher mit gefällt und probiere seit 'ner ganzen Weile immer mal verschiedene Methoden aus.
> bei meinem
FileSplitter liegen alle Strings und Dialoge (
nonVCL-Formulare) in den Programmresourchen, wobei die Resourcen ja mit Sprachinfos versehen werden, so daß man alle Resourchen mehrfach eingebunden haben kann und sich dann eine passende Sprachversion ausließt.
> und aktuell eim Manifest-Creator wird zur Laufzeit durch die Form interirrt und da über eine
XML ersatzstings gesucht, wärend Strings im Programm ebenfalls aus der
XML ausgelesen werden.
(bei beidem hab ich aber noch nichts, welches erstmal automatisch eine String-/Wortliste aus dem Programm erstellt, so daß man sich die übersetzen Komponenten selber anlegen muß.)
Aber ganz im Ernst, Lingus hab ich irgendwie übersehn ... also k.A. wie das ist.
PS: Hatte Sakura nicht auch einen Lokalisierer?