Flex多语言的实现方案一
2009-09-30 15:54
519 查看
效果图:
一、构建语言包。
原来的Flex Builder Plug-in可能只有en_US和ja_JP两种语言包,所以当我们需要使用中文语言包时,需要创建一个中文包,并且命名为zh_CN。
怎么创建呢,在{Flex Builder Plug-in root}/sdks/3.2.0下有个copylocale.exe可执行程序。但是要注意的是,这是个控制台输入输出程序,所以你需要在DOS界面操作。
进入copylocale.exe所在文件夹,执行语言包copy命令。成功后你会在图1的目录中发现多了一个zh_CN的语言包。
25种语言列表(去掉en_US,ja_JP):
二、在FLEX项目的根目录下创建resources/locale/en_US和 resources/locale/zh_CN目录,用于放置资源文件。
在FLEX项目中
右键—>properties—>source path—>add folder
在弹出的输入框中输入 resources/locale/{locale}
(注意:这里的路径要与第二步中创建的路径一致)
预编译,在FLEX项目中
右键—>properties—>Flex Compiler
在Additional compiler arguments中输入 -locale en_US zh_CN -source-path=resources/locale/{locale}
(注意:一定要添加这一命令,这样第三步中的{locale} 才能通过此命令找到对应的语言文件)
三、在en_US和zh_CN下分别创建admin.properties文件(注意:一定要以.properties作为文件后缀)
/en_US/admin.properties 中添加内容 admin.name = TEST_US
/zh_CN/admin.properties中添加内容 admin.name = TEST_CN
如果需要输入中文内容,则要把文件的类型改为UTF-8。选中文件à右击选中属性àResourceàText File Encodingà UTF-8
四、创建index.mxml
一、构建语言包。
原来的Flex Builder Plug-in可能只有en_US和ja_JP两种语言包,所以当我们需要使用中文语言包时,需要创建一个中文包,并且命名为zh_CN。
怎么创建呢,在{Flex Builder Plug-in root}/sdks/3.2.0下有个copylocale.exe可执行程序。但是要注意的是,这是个控制台输入输出程序,所以你需要在DOS界面操作。
进入copylocale.exe所在文件夹,执行语言包copy命令。成功后你会在图1的目录中发现多了一个zh_CN的语言包。
25种语言列表(去掉en_US,ja_JP):
二、在FLEX项目的根目录下创建resources/locale/en_US和 resources/locale/zh_CN目录,用于放置资源文件。
在FLEX项目中
右键—>properties—>source path—>add folder
在弹出的输入框中输入 resources/locale/{locale}
(注意:这里的路径要与第二步中创建的路径一致)
预编译,在FLEX项目中
右键—>properties—>Flex Compiler
在Additional compiler arguments中输入 -locale en_US zh_CN -source-path=resources/locale/{locale}
(注意:一定要添加这一命令,这样第三步中的{locale} 才能通过此命令找到对应的语言文件)
三、在en_US和zh_CN下分别创建admin.properties文件(注意:一定要以.properties作为文件后缀)
/en_US/admin.properties 中添加内容 admin.name = TEST_US
/zh_CN/admin.properties中添加内容 admin.name = TEST_CN
如果需要输入中文内容,则要把文件的类型改为UTF-8。选中文件à右击选中属性àResourceàText File Encodingà UTF-8
四、创建index.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" > <mx:Script> <![CDATA[ import mx.resources.ResourceManager; private function changeLocale(locale:String):void{ // 修改语言 resourceManager.localeChain = [locale]; } ]]> </mx:Script> <mx:Metadata> [ResourceBundle("admin")] // 查找admin.propertes </mx:Metadata> <mx:ApplicationControlBar width="400"> <mx:Label text="Content" width="100%"/> <mx:Button label="eng" click="changeLocale('en_US')" /> <mx:Button label="ch" click="changeLocale('zh_CN')" /> </mx:ApplicationControlBar> <mx:Text text="{resourceManager.getString('admin','admin.name')}" width="400" height="240"/> </mx:Application>
相关文章推荐
- (一)ASP.NET中JavaScript的中英文(多语言)实现方案
- Java跨语言调用实现方案(转)
- 实现MFC编译时多语言方案
- 应用开源项目StringResourceTool2 实现.NET多国语言方案
- Java跨语言调用实现方案
- 门户多语言方案-CommunityServer的多语言实现方案
- 网站设计--多语言网站实现方案
- 多语言网站实现方案
- 跨语言rpc框架的一种实现方案
- flex 实现图片播放 方案二 把临时3张图片预加载放入内存
- C#调用exe解决PDF转图片问题(使用PDFBox方案,java语言编译jar包实现)
- 软件系统多语言实现方案(重点介绍VB.net利用微软的国际化支持实现软件系统多语言)
- Flex配置通过配置语言环境实现多国语言
- Java 跨语言实现方案
- 百度文库实现方案 openoffice.org 3 + swftools+flexpaper+java
- 多语言网站实现方案
- 多语言网站实现方案
- Java跨语言调用实现方案 protobuf thrift Hadoop avro
- Flex开发中实现程序多语言的两篇文章
- Flex开发的一些经验总结——本地化(多语言)实现