| @@ 26-32 (lines=7) @@ | ||
| 23 | public function convert(string $header): string |
|
| 24 | { |
|
| 25 | $langs = collect(explode(',', $header))->map(static function (string $lang) { |
|
| 26 | if (str_contains($lang, ';')) { |
|
| 27 | $langWithQ = explode(';', $lang); |
|
| 28 | return collect([ |
|
| 29 | 'locale' => $langWithQ[0], |
|
| 30 | 'q-factor' => $langWithQ[1] |
|
| 31 | ]); |
|
| 32 | } |
|
| 33 | if (str_contains($lang, '-')) { |
|
| 34 | $langParam = explode('-', $lang)[0]; |
|
| 35 | return collect([ |
|
| @@ 33-39 (lines=7) @@ | ||
| 30 | 'q-factor' => $langWithQ[1] |
|
| 31 | ]); |
|
| 32 | } |
|
| 33 | if (str_contains($lang, '-')) { |
|
| 34 | $langParam = explode('-', $lang)[0]; |
|
| 35 | return collect([ |
|
| 36 | 'locale' => $langParam, |
|
| 37 | 'q-factor' => null |
|
| 38 | ]); |
|
| 39 | } |
|
| 40 | return $lang; |
|
| 41 | })->whereIn('locale', config('browser-lang.available_locales', ['en'])); |
|
| 42 | return $langs->first()->get('locale', App::getLocale()); |
|