![]() |
mehrere Sprachen benutzen - wie ?
Hallo,
Für etwas größere Projekte suche ich eine Möglichkeit, die Projekte in mehreren Sprachen betreiben zu können. Für ein etwas kleineres Programm (CAN-OPEN-Status-Abfrage und Initialisierung) bin ich folgendermaßen vorgegangen: Ich hab' mir für jede Sprache eine Textdatei (mit Endung 'res') erstellt, je nach Spracheinstellung die entsprechende Datei in eine TStringList geladen und dann die Buttons oder was auch immer - verwaltet durch arrays - mit den entsprechenden Captions oder Hints versehen. Für übersichtliche Sachen (so um die 50 Controls) ist das 'ne schnell gemachte Sache. Was aber würdet Ihr für große Projekte (Maschinen-Positionierungs-Steuerungen über CAN-OPEN-Bus) machen - ich denke, dass dabei so um die 600 Controls zusammenkommen ? Die Funktionen ShowMessage und MessageDlg sind durch eigene Funktionen ersetzt, da auf diesen Forms auch gleichzeitig Status- und Fehlermeldungen des CAN-OPEN-Bus angezeigt werden sollen. Zu beachten sei hierbei noch, dass die Sprachdateien (Ressourcen) später jederzeit bearbeitbar sein sollen (deswegen die Textdateien mit 'res'-Endung). Bin für jede Idee dankbar. |
Re: mehrere Sprachen benutzen - wie ?
Sind die .so-Dateien von
![]() Dort drinnen werden zwar die Sparch-Strings aus Konstanten geladen, aber woher das Array wirklich ist, ist egal. ![]() Die Technik wie die Strings in die Controls kommen, wird es "bald" in ähnlicher Weise auch als himXML-Komponente geben, wo es dann aus XML-Dateien geladen wird. |
Re: mehrere Sprachen benutzen - wie ?
Verwende Resourcen.
Die lassen sich dann mit diversen Tools internationalisieren. Hier mal ein Video von der Coderage dazu: ![]() Sherlock |
Re: mehrere Sprachen benutzen - wie ?
Hallo,
danke erst mal für die Antworten, werd' mir beides mal genauer ansehen ... |
Re: mehrere Sprachen benutzen - wie ?
@Himitsu
Zitat:
Schöne Grüsse, Warp |
Re: mehrere Sprachen benutzen - wie ?
Zitat:
Nichts Genaues weiß man nicht :roll: Nja, in meiner Prioritätsliste isses nicht unbedingt ganz weit vorne angesiedelt und aktuell existieren nur ein paar Überlegungen und irgendwo (ich find es grad nicht) existiert auch schon ein kleiner Prototyp der Klasse/Komponente ... sind aber nur Überlegungen und eine erste Klassendefinition ohne zugehörige essentielle Quellcodes. Im Prinzip gibt es Funktionen, welche man auf Forms loslassen kann, bzw. auf alle Forms der Anwendung (welche bei Application registriert sind) und wo über eine Tabelle via ElternFormular+Komponntenname (vorallem für's Elternformular wären auch Maskenzeichen erlaubt) ein Text zugewiesen werden kann. Und dann gibt es noch Funktionen, wo z.B. über Platzhalter-Strings ersetzt werden kann. Das sind so die Funktionen, welche ich für mich benötigen würde und ob es dann noch mehr gibt, hängt dann von der Nachfrage ab. Aber zuerst wollte/müßte ich noch mindestens zwei andere Dinge fertigmachen. Da es ja als Zusatzkomponente zum himXML geplant ist und ich da noch etwas im Umbau feststecke. Einen "einfachen" Editor wird es dann schon geben und ansonsten könnte man eigentlich nehmen was man will. XML ist ja von sich aus ein offenes Format und es dürfte recht einfach sein, dafür auch ein paar Konverter/Importer für andere Formate zu erstellen. |
Re: mehrere Sprachen benutzen - wie ?
@Himitsu
O.K. - Dann warte ich mal ab was da kommt. Danke für die Info ! Gruss, Warp |
Re: mehrere Sprachen benutzen - wie ?
|
Re: mehrere Sprachen benutzen - wie ?
Zitat:
Delphi Localizer habe ich in meinem letzten Projekt benutzt. Ich arbeite gerne damit und finde es eine gelungene Lösung - bis auf einige Bugs (mit denen man allerdings noch leben kann) und einer fehlenden Export-/Import-Funktion um extern erstellte Übersetzungen im Localizer verarbeiten zu können (in CSV bspw). Leider ist nicht klar, ob es damit seitens Daniel weiter geht und welche IDE's aktiv unterstützt werden sollen. Es kommt auch auf direkte Nachfragen leider keine Antwort dazu von Daniel. Gruss, Warp |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 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