`
maloveqiao
  • 浏览: 102010 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

flex国际化的问题

    博客分类:
  • flex
 
阅读更多

1、如果是简单项目,一般采用的是类似struts的bundle类似的方法,至于好处嘛会STRUTS的人都应该知道。

直接在项目中写.properties文件,具体做法如下:

在项目上点击右键,选择Properties。
然后选择Flex Compiler,在Additional Compiler arguments下面已经配置好语言包了,默认为-locale en_US。
这时我们可以用一个locale目录来简单定制我们额外设置(当然不包括Flex内部控件的语言)的语言设置。
比如改为:-locale=en_US -source-path+=g:\flexproj\locale\{locale}。这样在g盘的flexproj目录下建立一个locale目录。
然后目录下放置包含我们要扩展的语言文件的文件夹就可以了。比如:g:\flexproj\locale\en_US。
注意:locale下面的目录名应该和-locale=设置的名称一致。
那么这样,我们就可以使用额外的语言设置了。

举个例子吧:

项目属性里Additional Compiler arguments配置为

-locale+=en_US -source-path+=g:\flexproj\testgoufang\locale\{locale}

然后在对应的locale目录下添加国际化资源文件,

g:\flexproj\testgoufang\locale\en_US\strings.properties

这一部分跟struts相似。

里面的内容为键=值的形式,如:

Title=测试项目

User=用户名

Password=密码

…………

…………



使用的时候可以通过[ResourceBundle]元数据标签来绑定locale文件,如:

<mx:Metadata>

  [ResourceBundle("strings")]

</mx:Metadata>

即绑定上文提到的strings.properties文件,然后我们可以通过ResoueceManager来读出其中的内容,比如:

var Title : String = resourceManager.getString("strings", 'Title');

或者绑定到控件:

[Bindable]

private var Title:String;

…………

Title = resourceManager.getString("strings", 'Title');

…………

<mxabel text="{Title}"/>

如此多个项目共享统一资源

================================================

2、如果是长期的使用中文资源,我们会用另一种方法,即SWF资源文件法:
首先,了解一些背景,Flex内部的国际化文件/库只支持两个版本,一个是en_US,另一个是ja_JP。也就是说,开发者在编译Flex项目的时候在Additional Compiler arguments下配置locale=zh_CN是一定会报错的。

原因是因为zh_CN库,Flex是没有提供的。

那么应该怎么办呢,答案是:自己来构建一个。

事实上,在Flex的sdk中已经提供了所有国际化文本的源码,我们可以通过这些源码来进行核心的国际化功能。

我们可以在sdk的目录下找到对应的源码文件夹,如:

D:\Program Files\Adobe\Flex Builder 3\sdks\moxie\frameworks\projects\framework\bundles\en_US

这样我们可以根据这个原型的复制品来制作其他语言包。

比如,我们来制作一个中文语言包:

首先,先在bundles下创建en_US的副本,然后将副本更名为zh_CN,然后把zh_CN下面的具体内容翻译成中文。

使用SDK命令,在sdk下输入 

bin\compc -locale=zh_CN -source-path=frameworks/projects/framework/bundles/zh_CN/src -include-resource-bundles=collections,containers,controls,core,effects,formatters,logging,SharedResources,skins,states,styles,validators

-output=frameworks/locale/zh_CN/framework_rb.swc


则会将Flex的collections,containers,controls,core,effects,formatters,logging,SharedResources,skins,states,styles,validators模块的语言源文件编译成frameworks/locale/zh_CN/framework_rb.swc的语言库文件,这样,在Additional Compiler arguments下配置locale=zh_CN就不会报错了。 

此外,语言文件也可以像CSS文件一样编译成SWF文件:

mxmlc -locale= zh_CN

-source-path=locale/{locale} -allow-source-path-overlap=true -include-resource-bundles=collections,containers,controls,core,effects,myResources,skins,styles -output=Resources_ zh_CN.swf

编译后的文件更小,效率会更高。

这样,从此使用-locale=zh_CN 就等于全部翻译成中文了,使用-locale=en_US编译就又回去了,在程序中什么也不用改动
分享到:
评论

相关推荐

    Flex国际化方法

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

    flex 入门 flex 国际化

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

    FLEX国际化

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

    Flex实现国际化样例

    在Flex应用中实现国际化是让软件能够适应不同地区和语言需求的关键步骤,使得软件具备全球化的潜力。这篇博客“Flex实现国际化样例”将指导我们如何在Flex项目中实现这一功能。 在Flex中实现国际化通常涉及以下几个...

    Flex 国际化(demo)

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

    flex 国际象棋 源码+swf文件

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

    flex 官方文档 中文教程

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

    flex_api (FLEX接口)

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

    Flex解决乱码问题

    这个问题对于那些希望在国际化应用中提供良好用户体验的开发者来说尤其令人头疼。本文将详细介绍如何解决Flex应用程序在不同浏览器上出现的中文乱码问题,并确保所有用户都能看到正确的文本。 ### 一、问题背景 ...

    Flex中文帮助文档

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

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

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

    flex3帮助文档

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

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

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

    flex客户表单范本

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

    flex4 学习资料

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

    Flex第一步

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

    FLEX3完全参考手册

    8. **国际化和 Accessibility**:为了满足全球用户的需求,Flex 3支持多语言和无障碍访问。这部分会介绍如何实现应用程序的国际化和无障碍设计。 9. **调试和优化**:书中还将包含调试技巧和性能优化策略,帮助...

Global site tag (gtag.js) - Google Analytics