internacionalização de properties diferentes para cada cliente

4 respostas
J

Galera, estou com uma dúvida que nao sei se é póssivel..

Tenho um sistema que utiliza um messages_pt_BR.properties que contém as label's do sistema ( Botões, menus, mensagens de erro etc..) .

Porém surgiu o problema que dependendo do cliente que loga. algumas mensagens deveriam ser apresentadas de maneiras diferentes... Portanto para cada cliente eu ia ter um .properties diferente ex: loja.properties, quitanda.properties, escola.properties....

eu consigo logo no login poder fazer a troca disso ?

Um usuário ao logar utiliza o quitanda.properties
ao mesmo tempo outro usuário de uma loja loga e ele usa o loja.properties ?

Por enquanto está dessa forma :

Utilizo JSF 2.0 , Primefaces, JPa

f:loadBundle value=loja var= msg />

XHTML

faces-config.xml ( no momento esta assim )

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">
     <application>
      <locale-config>
  	        <default-locale>pt</default-locale>
  	   </locale-config>
	  <resource-bundle>
		<base-name>messages</base-name>
		<var>msg</var>
	   </resource-bundle>
     </application>
     
   
</faces-config>

Será que irei reformular tudo para poder funcionar dinovo nesse novo comportamento ?
Alguém tem alguma sugestão ?

Abrs

4 Respostas

dreampeppers99

Talvez codificar cada um desses seus properties em paises

IT = Escola
ES = Loja

Dai vc troca o locale programaticamente.

Locale locale = Locale.getDefault(); System.out.println("Before setting, Locale is = " + locale); // Setting default locale locale = Locale.ITALY; Locale.setDefault(locale); System.out.println("After setting, Locale is = " + locale);

Mas e muita gambiara

J

Voce diz fazer isso no momento em que eu for Autenticar o usuário ?

Mas e quanto ao new Date() quando eu for usar ?
Não poderá dar um tempo errado de dadas correspondendo o pais alterado ?

Mesmo assim obrigado pela Dica

Abrs

dreampeppers99

iep, pode gerar erros nas datas, valores monetarios… eh muita gambiara esquece essa asneira que te disse.
Mas pensando bem o proposito do locale e outro, ou sera que tem como escrever seus proprios locales, herdando de pt-br?

J

eu estou confuso,
até se desse para mudar a forma de eu jogar de alguma maneira na Session o nome do properties assim que logasse …

algo separando por seguimento do comercio :

if( seguimento.equals(almenticio)){

// alimentacao.properties

}else if(  equals(eletronicos)){

// eletronicos.properties

}

…

…

…

esse é o problema… não sei a maneira de para cada usuário q logar , o sistema poder acessar o properties correspondente aquele segmento…

Criado 25 de julho de 2011
Ultima resposta 25 de jul. de 2011
Respostas 4
Participantes 2