Computer >> 컴퓨터 >  >> 프로그램 작성 >> PHP

PHP에서 클라이언트 로케일을 감지하는 가장 간단한 방법

<시간/>

PHP는 5.3.0부터 '$_SERVER['HTTP_ACCEPT_LANGUAGE ']' 변수를 로케일로 변환 -

예시

$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo $locale;

'$_SERVER['HTTP_ACCEPT_LANGUAGE']' 함수는 현재 로케일의 언어를 매개변수로 사용하여 로케일을 감지하는 데 도움이 됩니다.

출력

이것은 다음과 같은 출력을 생성합니다 -

en_US

대부분의 브라우저는 미국에서 온 경우 en-us를 지정하는 Accept-Language HTTP 헤더를 제출합니다. 일부 구형 브라우저는 en만 사용합니다.

English-UK 기반 사용자는 일반적으로 시스템 또는 사용자 로캘을 기본 브라우저 구성인 English-UK로 설정합니다. 그러면 En-gb가 Accept Language 헤더가 됩니다. 다른 국가에는 en-za(남아프리카 공화국) 등과 같은 en 로케일이 있습니다.

Geo-IP 기반 추측은 선호하는 언어/로케일에서 정확하지 않을 수 있습니다.