Apache flex Flex本地化:找不到已编译的资源包

Apache flex Flex本地化:找不到已编译的资源包,apache-flex,localization,Apache Flex,Localization,我尝试了在互联网上找到的每一个解决方案 我使用flex 4.5,这就是我所做的: 在我的src目录中创建了目录locale/en_US 使用一些映射将resources.properties文件添加到该目录 对于编译参数,add-locale en_US-source path=./locale/{locale}-allow source path overlap=true 在框架中选中,显示en_US locale目录 添加元数据: <fx:Metadata> [Reso

我尝试了在互联网上找到的每一个解决方案

我使用flex 4.5,这就是我所做的:

  • 在我的src目录中创建了目录locale/en_US
  • 使用一些映射将resources.properties文件添加到该目录
  • 对于编译参数,add-locale en_US-source path=./locale/{locale}-allow source path overlap=true
  • 在框架中选中,显示en_US locale目录
  • 添加元数据:

    <fx:Metadata>
         [ResourceBundle("resources")]
    </fx:Metadata>
    
    这是我尝试过的一些主要解决方案:

  • 从构建路径中取消选中“删除未使用的RSL”
  • 将目录添加为源路径
  • 使用参数-include resource bundle并在此处给出我的目录(使用参数-resource bundle列表获取所有bundle)

  • 知道我还能做什么吗?

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

    以下是我的(Android和iOS)结构:

    src/locale
    中,我有3个子菜单:
    de_de
    en_US
    ru_-ru

    在编译器选项中:
    -locale=ru\u-ru,en\u-US,de\u-de-source-path=locale/{locale}

    对于另一个移动应用程序,我有:

    src/locale
    4个子菜单中:
    en_-US
    hr_-hr
    sr_-RS
    sl_-SI

    我必须用命令添加后3个dir

    在编译器选项中:
    -locale hr_hr sr_RS sl_SI en_US-allow source path overlap=true

    这两个应用程序都适用于我的最新版本

    以下是src/locale/hr\u hr/resources.properties文件的内容:


    好的,我在这里找到了一个解决方案:

    我真的不知道为什么会那么难

    不管怎样,如果有人需要帮助的话。使用ant(如链接中所述)成功编译文件后,如果希望像我需要的那样动态加载它(例如):


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

    感谢您的建议,我也尝试过这样做,但运气不佳。如果我给出了一个错误的路径,我会得到一个错误,所以这一部分已经涵盖。我确实这样做了,但我没有使用apache flex sdk,而是使用adove flex 4.5 sdk,你认为这里可能有问题吗?使用他们的,你应该尝试一下:-)啊,我明白了……你忘了提到你试图将资源包本身编译成swf。很高兴你能让它工作:)谢谢,我实际上没有试图自己编译这些资源,但这是我唯一能绕过它的方法,所以只要它工作正常,我很高兴。
    Error: Could not find compiled resource bundle 'resources' for locale 'en_US'.
    
    # 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ć
    
    resourceManager.localeChain = ["en_US", "es_ES"];
    resourceManager.loadResourceModule("Resources_en_US.swf");
    resourceManager.loadResourceModule("Resources_es_ES.swf");