Change Locale at the runtime

Use ResourceBundle class and resourceManager method to change text and images at the runtime

<?xml version="1.0" encoding="utf-8"?>
<mx:Application
    creationComplete="{init()}"
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
    viewSourceURL="srcview/index.html">
    <mx:Script>
        <![CDATA[
            import it.creativesource.ResourceLanguage;
            private function init():void{
               
                ResourceLanguage.setResources(resourceManager);
            }
            private function changeLocale(locale:String):void{
           
                resourceManager.localeChain=[locale];
            }
        ]]>
    </mx:Script>
    <mx:ApplicationControlBar width="400">
        <mx:Image source="{resourceManager.getString('myResources','ICON')}" width="16" height="11"/>
        <mx:Label text="{resourceManager.getString('myResources','TITLE')}"  width="100%"/>
        <mx:Button icon="@Embed('assets/us.png')" label="eng" click="changeLocale('en_US')" />
        <mx:Button icon="@Embed('assets/it.png')" label="ita" click="changeLocale('it_IT')" />
    </mx:ApplicationControlBar>
   
    <mx:Text text="{resourceManager.getString('myResources','CONTENT')}"  width="400" height="240"/>
</mx:Application>

 

 

The ResourceLanguage class:

package it.creativesource
{
import mx.resources.IResourceManager;
import mx.resources.ResourceBundle;

public class ResourceLanguage
{
public function ResourceLanguage()
{
}

public static function setResources(resourceManager:IResourceManager):void{


var myResources:ResourceBundle=new ResourceBundle("en_US","myResources");
myResources.content['TITLE']="Adobe Flex - English Version";
myResources.content['CONTENT']="Adobe Flex is a collection of technologies released by Adobe Systems for the development and deployment of cross platform rich Internet applications based on the proprietary Adobe Flash platform. The initial release in March 2004 by Macromedia included a software development kit, an IDE, and a J2EE integration application known as Flex Data Services. Since Adobe acquired Macromedia in 2005, subsequent releases of Flex no longer require a license for Flex Data Services, which has become a separate product rebranded as LiveCycle Data Services.";
myResources.content['ICON']="assets/us.png";
resourceManager.addResourceBundle(myResources);


myResources=new ResourceBundle("it_IT","myResources");
myResources.content['TITLE']="Adobe Flex - Versione Italiana";
myResources.content['CONTENT']="Adobe Flex è un insieme di tecnologie rilasciato da Adobe Systems per lo sviluppo e la diffusione del multi-piattaforma Rich Internet Applications basata sulla proprietà di Adobe Flash piattaforma. The initial release in March 2004 by Macromedia included a software development kit , an IDE , and a J2EE integration application known as Flex Data Services . La release iniziale nel marzo 2004 da Macromedia incluso un kit di sviluppo software, un IDE, e un J2EE integrazione domanda noto come Flex Data Services. Since Adobe acquired Macromedia in 2005, subsequent releases of Flex no longer require a license for Flex Data Services, which has become a separate product rebranded as LiveCycle Data Services. Dato che Adobe ha acquisito Macromedia nel 2005, le successive versioni di Flex non necessitano più di una licenza per Flex Data Services, che è diventato un prodotto separato come rebranded LiveCycle Data Services.";
myResources.content['ICON']="assets/it.png";
resourceManager.addResourceBundle(myResources);

resourceManager.update();

}
}
}
引用:http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&postId=11143&productId=2&loc=en_US

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值