브라우저에서 기본 언어 세트를 결정하는 방법이 필요합니다. 나는 PHP를위한 훌륭한 솔루션을 찾았지만 불행히도 장고/파이썬을 사용하고 있습니다.파이썬 - HTTP/브라우저에서 주요 언어 코드 추출
정보가 HTTP 요청의 HTTP_ACCEPT_LANGUAGE 속성 내에 있다고 생각합니다.
나를위한 아이디어 나 기성 기능이 있습니까?
브라우저에서 기본 언어 세트를 결정하는 방법이 필요합니다. 나는 PHP를위한 훌륭한 솔루션을 찾았지만 불행히도 장고/파이썬을 사용하고 있습니다.파이썬 - HTTP/브라우저에서 주요 언어 코드 추출
정보가 HTTP 요청의 HTTP_ACCEPT_LANGUAGE 속성 내에 있다고 생각합니다.
나를위한 아이디어 나 기성 기능이 있습니까?
당신은 request.META
dictionary을 찾고 다음 WebOb를 설치하는 것을
from webob.acceptparse import Accept
language_accept = Accept(request.META['HTTP_ACCEPT_LANGUAGE'])
print language_accept.best_match(('en', 'de', 'fr'))
print 'en' in language_accept
참고 :
print request.META['HTTP_ACCEPT_LANGUAGE']
WebOb project, 경량 웹 프레임 워크는 당신이이 경우에 다시 사용할 수있는 편리한 accept parser을 포함 패키지가 Django의 기능을 방해하지 않을 것입니다. 우리는 여기서 아주 유용한 패키지 클래스를 다시 사용하고 있습니다.
짧은 데모는 항상 더 많은 예시 :
>>> header = 'en-us,en;q=0.5'
>>> from webob.acceptparse import Accept
>>> lang = Accept(header)
>>> 'en' in lang
True
>>> 'fr' in lang
False
>>> lang.best_match(('en', 'de', 'fr'))
'en'
이 내가 사용하는 기능이며, 그 내 생성 자체입니다.
DEF 언어 (자기)의 self._request.META 이 'HTTP_ACCEPT_LANGUAGE' LANG = self._request.META [ 'HTTP_ACCEPT_LANGUAGE'] 복귀 STR (LANG [2]) 다른 : 리턴 'en'
그냥 부르세요.
나는 이것을 알고 있지만 기본 언어를 감지 할 방법이 필요합니다. 주로 'HTTP_ACCEPT_LANGUAGE'는 다른 언어를 포함하는 문자열입니다. – Ron
클라이언트가 항상 HTTP_ACCEPT_LANGUAGE를 전달하지 않을 수도 있으며, 실제로 그것이 맞지 않을 수도 있습니다. 가장 바보 같은 방법은 항상 사용자가 명시 적으로 언어를 선택하도록하는 것입니다. –
내 웹 사이트에있는 사소한 기능입니다. 내가 코드를 얻으면, 그 좋은. 그렇지 않으면, 나는 단지 독일어 또는 영어를 사용합니다 ... – Ron