Flex开发中实现程序多语言的两篇文章

文章1

 

今天在网上搜了一下FLEX的多语言实现方法,发现实现方式还挺多的

这里介绍的多语言的实现方式其实不是我想要的,不过也可以实现一般的需求,下面来介绍我用到的多语言的实现方案:

1)在命令行中运行命令

locale en_US zh_CN (FLEX SDK目录下默认存在en_US目录,如果想添加其他的语言,则需要自己手动添加语言包,下面的例子中将使用到中文语言包,因此我添加一个zh_CN文件夹)

2)在FLEX项目的根目录下创建resources/locale/en_US和 resources/locale/zh_CN目录

3)在FLEX项目中

右键—>properties—>source path—>add folder

在弹出的输入框中输入 resources/locale/{locale}

(注意:这里的路径要与第二步中创建的路径一致)

4)在FLEX项目中

右键—>properties—>Flex Compiler

在Additional compiler arguments中输入 -locale en_US zh_CN

(注意:一定要添加这一命令,这样第三步中的{locale} 才能通过此命令找到对应的语言文件)

5)在en_US和zh_CN下分别创建admin.properties文件(注意:一定要以.properties作为文件后缀)

/en_US/admin.properties 中添加内容 admin.name = TEST_US

/zh_CN/admin.properties中添加内容 admin.name = TEST_CN

6)创建index.mxml

<?xml version="1.0" encoding="utf-8"?>
<mx:Application   
xmlns:mx="http://www.adobe.com/2006/mxml " layout="vertical" >  
<mx:Script>       
<![CDATA[           
import mx.resources.ResourceManager;        
            
private function changeLocale(locale:String):void{   

// 修改语言                     
resourceManager.localeChain=[locale];           
}       
]]>   
</mx:Script>  
<mx:Metadata>
     [ResourceBundle("admin")]
    </mx:Metadata>
<mx:ApplicationControlBar width="400">            
<mx:Label text="Content" width="100%"/>        
<mx:Button label="eng" click="changeLocale('en_US')" />       
<mx:Button label="ch" click="changeLocale('zh_CN)" />   
</mx:ApplicationControlBar>
<mx:Text text="{resourceManager.getString('admin','admin.name')}" width="400" height="240"/>
</mx:Application>

运行效果在这时里就不贴出来了,有兴趣的自己试一下吧。。。。。。。

 

文章2

flex实现多国语言化的方法

在工程的目录下建立locale目录,再在local建立个个国家的目录,如ch-GB,en_US,ja_JP,
在这些目录下放入一个文件,名字是strings.properties,内容格式key=value 举例如下:
aaa = d
bbb = c
ccc = b
ddd = a

注意值 如果是汉字请用/u+unicode编码表示,举例 :下一个 用/u4e0b/u4e00/u4e2a表示。


使用方式

        private static var stringResources:ResourceBundle;
        [Bindable]
        private var va:String;
        [Bindable]
        private var vb:String;
        [Bindable]
        private var vc:String;
        [Bindable]
        private var vd:String;

        private function loadResources():void
        {
            va= stringResources.getString("aaa");
            vb= stringResources.getString("bbb");
            vc= stringResources.getString("ccc");
            vd= stringResources.getString("ddd");
        }
                把va,vb,vc,vd这些变量绑定到显示上就ok了

编译的时候在工程中设置

project---properties-----Flex Compiler
在Additional compiler arguments:中加入
-locale ch-GB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值