0

mx:Tree のデータ ソースとして mx:XML を使用しており、ローカライズされた値を表示したいと考えています。

XML は次のようになります。

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

. そして、プロパティファイルで次のように定義されたプロパティがあります

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

次に、mx:Tree で labelField="@label" を指定して値を表示します。

mx:Tree は、「component.mytextKey.txt」を未翻訳のテキストとして表示します。

mx:Tree の labelFIeld の値として@Resource(key='@labelbundle='mybundle')およびを使用しようとしました。{resourceManager.getString('mybundle',@label)}運が悪い。

また、次の値を指定しようとしました: まだ運が悪いです。ツリーは、評価された値を表示するのではなく、ラベルをそのまま表示しようとしています。

なにか提案を?

ありがとう。

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 に答える