본문 바로가기
IT-개발,DB

[IT/개발] ASP.NET Culture 이름 및 식별자

by SB리치퍼슨 2010. 10. 27.

Culture 이름 및 식별자

culture 이름은 "<languagecode2>-<country/regioncode2>" 형식의 RFC 1766 표준을 따릅니다. 여기서 <languagecode2>는 ISO 639-1에서 유래한 두 문자의 소문자 코드이고, <country/regioncode2>는 ISO 3166에서 유래한 두 문자의 대문자 코드입니다. 예를 들어, 미국 영어는 "en-US"입니다. 두 문자로 된 코드를 사용할 수 없는 경우 ISO 639-2에서 파생된 세 문자 코드가 사용됩니다. 예를 들어, 세 문자로 된 코드 "div"는 디베히어를 사용하는 culture에 사용됩니다. 일부 culture 이름에는 스크립트를 나타내는 접미사가 있습니다. 예를 들어, "-Cyrl"은 키릴 스크립트를 나타내고 "-Latn"은 라틴 스크립트를 나타냅니다.

미리 정의된 다음 culture 이름과 식별자는 System.Globalization 네임스페이스에 있는 이 클래스와 다른 클래스에서 사용됩니다.

Culture 이름

Culture 식별자

언어-국가/지역

""(빈 문자열)

0x007F

고정 culture

af

0x0036

남아공 공용어

af-ZA

0x0436

남아공 공용어 - 남아프리카 공화국

sq

0x001C

알바니아어

sq-AL

0x041C

알바니아어 - 알바니아

ar

0x0001

아랍어

ar-DZ

0x1401

아랍어 - 알제리

ar-BH

0x3C01

아랍어 - 바레인

ar-EG

0x0C01

아랍어 - 이집트

ar-IQ

0x0801

아랍어 - 이라크

ar-JO

0x2C01

아랍어 - 요르단

ar-KW

0x3401

아랍어 - 쿠웨이트

ar-LB

0x3001

아랍어 - 레바논

ar-LY

0x1001

아랍어 - 리비아

ar-MA

0x1801

아랍어 - 모로코

ar-OM

0x2001

아랍어 - 오만

ar-QA

0x4001

아랍어 - 카타르

ar-SA

0x0401

아랍어 - 사우디아라비아

ar-SY

0x2801

아랍어 - 시리아

ar-TN

0x1C01

아랍어 - 튀니지

ar-AE

0x3801

아랍어 - 아랍에미리트

ar-YE

0x2401

아랍어 - 예멘

hy

0x002B

아르메니아어

hy-AM

0x042B

아르메니아어 - 아르메니아

az

0x002C

아제리어

az-AZ-Cyrl

0x082C

아제리어(키릴 자모) - 아제르바이잔

az-AZ-Latn

0x042C

아제리어(라틴 문자) - 아제르바이잔

eu

0x002D

바스크어

eu-ES

0x042D

바스크어 - 바스크

be

0x0023

벨로루시어

be-BY

0x0423

벨로루시어 - 벨로루시

bg

0x0002

불가리아어

bg-BG

0x0402

불가리아어 - 불가리아

ca

0x0003

카탈로니아어

ca-ES

0x0403

카탈로니아어 - 카탈로니아

zh-HK

0x0C04

중국어 - 홍콩 특별 행정구

zh-MO

0x1404

중국어 - 마카오 특별 행정구

zh-CN

0x0804

중국어 - 중국

zh-CHS

0x0004

중국어(간체)

zh-SG

0x1004

중국어 - 싱가포르

zh-TW

0x0404

중국어 - 대만

zh-CHT

0x7C04

중국어(번체)

hr

0x001A

크로아티아어

hr-HR

0x041A

크로아티아어 - 크로아티아

cs

0x0005

체코어

cs-CZ

0x0405

체코어 - 체코

da

0x0006

덴마크어

da-DK

0x0406

덴마크어 - 덴마크

div

0x0065

디베히어

div-MV

0x0465

디베히어 -몰디브

nl

0x0013

네덜란드어

nl-BE

0x0813

네덜란드어 - 벨기에

nl-NL

0x0413

네덜란드어 - 네덜란드

en

0x0009

영어

en-AU

0x0C09

영어 - 오스트레일리아

en-BZ

0x2809

영어 - 벨리즈

en-CA

0x1009

영어 - 캐나다

en-CB

0x2409

영어 - 카리브 해

en-IE

0x1809

영어 - 아일랜드

en-JM

0x2009

영어 - 자메이카

en-NZ

0x1409

영어 - 뉴질랜드

en-PH

0x3409

영어 - 필리핀

en-ZA

0x1C09

영어 - 남아프리카 공화국

en-TT

0x2C09

영어 - 트리니다드 토바고

en-GB

0x0809

영어 - 영국

en-US

0x0409

영어 - 미국

en-ZW

0x3009

영어 - 짐바브웨

et

0x0025

에스토니아어

et-EE

0x0425

에스토니아어 - 에스토니아

fo

0x0038

페로스어

fo-FO

0x0438

페로스어 - 페로 제도

fa

0x0029

페르시아어

fa-IR

0x0429

페르시아어 - 이란

fi

0x000B

핀란드어

fi-FI

0x040B

핀란드어 - 핀란드

fr

0x000C

프랑스어

fr-BE

0x080C

프랑스어 - 벨기에

fr-CA

0x0C0C

프랑스어 - 캐나다

fr-FR

0x040C

프랑스어 - 프랑스

fr-LU

0x140C

프랑스어 - 룩셈브르크

fr-MC

0x180C

프랑스어 - 모나코

fr-CH

0x100C

프랑스어 - 스위스

gl

0x0056

갈리시아어

gl-ES

0x0456

갈리시아어 - 갈리시아

ka

0x0037

그루지야어

ka-GE

0x0437

그루지야어 - 그루지야

de

0x0007

독일어

de-AT

0x0C07

독일어 - 오스트리아

de-DE

0x0407

독일어 - 독일

de-LI

0x1407

독일어 - 리히텐슈타인

de-LU

0x1007

독일어 - 룩셈부르크

de-CH

0x0807

독일어 - 스위스

el

0x0008

그리스어

el-GR

0x0408

그리스어 - 그리스

gu

0x0047

구자라트어

gu-IN

0x0447

구자라트어 - 인도

he

0x000D

히브리어

he-IL

0x040D

히브리어 - 이스라엘

hi

0x0039

힌디어

hi-IN

0x0439

힌디어 - 인도

hu

0x000E

헝가리어

hu-HU

0x040E

헝가리어 - 헝가리

is

0x000F

아이슬란드어

is-IS

0x040F

아이슬란드어 - 아이슬란드

id

0x0021

인도네시아어

id-ID

0x0421

인도네시아어 - 인도네시아

it

0x0010

이탈리아어

it-IT

0x0410

이탈리아어 - 이탈리아

it-CH

0x0810

이탈리아어 - 스위스

ja

0x0011

일본어

ja-JP

0x0411

일본어 - 일본

kn

0x004B

카나다어

kn-IN

0x044B

카나다어 - 인도

kk

0x003F

카자흐어

kk-KZ

0x043F

카자흐어 - 카자흐스탄

kok

0x0057

콘칸어

kok-IN

0x0457

콘칸어 - 인도

ko

0x0012

한국어

ko-KR

0x0412

한국어 - 한국

ky

0x0040

키르기스어

ky-KG

0x0440

키르기스어 - 키르기스스탄

lv

0x0026

라트비아어

lv-LV

0x0426

라트비아어 - 라트비아

lt

0x0027

리투아니아어

lt-LT

0x0427

리투아니아어 - 리투아니아

mk

0x002F

마케도니아어

mk-MK

0x042F

마케도니아어- 마케도니아

ms

0x003E

말레이어

ms-BN

0x083E

말레이어 - 브루나이

ms-MY

0x043E

말레이어 - 말레이시아

mr

0x004E

마라티어

mr-IN

0x044E

마라티어 - 인도

mn

0x0050

몽골어

mn-MN

0x0450

몽골어 - 몽골

no

0x0014

노르웨이어

nb-NO

0x0414

노르웨이어(복말) - 노르웨이

nn-NO

0x0814

노르웨이어(니노르스크) - 노르웨이

pl

0x0015

폴란드어

pl-PL

0x0415

폴란드어 - 폴란드

pt

0x0016

포르투갈어

pt-BR

0x0416

포르투갈어 - 브라질

pt-PT

0x0816

포르투갈어 - 포르투갈

pa

0x0046

펀잡어

pa-IN

0x0446

펀잡어 - 인도

ro

0x0018

루마니아어

ro-RO

0x0418

루마니아어 - 루마니아

ru

0x0019

러시아어

ru-RU

0x0419

러시아어 - 러시아

sa

0x004F

산스크리트어

sa-IN

0x044F

산스크리트어 - 인도

sr-SP-Cyrl

0x0C1A

세르비아어(키릴 자모) - 세르비아

sr-SP-Latn

0x081A

세르비아어(라틴 문자) - 세르비아

sk

0x001B

슬로바키아어

sk-SK

0x041B

슬로바키아어 - 슬로바키아

sl

0x0024

솔로베니아어

sl-SI

0x0424

솔로베니아어 - 솔로베니아

es

0x000A

스페인어

es-AR

0x2C0A

스페인어 - 아르헨티나

es-BO

0x400A

스페인어 - 볼리비아

es-CL

0x340A

스페인어 - 칠레

es-CO

0x240A

스페인어 - 콜롬비아

es-CR

0x140A

스페인어 - 코스타리카

es-DO

0x1C0A

스페인어 - 도미니카 공화국

es-EC

0x300A

스페인어 - 에콰도르

es-SV

0x440A

스페인어 - 엘살바도르

es-GT

0x100A

스페인어 - 과테말라

es-HN

0x480A

스페인어 - 온두라스

es-MX

0x080A

스페인어 - 멕시코

es-NI

0x4C0A

스페인어 - 니카라과

es-PA

0x180A

스페인어 - 파나마

es-PY

0x3C0A

스페인어 - 파라과이

es-PE

0x280A

스페인어 - 페루

es-PR

0x500A

스페인어 - 푸에르토리코

es-ES

0x0C0A

스페인어 - 스페인

es-UY

0x380A

스페인어 - 우루과이

es-VE

0x200A

스페인어 - 베네수엘라

sw

0x0041

스와힐리어

sw-KE

0x0441

스와힐리어 - 케냐

sv

0x001D

스웨덴어

sv-FI

0x081D

스웨덴어 - 핀란드

sv-SE

0x041D

스웨덴어 - 스웨덴

syr

0x005A

시리아어

syr-SY

0x045A

시리아어 - 시리아

ta

0x0049

타밀어

ta-IN

0x0449

타밀어 - 인도

tt

0x0044

타타르어

tt-RU

0x0444

Tatar - Russia

te

0x004A

텔루구어

te-IN

0x044A

텔루구어 - 인도

th

0x001E

태국어

th-TH

0x041E

태국어 - 태국

tr

0x001F

터키어

tr-TR

0x041F

터키어 - 터키

uk

0x0022

우크라이나어

uk-UA

0x0422

우크라이나어 - 우크라이나

ur

0x0020

우르두어

ur-PK

0x0420

우르두어 - 파키스탄

uz

0x0043

우즈베크어

uz-UZ-Cyrl

0x0843

우즈베크어(키릴 자모) - 우즈베키스탄

uz-UZ-Latn

0x0443

우즈베크어(라틴 문자) - 우즈베키스탄

vi

0x002A

베트남어

vi-VN

0x042A

베트남어 - 베트남

고정, 중립 및 특정 culture

일반적으로 culture는 고정 culture, 중립 culture 및 특정 culture로 나누어집니다.

고정 culture는 culture를 구분하지 않으므로, 빈 문자열("")을 사용하여 고정 culture를 이름별로 지정하거나 culture 식별자 0x007F별로 지정할 수 있습니다. InvariantCulture는 고정 culture의 인스턴스를 가져옵니다. 이 인스턴스는 영어만 표시하고 국가/지역은 표시하지 않는 인스턴스로, culture를 필요로 하는 Globalization 네임스페이스의 거의 모든 메서드에 사용될 수 있습니다.

중립 culture는 언어만 표시하고 국가/지역은 표시하지 않는 culture이고, 특정 culture는 언어와 국가/지역을 모두 표시하는 culture입니다. 예를 들어, "fr"는 중립 culture이고 "fr-FR"는 특정 culture입니다. "zh-CHS"(중국어 간체)와 "zh-CHT"(중국어 번체)는 모두 중립 culture입니다.

중립 culture의 CompareInfo 클래스에는 임의의 데이터가 포함되므로 이 클래스의 인스턴스는 만들지 않는 것이 좋습니다. 데이터를 표시하고 정렬하려면 언어와 지역을 모두 지정합니다. 또한 중립 culture에 대해 만든 CompareInfo 개체의 Name 속성은 국가만 반환하고 지역은 포함하지 않습니다.

culture에는 특정 culture의 부모가 중립 culture이고 중립 culture의 부모가 InvariantCulture인 계층이 있습니다. Parent 속성은 특정 culture와 관련된 중립 culture를 반환합니다.

특정 culture의 리소스를 시스템에서 사용할 수 없으면 중립 culture의 리소스가 사용됩니다. 중립 culture의 리소스도 사용할 수 없으면 주 어셈블리에 포함된 리소스가 사용됩니다. 리소스 대체 프로세스에 대한 자세한 내용은 리소스 패키징 및 배포를 참조하십시오.

Windows API의 culture 목록은 .NET Framework의 culture 목록과 약간 다릅니다. 예를 들어, culture 식별자가 0x7C04인 중립 culture zh-CHT "중국어(번체)"는 Windows API에서 사용할 수 없습니다. 예를 들어, 플랫폼 호출 메커니즘 등을 통해 Windows와 상호 운용하려면 운영 체제에 정의된 특정 culture를 사용합니다. 이렇게 하면 동일한 LCID로 식별되는 해당 Windows 로캘과의 일관성이 유지됩니다.

중립 culture가 아닌 불변 culture나 특정 culture에 대해서만 DateTimeFormatInfo 또는 NumberFormatInfo를 만들 수 있습니다.

DateTimeFormatInfo.CalendarTaiwanCalendar이고 Thread.CurrentCulture는 "zh-TW"가 아니면 DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraNameDateTimeFormatInfo.GetAbbreviatedEraName은 빈 문자열("")을 반환합니다.

Windows 로캘

.NET Framework 버전 2.0부터 CultureInfo 생성자는 culture에 해당하는 Windows 로캘을 사용하여 .NET Framework에 없는 culture를 자동으로 생성할 수 있습니다. 자세한 내용은 Windows 로캘에서 생성된 cultures를 참조하십시오.

제어판 재정의

사용자는 제어판의 국가별 설정 옵션을 사용하여 Windows의 현재 culture와 관련된 일부 값을 재정의할 수 있습니다. 예를 들어, 날짜를 다른 형식으로 표시하거나 해당 culture의 기본 통화 단위가 아닌 다른 통화 단위를 사용할 수 있습니다.

UseUserOverridetrue이고 지정된 culture가 Windows의 현재 culture와 일치하면, CultureInfoDateTimeFormat 속성에서 반환하는 DateTimeFormatInfo 인스턴스의 속성 및 NumberFormat 속성에서 반환하는 NumberFormatInfo 인스턴스의 속성에 대한 사용자 설정이 포함된 재정의를 사용합니다. 사용자 설정이 CultureInfo에 연결된 culture와 호환되지 않는 경우(예: 선택한 달력이 OptionalCalendars 중 하나가 아닌 경우) 해당 메서드의 결과와 속성 값은 정의되지 않습니다.

유로화를 사용하는 culture의 경우 .NET Framework와 Windows XP에서는 기본 통화로 유로화가 설정되지만 이전 버전의 Windows에서는 그렇지 않습니다. 따라서 이전 버전의 Windows를 사용하는 경우 제어판의 국가별 옵션이나 국가별 설정을 사용하여 통화 단위를 변경하지 않으면 통화 단위가 잘못될 수도 있습니다. .NET Framework의 기본 통화 설정을 사용하려면 useUserOverride 매개 변수를 취하는 CultureInfo 생성자 오버로드를 사용하고, 해당 매개 변수를 false로 설정합니다.

대체 정렬 순서

"스페인어 - 스페인"의 culture 식별자 "0x0c0a"는 기본 국제 정렬 순서를 사용합니다. 또 다른 "스페인어 - 스페인"의 culture 식별자 "0x040A"는 전통 정렬 순서를 사용합니다. CultureInfo가 "es-ES" culture 이름을 사용하여 생성된 경우 이 새 CultureInfo는 기본 국제 정렬 순서를 사용합니다. 전통 정렬 순서를 사용하는 CultureInfo를 생성하려면 해당 생성자와 함께 culture 식별자 "0x040A"를 사용합니다. 대체 정렬 순서를 따르는 다른 culture에 대한 자세한 내용은 특정 Culture의 데이터 비교 및 정렬을 참조하십시오

반응형

댓글