From 68a1a81748e2e1c717303de4467cc81f432c71b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Holger=20Lo=CC=88sken?= Date: Tue, 19 Jul 2016 19:04:31 +0200 Subject: [PATCH] Make app language available in templates - Fix #705 - $appLanguage can be fetched inside each template --- .../ViewComposers/AppLanguageComposer.php | 37 +++++++++++++++++++ app/Providers/ComposerServiceProvider.php | 5 +++ resources/views/header.blade.php | 1 + resources/views/tasks/edit.blade.php | 2 +- 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 app/Http/ViewComposers/AppLanguageComposer.php diff --git a/app/Http/ViewComposers/AppLanguageComposer.php b/app/Http/ViewComposers/AppLanguageComposer.php new file mode 100644 index 000000000000..b9de4b801ae9 --- /dev/null +++ b/app/Http/ViewComposers/AppLanguageComposer.php @@ -0,0 +1,37 @@ +with('appLanguage', $this->getLanguage()); + } + + /** + * Get the language from the current locale + * + * @return string + */ + private function getLanguage() + { + $code = app()->getLocale(); + + if(preg_match('/_/', $code)) { + $codes = explode('_', $code); + $code = $codes[0]; + } + + return $code; + } +} \ No newline at end of file diff --git a/app/Providers/ComposerServiceProvider.php b/app/Providers/ComposerServiceProvider.php index 0bd4f0b57c2e..91d11043b398 100644 --- a/app/Providers/ComposerServiceProvider.php +++ b/app/Providers/ComposerServiceProvider.php @@ -17,6 +17,11 @@ class ComposerServiceProvider extends ServiceProvider ['accounts.details', 'clients.edit', 'payments.edit', 'invoices.edit', 'accounts.localization'], 'App\Http\ViewComposers\TranslationComposer' ); + + view()->composer( + ['header', 'tasks.edit'], + 'App\Http\ViewComposers\AppLanguageComposer' + ); } /** diff --git a/resources/views/header.blade.php b/resources/views/header.blade.php index de91336e1cae..4eaa4de24a4e 100644 --- a/resources/views/header.blade.php +++ b/resources/views/header.blade.php @@ -305,6 +305,7 @@ /* Set the defaults for Bootstrap datepicker */ $.extend(true, $.fn.datepicker.defaults, { + language: '{{ $appLanguage }}', weekStart: {{ Session::get('start_of_week') }} }); diff --git a/resources/views/tasks/edit.blade.php b/resources/views/tasks/edit.blade.php index 28df47a37239..1baee6a36780 100644 --- a/resources/views/tasks/edit.blade.php +++ b/resources/views/tasks/edit.blade.php @@ -170,7 +170,7 @@ var value = ko.utils.unwrapObservable(valueAccessor()); // http://xdsoft.net/jqplugins/datetimepicker/ $(element).datetimepicker({ - lang: '{{ Utils::getLocaleRegion() }}', + lang: '{{ $appLanguage }}', lazyInit: true, validateOnBlur: false, step: 30,