コード例 #1
0
ファイル: Module.php プロジェクト: esase/dream-cms
 /**
  * Init default localization
  *
  * @return void
  */
 private function initDefaultLocalization()
 {
     try {
         // get all registered localizations
         $localization = $this->serviceLocator->get('Application\\Model\\ModelManager')->getInstance('Localization\\Model\\LocalizationBase');
         // init default localization
         $this->localizations = $localization->getAllLocalizations();
         $acceptLanguage = Locale::acceptFromHttp(getEnv('HTTP_ACCEPT_LANGUAGE'));
         $defaultLanguage = !empty($this->userIdentity['language']) ? $this->userIdentity['language'] : ($acceptLanguage ? substr($acceptLanguage, 0, 2) : null);
         // setup locale
         $this->defaultLocalization = array_key_exists($defaultLanguage, $this->localizations) ? $this->localizations[$defaultLanguage] : current($this->localizations);
         // init translator settings
         $translator = $this->serviceLocator->get('translator');
         $translator->setLocale($this->defaultLocalization['locale']);
         // add a cache for translator
         $request = $this->serviceLocator->get('Request');
         if (!$request instanceof ConsoleRequest) {
             $translator->setCache($this->serviceLocator->get('Application\\Cache\\Dynamic'));
         }
         // init default localization
         Locale::setDefault($this->defaultLocalization['locale']);
         AbstractValidator::setDefaultTranslator($translator);
         LocalizationService::setCurrentLocalization($this->defaultLocalization);
         LocalizationService::setLocalizations($this->localizations);
     } catch (Exception $e) {
         ApplicationErrorLogger::log($e);
     }
 }