diff --git a/app/Http/Middleware/SettingsMiddleware.php b/app/Http/Middleware/SettingsMiddleware.php index c903e580..257cca99 100644 --- a/app/Http/Middleware/SettingsMiddleware.php +++ b/app/Http/Middleware/SettingsMiddleware.php @@ -25,6 +25,10 @@ public function handle($request, Closure $next) config(['app.timezone' => $user_timezone]); } + if ($userLocale = usersettings('locale')) { + app()->setLocale($userLocale); + } + return $next($request); } } diff --git a/app/Http/Requests/UserSettingsUpdateRequest.php b/app/Http/Requests/UserSettingsUpdateRequest.php index 23849b01..1b1600d5 100644 --- a/app/Http/Requests/UserSettingsUpdateRequest.php +++ b/app/Http/Requests/UserSettingsUpdateRequest.php @@ -31,6 +31,7 @@ public function authorize(Request $request) public function rules() { return [ + 'locale' => 'required', 'timezone' => 'required', ]; } diff --git a/config/app.php b/config/app.php index 137f7508..a596f784 100644 --- a/config/app.php +++ b/config/app.php @@ -82,6 +82,12 @@ 'locale' => 'en_US', + 'available_locales' => [ + 'en_US' => 'English', + 'de_DE' => 'Deutsch', + 'zh_CN' => '简体中文', + ], + /* |-------------------------------------------------------------------------- | Application Fallback Locale diff --git a/resources/lang/de_DE/settings.php b/resources/lang/de_DE/settings.php index a5ba951d..f01747b6 100644 --- a/resources/lang/de_DE/settings.php +++ b/resources/lang/de_DE/settings.php @@ -6,6 +6,7 @@ 'app_settings' => 'Anwendungseinstellungen', 'system_settings' => 'Systemeinstellungen', + 'language' => 'Sprache', 'timezone' => 'Zeitzone', 'date_format' => 'Datumsformat', 'time_format' => 'Zeitformat', diff --git a/resources/lang/en_US/settings.php b/resources/lang/en_US/settings.php index 0b8703bc..e73515a4 100644 --- a/resources/lang/en_US/settings.php +++ b/resources/lang/en_US/settings.php @@ -6,6 +6,7 @@ 'app_settings' => 'Application Settings', 'system_settings' => 'System Settings', + 'language' => 'Language', 'timezone' => 'Timezone', 'date_format' => 'Date Format', 'time_format' => 'Time Format', diff --git a/resources/lang/zh_CN/settings.php b/resources/lang/zh_CN/settings.php index f08ffc8f..d5f7d066 100644 --- a/resources/lang/zh_CN/settings.php +++ b/resources/lang/zh_CN/settings.php @@ -6,6 +6,7 @@ 'app_settings' => '应用程序设置', 'system_settings' => '系统设置', + 'language' => '语言', 'timezone' => '时区', 'date_format' => '日期格式', 'time_format' => '时间格式', diff --git a/resources/views/actions/settings/partials/user/app-settings.blade.php b/resources/views/actions/settings/partials/user/app-settings.blade.php index 908f1096..32025d30 100644 --- a/resources/views/actions/settings/partials/user/app-settings.blade.php +++ b/resources/views/actions/settings/partials/user/app-settings.blade.php @@ -11,21 +11,21 @@
-
@@ -34,21 +34,21 @@ class="simple-select {{ $errors->has('timezone') ? ' is-invalid' : '' }}">
-
@@ -105,7 +105,7 @@ class="custom-select{{ $errors->has('time_format') ? ' is-invalid' : '' }}">
-
+
@@ -166,6 +166,33 @@ class="custom-select{{ $errors->has('link_display_mode') ? ' is-invalid' : '' }}
+
+
+ +
+ + + @if ($errors->has('links_new_tab')) + + @endif +
+ +
+
+
+ @include('actions.settings.partials.user.app-settings.archive-backups') @include('actions.settings.partials.user.app-settings.privacy')