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
的控件,
相关文档:
因为无论是FLEX,还是Silverlight、AJAX,他们都无法直接操作数据库(据最新消息,微软有了Microsoft .NET RIA Services,它可以直接操作数据库,我期待着她能在VS2010中出现),通常用WEBSERVICE等中间人的方式来进行SOAP协议的的文本传输,效率很低(大家试一下就会知道简直无法忍受),FLEX为了加快传输速度,于是制定了 ......
Adobe Flex 编码规范 收藏
该文档中创建的实例是基于DClick 的工作方法,Java 编码约定和Adobe Flex SDK 中的约定。
二、文件:
2.1 文件扩展名
MXML 代码:.mxml
ActionScript 代码:.as
CSS 代码:.css
2.2 文件名不能包含空格、标点和特殊符号
ActionScr ......
在项目中自定义一个CheckboxGroup,这个控件里面包含多个Checkbox想控制Checkbox的行为:所以使用查找一下帮助使用flex中经典方法:getDefinitionByName 函数的使用
public function getDefinitionByName(name:String):Object
返回参数 name 中指定的类引用
参数 name:String - 类名称
返回 Object - 返回参数 name 中 ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="vertical" creationComplete="initApp()">
<mx:states>
<!--新建“index”State-->
<m ......