Bolt\Provider\TranslationServiceProvider::register PHP Method

register() public method

public register ( Silex\Application $app )
$app Silex\Application
    public function register(Application $app)
    {
        if (!isset($app['translator'])) {
            $app->register(new Silex\Provider\TranslationServiceProvider(), ['locale_fallbacks' => ['en_GB', 'en']]);
        }
        $app['translator.caching'] = true;
        if ($app['config']->get('general/caching/translations') === false) {
            $app['translator.caching'] = false;
        }
        $app['translator.cache_dir'] = $app->share(function ($app) {
            if ($app['translator.caching'] === false) {
                return null;
            }
            return $app['resources']->getPath('cache/trans');
        });
        $app['translator'] = $app->share($app->extend('translator', function ($translator, $app) {
            foreach ($app['translator.loaders'] as $format => $loader) {
                $translator->addLoader($format, $loader);
            }
            return $translator;
        }));
        $app['translator.loaders'] = $app->share(function () {
            return ['yml' => new TranslationLoader\YamlFileLoader(), 'xlf' => new TranslationLoader\XliffFileLoader()];
        });
        $app['translator.resources'] = $app->extend('translator.resources', function (array $resources, $app) {
            $locale = $app['locale'];
            $resources = array_merge($resources, static::addResources($app, $locale));
            foreach ($app['locale_fallbacks'] as $fallback) {
                if ($locale !== $fallback) {
                    $resources = array_merge($resources, static::addResources($app, $fallback));
                }
            }
            return $resources;
        });
        $locales = (array) $app['config']->get('general/locale');
        // Add fallback locales to list if they are not already there
        $locales = array_unique(array_merge($locales, $app['locale_fallbacks']));
        // Merge in generic versions of each locale
        $locales = $this->mergeGenericLocales($locales);
        // Merge in UTF-8 suffixes for each locale
        $locales = $this->mergeUtf8Locales($locales);
        // Set locales for native php...not sure why?
        setlocale(LC_ALL, $locales);
        $this->setDefaultTimezone($app);
        // for javascript datetime calculations, timezone offset. e.g. "+02:00"
        $app['timezone_offset'] = date('P');
    }