2009-08-13 18 views
8

Unterstützt Delphi die Internationalisierung in irgendeiner Weise?Delphi und i18n

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?

+1

einige der in Antworten auf diese Frage zitierten Ressourcen für Sie nützlich sein können: http://stackoverflow.com/questions/1019822/process-for-localization-of-delphi-2009-app-by-volunteer-translators – Argalatyr

Antwort

1

Ich habe einmal 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) ist es, eine Basissprache Version zu erstellen und ein Übersetzer-Tool für die andere Sprache zu verwenden. Wir verwenden eine third party translator, die auf der ausführbaren Datei und 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 zeigt (nur Standard-Windows-Komponenten), so dass Sie direktes Feedback haben, wenn die Etiketten zu groß sind.

+0

Danke. Irgendwelche Empfehlungen bezüglich des Übersetzerwerkzeugs? – jpfollenius

+0

Ich habe einen Link hinzugefügt. Es ist nicht kostenlos, aber wir sind sehr glücklich damit. –

0

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.

5

Delphi wird mit einigen Tools ausgeliefert.

Hier ist ein tutorial für Delphi 2005 und ein video von Nick Hodges die aktuellere Version für Delphi vorführt 2009

-1

Ich zweite Empfehlung für 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.

1

Amd dann gibt es dxgettext:

http://dxgettext.po.dk/

traditionell eines der Werkzeuge verwendet, um Language Runtime ohne Neustart zu ändern.

Beachten Sie, dass die Menge an Code-Änderungen mit diesen Paketen mit Delphi/Unicode verringert hat (man muss nicht mehr jede resource Verwendung ändern)