mx.resourcesLocale Die Gebietsschemaklasse kann benutzt werden, um einen Gebietsschemastring, z. B. „en_US_MAC“, in drei Teile aufzugliedern: Sprachencode, Ländercode und eine Variante.Object Die Gebietsschemaklasse kann benutzt werden, um einen Gebietsschemastring, z. B. "en_US_MAC", in drei Teile zu zergliedern: Sprachencode, Ländercode und eine Variante.

Die Lokalisierungs-APIs in den IResourceManager- und IResourceBundle-Schnittstellen verwenden bevorzugt Gebietsschemastrings statt Gebietsschemainstanzen. Deshalb wird diese Klasse selten in einer Anwendung benutzt.

mx.resources.IResourceBundlemx.resources.IResourceManagerLocale Konstruktor.localeStringEin ein-, zwei- oder dreiteiliger String, wie z. B. "en", "en_US" oder "en_US_MAC". Diese Teile werden durch Unterstrich voneinander getrennt. Der erste Teil ist ein Sprachencode bestehend aus zwei Kleinbuchstaben nach ISO-639. Beispiel: "en" für Englisch. Der zweite Teil ist ein Ländercode bestehend aus zwei Großbuchstaben nach ISO-3166. Beispiel: "US" für die Vereinigten Staaten. Der dritte Teil ist ein Variantenstring, der benutzt werden kann, um optional zwischen mehreren Gebietsschemas für die gleiche Sprache und das gleiche Land zu unterscheiden. Dies wird manchmal benutzt um anzuzeigen, mit welchem Betriebssystem das Gebietsschema benutzt werden soll, z. B. "MAC", "WIN" oder "UNIX". Konstruktor. toString Gibt den Gebietsschemastring zurück, welcher benutzt wurde, um die Gebietsschemainstanz zu erstellen.Gibt den Gebietsschemastring zurück, welcher benutzt wurde, um die Gebietsschemainstanz zu erstellen. Gibt den Gebietsschemastring zurück, welcher benutzt wurde, um die Gebietsschemainstanz zu erstellen. Beispiel:
      var locale:Locale = new Locale("en_US_MAC");
      trace(locale.toString()); // outputs "en_US_MAC"
      
country Der Ländercode dieser Gebietsschemainstanz. Der Ländercode dieser Gebietsschemainstanz. [Schreibgeschützt]
      var locale:Locale = new Locale("en_US_MAC");
      trace(locale.country); // outputs "US"
      
language Der Sprachencode dieser Gebietsschemainstanz. Der Sprachencode dieser Gebietsschemainstanz. [Schreibgeschützt]
      var locale:Locale = new Locale("en_US_MAC");
      trace(locale.language); // outputs "en"
      
variant Der Variantenteil dieser Gebietsschemainstanz. Der Variantenteil dieser Gebietsschemainstanz. [Schreibgeschützt]
      var locale:Locale = new Locale("en_US_MAC");
      trace(locale.variant); // outputs "MAC"
      
IResourceManager Die APIs der IResourceManager-Schnittstelle bieten Unterstützung bei der Lokalisierung der Flex-Anwendungen.flash.events:IEventDispatcher Die APIs der IResourceManager-Schnittstelle bieten Unterstützung bei der Lokalisierung der Flex-Anwendungen.

Die Lokalisierung umfasst drei wesentliche Konzepte: Gebietsschemas, Ressourcen und ResourceBundles.

Ein Gebietsschema legt eine Sprache und ein Land fest, für welche Ihre Anwendung lokalisiert wird. Beispiel: Gebietsschema "en_US" legt das in den USA gesprochene Englisch fest. (Weitere Informationen finden Sie unter mx.resources.Locale-Klasse.)

Eine Ressource ist ein vom Gebietsschema abhängiger benannter Wert. Beispiel: Ihre Anwendung besitzt eine Ressource, deren Name "OPEN" lautet und deren Wert für ein englisches Gebietsschema "Open" ist. Der Wert für ein französisches Gebietsschema ist jedoch "Ouvrir".

Ein ResourceBundle ist eine benannte Gruppe von Ressourcen, deren Werte für ein bestimmtes Gebietsschema lokalisiert wurden. Ein ResourceBundle wird durch die Kombination seines bundleName und seines locale identifiziert und besitzt ein content-Objekt, welches die Name-/Wertepaare der Ressourcen des Bundles enthält. In der Dokumentation zu mx.resources.IResourceBundle finden Sie Informationen darüber, wie ResourceBundles normalerweise aus Eigenschaftendateien erstellt werden.

Ein einzelnes ResourceManager-Objekt, welches die IResourceManager-Schnittstelle implementiert, verwaltet verschiedene ResourceBundles für mehrere Gebietsschemas und bietet Zugriff auf die Ressourcen, welche sie enthalten. Beispiel: Sie können einen bestimmten Ressourcenstring abrufen, indem Sie resourceManager.getString(bundleName, resourceName) aufrufen.

Alle Klassen, die UIComponent oder den Formatierer oder den Validator erweitern, besitzen eine resourceManager-Eigenschaft, welche einen Verweis auf das Objekt bereitstellt, welches die Schnittstelle implementiert. Andere Klassen können ResourceManager.getInstance() aufrufen, um dieses Objekt zu beziehen.

Methoden, die Ressourcen abrufen, wie z. B. getString(), durchsuchen Gebietsschemas, welche durch dielocaleChain-Eigenschaft festgelegt sind, nach Ressourcen. Durch Änderung dieser Eigenschaft können Sie Ihre Anwendung dazu bringen, z. B. japanische statt englische Ressourcen zu verwenden.

Wenn Ihre Anwendung startet, wird ResourceManager automatisch mit allen in die Anwendung kompilierten Ressourcen gefüllt. Wenn Sie ein Codemodul erzeugen, werden die Ressourcen, welche seine Klassen benötigen, standardmäßig in das Modul kompiliert. Wenn das Modul in eine Anwendung geladen wird, werden alle Bundles, welche die Anwendung nicht schon besitzt, dem ResourceManager hinzugefügt.

Sie können „Ressourcenmodule“ kompilieren, die nur Ressourcen enthalten. Diese können Sie mit der loadResourceModule()-Methode des IResourceManager laden. Mit Ressourcenmodulen können Sie mehrere Gebietsschemas unterstützen, indem Sie die benötigten Ressourcen während der Laufzeit laden, statt sie in die Anwendung zu kompilieren.

Zwar wird ResourceManager normalerweise mit ResourceBundles gefüllt, welche entweder in Ihre Anwendung kompiliert oder aus einem Modul geladen wurden, Sie können ResourceBundles aber auch programmgesteuert erstellen und sie mit der addResourceBundle()-Methode selbst dem ResourceManager hinzufügen.

mx.resources.ResourceManagermx.resources.IResourceBundlemx.resources.ResourceBundleaddResourceBundle Fügt ResourceManager ein bestimmtes ResourceBundle hinzu, sodass auf seine Ressourcen durch ResourceManager-Methoden wie z. B. getString() zugegriffen werden kann.resourceBundlemx.resources:IResourceBundleDas hinzuzufügende ResourceBundle. useWeakReferencefalseBestimmt, ob ResourceManager einen schwachen Verweis auf das Ressourcenpaket beibehält. Wenn useWeakReference den Wert true aufweist, stellt ResourceManager einen schwachen Verweis auf das Ressourcenpaket zur Verfügung. Wenn der Aufrufer die Verwendung eines schwachen Verweises wählt, liegt es in der Verantwortung des Aufrufers, einen starken Verweis auf das Ressourcenpaket beizubehalten, damit es nicht vom Garbagekollektor frühzeitig entfernt wird. Wenn useWeakReference den Wert false aufweist, stellt ResourceManager einen starken Verweis auf das Ressourcenpaket zur Verfügung, damit es nicht vom Garbagekollektor entfernt wird.

Wenn ein Flex-Modul oder eine Flex-Unteranwendung dem ResourceManager kompilierte Ressourcenpakete automatisch hinzufügt, ruft das Modul bzw. die Unteranwendung addResourceBundle() mit auf true gesetztem useWeakReference auf, um ein Festsetzen im Speicher zu vermeiden. Gehen Sie genauso vor, wenn Sie Ressourcenpakete zur Laufzeit in einer Unteranwendung oder einem Modul erstellen. Sie müssen anschließend an diesen Ressourcenpaketen mit einem starken Verweis festhalten, um zu verhindern, dass sie vom Garbagekollektor entfernt werden.

Fügt ResourceManager ein bestimmtes ResourceBundle zu, sodass auf seine Ressourcen durch ResourceManager-Methoden wie z. B. getString() zugegriffen werden kann.
findResourceBundleWithResource Sucht das Gebietsschema in localeChain für die festgelegte Ressource und gibt das erste ResourceBundle zurück, das gefunden wurde.Das erste ResourceBundle in localeChain, welches die festgelegten Ressourcen oder null enthält. mx.resources:IResourceBundlebundleNameEin Bundle-Name, z. B. "MyResources". resourceNameDer Name einer Ressource im ResourcBundle. Sucht das Gebietsschema in localeChain für die festgelegte Ressource und gibt das erste ResourceBundle zurück, das gefunden wurde. Wenn die Ressource nicht gefunden wird, gibt die Methode null zurück. getBoolean Ruft den Wert einer festgelegten Ressource als booleschen Wert ab.Der Ressourcenwert als boolescher Wert oder false, wenn kein Wert gefunden wurde. bundleNameDer Name des ResourceBundle. resourceNameDer Name einer Ressource im ResourcBundle. localenullEin bestimmtes Gebietsschema, welches für das Nachschlagen benutzt wird oder null, um in allen Gebietsschemas von localeChain zu suchen. Dieser Parameter ist optional und standardmäßig null. Diesen Wert müssen Sie nur selten festlegen. Ruft den Wert einer festgelegten Ressource als booleschen Wert ab.

Diese Methode ruft zuerst getString() auf und konvertiert das Ergebnis in Kleinbuchstaben. Es wird truezurückgegeben, wenn das Ergebnis"true" war. und false, wenn nicht.

Wenn die festgelegte Ressource nicht gefunden wurde, wird false zurückgegeben.

getBundleNamesForLocale Gibt ein Array von Strings zurück, welches die Bundle-Namen für alle ResourceBundle-Objekte festlegt, welche im ResourceManager vorliegen, und welche zum festgelegten Gebietsschema gehören.Ein Array von Bundle-Namen. localeEin Gebietsschemastring, z. B. "en_US". Gibt ein Array von Strings zurück, welches die Bundle-Namen für alle ResourceBundle-Objekte festlegt, welche im ResourceManager vorliegen, und welche zum festgelegten Gebietsschema gehören.

Die Reihenfolge der Bundle-Namen in diesem Array ist nicht festgelegt.

mx.resources.IResourceBundle
getClass Ruft den Wert einer festgelegten Ressource als Klasse ab.Der Ressourcenwert als Class oder null, wenn kein Wert gefunden wurde. bundleNameDer Name des ResourceBundle. resourceNameDer Name einer Ressource im ResourcBundle. localenullEin bestimmtes Gebietsschema, welches für das Nachschlagen benutzt wird oder null, um in allen Gebietsschemas von localeChain zu suchen. Dieser Parameter ist optional und standardmäßig null. Diesen Wert müssen Sie nur selten festlegen. Ruft den Wert einer festgelegten Ressource als Klasse ab.

Diese Methode ruft getObject() auf und erzwingt das Schreiben einer Klasse mithilfe des as-Operator. Das Ergebnis ist null, wenn der Ressourcenwert kein Klassenverweis war. Dies ist nützlich, wenn Sie Zeilen wie diese

      IMAGE=Embed("image.jpg")
      BUTTON_SKIN=ClassReference("skins.ButtonSkin_en_US")
      

in eine Eigenschaftendatei geschrieben haben und die Klasse beziehen möchten, welche die Embed() oder dieClassReference()-Direktive erzeugt hat.

Wenn die festgelegte Ressource nicht gefunden wurde, wird null zurückgegeben.

getInt Ruft den Wert einer festgelegten Ressource als int-Wert ab.Der Ressourcenwert als int-Wert oder 0, wenn der Wert nicht gefunden wurde. bundleNameDer Name des ResourceBundle. resourceNameDer Name einer Ressource im ResourcBundle. localenullEin bestimmtes Gebietsschema, welches für das Nachschlagen benutzt wird oder null, um in allen Gebietsschemas von localeChain zu suchen. Dieser Parameter ist optional und standardmäßig null. Diesen Wert müssen Sie nur selten festlegen. Ruft den Wert einer festgelegten Ressource als int-Wert ab.

Diese Methode ruft getObject() auf und wandelt das Ergebnis in einen int-Wert um. Dies ist nützlich, wenn Sie Zeilen wie diese

      MINIMUM=5
      

in eine Eigenschaftendatei geschrieben haben und den Wert 5 statt "5" erhalten möchten.

Wenn die festgelegte Ressource nicht gefunden wurde, gibt die Methode 0 zurück.

getLocales Gibt ein Array von Strings zurück, welches alle Gebietsschemas festlegt, für welche ResourceBundle-Objekte im ResourceManager existieren.Ein Array von Gebietsschemastrings. Gibt ein Array von Strings zurück, welches alle Gebietsschemas festlegt, für welche ResourceBundle-Objekte im ResourceManager existieren.

Die Reihenfolge der Gebietsschemas in diesem Array ist nicht festgelegt.

getNumber Ruft den Wert einer festgelegten Ressource als Zahl ab.Der Ressourcenwert als Zahl oder NaN, wenn kein Wert gefunden wurde. bundleNameDer Name des ResourceBundle. resourceNameDer Name einer Ressource im ResourcBundle. localenullEin bestimmtes Gebietsschema, welches für das Nachschlagen benutzt wird oder null, um in allen Gebietsschemas von localeChain zu suchen. Dieser Parameter ist optional und standardmäßig null. Diesen Wert müssen Sie nur selten festlegen. Ruft den Wert einer festgelegten Ressource als Zahl ab.

Diese Methode ruft getObject() auf und wandelt das Ergebnis in eine Zahl um. Dies ist nützlich, wenn Sie Zeilen wie diese

      LONGITUDE=170.3
      

in eine Eigenschaftendatei geschrieben haben und den Wert 170.3 statt "170.3" erhalten möchten.

Wenn die festgelegte Ressource nicht gefunden wurde, gibt die Methode NaN zurück.

getObject Ruft den Wert einer festgelegten Ressource als Objekt ab.Der Ressourcenwert, genau wie im content-Objekt gespeichert, oder undefined, wenn die Ressource nicht gefunden wurde. bundleNameDer Name des ResourceBundle. resourceNameDer Name einer Ressource im ResourcBundle. localenullEin bestimmtes Gebietsschema, welches für das Nachschlagen benutzt wird oder null, um in allen Gebietsschemas von localeChain zu suchen. Dieser Parameter ist optional und standardmäßig null. Diesen Wert müssen Sie nur selten festlegen. Ruft den Wert einer festgelegten Ressource als Objekt ab.

Der Wert wird genauso zurückgegeben, wie er im content-Objekt des ResourceBundle gespeichert ist. Es findet keine Konvertierung statt. Wenn die Ressource aus einer Eigenschaftendatei kompiliert wurde, ist der Ressourcenwert des content-Objekts immer ein String, es sei denn, dass die Embed() oder die ClassReference()-Direktive, welche in diesem Fall eine Klasse ist, benutzt wurde. Verwenden Sie getString()-, getStringArray()-, getNumber()-, getInt()-, getUint()-, getBoolean()- und getClass()-Methoden, um den Wert in speziellere Typen zu konvertieren.

Wenn die festgelegte Ressource nicht gefunden wurde, gibt die Methode undefined zurück.

getPreferredLocaleChain Gibt ein Array von Strings zurück, welches alle Gebietsschemas, für welche ResourceBundle-Objekte im ResourceManager existieren, festlegt. Geordnet nach den von Capabilities.language oder Capabilities.languages gemeldeten Benutzereinstellungen.Ein Array von Gebietsschemastrings. Gibt ein Array von Strings zurück, welches alle Gebietsschemas, für welche ResourceBundle-Objekte im ResourceManager existieren, festlegt. Geordnet nach den von Capabilities.language oder Capabilities.languages gemeldeten Benutzereinstellungen. getResourceBundle Gibt ein ResourceBundle mit dem festgelegten Gebietsschema und bundleName zurück, welches zuvor zum ResourceManager mit addResourceBundle() hinzugefügt wurde.ResourceBundle mit festgelegtem locale und bundleName, wenn vorhanden, oder null, wenn nicht. mx.resources:IResourceBundlelocaleEin Gebietsschemastring, z. B. "en_US". bundleNameEin Bundle-Name, z. B. "MyResources". Gibt ein ResourceBundle mit dem festgelegten locale und bundleName zurück, welches zuvor zum ResourceManager mit addResourceBundle() hinzugefügt wurde. Wenn kein ResourceBundle existiert, dann gibt diese Methode nullzurück. mx.resources.IResourceBundlegetStringArray Ruft den Wert einer festgelegten Ressource als Array von Strings ab.Der Ressourcenwert als Array von Strings odernull, wenn der Wert nicht gefunden wurde. bundleNameDer Name des ResourceBundle. resourceNameDer Name einer Ressource im ResourcBundle. localenullEin bestimmtes Gebietsschema, welches für das Nachschlagen benutzt wird oder null, um in allen Gebietsschemas von localeChain zu suchen. Dieser Parameter ist optional und standardmäßig null. Diesen Wert müssen Sie nur selten festlegen. Ruft den Wert einer festgelegten Ressource als Array von Strings ab.

Die Methode geht davon aus, dass der Ressourcenwert ein String ist und durch Komma abgegrenzte Elementlisten enthält. Die getString()-Methode wird aufgerufen, teilt den String an den Kommas in Elemente und entfernt Leerzeichen vor und nach jedem Element. Dies ist nützlich, wenn Sie Zeilen wie diese

      COUNTRIES=India, China, Japan
      

In einer Eigenschaftendatei sollte der Wert [ "India", "China", "Japan" ] statt "India, China, Japan"bezogen werden.

Wenn die festgelegte Ressource nicht gefunden wurde, wird null zurückgegeben.

getString Ruft den Wert einer festgelegten Ressource als String ab, nachdem die Platzhalter durch festgelegte Werte ersetzt wurden.Der Ressourcenwert als String oder null, wenn kein Wert gefunden wurde. bundleNameDer Name des ResourceBundle. resourceNameDer Name einer Ressource im ResourcBundle. parametersnullEin Array von Parametern, die die Platzhalter ersetzen. Jeder Parameter wird mithilfe der toString()-Methode in einen String konvertiert, bevor er ersetzt wird. localenullEin bestimmtes Gebietsschema, welches für das Nachschlagen benutzt wird oder null, um in allen Gebietsschemas von localeChain zu suchen. Dieser Parameter ist optional und standardmäßig null. Diesen Wert müssen Sie nur selten festlegen. Ruft den Wert einer festgelegten Ressource als String ab, nachdem die Platzhalter durch festgelegte Werte ersetzt wurden.

Diese Methode ruft getObject()auf und wandelt das Ergebnis in einen String um.

Wenn ein parameters-Array an diese Methode übergeben wird, werden die darin enthaltenen Parameter in Strings konvertiert und dann für die Platzhalter "{0}", "{1}" (usw.) im String eingesetzt, bevor er zurückgegeben wird.

Wenn die festgelegte Ressource nicht gefunden wurde, wird null zurückgegeben.

getUint Ruft den Wert einer festgelegten Ressource als uint-Wert ab.Der Ressourcenwert als uint oder 0, wenn der Wert nicht gefunden wurde. bundleNameDer Name des ResourceBundle. resourceNameDer Name einer Ressource im ResourcBundle. localenullEin bestimmtes Gebietsschema, welches für das Nachschlagen benutzt wird oder null, um in allen Gebietsschemas von localeChain zu suchen. Dieser Parameter ist optional und standardmäßig null. Diesen Wert müssen Sie nur selten festlegen. Ruft den Wert einer festgelegten Ressource als uint-Wert ab.

Diese Methode ruft die getObject()-Methode auf und wandelt das Ergebnis in einen uint-Wert um. Dies ist nützlich, wenn Sie Zeilen wie diese

      MINIMUM=5
      

in eine Eigenschaftendatei geschrieben haben und den Wert 5 statt "5" erhalten möchten.

Wenn die festgelegte Ressource nicht gefunden wurde, gibt die Methode 0 zurück.

initializeLocaleChain Initialisiert die localeChain-Eigenschaft des ResourceManager mithilfe eines Algorithmus, der die Liste des Betriebssystems der vom Benutzer bevorzugten Gebietsschemas mit der Liste des in der SWF verfügbaren Gebietsschemas vergleicht.compiledLocalesEin Array von Strings, welches die Gebietsschemas festlegt, für welche die SWF kompiliert wurde. Initialisiert die localeChain-Eigenschaft des ResourceManager mithilfe eines Algorithmus, der die Liste des Betriebssystems der vom Benutzer bevorzugten Gebietsschemas mit der Liste des in der SWF verfügbaren Gebietsschemas vergleicht.

Beispiel: Wenn der Benutzer im Betriebssystem angegeben hat, dass er Französisch bevorzugt, und die SWF für die Gebietsschemas en_US, fr_FR und de_DE kompiliert wurde, wird die localeChain so eingestellt, dass das erste Gebietsschema darin fr_FR ist.

Diese Methode wird nur von Klassen verwendet, die die IFlexModuleFactory-Schnittstelle implementieren.

mx.core.IFlexModuleFactory
installCompiledResourceBundles Erstellt Instanzen aller ResourceBundle-Unterklassen, die in der SWF kompiliert wurden, und fügt sie dem ResourceManager hinzu.Ein Array der ResourceBundle-Instanzen, das erstellt und dem ResourceManager hinzugefügt wurde. applicationDomain Die ApplicationDomain, welche die Ressourcenpaketklassen nach Namen sucht. localesEin Array von Strings, welches die Gebietsschemas festlegt, für welche die SWF kompiliert wurde. bundleNamesEin Array von Strings, welches die Namen der Ressourcenpakete festlegt, die in die SWF kompiliert wurden. useWeakReferencefalseEin Flag, das festlegt, ob die Ressourcenpakete im ResourceManager mithilfe eines schwachen Verweises installiert werden sollen. Erstellt Instanzen aller ResourceBundle-Unterklassen, die in der SWF kompiliert wurden, und fügt sie dem ResourceManager hinzu.

Beispiel: Wenn der locales-Parameter [ "en_US", "ja_JP" ] und der bundleNames-Parameter [ "core", "controls" ] ist, werden vier Ressourcenpakete installiert.

Diese Methode wird nur von Klassen verwendet, die die IFlexModuleFactory-Schnittstelle implementieren.

mx.core.IFlexModuleFactory
loadResourceModule Beginnt ein Ressourcenmodul zu laden, welches ResourceBundles enthält.Ein Objekt, welches mit diesem bestimmten Ladevorgang verknüpft ist, welcher ResourceEvent.PROGRESS, ResourceEvent.COMPLETE und ResourceEvent.ERROR-Ereignisse auslöst. urlDie URL, von welcher das Ressourcenmodul zu laden ist. updatetrueOb die update()-Methode aufgerufen werden soll, wenn das Modul den Ladevorgang beendet hat. applicationDomainnullDie ApplicationDomain, welche an die load()-Methode der IModuleInfo-Klasse übergeben wurde, die das Ressourcenmodul lädt. Dieser Parameter ist optional und standardmäßig null. securityDomainnullDie SecurityDomain, welche an die load()-Methode der IModuleInfo-Klasse übergeben wurde, die das Ressourcenmodul lädt. Dieser Parameter ist optional und standardmäßig null. Beginnt ein Ressourcenmodul zu laden, welches ResourceBundles enthält.

Jeder Aufruf dieser Methode gibt ein neues ereignisauslösendes Objekt zurück, an welchem Sie den Ladefortschritt ablesen können und erfahren, ob dieser erfolgreich abgeschlossen wurde oder mit einem Fehler endete. Dieses Objekt löst ResourceEvent.PROGRESS, ResourceEvent.COMPLETE und ResourceEvent.ERROR-Ereignisse aus.

Wenn das Modul geladen wurde, werden die ResourceBundles dem ResourceManager hinzugefügt, aber localeChain. bleibt unverändert. Wenn der update-Parameter true ist, wird die update()-Methode aufgerufen.

mx.events.ResourceEventmx.resources.IResourceManager.update()
removeResourceBundle Entfernt ein bestimmtes ResourceBundle aus dem ResourceManager, sodass auf seine Ressourcen durch ResourceManager-Methoden wie z. B. getString() nicht mehr zugegriffen werden kann.localeEin Gebietsschemastring, z. B. "en_US". bundleNameEin Bundle-Name, z. B. "MyResources". Entfernt ein bestimmtes ResourceBundle aus dem ResourceManager, sodass auf seine Ressourcen durch ResourceManager-Methoden wie z. B. getString() nicht mehr zugegriffen werden kann. mx.resources.IResourceBundleremoveResourceBundlesForLocale Entfernt alle ResourceBundles eines bestimmten Gebietsschemas aus dem ResourceManager, sodass auf seine Ressourcen durch ResourceManager-Methoden wie z. B. getString() nicht mehr zugegriffen werden kann.localeEin Gebietsschemastring, z. B. "en_US". Entfernt alle ResourceBundles eines bestimmten Gebietsschemas aus dem ResourceManager, sodass auf seine Ressourcen durch ResourceManager-Methoden wie z. B. getString() nicht mehr zugegriffen werden kann. mx.resources.IResourceBundleunloadResourceModule Entlädt ein geladenes Ressourcenmodul.urlDie URL, die zum Laden des Ressourcenmoduls verwendet wurde. updatetrueGibt an, ob die update()-Methode aufgerufen werden soll, wenn das Modul den Entladevorgang beendet hat. Entlädt ein geladenes Ressourcenmodul.

Durch Entladen des Moduls werden dessen ResourceBundles aus dem ResourceManager entfernt, dielocaleChain bleibt jedoch unverändert. Wenn der update-Parameter true ist, wird die update()-Methode aufgerufen.

update Löst ein Änderungsereignis vom ResourceManager aus. Löst ein change-Ereignis vom ResourceManager aus.

Dies führt dazu, dass bindbare Ausdrücke erneut ermitteln, ob die folgenden ResourceManager-Methoden beteiligt sind: getObject(), getString(), getStringArray(), getNumber(), getInt(), getUint(), getBoolean() oder getClass().

Dies löst auch die Ausführung der resourcesChanged()-Methode von UIComponent, Formatierer oder Validator aus. Viele Komponenten implementieren diese Methode, um ihren Status anhand der neusten Ressourcen zu aktualisieren.

localeChain Ein Array von Gebietsschemastrings, z. B. [ „en_US“ ], welches ein oder mehrere Gebietsschemas festlegt, die nach Ressourcen durchsucht werden können. Ein Array von Gebietsschemastrings, z. B. [ „en_US“ ], welches ein oder mehrere Gebietsschemas festlegt, die nach Ressourcen durchsucht werden können.

Wenn Sie die ResourceManager-Methoden getObject(), getString(), getStringArray(), getNumber(), getInt(), getUint(), getBoolean() oder getClass() aufrufen, um den Wert einer Ressource abzurufen, legen Sie einen Bundle-Namen und einen Ressourcennamen fest, aber kein Gebietsschema. Der ResourceManager beginnt mit dem ersten Gebietsschema in der localeChain und sucht nach einem ResourceBundle mit dem festgelegten Bundle-Namen für dieses Gebietsschema. Wenn ein ResourceBundle existiert und sich die festgelegte Methode darin befindet, wird der Wert dieser Ressource zurückgegeben. Wenn nicht, fährt der ResourceManager mit den anderen Gebietsschemas in localeChain fort.

Dieses Schema erlaubt das Vorhandensein von Gebietsschemas, welche nicht den kompletten Satz an lokalisierten Ressourcen aufweisen. Beispiel: Wenn Sie Ihre Anwendung in indischem Englisch statt US-Englisch lokalisieren, brauchen Sie lediglich diejenigen Ressourcen für das Gebietsschema en_IN bereitzustellen, deren Schreibweise oder Gebrauch vom US-Englischen abweicht. Anschließend setzen Sie die localeChain-Eigenschaft auf [ "en_IN", "en_US" ].

Viele Frameworkklassen gehen davon aus, dass sie von den Gebietsschemas immer die Ressourcen beziehen können, die sie erwarten. Wenn dies nicht funktioniert, geben sie einen Fehler aus. Deshalb müssen Sie sicherstellen, dass localeChain immer einen vollständigen Satz Ressourcen enthält. Wenn Sie keine vollständige Lokalisierung aller Frameworkressourcen und Ihrer eigenen Anwendungen durchgeführt haben, behalten Sie das Gebietsschema "en_US" am Ende Ihrer localeChain bei, um dies sicherzustellen.

Das Einstellen dieser Eigenschaft veranlasst ResourceManager, ein "change"-Ereignis auszulösen.

ResourceManager Diese Klasse wird benutzt, um eine einzelne Instanz der IResourceManager-Implementierung abzurufen.Object Diese Klasse wird benutzt, um eine einzelne Instanz der IResourceManager-Implementierung abzurufen. IResourceManager- und IResourceBundle-Schnittstellen arbeiten zusammen, um Internationalisierungsunterstützung für Flex-Anwendungen bereitzustellen.

Eine einzelne Instanz einer IResourceManager-Implementierung verwaltet alle lokalisierten Ressourcen einer Flex-Anwendung.

mx.resources.IResourceManagermx.resources.IResourceBundlegetInstance Ruft die Instanz der ResourceManager-Klasse ab.Ein Objekt, welches IResourceManager implementiert. mx.resources:IResourceManager Ruft die Instanz der ResourceManager-Klasse ab. Dieses Objekt verwaltet alle lokalisierten Ressourcen für eine Flex-Anwendung.
ResourceBundle Stellt eine Implementierung der IResourceBundle-Schnittstelle bereit.mx.resources:IResourceBundleObject Stellt eine Implementierung der IResourceBundle-Schnittstelle bereit. IResourceManager- und IResourceBundle-Schnittstellen arbeiten zusammen, um Internationalisierungsunterstützung für Flex-Anwendungen bereitzustellen.

Normalerweise besitzt eine Flex-Anwendung mehrere Instanzen dieser Klasse, welche alle von einer einzigen Instanz der ResourceManager-Klasse verwaltet werden. Mehrere ResourceBundle-Instanzen für mehrere Gebietsschemas sind möglich, jeweils eine für jedes Gebietsschema. Es kann mehrere ResourceBundle-Instanzen mit verschiedenen Bundle-Namen geben.

mx.resources.IResourceBundlemx.resources.IResourceManagerResourceBundle Konstruktor.localenullEin Gebietsschemastring, z. B. "en_US". bundleNamenullEin Name, der dieses Bundle identifiziert, z. B. "MyResources". Konstruktor. getContent Wenn eine Eigenschaftendatei in ein ResourceBundle kompiliert wurde, generiert der MXML-Compiler automatisch eine Unterklasse des ResourceBundle.Das Objekt, welches Schlüssel-/Wertepaare für die Ressourcen des Bundle enthält. Wenn eine Eigenschaftendatei in ein ResourceBundle kompiliert wurde, generiert der MXML-Compiler automatisch eine Unterklasse des ResourceBundle. Die Unterklasse setzt diese Methode außer Kraft, um ein Objekt zurückzugeben, welches Schlüssel-/Wertepaare für die Ressourcen des Bundles enthält.

Wenn Sie Ihre eigene ResourceBundle-Instanz erzeugen, können Sie die Schlüssel-/Wertepaare des content-Objekts festlegen.

bundleName content locale
IResourceBundle IResourceBundle- und IResourceManager-Schnittstellen arbeiten zusammen, um Internationalisierungsunterstützung für Flex bereitzustellen. IResourceBundle- und IResourceManager-Schnittstellen arbeiten zusammen, um Internationalisierungsunterstützung für Flex bereitzustellen.

Die Lokalisierung umfasst drei wesentliche Konzepte: Gebietsschemas, Ressourcen und ResourceBundles.

Ein Gebietsschema legt eine Sprache und ein Land fest, für welche Ihre Anwendung lokalisiert wird. Beispiel: Gebietsschema "en_US" legt das in den USA gesprochene Englisch fest. (Weitere Informationen finden Sie unter mx.resources.Locale-Klasse.)

Eine Ressource ist ein vom Gebietsschema abhängiger benannter Wert. Beispiel: Ihre Anwendung besitzt eine Ressource, deren Name "OPEN" lautet und deren Wert für ein englisches Gebietsschema "Open" ist. Der Wert für ein französisches Gebietsschema ist jedoch "Ouvrir".

Ein ResourceBundle ist eine benannte Gruppe von Ressourcen, deren Werte für ein bestimmtes Gebietsschema lokalisiert wurden. Ein ResourceBundle wird durch die Kombination seines bundleName und seines locale identifiziert und besitzt ein content-Objekt, welches die Name-/Wertepaare der Ressourcen des Bundles enthält.

Die IResourceBundle-Schnittstelle stellt ein bestimmtes ResourceBundle dar. Die meisten Anwendungen benötigen jedoch lediglich IResourceManager. Ein einzelnes ResourceManager-Objekt, welches diese Schnittstelle implementiert, verwaltet verschiedene ResourceBundles, manchmal für mehrere Gebietsschemas, und bietet Zugriff auf die Ressourcen, welche sie enthalten. Beispiel: Sie können einen bestimmten Ressourcenstring abrufen, indem Sie resourceManager.getString(bundleName, resourceName) aufrufen. Durch Ändern der localeChain-Eigenschaft des ResourceManager können Sie festlegen, welche ResourceBundles nach Ressourcenwerten durchsucht werden.

Normalerweise erstellen Sie ResourceBundles nicht selbst. Sie werden aus einer Eigenschaftendatei kompiliert Eine Eigenschaftendatei mit dem Namen MyResources.properties erstellt ein ResourceBundle mit "MyResources" als bundleName. Im Allgemeinen erstellt man mehrere Versionen von jeder Eigenschaftendatei. Eine für jedes Gebietsschema, welches die Anwendung unterstützt.

Flex-Eigenschaftendateien ähneln Java-Eigenschaftendateien, mit dem Unterschied, dass sie zusätzlich MXML Embed() und ClassReference()-Direktiven unterstützen. Diese Direktiven funktionieren innerhalb von Eigenschaftendateien genauso wie in CSS-Dateien und erzeugen Klassenverweise. Des Weiteren wird davon ausgegangen, dass das Kodieren der Flex-Eigenschaften stets in UTF-8 erfolgt.

Die Ressourcen des Flex-Frameworks wurden für US-Englisch und Japanisch lokalisiert (Gebietsschema "en_US" und Gebietsschema "ja_JP"). Die Frameworkressourcen sind in mehrere Bundles aufgeteilt, welche Frameworkpaketen entsprechen. Beispiel: Das „Formatierer“-Bundle wird von Klassen des mx.formatters-Pakets benutzt. (Es gibt ebenfalls ein „SharedResources"-Bundle für Ressourcen, welches von mehreren Paketen benutzt wird.)

Die Eigenschaftendateien für die Frameworkressourcen wie formatters.properties finden Sie in den frameworks/projects/framework/bundles/{locale}/src-Ordnern von Flex SDK. Ihre Anwendungen sind mit dem Flex-Framework als vorkompilierte Bibliotheken verlinkt: framework.swc im frameworks/libs-Ordner. Diese Bibliothek enthält keine Ressourcen. Stattdessen wurden die Frameworkressourcen in separate ResourceBundle-Bibliotheken kompiliert, z. B. framework_rb.swc. Diese befinden sich in den frameworks/locales/{locale}-Ordnern und Ihre Anwendung muss auch auf einen oder mehrere dieser Ordner verlinken.

Es ist Ihnen überlassen, die Ressourcen Ihrer eigenen Anwendung nach Ihren Wünschen in Bundles zu gruppieren. Wenn Sie Ihre Anwendung für andere Gebietsschemas als "en_US" und "ja_JP" lokalisieren, sollten Sie die Eigenschaftendateien des Frameworks ebenfalls für diese Gebietsschemas lokalisieren und zusätzliche ResourceBundle-Bibliotheken für diese kompilieren.

Wenn Ihre Anwendung startet, wird ResourceManager automatisch mit allen in die Anwendung kompilierten Ressourcen gefüllt. Wenn Sie ein Codemodul erzeugen, werden die Ressourcen, welche seine Klassen benötigen, standardmäßig in das Modul kompiliert. Wenn das Modul in eine Anwendung geladen wird, werden alle Bundles, welche die Anwendung nicht schon besitzt, dem ResourceManager hinzugefügt.

Sie können „Ressourcenmodule“ kompilieren, die nur Ressourcen enthalten. Diese können Sie mit der loadResourceModule()-Methode des ResourceManager laden. Mit Ressourcenmodulen können Sie mehrere Gebietsschemas unterstützen, indem Sie die benötigten Ressourcen während der Laufzeit laden, statt sie in die Anwendung zu kompilieren.

Zwar wird ResourceManager normalerweise mit ResourceBundles gefüllt, welche entweder in Ihre Anwendung kompiliert oder aus einem Modul geladen wurden, Sie können ResourceBundles aber auch programmgesteuert erstellen und sie mit der addResourceBundle()-Methode selbst dem ResourceManager hinzufügen.

mx.resources.ResourceBundlemx.resources.IResourceManagermx.resources.ResourceManagerbundleName Ein Name, der dieses ResourceBundle identifiziert, z. B. „MyResources“. Ein Name, der dieses ResourceBundle identifiziert, z. B. "MyResources".

Die Eigenschaft „schreibgeschützt“ wird eingestellt, wenn ein ResourceBundle erstellt wird.

ResourceBundles, welche automatisch aus kompilierten Eigenschaftendateien erstellt wurden, haben Bundle-Namen, die auf diesen Dateinamen basieren. Beispiel: Eine Eigenschaftendatei mit dem Namen MyResources.properties erstellt ein ResourceBundle, dessen bundleName "MyResources" ist.

ResourceManager kann mehrere Bundles mit dem gleichen bundleName verwalten, solange sie verschiedene Werte für ihre locale-Eigenschaften besitzen.

content Ein Objekt, welches Schlüssel-/Wertepaare für die Ressourcen im ResourceBundle enthält. Ein Objekt, welches Schlüssel-/Wertepaare für die Ressourcen im ResourceBundle enthält.

Im Allgemeinen sollten Sie auf Ressourcen über IResourceManager-Methoden wie z. B. getString() zugreifen, statt direkt im ResourceBundle auf sie zuzugreifen. Falls Sie Ihre eigenen ResourceBundles programmgesteuert erstellen, können Sie diese mit den Ressourcen wie folgt initialisieren:

      var rb:IResourceBundle = new ResourceBundle("fr_FR", "MyResources");
      rb.content["LANGUAGE"] = "Francais";
      rb.content["GREETING"] = "Bonjour";
      

Wenn ein ResourceBundle durch Kompilieren einer Eigenschaftendatei erstellt wurde, sind ihre Werte entweder Strings oder Klassen. Beispiel: Wenn die Eigenschaftendatei Folgendes enthält:

      LANGUAGE=English
      MINIMUM_AGE=18
      ENABLED=true
      LOGO=Embed("logo.png")
      

ist der Wert der LANGUAGE-Ressource der String "English", der Wert der MINIMUM_AGE-Ressource der String "18", der Wert der ENABLED-Ressource der String "true" und der Wert der LOGO-Ressource ist eine Klasse, welche die eingebettete PNG-Datei enthält.

Sie können IResourceManager-Methoden wie z. B. getInt() und getBoolean() verwenden, um Ressourcenstrings wie z. B. "18" und "true" in den vom Code erwarteten Typ zu konvertieren.

locale Das Gebietsschema, für welches die Ressourcen des Bundles lokalisiert wurden. Das Gebietsschema, für welches die Ressourcen des Bundles lokalisiert wurden. Dies ist ein String wie "en_US" für US-Englisch.

Die Eigenschaft „schreibgeschützt“ wird eingestellt, wenn ein ResourceBundle erstellt wird.

ResourceBundles, die automatisch aus kompilierten Eigenschaftendateien erstellt wurden, besitzen Gebietsschemas, die auf der -compiler.locale-Option des mxmlc- oder compc-Compilers basieren. Beispiel: Sie kompilieren Ihre Anwendung mit der Option -compiler.locale=en_US,ja_JP und Sie haben -compiler.source-path=resources/{locale} festgelegt, sodass die Ressourcen Ihrer Anwendung, welche sich in resources/en_US/MyResources.properties und resources/ja_JP/MyResources.properties befinden, gefunden werden. Ihre Anwendung besitzt damit zwei ResourceBundles, deren bundleName "MyResources" lautet. Ein locale mit der Bezeichnung "en_US", das andere locale mit "ja_JP".