参考Localizing Flex Applications。
最近要用到这方面的知识,于是把Flex的Localizing Flex Applications这一章好好看了下。
flex的”本地化国际化“是写在properties文件里面的,当然也可以写在as里面,但是不推荐这样做。先来看一下properties资源文件的书写格式:
# locale/en_US/RegistrationForm.properties
registration_title=Registration
submit_button=Submit Form
personname=Name
street_address=Street Address
city=City
state=State
zip=ZIP Code
thanks=Thank you for registering!
flag=Embed("images/unitedstates.jpg")
flag=Embed(source="FlagsOfTheWorld.swf", symbol="unitedstates")
SORTER=ClassReference("sortingClasses.en_US.Sorter")
也可以是这样的格式的:
key = value
key : value
key value
copylocale en_US es_ES
在flex中使用Locale大致分为这几种:
1.将所有locale编译进flash。
优点:用户无需等待,直接无loading的切换locale
缺点:会增加整个flash的size
2.将默认的编译进flash,将不常用的几个编译成locale_Module,并写在flash的参数里面,加到flex预加载的框架里面。
优点:划分的独立的localeModule.swf,会降低整个flash的size,而且会缓存进浏览器;程序启动后的locale的切换
和预先编译到flash里面是一样的,不需在重新加载了,减少了程序的逻辑;修改比较方便,而且不影响主flash。
缺点:预加载是顺序队列,这样在第一次加载启动的时间用户等待时间会很长。
3.将编译的locale_Module改为在运行时,加载。
优点:同上;较之上一种,提升了启动速度。
缺点:用户的一次的locale切换会有loading
4.在运行时,复写已有,或新加locale。可能是提供的灵活locale支持。一般不会用到的。