Softwarelokalisierung

Lokalisieren von Software mit Delphi

Delphi Projekt für die Lokalisierung vorbereiten

Wenn Sie ein Delphi Projekt für die Lokalisierung vorbereiten will sollte das betreffende Projekt bereits einen gewissen Entwicklungsstand aufweisen. Fängt man zu früh mit der Lokalisierung an so kann es sehr mühsam sein alle Textänderungen in der Grundsprache in den lokalisierten Versionen aktuell zu halten.

Formulare

Zunächst sei gesagt, dass für die Lokalisierung der Delphi Formulardateien keine besonderen Vorbereitungen nötig sind! Der Scanner von dxGetText liest automatisch alle Texte die in Eigenschaften der Formulare gespeichert sind aus und stellt sie für die Übersetzung als Originale zur Verfügung.

Quelltextdateien

Anders sieht das bei Texten aus die innerhalb des Quelltextes, z.B. in MessageDlg() Aufrufen benutzt werden. Diese Texte müssen, damit sie ebenfalls lokalisiert werden können zuerst in so genante “Ressourcestrings” umgewndelt werden. Ressourcestrings werden im Delphi Sourcecode genau so definiert wie normale Konstanten. Im Unterschied zu Konstanten, die ja mit dem Schlüsselwort “const” definiert werden wird bei Ressourcestrings das Schlüsselword “resourecstring” benutzt.

Texte die in Ressourcestrings definiert wurden werden, im Gegensatz zu Konstanten, in den Ressourcen des Programms gespeichert und sind daher zur Laufzeit austauschbar. Wir müssen also nun dafür sorgen, dass alle Strings die direkt im Quellcode benutzt werden in Ressourcestrings umgewandelt werden.

Dazu kann man die betreffenden Strings manuell umwandeln (markieren, ausschneiden, Konstantennamen vergeben, ausgeschnittenen String in die Ressourcestring-Sektion einfügen) was jedoch, vor allem bei vielen Strings sehr mühsam sein kann.

Zu Glück bieten neuere Delphi-Versionen eine Funktion mit der man einen String sozusagen auf Mausklick in einen Ressourcestring umwandeln kann. Diese Funktion verbirgt sich im Menü “Refactor”: Dort kann, sobald ein String im Quellcode markiert ist, die Funktion “Ressourcenstring extrahieren” aufgerufen werden die diese Schritte automatisiert ausführt. Dieses Refactoring erleichtert die Umwandlung der bentzten Strings schon erheblich. Noch einfacher geht es allerdings, wenn man sich die, allerdings kommerzielle, Erweiterung ModelMaker Code Explorer installiert. Diese bietet einen Assistenten mit dem man alle Strings die in einer Unit benutzt werden auf einmal umwandeln kann!

ZURÜCK ZUR VORIGEN SEITE...     (wird fortgesetzt...)

 

aktualisiert: 11.11.2009

] --> ] -->[Home] [Delphi] [Artikel]] --> ] -->