Flex3的国际化支持

Flex的国际化支持

 

Author:lvmy

Email:lvmingyan@antiy.com

 

 

前言:由于Flex3本身不支持中文的国际化,所以我们要自行制作中文的本地支持文件,具体方法如下:

 

 

1、到当前需要国际化的flex项目的SDK目录的bin下执行 copylocale en_US zh_CN
2、在flex项目src同级目录创建目录 ../locale/
3、在locale 下创建中文资源文件夹(../locale/zh_CN) 以及 英文资源文件夹(../locale/en_US)
4、分别在../locale/zh_CN 和 ../locale/en_US 下创建语言包资源文件 locale.properties
5、在当前项目-->右键-->Properties-->Flex Build Path-->Source path-->Add Folder,在弹出的文本框中输入locale\{locale}
6、在当前项目-->右键-->Properties-->Flex Compiler-->在Additional compiler arguments 的最后输入 -locale zh_CN en_US,这里默认语言是中文
 

 

 

到这里为止就已经创建好了前置环节,下面将用一个简单的实例来介绍具体的使用:

 

1、加载语言包资源文件,在Application添加如下代码:

 

 

<!-- locale即为资源文件的名字,不包含后缀 -->
<mx:Metadata>
	[ResourceBundle("locale")]
</mx:Metadata> 
 

2、在Application中创建一个Linkbar,数据源内有两条数据,稍候用来生成两个LinkButton来切换界面的中英文显示。

 

<mx:LinkBar dataProvider="{[{'label' : '中文', 'locale' : 'zh_CN'},{'label' : 'English', 'locale' : 'en_US'}]}" labelField="label"/>

 

3、在Application中创建一个Label,稍候将使用这个label来展示国际化支持

 

 

<mx:Label />
 

4、在刚才创建好的两个资源文件 ../zh_CN/locale.properties 和 ../en_US/locale.properties 中添加内容以提供语言支持

 

 

label_text = 这是一个Label

 

 

label_text = This is a label

 

 

5、使用resourceManager类的getString方法获取当前语言环境的字符串,并赋值给label的text属性:

 

 

<!-- getString方法有两个参数,第一个即资源文件名,第二个即资源包中对应的key -->

<mx:Label fontSize="30" text={resourceManager.getString('locale','label_text')}/>
 

 

6、到这里运行项目label已经可以显示中文的text,现在为前面预留的Linkbar添加itemClick事件并触发语言切换:

 

 

<mx:Script>
	<![CDATA[
		import mx.events.ItemClickEvent;
		private function locale_change(event:ItemClickEvent):void{
			//为了免去判断,在这里使用如下写法
			var temp:LinkBar = event.currentTarget as LinkBar;
			resourceManager.localeChain = [temp.dataProvider[temp.selectedIndex].locale];
		}
	]]>
</mx:Script>
<mx:Label fontSize="30" text="{resourceManager.getString('locale', 'label_text')}"/>
<mx:LinkBar dataProvider="{[{'label' : '中文', 'locale' : 'zh_CN'},{'label' : 'English', 'locale' : 'en_US'}]}" 
	labelField="label" 
	itemClick="locale_change(event)"/>
 

到此就完成了整个国际化的操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值