`
wasw100
  • 浏览: 125953 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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–

1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics