flex国际化

来源:互联网 发布:hc05 编程 编辑:程序博客网 时间:2024/05/21 16:57
 

ResourceBundle的使用

新建文件夹(Locale)保存Locale资源
建子文件夹(en_US, zh_CN)用于区分Locale
在eu_US, zh_CN中分別添加资源配置文件 (资源名称.properties)

項目属性中設置Source Path,Add Folder    "Locale/{locale} ", 其中{locale}将被编译参数 -locale 自动替换

需要用locale的as 或 mxml中增加引用对象
[ResourceBundle("资源名称")]
private static var rb:ResourceBundle;

 
<<--code AlertTest.mxml >>

 

Flex代码
<?xml version="1.0" encoding="utf-8"?>  
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">  
 <mx:Script>  
  <![CDATA[  
  import mx.resources.ResourceBundle;  
       import mx.controls.Alert;  
        
        
  [ResourceBundle("AlertMessage")]  
       private static var rb:ResourceBundle;  
        
       private function alertMessage():void  
       {  
        Alert.show(rb.getString('AlertMessage'));  
       }  
  ]]>  
 </mx:Script>  
 <mx:Button label="@Resource(key='AlertButtonName', bundle='AlertMessage')"   
                     click="alertMessage()"/>  
</mx:Application> 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
 <mx:Script>
  <![CDATA[
  import mx.resources.ResourceBundle;
       import mx.controls.Alert;
     
     
  [ResourceBundle("AlertMessage")]
       private static var rb:ResourceBundle;
     
       private function alertMessage():void
       {
        Alert.show(rb.getString('AlertMessage'));
       }
  ]]>
 </mx:Script>
 <mx:Button label="@Resource(key='AlertButtonName', bundle='AlertMessage')"
                     click="alertMessage()"/>
</mx:Application>

<< - code  locale/en_US/AlertMessage >>

AlertMessage=The alert message in English
AlertButtonName=click me

<< - code  locale/zh_CN/AlertMessage.properties 注意,中文应使用UTF-8编码
file-properties-info-Text file encoding >>

AlertMessage=中文提示信息
AlertButtonName=点我