关于Flex树本地化

时间:2012-04-13 18:59:48

标签: flex localization

我使用mx:XML作为mx:Tree的数据源,并希望显示本地化的值。

XML看起来像:

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

。我在我的属性文件中定义了属性,比如

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

然后在mx:Tree中,我指定labelField =“@ label”来显示值。

mx:树将“component.mytextKey.txt”显示为未翻译的文本。

我尝试使用@Resource(key='@labelbundle='mybundle'){resourceManager.getString('mybundle',@label)}作为mx:Tree中labelFIeld的值。一切都没有运气。

我也尝试将值指定为:     仍然没有运气,树正试图按原样显示标签,而不是显示评估价值。

有什么建议吗?

感谢。

2 个答案:

答案 0 :(得分:3)

@Resource是一个构建时命令。您可以尝试使用labelFunction和ResourceManager加载本地化数据,如下所示:

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

function myLabelFunction(item:XML):String{ 
    return ResourceManager.getInstance().getString("BundleName", item.@label.toString());
}

答案 1 :(得分:1)

另外,不要忘记任何不被视为字符串文字的东西,需要包装在绑定括号中(例如{})。这告诉编译器它是方法,属性等的派生值......