作者: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–