![]() |
Translation Manager
Hallo zusammen,
kann mir mal jemand sagen wie ich die Mehrsprachigkeit mit diesem Translation Manager in delphi hinbekomme? Überall lese ich immer nur Fragmenterklärungen und das dauernde rumfummeln bringts irgendwie auch nicht so richtig.. Am besten wäre so eine richtige Schritt für Schritt Erklärung, oder ein Hinweis auf eine gute dokumentation. P.S. Achja, Ziel sollte sein die Sprachen zur Laufzeit per Optionen-Dialog umschalten zu können. |
Re: Translation Manager
Welchen Translation Manager meinst Du?
:gruebel: Sherlock |
Re: Translation Manager
Zitat:
|
Re: Translation Manager
Hab mir den damals auch angeschaut und als unbrauchbar abgestempelt.
Sind dann auf eine eigene Lösung mit Sprach-DLLs aus Resource-Dateien umgestiegen. |
Re: Translation Manager
Zitat:
|
Re: Translation Manager
Du erstellst eine .rc-Datei (Notepad, ...), in der du eine Stringliste abbildest.
Code:
Die Datei jagst du durch den Borland Resource Compiler (BRCC32) und er erstellt dir daraus eine .res. Diese .res linkst du in ein library-Projekt. Das ist dann die Sprach-DLL, zB wird aus german.dpr dann german.dll.
STRINGTABLE {
// LID_ABOUT 1, "Software Name\nCopyright ..." // LID_ABOUT_TECHNOLOGIES 2, "Verwendete Technologien" ... // LID_SOME_OTHER_TEXT 12345, "Testtext %s %d\n" } Dazu hab ich mir ein Tool geschrieben, was durch diese Dateien parsed, mir die Einträge nach LIDs sortiert und aus den LID_...-Kommentaren eine LanguageIds.pas erstellt, die diese als CONSTs hinterlegt hat.
Delphi-Quellcode:
Dazu eine Klasse, die die entsprechende DLL per LoadLibrary lädt und mir durch eine Funktion "GetString" die entsprechende LID aus der DLL als String lädt und zurückliefert.
unit LanguageIds;
interface const LID_ABOUT = 1; LID_ABOUT_TECHNOLOGIES = 2; ... LID_SOME_OTHER_TEXT = 12345; ... implementation end.
Delphi-Quellcode:
Dazu kam noch ein tabellenähnliches Übersetzungstool, wo man eine Basissprache (zB Deutsch) links in der ersten Spalte hat und beliebig viele Sprachen rechts hinzufügen und recht komfortabel bearbeiten kann.
// ...
MessageDlg (Language.GetString (LID_ABOUT), ...); Das Borland Teil war uns zu kompliziert und unflexibel, vorallem wenn man Übersetzer hat, die 1) im Ausland sind und 2) sonst - ausser Texte schreiben - nicht viel mit Computern am Hut haben. Fahren mit der Lösung schon einige Jahre ziemlich gut. Bisher keine Probleme gehabt. |
Re: Translation Manager
Klingt gut aber auch nach ner menge Aufwand, den man erst mal investieren muss. Dafür hab ich leider keine Zeit...
Gibts denn keine low cost übersetzungswerkzeuge die was taugen? |
Re: Translation Manager
Aufwand hast du überall. Ob es nun der ist, sich in ein neues System reinzuarbeiten - wo du vorher auch nicht weißt, obs am Ende was taugt und auch Zukunftssicher ist. Oder ob du etwas eigenes entwickelst. Und die Basis-Sprache mußt du so oder so erstellen.
Was wärst du / ihr denn bereit auszugeben? Tante Edith meint: Die "Low Cost"-Übersetzungswerkzeuge, die ich mir damals angeschaut hab, haben mich nicht überzeugt. |
Re: Translation Manager
Hallo,
vielleicht ist ja ![]() Oder schau Dir das ![]() Grüße Klaus |
Re: Translation Manager
Zitat:
Ich glaube hier kommt man um Eigentwicklung wohl nicht herum... |
Re: Translation Manager
GNU GetText ist auf jeden Fall einen Blick wert, solltest Du auch den wenigstens Aufwand damit haben.
|
Re: Translation Manager
Wo bekomme ich denn dieses PoEdit her?
P.S. Hab ich das richtig gesehen, es wird automatisch diejenige Übersetzungsdatei genommen, die den Windows-Systemeinstellungen entspricht? |
Re: Translation Manager
|
Re: Translation Manager
Zitat:
Was mir bei diesen Tools auffällt, die haben alle irgendwie Probleme sobald man eigene Toolboxen oder keine der üblichen Standardkomponenten verwendet. Besser wäre hier meines Erachtens kein parsing der Komponenten sondern sowas wie eine externe dll in die man alles was übersetzt werden soll reinpacken kann. So kenn ich das von .NET her, nur ist bei Delphi (zumindest 2006) kein Resourceneditor dabei und auch nicht ins Projekt sauber einbindbar. Irgendwie hat Borland was gegen Resourcen. Diesen internen Translator kann man auch vergessen... Das darf doch echt nicht wahr sein das Borland für die Internationalisierung nichts anzubieten hat !!! |
Re: Translation Manager
Schau dir mal
![]() |
Re: Translation Manager
Zitat:
Ich glaub ich verlasse Delphi wieder und geh lieber wieder zu .NET! |
Re: Translation Manager
Zitat:
|
Re: Translation Manager
Für Anwendungen die mehrsprachig sein sollen gibt es das "Simple Language System" (kurz SLS). Zu finden ist es
![]() Eine Demo und eine Anleitung ist im Archiv enthalten! |
Re: Translation Manager
Zitat:
Das funktioniert eigentlich super. Ev. hast du nicht ganz gecheckt, wie das läuft? Mit dem Translation - Assistent generiert man für jede Sprache ein Ressourcen-Projekt. Diese Ressourcen-Projekte sind in der Projekt-Baumansicht unterhalb deines Projekts ersichtlich. Mit einem Doppleklick auf eine Form in dem entsprechenden Ressource-Projekt öffnet sich der Übersetzungseditor, wo man einfach die Strings übersetzen kann. Sobald an deinem Projekt was ändert, z.B. neue Forms usw. hinzugefügt werden , Kann mann mit dem Translation-Assistent die verschiedenen Ressourcen-Projekte aktualisieren lassen. Einfacher gehts nun wirklich nicht. |
Re: Translation Manager
Zitat:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz