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的过程中遇到一个问题。flex的项目需要在客服端显示一个局域网类的一台服务器的文件目录结构,并且要能够点击访问。
预想:
flex在以前的版本里面没有file类,这个可以用java代码在后台进行处理,生成xml文件。前台的flex到相应目录下面读取数据即可。
困难:
flash被下载到客服端,有严格的安全 ......
最近遇到了和别人分享某些模块代码的情况,因此想到了flex lib project,结果如下:
首先,在看很多文章中关于swc的介绍时,都基本说成是用于flex的 component或者assets的打包文件。类似于java 的jar包。当时就很奇 怪,难道他只能在flex project中使用?于是做了如下测试:
......
转自:http://blog.csdn.net/meteorlWJ/archive/2008/03/27/2223239.aspx
这一次的Flex 实践将要实现以下功能:
1、自定义一个简单的 Flex 组件
2、创建一个Index. mxml 来调用该组件
&n ......
一、HTTPService
程序代码:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="initializeHandler(event)">
<mx:Script>
<!--[CDATA[
private function initializeHandler(event:Event):void {
countriesSer ......