安装引导程序语言切换
This commit is contained in:
parent
7d40d7e6e0
commit
52fd9ce208
|
|
@ -54,7 +54,7 @@ class Kernel extends HttpKernel
|
||||||
'installer' => [
|
'installer' => [
|
||||||
\App\Http\Middleware\EncryptCookies::class,
|
\App\Http\Middleware\EncryptCookies::class,
|
||||||
\Illuminate\Session\Middleware\StartSession::class,
|
\Illuminate\Session\Middleware\StartSession::class,
|
||||||
\App\Http\Middleware\SetLocaleFromSession::class,
|
\App\Http\Middleware\SetLocaleInstaller::class,
|
||||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\App;
|
||||||
|
|
||||||
|
class SetLocaleInstaller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param Request $request
|
||||||
|
* @param Closure $next
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
public function handle(Request $request, Closure $next)
|
||||||
|
{
|
||||||
|
$sessionLocale = session('locale');
|
||||||
|
$languageDir = base_path('beike/Installer/Lang');
|
||||||
|
$languages = array_values(array_diff(scandir($languageDir), array('..', '.')));
|
||||||
|
|
||||||
|
if ($sessionLocale && in_array($sessionLocale, $languages)) {
|
||||||
|
App::setLocale($sessionLocale);
|
||||||
|
} else {
|
||||||
|
session(['locale' => 'en']);
|
||||||
|
}
|
||||||
|
return $next($request);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -24,14 +24,22 @@ class WelcomeController extends Controller
|
||||||
exit('Already installed');
|
exit('Already installed');
|
||||||
}
|
}
|
||||||
|
|
||||||
$data['languages'] = LanguageRepo::enabled();
|
$languageDir = base_path('beike/Installer/Lang');
|
||||||
|
$packages = array_values(array_diff(scandir($languageDir), array('..', '.')));
|
||||||
|
$Languages = collect($packages)->filter(function ($package) {
|
||||||
|
return file_exists(base_path("beike/Installer/Lang/{$package}"));
|
||||||
|
})->toArray();
|
||||||
|
$data['languages'] = array_values($Languages);
|
||||||
|
$data['steps'] = 1;
|
||||||
|
|
||||||
return view('installer::welcome', $data);
|
return view('installer::welcome', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function locale($lang)
|
public function locale($lang)
|
||||||
{
|
{
|
||||||
if (in_array($lang, languages()->toArray())) {
|
$languageDir = base_path('beike/Installer/Lang');
|
||||||
|
$packages = array_values(array_diff(scandir($languageDir), array('..', '.')));
|
||||||
|
if (in_array($lang, $packages)) {
|
||||||
Session::put('locale', $lang);
|
Session::put('locale', $lang);
|
||||||
}
|
}
|
||||||
return Redirect::back();
|
return Redirect::back();
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ Route::prefix('installer')
|
||||||
->middleware(['installer'])
|
->middleware(['installer'])
|
||||||
->group(function () {
|
->group(function () {
|
||||||
Route::get('/', [WelcomeController::class, 'index'])->name('welcome');
|
Route::get('/', [WelcomeController::class, 'index'])->name('welcome');
|
||||||
Route::get('lang/{lang}', [WelcomeController::class, 'index'])->name('lang.switch');
|
Route::get('lang/{lang}', [WelcomeController::class, 'locale'])->name('lang.switch');
|
||||||
Route::get('requirements', [RequirementsController::class, 'index'])->name('requirements');
|
Route::get('requirements', [RequirementsController::class, 'index'])->name('requirements');
|
||||||
Route::get('permissions', [PermissionsController::class, 'index'])->name('permissions');
|
Route::get('permissions', [PermissionsController::class, 'index'])->name('permissions');
|
||||||
Route::get('environment', [EnvironmentController::class, 'index'])->name('environment');
|
Route::get('environment', [EnvironmentController::class, 'index'])->name('environment');
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue