ZF2 :: Traduzindo mensagens vindas do Validator

Olá!

O post de hoje é relacionado a como traduzir as mensagens vindas do Validator para o português ou qualquer outro idioma. Como você já deve saber, as mensagens padrões de validação de formulários vindas do ZendFramework 2 são em inglês. Como fazer para que elas já venham em português?

Felizmente o ZF2 já conta com as mensagens de validação, aviso ou erro traduzidas para o português e mais uma dezena de idiomas. Há diversas formas de traduzir mensagens de erro. Você pode pegar uma mensagem específica e traduzir somente ela ou definir para seu projeto que toda e qualquer mensagem vinda da classe Validator seja exibida por padrão no idioma desejado, no caso o português. Como fazer isso?

Basta você adicionar as seguintes linhas abaixo na função/método onBootstrap() de seu arquivo Module.php. Mas atenção! Uma coisa que penei muitas horas para aprender e que minha colega programadora Vanessa França me ajudou foi que o código deve estar no método onBootstrap do arquivo Module.php que se encontra no módulo principal de sua aplicação. Esse geralmente é o módulo Application. Se ele estiver em outro módulo que não seja o principal o código abaixo não irá funcionar.

Supondo que estamos em Application>Module.php, definimos:

 

//Adicione essas duas linhas
getApplication ()->getEventManager ();
		$moduleRouteListener = new ModuleRouteListener ();
		$moduleRouteListener->attach ( $eventManager );
		
                //Esse é o código para a tradução

                //Pega o serviço translator definido no arquivo module.config.php (aliases)
		$translator = $e->getApplication ()->getServiceManager ()->get ( 'translator' );
		
                //Define o local onde se encontra o arquivo de tradução de mensagens
                $translator->addTranslationFile ( 'phpArray', './vendor/zendframework/zendframework/resources/languages/pt_BR/Zend_Validate.php' );
    
		//Define o local (você também pode definir diretamente no método acima
		$translator->setLocale ( 'pt_BR' );
                //Define a tradução padrão do Validator
		AbstractValidator::setDefaultTranslator ( new Translator ( $translator ) );
	}
...
?>

Bem, após ter configurado dessa forma todas as suas validações deverão ser traduzidas automaticamente para o português. Abaixo encontram-se algumas referências em inglês e um tutorial em vídeo (português) produzido pelo canal “Curso Zend Framework” que poderão te ajudar. Qualquer dúvida, estou a disposição. Até a próxima!

Referências

Vídeo Tutorial ZendFramework2 – Translator (https://www.youtube.com/watch?v=BocxE_g4eLs)
Zend2 – Set Default (http://pastebin.com/pwZB05mW)
ZF2 – Documentação Oficial – Validation Messages Translator (http://framework.zend.com/manual/current/en/modules/zend.validator.messages.html)

 

CategoriasSem categoria

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.