我尝试了在互联网上找到的所有解决方案。
我使用flex 4.5,这就是我正在做的事情:
添加元数据:
<fx:Metadata>
[ResourceBundle("resources")]
</fx:Metadata>
启动应用程序给了我例外:
Error: Could not find compiled resource bundle 'resources' for locale 'en_US'.
这是我尝试的一些主要解决方案:
知道我还能做什么?
答案 0 :(得分:0)
尝试使用完全限定的目录路径名。如果您使用的是蚂蚁,则可以使用${basedir}/src/locale/{locale}
答案 1 :(得分:0)
以下是a mobile app(Android和iOS)的结构:
在src/locale
我有3个子目录:de_DE
,en_US
,ru_RU
在编译器选项中:-locale=ru_RU,en_US,de_DE -source-path=locale/{locale}
对于我的其他移动应用:
在src/locale
4个子目录中:en_US
,hr_HR
,sr_RS
,sl_SI
。
我必须使用copylocale命令添加后3个目录。
在编译器选项中:-locale hr_HR sr_RS sl_SI en_US -allow-source-path-overlap=true
这两款应用最适合我Apache Flex SDK。
以下是 src / locale / hr_HR / recources.properties 文件的内容:
# resources.properties file for locale hr_HR
navbar.tables=Stolovi za igranje:
navbar.all=Svi
navbar.vacant_long=Slobodni
navbar.vacant_short=Slb.
navbar.full_long=Su puni
navbar.full_short=Su puni
comments.good_long=dobri
comments.good_short=Dbr.
comments.bad_long=loši
comments.bad_short=loši
comments.without_long=neutralni
comments.without_short=ntr.
help.title=Pomoć
答案 2 :(得分:0)
好的,我在这里找到了解决方案:
http://www.nbilyk.com/flex-localization-example
我真的不确定为什么它应该那么困难。
无论如何,如果有人需要帮助。使用ant成功编译文件后(如链接中所述),如果要像我需要的那样动态加载它(例如):
resourceManager.localeChain = ["en_US", "es_ES"];
resourceManager.loadResourceModule("Resources_en_US.swf");
resourceManager.loadResourceModule("Resources_es_ES.swf");
对我来说效果很好,无需为该解决方案添加任何编译器参数。