share(function (Application $app) { if (!$app['configuration.store']->isSetup()) { return 'en'; } return $app['conf']->get(['languages', 'default'], 'en'); }); $app['locales.available'] = $app->share(function (Application $app) { $availableLanguages = PhraseaApplication::getAvailableLanguages(); if ($app['configuration.store']->isSetup() && 0 < count((array) $app['conf']->get(['languages', 'available']))) { $languages = $app['conf']->get(['languages', 'available'], []); $enabledLanguages = $availableLanguages; foreach ($enabledLanguages as $code => $language) { if (in_array($code, $languages)) { continue; } unset($enabledLanguages[$code]); } if (0 === count($enabledLanguages)) { $app['monolog']->error('Wrong language configuration, no language activated'); return $availableLanguages; } return $enabledLanguages; } return $availableLanguages; }); } public function boot(Application $app) { } }