我使用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='@label
,bundle='mybundle')
和{resourceManager.getString('mybundle',@label)}
作为mx:Tree中labelFIeld的值。一切都没有运气。
我也尝试将值指定为: 仍然没有运气,树正试图按原样显示标签,而不是显示评估价值。
有什么建议吗?
感谢。
答案 0 :(得分:3)
@Resource是一个构建时命令。您可以尝试使用labelFunction和ResourceManager加载本地化数据,如下所示:
<mx:Tree labelFunction="{myLabelFunction}" />
function myLabelFunction(item:XML):String{
return ResourceManager.getInstance().getString("BundleName", item.@label.toString());
}
答案 1 :(得分:1)
另外,不要忘记任何不被视为字符串文字的东西,需要包装在绑定括号中(例如{})。这告诉编译器它是方法,属性等的派生值......