본문 바로가기
Dev/script

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

by 허연동백hipublic2020 2021. 7. 21.

목차

    현재 브라우저 언어 설정값을 가져오는 방법에는 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)

     

    반응형

    댓글