flex國際化實例

作者:wasw100
網址:http://www.wasw100.com/flex/flex_internationalization_example.html

 

測試環境:MyElipse(帶Flex Builder3的插件)
可以根據 http://www.iteye.com/wiki/flex/1804-flex-internationalization 進行設置,下面就是更據這篇文章的補充

另外可參考:http://badqiu.iteye.com/blog/591493

1.一定要在sdks的bin下執行 copylocale en_US zh_CN 命令,否則編譯flex時報錯

2.這裏稍微進行補充一下,文件目錄可以和下面一樣,也可以與flex_src平行,像參考文章中那樣:

    flex_src
        --locale
            --zh_CN
                   message.properties
            --en_US
                   message.properties

3.既可以在Eclipse開發環境中的Flex Compiler/Additional compiler arguments選項增加如下參數

-locale zh_CN -locale en_US -source-path=locale/{locale}

也可以這樣配置:Flex Build Path/Source path選項卡下,Add Folder…,內容爲:

flex_src/locale/{locale}

注意和上面的區別(多了一個flex_src)

具體可結合文章開頭那兩篇文章看,兩種國際化方式也可看下面實例及註釋

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" >
    <mx:Script>
    <![CDATA[
    import mx.resources.ResourceManager;
    import mx.controls.Alert;

    private var _currentLanguage:String = "zh_CN";

    public function changeLocale():void{
    	_currentLanguage = _currentLanguage == "zh_CN" ? "en_US" : "zh_CN";
    	resourceManager.localeChain = [_currentLanguage];
	}
    ]]>
    </mx:Script>
    <mx:Metadata>
    [ResourceBundle("message")]
    </mx:Metadata>
    <!-- resourceManager.getString國際化,需要上面的mx:Metadata標籤 -->
    <mx:ApplicationControlBar width="600">
        <mx:Label text="{resourceManager.getString('message','file')}" width="50"/>
        <mx:Text  text="{resourceManager.getString('message','edit')}" width="50"/>
        <mx:Button label="{resourceManager.getString('message','change')}" click="changeLocale()"  width="70"/>
    </mx:ApplicationControlBar>
    <!-- 使用@Resource標籤國際化 -->
    <mx:Label text="@Resource(key='file', bundle='message')"/>
</mx:Application>

–EOF–

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章