diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 09b2a11a..b4a1408b 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -54,6 +54,7 @@ class Kernel extends HttpKernel 'installer' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Session\Middleware\StartSession::class, + \App\Http\Middleware\SetLocaleFromSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, ], diff --git a/beike/Installer/Controllers/WelcomeController.php b/beike/Installer/Controllers/WelcomeController.php index 70124355..f2df85d8 100644 --- a/beike/Installer/Controllers/WelcomeController.php +++ b/beike/Installer/Controllers/WelcomeController.php @@ -12,6 +12,9 @@ namespace Beike\Installer\Controllers; use App\Http\Controllers\Controller; +use Beike\Repositories\LanguageRepo; +use Illuminate\Support\Facades\Redirect; +use Illuminate\Support\Facades\Session; class WelcomeController extends Controller { @@ -21,8 +24,16 @@ class WelcomeController extends Controller exit('Already installed'); } - $steps = 1; + $data['languages'] = LanguageRepo::enabled(); - return view('installer::welcome', compact('steps')); + return view('installer::welcome', $data); + } + + public function locale($lang) + { + if (in_array($lang, languages()->toArray())) { + Session::put('locale', $lang); + } + return Redirect::back(); } } diff --git a/beike/Installer/Routes/installer.php b/beike/Installer/Routes/installer.php index 870ba5cf..8e2e0b57 100644 --- a/beike/Installer/Routes/installer.php +++ b/beike/Installer/Routes/installer.php @@ -12,6 +12,7 @@ Route::prefix('installer') ->middleware(['installer']) ->group(function () { Route::get('/', [WelcomeController::class, 'index'])->name('welcome'); + Route::get('lang/{lang}', [WelcomeController::class, 'index'])->name('lang.switch'); Route::get('requirements', [RequirementsController::class, 'index'])->name('requirements'); Route::get('permissions', [PermissionsController::class, 'index'])->name('permissions'); Route::get('environment', [EnvironmentController::class, 'index'])->name('environment');