Flex 3.0 国际化

来源:互联网 发布:初中化学实验器材淘宝 编辑:程序博客网 时间:2024/05/05 09:31

Flex内部的国际化文件/库只支持两个版本,一个是en_US,另一个是ja_JP。也就是说,开发者在编译Flex项目的时候在Additional Compiler arguments下配置locale=zh_CN是一定会报错的。 
原因是因为zh_CN库,Flex是没有提供的。 
那么应该怎么办呢,答案是:自己来构建一个。 
事实上,在Flex的sdk中已经提供了所有国际化文本的源码,我们可以通过这些源码来进行核心的国际化功能。

运行Adobe Flex 3 SDK Command Prompt,进入目录sdks\3.2.0(我的是3.2版本) cd sdks\3.2.0 [回车]


bin\compc -locale=zh_CN -source-path=frameworks/projects/framework/bundles/en_US/src -include-resource-bundles=collections,containers,controls,core,effects,formatters,logging,SharedResources,skins,states,styles,validators,messaging,rpc -output=frameworks/locale/zh_CN/framework_rb.swc [回车]

image

这样就会将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就不会报错了。

再在项目中新建一个国际化语言资源的文件夹,其中包含所需要用到的语言文件

 image

然后Flex build path 的source path指向该资源文件+\{locale}

image

再Additional Compiler arguments配置-locale en_US zh_CN 应该就可以了