40 lines
1.6 KiB
PHP
40 lines
1.6 KiB
PHP
<?php
|
|||
|
|
|
||
|
|
namespace Modules\Core\Providers;
|
||
|
|
|
||
|
|
use Illuminate\Support\Facades\Event;
|
||
|
|
use Illuminate\Support\ServiceProvider;
|
||
|
|
use Lunar\Models\Language;
|
||
|
|
use Modules\Core\Localization\Events\LanguageCreated;
|
||
|
|
use Modules\Core\Localization\Events\LanguageDeleted;
|
||
|
|
use Modules\Core\Localization\Events\LanguageUpdated;
|
||
|
|
use Modules\Core\Localization\Events\TranslationCreated;
|
||
|
|
use Modules\Core\Localization\Events\TranslationDeleted;
|
||
|
|
use Modules\Core\Localization\Events\TranslationUpdated;
|
||
|
|
use Modules\Core\Localization\LanguageCacheObserver;
|
||
|
|
use Modules\Core\Localization\Listeners\FlushLanguageCache;
|
||
|
|
use Modules\Core\Localization\Listeners\FlushTranslationCache;
|
||
|
|
use Modules\Core\Localization\Listeners\LogTranslationActivity;
|
||
|
|
use Modules\Core\Localization\Listeners\MigrateTranslationsForRenamedLanguage;
|
||
|
|
use Modules\Core\Localization\LocaleMiddleware;
|
||
|
|
|
||
|
|
class LocalizationServiceProvider extends ServiceProvider
|
||
|
|
{
|
||
|
|
public function boot(): void
|
||
|
|
{
|
||
|
|
$this->app['router']->aliasMiddleware('locale', LocaleMiddleware::class);
|
||
|
|
Language::observe(LanguageCacheObserver::class);
|
||
|
|
|
||
|
|
foreach ([TranslationCreated::class, TranslationUpdated::class, TranslationDeleted::class] as $event) {
|
||
|
|
Event::listen($event, FlushTranslationCache::class);
|
||
|
|
Event::listen($event, LogTranslationActivity::class);
|
||
|
|
}
|
||
|
|
|
||
|
|
foreach ([LanguageCreated::class, LanguageUpdated::class, LanguageDeleted::class] as $event) {
|
||
|
|
Event::listen($event, FlushLanguageCache::class);
|
||
|
|
}
|
||
|
|
|
||
|
|
Event::listen(LanguageUpdated::class, MigrateTranslationsForRenamedLanguage::class);
|
||
|
|
}
|
||
|
|
}
|