Flex本地化:无法找到已编译的资源包

时间:2014-11-06 17:58:11

标签: flex localization

我尝试了在互联网上找到的所有解决方案。

我使用flex 4.5,这就是我正在做的事情:

  1. 在我的src目录中创建目录locale / en_US
  2. 使用一些映射将resources.properties文件添加到该目录。
  3. 将-locale en_US -source-path =。/ locale / {locale} -allow-source-path-overlap = true添加到编译参数中。
  4. 在框架中检查了en_US语言环境目录。
  5. 添加元数据:

    <fx:Metadata>
         [ResourceBundle("resources")]
    </fx:Metadata>
    
  6. 启动应用程序给了我例外:

    Error: Could not find compiled resource bundle 'resources' for locale 'en_US'.
    

    这是我尝试的一些主要解决方案:

    1. 取消选中&#34;删除未使用的RSL&#34;来自构建路径。
    2. 将目录添加为源路径。
    3. 使用参数-include-resource-bundles并在此处提供我的目录(使用参数-resource-bundle-list获取所有包)。
    4. 知道我还能做什么?

3 个答案:

答案 0 :(得分:0)

尝试使用完全限定的目录路径名。如果您使用的是蚂蚁,则可以使用${basedir}/src/locale/{locale}

答案 1 :(得分:0)

以下是a mobile app(Android和iOS)的结构:

src/locale我有3个子目录:de_DEen_USru_RU

在编译器选项中:-locale=ru_RU,en_US,de_DE -source-path=locale/{locale}

对于我的其他移动应用:

src/locale 4个子目录中:en_UShr_HRsr_RSsl_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");

对我来说效果很好,无需为该解决方案添加任何编译器参数。