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

flex国际化

    博客分类:
  • flex
阅读更多

准备:

flex3只支持两种语言,en_US,ja_JP,而flex4中则支持多国语言,所以可以将flex4中的%FLEX_HOME%\frameworks\locale\zh_CN拷贝至flex3中。

 

项目中增加国际化

一.配置

目录结构:

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

 message.properties内容使用UTF-8编码.

 

开发环境配置:

在Eclipse开发环境中的Flex Compiler/Additional compiler arguments选项

增加如下参数

 

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

 

二.使用国际化

 

Flex中提供了两种方法使用本地化文件:

1.使用@Resource

 

<mx:Label text="@Resource(key='name', bundle='message')"/>

 

 

其中 key 表示的是要取资源的 key , bundle 表示的是本地化文件,去掉 .properties 之后的名称

 

 

2.使用 ResourceManager

 

mx:Label text="resourceManager.getString("bundleName","key")"/>
 

 

注意:如果容器中没有resourceManager这个变量,可以使用ResourceManager.getInstance()代替resourceManager,因为ResourceManager是单态的。

 

编译检查: 

使用[ResourceBundle('message')]可以为编译器提供编译检查,实际不需要指定这个也是可以的。

 

 

<mx:Metadata>
[ResourceBundle('message')]
</mx:Metadata>

 

三.动态修改当前语言

 

 

ResourceManager.getInstance().localeChain = ['zh_CN'];

 

四.减少编译大小

由于flex是使用编译器将国际化信息编译进swf中,所以如果将所有的语言全部编译进swf,会导致swf文件过于庞大。而正如国内的环境,如果你的用户大部分都是中文用户,实在没有必要为了少量英文用户而增加swf文件的大小。 所以最好的效果是 *独立编译*。即编译出:

 

main_zh_CN.swf
main_en_US.swf

 参考: http://www.nbilyk.com/flex-localization-example

当然这样处理会麻烦一点,请具体参考你编译出来的swf大小,相差不大的请也可以忽略此项。

 

 

五. ant编译

	<property name="FLEX_HOME" value="${env.FLEX_HOME}"/>
	<property name="FLEX_SWC" value="${basedir}/flex_libs"/>
	<property name="FLEX_SRC" value="${basedir}/flex_src"/>

	<target name="compile-flex">
		<echo message="FLEX_HOME:${FLEX_HOME}"/>

		<!-- tasks: mxmlc,compc,html-wrapper -->
		<taskdef resource="flexTasks.tasks" classpath="${FLEX_HOME}/ant/lib/flexTasks.jar" />

		<!-- 具体编译参数请参考:http://www.k-zone.cn/zblog/post/flex-compiler-parameter.html -->
		<mxmlc
            file="${basedir}/flex_src/${flex.application.name}.mxml"
            output="${basedir}/dist/web/flex/${flex.application.name}.swf"
            actionscript-file-encoding="UTF-8"
            keep-generated-actionscript="false"
            incremental="true"
			compiler.show-actionscript-warnings="true"
			compiler.show-binding-warnings="true"
			compiler.show-unused-type-selector-warnings="true"
			compiler.strict="true">

			<!-- Get default compiler options. -->
			<load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/>

			<!-- List of path elements that form the roots of ActionScript class	hierarchies. -->
			<source-path path-element="${FLEX_SRC}"/>
			<!-- 需要编译的locale -->
			<locale>zh_CN</locale>
			<locale>en_US</locale>
			<source-path path-element="${FLEX_SRC}/locale/{locale}"/>

			<!-- 消除编译警告,允许源代码路径重叠或是包含现象 -->
			<allow-source-path-overlap>true</allow-source-path-overlap>

  			<!-- List of SWC files or directories that contain SWC files. -->
			<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
			    <include name="libs" />
			    <include name="locale/{locale}" />
			</compiler.library-path>
			<!-- 自定义或第三方包 -->
			<compiler.library-path dir="${basedir}" append="true">
			    <include name="flex_libs" />
			</compiler.library-path>

			<compiler.debug>false</compiler.debug>
		</mxmlc>

	</target>
 

 

 

2
0
分享到:
评论
2 楼 kuanye345 2010-05-31  
顶。。。呵呵
1 楼 农村哥们 2010-03-04  
不错 学习了
我正要做flex3的国际化

相关推荐

    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中文帮助文档

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

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

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

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

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

    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类...

    flex air开发中文教程

    高级主题可能包括性能优化、国际化和本地化、以及使用Flex模块化来组织复杂项目。 最后,为了帮助读者更好地掌握所学知识,教程很可能包含一系列实践项目,指导读者从无到有地构建一个完整的Flex AIR应用。通过这些...

Global site tag (gtag.js) - Google Analytics