Paquetefl.lang
Clasepublic class Locale
HerenciaLocale Inheritance EventDispatcher Inheritance Object

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

La clase fl.lang.Locale permite controlar cómo aparece el texto en varios idiomas en un archivo SWF. El panel Cadenas de Flash permite utilizar ID de cadenas en lugar de literales de cadenas en campos de texto dinámicos. Esto permite crear un archivo SWF que muestre el texto cargado desde un archivo XML de un idioma específico. El archivo XML debe tener el formato XLIFF (XML Localization Interchange File Format). Existen tres formas de mostrar las cadenas de un idioma específico de los archivos XLIFF:

Puede utilizar las propiedades y los métodos de esta clase cuando quiera sustituir los ID de cadena "mediante ActionScript en tiempo de ejecución".

Todas las propiedades y métodos disponibles son estáticos, lo que significa que es posible acceder a los mismos a través de la propia clase fl.lang.Locale en lugar de hacerlo a través de una instancia de la clase.

Nota: la clase Locale se instala en la ruta de clases del entorno de edición de Flash y se compila automáticamente en archivos SWF. Si se utiliza la clase Locale, aumenta ligeramente el tamaño del archivo del SWF, ya que se compila en él mismo.

Véase también

flash.system.Capabilities.language


Propiedades públicas
 PropiedadDefinido por
  autoReplace : Boolean
[static] Determina si las cadenas se sustituyen automáticamente después de cargar el archivo XML.
Locale
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  languageCodeArray : Array
[static] [read-only] Una matriz con los códigos de los idiomas que se han especificado o cargado en el archivo FLA.
Locale
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
  stringIDArray : Array
[static] [read-only] Una matriz que contiene todos los ID de cadena del archivo FLA.
Locale
Métodos públicos
 MétodoDefinido por
  
addDelayedInstance(instance:Object, stringID:String):*
[static] Añade el par {instancia, ID de cadena} en la matriz interna para utilizarlo en otro momento.
Locale
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
EventDispatcher
  
addXMLPath(langCode:String, path:String):void
[static] Añade el par {languageCode y languagePath} en la matriz interna para utilizarlo en otro momento.
Locale
  
[static] Devuelve true si el documento XML está cargado; en caso contrario, false.
Locale
 Inherited
Distribuye un evento en el flujo del evento.
EventDispatcher
  
[static] El código de idioma predeterminado definido en el cuadro de diálogo del panel Cadenas o al llamar al método setDefaultLang().
Locale
 Inherited
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
EventDispatcher
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
  
[static] Determina automáticamente el idioma que se va a utilizar y carga el archivo de idioma XML.
Locale
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
  
loadLanguageXML(xmlLanguageCode:String, customXmlCompleteCallback:Function = null):void
[static] Carga el archivo de idioma XML especificado.
Locale
  
[static] Devuelve el valor de cadena asociado con el ID de cadena indicado en el idioma actual.
Locale
  
loadStringEx(stringID:String, languageCode:String):String
[static] Devuelve el valor de cadena asociado al ID de cadena y el código de idioma indicado.
Locale
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Elimina un detector del objeto EventDispatcher.
EventDispatcher
  
[static] Define el código de idioma predeterminado.
Locale
  
setLoadCallback(loadCallback:Function):*
[static] Define la función callback que se llamará después de cargar el archivo XML.
Locale
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
  
setString(stringID:String, languageCode:String, stringValue:String):void
[static] Define el nuevo valor de cadena de un ID de cadena y código de idioma indicados.
Locale
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
 Inherited
Devuelve el valor simple del objeto especificado.
Object
 Inherited
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
EventDispatcher
Eventos
 Evento Resumen Definido por
 Inherited Se distribuye cuando Flash Player queda seleccionado por el sistema operativo y pasa a estar activo.EventDispatcher
 Inherited Se distribuye cuando Flash Player deja de estar seleccionado por el sistema operativo y pasa a estar inactivo.EventDispatcher
Información sobre propiedades
autoReplacepropiedad
autoReplace:Boolean  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Determina si las cadenas se sustituyen automáticamente después de cargar el archivo XML. Si se define como true, el método de sustitución de texto es equivalente a la configuración del panel Cadenas "automáticamente en tiempo de ejecución". Esto significa que Flash Player establecerá el idioma predeterminado del entorno host y mostrará automáticamente el texto en dicho idioma. Si se define como false, el método de sustitución de texto es idéntico a la configuración del panel Cadenas "mediante ActionScript en tiempo de ejecución". Esto significa que el usuario es responsable de la carga del archivo XML correcto para mostrar el texto.

El valor predeterminado de esta propiedad refleja la configuración seleccionada para Reemplazar cadenas en el panel Cadenas: true para "automáticamente en tiempo de ejecución" (la configuración predeterminada) y false para "mediante ActionScript en tiempo de ejecución".


Implementación
    public static function get autoReplace():Boolean
    public function set autoReplace(value:Boolean):void

Ejemplo
En el ejemplo siguiente, se utiliza la propiedad Locale.autoReplace para llenar el campo de texto greeting_txt que se ha creado de forma dinámica en el escenario con el contenido de la cadena IDS_GREETING del archivo XML inglés. En el panel Cadenas, haga clic en el botón Configuración para abrir el cuadro de diálogo Configuración. Puede añadir dos idiomas activos en el cuadro de diálogo Configuración: inglés (en) y francés (fr), defina el botón de opción de sustitución de cadenas como "mediante ActionScript en tiempo de ejecución" y haga clic en Aceptar. Por último, introduzca un ID de cadena IDS_GREETING en el panel Cadenas y añada texto para cada idioma activo.
     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");
     
languageCodeArraypropiedad 
languageCodeArray:Array  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Una matriz con los códigos de los idiomas que se han especificado o cargado en el archivo FLA. Los códigos de idioma no se ordenan alfabéticamente.


Implementación
    public static function get languageCodeArray():Array

Ejemplo
En el ejemplo siguiente se carga un archivo XML de idioma basado en el valor actual de un componente ComboBox. Arrastre un componente ComboBox al escenario y asígnele un nombre de instancia de lang_cb. Con la herramienta Texto, cree un campo de texto dinámico y asígnele un nombre de instancia de greeting_txt. En el panel Cadenas, añada al menos dos idiomas activos, defina el botón de opción de sustitución de cadenas como "mediante ActionScript en tiempo de ejecución" y haga clic en Aceptar. A continuación, añada un ID de cadena IDS_GREETING e introduzca texto para cada idioma activo. Por último, añada el siguiente código ActionScript al fotograma 1 de la línea de tiempo principal:
     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.";
      }
     }
     
stringIDArraypropiedad 
stringIDArray:Array  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Una matriz que contiene todos los ID de cadena del archivo FLA. Los ID de cadena no se ordenan alfabéticamente.


Implementación
    public static function get stringIDArray():Array

Ejemplo
En el ejemplo siguiente se controla la propiedad Locale.stringIDArray para el archivo de idioma XML cargado actualmente. En el panel Cadenas, haga clic en el botón Configuración para abrir el cuadro de diálogo Configuración. A continuación, añada dos idiomas activos: inglés (en) y francés (fr), defina el botón de opción de sustitución de cadenas como "mediante ActionScript en tiempo de ejecución" y haga clic en Aceptar. En el panel Cadenas, añada un ID de cadena IDS_GREETING y, a continuación, añada texto para cada idioma activo.
     Locale.setLoadCallback(localeCallback);
     Locale.loadLanguageXML("fr");
     function localeCallback(success:Boolean) {
      trace(success);
      trace(Locale.stringIDArray); // IDS_GREETING
      trace(Locale.loadStringEx("IDS_GREETING", "fr")); // bonjour
     }
     
Información sobre métodos
addDelayedInstance()método
public static function addDelayedInstance(instance:Object, stringID:String):*

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Añade el par {instancia, ID de cadena} en la matriz interna para utilizarlo en otro momento. Flash lo utiliza principalmente cuando el método de sustitución de cadenas es "automáticamente en tiempo de ejecución".

Parámetros

instance:Object — Nombre de instancia del campo de texto que se va a llenar.
 
stringID:String — ID de cadena de idioma.

Valor devuelto
*

Ejemplo
En el ejemplo siguiente, se utiliza la propiedad autoReplace y el método addDelayedInstance() para llenar un campo de texto en el escenario con la cadena IDS_GREETING del archivo de idioma XML inglés.
     greeting_txt.autoSize = TextFieldAutoSize.LEFT;
     Locale.autoReplace = true;
     Locale.addDelayedInstance(greeting_txt, "IDS_GREETING");
     Locale.loadLanguageXML("en");
     
addXMLPath()método 
public static function addXMLPath(langCode:String, path:String):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Añade el par {languageCode y languagePath} en la matriz interna para utilizarlo en otro momento. Flash lo utiliza principalmente cuando el método de sustitución de cadenas es "automáticamente en tiempo de ejecución" o "mediante ActionScript en tiempo de ejecución".

Parámetros

langCode:String — El código de idioma.
 
path:String — La ruta XML que se añadirá.


Ejemplo
En el ejemplo siguiente, se utiliza el método setInterval() para comprobar si el archivo de idioma XML se ha cargado correctamente.
     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()método 
public static function checkXMLStatus():Boolean

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve true si el archivo XML está cargado; en caso contrario false.

Valor devuelto
Boolean — Devuelve true si el archivo XML está cargado; en caso contrario false.

Ejemplo
En el ejemplo siguiente se utiliza un intervalo para comprobar cada 10 milisegundos si el archivo de idioma se ha cargado correctamente. Una vez que el archivo XML se ha cargado, la instancia del campo de texto greeting_txt del escenario se llena con la cadena IDS_GREETING del archivo XML de idioma.
     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()método 
public static function getDefaultLang():String

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

El código de idioma predeterminado definido en el cuadro de diálogo del panel Cadenas o al llamar al método setDefaultLang().

Valor devuelto
String — Devuelve el código de idioma predeterminado.

Véase también


Ejemplo
En el ejemplo siguiente, se crea una variable denominada defLang, utilizada para el idioma predeterminado inicial para el documento de Flash. En el panel Cadenas, haga clic en el botón Configuración para abrir el cuadro de diálogo Configuración. A continuación añada dos idiomas activos: inglés (en) y francés (fr), defina el botón de opción de sustitución de cadenas como "mediante ActionScript en tiempo de ejecución" y haga clic en Aceptar. En el panel Cadenas, añada un ID de cadena IDS_GREETING y, a continuación, añada texto para cada idioma activo.
     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()método 
public static function initialize():void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Determina automáticamente el idioma que se va a utilizar y carga el archivo de idioma XML. Flash lo utiliza principalmente cuando el método de sustitución de cadenas es "automáticamente en tiempo de ejecución".


Ejemplo
En este ejemplo, se muestra cómo usar el método initialize() para llenar automáticamente el campo de texto greeting_txt en el escenario con el idioma actual del SO del usuario. En lugar de utilizar el método initialize() directamente, utilice el método de sustitución de cadenas de "automáticamente en tiempo de ejecución".
     trace(System.capabilities.language);
     Locale.autoReplace = true;
     Locale.addDelayedInstance(greeting_txt, "IDS_GREETING");
     Locale.initialize();
     
loadLanguageXML()método 
public static function loadLanguageXML(xmlLanguageCode:String, customXmlCompleteCallback:Function = null):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Carga el archivo de idioma XML especificado.

Parámetros

xmlLanguageCode:String — El código de idioma para el archivo de idioma XML que desea cargar.
 
customXmlCompleteCallback:Function (default = null) — Función callback personalizada que se va a llamar cuando se cargue un archivo de idioma XML.


Ejemplo
En el ejemplo siguiente se utiliza el método loadLanguageXML() para cargar el archivo de idioma XML inglés (en). Una vez que esté cargado el archivo de idioma, se llama al método localeCallback() que llena el campo de texto greeting_txt del escenario con el contenido de la cadena IDS_GREETING del archivo 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()método 
public static function loadString(id:String):String

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve el valor de cadena asociado al ID de cadena indicado en el idioma actual.

Parámetros

id:String — El número de identificación (ID) de la cadena que se va a cargar.

Valor devuelto
String — Devuelve el valor de cadena asociado con el ID de cadena indicado en el idioma actual.

Véase también


Ejemplo
En el ejemplo siguiente se utiliza un intervalo para comprobar cada 10 milisegundos si el archivo de idioma se ha cargado correctamente. Una vez que el archivo XML se ha cargado, la instancia del campo de texto greeting_txt del escenario se llena con la cadena IDS_GREETING del archivo de idioma 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");
     }
     
loadStringEx()método 
public static function loadStringEx(stringID:String, languageCode:String):String

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Devuelve el valor de cadena asociado al ID de cadena y el código de idioma indicado. Para evitar la carga del archivo XML no planificada, loadStringEx() no carga el archivo de idioma XML si no está ya cargado. Debe decidir el momento correcto para llamar a loadLanguageXML() si desea cargar un archivo de idioma XML.

Parámetros

stringID:String — El número de identificación (ID) de la cadena que se va a cargar.
 
languageCode:String — El código de idioma.

Valor devuelto
String — El valor de cadena asociado al ID de cadena indicado en el idioma especificado por el parámetro languageCode.

Véase también


Ejemplo
En el siguiente ejemplo se utiliza el método loadStringEx() para controlar el valor de la cadena IDS_GREETING para el archivo XML de idioma francés cargado.
     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()método 
public static function setDefaultLang(langCode:String):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Define el código de idioma predeterminado.

Parámetros

langCode:String — Cadena que representa un código de idioma.

Véase también


Ejemplo
En el ejemplo siguiente, se crea una variable denominada defLang, utilizada para el idioma predeterminado inicial para el documento de Flash. En el panel Cadenas, haga clic en el botón Configuración para abrir el cuadro de diálogo Configuración. A continuación añada dos idiomas activos: inglés (en) y francés (fr), defina el botón de opción de sustitución de cadenas como "mediante ActionScript en tiempo de ejecución" y haga clic en Aceptar. En el panel Cadenas, añada un ID de cadena IDS_GREETING y, a continuación, añada texto para cada idioma activo.
     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()método 
public static function setLoadCallback(loadCallback:Function):*

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Define la función callback que se llamará después de cargar el archivo XML.

Parámetros

loadCallback:Function — Función que se va a llamar cuando se cargue un archivo de idioma XML.

Valor devuelto
*

Ejemplo
En el ejemplo siguiente se utiliza un intervalo para comprobar cada 10 milisegundos si el archivo de idioma se ha cargado correctamente. Una vez que el archivo XML se ha cargado, la instancia del campo de texto greeting_txt del escenario se llena con la cadena IDS_GREETING del archivo de idioma 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");
     }
     
setString()método 
public static function setString(stringID:String, languageCode:String, stringValue:String):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Define el nuevo valor de cadena de un ID de cadena y código de idioma indicados.

Parámetros

stringID:String — El número de identificación (ID) de la cadena que va a definir.
 
languageCode:String — El código de idioma.
 
stringValue:String — Un valor de la cadena.


Ejemplo
En el ejemplo siguiente se utiliza el método setString() para definir la cadena IDS_WELCOME para inglés (en) y francés (fr).
     Locale.setString("IDS_WELCOME", "en", "hello");
     Locale.setString("IDS_WELCOME", "fr", "bonjour");
     trace(Locale.loadStringEx("IDS_WELCOME", "en")); // hello
     




 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/fl/lang/Locale.html