Browse Source

Add German on lang switcher

pull/7/head
Nafies Luthfi 8 years ago
parent
commit
72ed2b8709
  1. 10
      app/Http/Controllers/Users/ProfileController.php
  2. 1
      resources/lang/en/lang.php
  3. 5
      resources/lang/id/lang.php
  4. 11
      resources/views/layouts/partials/lang-switcher.blade.php
  5. 7
      tests/Feature/Users/UserProfileTest.php

10
app/Http/Controllers/Users/ProfileController.php

@ -20,7 +20,11 @@ class ProfileController extends Controller
public function edit() public function edit()
{ {
$langList = ['en' => trans('lang.en'), 'id' => trans('lang.id')];
$langList = [
'en' => trans('lang.en'),
'id' => trans('lang.id'),
'de' => trans('lang.de'),
];
return view('users.profile.edit', compact('langList')); return view('users.profile.edit', compact('langList'));
} }
@ -30,7 +34,7 @@ class ProfileController extends Controller
request()->validate([ request()->validate([
'name' => 'required|string|max:100', 'name' => 'required|string|max:100',
'email' => 'required|email|max:255', 'email' => 'required|email|max:255',
'lang' => 'required|string|in:en,id',
'lang' => 'required|string|in:en,id,de',
]); ]);
$user = auth()->user(); $user = auth()->user();
@ -48,7 +52,7 @@ class ProfileController extends Controller
public function switchLang() public function switchLang()
{ {
$userData = request()->validate([ $userData = request()->validate([
'lang' => 'required|string|in:en,id',
'lang' => 'required|string|in:en,id,de',
]); ]);
$user = request()->user(); $user = request()->user();

1
resources/lang/en/lang.php

@ -5,4 +5,5 @@ return [
'switch_tooltip' => 'Switch language to :lang', 'switch_tooltip' => 'Switch language to :lang',
'en' => 'English', 'en' => 'English',
'id' => 'Bahasa', 'id' => 'Bahasa',
'de' => 'German',
]; ];

5
resources/lang/id/lang.php

@ -3,6 +3,7 @@
return [ return [
'lang' => 'Bahasa', 'lang' => 'Bahasa',
'switch_tooltip' => 'Ubah bahasa ke :lang', 'switch_tooltip' => 'Ubah bahasa ke :lang',
'en' => 'Bahasa Inggris',
'id' => 'Bahasa Indonesia',
'en' => 'Inggris',
'id' => 'Indonesia',
'de' => 'Jerman',
]; ];

11
resources/views/layouts/partials/lang-switcher.blade.php

@ -22,4 +22,15 @@
+ (auth()->user()->lang == 'id' ? ['disabled' => 'disabled'] : []), + (auth()->user()->lang == 'id' ? ['disabled' => 'disabled'] : []),
['lang' => 'id'] ['lang' => 'id']
) !!} ) !!}
{!! FormField::formButton(
[
'route' => 'users.profile.switch-lang',
'method' => 'patch',
'title' => auth()->user()->lang != 'de' ? trans('lang.switch_tooltip', ['lang' => trans('lang.de')]) : ''
],
'DE',
['class' => 'btn btn-default btn-xs', 'de' => 'switch_lang_de']
+ (auth()->user()->lang == 'de' ? ['disabled' => 'disabled'] : []),
['lang' => 'de']
) !!}
</div> </div>

7
tests/Feature/Users/UserProfileTest.php

@ -36,7 +36,7 @@ class UserProfileTest extends TestCase
$this->submitForm(trans('auth.update_profile'), [ $this->submitForm(trans('auth.update_profile'), [
'name' => 'Nama Saya', 'name' => 'Nama Saya',
'email' => 'me@domain.com', 'email' => 'me@domain.com',
'lang' => 'en', // en, id
'lang' => 'en', // en, id, de
]); ]);
$this->see(trans('auth.profile_updated')); $this->see(trans('auth.profile_updated'));
@ -80,5 +80,10 @@ class UserProfileTest extends TestCase
$this->assertEquals('id', app()->getLocale()); $this->assertEquals('id', app()->getLocale());
$this->assertEquals('id', $user->fresh()->lang); $this->assertEquals('id', $user->fresh()->lang);
$this->submitForm('switch_lang_id', ['lang' => 'de']);
$this->assertEquals('de', app()->getLocale());
$this->assertEquals('de', $user->fresh()->lang);
} }
} }
Loading…
Cancel
Save