Flex 国际化

现在做Flex项目需要国际化,下面是些经验总结:

 

Flex3可以使用.properties文件实现国际化,用mx.resources.ResourceManager类来读取.properties文件。

下面介绍下我用到的多语言的实现方案:

 

1)在命令行中运行命令

-locale en_US zh_CN -source-path+=D:/BillYao/项目工程文件/Source/language/locale/{locale}(FLEX SDK目录下默认存在en_US目录,如果想添加其他的语言,则需要自己手动添加语言包,下面的例子中将使用到中文语言包,因此我添加一个zh_CN文件夹,默认目录 C:/Program Files/Adobe/Flex Builder 3/sdks/3.1.0/frameworks/locale)

 

setup 

 

2)设置目录 在FLEX项目的根目录下创建locale/en_US和locale/zh_CN目录

 

setup

 

en_US目录下language.properties

admin.name = TEST_US

 

zh_CN目录下language.properties

admin.name = /u5927/u5bb6/u597d/uff01

 

 

language.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application   
 xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()">  

  <mx:Script>       
  <![CDATA[
   import mx.controls.Alert;           
   import mx.resources.ResourceManager;
            
   private function changeLocale(locale:String):void
   {
    // 修改语言
  resourceManager.localeChain=[locale];           
   }
 
 private function init():void
 {
  var str:String = "转";
  var charNum:Number = str.charCodeAt();
  mx.controls.Alert.show(charNum.toString(16));
 } 
  ]]>   
  </mx:Script>
 
 <mx:Metadata>
 [ResourceBundle("language")]
 </mx:Metadata>

 
 <mx:ApplicationControlBar width="400">
 <mx:Label text="Content"  width="100%"/>        
 <mx:Button label="eng" click="changeLocale('en_US')" />       
 <mx:Button label="ch" click="changeLocale('zh_CN')" />
 </mx:ApplicationControlBar> 
 <mx:Text width="400" height="140" text="{resourceManager.getString('language','admin.name')}"/>
</mx:Application>

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值