Inhalt
In wenigen Schritten von der Installation zur mehrsprachigen Anwendung. Diese Anleitung zeigt, wie das mitgelieferte Werkzeug TsiLang Expert ein Delphi- oder C++Builder-Projekt um Übersetzungen ergänzt. Als Beispiel dient die MDI-Beispielanwendung, die mit RAD Studio geliefert wird.
Die Abbildungen zeigen die englische Benutzeroberfläche. Die Befehle im Text entsprechen der deutschen Oberfläche; englische Bezeichnungen stehen bei Bedarf in Klammern.
Schritt 1. Installieren
Testversion
- Schließen Sie alle laufenden Instanzen von RAD Studio, Delphi oder C++Builder.
- Starten Sie TsiLangTrialSetup.exe und folgen Sie den Anweisungen.
- Nach Abschluss der Installation ist TsiLang Components Suite automatisch in den ausgewählten IDEs installiert.
Registrierte Version
Hinweis: Falls Sie zuvor eine Testversion von TsiLang Components Suite installiert haben, deinstallieren Sie diese und stellen Sie sicher, dass alle zugehörigen Dateien vollständig gelöscht wurden.
- Schließen Sie alle laufenden Instanzen von RAD Studio, Delphi oder C++Builder.
- Starten Sie SISETUP.EXE beziehungsweise SIBINARY.EXE für die DCU-Only Edition und folgen Sie den Anweisungen. Das Installationsprogramm kopiert die Quelldateien in den Zielordner und passt den Bibliothekspfad der ausgewählten IDEs an.
- Nach Abschluss der Installation ist TsiLang Components Suite automatisch in den ausgewählten IDEs installiert.
Schritt 2. Den Übersetzungsassistenten starten
Hinweis 1: Ein ausführliches Demovideo finden Sie unter folgendem Link (Englisch): https://www.sicomponents.com/video-tsilang-live-demo/
Hinweis 2: Das folgende Übersetzungsbeispiel ist vereinfacht und dient der Veranschaulichung.
So ergänzen Sie Ihr Projekt um Lokalisierung und Unterstützung für mehrere Sprachen:
- Öffnen Sie das Projekt, das Sie übersetzen möchten.
- Wählen Sie im Hauptmenü der IDE Tools | TsiLang Expert. TsiLang Expert vereinfacht die Übersetzung Ihres Projekts.
Fahren Sie in TsiLang Expert wie folgt fort:
- Markieren Sie alle Formulare Ihres Projekts in der Liste des Experts: Klicken Sie auf das erste Formular, halten Sie die Umschalttaste gedrückt und klicken Sie auf das letzte.
- Klicken Sie auf der Registerkarte Datei (File) in der Gruppe Ausgewählte (Selected) auf Assistent (Wizard).
- Klicken Sie auf der ersten Seite des Assistenten auf Weiter >> (Next).
- Wählen Sie in der Formularliste das Hauptformular Ihres Projekts aus.
- Stellen Sie im Kombinationsfeld rechts den Typ TsiLang für das Hauptformular ein.
- Wählen Sie für alle anderen Formulare den Typ TsiLangLinked.
Damit sind das Hauptformular und die übrigen Formulare für die Übersetzung über TsiLang miteinander verbunden.
- Lassen Sie auf der zweiten Seite des Assistenten, Feinabstimmungen (Fine Tunings), die Option LangDispatcher-Eigenschaft setzen auf (Set the LangDispatcher property to) ausgewählt. Wählen Sie das Hauptformular und klicken Sie auf Neu erstellen… (Create new…). Der Dialog Sprachen konfigurieren (Configure Languages) wird geöffnet. Ist der Dispatcher bereits vorhanden, öffnen Sie ihn über Konfigurieren… (Configure…). Legen Sie die Anzahl der Sprachen (Languages Count) und die Namen in der Geordneten Liste der Sprachen (Language List (Ordered)) fest. Verwenden Sie dazu Nach oben (Move Up), Nach unten (Move Down), Umbenennen (Rename), Hinzufügen (Add) und Löschen (Delete). Bestätigen Sie mit OK. Der Assistent fügt dem Hauptformular einen TsiLangDispatcher hinzu. Spracheinstellungen manuell festlegen (Set languages settings manually) bleibt hier deaktiviert; die dort angezeigte Sprachliste stammt aus der Standardsprachliste in den Optionen (Options) des Experts.
- Lassen Sie CommonContainer-Eigenschaft setzen auf (Set the CommonContainer property to) aktiviert und wählen Sie das Hauptformular sowie Neu eingefügt (TsiLang) (Newly inserted (TsiLang)). Dadurch verwenden die Formulare mit TsiLangLinked die gemeinsamen Übersetzungen des Hauptformulars. Klicken Sie auf Weiter >>.
- Auf der dritten Seite, Eigenschaften konfigurieren (Configure properties), können Sie die Vorgaben beibehalten. Wenn Sie weitere TsiLang-Eigenschaften für alle ausgewählten Komponenten ändern möchten, aktivieren Sie zunächst Zusätzliche Eigenschaften konfigurieren (Configure additional properties) und passen Sie dann die Liste an. Klicken Sie auf Weiter >> und schließen Sie den Assistenten ab.
Schritt 3. Übersetzungen eingeben
Nach Abschluss des Assistenten öffnen Sie den Übersetzungseditor in TsiLang Expert:
- Suchen Sie in TsiLang Expert das Formular, das Sie übersetzen möchten.
- Öffnen Sie den Übersetzungseditor mit einem Doppelklick auf das Formular.
- Der Übersetzungseditor zeigt die übersetzbaren Eigenschaften und Komponenten an.
- Wählen Sie die gewünschte Komponente oder Eigenschaft.
- Geben Sie die Übersetzung in die Spalte der jeweiligen Sprache ein.
- Wiederholen Sie dies für alle Komponenten und Eigenschaften, die Sie übersetzen möchten.
- Klicken Sie auf der Registerkarte Editor in der Gruppe Aktionen (Actions) auf Speichern & Schließen (Save & Close), um die Übersetzungen zu speichern und den Editor zu schließen.
Im Übersetzungseditor verwalten Sie die Übersetzungen Ihrer Formulare an einer Stelle.
Elemente von der Übersetzung ausschließen
Wenn Sie bestimmte Komponenteneigenschaften nicht übersetzen möchten, lassen Sie das entsprechende Sprachfeld im Übersetzungseditor leer. Die Eigenschaft bleibt dann unverändert.
Sie können eine Komponente oder Eigenschaft auch über das Kontextmenü ausschließen:
- Suchen Sie die betreffende Komponente oder Eigenschaft.
- Klicken Sie mit der rechten Maustaste darauf.
- Wählen Sie im Kontextmenü Ausschließen… (Exclude…).
Damit schließen Sie die Komponente oder Eigenschaft vom Übersetzungsvorgang aus. Sie wird bei der Übersetzung nicht verändert. So lassen sich einzelne Elemente direkt im Übersetzungseditor ausnehmen.
Schritt 4. Die Sprache im Code wechseln
Um die aktive Sprache im Programm zu wechseln, verwenden Sie die Eigenschaft ActiveLanguage des TsiLangDispatcher. Das folgende Beispiel zeigt den Aufruf in Delphi:
procedure TMainForm.MenuItemGermanClick(Sender: TObject);
begin
siLangDispatcher1.ActiveLanguage := 2;
end;
procedure TMainForm.MenuItemEnglishClick(Sender: TObject);
begin
siLangDispatcher1.ActiveLanguage := 1;
end; Schritt 5. Weitere Möglichkeiten
Fest codierte Zeichenfolgen im Quellcode
TsiLang Expert kann Ihre Delphi-Quelldatei analysieren und darin verwendete Zeichenfolgen und Zeichenfolgenkonstanten für die Übersetzung sammeln:
- Wählen Sie das zu analysierende Formular in der Liste von TsiLang Expert.
- Klicken Sie auf der Registerkarte Datei (File) in der Gruppe Zeichenfolgen in Quellcodedatei (Strings in Source) auf Mit Formular (w/ Form). Für eine Unit ohne Formular verwenden Sie Ohne Formular (w/o Form).
- TsiLang Expert durchsucht die Quelldatei und öffnet den Dialog Gefundene Zeichenfolgen-Konstanten (Found String Constants) mit den gefundenen Zeichenfolgen und Konstanten.
- Prüfen Sie die Liste: Jede Zeile zeigt die Zeilennummer, die erzeugte Zeichenfolgen-ID, die Zeichenfolge und den Ersatzcode. Mit Löschen (Delete) entfernen Sie ausgewählte Zeilen. Ausschließen (Exclude) verhindert, dass die Zeichenfolge in irgendeinem Projekt erneut gefunden wird. Ignorieren (Ignore) überspringt sie beim nächsten Durchsuchen dieser Unit.
- Klicken Sie auf Quellcode ändern (Modify Source). TsiLang Expert ersetzt jede Zeichenfolge im Code durch einen Aufruf, der die Übersetzung für die aktive Sprache zurückgibt, und fügt die Zeichenfolgen der Eigenschaft Strings von TsiLang hinzu.
- Übersetzen Sie die gesammelten Zeichenfolgen im Übersetzungseditor wie die übrigen Texte.
Mit den Befehlen der Gruppe Zeichenfolgen in Quellcodedatei lassen sich die Texte automatisch aus dem Quellcode extrahieren. Sie müssen sie nicht einzeln suchen und sammeln.
DBGrids übersetzen
So übersetzen Sie TDBGrids mit TsiLang:
- Fügen Sie im Felder-Editor des TDataSet die erforderlichen Felder hinzu.
- Wählen Sie in TsiLang Expert das Formular und klicken Sie in der Gruppe Ausgewählte (Selected) auf Übersetzen (Translate). Alternativ öffnen Sie den Übersetzungseditor mit einem Doppelklick auf das Formular.
- Wählen Sie im Übersetzungsbaum den Knoten DisplayLabels. Er steht für die Eigenschaft DisplayLabel der Felder im TDBGrid.
- Geben Sie die Übersetzungen für die DisplayLabel-Eigenschaft der jeweiligen Felder ein.
- Klicken Sie auf der Registerkarte Editor in der Gruppe Aktionen (Actions) auf Speichern & Schließen (Save & Close).
Damit sind die DisplayLabel-Eigenschaften der TDBGrid-Felder mit TsiLang übersetzt.
Wenn Sie Grids übersetzen möchten, ohne persistente Felder hinzuzufügen, können Sie stattdessen die Eigenschaft Collections von TsiLang verwenden. Übersetzen Sie dort die Einträge der Eigenschaft Columns des Grids, also die Spaltenüberschriften und die weiteren Eigenschaften der Spalten.
Kompilieren und ausliefern
Kompilieren Sie Ihr Projekt: Ihre Anwendung ist jetzt mehrsprachig. Benutzer können die Sprache zur Laufzeit wechseln, und Sie können später weitere Sprachen hinzufügen, ohne den Code zu ändern.