Deployment von lokalisierten Anwendungen

Aus RAD Studio
Wechseln zu: Navigation, Suche

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:

  1. 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:
    1. HKEY_CURRENT_USER\Software\Embarcadero\Locales
    2. 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 Datei Test.exe.)
  • Den String Data, der den zu verwendenden Gebietsidentifikationscode oder Sprach- und Regionsnamen bezeichnet. Für "Deutsch - Deutschland" kann dies DEU sein.

Wenn kein Data-Wert gefunden wird, wird die Standardgebietseinstellung ermittelt.

  1. Sprach- und Regionsname. Sprach- und Regionsnamen haben das folgende Format: AB-CD, wobei AB den Sprachcode und CD den Regionscode repräsentiert. Die Anwendung sucht nach Dateien mit den Dateinamenserweiterungen AB-CD.
  2. Sprachcode. Die Anwendung sucht nach Dateien mit Erweiterungen, die den zweibuchstabigen Sprachcodes AB entsprechen.
  3. Dreibuchstabiger Sprachcode. Dreibuchstabige Sprachcodes sind EFG ISO 639x-Werte. Die Anwendung sucht nach Dateien mit den Dateinamenserweiterungen EFG.
  4. Zweibuchstabiger Sprachcode. Zweibuchstabige Sprachcodes sind die beiden ersten Buchstaben EF der dreibuchstabigen Sprachcodes der ISO 639x-Werte. Die Anwendung sucht nach Dateien mit den Dateinamenserweiterungen EF.

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).

Siehe auch