Die TsiLang Components Suite bietet flexible Möglichkeiten, Übersetzungsdaten zu speichern und zu verwalten. Wenn Sie mehrsprachige Anwendungen mit Delphi oder C++Builder entwickeln, können externe Übersetzungsdateien im Format .SIL oder .SIB die Lokalisierung und die Zusammenarbeit im Team vereinfachen.
Dieser Artikel vergleicht die beiden Formate, zeigt den Export und Import von Übersetzungen und erklärt, wie Sie die Dateien zur Laufzeit laden. Dazu kommen Empfehlungen für den Einsatz in Ihren Projekten.
Warum externe Übersetzungsdateien verwenden?
Mit TsiLang können Sie Übersetzungen direkt in den .DFM-Dateien Ihrer Anwendung speichern. Für kleinere Anwendungen ist das praktisch. Bei regelmäßig aktualisierten Anwendungen bieten separate Übersetzungsdateien jedoch mehrere Vorteile:
- Übersetzungen ohne Neukompilierung aktualisieren
- Übersetzungsdaten auslagern und DFM-Dateien verkleinern
- Einfacher mit externen Übersetzern zusammenarbeiten
- Übersetzungen in die Versionsverwaltung und Arbeitsabläufe integrieren
- Sprachdaten zur Laufzeit nachladen
SIL und SIB: Worin liegt der Unterschied?
TsiLang unterstützt zwei externe Dateiformate:
| Merkmal | .SIL — Textformat | .SIB — Binärformat |
|---|---|---|
| Format | Lesbares INI-Format | Binärformat |
| Bearbeitung | Texteditor oder SIL Editor | SIL Editor |
| Geeignet für | Versionsverwaltung und Zusammenarbeit mit Übersetzern | Auslieferung und schnelles Laden zur Laufzeit |
| Ladegeschwindigkeit | Langsamer als SIB | Sehr schnell |
| Direkt im Texteditor lesbar | Ja | Nein |
Empfehlung für die Praxis
Während der Entwicklung erleichtern .SIL-Dateien die Zusammenarbeit und Versionsverwaltung. Für die Auslieferung können Sie sie in .SIB umwandeln, um Übersetzungen schneller zu laden.
Übersetzungen exportieren und importieren
Öffnen Sie TsiLang Expert über das Tools-Menü Ihrer RAD-Studio-, Delphi- oder C++Builder-IDE. Bei deutscher TsiLang-Oberfläche verwenden Sie die folgenden Befehle im Bereich Datei:
- Exportieren
In Datei speichern (Save to File) → Projekt (Project) oder Formulare (Form(s)).
- Importieren
Aus Datei laden (Load from File) → Projekt (Project) oder Formulare (Form(s)).
Sie können Übersetzungen auch zusammenführen, um vorhandene Einträge beizubehalten und Aktualisierungen zu übernehmen.
Übersetzungen zur Laufzeit laden
Zum Laden einer externen Übersetzungsdatei zur Laufzeit empfehlen wir den folgenden Ansatz. Passen Sie den Dateipfad an den tatsächlichen Speicherort an:
// be sure to adjust file path to the actual file!
siLangDispatcher1.FileName := 'MyAppTranslations.sil';
// or for binary files
// siLangDispatcher1.FileName := 'MyAppTranslations.sib';
siLangDispatcher1.LoadAllFromFile(siLangDispatcher1.FileName); Zuerst setzen Sie die Eigenschaft FileName der Komponente TsiLangDispatcher. Dadurch laden auch Formulare, die erst später zur Laufzeit erstellt werden, ihre Übersetzungen aus dieser Datei.
Der Aufruf von LoadAllFromFile lädt die Übersetzungen für alle bereits erstellten Formulare der Anwendung.
TsiLangDispatcher sorgt außerdem dafür, dass der Sprachwechsel für die verbundenen Formulare synchron erfolgt.
Empfehlungen für die Arbeit mit externen Dateien
- Dateien relativ zum Anwendungsverzeichnis ablegen
Verwenden Sie beispielsweise einen Unterordner
langund prüfen Sie den daraus ermittelten Pfad beim Start der Anwendung. - Übersetzungen zügig laden
Nutzen Sie SIB-Dateien, wenn eine kurze Ladezeit wichtig ist.
- Mit dem SIL Editor arbeiten
Damit bearbeiten Sie
.SIL– und.SIB-Dateien bequem. Den Editor dürfen Sie kostenlos an Übersetzer und Endbenutzer weitergeben.
Unsere Anwendungen Resource Builder, HelloApp Studio, SIL Editor und Dictionary Manager nutzen den hier beschriebenen Ansatz.
Vorteile im Projektalltag
- Verteilte Teams können parallel arbeiten: Entwickler ergänzen Funktionen, Übersetzer aktualisieren die Sprachdateien.
- Kunden oder regionale Teams können Übersetzungen nach der Veröffentlichung anpassen, ohne Zugriff auf den Quellcode zu benötigen.
- SIL-Dateien lassen sich in Git verwalten; SIB-Dateien können in den Auslieferungsprozess eingebunden werden.
Übersetzungen unabhängig vom Programm aktualisieren
Mit externen Übersetzungsdateien trennen Sie die Pflege der Sprachversionen von der Weiterentwicklung Ihrer Anwendung. Ihr Team kann Übersetzungen gemeinsam bearbeiten, unabhängig vom Quellcode aktualisieren und in einem geeigneten Format ausliefern — für interne Werkzeuge ebenso wie für international vertriebene Anwendungen.
Zum Einstieg: Ihr erstes Delphi-Formular mit einem KI-Assistenten übersetzen. Wie Benutzer eigene Übersetzungen erstellen, erfahren Sie im Artikel Mehrsprachige Anwendungen mit Übersetzungen durch Benutzer.