Определить, какие языки установлены , возможно, не совсем возможно ...
... Но вы можете определить, какие языки пользователь хочет получить с веб-сайтов - то есть, в общем, какие языки он может понять.
Большинство браузер отправить HTTP-заголовок под названием «Accept-Language
», который может иметь значение, например, как «fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
» (это то, что мой текущий браузер отправить на веб-сайты я посещаю)
На стороне PHP, вы можете получить это в $_SERVER
массиве:
var_dump($_SERVER['HTTP_ACCEPT_LANGUAGE']);
Выведет:
string 'fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3' (length=35)
Здесь он указывает, что я хочу, чтобы сайты отправляли мне контент на французском языке; но я также принимаю английский (желательно английский английский, но я в порядке с просто английским английским стандартом)
Вы можете найти довольно много примеров того, как разбирать это на PHP; например: Parse Accept-Language to detect a user's language.
Используя код, предоставленный в этой статье, я получаю этот массив языков:
array
'fr' => int 1
'fr-fr' => string '0.8' (length=3)
'en-us' => string '0.5' (length=3)
'en' => string '0.3' (length=3)
т.е.
- Я предпочитаю французский
- если «пт» не представляется возможным, мне нравится «французский из Франции»
- если это невозможно, я принимаю «английский из США»
- и если это тоже невозможно, я в порядке с «английским»
И если веб-сайт не может обслуживать никого из этих ... Ну, я полагаю, у меня нет большого выбора, и я получу все он хочет отправить меня ...
Вы имеете в виду говорящий язык, а не язык программирования, не так ли? –
Правильно Маркрам. –