From 9a05f10300c2a2a5fcf2881728b6b46a7f1c8967 Mon Sep 17 00:00:00 2001
From: karl <karl@suma-ev.de>
Date: Tue, 14 Jun 2016 14:14:39 +0200
Subject: [PATCH] =?UTF-8?q?=C3=9Cbersetzte=20Seiten=20sollten=20alle=20Err?=
 =?UTF-8?q?eichbar=20und=20die=20Sprache=20w=C3=A4hlbar=20sein?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/Http/Kernel.php                           |  4 +++
 app/Http/routes.php                           | 15 +++++-----
 config/laravellocalization.php                |  2 +-
 resources/lang/de/staticPages.php             |  3 ++
 resources/lang/en/staticPages.php             |  3 ++
 resources/views/layouts/staticPages.blade.php | 28 +++++++++++++------
 resources/views/layouts/subPages.blade.php    |  2 +-
 7 files changed, 38 insertions(+), 19 deletions(-)

diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php
index bae3ad963..f4c0d947f 100644
--- a/app/Http/Kernel.php
+++ b/app/Http/Kernel.php
@@ -50,5 +50,9 @@ class Kernel extends HttpKernel
         'can' => \Illuminate\Foundation\Http\Middleware\Authorize::class,
         'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
         'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
+        
+        'localize' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRoutes::class,
+        'localizationRedirect' => \Mcamara\LaravelLocalization\Middleware\LaravelLocalizationRedirectFilter::class,
+        'localeSessionRedirect' => \Mcamara\LaravelLocalization\Middleware\LocaleSessionRedirect::class
     ];
 }
diff --git a/app/Http/routes.php b/app/Http/routes.php
index ac4592b65..5187bf51f 100644
--- a/app/Http/routes.php
+++ b/app/Http/routes.php
@@ -11,15 +11,14 @@
 |
 */
 
-    Route::group(['prefix' => LaravelLocalization::setLocale()], function()
-    {
-        /** ADD ALL LOCALIZED ROUTES INSIDE THIS GROUP **/
-        /* Route::get('/', function()
+    Route::group(
+        [
+            'prefix' => LaravelLocalization::setLocale(), 
+            'middleware' => [ 'localeSessionRedirect', 'localizationRedirect' ]
+        ], 
+        function()
         {
-            return view('index', [ 
-            'title' => trans('titles.index'), 
-            'homeIcon']);
-        }); */
+        /** ADD ALL LOCALIZED ROUTES INSIDE THIS GROUP **/
 
         Route::get('/', 'StartpageController@loadStartPage');
 
diff --git a/config/laravellocalization.php b/config/laravellocalization.php
index fed09e0f4..5060d6ca3 100755
--- a/config/laravellocalization.php
+++ b/config/laravellocalization.php
@@ -307,6 +307,6 @@ return [
     // IMPORTANT - When hideDefaultLocaleInURL is set to true, the unlocalized root is treated as the applications default locale "app.locale".
     // Because of this language negotiation using the Accept-Language header will NEVER occur when hideDefaultLocaleInURL is true.
     //
-	'hideDefaultLocaleInURL' => false,
+	'hideDefaultLocaleInURL' => true,
 
 ];
diff --git a/resources/lang/de/staticPages.php b/resources/lang/de/staticPages.php
index 0adea0d77..495558211 100644
--- a/resources/lang/de/staticPages.php
+++ b/resources/lang/de/staticPages.php
@@ -19,7 +19,10 @@ return [
 	'nav16' 			=> 'Fördern',
 	'nav17' 			=> 'Einkaufen bei MetaGer-Fördershops',
 	'nav18' 			=> 'Kontakt',
+	'nav19'				=> 'Sprache',
+
 	'navigationToggle'	=> 'Navigation anzeigen',
+	
 	'sumaev.1'			=>	'MetaGer wird entwickelt und betrieben vom ',
 	'sumaev.2'			=>	'SUMA-EV - Verein für freien Wissenszugang.'
 ];
\ No newline at end of file
diff --git a/resources/lang/en/staticPages.php b/resources/lang/en/staticPages.php
index 5d61d987e..06bcdc655 100644
--- a/resources/lang/en/staticPages.php
+++ b/resources/lang/en/staticPages.php
@@ -19,7 +19,10 @@ return [
 	'nav16' => 'Support',
 	'nav17' => 'Purchase at MetaGer Supporting Shops',
 	'nav18' => 'Contact',
+	'nav19' => 'Language',
+
 	'navigationToggle'	=> 'show navigation',
+
 	'sumaev.1'			=>	'MetaGer is developed and run by ',
 	'sumaev.2'			=>	'SUMA-EV - Association for Free Access to Knowledge.'
 ];
\ No newline at end of file
diff --git a/resources/views/layouts/staticPages.blade.php b/resources/views/layouts/staticPages.blade.php
index 84499f7c1..9fed8dc80 100644
--- a/resources/views/layouts/staticPages.blade.php
+++ b/resources/views/layouts/staticPages.blade.php
@@ -42,7 +42,7 @@
               <div class="collapse navbar-collapse" id="navbar-collapse">
                 <ul class="nav navbar-nav navbar-right">
                   <li>
-                    <a href="/" id="navigationSuche">{{ trans('staticPages.nav1') }}
+                    <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}" id="navigationSuche">{{ trans('staticPages.nav1') }}
                     </a>
                   </li>
                   <li class="dropdown">
@@ -52,7 +52,7 @@
                     </a>
                     <ul class="dropdown-menu">
                       <li>
-                        <a href="/spende/">{{ trans('staticPages.nav2') }}
+                        <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spende/") }}">{{ trans('staticPages.nav2') }}
                         </a>
                       </li>
                       <li>
@@ -62,7 +62,7 @@
                     </ul>
                   </li>
                   <li>
-                    <a href="/datenschutz/" id="navigationPrivacy">{{ trans('staticPages.nav3') }}
+                    <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/datenschutz/") }}" id="navigationPrivacy">{{ trans('staticPages.nav3') }}
                     </a>
                   </li>
                   <li class="dropdown">
@@ -76,19 +76,19 @@
                         </a>
                       </li>
                       <li>
-                        <a href="/kontakt/">{{ trans('staticPages.nav5') }}
+                        <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/kontakt/") }}">{{ trans('staticPages.nav5') }}
                         </a>
                       </li>
                       <li>
-                        <a href="/team/">{{ trans('staticPages.nav6') }}
+                        <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/team/") }}">{{ trans('staticPages.nav6') }}
                         </a>
                       </li>
                       <li>
-                        <a href="/about/">{{ trans('staticPages.nav7') }}
+                        <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/about/") }}">{{ trans('staticPages.nav7') }}
                         </a>
                       </li>
                       <li>
-                        <a href="/impressum/">{{ trans('staticPages.nav8') }}
+                        <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/impressum/") }}">{{ trans('staticPages.nav8') }}
                         </a>
                       </li>
                     </ul>
@@ -100,11 +100,11 @@
                     </a>
                     <ul class="dropdown-menu">
                       <li>
-                        <a href="/hilfe/">{{ trans('staticPages.nav9') }}
+                        <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/hilfe/") }}">{{ trans('staticPages.nav9') }}
                         </a>
                       </li>
                       <li>
-                        <a href="/widget/">{{ trans('staticPages.nav10') }}
+                        <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/widget/") }}">{{ trans('staticPages.nav10') }}
                         </a>
                       </li>
                       <li>
@@ -125,6 +125,16 @@
                       </li>
                     </ul>
                   </li>
+                  <li class="dropdown">
+                    <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" id="navigationSprache">{{ trans('staticPages.nav19') }}
+                      <span class="caret"></span>
+                    </a>
+                    <ul class="dropdown-menu">
+                      @foreach(LaravelLocalization::getSupportedLocales() as $localeCode => $properties)
+                      <li><a rel="alternate" hreflang="{{$localeCode}}" href="{{LaravelLocalization::getLocalizedURL($localeCode) }}">{{{ $properties['native'] }}}</a></li>
+                      @endforeach
+                    </ul>
+                  </li>
                 </ul>
               </div>
             </div>
diff --git a/resources/views/layouts/subPages.blade.php b/resources/views/layouts/subPages.blade.php
index 9d5a0236b..c6ab157c5 100644
--- a/resources/views/layouts/subPages.blade.php
+++ b/resources/views/layouts/subPages.blade.php
@@ -1,7 +1,7 @@
 @extends('layouts.staticPages')
 
 @section('homeIcon')
-<a class="navbar-brand" href="/">
+<a class="navbar-brand" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}"">
 				  <div class="logo">
 				    <h1>MetaGer
 				    </h1>
-- 
GitLab