예전에 외국 소프트웨어 회사에서 일할 때 작은 실험적인 웹 프로젝트를 작성한 적이 있습니다. 요구 사항 중 하나는 사용자를 위해 여러 언어(중국어 간체, 중국어 번체, 영어, 한국어, 일본어)를 지원하는 것이었습니다. 당시에는 템플릿 기술을 사용하여 이를 구현했으며 사용자의 설정은 쿠키를 통해 저장됩니다. 그러나 사용자는 처음 로그인할 때(또는 쿠키를 삭제한 후에도) 언어를 선택해야 합니다. ). 그러면 사용자에게 더 편리할 수 있을까요? 프로그램을 사용하여 선택을 자동으로 도울 수 있습니까?
대답은 그렇습니다. 모두가 Google을 사용하고 있습니다. 중국어 시스템을 사용하여 Google 홈페이지를 열면 다른 언어가 아닌 중국어 홈페이지가 자연스럽게 열립니다. Google은 사용자 시스템에 대해 선호하는 언어가 무엇인지 자동으로 결정하기 때문입니다.
Google처럼 어떻게 할 수 있나요? 사실 매우 간단합니다.
브라우저가 웹 서버로 보낸 HTTP 헤더 정보에는 Accept-Language와 같은 정보가 포함되어 있습니다. 이 정보는 브라우저의 도구->인터넷 옵션->일반에 있는 언어입니다. 서버는 허용되는 여러 언어의 우선순위 목록이 될 수 있습니다.
"사용자 언어를 자동으로 결정하는 방법"을 간략하게 소개하기 위해 ASP를 예로 들어 보겠습니다.
<%
함수 RegExpTest(patrn, strng)
Dim regEx,Match,Matches'는 변수를 생성합니다.
Set regEx = New RegExp' 정규식을 만듭니다.
regEx.Pattern = patrn'은 패턴을 설정합니다.
regEx.IgnoreCase = True'는 문자가 대소문자를 구분하는지 여부를 설정합니다.
regEx.Global = True'글로벌 가용성을 설정합니다.
Set Matches = regEx.Execute(strng)'검색을 실행합니다.
Matches의 각 일치에 대해'는 일치 컬렉션을 반복합니다.
RetStr = RetStr&Match.Value
다음
RegExpTest = RetStr
기능 종료
AL = Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")' 사용자 브라우저의 허용되는 언어 매개변수를 가져옵니다.
LG = RegExpTest("^[az-]+",AL)' 사용자 브라우저에서 허용되는 언어 기본 설정을 가져옵니다.
LG 케이스 선택
케이스 "zh-cn"
response.write "中文(中國)"
케이스 "zh-tw"
response.write "중국어(대만)"
케이스 "zh-mo"
response.write "중국어(마카오 SAR)"
케이스 "zh-hk"
response.write "중국어(홍콩 SAR)"
케이스 "zh-sg"
response.write "중국어(싱가포르)"
"en-us" 케이스
response.write "영어(미국)"
케이스 "ja"
response.write "일본어"
케이스 "코"
response.write "한국어"
선택 종료
%>