Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Translation Manager (https://www.delphipraxis.net/127873-translation-manager.html)

Cogito 20. Jan 2009 15:02


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.

Sherlock 20. Jan 2009 15:03

Re: Translation Manager
 
Welchen Translation Manager meinst Du?

:gruebel:

Sherlock

Cogito 20. Jan 2009 15:04

Re: Translation Manager
 
Zitat:

Zitat von Sherlock
Welchen Translation Manager meinst Du?

:gruebel:

Sherlock

Na den der bei Delphi dabei ist.

nuclearping 21. Jan 2009 11:24

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.

Cogito 21. Jan 2009 13:08

Re: Translation Manager
 
Zitat:

Zitat von nuclearping
Hab mir den damals auch angeschaut und als unbrauchbar abgestempelt.

Sind dann auf eine eigene Lösung mit Sprach-DLLs aus Resource-Dateien umgestiegen.

kannst Du mir mal erklären wie Ihr das gelöst habt (vielleicht mit Beispiel)?

nuclearping 21. Jan 2009 13:55

Re: Translation Manager
 
Du erstellst eine .rc-Datei (Notepad, ...), in der du eine Stringliste abbildest.
Code:
STRINGTABLE {
   // LID_ABOUT
   1, "Software Name\nCopyright ..."
   // LID_ABOUT_TECHNOLOGIES
   2, "Verwendete Technologien"
   ...
   // LID_SOME_OTHER_TEXT
   12345, "Testtext %s %d\n"
}
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.

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:
unit LanguageIds;

interface

const
   LID_ABOUT = 1;
   LID_ABOUT_TECHNOLOGIES = 2;
   ...
   LID_SOME_OTHER_TEXT = 12345;
   ...
implementation
end.
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.
Delphi-Quellcode:
// ...
MessageDlg (Language.GetString (LID_ABOUT), ...);
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.

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.

Cogito 21. Jan 2009 14:02

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?

nuclearping 21. Jan 2009 14:05

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.

Klaus01 21. Jan 2009 14:18

Re: Translation Manager
 
Hallo,

vielleicht ist ja GNU gettext etwas für Dich?
Oder schau Dir das Tool von Daniel (sakura) mal an.

Grüße
Klaus

Cogito 25. Jan 2009 09:42

Re: Translation Manager
 
Zitat:

Zitat von Klaus01
Hallo,

vielleicht ist ja GNU gettext etwas für Dich?
Oder schau Dir das Tool von Daniel (sakura) mal an.

Grüße
Klaus

Also letztere von Dir vorgeschlagenen Lösung hat den Nachteil, das hier die fertige EXE Applikation angefasst wird, zur Entwurfszeit steht hier nichts zur Verfügung. Ausserdem kann ich nicht erkennen, wie hier zur Laufzeit die Möglichkeit eines Sprachwechsels gewährleistet ist.
Ich glaube hier kommt man um Eigentwicklung wohl nicht herum...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr.
Seite 1 von 2  1 2      

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