Pacchettofl.lang
Classepublic class Locale
EreditarietàLocale Inheritance EventDispatcher Inheritance Object

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La classe fl.lang.Locale consente di controllare il modo in cui il testo multilingua viene visualizzato in un file SWF. Il pannello Stringhe di Flash consente di utilizzare gli identificatori di stringa anziché i valori letterali nei campi di testo dinamici. In questo modo è possibile creare un file SWF che visualizza il testo caricato da un file XML specifico di una lingua. Il file XML deve utilizzare il formato XML Localization Interchange File Format (XLIFF). Sono disponibili tre modi per visualizzare le stringhe specifiche per le lingue contenute nei file XLIFF:

È possibile utilizzare le proprietà e i metodi di questa classe quando si desidera sostituire gli identificatori di stringa "mediante ActionScript in fase di runtime".

Tutte le proprietà e tutti i metodi sono statici, in altre parole sono accessibili direttamente mediante la classe fl.lang.Locale anziché mediante una sua istanza.

Nota: la classe Locale è installata nel percorso di classe dello strumento di creazione di Flash e viene compilata automaticamente nei file SWF. L'utilizzo della classe Locale aumenta sensibilmente la dimensione del file SWF, in quanto la classe viene compilata in questo file.

Vedere anche

flash.system.Capabilities.language


Proprietà pubbliche
 ProprietàDefinito da
  autoReplace: Boolean
[statico] Determina se le stringhe vengono sostituite automaticamente dopo il caricamento dell'XML.
Locale
 Inheritedconstructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
  languageCodeArray: Array
[statico] [sola lettura] Un array che contiene i codici di lingua per le lingue specificate o caricate nel file FLA.
Locale
 Inheritedprototype: Object
[statico] Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
Object
  stringIDArray: Array
[statico] [sola lettura] Un array che contiene tutti gli identificatori di stringa nel file FLA.
Locale
Metodi pubblici
 MetodoDefinito da
  
addDelayedInstance(instance:Object, stringID:String):*
[statico] Aggiunge la coppia {instance, string ID} all'array interno per un uso successivo.
Locale
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
EventDispatcher
  
addXMLPath(langCode:String, path:String):void
[statico] Aggiunge la coppia {languageCode, languagePath} all'array interno per un uso successivo.
Locale
  
[statico] Restituisce true se il file XML viene caricato, false in caso contrario.
Locale
 Inherited
Invia un evento nel flusso di eventi.
EventDispatcher
  
[statico] Il codice di lingua predefinito impostato nella finestra di dialogo del pannello Stringhe o mediante una chiamata al metodo setDefaultLang().
Locale
 Inherited
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
EventDispatcher
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
  
[statico] Determina automaticamente la lingua da utilizzare e carica il file XML della lingua.
Locale
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
  
loadLanguageXML(xmlLanguageCode:String, customXmlCompleteCallback:Function = null):void
[statico] Carica il file XML della lingua specificato.
Locale
  
[statico] Restituisce il valore di stringa associato all'identificatore di stringa specifico nella lingua corrente.
Locale
  
loadStringEx(stringID:String, languageCode:String):String
[statico] Restituisce il valore di stringa associato all'identificatore di stringa specifico e al codice di lingua.
Locale
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Rimuove un listener dall'oggetto EventDispatcher.
EventDispatcher
  
[statico] Imposta il codice di lingua predefinito.
Locale
  
setLoadCallback(loadCallback:Function):*
[statico] Imposta la funzione di callback che viene chiamata una volta caricato il file XML.
Locale
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
  
setString(stringID:String, languageCode:String, stringValue:String):void
[statico] Imposta il nuovo valore di stringa di un identificatore di stringa specifico e del codice di lingua.
Locale
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
 Inherited
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
EventDispatcher
Eventi
 Evento Riepilogo Definito da
 Inherited Inviato quando Flash Player riceve lo stato di attivazione del sistema operativo e diventa attivo.EventDispatcher
 Inherited Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo.EventDispatcher
Descrizione delle proprietà
autoReplaceproprietà
autoReplace:Boolean  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Determina se le stringhe vengono sostituite automaticamente dopo il caricamento dell'XML. Se è impostata su true, il metodo di sostituzione del testo equivale all'impostazione "automaticamente in fase di runtime" del pannello Stringhe. Ciò significa che Flash Player determina la lingua predefinita dell'ambiente host e visualizza automaticamente il testo in tale lingua. Se è impostata su false, il metodo di sostituzione del testo equivale all'impostazione "mediante ActionScript in fase di runtime" del pannello Stringhe. Ciò significa che spetta all'utente caricare il file XML corretto per visualizzare il testo.

Il valore predefinito di questa proprietà dipende dall'impostazione selezionata per l'opzione Sostituisci stringhe nella finestra di dialogo del pannello Stringhe: true per "automaticamente in fase di runtime" (l'impostazione predefinita) e false per "mediante ActionScript in fase di runtime".


Implementazione
    public static function get autoReplace():Boolean
    public function set autoReplace(value:Boolean):void

Esempio
Nell'esempio riportato di seguito viene utilizzata la proprietà Locale.autoReplace per compilare il campo di testo greeting_txt creato dinamicamente sullo stage con il contenuto della stringa IDS_GREETING del file XML dell'inglese. Nel pannello Stringhe, fare clic sul pulsante Impostazioni per aprire la finestra di dialogo Impostazioni. Questa finestra consente di aggiungere due lingue attive, l'inglese (en) e il francese (fr), impostare il pulsante di opzione delle stringhe di sostituzione su mediante ActionScript in fase di runtime, quindi scegliere OK. Infine, è possibile immettere l'identificatore di stringa IDS_GREETING nel pannello Stringhe e aggiungere testo per ogni lingua attiva.
     var greeting_txt:TextField = new TextField();
     greeting_txt.x = 40;
     greeting_txt.y = 40;
     greeting_txt.width = 200;
     greeting_txt.height = 20;
     greeting_txt.autoSize = TextFieldAutoSize.LEFT;
     Locale.autoReplace = true;
     Locale.addDelayedInstance(greeting_txt, "IDS_GREETING");
     Locale.loadLanguageXML("en");
     
languageCodeArrayproprietà 
languageCodeArray:Array  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Un array che contiene i codici di lingua per le lingue specificate o caricate nel file FLA. I codici di lingua non sono ordinati alfabeticamente.


Implementazione
    public static function get languageCodeArray():Array

Esempio
Nell'esempio che segue viene caricato un file XML della lingua in base al valore corrente di un componente ComboBox. Trascinare un componente ComboBox nello stage e assegnare ad esso il nome di istanza lang_cb. Lo strumento Testo consente di creare un campo di testo dinamico cui assegnare il nome di istanza greeting_txt. Nel pannello Stringhe, aggiungere almeno due lingue attive, impostare il pulsante di opzione delle stringhe di sostituzione su "mediante ActionScript in fase runtime", quindi scegliere OK. Successivamente aggiungere l'identificatore di stringa IDS_GREETING e immettere il testo per ogni lingua attiva. Infine, aggiungere il codice ActionScript seguente al fotogramma 1 della linea temporale principale:
     Locale.setLoadCallback(localeListener);
     lang_cb.dataProvider = Locale.languageCodeArray.sort();
     lang_cb.addEventListener("change", langListener);
     
     function langListener(eventObj:Object):void {
      Locale.loadLanguageXML(eventObj.target.value);
     }
     function localeListener(success:Boolean):void {
      if (success) {
          greeting_txt.text = Locale.loadString("IDS_GREETING");
      } else {
          greeting_txt.text = "unable to load language XML file.";
      }
     }
     
stringIDArrayproprietà 
stringIDArray:Array  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Un array che contiene tutti gli identificatori di stringa nel file FLA. Gli identificatori di stringa non sono ordinati alfabeticamente.


Implementazione
    public static function get stringIDArray():Array

Esempio
Nell'esempio riportato di seguito viene analizzata la proprietà Locale.stringIDArray del file XML della lingua attualmente caricato. Nel pannello Stringhe, fare clic sul pulsante Impostazioni per aprire la finestra di dialogo Impostazioni. A questo punto, è possibile aggiungere due lingue attive, l'inglese (en) e il francese (fr), impostare il pulsante di opzione delle stringhe di sostituzione su mediante ActionScript in fase di runtime, quindi scegliere OK. Nel pannello Stringhe, è possibile aggiungere l'identificatore di stringa IDS_GREETING, quindi il testo per ogni lingua attiva.
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML("fr");
     function localeCallback(success:Boolean) {
      trace(success);
      trace(Locale.stringIDArray); // IDS_GREETING
      trace(Locale.loadStringEx("IDS_GREETING", "fr")); // bonjour
     }
     
Descrizione dei metodi
addDelayedInstance()metodo
public static function addDelayedInstance(instance:Object, stringID:String):*

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Aggiunge la coppia {instance, string ID} all'array interno per un uso successivo. Viene utilizzato da Flash principalmente quando il metodo di sostituzione delle stringhe è "automaticamente in fase di runtime".

Parametri

instance:Object — Nome di istanza del campo di testo da compilare.
 
stringID:String — Identificatore di stringa della lingua.

Restituisce
*

Esempio
L'esempio seguente utilizza la proprietà autoReplace e il metodo addDelayedInstance() per compilare un campo di testo sullo stage con la stringa IDS_GREETING del file XML della lingua inglese.
     greeting_txt.autoSize = TextFieldAutoSize.LEFT;
     Locale.autoReplace = true;
     Locale.addDelayedInstance(greeting_txt, "IDS_GREETING");
     Locale.loadLanguageXML("en");
     
addXMLPath()metodo 
public static function addXMLPath(langCode:String, path:String):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Aggiunge la coppia {languageCode, languagePath} all'array interno per un uso successivo. Viene utilizzato da Flash principalmente quando il metodo di sostituzione delle stringhe è "automaticamente in fase di runtime" o "mediante ActionScript in fase di runtime".

Parametri

langCode:String — Il codice di lingua.
 
path:String — Il percorso XML da aggiungere.


Esempio
Nell'esempio riportato di seguito viene utilizzato il metodo setInterval() per verificare se il file XML della lingua è stato caricato.
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML("en");
     // create interval to check if language XML file is loaded
     var locale_int:Number = setInterval(checkLocaleStatus, 10);
     function checkLocaleStatus():void {
      if (Locale.checkXMLStatus()) {
          clearInterval(locale_int);
          trace("clearing interval @ " + getTimer() + " ms");
      }
     }
     // callback function for Locale.setLoadCallback()
     function localeCallback(success:Boolean):void {
      greeting_txt.text = Locale.loadString("IDS_GREETING");
     }
     
checkXMLStatus()metodo 
public static function checkXMLStatus():Boolean

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Restituisce true se il file XML viene caricato, false in caso contrario.

Restituisce
Boolean — Restituisce true se il file XML viene caricato, false in caso contrario.

Esempio
Nell'esempio riportato di seguito viene utilizzato un intervallo per verificare ogni dieci secondi se il file della lingua è stato caricato. Una volta caricato il file XML, l'istanza del campo di testo greeting_txt sullo stage viene popolata con la stringa IDS_GREETING del file XML della lingua.
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML("en");
     // create interval to check if language XML file is loaded
     var locale_int:Number = setInterval(checkLocaleStatus, 10);
     function checkLocaleStatus():void {
      if (Locale.checkXMLStatus()) {
          clearInterval(locale_int);
          trace("clearing interval @ " + getTimer() + " ms");
      }
     }
     // callback function for Locale.setLoadCallback()
     function localeCallback(success:Boolean):void {
      greeting_txt.text = Locale.loadString("IDS_GREETING");
     }
     
getDefaultLang()metodo 
public static function getDefaultLang():String

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Il codice di lingua predefinito impostato nella finestra di dialogo del pannello Stringhe o mediante una chiamata al metodo setDefaultLang().

Restituisce
String — Restituisce il codice di lingua predefinito.

Vedere anche


Esempio
Nell'esempio riportato di seguito viene creata una variabile denominata defLang, che viene utilizzata per gestire la lingua predefinita iniziale del documento Flash. Nel pannello Stringhe, fare clic sul pulsante Impostazioni per avviare la finestra di dialogo Impostazioni. A questo punto, è possibile aggiungere due lingue attive, l'inglese (en) e il francese (fr), impostare il pulsante di opzione delle stringhe di sostituzione su mediante ActionScript in fase di runtime, quindi scegliere OK. Nel pannello Stringhe, è possibile aggiungere l'identificatore di stringa IDS_GREETING, quindi il testo per ogni lingua attiva.
     var defLang:String = "fr";
     Locale.setDefaultLang(defLang);
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML(Locale.getDefaultLang());
     function localeCallback(success:Boolean) {
      if (success) {
          trace(Locale.stringIDArray); // IDS_GREETING
          trace(Locale.loadString("IDS_GREETING"));
      } else {
          trace("unable to load XML");
      }
     }
     
initialize()metodo 
public static function initialize():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Determina automaticamente la lingua da utilizzare e carica il file XML della lingua. Viene utilizzato da Flash principalmente quando il metodo di sostituzione delle stringhe è "automaticamente in fase di runtime".


Esempio
In questo esempio viene illustrato come utilizzare il metodo initialize() per compilare automaticamente il campo di testo greeting_txt sullo stage con la lingua del sistema operativo corrente dell'utente. Anziché utilizzare direttamente il metodo initialize(), è preferibile impiegare il metodo di sostituzione delle stringhe "automaticamente in fase di runtime".
     trace(System.capabilities.language);
     Locale.autoReplace = true;
     Locale.addDelayedInstance(greeting_txt, "IDS_GREETING");
     Locale.initialize();
     
loadLanguageXML()metodo 
public static function loadLanguageXML(xmlLanguageCode:String, customXmlCompleteCallback:Function = null):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Carica il file XML della lingua specificato.

Parametri

xmlLanguageCode:String — Il codice di lingua del file XML della lingua da caricare.
 
customXmlCompleteCallback:Function (default = null) — La funzione di callback personalizzata da chiamare al caricamento del file XML della lingua.


Esempio
Nell'esempio riportato di seguito viene utilizzato il metodo loadLanguageXML() per caricare il file XML della lingua inglese (en). Una volta caricato il file della lingua, viene chiamato il metodo localeCallback() per popolare il campo di testo greeting_txt sullo stage con il contenuto della stringa IDS_GREETING del file XML.
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML("en");
     // create interval to check if language XML file is loaded
     var locale_int:Number = setInterval(checkLocaleStatus, 10);
     function checkLocaleStatus():void {
      if (Locale.checkXMLStatus()) {
          clearInterval(locale_int);
          trace("clearing interval @ " + getTimer() + " ms");
      }
     }
     // callback function for Locale.setLoadCallback()
     function localeCallback(success:Boolean):void {
      greeting_txt.text = Locale.loadString("IDS_GREETING");
     }
     
loadString()metodo 
public static function loadString(id:String):String

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Restituisce il valore di stringa associato all'identificatore di stringa specifico nella lingua corrente.

Parametri

id:String — Il numero di identificazione (ID) della stringa da caricare.

Restituisce
String — Il valore di stringa associato all'identificatore di stringa specifico nella lingua corrente.

Vedere anche


Esempio
Nell'esempio riportato di seguito viene utilizzato un intervallo per verificare ogni dieci secondi se il file della lingua è stato caricato. Una volta caricato il file XML, l'istanza del campo di testo greeting_txt sullo stage viene popolata con la stringa IDS_GREETING del file XML della lingua.
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML("en");
     // create interval to check if language XML file is loaded
     var locale_int:Number = setInterval(checkLocaleStatus, 10);
     function checkLocaleStatus():void {
      if (Locale.checkXMLStatus()) {
          clearInterval(locale_int);
          trace("clearing interval @ " + getTimer() + " ms");
      }
     }
     // callback function for Locale.setLoadCallback()
     function localeCallback(success:Boolean):void {
      greeting_txt.text = Locale.loadString("IDS_GREETING");
     }
     
loadStringEx()metodo 
public static function loadStringEx(stringID:String, languageCode:String):String

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Restituisce il valore di stringa associato all'identificatore di stringa specifico e al codice di lingua. Per evitare il caricamento imprevisto del file XML, loadStringEx() non carica il file XML della lingua se non è stato già caricato. È opportuno determinare il momento giusto per chiamare il metodo loadLanguageXML() se si desidera caricare un file XML della lingua.

Parametri

stringID:String — Il numero di identificazione (ID) della stringa da caricare.
 
languageCode:String — Il codice di lingua.

Restituisce
String — Il valore di stringa associato all'identificatore di stringa specifico nella lingua specificata dal parametro languageCode.

Vedere anche


Esempio
Nell'esempio riportato di seguito viene utilizzato il metodo loadStringEx() per analizzare il valore della stringa IDS_GREETING del file XML della lingua francese attualmente caricato.
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML("fr");
     function localeCallback(success:Boolean) {
      trace(success);
      trace(Locale.stringIDArray); // IDS_GREETING
      trace(Locale.loadStringEx("IDS_GREETING", "fr")); // bonjour
     }
     
setDefaultLang()metodo 
public static function setDefaultLang(langCode:String):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Imposta il codice di lingua predefinito.

Parametri

langCode:String — Una stringa che rappresenta un codice di lingua.

Vedere anche


Esempio
Nell'esempio riportato di seguito viene creata una variabile denominata defLang, che viene utilizzata per gestire la lingua predefinita iniziale del documento Flash. Nel pannello Stringhe, fare clic sul pulsante Impostazioni per aprire la finestra di dialogo Impostazioni. A questo punto, è possibile aggiungere due lingue attive, l'inglese (en) e il francese (fr), impostare il pulsante di opzione delle stringhe di sostituzione su mediante ActionScript in fase di runtime, quindi scegliere OK. Nel pannello Stringhe, è possibile aggiungere l'identificatore di stringa IDS_GREETING, quindi il testo per ogni lingua attiva.
     var defLang:String = "fr";
     Locale.setDefaultLang(defLang);
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML(Locale.getDefaultLang());
     function localeCallback(success:Boolean) {
      if (success) {
          trace(Locale.stringIDArray); // IDS_GREETING
          trace(Locale.loadString("IDS_GREETING"));
      } else {
          trace("unable to load XML");
      }
     }
     
setLoadCallback()metodo 
public static function setLoadCallback(loadCallback:Function):*

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Imposta la funzione di callback che viene chiamata una volta caricato il file XML.

Parametri

loadCallback:Function — La funzione da chiamare al caricamento del file XML della lingua.

Restituisce
*

Esempio
Nell'esempio riportato di seguito viene utilizzato un intervallo per verificare ogni dieci secondi se il file della lingua è stato caricato. Una volta caricato il file XML, l'istanza del campo di testo greeting_txt sullo stage viene popolata con la stringa IDS_GREETING del file XML della lingua.
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML("en");
     // create interval to check if language XML file is loaded
     var locale_int:Number = setInterval(checkLocaleStatus, 10);
     function checkLocaleStatus():void {
      if (Locale.checkXMLStatus()) {
          clearInterval(locale_int);
          trace("clearing interval @ " + getTimer() + " ms");
      }
     }
     // callback function for Locale.setLoadCallback()
     function localeCallback(success:Boolean):void {
      greeting_txt.text = Locale.loadString("IDS_GREETING");
     }
     
setString()metodo 
public static function setString(stringID:String, languageCode:String, stringValue:String):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Imposta il nuovo valore di stringa di un identificatore di stringa specifico e del codice di lingua.

Parametri

stringID:String — Il numero di identificazione (ID) della stringa da impostare.
 
languageCode:String — Il codice di lingua.
 
stringValue:String — Un valore di stringa.


Esempio
Nell'esempio riportato di seguito viene utilizzato il metodo setString() per impostare la stringa IDS_WELCOME dell'inglese (en) e del francese (fr).
     Locale.setString("IDS_WELCOME", "en", "hello");
     Locale.setString("IDS_WELCOME", "fr", "bonjour");
     trace(Locale.loadStringEx("IDS_WELCOME", "en")); // hello
     




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/fl/lang/Locale.html