mirror of
https://github.com/Einundzwanzig-Podcast/einundzwanzig-portal.git
synced 2025-12-11 06:46:47 +00:00
huge Laravel 10 upgrade
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace JoeDixon\Translation;
|
||||
|
||||
use Illuminate\Translation\TranslationServiceProvider as ServiceProvider;
|
||||
use Illuminate\Translation\Translator;
|
||||
use JoeDixon\Translation\Drivers\Translation;
|
||||
|
||||
class TranslationBindingsServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Register package bindings in the container.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
if ($this->app['config']['translation.driver'] === 'database') {
|
||||
$this->registerDatabaseTranslator();
|
||||
} else {
|
||||
parent::register();
|
||||
}
|
||||
}
|
||||
|
||||
private function registerDatabaseTranslator()
|
||||
{
|
||||
$this->registerDatabaseLoader();
|
||||
|
||||
$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['config']['app.locale'];
|
||||
$trans = new Translator($loader, $locale);
|
||||
$trans->setFallback($app['config']['app.fallback_locale']);
|
||||
|
||||
return $trans;
|
||||
});
|
||||
}
|
||||
|
||||
protected function registerDatabaseLoader()
|
||||
{
|
||||
$this->app->singleton('translation.loader', function ($app) {
|
||||
// Post Laravel 5.4, the interface was moved to the contracts
|
||||
// directory. Here we perform a check to see whether or not the
|
||||
// interface exists and instantiate the relevant loader accordingly.
|
||||
if (interface_exists('Illuminate\Contracts\Translation\Loader')) {
|
||||
return new ContractDatabaseLoader($this->app->make(Translation::class));
|
||||
}
|
||||
|
||||
return new InterfaceDatabaseLoader($this->app->make(Translation::class));
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user