`
nianshi
  • 浏览: 420560 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Flex 国际化

    博客分类:
  • Flex
阅读更多


在项目中新建一个locale的目录(src目录下);

在locale目录下创建需要支持语言的子目录,如locale/zh_CN, locale/en_US;

在这些子目录下新建properties文件(en_US.properties,zh_CN.properties),各目录下的属性文件需要 同名。属性文件的格式与java的属性文件相同,每行以"key=value"的形式列出键值对,以utf-8编码保存文件;

编译mxml文件时加上 -locale=en_US,zh_CN -source-path=/locale/{locale}的选项;



在flex的sdk下加入中文库(C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\locale)zh_CN



Localizator.as文件内容如下:



package util {

    

    import flash.events.EventDispatcher;

    import flash.events.IEventDispatcher;

   import flash.events.Event;

    import mx.resources.ResourceBundle;

    

    public class Localizator extends EventDispatcher {

        

        //采用单例模式

        private static var _instance : Localizator;

        

        private var _language : String;

        

        //这里的resource名应与.properties文件名相同

       [ResourceBundle("en_US")]

        private var lang_en_US:ResourceBundle;

       

        [ResourceBundle("zh_CN")]

        private var lang_zh_CN:ResourceBundle;         

        [Bindable]

        private var currRes:ResourceBundle;

        

        public function Localizator(language : String = "en_US") {

            selectLanguage(language);

        }

        

       public static function getInstance(language : String = "en_US"):Localizator {

            if (_instance == null) {

                _instance = new Localizator(language);

            }

            return _instance;      

             }

        private function selectLanguage(language : String):void {

            this._language = language;

            

            if (_language == "en_US") {

                this.currRes = lang_en_US;

            } else if (_language == "zh_CN") {

                this.currRes = lang_zh_CN;

           } else {

               this.currRes = lang_en_US;

            }

        }

        

        [Bindable(event="languageChange")]

        public function getText(key:String):String {

            return this.currRes.getString(key);

       }

        

        public function get language():String {

            return this._language;

       }

           public function set language(language : String):void {

            if (this._language != language) {

                selectLanguage(language);

                dispatchEvent(new Event("languageChange"));

            }

        }

   }

}







internation.mxml文件如下:



<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" preinitialize="init()">



<mx:Script>

  <![CDATA[

   import util.Localizator;

   import mx.controls.Alert;

   [Bindable]

   private var localizator : Localizator = Localizator.getInstance();

 

  private function init():void {

   //初始化时设置的语言是用户系统的语言

    var crrlanguage:String =  Capabilities.language.toString();//获去用户系统语言

    if(crrlanguage == 'zh-CN' ){

     localizator.language = 'zh_CN';

    }else if(crrlanguage == 'en-US'){

     localizator.language = 'en_US';

    }else{

     Alert.show(crrlanguage+"其他语言");

    }

   

    }

 

   private function changeLanguage(language:String):void {

    localizator.language = language;

   }

 

  ]]>

</mx:Script>



<mx:Label id="label1" x="10" y="10" text="{localizator.getText('label1')}" width="152" height="20" fontSize="12" fontWeight="bold"/>

<mx:Label id="label2" x="10" y="38" text="{localizator.getText('label2')}" width="144" height="22" fontSize="12" fontWeight="bold"/>



<mx:Button x="10" y="68" label="Chinese" click="changeLanguage('zh_CN')"/>

<mx:Button x="88" y="68" label="English" click="changeLanguage('en_US')"/>


</mx:Application>
分享到:
评论

相关推荐

    FLEX国际化

    Flex国际化的实现主要涉及到在Adobe Flex应用程序中支持多种语言,以满足全球用户的使用需求。Flex作为一款强大的富互联网应用(RIA)开发框架,允许开发者创建交互性强、用户体验良好的Web应用程序。在开发过程中,...

    Flex国际化方法

    ### Flex 国际化方法详解 #### 一、引言 随着互联网的全球化发展,软件产品的用户群体不再局限于某一特定地区或国家,因此对于开发者来说,实现软件的国际化(Internationalization,简称i18n)变得越来越重要。...

    flex 入门 flex 国际化

    flex 入门介绍 flex 如何结合 j2ee 开发应用程序以及 flex 的国际化等

    Flex 国际化(demo)

    **Flex国际化的概念与重要性** 在开发全球化的软件产品时,国际化(i18n)是必不可少的一步。它涉及将软件设计为可以轻松地适应各种文化和语言,而不必为每种语言编写单独的代码版本。Flex提供了强大的国际化支持,...

    Flex实现国际化样例

    Flex是Adobe公司开发的一种用于构建富互联网应用(RIA)的开源框架,主要使用ActionScript编程语言和MXML标记语言。...通过学习和研究这个样例,开发者可以掌握Flex国际化的实现方法,为自己的项目添加多语言支持。

    flex 国际象棋 源码+swf文件

    通过分析Flex国际象棋的源码,开发者不仅可以学习到游戏开发的基本技巧,还能深入理解Flex框架的应用,以及如何实现复杂的逻辑判断和用户交互。对于想要提升ActionScript编程技能或对游戏开发感兴趣的人来说,这是一...

    FlexViewerDevelopersGuide

    - **使用Flex国际化特性:** 如何利用Flex自带的国际化支持进行本地化处理。 - **自定义配置本地化:** 当内置的国际化机制无法满足需求时,可以使用自定义配置来实现本地化。 - **日志记录与错误处理:** 提供了...

    flex_api (FLEX接口)

    Flex API支持多语言应用,提供了一套完整的国际化和本地化框架,允许开发者轻松地为不同地区和语言的用户提供定制的用户体验。 10. **Flex Builder和IDE集成** Adobe Flex Builder是一款集成开发环境(IDE),...

    flex 官方文档 中文教程

    Flex支持应用的国际化和本地化,允许开发者创建适应多种语言和文化的软件。 13. **优化和性能** 了解如何优化Flex应用的性能至关重要,包括减少组件数量、优化数据绑定、使用正确的布局策略等。 总之,Flex中文...

    罗克韦尔自动化FLEX I/O 和FLEX EX选型指南(中文).pdf

    这些认证和标准保证了FLEX I/O模块不仅满足国际市场的安全和质量要求,而且也满足了不同地区的法规要求。例如,CE标志表明该产品符合欧盟的安全、健康和环保规定,而IEC和UL标准则提供了电气设备安全性和可靠性的...

    Flex中文帮助文档

    13. **国际化和本地化**:Flex支持多语言应用开发,通过特定的资源文件和机制,可以轻松实现应用的国际化和本地化。 14. **Flex测试和调试**:使用Flex Builder的内置工具进行单元测试、性能测试和调试,确保代码...

    Flex应用实例 Flex做的旅游系统

    9. **国际化与本地化**:Flex支持多语言,这对于面向全球用户的旅游系统尤为重要,可以轻松实现内容的切换以适应不同地区用户的需求。 通过深入研究这个Flex旅游系统,你可以了解如何将这些技术应用到实际项目中,...

    Flex3学习指南-是初学者学习Flex必备资料2

    11. **国际化和本地化**: Flex应用程序可以支持多种语言,通过使用资源管理器和配置文件实现国际化和本地化。 12. **优化和性能调优**: 学习如何优化Flex应用,包括减少组件数量、优化数据传输和提高渲染效率等。 ...

    Flex4.0开发详解

    10. **本地化支持**:增强了多语言支持能力,方便国际化应用的开发。 #### 三、Flash Builder的下载与安装 **Flash Builder**是用于开发Flex应用的主要IDE之一。以下是Flash Builder的下载和安装指南: 1. **下载...

    flex4 学习资料

    12. **国际化和本地化**:掌握Flex4中实现多语言支持的方法,包括资源bundle的使用和配置。 13. **移动设备开发**:Flex4支持移动平台开发,学习如何创建针对手机和平板的应用,利用StageWebView和StageVideo等特性...

    flex3帮助文档

    1. **多语言支持**:Flex3提供国际化的支持,可以轻松地为应用程序添加多语言界面。 2. **无障碍访问**:遵循WAI-ARIA标准,Flex3允许创建对残障用户友好的应用程序。 综上所述,Flex3帮助文档涵盖了Flex开发的...

    Flex第一步

    - **国际化支持**:Flex支持多语言和区域设置,便于制作全球化应用程序。 - **离线应用**:通过Adobe AIR,Flex可以创建桌面级的离线应用程序。 - **安全性**:Flex支持安全沙箱模型,保护用户数据安全。 #### 五、...

    flex客户表单范本

    10. **国际化支持**:Flex客户表单范本可轻松支持多语言环境,方便全球用户的使用。 在“FileTransfer”这个文件名中,我们可以推测这可能是一个与文件上传或下载相关的组件或者示例。在Flex应用中,FileTransfer类...

Global site tag (gtag.js) - Google Analytics