Пример #1
0
 public function testGetLocaleByLanguage()
 {
     foreach ($this->languages as $language => $locale) {
         $this->assertSame($locale, $this->localeService->getLocaleByLanguage($language));
     }
     $this->setExpectedException(\InvalidArgumentException::class, 'Unsupported language');
     $this->localeService->getLocaleByLanguage('nonExistent');
 }
 /**
  * @param MvcEvent $e
  * @param          $lang
  */
 protected function setLocale(MvcEvent $e, $lang)
 {
     $translator = $e->getApplication()->getServiceManager()->get('translator');
     $locale = $this->localeService->getLocaleByLanguage($lang);
     setlocale(LC_ALL, array($locale . ".utf8", $locale . ".iso88591", $locale, substr($locale, 0, 2), 'de_DE.utf8', 'de_DE', 'de'));
     Locale::setDefault($locale);
     $translator->setLocale($locale);
     $routeMatch = $e->getRouteMatch();
     if ($routeMatch && $routeMatch->getParam('lang') === null) {
         $routeMatch->setParam('lang', $lang);
     }
     $e->getRouter()->setDefaultParam('lang', $lang);
 }