2008-09-25 11 views
5

Estoy buscando internacionalizar una aplicación Flex en la que estoy trabajando y tengo curiosidad por saber si hay algunas recomendaciones o recomendaciones para hacerlo.¿Mejores prácticas para internacionalizar una aplicación Flex?

Google para obtener dicha información da como resultado un puñado de artículos pequeños y publicaciones en el blog, cada uno sobre hacerlo de manera diferente, y las ventajas y desventajas no son exactamente claras.

Editado para acotar el alcance:

  • necesidad de apoyar sólo dos idiomas (en_CA y fr_CA)
  • necesidad de ser capaz de cambiar en tiempo de ejecución
+0

@Niko: Tome un vistazo a [este artículo] (http://cookbooks.adobe.com/post_Change_Locale_at_the_runtime-11143 .html) – esBe

Respuesta

5

Por supuesto, tras Google un poco más me encuentro con un artículo en runtime localization.

y siguió estos pasos:

añadir lo siguiente a los argumentos del compilador para especificar las localizaciones soportadas y su camino: (En Flex Builder, seleccione el proyecto e ir a propiedades -> Flex Compiler -> Argumentos adicional de compilador)

-locale=en_CA,fr_CA -source-path=locale/{locale}

Crea los siguientes ficheros:

src/locale/en_CA/resources.properties 
src/locale/fr_CA/resources.properties 

Y a continuación, el compilador se queja: unable to open 'C:\Program Files\Adobe\Flex Builder 3\sdks\3.1.0\frameworks\locale\en_CA'

que parece estar relacionado con fallo SDK-12507

trabajo en torno a:
En el directorio sdks\3.1.0\bin, ejecute los siguientes comandos:

copylocale en_US en_CA 
copylocale en_US fr_CA 

Esta voluntad crea los directorios de configuración regional en la instalación de Flex Builder y crea algunos recursos necesarios en ellos.

Luego, en sus .mxml archivos, hacer referencia al paquete de recursos:

<mx:Metadata> 
    [ResourceBundle("resources")] 
</mx:Metadata> 

Y internacionalización de las cadenas:

<mx:TitleWindow title="Window Title"> 

se convierte en:

<mx:TitleWindow 
    title="{resourceManager.getString('resources', 'windowTitle')}"> 

y

var name:String = "Name"; 

se convierte en:

var name:String = resourceManager.getString("resources", "name"); 

Y en su src/locale/en_CA/resources.properties archivo:

windowTitle=Window Title 
name=Name 
+0

¿Cómo se logra el tiempo de ejecución del conmutador de configuración regional cuando se utiliza el administrador de recursos en ActionScript? –

Cuestiones relacionadas