2012-04-13 36 views
0

我正在使用mx:XML作爲mx:Tree的數據源,並且希望顯示本地化的值。關於Flex樹本地化

的XML看起來像:

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

。我有我的屬性文件中定義的屬性,如

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

然後在MX:樹,我指定的labelField =「@標籤」,以示值。

mx:樹顯示「component.mytextKey.txt」作爲未翻譯的文本。

我試圖使用@Resource(key='@label,bundle='mybundle'){resourceManager.getString('mybundle',@label)}作爲mx:Tree中labelFIeld的值。所有沒有運氣。

我還試圖指定值爲: 仍然沒有運氣,樹正試圖顯示標籤,而不是顯示evaludated值。

有什麼建議嗎?

謝謝。

回答

3

@Resource是一個編譯時命令。你可以嘗試使用的labelFunction和ResourceManager的加載你的定位數據,如下所示:

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

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

也不要忘記任何不被視爲一個字符串,需要被包裹在大括號綁定(例如{})。這告訴編譯器它是一個方法,屬性等的派生值...