2012-04-13 4 views
0

Я использую mx: XML как источник данных для mx: Tree и хотел бы показать локализованные значения.О локализации дерева Flex

XML-выглядит следующим образом:

<myTag label="component.mytextKey.txt"/> 

. И у меня есть свойства, определенные в моем файле свойств, как

component.mytextKey.txt=Translated Text for my textKey. 

Тогда в ом: Дерево, уточняет labelField = «@ метка», чтобы показать значение.

mx: Дерево отображает «component.mytextKey.txt» как нетранслируемый текст.

Я попытался использовать @Resource(key='@label, bundle='mybundle') и {resourceManager.getString('mybundle',@label)} как значение для labelFIeld в mx: Дерево. Все не повезло.

Я также попытался указать значение как: По-прежнему не повезло, дерево пытается показать ярлык как есть, вместо того, чтобы показывать значение evaludated.

Любое предложение?

Спасибо.

ответ

3

@Resource - это команда построения времени. Вы можете попробовать использовать labelFunction и ResourceManager, чтобы загрузить данные локализации в следующем виде:

<mx:Tree labelFunction="{myLabelFunction}" /> 

function myLabelFunction(item:XML):String{ 
    return ResourceManager.getInstance().getString("BundleName", [email protected]()); 
} 
1

Также не все, что не следует рассматривать в качестве строкового литерала не забыть, нужно быть завернуты в связывающих скобках (например, {}). Это говорит компилятору, что это производное значение от метода, свойства и т. Д.

Смежные вопросы