0

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

XML 看起来像:

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

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

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

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

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

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

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

有什么建议吗?

谢谢。

4

2 回答 2

3

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

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

function myLabelFunction(item:XML):String{ 
    return ResourceManager.getInstance().getString("BundleName", item.@label.toString());
}
于 2012-04-13T23:47:46.427 回答
1

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

于 2012-04-15T02:23:50.230 回答