Bestimmen des Gebietsschemas

Flash Player 10.1 und höher, Adobe AIR 2.0 und höher

Ein Gebietsschema definiert eine bestimmte Kombination aus Sprache und kulturellen Gebräuchen für ein Land oder eine Region.

Eine Gebietsschema-ID kann auf sichere Weise als String verwaltet werden. Sie können jedoch die LocaleID-Klasse verwenden, um zusätzliche Informationen zu einem Gebietsschema abzurufen.

Ein LocaleID-Objekt wird folgendermaßen erstellt:

var locale:LocaleID = new LocaleID("es-MX");

Nachdem das LocaleID-Objekt erstellt wurde, können Sie Daten über die Gebietsschema-ID abrufen. Verwenden Sie die Methoden getKeysAndValues() , getLanguage() , getRegion() , getScript() , getVariant() und isRightToLeft() sowie die name -Eigenschaft.

Die über diese Methoden und Eigenschaften abgerufenen Werte können zusätzliche Informationen zum Gebietsschema enthalten, die nicht direkt aus der Gebietsschema-ID extrahiert werden können.

Wenn eine Anwendung einen Dienst erstellt, der das Gebietsschema erkennt (wie beispielsweise zur Datumsformatierung), muss das vorgesehene Gebietsschema angegeben werden. Die Liste der unterstützten Gebietsschemas variiert von Betriebssystem zu Betriebssystem. Deshalb ist es möglich, dass das angeforderte Gebietsschema nicht zur Verfügung steht.

Flash Player versucht zunächst, den Sprachcode des angeforderten Gebietsschemas zuzuordnen. Dann versucht Flash Player, das Gebietsschema genauer zu definieren, indem ein passendes Schreibsystem (Skript) und eine zugehörige Region gesucht werden. Zum Beispiel:

var loc:LocaleID = new LocaleID("es"); 
trace(loc.getLanguage()); // es 
trace(loc.getScript()); // Latn 
trace(loc.getRegion()); // ES

In diesem Beispiel hat der LocaleID() -Konstruktor Daten über das Gebietsschema abgerufen, das dem Sprachcode „es“ für diesen Benutzer am besten entspricht.

Einstellen der Gebietsschema-ID

Das aktuelle Gebietsschema für eine Anwendung lässt sich mit verschiedenen Verfahren einstellen, wie zum Beispiel:

  • Programmieren Sie eine einzelne, hartkodierte Gebietsschema-ID in der Anwendung. Dies ist ein übliches Verfahren, das jedoch die Internationalisierung der Anwendung nicht unterstützt.

  • Verwenden Sie die Voreinstellungen für die Gebietsschema-ID, die im Betriebssystem oder Browser des Benutzers oder in anderen Benutzervoreinstellungen festgelegt sind. Durch dieses Verfahren werden meist die besten Gebietsschema-Einstellungen für den Benutzer erzielt, das Verfahren ist jedoch nicht immer ganz genau. Es besteht das Risiko, dass die Einstellungen des Betriebssystems den tatsächlichen Voreinstellungen des Benutzers nicht entsprechen. Dies ist beispielsweise der Fall, wenn der Benutzer seinen Computer mit anderen Personen gemeinsam nutzt und die bevorzugten Gebietsschemas des Betriebssystems nicht ändern kann.

  • Nachdem Sie die Gebietsschema-ID auf Grundlage der Benutzervoreinstellungen festgelegt haben, geben Sie dem Benutzer die Möglichkeit, in einer Liste der unterstützten Gebietsschemas eine Auswahl zu treffen. Diese Strategie ist normalerweise die beste Option, wenn Ihre Anwendung mehr als ein Gebietsschema unterstützt.

Diese dritte Option kann folgendermaßen implementiert werden:

  1. Rufen Sie eine Liste der bevorzugten Gebietsschemas oder Sprachen des Benutzers aus einem Benutzerprofil, aus den Einstellungen des Browsers oder Betriebssystems oder von einem Cookie ab. (Ihre Anwendung muss diese Logik selbst implementieren. Die flash.globalization-Bibliothek bietet keine Unterstützung für das direkte Lesen dieser Voreinstellungen.)

  2. Stellen Sie fest, welche dieser Gebietsschemas von Ihrer Anwendung unterstützt werden, und wählen Sie das beste Gebietsschema als Standardeinstellung aus. Verwenden Sie die LocaleID.determinePreferredLocales()-Methode, um die besten Gebietsschemas für einen Benutzer anhand seines bevorzugten Gebietsschemas und der vom Betriebssystem unterstützten Gebietsschemas zu ermitteln.

  3. Richten Sie für den Benutzer eine Möglichkeit ein, das Standardgebietsschema zu ändern, falls es nicht zufriedenstellend ist.

Einschränkungen anderer Klassen für Gebietsschemas und Sprachen

Mit der fl.lang.Locale -Klasse können Sie Textstrings auf Grundlage eines Gebietsschemas ersetzen und dazu Ressourcenpakete mit Stringwerten verwenden. Diese Klasse bietet jedoch keine Unterstützung für andere Internationalisierungsmerkmale, wie beispielsweise Formatierung von Zahlen, Währungen und Datumsangaben sowie Sortierung und Zuordnung. Außerdem steht diese Klasse nur in Flash Professional zur Verfügung.

Die aktuelle Sprachcode-Einstellung für das Betriebssystem kann auch über die flash.system.Capabilities.language -Eigenschaft abgerufen werden. Diese Eigenschaft ruft jedoch nur den zweistelligen ISO 639-1-Sprachcode auf, nicht die vollständige Gebietsschema-ID. Außerdem unterstützt sie nur bestimmte Gebietsschemas.

In AIR 1.5 können Sie die flash.system.Capabilities.languages -Eigenschaft verwenden. Diese Eigenschaft stellt ein Array der vom Benutzer bevorzugten Sprachen für die Benutzeroberfläche bereit. Deshalb unterliegt sie nicht den Einschränkungen von Capabilities.language .