Я видел много примеров, например, здесь, где люди включают пакеты ресурса локали путем ссылки на атрибут локали в элементе. По некоторым причинам это не работает на меня. Вот то, что я имею для задачи:
Это перестало работать с набором ошибок формы:
[compc] Error: could not find source for resource bundle ...
Я могу заставить его создать с этим изменением:
Конфигурационный файл, сгенерированный Разработчиком Flex 3 на самом деле рендеринг, это как "локаль / {локаль}" (замечают $, отсутствует). Я попробовал это также теми же (провальными) результатами.
На данный момент я делаю хорошо непосредственно введение en_US, поскольку мы не будем делать пакетов локализации в течение достаточно долгого времени, но я должен буду в конечном счете получить эту работу. Кроме того, это прослушивает меня, что я не могу заставить его работать способ, которым это ДОЛЖНО работать!
Я думаю, проблема в том, что $ {locale}
интерпретируется муравьем как свойство, а не строковый литерал для передачи задаче compc
. Я имею в виду, что муравей видит $ {locale}
и думает, что вы хотите заменить значение свойства locale
, которое (предположительно) определено в вашем файле сборки. Конечно, это совсем не то, что вам нужно, и из-за этого все с треском ломаются.
В моих файлах сборки я удалил префикс $
, и все, похоже, работает должным образом. Итак, ваш пример будет выглядеть примерно так:
<compc output="${deploy.dir}/myfrmwrk.swc" locale="en_US">
<source-path path-element="${basedir}/src/main/flex"/>
<include-sources dir="${basedir}/src/main/flex" includes="*" />
<include-libraries file="${basedir}/libs"/>
<compiler.external-library-path dir="${FLEX_HOME}/frameworks/libs/player/9" append="true">
<include name="playerglobal.swc"/>
</compiler.external-library-path>
<compiler.library-path dir="${FLEX_HOME}/frameworks" append="true">
<include name="libs"/>
<!-- Ditch the dollar sign and things should work! -->
<include name="locale/{locale}"/>
</compiler.library-path>
<load-config filename="${basedir}/fb3config.xml" />
</compc>