[RESPONDIDO] calendar em português no Primefaces 3

26 respostas
K

Olá!!

Alguém sabe como colocar o calendário do primefaces em português? Estou usando a versão mais novo do prime, já tentei locale = “pt_BR” mas não funcionou…

Vlww

Att
Karina

26 Respostas

E

Consegui somente colocando esse código javascript.

PrimeFaces.locales['pt'] = {
                closeText: 'Fechar',
                prevText: 'Anterior',
                nextText: 'Próximo',
                currentText: 'Começo',
                monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
                monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun', 'Jul','Ago','Set','Out','Nov','Dez'],
                dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado'],
                dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'],
                dayNamesMin: ['D','S','T','Q','Q','S','S'],
                weekHeader: 'Semana',
                firstDay: 1,
                isRTL: false,
                showMonthAfterYear: false,
                yearSuffix: '',
                timeOnlyTitle: 'Só Horas',
                timeText: 'Tempo',
                hourText: 'Hora',
                minuteText: 'Minuto',
                secondText: 'Segundo',
                currentText: 'Data Atual',
                ampm: false,
                month: 'Mês',
                week: 'Semana',
                day: 'Dia',
                allDayText : 'Todo Dia'
            };
K

E como eu chamo no arquivo .xhtml? Continuo tento que colocar o atributo locale ou não ?

E

Acredito que para adaptar ao seu caso, troque

PrimeFaces.locales['pt'] = { do meu código

para PrimeFaces.locales['pt_BR'] = { que é o definido no seu código.

Pode adicionar num arquivo js e importar o arquivo no xhtml. Assim poderá chamar em qualquer arquivo.

K

Vlwww deu certo!!

fabiozanardi

assim não funciona galera?

<p:calendar locale="pt" showButtonPanel="true" navigator="true"/>

?

K

Usando a versão mais nova do primefaces não funcionou…

fabiozanardi

mesmo colocando no facesconfig.xml :

<application>
		<locale-config>
			<default-locale>pt_BR</default-locale>
                        <supported-locale>pt</supported-locale>
			<supported-locale>en_US</supported-locale>
		</locale-config>
	</application>

?

K

eu testei aqui e não foi…to usando o prime 3

fabiozanardi

realmente precisa dos locales, segue abaixo o link com a solução para todos locales, vale a pena salvar

Veja aqui nesse link: http://www.primefaces.org

fabiozanardi

eu fiz um teste aqui e funcionou perfeitamente apenas criando um arquivo locale-primefaces.js dentro da pasta WEB-INF/resources/js/ com os locales que vou utilizar,
ai no template ou na pagina jsf necessária voce chama:

<h:outputScript name="locale-primefaces.js" library="js" />

e no calendar adiciona a tag locale=“pt_BR” ou o nome que voce deu ao locale como foi dito acima

K

Foi assim que eu fiz e funfouu usando o *.js que o 'edudebom ’ postou!

Obrigada a todos!

C

Tentei fazer isso, mas não fica em portugues meu calendar, estou usando o primefaces 3.1, tem alguma configuração extra a se fazer?

No meu template eu coloquei essa linha no h:head

<h:outputScript name="library/js/locales.js" library="js"></h:outputScript>

nesse script está o conteúdo que o edudebom colocou

estou com a seguinte estrutura de diretorios:

WebContent
      | -- template.xhtml
      |
      | -- library
                 |-- js
                      |--locales.js
                 |-- css
                 |-- images
      |--META-INF
      |--WEB-INF

Não sei se vai dar pra entender direito a estrutura, mas basicamente é isso

Já o meu calendar está assim:

<p:calendar value="#{pessoaBean.pessoa.dataNascimento}" 
				id="campo-dtNascimento" 
				showOn="button"
				pattern="dd/MM/yyyy"
				locale="pt_BR"/>

Agradeço a ajuda desde já

AnjoVingador

Aproveitando o tópico…
É só comigo ou o ícone do p:calendar não está mais aparecendo direito?
E no lugar aparece um ícone estranho que não tem nada a ver com um calendário.
Está acontecendo com alguém?
Isso aconteceu comigo na versão 3.1, na 3.0.1 está normal.

C

o meu também ta assim, aparece um icone grande, meio estranho.

tiagowanke

Funcionou, muito obrigado.

Adicionei o javascript no arquivo locale-primefaces e meu componente ficou assim:

<p:calendar locale="pt" pattern="dd/MM/yyyy"/>

O arquivo local-primefaces:

PrimeFaces.locales['pt'] = {  
                closeText: 'Fechar',  
                prevText: 'Anterior',  
                nextText: 'Próximo',  
                currentText: 'Começo',  
                monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],  
                monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun', 'Jul','Ago','Set','Out','Nov','Dez'],  
                dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado'],  
                dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'],  
                dayNamesMin: ['D','S','T','Q','Q','S','S'],  
                weekHeader: 'Semana',  
                firstDay: 1,  
                isRTL: false,  
                showMonthAfterYear: false,  
                yearSuffix: '',  
                timeOnlyTitle: 'Só Horas',  
                timeText: 'Tempo',  
                hourText: 'Hora',  
                minuteText: 'Minuto',  
                secondText: 'Segundo',  
                currentText: 'Data Atual',  
                ampm: false,  
                month: 'Mês',  
                week: 'Semana',  
                day: 'Dia',  
                allDayText : 'Todo Dia'  
            };
rildomar

fabiozanardi eu não consegui…

utilizo o conceito de Templates… tem algum problema? creio que nao…

fiz assim:

  1. criei o diretorio /WEB-INF/resources/js/locale-primefaces.js
  2. Fui no template e acrescentei depois dos links: <h:outputScript name=“locale-primefaces.js” library=“js” />
  3. fui nos calendários, e coloquei locale=“pt_BR”…

Arquivo JS:

PrimeFaces.locales['pt_BR'] = { closeText: 'Fechar', prevText: 'Anterior', nextText: 'Próximo', currentText: 'Começo', monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'], monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun', 'Jul','Ago','Set','Out','Nov','Dez'], dayNames: ['Domingo','Segunda','Terça','Quarta','Quinta','Sexta','Sábado'], dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'], dayNamesMin: ['D','S','T','Q','Q','S','S'], weekHeader: 'Semana', firstDay: 0, isRTL: false, showMonthAfterYear: false, yearSuffix: '', timeOnlyTitle: 'Só Horas', timeText: 'Tempo', hourText: 'Hora', minuteText: 'Minuto', secondText: 'Segundo', ampm: false, month: 'Mês', week: 'Semana', day: 'Dia', allDayText : 'Todo o Dia' };

alessandro.a.r

Pra mim funcionou assim:

  • Criei o js na seguinte pasta:

/webapp/resources/js/locale.js

  • O jsf está aqui:

/webapp/teste.xhtml

  • E o conteúdo assim:

<h:head>
<h:outputScript library=“js” name=“locale.js”/>
</h:head>

<p:calendar pattern=“dd/MM/yyyy” locale=“pt_BR”/>

O library=“js” está apontando para a pasta “resources/js”.

douglasjam

vlw brother, funcionou perfeitamente

a estrutura de diretórios é a em anexo, atenção para mudar no js para pt_BR que foi o que fiz.

max.analista

fabiozanardi:
eu fiz um teste aqui e funcionou perfeitamente apenas criando um arquivo locale-primefaces.js dentro da pasta WEB-INF/resources/js/ com os locales que vou utilizar,
ai no template ou na pagina jsf necessária voce chama:

&lt;h:outputScript name="locale-primefaces.js" library="js" /&gt;

e no calendar adiciona a tag locale=“pt_BR” ou o nome que voce deu ao locale como foi dito acima

Para quem utiliza template, cabe a observação de que deve carregar o script no template e não na página.

huliane

Fiz da forma que indicaram, mas não está funcionando, alguma ideia?

D

Tem como indicar no locale para pegar o idioma do browser ou só tem como por fixo nesse caso?

netoSJB

Também não estou conseguindo, já fiz tudo o que pessoal mencionou acima, estou usando o primefaces 3.5

Edit>

Consegui resolver, no meu caso era a declaração do arquivo javaScript que estava com o atributo target=“header”, foi só retirar isso que funcionou.

Substitui isso:

<h:outputScript library="js" name="locale-primefaces.js" target="head"/>

Por isso:

<h:outputScript library="js" name="locale-primefaces.js"/>
MarcolaLipe10

Só server apenas para o calendar … e data !

Mas para quem usa o Scheduler , não da certo … xD

Pelo menos cmgo não deu xD

L

A pasta deve ser chamar “resources” e não “library”, pois o comando abaixo vai procurar por esse nome de pasta

&lt;h:outputScript name="locale-primefaces.js" library="js" /&gt;
L

A pasta deve ser chamar “resources” e não “library”, pois o comando abaixo vai procurar por esse nome de pasta

&lt;h:outputScript name="locale-primefaces.js" library="js" /&gt;
lcandidos

Boa tarde Senhores,

[url]http://www.guj.com.br/java/239756-calendar-primefaces-em-portugues#1647615[/url]

 o link acima faz referência a um outro post do GUJ onde soluciona o problema... resolvido pra mim nas versões anteriores e na atual(Estou utilizando a versão 5.1 do primefaces).

Abraços!

Criado 10 de janeiro de 2012
Ultima resposta 11 de nov. de 2014
Respostas 26
Participantes 16