Ir para o conteúdo

Matias Rezende

Cadastrado: 16 Set 2010
Offline Última atividade: Mar 01 2013 08:17
-----

#445 Tradução das mensagens de validação

Postado por Matias Rezende em 27 julho 2011 - 10:44

Será que essa diferença é na versão do ZF? Aqui eu estou usando a 1.11.9.


É... atualizei para esta versão e começou a acontecer este problema. Se achar outra solução eu posto aqui. Não achei muito elegante esta solução de definir o caminho completo para o locale, mas...

Carlos Eduardo


#443 Tradução das mensagens de validação

Postado por Matias Rezende em 27 julho 2011 - 10:27

Acho que sei o que é... Provavelmente você não tem setado no seu application.ini (ou no Bootstrap) o Locale padrão.

application/config/application.ini

Veja se assim funciona.

Carlos Eduardo


#441 Tradução das mensagens de validação

Postado por Matias Rezende em 27 julho 2011 - 09:32

Depois que eu postei aqui, descobri que o próprio Zend Framework manda em sua library as traduções. Então, uma forma mais "internacional" de fazer:

/application/Boostrap.php


Onde o 'locale' é a tradução esperada. Caso você precise de outra tradução, o próprio ZF vem com outras traduções. Ou seja, você pode deixar a tradução das mensagens dinâmicas de forma simples.

O conteúdo das traduções (que bem dentro do pacote Zend Framework Full), fica no caminho /resources/languages. No caso do código postado, copiaríamos as pastas e arquivos e colocaríamos em library/translate.

Carlos Eduardo


#68 Tradução das mensagens de validação

Postado por Matias Rezende em 29 setembro 2010 - 21:37

Arquivo que contém as mensagens de erro dos validadores utilizados pelo Zend_Validate_*, definindo também como o translate padrão.

/application/translate/pt_BR.php

Utilização:
/application/Bootstrap.php


Ao utilizar este código neste formato, é só utilizar o validador normalmente, que as mensagens já serão exibidas em português.

Se encontrar alguma mensagem que não está traduzida, poste a tradução e o índice para o array. Por exemplo, no validador NotEmpty(), temos, no início da classe:

const IS_EMPTY = 'isEmpty';

Então, colocar este nome, a mensagem original e a mensagem traduzida.

Vamos colaborar!!

Carlos Eduardo