Completed
Pull Request — master (#27)
by Sebastian
04:29
created

TranslationServiceProvider   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4
Metric Value
wmc 3
lcom 1
cbo 4
dl 0
loc 33
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A register() 0 16 1
A registerLoader() 0 6 1
A provides() 0 4 1
1
<?php
2
3
namespace App\Providers;
4
5
use App\Services\Locale\TranslationLoader;
6
use Illuminate\Support\ServiceProvider;
7
use Illuminate\Translation\Translator;
8
9
class TranslationServiceProvider extends ServiceProvider
10
{
11
    protected $defer = true;
12
13
    public function register()
14
    {
15
        $this->registerLoader();
16
17
        $this->app->singleton('translator', function ($app) {
18
            $loader = $app['translation.loader'];
19
20
            $locale = $app['config']['app.locale'];
21
22
            $trans = new Translator($loader, $locale);
23
24
            $trans->setFallback($app['config']['app.fallback_locale']);
25
26
            return $trans;
27
        });
28
    }
29
30
    protected function registerLoader()
31
    {
32
        $this->app->singleton('translation.loader', function ($app) {
33
            return new TranslationLoader($app['files'], $app['path.lang']);
34
        });
35
    }
36
37
    public function provides() : array
38
    {
39
        return ['translator', 'translation.loader'];
40
    }
41
}
42