| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- <?php
- namespace Illuminate\Translation;
- use Illuminate\Contracts\Support\DeferrableProvider;
- use Illuminate\Support\ServiceProvider;
- class TranslationServiceProvider extends ServiceProvider implements DeferrableProvider
- {
- /**
- * Register the service provider.
- *
- * @return void
- */
- public function register()
- {
- $this->registerLoader();
- $this->app->singleton('translator', function ($app) {
- $loader = $app['translation.loader'];
- // When registering the translator component, we'll need to set the default
- // locale as well as the fallback locale. So, we'll grab the application
- // configuration so we can easily get both of these values from there.
- $locale = $app->getLocale();
- $trans = new Translator($loader, $locale);
- $trans->setFallback($app->getFallbackLocale());
- return $trans;
- });
- }
- /**
- * Register the translation line loader.
- *
- * @return void
- */
- protected function registerLoader()
- {
- $this->app->singleton('translation.loader', function ($app) {
- return new FileLoader($app['files'], [__DIR__.'/lang', $app['path.lang']]);
- });
- }
- /**
- * Get the services provided by the provider.
- *
- * @return array
- */
- public function provides()
- {
- return ['translator', 'translation.loader'];
- }
- }
|