Wozu das Rad neu erfinden, wenn es bereits gemacht wurde?
Softwarelokalisierung kann sehr wichtig sein, wenn Sie neue Absatzfelder erschließen und Ihre Produkte auch im Ausland verkaufen wollen. Die Softwareentwickler, die unter Delphi schreiben, können ihre Applikationen auf dreierlei Weise mehrsprachig machen. Erstens können Sie Resource DLL Wizard benutzen, allerdings nur, wenn Sie mit Delphi 4 oder mit einer höheren Version arbeiten. Zweitens können Sie Ihre eigene Komponente entwickeln. Aber wie üblich, wenn man etwas Exklusives eigenhändig entwickelt, kostet es einen sehr viel Zeit und Energie, die man sonst für wichtigere Sachen aufwenden würde. Um den Entwicklungsprozess zu beschleunigen, können Sie nun eine bereits vorhandene Applikation benutzen, zum Beispiel die TsiLang Components Suite. Sie ist nicht teuer, ist benutzerfreundlich und arbeitet garantiert. Und übrigens, wozu das Rad neu erfinden, wenn es bereits gemacht wurde, und das Programm einwandfrei funktioniert?
“Das kann man eine gelungene Investition nennen”
TsiLang Components Suite wird weltweit von Hunderten von Softwareentwicklern benutzt, die mit ihrer Hilfe mehrsprachige Applikationen erstellen. Steve Jordi ist einer von vielen. Er ist Softwareentwickler bei TiltSoft in der Schweiz. Dieses Unternehmen befasst sich mit Entwicklung von Software zur Überwachung der Vulkanaktivität mit Endbenutzern in vielen Ländern der Welt. Bevor man zu TsiLang überging, hat das Unternehmen lange nach einem einfachen und leistungsstarken Programm gesucht, um die Anwendungen in mehrere Sprachen zu übersetzen. Neben der Einfachheit und dem akzeptablen Preis musste die Anwendung auch speziellen Anforderungen genügen, und zwar musste sie dem Benutzer erlauben, die Programmübersetzung selbst zu ändern, wenn er es nötig fand. Keine Anwendung konnte diese Anforderungen erfüllen.
“Wir haben viele Lösungen ausprobiert”, schreibt Steve. “Alle nannten sich die besten Tools. TSILang haben wir nur gefunden, da sich keines der anderen Programme als das beste Tool bewährt hat. Nur TSILang hatte ein Wörterbuch, nur TSILang hatte diesen Dispatcher/TSILink Mechanismus, dank dem der Sprachenwechsel nicht zwei Mal beschrieben werden muss. Nur TSILang konnte DBGrid Tabellenkopf übersetzen usw. Diese Anwendung lässt uns unsere Software in wenigen Stunden übersetzen. Es spart Zeit und Energie, und deshalb können wir uns mehr auf unserem Projekt konzentrieren. Wir können dieses Programm allen ohne Zögern empfehlen. Das Stück ist das Geld wert.”
Mit der TsiLang Components Suite dauert die Lokalisierung weniger als ein paar Minuten
Um Ihnen ein Gefühl dafür zu vermitteln, wie einfach die Verwendung der TsiLang-Software ist, möchten wir das Beispiel von MDIAPP verwenden, das im Lieferumfang von Delphi enthalten ist. Gehen wir in 7 Schritten mehrsprachig!
- Öffnen oder erstellen Sie das Beispielprojekt MDIApp.dpr in RAD Studio, Delphi oder C ++ Builder.
- Schritt 1. Starten Sie TsiLang Expert über IDE. Sie tun dies über das Menü Extras. Im geöffneten TsiLang Expert-Fenster sehen Sie die Hauptmenüleiste und die Symbolleiste. Unten können Sie die Liste aller verfügbaren Projektformulare anzeigen. Wählen Sie alle aus.
- Schritt 2. Wählen Sie im Expertenmenü File | Wizard oder klicken Sie auf die entsprechende Schaltfläche in der Symbolleiste. Klicken Sie im angezeigten Assistenten auf die Schaltfläche Weiter, um ihn zu starten.
- Wählen Sie das Hauptformular und stellen Sie den TsiLang-Typ im Kombinationsfeld rechts ein. Für alle anderen Formulare in der Liste setzen Sie TsiLangLinked.
- Konfigurieren Sie die Einstellungen wie folgt und klicken Sie auf Weiter.
Eingeben von Übersetzungen per Mausklick
- Schritt 3. Sobald der Assistent fertig ist, sind Ihre Projektformulare bereits fast vollständig mehrsprachig. Doppelklicken Sie in Expert auf ein beliebiges Formular, um den Übersetzungseditor anzuzeigen, und geben Sie Übersetzungen für Benutzeroberflächeneinträge ein. Um die Übersetzung eines Eintrags zu verhindern, können Sie Werte für andere Sprachen leer lassen oder diesen Eintrag zur Ausschlussliste hinzufügen.
- Doppelklicken Sie in TsiLang Expert auf andere Formulare, um Übersetzungen für Steuerelemente bereitzustellen, die sich auf diesen Formularen befinden.
Fest codierte Übersetzung von Strings
- Schritt 4. In unserem nächsten Schritt werden wir alle fest codierten Zeichenfolgen in unsere Quelldateien übersetzen. Klicken Sie auf “MainForm” und wählen Sie im Menü von TsiLang Expert den Befehl “File | Source | With Form…“. Mit diesem Befehl wird das Formular geöffnet, in dem alle fest codierten Zeichenfolgenkonstanten angezeigt werden, die in der Quelle Ihres Geräts enthalten sind. Sie können eine beliebige Konstante aus dieser Liste löschen, wenn diese Konstante nicht übersetzt werden soll. Wählen Sie einfach die Zeile mit der gewünschten Konstante und klicken Sie auf die Schaltfläche “Löschen”.
Wie Sie im Bild oben sehen können, wird in der ersten Spalte die Zeilennummer angezeigt. Die zweite Spalte ist die Zeichenfolgen-ID, die für diese Quellzeichenfolge verwendet wird. Für gleiche Zeichenfolgen ist diese ID dieselbe. Die dritte Spalte enthält den Wert von string in source. In der vierten Spalte wird der Text angezeigt, der anstelle dieser fest codierten Zeichenfolge in Ihre Quelle eingefügt wird. Sie können hier Änderungen hinzufügen, die beim Ersetzen verwendet werden. Am unteren Rand des Formulars sehen Sie die Vorschau des Quellcodes, in dem der String gefunden wurde.
Nachdem Sie auf die Schaltfläche “Modify Source” geklickt haben, werden alle aufgelisteten fest codierten Zeichenfolgen durch die GetTextOrDefault() – Methode der TsiLang-Komponente ersetzt. Diese Methode gibt den Zeichenfolgenwert basierend auf der eingegebenen Zeichenfolgen-ID in Bezug auf die aktive Sprache der Schnittstelle oder den Wert für die erste Sprache zurück, wenn die Übersetzung nicht verfügbar ist.
Ursprüngliche Werte von Strings werden in die “Strings” -Eigenschaft von TsiLang eingefügt. Sie können sie übersetzen, indem Sie im Objektinspektor auf diese Eigenschaft doppelklicken.
Feintuning
- Schritt 5. Damit Ihre Applikation wirklich zweisprachig wird, müssen Sie die Komponenten TSaveDialog, TOpenDialog, TFontDialog und TPrintDialog durch TsiSaveDialog, TsiOpenDialog, TsiFontDialog und TsiPrintDialog ersetzen, diese sind auf der Seite “SiDialogs” Komponentenpalette erhältlich. Verbinden Sie diese mit TsiLang, indem Sie den “siLang” Wert eingeben. Öffnen Sie den Standarddialogtitel Editor (Doppelklick auf “DlgsCaptions” in dem TsiLang Objektinspektor) und geben Sie die Übersetzung für die Standarddialoge an.
Code für den Sprachwechsel
- Schritt 6. Jetzt muss der Sprachenschalter nur noch eingebaut werden. Das können Sie z.B. auf folgender Weise machen:
- Fügen Sie in das Hauptmenü der Hauptform einen neuen höheren Menüelement “Sprache” hin zu.
- Fügen Sie zwei Unterelemente “Englisch” und “Deutsch” hin zu.
- Setzen Sie den “RadioItem” Wert für dieses Element auf TRUE.
- Setzen Sie den “Checked” Wert für das “Englisch” Element auf TRUE.
- Setzen Sie den “Tag” Wert “1” für das Element “Englisch” und “2” für das Element “Deutsch”
- Wählen Sie beide Elemente und fügen Sie einen OnClick Action-Handler hin zu. Achten Sie darauf, dass Sie die gleichen Handler für die beiden Elemente haben. Fügen Sie den folgenden Code in den Action-Handler hin zu:
procedure TMainForm.German1Click(Sender: TObject);
begin
siLangDispatcher1.ActiveLanguage := TComponent(Sender).Tag;
TMenuItem(Sender).Checked := True;
end;
- Schritt 7. Kompilieren Sie Ihr Projekt und führen Sie es aus. Die Anwendung ist mehrsprachig!
Sie können die TsiLang Components Suite von unserer Downloadseite herunterladen.