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 ?