Zend Framework - Mensagens de erro em Portugues no ZendForm
Zend Framework é um conjunto de classes criado pela Zend para facilitar a criação de sites PHP oferendo um formato pré determinado, por exemplo você faz formulários onde as mensagens de validação já estão prontas. O problema é que isso ás vezes engessa o código e o torna inflexível para quem não conhece o formato direito. Por isso a idéia desse e dos próximos artigos é oferecer soluções simples para quem está começando agora a trabalhar com Zend Framework.
A idéia é ter um Array com a variável que os componentes do ZendForm usam internamente e a mensagem em português, depois criar um componente de ZendTranslate e informá-lo no init da sua classe que estende o ZendForm. Parece fácil, nao. Vamos aos arquivos:
Primeiro precisamos criar um arquivo com o array em portugues, eu criei o meu dentro de application/i18n/pt-br.php . Dentro dele vai o conteúdo abaixo:
Existem outras mensagens mas infelizmente eu não achei nenhuma documentação. Se alguém achar por favor avise.
Agora falta configurar os outros arquivos:
E pronto!
A solução eu encontrei no blog do Adler Meldrado (Obrigada ;-)) e em um fórum que usava um tal de de.php (eu acho que é alemão..), eu só adaptei o local dos Registry e do Array de idiomas.
A idéia é ter um Array com a variável que os componentes do ZendForm usam internamente e a mensagem em português, depois criar um componente de ZendTranslate e informá-lo no init da sua classe que estende o ZendForm. Parece fácil, nao. Vamos aos arquivos:
Primeiro precisamos criar um arquivo com o array em portugues, eu criei o meu dentro de application/i18n/pt-br.php . Dentro dele vai o conteúdo abaixo:
//application/i18n/pt-br.php $portugues = array(); $portugues['isEmpty']= 'Este campo não pode ser vazio'; // Email $portugues['emailAddressInvalid'] = 'não é um email válido no formato nome@servidor'; //Captcha $portugues['missingValue'] = 'Valor incorreto. Digite novamente.'; $portugues['badCaptcha'] = 'Valor incorreto. Digite novamente.'; $portugues['missingID'] = 'Está faltando valores. Digite novamente.';
Existem outras mensagens mas infelizmente eu não achei nenhuma documentação. Se alguém achar por favor avise.
Agora falta configurar os outros arquivos:
bootstrap.php (aquele arquivo inicial..): //Registrando o Zend Translate include_once APPLICATION_PATH . '/i18n/pt-br.php'; $translate = new Zend_Translate('array', $portugues, 'pt_BR'); Zend_Registry::set('translate', $translate ); Agora coloque o código abaixo no init do seu formulário: $translate = Zend_Registry::get('translate'); $this->setTranslator($translate);
E pronto!
A solução eu encontrei no blog do Adler Meldrado (Obrigada ;-)) e em um fórum que usava um tal de de.php (eu acho que é alemão..), eu só adaptei o local dos Registry e do Array de idiomas.
Obrigado Pelo Artigo, estou aprendendo este conteudo na faculdade, e quero saber melhor sobre issu, e estou postando todos os conteudos que aprendo no site http://www.baixafree.com.br
20/01/2013 4:47am
(~12 anos atrás)
Obrigado por tomar o tempo para discutir isso, eu sinto fortemente sobre ele e adoro aprender mais sobre este tema. Se possível, como você ganhar experiência <a href="http://lucyyou.com/kinh-mat" rel="dofollow">kinh mat</a>, você se importaria de atualizar seu blog com mais informações? É extremamente útil para mim ... obrigado
17/01/2013 8:29pm
(~12 anos atrás)
Nós da TI, temos esse importante papel de facilitar a comunicação e a informação, no mundo das tecnologias.
Lembrando que, no Brasil, idiomas estrangeiros ainda é um grande obstáculo. O que não deveria ser, enfim... apesar de bizarro, é cultural.
http://vienne.co/bop-nu
Lembrando que, no Brasil, idiomas estrangeiros ainda é um grande obstáculo. O que não deveria ser, enfim... apesar de bizarro, é cultural.
http://vienne.co/bop-nu
17/01/2013 3:50am
(~12 anos atrás)
Legal a utilidade do que foi proposto pelo artigo, para usuário final.
Nós da TI, temos esse importante papel de facilitar a comunicação e a informação, no mundo das tecnologias.
Lembrando que, no Brasil, idiomas estrangeiros ainda é um grande obstáculo. O que não deveria ser, enfim... apesar de bizarro, é cultural.
Nós da TI, temos esse importante papel de facilitar a comunicação e a informação, no mundo das tecnologias.
Lembrando que, no Brasil, idiomas estrangeiros ainda é um grande obstáculo. O que não deveria ser, enfim... apesar de bizarro, é cultural.
07/04/2012 3:14pm
(~12 anos atrás)
Parabéns pelo artigo Camila, achei muito bem escrito. :-)
Com relação as demais chaves do array para tradução, tem uma contribuição do usuário Matias Rezende no "iMasters Code" que possui acredito que todas as chaves, dá uma olhada:
http://code.imasters.com.br/index.php?/topic/25-traducao-das-mensagens-de-validacao/
Um abraço!
Com relação as demais chaves do array para tradução, tem uma contribuição do usuário Matias Rezende no "iMasters Code" que possui acredito que todas as chaves, dá uma olhada:
http://code.imasters.com.br/index.php?/topic/25-traducao-das-mensagens-de-validacao/
Um abraço!
31/03/2011 2:05am
(~13 anos atrás)