I'm new to laravell and would like to understand how to switch between two Languages the best way.
My website only uses two languages. I want to build a simple language switcher. Here is my HTML -> Which should display the language that I want to switch to. Not show the current language.
For example. If i am on www.test.com/en my html says
<a class="lang-switch">German</a>
So when i click on it i land on
And now my html should say
<a class="lang-switch">English</a>
Here is how i do my language routing.
Route::get('/{locale?}', function ($locale = null) {
if (isset($locale) && in_array($locale, config('app.available_locales'))) {
app()->setLocale($locale);
}
return view('home');
});
Route::get('/{locale?}/contact/', function ($locale = null) {
if (isset($locale) && in_array($locale, config('app.available_locales'))) {
app()->setLocale($locale);
}
return view('contact');
});
I need this switch to work on both websites since it's a static nav bar.
I register my locales in my app.php
file
'available_locales' => [
'English' => 'en',
'German' => 'de',
],
I created a Language Controller but i'm not sure how to implement or use it correctly.
class LanguageController extends Controller
{
public function switchLang($lang)
{
if (array_key_exists($lang, Config::get('languages'))) {
Session::put('applocale', $lang);
}
return Redirect::back();
}
}
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire