Qual seria a melhor forma (a recomendada) para internacionalizar uma app com jsf 2? Eu usaria um único arquivo properties para todo o site, ou normalmente é usado algum padrão para distinguir de qual tela pertence determina propriedade? Existe alguma convenção para isso?
Você é quem especifica.
Se o projeto é muito grande, você terá dificuldades em manter um único arquivo (? - afinal, internacionalizar seria permitir uso em mais de um idioma, logo, precisa de pelo menos 2 arquivos o messages_pt_BR e o messages_en_US.properties, não?).
[quote=drsmachado]Você é quem especifica.
Se o projeto é muito grande, você terá dificuldades em manter um único arquivo (? - afinal, internacionalizar seria permitir uso em mais de um idioma, logo, precisa de pelo menos 2 arquivos o messages_pt_BR e o messages_en_US.properties, não?).[/quote]
Exato, me referi a um único arquivo, mas na verdade quero dizer um único por idioma para todo o site
Pense que você possui uma aplicação que atende a vários setores, uns 10 por exemplo. Com um único arquivo por idioma, o tamanho dele seria gigantesco. Você pode criar vários arquivos e definir, em cada xhtml, no loadBundle, o arquivo correspondente. Isso facilita a manutenção.
Cara, em todo sistema que trabalhei, sempre foi com um messages.properties soh para o sistema inteiro…
A vantagem disso, é poder usar a mesma mensagem em várias telas: como por exemplo o label do botao Salvar, Consultar, ou as mensagens de Dados salvos
e normalmente sao organizados por telas…
#Cadastro de Empresa
empresa.nome=Nome da Empresa
empresa.cnpj=CNPJ
empresa.endereco=Endereço
empresa.telefone=Telefone
Fica bem organizado e pode ser reutilizado.
Imagina vc tem 1 tela, carregado 2 bundles? Vc tem chance de ter mensagens erradas, ter duplicacao de mensagem e assim por diante
[quote=igor_ks]Cara, em todo sistema que trabalhei, sempre foi com um messages.properties soh para o sistema inteiro…
A vantagem disso, é poder usar a mesma mensagem em várias telas: como por exemplo o label do botao Salvar, Consultar, ou as mensagens de Dados salvos
e normalmente sao organizados por telas…
#Cadastro de Empresa
empresa.nome=Nome da Empresa
empresa.cnpj=CNPJ
empresa.endereco=Endereço
empresa.telefone=Telefone
Fica bem organizado e pode ser reutilizado.
Imagina vc tem 1 tela, carregado 2 bundles? Vc tem chance de ter mensagens erradas, ter duplicacao de mensagem e assim por diante
[/quote]
O sistema onde trabalho possui 11 módulos e cada um possui uma série de submódulos. Os arquivos que contém as mensagens estão divididos por módulo, isso garante que a manutenção seja bem simples em cada um.
Já trabalhei em projetos com o mesmo modelo que você e posso dizer que a maioria nem se preocupa em ver se tal mensagem já existe, pega e cria uma nova e pronto, mesmo que duplicada.
Até por que, já pensou, na tela de exclusão ter lá um <h:outputLabel value="#{msg.nomeCadastro}"/>
Para mim, soa estranho…