Dev/script

자바스크립트 브라우저 언어 추출 체크 방법 JAVASCRIPT FOR DETECTING BROWSER LANGUAGE

허연동백hipublic2020 2021. 7. 21. 17:04
반응형

현재 브라우저 언어 설정값을 가져오는 방법에는 IE와 비 IE(파폭, 크롬 등등)의 차이가 있습니다.

IE의 navigator객체에는 systemLanguage, userLanguage, browserLanguage 가 있어 마치 브라우저 언어를 보여줄 것 같지만, 전혀 그렇지 않아 사람을 혼란에 빠트리죠.

혼란을 주는 IE전용 속성

  • navigator.userLanguage OS의 제어판 – 국가 및 언어 – 입력 언어를 나타낸다.
  • navigator.browserLanguage, navigator.systemLanguage OS의 제어판 – 국가 및 언어 – 표시 언어의 반환한다.(browserLanguage와 systemLanguage의 차이는 발견하지 못했다.)
  • 모두 OS 언어 설정과 연관되어있다
    $(function(){
      /*
       * 비 IE에서는 navigator.language 로 브라우저 현재 설정된 언어를 쉽게 알 수 있으나,
       * IE에서는 브라우저에 설정된 언어를 알 수 있는 navigator.language 속성이 없기때문에,
       * HTTP 응답 헤더값을 알아와야 하는 별도 처리가 슬프게도 필요 합니다.
       */
      var language;
      if (navigator.language) {
        // 비 IE에서 작동
        language = navigator.language
      } else {
        // IE에서 작동
        $.ajax({
          url: "http://ajaxhttpheaders.appspot.com",
          dataType: 'jsonp',
          success: function(headers) {
            language = headers['Accept-Language'];
            alert(language) // 요청 헤더에서 추출한 사용자 브라우저의 언어를 열거합니다.
          }
        });
      }
    });

웹브라우저(사용자) 언어는 브라우저가 보내주는 Accept Language 헤더 정보를 통하여 판별할 수 있습니다.

PHP의 경우에는 _$SERVER ['HTTP_ACCEPT_LANGUAGE'] 정보를 통하여 해당 정보를 알 수 있고,

ASP의 경우엔 Request.ServerVariables("HTTP_ACCEPT_LANGUAGE") 로 알아낼 수 있습니다.

1. 형식

ko

en-us

ja

en-us,en;q=0.5

ko-kr, ko;q=0.8, en-us;q=0.5, en;q=0.3 

...

"ko-kr, ko;q=0.8, en-us;q=0.5, en;q=0.3" 정보는 해당 사용자는 한국어가 주요 사용언어이고 미국영어,영어 순서로 사용 선택이 

가능하다는 이야기입니다.

2. ISO 639 국제표준

C2 C3 KNAME ENAME
lg lug 간다어 Ganda
gl glg 갈리시아어;갈레고어 Gallegan;Galician (AGAL)
Galician (RAG)
gd gla 게일어;스코틀랜드 게일어 Gaelic;Scottish Gaelic
gn grn 과라니어 Guarani
gu guj 구자라트어 Gujarati
ka geo/kat 그루지야어 Georgian
el gre/ell 그리스어(현대) Modern Greek; Greek (ελληνικά)
kl kal 그린란드어;칼랄리수트 Greenlandic;Kalaallisut
nv nav 나바호어 Navajo;Navaho
na nau 나우루어 Nauru
nl dut/nld 네덜란드어;플라망어 Dutch;Flemish (Nederlands)
ne nep 네팔어 Nepali
no nor 노르웨이어 Norwegian (Norsk)
nn nno 노르웨이어(뉘노르스크);신노르웨이어 Norwegian Nynorsk
nb nob 노르웨이어(보크몰);덴마크-노르웨이어 Norwegian Bokmal
ny nya 니안자어;체와어;치체와 Chichewa;Chewa;Nyanja
da dan 덴마크어 Danish (Dansk)
de ger/deu 독일어 German (Deutsch)
dv div 디베히어 Divehi language
lo lao 라오어 Lao; Laothian (Phaasaa Laao)
lv lav 라트비아어 Latvian (Latviešu valoda)
la lat 라틴어 Latin
ru rus 러시아어 Russian (русский язык)
rm roh 로망슈어;레토로망어;라이티아 로망스어 Rhaeto-Romance
ro rum/ron 루마니아어 Romanian (Limba Română)
lu lub 루바카탕가어 Luba-Katanga
lb ltz 룩셈부르크어 Luxembourgish;Letzeburgesch
rn run 룬디어 Rundi
rw kin 르완다어;키냐르완다어 Kinyarwanda
lt lit 리투아니아어 Lithuanian (Lietuvių kalba)
li lim 림뷔르흐어 Limburgan;Limburger;Limburgish
ln lin 링갈라어 Lingala
mg mlg 마다가스카르어 Malagasy
mr mar 마라타어 Marathi
mh mah 마셜어 Marshallese
mi mao/mri 마오리어 Maori
mk mac/mkd 마케도니아어 Macedonian (македонски јазик)
ml mal 말라얄람어 Malayalam
ms may/msa 말레이어 Malay (بهاس ملايو)
gv glv 맨어;맹크스어 Manx
mo mol 몰도바어 Moldavian;Moldovan
mt mlt 몰타어 Maltese
mn mon 몽골어 Mongolian
ba bak 바슈키르어 Bashkir
eu baq/eus 바스크어 Basque
bm bam 밤바라어 Bambara
my bur/mya 버마어 Burmese
vi vie 베트남어 Vietnamese (tiếng Vit/Vit ng)
ve ven 벤다어 Venda
be bel 벨라루스어 Belarusian/Byelorussian (беларуская мова)
bn ben 벵골어 Bengali
bs bos 보스니아어 Bosnian (Bosanski)
vo vol 볼라퓌크 Volapuk
bg bul 불가리아어 Bulgarian (български език)
br bre 브르타뉴어 Breton (Brezhoneg)
bi bis 비슐라마어 Bislama
bh bih 비하르어 Bihari
sc srd 사르데냐어 Sardinian
sm smo 사모아어 Samoan
se sme 사미어(북) Northern Sami
sa san 산스크리트어 Sanskrit
sg sag 상고어 Sango
sr scc/srp 세르비아어 Serbian (српски језик)
so som 소말리어 Somali
st sot 소토어(남) Southern Sotho
sn sna 쇼나어 Shona
su sun 순다어 Sundanese
ss ssw 스와티어 Swati
sw swa 스와힐리어;키스와힐리어 Swahili
sv swe 스웨덴어 Swedish (Svenska)
es spa 스페인어;에스파냐어;카스티야어 Spanish (Español); Castilian (Castellano)
cu chu 슬라브어(고대 교회) Church Slavic
sk slo/slk 슬로바키아어 Slovak (Slovenčina)
sl slv 슬로베니아어 Slovenian (Slovenski jezik)
sd snd 신드어 Sindhi
si sin 싱할라어 Sinhalese
ii iii 쓰촨 이어 Sichuan Yi
an arg 아라곤어 Aragonese
ar ara 아랍어 Arabic (لْعَرَبيّة)
hy arm/hye 아르메니아어 Armenian (Հայեր)
av ava 아바르어 Avar
ae ave 아베스타어 Avestan
as asm 아삼어 Assamese
ay aym 아이마라어 Aymara
is ice/isl 아이슬란드어 Icelandic
ht hat 아이티 크리올어 Haitian;Haitian Creole
ga gle 아일랜드어 Irish
az aze 아제르바이잔어;아제리어 Azeri;Azerbaijani (آذریلر)
ak aka 아칸어 Akan
aa aar 아파르어 Afar
af afr 아프리칸스어 Afrikaans
sq alb/sqi 알바니아어 Albanian (Gjuha Shqipe)
am amh 암하라어 Amharic
ab abk 압하스어;압수아어 Abkhazian
et est 에스토니아어 Estonian (Eesti Keel)
eo epo 에스페란토 Esperanto
ee ewe 에웨어 Ewe
en eng 영어 English
om orm 오로모어;갈라어 Oromo
or ori 오리야어 Oriya
os oss 오세트어 Ossetian;Ossetic
oj oji 오지브와어 Ojibwa
oc oci 오크어;옥시탕;랑그도크어;프로방스어(1500년이후)  
wa wln 왈론어 Walloon
yo yor 요루바어 Yoruba
ur urd 우르두어 Urdu
uz uzb 우즈베크어 Uzbek (O‘zbek tili / Ўзбек тили)
uk ukr 우크라이나어 Ukrainian (украї́нська мо́ва)
wo wol 월로프어 Wolof
cy wel/cym 웨일즈어 Welsh
ug uig 위구르어 Uighur
nr nbl 은데벨레어(남) South Ndebele
nd nde 은데벨레어(북) North Ndebele
ng ndo 은동가어 Ndonga ndonga
ig ibo 이그보어 Igbo
iu iku 이누이트어;이눅티투트 Inuktitut
ik ipk 이누피아크어;북부 이누이트어 Inupiaq
io ido 이도어 Ido
yi yid 이디시어 Yiddish
it ita 이탈리아어 Italian (Italiano)
id ind 인도네시아어 Indonesian (Bahasa Indonesia)
ia ina 인테르링구아(국제보조어협회) Interlingua
(International Auxiliary Language Association)
ie ine 인테르링구에;옥시덴탈 Interlingue
ja jpn 일본어 Japanese (日本語 / にほんご)
jv jav 자바어 Javanese
dz dzo 종카어 Dzongkha
za zha 좡어 Zhuang;Chuang
zu zul 줄루어 Zulu
zh chi/zho 중국어 Chinese Simplified (体中文)
Chinese Traditional (簡體中文)
ch cha 차모로어 Chamorro
ce che 체첸어 Chechen
cs cze/ces 체코어 Czech (ˈʧɛʃcɪna)
ts tso 총가어 Tsonga
cv chv 추바슈어 Chuvash
tn tsn 츠와나어 Tswana
kr kau 카누리어 Kanuri
ks kas 카슈미르어 Kashmiri
kk kaz 카자흐어 Kazakh
ca cat 카탈루냐어;카탈란 Catalan (Català)
kn kan 칸나다어 Kannada
qu que 케추아어 Quechua
co cos 코르시카어 Corsican
kv kom 코미어 Komi
xh xho 코사어 Xhosa
kw cor 콘월어 Cornish
kg kon 콩고어 Kongo
kj kua 콰냐마어 Kuanyama;Kwanyama
ku kur 쿠르드어 Kurdish (Kurdî / کورد)
hr scr/hrv 크로아티아어 Croatian (Hrvatski)
cr cre 크리어 Cree
km khm 크메르어 Khmer
ky kir 키르기스어 Kirghiz
ki kik 키쿠유어;기쿠유어 Kikuyu;Gikuyu
tl tgl 타갈로그어 Filipino (Tagalog)
ta tam 타밀어 Tamil
th tha 타이어 Thai (ภาษาไทย)
tg tgk 타지크어 Tajik
tt tat 타타르어 Tatar
ty tah 타히티어 Tahitian
tr tur 터키어;튀르크어 Turkish (Türkçe)
te tel 텔루구어 Telugu
to ton 통아어(통아제도)  
tk tuk 투르크멘어 Turkmen
tw twi 트위어 Twi
ti tir 티그리냐어 Tigrinya
bo tib/bod 티베트어 Tibetan
ps pus 파슈토어 Pushto
pi pli 팔리어 Pali
pa pan 펀자브어 Panjabi;Punjabi
fo fao 페로어 Faroese
fa per/fas 페르시아어;파르시어 Persian (فارسی)
pt por 포르투갈어 Portuguese-BR (Português)
Portuguese-PT (Português)
pl pol 폴란드어 Polish (język polski)
ff ful 풀라어 Fulah;Fulani
fr fre/fra 프랑스어 French (Français)
fy fry 프리지아어 Frisian
fj fij 피지어 Fijian
fi fin 핀란드어 Finnish (Suomi)
ha hau 하우사어 Hausa
ko kor 한국어 Korean
hu hun 헝가리어 Hungarian (Magyar)
hz her 헤레로어 Herero
ho hmo 히리모투어  
he heb 히브리어 Hebrew (עברית)
hi hin 힌디어 Hindi (हिन्दी)

아직 찾지 못한 언어...

Hessian (Hessisch)

Kashubian (Pòmòrsczi)

Pig Latin (Backslang)

 

반응형