Browser Preferred Language Detector, detect by browser Accept-Language
request header.
Get Composer, then run in terminal:
cd /path/to/your-project
composer require "douyasi/locator:~1.0"
Route::get('test', function () {
$detector = app('Douyasi\Locator\PreferredLanguageDetector');
return $detector->detect(['zh-CN', 'en']);
//return $detector->get();
//return $detector->get_languages(['zh-CN,zh', 'en', 'zh-TW'], ['0.8', '0.6', '0.4']);
});
You can use
$detector->detect(['zh-CN', 'en'])
to replaceRequest::getPreferredLanguage(['zh-CN', 'en'])
in Laravel.
$langs = ['zh-CN', 'en']; //available languages (i18n array) in your web project
$detector->detect($langs); //return 'zh-CN' or 'en', according to your browser language preference.
$detector->get();
You can get some data (json format) like blow:
[
{
"priority": 80,
"tags": "zh-CN,zh",
"locales": [
{
"language": "zh",
"region": "CN",
"script": "",
"variant1": "",
"variant2": "",
"variant3": "",
"private1": "",
"private2": "",
"private3": ""
},
{
"language": "zh",
"script": "",
"region": "",
"variant1": "",
"variant2": "",
"variant3": "",
"private1": "",
"private2": "",
"private3": ""
}
]
},
{
"priority": 60,
"tags": "en",
"locales": [
{
"language": "en",
"script": "",
"region": "",
"variant1": "",
"variant2": "",
"variant3": "",
"private1": "",
"private2": "",
"private3": ""
}
]
},
]
Copyright (c) 2016 douyasi org by ycrao