Flex国际化(I18N )
最简单的方法是本地化编译,即编译不同的语言版本
,然后使用
Application Server
来判定客户使用的是哪种语言,并自动指向对应的
swf
文件。
具体做法如下:
在项目上点击右键,选择
Properties
。
然后选择
Flex Compiler
,在
Additional Compiler arguments
下面已经配置好语言包了,默认为
-locale en_US
。
这时我们可以用一个
locale
目录来简单定制我们额外设置(当然不包括
Flex
内
部控件的语言)
的
语言设置。
比如改为:
-locale=en_US
-source-path+=g:\flexproj\locale\{locale}
。这样在
g
盘
的
flexproj
目录下建立一个
locale
目录。
然后目录下放置包含我们要扩展的语言文件的文件夹就可了。比
如
:
g:\flexproj\locale\en_US
。
注意:
locale
下面的目录名应该和
-locale=
设置的名称一致。
那么这样,我们就可以使用额外的语言设置了。
例:
Additional Compiler arguments
配置为
-locale+=en_US
-source-path+=g:\flexproj\testgoufang\locale\{locale}
然后在对应的
locale
目录下添加国际化资源文件
g:\flexproj\testgoufang\locale\en_US\strings.properties
这一部分跟
struts
相似。
里面的内容为键
=
值的形式,如:
Title=
测试项目
User=
用户名
Password=
密码
…………
…………
使用的时候可以通过
[
ResourceBundle
]
元数据标签来绑定
locale
文件,如:
<mx:Metadata>
[ResourceBundle(
"strings"
)]
</mx:Metadata>
即绑定上文提到的
strings.properties
文件,然后我们可以通过
ResoueceManager
来读出其中的内容,比如:
var
Title : String =
resourceManager.getString(
"strings"
,
'Title'
);
或者绑定到控件:
[
Bindable
]
private
var
Title:String;
…………
Title =
resourceManager.getString(
"strings"
,
'Title'
);
…………
<mx:Label
text="
{
Title
}
"/
>
上面对针对国际化而使用
locale
文件的方式做了一个简单的介绍,不过问题还是很多,比如
Flex
控件的国际化,动态国际化用上面的方法都无法做到。也就是说如果我使用
Flex
的控件,
相关文档:
http://www.belgacomtv.be/
http://www.xsteel.net/
http://veryhw.com/
http://www.redlei.com/test/redlei/
[url]http://www.cssflex.com/[/url]
[url]http://www.millionclouds.com/[/url]
[url]http://www.anywhere.fm/player/[/url]
[url]http://youyee.org/viewpoint/[/url]
[url]http://flexbox.mrinalwadhw ......
10 个FLex MVC框架
AdobeFlex及相关技术正成为RIA领域的主流。虽然Flex社区的规模还远比不上Java或Microsoft平台,但它正在FlexRIA开发者们的栽培下稳健地成长。许多开源开发框架也因此被创造出来:
Cairngorm(下载)
Cairngorm是最老也最成熟的Flex框架。它现在由Adobe拥有并开源,而且被Adobe的RIA顾问服 ......
在项目中自定义一个CheckboxGroup,这个控件里面包含多个Checkbox想控制Checkbox的行为:所以使用查找一下帮助使用flex中经典方法:getDefinitionByName 函数的使用
public function getDefinitionByName(name:String):Object
返回参数 name 中指定的类引用
参数 name:String - 类名称
返回 Object - 返回参数 name 中 ......
使用flex的成本
FLex语言本身免费开源
LCDS:
做 remote object access service的,说简单点就是沟通后台java和前台flex直接的桥梁
adobe官方的东西,收费,很贵
BDS: 开源免费,基本上可以完全替代LCDS,也是adobe官方的东西,估计是LCDS没人用,他又不好意思直接免费搞出来的东西
JRUN: 应用服务器,也很 ......