douyasi / locator
Browser Preferred Language Detector
Installs: 6 849
Dependents: 0
Suggesters: 0
Security: 0
Stars: 4
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/douyasi/locator
Requires
- php: >=5.5.9
- ext-intl: *
This package is auto-updated.
Last update: 2025-10-27 17:22:59 UTC
README
Description
Browser Preferred Language Detector, detect by browser Accept-Language request header.
Installation
Get Composer, then run in terminal:
cd /path/to/your-project composer require "douyasi/locator:~1.0"
Usage
Example in Laravel
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.
API
Detect your browser preferred language:
$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.
Get browser preferrend languages:
$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": ""
}
]
},
]
Reference
Copyright
Copyright (c) 2016 douyasi org by ycrao