ZF2 как изменить локаль в представлении

мой конфиг

'translator' => array(
'locale' => 'en_EN',
'translation_file_patterns' => array(
    array(
        'type'     => 'gettext',
        'base_dir' => __DIR__ . '/../language',
            'pattern'  => '%s.mo',
        ),
    ),
),

и как я могу изменить язык из моего представления или контроллера?


person Cawa    schedule 24.09.2012    source источник


Ответы (2)


Получите экземпляр Translator и вызовите метод setLocale(). Пример (контекст контроллера):

// Get the translator from the service locator.
$translator = $this->getServiceLocator()->get('translator');
$translator->setLocale($myLocale);
person Daniel M    schedule 24.09.2012
comment
Я думаю, что код должен быть таким: $this->getServiceLocator()->get('translator'); - person kwelsan; 01.08.2013
comment
Это работает нормально, но только когда значение переменной $myLocale равно en_US или в случае французского языка - fr_FR. Я хотел бы знать, что мне делать, если значение просто fr. Мой адрес domain.com/fr/.. - person Kunal Dethe; 24.06.2014

ОБНОВИТЬ:

$translator = $this->getServiceLocator()->get('translator');
$translator->setLocale($myLocale);
person josesalomon    schedule 22.09.2013