Ярлыки

.htaccess (4) тестирование (8) шаблоны проектирования (3) css (5) Debian (6) docker (2) Doctrine2 (6) Git (6) html (4) java (6) javascript (13) jquery (11) LFS (3) linux (23) mac os (4) mod_rewrite (2) MSSQL (4) MySQL (18) ORM Doctrine (17) patterns (3) PDO (3) perl (7) PHP (64) PHPUnit (8) Python (15) SEO (2) Silex (1) SimpleXML (1) SQL (14) ssh (4) Ubuntu (24) Yii1 (1) Zend Framework (19) ZendFramework2 (8)

понедельник, 16 сентября 2013 г.

ZendFramework2. Перевод сообщений валидатора на русский язык.

Для того чтобы валидаторы заговорили по-русски или на любом другом языке, а это сообщения об ошибках в формах и тд, делаем следующее:

namespace MyModule;

use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;
use Zend\Validator\AbstractValidator;

class Module implements AutoloaderProviderInterface
{
   ...

   $translator = $e->getApplication()->getServiceManager()
                     ->get('translator');
   $translator->addTranslationFile(
       'phpArray',
'./vendor/zendframework/zendframework/resources/languages/ru/Zend_Validate.php',
       'default',
       'ru_RU'
   );
   AbstractValidator::setDefaultTranslator($translator);

   ...
}

А так же можем вообще добавить свой файл переводов. Мне, например, он понадобился для локализации сообщений модуля ZfcUser, которые просто заданы как свойства контроллера.
   ...

   $translator->addTranslationFile(
       'phpArray',
       './module/MyModule/language/ru.php',
       'default',
       'ru_RU'
   );

   ...

Ну и сам файл переводов создаем module/MyModule/language/ru.php

return array(
    'Authentication failed. Please try again.' =>
        'Неверный пароль или логин. Попробуйте еще раз.'
);

Комментариев нет:

Отправить комментарий