Frage zum Ressourcen-DLL-Experten
-
Hi Leute!
Kann mir jemand weiterhelfen, ich habe ein vorhandenes "deutsches" Programm und soll dieses nun mehrsprachig machen, zunächst genügt es mal in Englisch, später sollen dann noch Spanisch, Italienisch usw. dazukommen.
Ich hab also wie in der Borland Hilfe beschrieben die Ressourcen erzeugt und hab nun Projekt.ENG, und Projekt.DEU sowie Projekt.exe in der Projektverwaltungsansicht.
Wie muss ich nun weiter vorgehen um das ganze mehrsprachig zu machen?
Kann mir jemand weiterhelfen? Auf was sollte ich dabei achten? Gibt es dann die möglichkeit dass ich die Sprache die ich angezeigt haben will auswählen kann oder geht das automatisch über die Systemsprache?
Danke im Voraus,
Tom
-
Hat keine/r eine Idee dazu, die mir weiterhelfen könnte?
-
Hallo
ich habe vor längerem mal mit dieser Variante gearbeitet. Soweit ich mich erinnern kann hast du in den einzelnen Sprach-Projekten nun die Möglichkeit die entsprechenden Texte zu übersetzen. Bist du damit fertig must du nur das Original-Projekt nochmal neu zu übersetzen und hast nun in dem Ergbenis die neuen Sprachen. Die Auswahl basiert auf der ausgewählten Systemsprache.
bis bald
akari
-
das heißt also ich muss "nur" alle Strings die jetzt in den einzelnen Sprach Projekten sind auf die gewünschte Sprache ändern?
Was hast du damit genau gemeint:
Bist du damit fertig must du nur das Original-Projekt nochmal neu zu übersetzen und hast nun in dem Ergbenis die neuen Sprachen.
mfg
-
Hallo
das heißt also ich muss "nur" alle Strings die jetzt in den einzelnen Sprach Projekten sind auf die gewünschte Sprache ändern?
Ja alles was durch die Sprachen geändert werden muß.
Was hast du damit genau gemeint:
Bist du damit fertig must du nur das Original-Projekt nochmal neu zu übersetzen und hast nun in dem Ergbenis die neuen Sprachen.Ändere die sprachrelevanten Sachen und dann kompilierst du alle Projekte nochmal vollständig Projekt/Alle Projekte erzeugen. Danach ist die neue exe fertig.
bis bald
akari
-
super, danke!
mfg
Tom
-
Hi,
jetzt hab ich nochmal ne Frage,
für die Forms haut das ja super hin, nur wie bekomm ich die ganzen Strings aus dem Projekt raus, wo kopier ich die am besten hin und wie lese ich dann je nach ausgewählter Sprache den richtigen String ein?
Hat dafür auch jemand ne Idee?
mfg
-
Es ist zwar aufwendig, aber funktioniert sehr gut.
Jeden String musst du dir als Resource definieren.
Den kann du dann im Translationmanager, genauso wie die Formulare, entsprechend übersetzenIm Quelltext ...
extern PACKAGE System::ResourceString _res_Program_Not_OK; #define Guimessages_res_Program_Not_OK System::LoadResourceString(&Guimessages::_res_Program_Not_OK) ..... if (!FSystem->ProgramOK) { MessageFormular->ShowMessage(mtMsgNotification, Guimessages_res_Program_Not_OK); erg = -1; return; }In einer Pascal Unit GUIMessages.pas :
unit GUIMessages; interface resourcestring res_Program_Not_OK = 'To execute this action, it is necessary to load a valid pleat program.'; Implementation begin end.
-
ok, danke soweit mal.
Wie sieht dass eigentlich aus, wenn man nachträglich noch Forms einfügt oder im Quellcode was verändert? Werden diese Änderungen für die Ressourcen übernommen oder muss man dann alles von neuem machen?
mfg
-
Unter C++ Builder 6 "Projekt - Sprachen - Resourcen DLLs aktualisieren" werden alle Änderungen erkannt und hinzugefügt.
Im Translation Manager erkennst du dann die Änderungen und musst diese entsprechend anpassen.
Keine Angst, das bis dahin übersetzte bleibt erhalten, wäre ja auch schlimm wenn es anders wäre.
Beachte aber auch: Jede Änderung im Object Inspecktor wirkt sich auch auf die Sprach DLLs aus. Will heißen, fügst du z.B. eine Ereignisbehandlung hinzu, musst du die DLLs auch wieder aktualisieren und übersetzen !!!
-
Hi jetzt muss ich noch mal ganz blöd nachfragen: du benutzt doch C++ Builder 6 gleich wie ich, ich hab den Professional und finde da keinen "Translation Manager" oder "Projekt - Sprachen - Resourcen DLLs aktualisieren".
Kann das sein das das nur beim Enterprise dabei ist oder find ichs einfach nicht.
Danke schon mal
-
Tja, ich habe die Enterprise Version.
Den Translation Manager (etm60.exe) gibt es auch als externes Tool. Schau mal nach unter : ?:\Program Files\Borland\CBuilder6\Bin
Aber wie aktualisierst du dann die Dlls ? Dazu fällst mir jetzt nichts ein.