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); }