[RESPONDIDO] calendar em português no Primefaces 3

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

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'
            };

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

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.

Vlwww deu certo!!

assim não funciona galera?

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

?

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

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>

?

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

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

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

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

Obrigada a todos!

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á

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.

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

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'  
            };  

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' };

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”.

1 curtida

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.

1 curtida

[quote=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[/quote]

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

1 curtida