@@ 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()); |