Como mudar o idioma das mensagens de erro.
A idéia é ter um Array com a variável que os componentes do ZendForm usa 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.
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário