맨위로가기

IETF 언어 태그

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

IETF 언어 태그는 1995년 처음 정의된 이후 여러 차례 개정을 거쳐 현재 RFC 5646이 표준으로 사용되고 있으며, 언어, 문자 체계, 지역, 변이형, 확장, 개인용 하위 태그를 하이픈으로 연결하여 언어 정보를 표현한다. IETF 언어 태그는 ISO 639, ISO 15924, ISO 3166, UN M.49 등의 표준을 참조하며, 확장 하위 태그를 통해 변환된 콘텐츠나 유니코드 로케일 속성과 같은 추가 정보를 포함할 수 있다.

더 읽어볼만한 페이지

  • RFC - 다이제스트 인증
    다이제스트 인증은 HTTP 통신에서 클라이언트와 서버 간 사용자 인증 방식으로, 클라이언트가 사용자 이름, 비밀번호, nonce 등을 해싱한 응답 값을 서버에 전송하여 인증하며, RFC 2069의 취약점을 개선한 RFC 2617과 RFC 7616으로 강화되었으나, HTTPS 기본 인증에 비해 단점이 많아 사용이 줄고 있다.
  • RFC - RFC 1149
    RFC 1149는 조류 운반체를 이용하여 IP 데이터그램을 전송하는 규격을 다룬 문서로, IPoAC 프로토콜을 통해 IP 데이터를 두루마리에 인쇄하여 조류의 다리에 부착, 전송하는 방식을 설명한다.
  • 국제화와 지역화 - 언어 현지화
    언어 현지화는 특정 지역의 문화, 언어, 법률 등을 고려하여 제품이나 서비스를 적응시키는 포괄적인 과정으로, 세계화 전략의 핵심 단계인 국제화 이후에 수행되며, 다양한 기술과 방법으로 이루어져 시장에서의 성공적인 출시와 성장에 필수적이다.
  • 국제화와 지역화 - ISO 3166
    ISO 3166은 국가, 속령, 특별 지역 및 그 하위 구분에 대한 코드를 정의하는 국제 표준으로, ISO 3166-1, ISO 3166-2, ISO 3166-3으로 구성되어 있으며 ISO 3166/MA에 의해 관리 및 업데이트된다.
  • 고유 식별자 - MAC 주소
    MAC 주소는 네트워크 장치를 식별하는 고유한 48비트 식별자로, IEEE 802 MAC 주소로 알려져 있으며, 최근 스푸핑 악용 및 개인 정보 보호를 위한 랜덤화 기술이 논의되고 있다.
  • 고유 식별자 - 범용 상품 부호
    범용 상품 부호(UPC)는 소매점에서 상품을 식별하기 위해 상품 포장에 인쇄되는 널리 사용되는 바코드의 일종으로, 12자리 숫자로 구성된 UPC-A를 포함한 다양한 변형이 존재한다.
IETF 언어 태그
일반 정보
이름IETF 언어 태그
설명IETF (Internet Engineering Task Force)에서 정의한 언어 식별자
목적
용도컴퓨터 프로그램에서 텍스트나 다른 내용의 언어를 식별
HTTP의 `Accept-Language` 헤더 필드
HTML의 `lang` 속성
XML의 `xml:lang` 속성
PNG의 텍스트 청크
관련 RFCRFC 5646: 언어 태그 구조 정의
RFC 4647: 언어 태그 매칭 정의
RFC 7231: HTTP에서 언어 태그 사용 규정
구조
기본 구조language[-script][-region][-variant]*[-extension]*[-privateuse]
언어필수. ISO 639에 정의된 언어 코드 (예: `en` (영어), `ko` (한국어))
스크립트선택 사항. ISO 15924에 정의된 문자 집합 (예: `Latn` (라틴 문자), `Hang` (한글))
지역선택 사항. ISO 3166-1 alpha-2에 정의된 국가 코드 또는 UN M.49에 정의된 지역 코드 (예: `US` (미국), `029` (카리브 해))
변형선택 사항. 언어의 특정 방언이나 변형을 나타냄
확장선택 사항. 단일 문자 접두사 뒤에 오는 하위 태그 (예: `u` (Unicode), `x` (비공개 사용))
비공개 사용선택 사항. `x-`로 시작하는 하위 태그로, 특정 당사자 간의 비공개 합의에 따라 사용
예시
영어`en`
스페인어 (라틴 아메리카)`es-419`
로만슈어 (수르실바 방언)`rm-sursilv`
세르비아어 (키릴 문자)`sr-Cyrl`
민난어 (중국어 번체, 대만)`nan-Hant-TW`
광둥어 (중국어 번체, 홍콩)`yue-Hant-HK`
스위스 독일어 (Unicode 확장, 추가 지역 정보)`gsw-u-sd-chzh`
추가 정보
IANA 레지스트리언어 하위 태그 레지스트리
언어 태그 확장 레지스트리

2. 역사

IETF 언어 태그는 1995년 5월에 발행된 RFC 1766에서 처음으로 정의되었다. 이후 2001년 1월에 RFC 3066으로 대체되었는데, ISO 639-2 코드가 추가되고(이전에는 ISO 639-1 코드만이 허용) 처음으로 하위 태그에 숫자를 사용하는 것이 허용되었다.

2006년 9월에는 RFC 4646(사양의 주요 부분)과 RFC 4647(매칭의 태도에 대해서)이 발행되었다. RFC 4646은 언어 태그에 구조화된 서식을 도입하고, 이전부터 사용되던 ISO 639(part 1과 2)와 ISO 3166에 더해서 ISO 15924와 UN M.49를 이용하였으며, 하위 태그의 레지스트리를 오래된 것에서 새로운 것으로 바꾸었다. 또한 이 이전에 정의되어 있던 태그 중 새로운 구조에 적합하지 않은 것에 대해서는 RFC 3066과의 호환성을 유지하기 위해서 계승되었다.

현재 IETF 워킹 그룹은 ISO 639-3을 언어 하위 태그 레지스트리에 포함시키는 것을 주요 목표로 하는 다음 버전의 사양을 준비하고 있으며, 승인 절차가 진행 중이다.[32]

2. 1. 초기 정의 및 발전 (RFC 1766, RFC 3066)

1995년 3월, Harald Tveit Alvestrand가 편집한 [http://tools.ietf.org/html/rfc1766 RFC 1766]에서 IETF 언어 태그가 처음 정의되었다. 이 태그는 ISO 639-1의 두 글자 언어 코드와 ISO 3166의 두 글자 국가 코드를 기반으로 했으며, 3~8자의 변형 또는 스크립트 하위 태그를 포함하는 전체 태그의 등록을 허용했다.[32]

2001년 1월, [http://tools.ietf.org/html/rfc3066 RFC 3066]으로 업데이트되면서 ISO 639-2의 세 글자 언어 코드를 추가하고, 숫자 하위 태그 사용을 허용했다. 또한, HTTP/1.1에서 언어 태그의 일치를 돕기 위한 언어 범위 개념을 채택했다.[32]

2. 2. 구조화된 형식 도입 (RFC 4646, RFC 4647)

2006년 9월, RFC 4646 및 RFC 4647이 발표되면서 언어 태그의 구조가 더욱 정교해졌다. ISO 15924 (문자 체계 코드) 및 UN M.49 (지역 코드)가 추가되어 언어 태그의 표현 범위가 확장되었다. 이전 태그 레지스트리가 새로운 하위 태그 레지스트리로 대체되었으며, 이전 버전과의 호환성을 위해 일부 예외 조항이 마련되었다.[32]

2. 3. ISO 639-3 통합 및 현재 표준 (RFC 5646)

2009년 9월에 발행된 현재 표준인 RFC 5646[10]ISO 639-3 및 639-5의 세 글자 코드를 언어 하위 태그 레지스트리에 통합하여 ISO 639와 BCP 47 간의 상호 운용성을 높였다.[11] BCP 47 (Best Current Practice 47)은 RFC 5646과 관련 RFC 문서들을 포함하는 IETF 언어 태그의 최신 표준을 나타낸다.

3. 서식

IETF 언어 태그는 하이픈('-')으로 구분된 하나 이상의 '하위 태그(subtag)'로 구성되며, 각 하위 태그는 기본 라틴 문자 또는 숫자로만 구성된다.[31] 하위 태그는 대소문자를 구별하지 않지만, 지역 하위 태그는 모두 대문자, 문자 체계 하위 태그는 머리글자만 대문자, 그 외 모든 하위 태그는 소문자로 작성하는 것이 권장된다.

일반적으로 언어 태그는 언어 하위 태그만 사용하거나, 언어 하위 태그와 지역 하위 태그를 함께 사용한다. 예를 들어, `en`은 영어를 나타내며, `en-CA`는 캐나다 영어를 나타낸다. 언어 태그에 구별되는 정보를 추가하지 않는 경우, 스크립트 및 지역 하위 태그는 생략하는 것이 좋다. 예를 들어, 스페인어는 라틴 문자로 쓰이는 것이 일반적이므로 ''es-Latn''보다 ''es''가 더 선호된다.

3. 1. 하위 태그의 종류 및 순서

IETF 언어 태그는 하이픈(-)으로 구분된 하나 이상의 "하위 태그(subtag)"로 구성된다. 일반적으로 하위 태그는 다음 순서로 작성된다.[31]

  • language|언어영어
  • script|문자 체계영어
  • region|지역영어
  • variant|변이형영어
  • extension|확장영어
  • private use|개인용영어


따라서 형식은 대략 다음과 같다. (이 중 language|언어영어 태그만 필수)

```

언어-문자 체계-지역-변이형-확장-개인용

```

각 하위 태그는 다음 표준에서 파생된다.[31]

  • language|언어영어: ISO 639-1, ISO 639-2, ISO 639-3, ISO 639-5
  • script|문자 체계영어: ISO 15924
  • region|지역영어: ISO 3166-1 alpha-2, UN M.49
  • variant|변이형영어: (독자적인 것이므로 파생 원본 표준 없음)
  • extension|확장영어: (미래 확장을 위한 예약 영역이므로 파생 원본 표준 없음)
  • privateuse|개인용영어: (사적 이용 부분이므로 파생 원본 표준 없음)


IANA에서 관리하는 [https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry 언어 하위 태그 레지스트리(Language Subtag Registry)]에는 현재 공개되어 있는 유효한 하위 태그 목록이 있다.

하위 태그에서는 알파벳의 대소문자를 구분하지 않지만, 사양에서는 언어 하위 태그 레지스트리와 동일한 방법으로, 즉, region|지역영어 하위 태그에 대해서는 모두 대문자로, script|문자 체계영어 하위 태그에 대해서는 머리글자만 대문자로, 그 외 모든 하위 태그에 대해서는 소문자로 표기하도록 권장하고 있다.

언어 태그의 사용법으로 자주 보이는 스타일은 단순히 language|언어영어 하위 태그만 사용하거나, language|언어영어 하위 태그와 region|지역영어 하위 태그를 사용하는 방법이다. 예를 들어, `en`은 단일 language|언어영어 하위 태그(ISO 639-1에서)로 구성되어 영어를 나타낸다. 한편, `en-CA`는 language|언어영어 하위 태그 다음에 region|지역영어 하위 태그 `CA`(ISO 3166-1에서)를 붙여서 구성되며, 캐나다 영어를 나타낸다.

3. 2. 하위 태그 표기 규칙

하위 태그는 대소문자 구분을 하지 않지만, 규약에서는 region|지역영어 하위 태그는 모두 대문자, script|문자 체계영어 하위 태그는 머리글자만 대문자, 그 외의 모든 하위 태그는 소문자로 작성하는 것을 권장하고 있다.[31] 이 대소문자 사용은 기본 ISO 표준의 권장 사항을 따른다.

4. 언어 태그의 예시

BCP 47은 IETF 언어 태그의 표준이다. 다음은 BCP 47에서 제시하는 언어 태그의 예시이다.[33][26]


  • 언어 하위 태그만 사용하는 경우:
  • 독일어|독일어de
  • 日本語|일본어일본어

  • 언어-문자(language-script) 하위 태그:




  • 언어-지역(language-region) 하위 태그:


  • 언어-변형(language-variant) 하위 태그:

  • 언어-지역-변형(language-region-variant) 하위 태그:


  • 언어-문자-지역-변형(language-script-region-variant) 하위 태그:


  • (권장되지 않음)

4. 1. 일반적인 언어 태그

IETF 언어 태그는 BCP47 표준을 따르며, 다양한 형태로 사용된다[33].[26]

  • 언어 하위 태그만 사용하는 경우:
  • 독일어|독일어de
  • 日本語|일본어일본어

  • 언어-문자(language-script) 하위 태그:




  • 언어-문자-지역(language-script-region) 하위 태그:


  • 언어-변형(language-variant) 하위 태그:

  • 언어-지역-변형(language-region-variant) 하위 태그:


  • 언어-문자-지역-변형(language-script-region-variant) 하위 태그:
  • (권장되지 않음)
  • 언어-지역(language-region) 하위 태그:




다음은 일반적으로 사용되는 언어의 IETF 하위 태그를 나타낸 표이다[12].

일반적인 언어 및 해당 IETF 하위 태그
영어 이름원어 이름하위 태그
아프리칸스어Afrikaans|Afrikaansafaf
암하라어አማርኛ|암하라어amam
아랍어العربية|아랍어arar
마푸둥군어Mapudungun|마푸둥군어arnarn
모로코 아랍어الدارجة المغربية|모로코 아랍어aryary
아삼어অসমীয়া|아삼어asas
아제르바이잔어Azərbaycan|아제르바이잔어azaz
바시키르어Башҡорт|바시키르어baba
벨라루스어беларуская|벨라루스어bebe
불가리아어български|불가리아어bgbg
벵골어বাংলা|벵골어bnbn
티베트어བོད་ཡིག|티베트어bobo
브르타뉴어brezhoneg|브르타뉴어brbr
보스니아어bosanski|보스니아어bs/bs
카탈루냐어català|카탈루냐어caca
중앙 쿠르드어کوردیی ناوەندی|쿠르드어ckbckb
코르시카어Corsu|코르시카어coco
체코어čeština|체코어cscs
웨일스어Cymraeg|웨일스어cycy
덴마크어dansk|덴마크어dada
독일어Deutsch|독일어dede
저지 소르브어dolnoserbšćina|저지 소르브어dsbdsb
디베히어ދިވެހިބަސް|디베히어디베히어dv
그리스어Ελληνικά|그리스어elel
영어Englishen
스페인어español|스페인어eses
에스토니아어eesti|에스토니아어etet
바스크어euskara|바스크어eueu
페르시아어فارسى|페르시아어fafa
핀란드어suomi|핀란드어fifi
필리피노어Filipino|필리핀어filfil
페로어føroyskt|페로어fofo
프랑스어français|프랑스어프랑스어fr
프리지아어Frysk|프리지아어fyfy
아일랜드어Gaeilge|아일랜드어gaga
스코틀랜드 게일어Gàidhlig|스코틀랜드 게일어gdgd
길버트어Taetae ni Kiribatigil
갈리시아어galego|갈리시아어glgl
스위스 독일어Schweizerdeutsch|스위스 독일어gswgsw
구자라트어ગુજરાતી|구자라트어gugu
하우사어Hausa|하우사어haha
히브리어עברית|히브리어hehe
힌디어हिंदी|힌디어hihi
크로아티아어hrvatski|크로아티아어hrhr
세르보크로아티아어srpskohrvatski|세르보크로아티아어sh
hrv
상 소르브어hornjoserbšćina|상 소르브어hsbhsb
헝가리어magyar|헝가리어huhu
아르메니아어Հայերեն|아르메니아어hyhy
인도네시아어Bahasa Indonesia|인도네시아어idid
이그보어Igbo|이그보어igig
이족어ꆈꌠꁱꂷ|이족어iiii
아이슬란드어íslenska|아이슬란드어isis
이탈리아어italiano|이탈리아어itit
이누이트어Inuktitut|이누이트어iu
ᐃᓄᒃᑎᑐᑦ|이누이트어iu (ᑲᓇᑕ|캐나다iu)
iu
일본어日本語|일본어일본어ja
조지아어ქართული|조지아어kaka
카자흐어Қазақша|카자흐어kkkk
그린란드어kalaallisut|그린란드어klkl
크메르어ខ្មែរ|크메르어kmkm
칸나다어ಕನ್ನಡ|칸나다어knkn
한국어한국어|한국어한국어ko
콘칸어कोंकणी|콘칸어kokkok
쿠르드어/ku
키르기스어Кыргыз|키르기스어kyky
룩셈부르크어Lëtzebuergesch|룩셈부르크어lblb
라오어ລາວ|라오어lolo
리투아니아어lietuvių|리투아니아어ltlt
라트비아어latviešu|라트비아어lvlv
마오리어Reo Māori|마오리어mimi
마케도니아어македонски јазик|마케도니아어mkmk
말라얄람어മലയാളം|말라얄람어mlml
몽골어Монгол хэл|몽골어mn
mn
모호크어Kanien'kéha|모호크어mohmoh
마라티어मराठी|마라티어mrmr
말레이어Bahasa Malaysia|말레이어msms
몰타어Malti|몰타어몰타어mt
미얀마어မြန်မာဘာသာ|미얀마어mymy
노르웨이어(부크몰)norsk (bokmål)|노르웨이어(부크몰)nbnb
네팔어नेपाली (नेपाल)|네팔어nene
네덜란드어Nederlands|네덜란드어nlnl
노르웨이어(뉘노르스크)norsk (nynorsk)|노르웨이어(뉘노르스크)nnnn
노르웨이어norsk|노르웨이어nono
오크어occitan|오크어ococ
오리야어ଓଡ଼ିଆ|오리야어oror
파피아멘토어Papiamentu|파피아멘토어pappap
펀자브어ਪੰਜਾਬੀ|펀자브어pa / پنجابی|펀자브어pnbpa
폴란드어polski|폴란드어plpl
다리어درى|다리어prsprs
파슈토어پښتو|파슈토어psps
포르투갈어português|포르투갈어ptpt
키체어K'iche|키체어qucquc
케추아어runasimi|케추아어ququ
로만슈어Rumantsch|로만슈어rmrm
루마니아어română|루마니아어roro
러시아어русский|러시아어ruru
키냐르완다어Kinyarwanda|키냐르완다어rwrw
산스크리트어संस्कृत|산스크리트어sasa
사하어саха|사하어sahsah
사미어(북부)davvisámegiella|북부 사미어sese
신할라어සිංහල|신할라어sisi
슬로바키아어slovenčina|슬로바키아어sksk
슬로베니아어slovenski|슬로베니아어slsl
사미어(남부)åarjelsaemiengiele|남부 사미어smasma
사미어(룰레)julevusámegiella|룰레 사미어smjsmj
사미어(이나리)sämikielâ|이나리 사미어smnsmn
사미어(콜트)sääʹmǩiõll|콜트 사미어smssms
알바니아어shqip|알바니아어sqsq
세르비아어srpski|세르비아어sr/српски|세르비아어srsr
세소토어Sesotho|세소토어stst
스웨덴어svenska|스웨덴어svsv
스와힐리어Kiswahili|스와힐리어swsw
시리아어ܣܘܪܝܝܐ|시리아어sycsyc
타밀어தமிழ்|타밀어tata
텔루구어తెలుగు|텔루구어tete
타지크어Тоҷикӣ|타지크어tgtg
태국어ไทย|태국어thth
투르크멘어türkmençe|투르크멘어tktk
츠와나어Setswana|츠와나어tntn
튀르키예어Türkçe|튀르키예어trtr
타타르어Татарча|타타르어tttt
타마지트어Tamazight|타마지트어tzmtzm
위구르어ئۇيغۇرچە|위구르어ugug
우크라이나어українська|우크라이나어ukuk
우르두어اُردو|우르두어urur
우즈베크어Uzbek|우즈베크어uz/Ўзбек|우즈베크어uzuz
베트남어Tiếng Việt|베트남어vivi
왈로프어Wolof|왈로프어wowo
코사어isiXhosa|코사어xhxh
요루바어Yoruba|요루바어yoyo
중국어zh
줄루어isiZulu|줄루어zuzu



이 표는 전체 언어 하위 태그의 일부(약 2%)만 나타내며, 전체 정보는 언어 하위 태그 레지스트리를 직접 참조해야 한다.

4. 2. 복잡한 언어 태그

다음은 BCP47에서 발췌한 내용이다.[33][26]

  • language영어 하위 태그만:
  • de|독일어영어
  • ja|일본어영어
  • i-enochian|grandfathered 태그의 예영어
  • language영어-script영어:
  • zh-Hant|중국어 (번체자)영어
  • zh-Hans|중국어 (간체자)영어
  • sr-Cyrl|세르비아어 (키릴 문자)영어
  • sr-Latn|세르비아어 (라틴 문자)영어
  • language영어-script영어-region영어:
  • zh-Hans-CN|중국 대륙에서 사용되는 중국어 (간체자)영어
  • sr-Latn-CS|세르비아 몬테네그로에서 사용되는 세르비아어 (라틴 문자)영어
  • language영어-variant영어:
  • sl-nedis|슬로베니아어 Nadiza 방언영어
  • language영어-region영어-variant영어:
  • de-CH-1901|스위스에서 사용되는 독일어, 1901년 맞춤법에 사용된 독일어영어
  • sl-IT-nedis|이탈리아에서 사용되는 슬로베니아 Nadiza 방언영어
  • language영어-script영어-region영어-variant영어:
  • sl-Latn-IT-nedis|이탈리아에서 사용되는 슬로베니아어 (라틴문자) Nadiza 방언. 주: `sl`은 암묵한 가운데 `Latn`를 포함하고 있지만 이 태그는 권종하지 않는다영어
  • language영어-region영어
  • en-US|영어 (미국)영어
  • es-419|스페인어 (라틴 아메리카), UN 지역 코드 이용영어

5. 다른 표준과의 관계

IETF 언어 태그는 ISO나 UN의 표준을 일부 따르지만, 완전히 종속되지는 않는다. 시간이 지나면서 언어 태그의 의미가 변할 수 있기 때문이다.

ISO 639, ISO 15924, ISO 3166, UN M49에서 코드가 삭제되더라도, 이미 할당된 IETF 언어 하위 태그는 유효하게 유지된다. 심지어 해당 표준에서 코드가 다른 의미로 재사용되더라도, IETF 언어 하위 태그는 원래 의미를 유지한다. 이러한 안정성은 RFC 4646에서 도입되었다.

5. 1. ISO 639

ISO 639는 언어 코드에 대한 국제 표준이다. BCP 47은 ISO 639-1 (2자 코드), ISO 639-2 (3자 코드), ISO 639-3 (3자 코드), 그리고 ISO 639-5 (언어 집합 코드)를 사용한다.

RFC 5645와 RFC 5646은 이미 레지스트리에 존재하지 않는 모든 언어에 대해 ISO 639-3 코드에 해당하는 기본 언어 하위 태그를 추가하였다. 또한, 특정 매크로 언어에 포함된 언어에 대한 코드는 확장 언어 하위 태그로 등록되었다.

ISO 639-5는 ISO 639-2에서 처음 인코딩된 방식과 다른 방식으로 알파-3 코드를 사용하여 언어 컬렉션을 정의한다. 특히, 언어 컬렉션은 이제 모두 ISO 639-5에서 배타적이지 않고 포괄적으로 정의된다.

BCP 47은 언어 컬렉션에 대한 하위 태그를 식별하기 위해 "범위" 속성을 정의한다. 그러나 어떤 컬렉션도 포괄적 또는 배타적으로 정의하지 않으며, ISO 639-5 그룹화 유형 속성을 사용하지 않는다.

반대로, ISO 639-3과 언어 하위 태그 레지스트리 모두에서 개별 언어의 매크로 언어 내 분류가 표준화되어 있다.

5. 2. ISO 15924

ISO 15924는 문자 체계 코드에 대한 국제 표준이다. BCP 47은 ISO 15924의 4자 코드를 문자 체계 하위 태그로 사용한다.[1]

문자 체계 하위 태그는 RFC 4646이 발표되었을 때 처음 언어 하위 태그 레지스트리에 추가되었으며, 이는 ISO 15924에 정의된 코드 목록에서 가져온 것이다. 문자 체계 하위 태그는 기본 및 확장 언어 하위 태그 뒤에, 그리고 지역 및 변형 하위 태그를 포함한 다른 유형의 하위 태그 앞에 언어 태그에 인코딩된다.[1]

일부 기본 언어 하위 태그는 "Suppress-Script"라는 속성으로 정의되어 있는데, 이는 다른 스크립트로 작성될 수 있더라도 일반적으로 해당 언어에 대해 단일 스크립트가 기본적으로 가정될 수 있는 경우를 나타낸다. 이 경우, 성공적인 일치 가능성을 높이기 위해 스크립트 하위 태그를 생략하는 것이 좋다. 필요한 경우 다른 스크립트 하위 태그를 추가하여 구별할 수 있다. 예를 들어, 이디시어의 경우 히브리 문자 하위 태그가 가정되므로 대부분의 상황에서 ''yi-Hebr''보다 ''yi''가 선호된다.[1]

ISO 15924에는 유니코드 및 ISO/IEC 10646 내에서 통합된 스크립트 변형에 대한 일부 코드(예: 중국어 간체 및 번체에 대한 ''Hans'' 및 ''Hant'')가 포함되어 있다. 이러한 스크립트 변형은 주로 서지 목적으로 인코딩되지만 언어학적 관점에서는 항상 중요하지는 않다(예: 유니코드 및 ISO/IEC 10646에서 일반 라틴 문자로 주로 인코딩되는 라틴 스크립트의 프락투어 및 게일 변형에 대한 ''Latf'' 및 ''Latg'' 스크립트 코드). 때때로 언어 태그에서 문자의 다른 분석, 발음 구별 기호 및 이중/삼중 자음 클러스터(digraphs/trigraphs) 또는 대소문자 규칙의 차이와 함께, 철자법 또는 의미론적 차이를 드러내는 데 유용할 수 있다.[1]

5. 3. ISO 3166

ISO 3166-1에서 할당되거나 "예외적으로 예약된" 코드에 기반한 두 글자 지역 하위 태그가 사용된다.[1] ISO 3166 유지 관리 기관이 이전에 다른 국가에 할당되었던 코드를 재할당하는 경우, 해당 코드에 해당하는 기존 BCP 47 하위 태그는 그 의미를 유지하고, 새로운 국가에 대한 UN M.49를 기반으로 하는 새로운 지역 하위 태그가 등록된다.[1] UN M.49는 남아메리카의 `005`와 같은 지리적 지역에 대한 숫자 지역 하위 태그의 소스이기도 하다.[1] 경제 지역에 대한 UN M.49 코드는 허용되지 않는다.[1]

지역 하위 태그는 특정 지역에서 사용되는 언어의 변형을 지정하는 데 사용된다.[1] 이는 변형이 본질적으로 지역적이며, 영국 영어 (''en-GB'')와 미국 영어 (''en-US'')를 구별하는 경우와 같이 관련된 국가를 식별하여 적절하게 포착할 수 있을 때 적합하다.[1] 차이점이 간체와 번체와 같은 스크립트 또는 스크립트 변형인 경우, 지역 하위 태그 대신 스크립트 하위 태그로 표현해야 한다.[1] 이 예에서 ''zh-CN/zh-SG/zh-MY'' 및 ''zh-TW/zh-HK/zh-MO'' 대신 ''zh-Hans'' 및 ''zh-Hant''를 사용해야 한다.[1]

지역적 변형으로 간주될 수 있는 언어에 대해 별도의 언어 하위 태그가 존재하는 경우, 언어-지역 조합 대신 더 구체적인 하위 태그를 사용하는 것이 더 좋다.[1] 예를 들어, ''ar-DZ'' (아랍어 알제리)는 알제리 구어 아랍어의 ''arq''로 더 잘 표현될 수 있다.[1]

5. 4. UN M.49

UN에서 사용하는 통계용 지역 코드이다. BCP 47은 UN M.49의 3자리 숫자 코드를 지역 하위 태그로 사용한다.[1] 경제 지역에 대한 UN M.49 코드는 허용되지 않는다.[1]

UN M.49는 남아메리카의 `005`와 같은 지리적 지역에 대한 숫자 지역 하위 태그의 소스이기도 하다.[1]

6. 확장

확장 하위 태그('확장된 언어 하위 태그'와 혼동하지 않도록 주의)는 언어 식별에 필수적인 것은 아니지만, 언어 태그에 추가 정보를 제공한다. 확장의 한 가지 용도는 달력, 통화 등 로케일 정보를 담는 것이다.

확장 하위 태그는 '싱글톤'이라는 단일 문자(x 제외)로 시작해 하이픈으로 구분된 여러 문자열로 구성된다. 각 확장은 해당 확장의 데이터를 관리하는 등록 기관을 나타내는 자체 IETF RFC 문서에 설명되어 있다. IANA가 싱글톤 할당을 담당한다.

2014년 1월 기준으로 두 가지 확장이 할당되었다.

6. 1. 확장 T (Transformed Content)

확장 T는 언어 태그에 태그된 데이터가 음역, 전사 등 어떤 방식으로 변환되었는지에 대한 정보를 추가할 수 있게 한다. 예를 들어, 'en-t-jp' 태그는 일본어에서 영어로 번역된 콘텐츠를 나타낸다. 번역이 기계적으로 수행되었는지, 아니면 공개된 표준에 따라 수행되었는지를 나타내는 추가 하위 문자열이 사용될 수 있다.[18]

확장 T는 2012년 2월에 발행된 정보 RFC 6497에 설명되어 있다.[18] 등록 기관은 유니코드 컨소시엄이다.

6. 2. 확장 U (Unicode Locale)

RFC 6067에 정의되어 있으며, 공통 로케일 데이터 저장소(CLDR)의 로케일 속성을 포함한다.[19] 국가, 달력, 시간대, 정렬 순서, 통화, 숫자 체계 등 다양한 정보를 포함할 수 있다.

몇 가지 예시는 다음과 같다.

  • gsw-u-sd-chzh|취리히 주에서 사용되는 스위스 독일어gsw
  • ar-u-nu-latn|아랍 숫자(기본 라틴 숫자, 0에서 9까지) 대신 동부 아랍 숫자(٠에서 ٩까지)를 사용하는 아랍어 콘텐츠ar
  • he-IL-u-ca-hebrew-tz-jeruslm|이스라엘에서 사용되는 히브리어로, 전통적인 히브리력을 사용하고 tz 데이터베이스에서 식별된 "Asia/Jerusalem" 시간대를 사용he


예를 들어, `ko-KR-u-ca-gregory`는 대한민국에서 사용되는 한국어로, 그레고리력을 사용함을 나타낸다.

참조

[1] 웹사이트 Information on BCP 47 » RFC Editor https://tools.ietf.o[...] 2009-09
[2] 웹사이트 Language Subtag Registry https://www.iana.org[...] Internet Assigned Numbers Authority 2018-12-05
[3] 웹사이트 Language Tag Extensions Registry https://www.iana.org[...] Internet Assigned Numbers Authority 2018-12-06
[4] 웹사이트 IANA — Protocol Registries https://www.iana.org[...] 2015-07-28
[5] IETF Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content 2014-06
[6] 웹사이트 Language information and text direction http://www.w3.org/TR[...] 2015-07-28
[7] 웹사이트 Extensible Markup Language (XML) 1.0 (Fifth Edition) http://www.w3.org/TR[...] 2015-07-28
[8] 웹사이트 Portable Network Graphics (PNG) Specification (Second Edition) http://www.w3.org/TR[...] 2015-07-28
[9] 웹사이트 RFC 4647 - Matching of Language Tags https://datatracker.[...] 2006-09
[10] 웹사이트 RFC 5646 - Tags for Identifying Languages https://datatracker.[...] 2009-09
[11] 웹사이트 Language Tag Registry Update charter http://www.ietf.org/[...]
[12] 웹사이트 Letter Codes of Cultures - List https://www.venea.ne[...] 2022-01-08
[13] 웹사이트 Tags for Identifying Languages (old draft for the revision of RFC 4646, now obsolete and may disappear soon) http://tools.ietf.or[...] IETF WG LTRU 2008-06-23
[14] 웹사이트 Update to the Language Subtag Registry (old draft for the revision of RFC 4645, now obsolete and may disappear soon) http://tools.ietf.or[...] IETF WG LTRU 2008-06-23
[15] 웹사이트 GetGeoInfoA function (winnls.h) - Win32 apps https://learn.micros[...]
[16] 웹사이트 ISO 639-2 Language Code List - Codes for the representation of names of languages (Library of Congress) https://www.loc.gov/[...] 2015-07-28
[17] 웹사이트 Re: [Ietf-languages] Punjabi language code fix recommendations https://mailarchive.[...] 2022-08-12
[18] IETF BCP 47 Extension T - Transformed Content https://www.rfc-edit[...] RFC Editor 2022-06-24
[19] IETF BCP 47 Extension U https://www.rfc-edit[...] RFC Editor 2022-06-24
[20] 웹사이트 RFC 7231: Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content, section 3.1.3.1. Language Tags https://datatracker.[...]
[21] 웹사이트 HTML Living Standard, section 3.2.6.2 The lang and xml:lang attributes https://html.spec.wh[...]
[22] 웹사이트 Extensible Markup Language (XML) 1.0 (Fifth Edition), section 2.12 https://www.w3.org/T[...]
[23] 웹사이트 Portable Network Graphics (PNG) Specification (Second Edition), section 11.3.4.5 http://www.w3.org/TR[...]
[24] 웹사이트 RFC 5646, section 2.2.1 https://datatracker.[...]
[25] 웹사이트 Language Tag Registry Update charter http://www.ietf.org/[...]
[26] 웹사이트 Examples of Language Tags http://tools.ietf.or[...]
[27] 웹사이트 RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1, section 3.10 http://tools.ietf.or[...]
[28] 웹사이트 HTML 4.01 Specification, section 8.1 http://www.w3.org/TR[...]
[29] 웹사이트 Extensible Markup Language (XML) 1.0 (Fourth Edition), section 2.12 http://www.w3.org/TR[...]
[30] 웹사이트 Portable Network Graphics (PNG) Specification (Second Edition), section 11.3.4.5 http://www.w3.org/TR[...]
[31] 웹사이트 RFC 5646, section 2.2.1 http://tools.ietf.or[...]
[32] 웹인용 Language Tag Registry Update charter http://www.ietf.org/[...] 2007-04-23
[33] 웹사이트 Examples of Language Tags http://tools.ietf.or[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com