Create a language switcher for your Laravel 5.5 app, straight from the command line
Create a language switcher for your Laravel 5.5+ app straight from the command line, (*2)
composer require mikehins/language-switcher
This command will add / remove a language switcher menu item in the main nav bar., (*3)
, (*4)
Be sure to run composer require laravel/ui
and php artisan ui vue --auth
before to run the command. You also have to run npm install && npm run dev
, (*5)
Be sure to run php artisan make:auth
and php artisan migrate
before to run the command, (*6)
To add the language switcher, (*7)
php artisan switch:add
To revert the changes, (*8)
php artisan switch:delete
This is what the command switch:add
does :
- Add a default_language
field in your users table
- Add the markup to the layouts/app.blade.php
file
- Add a route in the routes/web.php
file
- Add a Middleware inside app\Http\Middleware
- Add the middleware to the app\Http\Kernel.php
- Add a LanguageController in the app\Http\Controllers
directory
- Add a language file to the config directory config/languages.php
, (*9)
When the user switch the language, it will automatically update the default_language
field from the users table.
The next time the user logs in, the language session will automatically be set by the middleware using the auth()->user()->default_language
variable., (*10)