还是目前的这个项目,因为我引入了自动升级的applicationupdater_ui.swc,而默认的编译选项是en_US。于是出来的升级界面是英文的,考虑到实用性,应该改成中文的。
然后一通乱查。
.swc是个压缩包,可以修改后缀为.zip,然后用各式解压缩工具打开。打开之后里面有些文件和locale目录,locale目录下面是各种语言包。而applicationupdater_ui.swc是有zh_Hans和zh_Hant的。
接着我把项目的编译选项修改为:-locale zh_CN(之前是-locale en_US)
编译是过不了的。要创建sdks里面的中文包。到C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\frameworks\locale下面去一看,只有两个:en_US和ja_JP。
先试试把编译选项改成:-locale ja_JP,编译通过,运行,升级菜单是日文的。那么就是说我生成一个zh_CN的目录就行了。
两个步骤,一是到C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\bin下面运行一下:copylocale en_US zh_CN
这样就在frameworks/locale生成了zh_CN目录。然后到官网或者这个网址里下载语言包:
http://ttfx.org/Tontons_Flexeurs/BabelFlex.html
解压到zh_CN目录,覆盖原来的文件。
做完之后对比一下en_US和zh_CN目录,发现还是少了两个文件:automation_agent_rb.swc 和datavisualization_rb.swc
如果项目里面没有那些数据显示模块的话,问题倒不大,然而,当项目里面使用了诸如AdvancedDatagrid之类的控件,那么编译还是过不了。
又是一轮搜索。
最后找到了解决的方案:
在C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\fbpro\projects\datavisualization\bundles下,创建一个zh_CN的目录,
把C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\fbpro\projects\datavisualization\bundles\en_US下的文件copy到zh_CN目录下。
(或者把datavisulization_rb.swc里面的locale\en_US的properties文件都copy到该目录下。)
然后在项目的Source Path中添加这个:C:\Program Files\Adobe\Flex Builder 3\sdks\3.0.0\fbpro\projects\datavisualization\bundles\{locale}
重新clean,编译,运行,中文界面的终于出来了。
===========================================================
引进自动更新带来一个小麻烦,就是如果全局的.css没有指定的话,那么ScrollBar/VScrollBar/Button都会被自动更新控件中的属性所影响。解决方法也简单,定一个全局的css即可。
===========================================================
发现有的flex3.0没有fbpro这个目录?可以到这里下载一个: