Parsley 开发指南 12 本地化
2013-01-25 14:14
190 查看
12 本地化
本地化的方法推荐Parsley基于应用程序有很大的不同,取决于你是否是使用Flex。对于Flex应用程序Parsley集成了Flex ResourceManager。对于Flash应用程序Parsley提供了它自己的本地化模块。事实上,从version 1的框架模块是唯一幸存的部分,尽管有一些重大的重构。12.1 资源绑定
这是唯一的能在Flex和Flash应用程序一样工作的Parsley本地化功能,所以我们将首先解释一下。你可以把[ResourceBinding]元数据标签放在任何IOC容器托管的对象的属性上。
[ResourceBinding(bundle="errorMessages",key="fileNotFound")]
public var message:String;
标签有以下效果:
l 当对象被实例化的时候容器将从ResourceManager用指定的包名称和键获取消息并且注入到属性中。这一步时发生其他注入方法和标签为[Init]的方法得到调用之前。如果该包在对象初始化的时候还不能用,资源可能会在稍后的时间注入。
l 当Flex ResourceManager更新了(Flex应用程序)或Parsley ResourceManage的currentLocale属性发生改变(Flash应用程序),该属性的值会被自动更新。
对于Flex应用程序推荐主要用于在Parsley配置类或文件(MXML或XML)定义的对象使用这个特性。对于视图组件,甚至当他们连接到Parsley IOC容器如9动态视图装配 中描述的一样,你可以坚持正常Flex绑定语法如下:
<s:Label text="{resourceManager.getString('RegistrationForm','city')}"/>
这样你的本地化视图组件并不依赖于Parsley框架。Parsley[ResourceBinding] 标签仍然可能在其他本地化的对象派上用场。
对于Flash程序 [ResourceBinding]通常通常是本地化组件的推荐方法。
在大多数情况下,Parsley框架会自动检测它是用于Flex还是Flash程序,这取决于Parsley如何初始化。所以适配器连接处理[ResourceBinding] 标签的类,Flex 或者 Parsley ResourceManager将被自动设置。 有一些例外,在以下部分中描述。
像大多数其他Parsley元数据标签一样有相应的MXML和XML标签可以使用:
MXML Example
<Object type="{SlideShowController}">
<ResourceBinding property="message" bundle="errorMessages" key="fileNotFound"/>
</Object>
XML Example
<object type="com.bookstore.catalog.SlideShowController">
<resource-binding property="message" bundle="errorMessages" key="fileNotFound"/>
</object>
12.2 本地化Flex应用程序
对于Flex应用程序前面部分描述的[ResourceBinding]标签,是目前唯一的可用的(可能是唯一你需要在Flex环境的功能) 集成功能。否则你应该使用Flex本地化功能像你不使用框架一样。有丰富的文档在Flex Livedocs。我们可能会考虑扩大Flex模块支持,包括动态加载的Flex资源模块的管理,这个模块与一个特定的Flex模块关联。但我们将等待反馈意见,看看这个模块支持如何得到使用。
初始化ResourceBinding元数据标签支持Flex
每当你使用FlexContextBuilder来初始化你基于Parsley配置的mxml,框架会自动为你设置需要的适配器。在极少数情况下,你会构建一个Parsley Flex应用程序但是完全不使用MXML配置(例如封闭自己使用XML配置文件)你需要手动设置适配器:
ResourceBindingDecorator.adapterClass = FlexResourceBindingAdapter;
12.3 本地化Flash应用程序
Flash暂时省略相关文章推荐
- Parsley 开发指南 6 消息传递
- eclipse + JBoss 5 + EJB3开发指南(12):使用命名查询执行JPQL
- Delphi for iOS开发指南(12):在iOS Device中使用地理定位
- Parsley 开发指南 7
- AngularJS开发指南7:AngularJS本地化,国际化,以及兼容IE低版本浏览器
- Parsley 开发指南 8 对象声明周期
- eclipse + JBoss 5 + EJB3开发指南(12):使用命名查询执行JPQL
- Drupal专业开发指南 第18章 Drrupal的本地化及中文化(2)
- Parsley 开发指南 9 动态视图装配
- Drupal专业开发指南 第18章 Drupal的本地化及中文化(1)
- Parsley 开发指南 10 构建模块化应用程序
- IntelliJ IDEA 12开发haXe NME应用配置指南
- Parsley 开发指南 11 构建MVC架构
- AngularJS开发指南7:AngularJS本地化,国际化,以及兼容IE低版本浏览器
- Parsley开发指南 1 概述
- PhoneGap 12 插件开发指南
- Parsley 开发指南 14 远程访问
- 第二部分:开发简要指南-第三章 Hello,本地化
- Parsley 开发指南 15 日志配置
- AngularJS开发指南12:作用域