![]() |
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... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:26 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