Pergunta

Eu tenho uma enumeração simulada da seguinte maneira:

public class Sport {
    public static const BASEBALL:Sport = new MyEnum("Baseball", "Baseball ...");
    public static const FOOTBALL:Sport = new MyEnum("Football", "Football ...");

    public var label:String;
    public var description:String;

    public function Sport(label:String, description:String):void {
        this.label = label;
        this.description = description;
    }
}

E botões que se ligam a essas enumes da seguinte forma:

<mx:Button label="{Sport.BASEBALL.label}" toolTip="{Sport.BASEBALL.description}"/>

Agora preciso localizar essa enumeração, mas não tive muita sorte em fazer a ligação para atualizar junto com todo o resto quando atualizo o local:

resourceManager.localeChain = [ localeComboBox.selectedItem ];

Eu tentei vincular getters para o evento "mudança" que supostamente é jogado pelo ResourceManager, mas isso não parece funcionar. Alguma ideia?

Foi útil?

Solução

Você poderia usar

<mx:Button label="{resourceManager.getString('resourceBundleName', Sport.BASEBALL.label)}" toolTip="{resourceManager.getString('resourceBundleName', Sport.BASEBALL.description)}"/>

Onde Sport.BASEBALL.label e Sport.BASEBALL.description são as chaves do seu recurso.

Você também pode dar uma olhada em Babelfx o que elimina a necessidade de inserir todos aqueles feios {resourceManager.getString(...)} declarações. Ele usa injeção de tempo de execução para localizar seu aplicativo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top