Deployment von lokalisierten Anwendungen
Nach oben zu Anwendungen für den internationalen Markt - Index
Der Artikel beschreibt die notwendigen Schritte für ein korrektes Deployment Ihrer lokalisierten Anwendungen. Es ist wichtig, dass Sie sich über die Funktionsweise der Sprachauswahl und die Reihenfolge, in der die lokalisierten Ressource-DLLs ausgewählt werden, im Klaren sind.
Deployment der ausführbaren Dateien und Ressourcenmodule
Das Deployment einer lokalisierten Anwendung umfasst mehr Schritte als für eine einfache Anwendung. Sie haben in Ihrem Projekt Folgendes erstellt: Eine Reihe von lokalisierten Ressource-DLLs, die zusammen mit der ausführbaren Datei Ihrer Anwendung weitergegeben werden müssen. Angenommen, Sie haben eine Anwendung mit der ausführbaren Datei Test.exe. Zusätzlich zur Standardsprache möchten Sie diese Anwendung für zwei andere Sprachen lokalisieren: fr-FR und de-DE. Um sicherzustellen, dass Ihre Anwendung die korrekten lokalisierten Versionen des UI auf dem Client-Computer verwendet, müssen Sie die lokalisierten Ressource-DLLs in dasselbe Verzeichnis wie die ausführbare Datei platzieren. Das installierte Anwendungsverzeichnis kann z.B. diese Dateien enthalten:
C:\Programme\Test\Test.exe C:\Programme\Test\Test.exe.fr-FR C:\Programme\Test\Test.exe.de-DE
Es sind andere Szenarien möglich, aber das Platzieren der Ressourcenmodule in dasselbe Verzeichnis wie die ausführbare Hauptdatei ist der einfachste Weg.
Reihenfolge der Auswahl der Sprachressourcen-DLLs
Eine mit der IDE von RAD Studio entwickelte Anwendung kann für die Benutzeroberfläche mehrere Sprachen definieren. Benutzeroberflächenressourcen für jede Sprache werden in einer speziellen Ressourcen-DLL-Datei weitergegeben. Während der Initialisierung wählt die Anwendung die für die Elemente der Benutzeroberfläche am besten geeignete Sprache aus. Dieser Vorgang wird automatisch vor einer Interaktion mit dem Benutzer ausgeführt. Die Benutzeroberflächensprache der Anwendung wird anhand der gefundenen, verfügbaren lokalisierten Ressourcen-DLL ausgewählt.
Zum Auffinden der lokalisierten Ressourcen-DLL ermittelt die Anwendung zunächst die Liste mit den Namen der bevorzugten Sprachen. Anhand dieser Liste versucht die Anwendung mit der ausführbaren Test.exe
-Datei, die Ressourcen-DLL zu finden, die eine der folgenden Erweiterungen besitzt:
- Schlüssel "Locale override". Die Anwendung überprüft die Windows-Registrierungsschlüssel, um herauszufinden, ob ein "Locale Override" definiert wurde. Die folgenden Windows-Registrierungsschlüssel werden mit absteigender Priorität überprüft:
- HKEY_CURRENT_USER\Software\Embarcadero\Locales
- HKEY_LOCAL_MACHINE\Software\Embarcadero\Locales
Ein "Locale Override" ist ein Registrierungsschlüsselwert, der der Anwendung (die in dem Schlüsselwert angegeben ist) explizit mitteilt, welcher Gebietsidentifikationscode oder Sprach- und Regionsname verwendet werden soll.
Ein Wert für "Locale Override" sollte Folgendes enthalten:
- Den String
Name
, der den voll qualifizierten Pfad zu der ausführbaren Datei der Anwendung bezeichnet. (Den voll qualifizierten Pfad zur DateiTest.exe
.)- Den String
Data
, der den zu verwendenden Gebietsidentifikationscode oder Sprach- und Regionsnamen bezeichnet. Für "Deutsch - Deutschland" kann diesDEU
sein.Wenn kein
Data
-Wert gefunden wird, wird die Standardgebietseinstellung ermittelt.
- Sprach- und Regionsname. Sprach- und Regionsnamen haben das folgende Format:
AB-CD
, wobeiAB
den Sprachcode undCD
den Regionscode repräsentiert. Die Anwendung sucht nach Dateien mit den DateinamenserweiterungenAB-CD
. - Sprachcode. Die Anwendung sucht nach Dateien mit Erweiterungen, die den zweibuchstabigen Sprachcodes
AB
entsprechen. - Dreibuchstabiger Sprachcode. Dreibuchstabige Sprachcodes sind
EFG
ISO 639x-Werte. Die Anwendung sucht nach Dateien mit den DateinamenserweiterungenEFG
. - Zweibuchstabiger Sprachcode. Zweibuchstabige Sprachcodes sind die beiden ersten Buchstaben
EF
der dreibuchstabigen Sprachcodes der ISO 639x-Werte. Die Anwendung sucht nach Dateien mit den DateinamenserweiterungenEF
.
Angenommen, UILocale ist auf Deutsch - Deutschland gesetzt und der Schlüssel "Locale Override" für Test.exe
hat den Data
-Wert XYZ
. Beim Start sucht die Anwendung Test.EXE
in diesem Fall nach den folgenden Dateien in dem Verzeichnis, von dem aus Test.EXE
ausgeführt wird:
<code>Test.XYZ</code> <code>Test.DE-DE</code> <code>Test.DE</code> <code>Test.DEU</code> <code>Test.DE</code>
Wenn die Anwendung die lokalisierte Ressourcen-DLL bei einem dieser Schritte findet, wird die Suche angehalten, und die Anwendung lädt die gefundene Ressourcen-DLL.
Wenn keiner der obigen Schritte zur Auswahl einer gültigen lokalisierten Ressourcen-DLL führt, greift die Anwendung einfach auf die Standardsprache zurück, für die sie entwickelt wurde (normalerweise ist das die Sprache der Ressourcen, die direkt in die ausführbare Datei Ihrer Anwendung integriert sind).