AutoLang
AutoLang is a small package for Laravel applications which automatically detects the users browser language and sets this language with the App::setLocale() command., (*1)
It uses Session to temporarily save the language, so it doesn't need to detect the language on every request. Furthermore you can tell AutoLang which language to use, e.g. if a user wants to switch to another language than the browser has set., (*2)
Installation
Get the package
Use the command line to get AutoLang:, (*3)
composer require kuenzelit/auto-lang:dev-master
OR put this line in your composer.json file:, (*4)
"kuenzelit/auto-lang": "dev-master",
Service Provider
Add the service provider to your list of providers in app.php:, (*5)
"Kuenzelit/AutoLang/AutoLangServiceProvider",
Alias
If you like, you can register an alias by putting this line in your aliases array, (*6)
'AutoLang' => 'Kuenzelit\AutoLang\Facades\AutoLang',
Configuration
You may use artisan to publish the configuration file and edit it to specify the languages you're offering:, (*7)
php artisan config:publish kuenzelit/auto-lang
Interface
The AutoLang-Facade provides 4 methods: set, get, availableLanguages and detectLanguage:, (*8)
/**
* Overrides the currently detected language and sets it to the $lang param.
* $lang has to be from the array of available languages.
*
* @param $lang
* @throws \Exception
*/
public function set($lang)
/**
* Returns the current language.
* @return mixed
*/
public function get()
/**
* Returns the array of available languages. Can be set in the packages config.php.
*
* @return array
*/
public function availableLanguages()
/**
* Returns the language of the users browser.
*
* @return string
*/
public function detectLanguage()