'cascading'资源包flex / AS3

时间:2013-01-24 20:37:19

标签: actionscript-3 flex air resources

我有一个使用本地化的adobe Air App。该应用程序默认使用/locale/en_US/resources.properties中定义的资源,但用户可以通过我们数据中的标志切换到法语。

我的问题很简单,但我找不到相关的文件......

如果在en_US捆绑包中找不到该特定条目,我希望该应用默认为fr_FR捆绑包中的资源条目。

因此,如果我调用{resourceManager.getString('resources','foo.bar')}但法语包中未定义foo.bar(并且登录的用户是法语),则默认为我在英语中定义的内容。

有没有人在Air应用程序中制作类似这样的作品?

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要将resourceManager上的localeChain设置为一个数组,其中第一个值是主要语言,第二个值是后备。应该是这样的:

resourceManager.localeChain = [ "fr_FR", "en_US" ];

这将告诉Flex首先查找fr_FR资源中的密钥,如果不存在,则回退到en_US资源。