Lokalisieren von Anwendungen

Flash Player 9 und höher, Adobe AIR 1.0 und höher

Bei der Lokalisierung werden Elemente zum Unterstützen mehrerer Gebietsschemas hinzugefügt. Ein Gebietsschema ist eine Kombination aus einem Sprach- und einem Ländercode. en_US bezieht sich beispielsweise auf die in den USA gesprochene englische Sprache und fr_FR auf die in Frankreich gesprochene französische Sprache. Um eine Anwendung für diese Gebietsschemas zu lokalisieren, müssen Sie zwei Elementsätze bereitstellen: einen für das Gebietsschema „en_US“ und einen für das Gebietsschema „fr_FR“.

Unterschiedliche Gebietsschemas können die gleiche Sprache verwenden. en_US und en_GB (Großbritannien) sind beispielsweise unterschiedliche Gebietsschemas. In diesem Fall verwenden beide Gebietsschemas die englische Sprache. Der Ländercode weist jedoch darauf hin, dass es sich um unterschiedliche Gebietsschemas handelt, die möglicherweise unterschiedliche Elemente verwenden. In einer Anwendung für das Gebietsschema „en_US“ lautet das Word für Farbe möglicherweise „color“, im Gebietsschema „en_GB“ dagegen „colour“. Außerdem würde als Währung je nach Gebietsschema Dollar bzw. Pfund verwendet. Es kann ferner sein, dass sich das Datums- und Uhrzeitformat voneinander unterschieden.

Sie können einen Elementesatz für eine Sprache bereitstellen, ohne einen Ländercode anzugeben. So können Sie z. B. en-Elemente für die englische Sprache und zusätzliche Elemente für das Gebietsschema „en_US“ bereitstellen, die speziell für US-Englisch gelten.

Das Lokalisieren geht über die Übersetzung der in der Anwendung verwendeten Strings hinaus. Sie kann ferner beliebige Arten von Elementen umfassen, z. B. Audiodateien, Bilder und Videos.

Auswählen eines Gebietsschemas

Mit folgenden Methoden können Sie ermitteln, welches Gebietsschema Ihr Inhalt oder Ihre Anwendung verwendet:

  • flash.globalization package – Verwenden Sie die Klassen mit Gebietsschemaerkennung im flash.globalization-Paket, um das Standardgebietsschema für einen Benutzer auf Grundlage des Betriebssystems und der Benutzervoreinstellungen abzurufen. Dies ist das bevorzugte Verfahren für Anwendungen, die in Flash Player 10.1 oder höher oder in Laufzeiten von AIR 2.0 oder höher ausgeführt werden. Weitere Informationen finden Sie unter Bestimmen des Gebietsschemas .

  • Benutzeraufforderung – Sie können die Anwendung in einem Standardgebietsschema starten und den Benutzer auffordern, das bevorzugte Gebietsschema auszuwählen.

  • (Nur AIR) Capabilities.languages – Die Capabilities.languages -Eigenschaft listet ein Array von Sprachen auf, die gemäß Einstellung im Betriebssystem als vom Benutzer bevorzugte Sprachen verfügbar sind. Die Strings enthalten von RFC4646 ( http://www.ietf.org/rfc/rfc4646.txt ) definierte Sprach-Tags (und, sofern zutreffend, Skript- und Gebietsschemainformationen). Die Strings verwenden Bindestriche als Trennzeichen (z. B. "en-US" oder "ja-JP" ). Der erste Eintrag im zurückgegebenen Array hat die gleiche primäre Sprachen-ID wie die language-Eigenschaft. Wenn beispielsweise languages[0] auf "en-US" gesetzt ist, ist die language -Eigenschaft auf "en" gesetzt. Wenn aber die language-Eigenschaft auf "xu" eingestellt ist (also auf eine unbekannte Sprache), dann lautet das erste Element im languages -Array anders.

  • Capabilities.language – Die Capabilities.language -Eigenschaft stellt den Benutzeroberflächensprachcode des Betriebssystems bereit. Diese Eigenschaft ist jedoch auf 20 bekannte Sprachen beschränkt. In englischen Systemen gibt diese Eigenschaft außerdem nur den Sprachcode, nicht jedoch den Ländercode zurück. Aus diesen Gründen empfiehlt es sich, das erste Element des Capabilities.languages -Arrays zu verwenden.

Lokalisieren von Flex-Inhalten

Adobe Flex umfasst eine Architektur zum Lokalisieren von Flex-Inhalten. Diese Architektur enthält die Locale-, ResourceBundle- und ResourceManagerImpl-Klassen sowie die IResourceBundle- und IResourceManagerImpl-Schnittstellen.

Eine Flex-Lokalisierungsbibliothek mit Dienstklassen zum Sortieren von Gebietsschemas für Anwendungen steht unter Google Code (http://code.google.com/p/as3localelib/) zur Verfügung.

Lokalisieren von Flash-Inhalten

Adobe Flash Professional enthält eine Locale-Klasse in den ActionScript 3.0-Komponenten. Mit der Locale-Klasse können Sie steuern, wie eine SWF-Datei in mehrsprachigem Text angezeigt wird. Das Flash-Bedienfeld „Strings“ gestattet die Verwendung von String-IDs in dynamischen Textfeldern anstelle von String-Literalen. Dadurch können Sie eine SWF-Datei erstellen, die Text anzeigt, der aus einer sprachspezifischen XML-Datei geladen wurde. Informationen zur Verwendung der Locale-Klasse finden Sie im ActionScript 3.0-Referenzhandbuch für die Adobe Flash-Plattform .

Lokalisieren von AIR-Anwendungen

Das AIR-SDK bietet (in der Datei „AIRLocalizer.js“) eine HTML-Lokalisierungsarchitektur. Die Architektur umfasst APIs für die Arbeit mit mehreren Gebietsschemas in einer HTML-Anwendung. Eine ActionScript-Bibliothek für das Sortieren von Gebietsschemas finden Sie unter http://code.google.com/p/as3localelib/.

Lokalisieren von Datum, Uhrzeit und Währungen

Die Wiedergabe von Datum, Uhrzeit und Währungen in einer Anwendung hängt vom Gebietsschema ab. In den USA wird das Datum z. B. standardmäßig als Monat/Tag/Jahr, in Europa dagegen als Tag/Monat/Jahr wiedergegeben.

Sie können Code zum Formatieren von Datum, Uhrzeit und Währungen schreiben. Der folgende Code konvertiert ein Date-Objekt beispielsweise in das Format „Monat/Tag/Jahr“ bzw. „Tag/Monat/Jahr“. Wenn für die locale -Variable (die das Gebietsschema repräsentiert) "en_US" festgelegt wurde, gibt die Funktion das Format „Monat/Tag/Jahr“ zurück. Im Beispiel wird ein Date-Objekt für alle anderen Gebietsschemas in das Format „Tag/Monat/Jahr“ konvertiert:

function convertDate(date) 
{ 
    if (locale == "en_US") 
    { 
        return (date.getMonth() + 1) + "/" + date.getDate() + "/" + date.getFullYear(); 
    } 
    else 
    { 
        return date.getDate() + "/" + (date.getMonth() + 1) + "/" + date.getFullYear(); 
    } 
}

ADOBE FLEX

Die Flex-Architektur umfasst Steuerelemente zum Formatieren von Datum, Uhrzeit und Währungen, darunter DateFormatter und CurrencyFormatter.