Mehrsprachigkeit

Delphi beinhaltet ein Werkzeug zur Internationalisierung der Anwendungen. Mit dem sogenannten 'Internationalization Wizard' können die unterschiedlichen Text-Versionen der Anwendungen verwaltet werden. Der Wizard verwaltet die einzelnen Projektfiles und erlaubt die Auswahl von Sprachen für die Internationalisierung. Dabei wird für jede Sprache ein Ordner mit einer Sprachen-Datei generiert. Diese enthält für jeden Eintrag 2 Werte: 'msgid' enthält den ursprünglichen Wert (aus dem Quelltext), 'msgstr' enthält zunächst einen Leersting - hier muss dann die Übersetzung für die jeweilige Sprache eingetragen werden.

Um die jeweilige Sprache einzustellen, muss die language-Eigenschaft für alle verwendeten Formulare entsprechend eingestellt werden. Für die Übersetzung werden ausschließlich Strings die in einen Funktionsaufruf in der Form 'gettext()' oder '_()' enthalten sind. Beispiel:
$this->Button=("dieser String wird uebersetzt");

Um Ihre Anwendung für eine Sprache zu erstellen gehen Sie folgendermaßen vor:

  1. Setzen Sie alle für die Uebersetzung relevanten Strings in die gettext-Funktion (siehe oben).
  2. Wählen Sie 'Internationalization Wizard' im Menü 'Tools'.
  3. Sie erhalten zunächst eine kurze Anleitung. Klicken Sie auf 'Next' um Fortzufahren.
  4. Es erscheint ein Fenster mit allen Dateien Ihres Projekes. Klicken Sie erneut auf 'Next'.
  5. Wählen Sie die Sprachen aus, die Sie unterstützen möchten. Für jede gewählte Sprache wird ein Ordner mit der entsprechenden 'Ressourcen-Datei' erstellt (siehe oben).
  6. Klicken Sie auf 'Next' um die Erstellung der Dateien zu beginnen. Es erscheint ein Report-Fenster, in dem Sie überprüfen können, ob alle Dateien erstellt werden konnten.
  7. Hat alles funktioniert beenden Sie den Wizard mit einem Klick auf 'Finish'.
  8. Stellen Sie für alle Formulare die richtige Sprache ein. Hierzu setzen Sie im Objektinspektor die Eigenschaft 'language' auf den richtigen Wert.
  9. Starten Sie Ihre Anwendung

 

 

Impressum: Jörg Siebrands, Lüneburger Schanze 1, 21614 Buxtehude
Tipp: Besuchen Sie auch meine Website zur Fußballweltmeisterschaft 2010