gpt4 book ai didi

apache-flex - Adobe Flex 4 : Runtime Loading of Localized Framework Files

转载 作者:行者123 更新时间:2023-12-05 01:27:28 24 4
gpt4 key购买 nike

根据 Adob​​e asdocs,Flex 框架文件应该能够在运行时加载。这些本地化的框架文件,存在于(在 Windows 上)C:\Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\4.5.0\frameworks\locale 的那些,负责 Alert 上的按钮文本等项目对话框和许多其他控件。我的期望是,一旦加载了这些框架文件,我就会在我的 Flex 应用程序中看到这些资源可用。

我的项目设置如下:

MyProject
-src
-Flex4.5
-Referenced Libraries
-bin-debug
-bin-release
-libs
-locale (I've copied all of the directories(da_DK,en_US,es_ES,etc) of framework files for the locales I want to support inside of this dir)

现在 asdocs 声明为了执行此操作,您必须将编译器设置设置为读取

-locale=en_US,da_DK,de_DE,es_ES,fi_FI,fr_FR,it_IT,ja_JP,ko_KR,nb_NO,nl_NL,pt_BR,ru_RU,sv_SE,zh_CN,zh_TW -allow-source-path-overlap=true -source-path=locale/{locale}

我已经做到了。

My Build Path Libraries for Flex 4.5 - C:Program Files (x86)\Adobe\Adobe Flash Builder 4.5\sdks\4.5.0 are set to be Runtime Shared library (of note, the {locale} subfolder says "Merged into code")

但是当我在浏览器中更改语言时,我看不到任何框架资源。

此外,当我构建我的项目时,我没有在 bin-release 中看到任何面向语言环境的资源文件的指示。由于我们只部署 bin-release 文件夹的内容(而不是整个项目),这应该如何工作?

我还在我的 bin-release 中看到了 .swz 文件(我知道这些不是本地化的框架资源)。

有没有人有运行时框架本地化方面的经验?我究竟做错了什么?我的期望是,一旦我构建了我的项目(将框架资源外部化),该应用程序将能够加载这些资源,但这并没有发生,而且我对为所有编译我的应用程序的不同版本不感兴趣我支持的语言环境。

提前致谢

最佳答案

我使用以下适合我的 ANT 任务:

<mxmlc file="${build.dir.src}/${mxml.file}" keep-generated-actionscript="false" output="${build.dir.stage}/${project.app.name}.swf" 
actionscript-file-encoding="UTF-8" incremental="false" context-root="${project.app.name}" optimize="${app.optimize}"
debug="${app.debug}" configname="air" locale="en_US,ja_JP,fr_FR">

<jvmarg value="-Xmx1024m" />
<jvmarg value="-Xms512m" />

<compiler.theme append="true" file="${FLEX_HOME}/frameworks/projects/spark/MXFTEText.css" />

<source-path path-element="${FLEX_HOME}/frameworks" />
<source-path path-element="${build.dir.locale.src}/{locale}" />

<library-path dir="${FLEX_HOME}/frameworks/libs" append="true">
<include name="*.swc" />
</library-path>
<library-path dir="${FLEX_HOME}/frameworks/libs/air" append="true">
<include name="*.swc" />
</library-path>
<library-path dir="${FLEX_HOME}/frameworks/locale" append="true">
<include name="{locale}" />
</library-path>
<library-path dir="${build.dir.lib}" append="true">
<include name="*.swc" />
</library-path>

在使用资源和读取字符串的类中添加如下标签:

[ResourceBundle('application')]

// set up the locale chain
ResourceManager.getInstance().localeChain = [ 'en_US', 'ja_JP', 'fr_FR' ];

// load resources
ResourceManager.getInstance().getString('application', 'some.string.code');

观察:不需要将框架文件复制到自己的项目文件夹中。它们将在编译时被编译器拾取。

让我知道它是否有效,否则我们可以调试更多!

关于apache-flex - Adobe Flex 4 : Runtime Loading of Localized Framework Files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6279538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com