Seria possível fazer isso em um TRANSFER?

Pessoal, estou trabalhando em um aplicação que terá suporte a outras línguas.

Minha arquitetura é a seguinte:

JSF + BusinessLogic + DAO + BD, sendo que são passados através de TRANSFER (ou modelo). Ex:

BD -Tabela Cliente - ID NUMBER. NOME VARCHAR2(30);
TRANSFER - Cliente - ID INT, NOME STRING;
DAO - CLIENTEDAO - INSERIR(Cliente Cliente) …
BL - getDAOCliente.Inserir(Cliente cliente);

Tenhos propriedas no banco que utilizo para fazer um filtro na aplicaça JSF. No banco de dados está com um flag (0,1) onde na aplicacao tenho que trazer “Inativo” ou “Ativo” a depender desse flag.

Como quero um sistema com multi-idiomas pensei em duas alternativas. Criar uma outra tabela com o dicionário e em todas as consultas fazer um join nessa tabela passando o parametro do codigo do idioma. A segunda opcao é traduzier no transfer … quando o resultset for preencher o Transfer, quando setar o flag 0/1 no transfer criar uma instancia da aplicacao JSF que retorna o MessageBundle corrente (pegar o pacote de mensagens de acordo com o idioma), e então setar a mensagem que for pesquisado no arquivo de MessageBundle (.properties).

Com isso minha aplicação estaria saindo do contexto de programaçao em CAMADAS ? Quais possíveis trabalhos que terei caso minha aplicacao mude ?

Voce pode utilizar um Enum com um atributo para definir a propriedade do arquivo MessageBundle do seu projeto JSF.
Pelo menos eu costumo fazer assim e fica bem legal.

[]'s

[quote=rlazoti]Voce pode utilizar um Enum com um atributo para definir a propriedade do arquivo MessageBundle do seu projeto JSF.
Pelo menos eu costumo fazer assim e fica bem legal.

[]'s[/quote]

Poderia demonstrar como vc fez ? No meu caso é pra transformar um flag 0 ou 1 em um filtroby de uma coluna richfaces entre outros. Traduzindo para o determinado idioma. Ex.: Ativo, ON. active etc