2011-08-02 3 views
3

"로캘"이 예 :로 설정되면 무엇을 의미합니까? 일본어? 브라우저가 일본어 문자를 인식 할 준비가되어 있음을 의미합니까? 또는 OS 설정과 관련이 있습니까?로캘 : 브라우저 또는 OS 설정?

i18n (국제화 및 현지화)과 관련하여 Google 사이트를 방문한 사용자가 JavaScript를 사용하는 일본어 로켈? 다음의 간단한 수표로 충분합니까?

var userLocale = navigator.language || navigator.userLanguage; 
if (userLocale.toLowerCase() == 'ja-jp') { ... } 

다른 일본어 로케일 브라우저 반환 뭔가 오히려 ja-jp 이하인 수 있습니까?

미리 감사드립니다.

+0

BTW. Siku-Siku.com이 귀하의 도메인 이름 인 경우 폴란드에서 사업하기를 원한다면 다른 도메인을 선택하라고 조언합니다. 폴란드에서는 너무 우스운 것 같습니다. –

+0

감사합니다. Pawel! 한 언어로 잘된다는 것은 다른 언어에서 우스울 수 있음을 의미합니다. 그것은 무언가 의미가 없거나 무례하지 않기 때문에 기쁘다. :) – moey

답변

6

먼저 로캘이 무엇인지 정의해야합니다. 사용하는 맥락에서 ISO639 Language Identifier 다음에 선택적으로 ISO3166 Country Identifier이옵니다. 이는 최종 사용자의 환경 설정 (예 : 현지화 된 컨텐츠의 언어 또는 날짜/시간 형식 및 숫자 형식)을 결정하는 데 사용됩니다.

이제 Locale을 여러 곳에 설정할 수 있습니다. OS에는 일반적으로 키보드 레이아웃, 서식 환경 설정, 언어 환경 설정, 코드 페이지 (비 유니 코드 프로그램 용) 등과 같은 여러 설정이 있습니다.
웹 브라우저는 일반적으로 사용자가 자신의 환경 설정을 선택할 수 있도록합니다 (Safari는 예외입니다 이리). 이러한 기본 설정은 HTTP 요청 - 언어 헤더를 통해 웹 서버에 각 요청과 함께 전송됩니다. 이것은 당신이 어떻게 든 서버 측에서 읽어야 만하는 것입니다 (불행히도 PHP, C#, Java 등의 서버 측 코드를 의미하며, 클라이언트 측 스크립트로 전달 될 수도 있음).
나는 navigator.language 같은 두 가지 이유로 이동하는 방법이 아니라고 여기에 명시해야합니다

  1. 이 그 다른 웹 브라우저는 서로 다른 코드를 필요로하고, 크로스 브라우저 호환되지 않습니다. 그것은 그들이 처음에이 정보를 읽는 것을 허용하는 경우입니다.

  2. 이 설정은 일반적으로 웹 브라우저의 언어 (웹 브라우저의 사용자 인터페이스가 번역됨)를 나타내며 실제 사용자의 취향과는 아무 관련이 없습니다.

귀하의 질문에 대답하십시오 : 아니오,이 수표로 충분하지 않습니다.

+0

HTTP 수락 언어 크로스 브라우저가 호환됩니까? – moey

+0

Accept-Language는 HTTP (Hyper-Text Transfer Protocol) 헤더 중 하나이므로 브라우저 간 호환이 가능해야합니다. –

0

대부분 OS/브라우저 설정이며, 예를 들어 운영 체제의 언어, 날짜/시간 형식, 소수점/쉼표 등. 즉, 세계의 다양한 지역에 따라 다른 설정이 가능합니다. 이것은 폰트/문자 지원과 직접적인 상관 관계가 없습니다.

알고있는 한, 표준화 된 일본어 로케일/언어 조합은 ja-jp입니다. 그러나 @ Siku-siku.com은 "(IE/WinXP의 일본어 버전을 사용하는 실제 테스트에 기반한) 주석에 제안 된대로 ja도 확인합니다. IE 언어 설정에서 사용할 수있는 옵션 중 하나이기 때문입니다."

+0

로케일을 탐지하려면 브라우저에서 설정된 언어 환경 설정 (예 : 도구> 인터넷 옵션> 일반> 언어) 또는 OS 설정 (예 : 시작> 제어판> 국가 및 언어)을 확인하는 것이 좋습니다. 언어 옵션> 지역 옵션 ')? – moey

+0

브라우저 내 JavaScript에서 이들 중 하나에 액세스 할 수 없으므로 게시 한 코드가 가장 좋습니다. – Piskvor

+0

위의 스 니펫은 실제로 후자의 방법 (제어판)을 사용하여 설정된 값을 가져옵니다. 여기에 설명되어 있습니다. http://stackoverflow.com/questions/1043339/javascript-for-detecting-browser-language-preference – moey