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

被折叠的 条评论
为什么被折叠?



