Unterstützt Delphi die Internationalisierung in irgendeiner Weise?
Ich habe gesehen, dass ich verschiedene Sprachen für ein Projekt hinzufügen kann, aber das scheint mehrere Instanzen der dfm-Dateien zu erstellen. Habe ich recht, dass die Sprache daher zur Laufzeit nicht geändert werden kann?
Wie gehen Sie mit der Internationalisierung um (wenn Sie das tun)? Gibt es Best Practices?
Ich habe mal mit Laufzeitwechsel von Sprachen experimentiert. Es funktionierte großartig, aber ich musste selbst viel Code schreiben (und die dfm-Dateien umgehen). Das Problem ist, es ist eine Menge Ärger und du brauchst das fast nie.
Die bessere Option (meiner Meinung nach) besteht darin, eine Basissprachenversion zu erstellen und ein Übersetzerwerkzeug für die andere Sprache zu verwenden. Wir verwenden einen Drittanbieter-Übersetzer , der auf der ausführbaren Datei und der DLL funktioniert. Es ersetzt die Zeichenfolgen in den Ressourcen und erstellt neue Binärdateien.
Ein großes Plus dieses Tools ist, dass es die übersetzten Dialoge (nur Standard-Windows-Komponenten) anzeigt, so dass Sie direktes Feedback haben, wenn die Beschriftungen zu groß sind.
Und dann gibt es dxgettext:
ist traditionell eines der Werkzeuge, um die Sprache ohne Neustart zu ändern.
Beachten Sie, dass mit Delphi / Unicode die Menge an Codeänderungen mit diesen Paketen verringert wurde (man muss nicht mehr die Verwendung eines Ressourcenstrings ändern)
Ich habe die SiComponents zuvor verwendet. Sie ermöglichen Ihnen, den gesamten Text unabhängig von der ausführbaren Datei zu ändern. Sie können die verschiedenen Sprachen in Ihre ausführbare Datei einbetten (nicht empfohlen) oder aus Dateien laden. Es gibt auch einen Editor zur Unterstützung der Übersetzung. Sie sind sehr gut, stabil und schnell.
In Delphi 2006 können Sie unter Extras, Optionen, Optionen für Übersetzungswerkzeuge die Übersetzungswerkzeuge, insbesondere das Übersetzungs-Repository, konfigurieren. Es kann unter Ansicht, Translation Manager gefunden werden. Alle übersetzten Zeichenfolgen werden als Ressourcenzeichenfolgen bezeichnet und können in einer sprachspezifischen DLL gespeichert werden. Wenn Sie die Hilfe zum Translation Manager durchsuchen, werden Sie in die richtige Richtung geleitet.
Ich empfehle die Verwendung der TsiLang-Komponenten (www.sicomponents.com). Ich habe sie gerade verwendet, um von Englisch auf Englisch und Chinesisch zu aktualisieren, die zur Laufzeit auswählbar sind, und fand den Prozess viel einfacher, als ich erwartet hatte. Die Endergebnisse sind nicht perfekt, aber sicherlich gut genug, um damit zu arbeiten.
Tags und Links delphi internationalization delphi-2009