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.Calendar는 TaiwanCalendar이고 Thread.CurrentCulture는 "zh-TW"가 아니면 DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraName 및 DateTimeFormatInfo.GetAbbreviatedEraName은 빈 문자열("")을 반환합니다.
Windows 로캘
.NET Framework 버전 2.0부터 CultureInfo 생성자는 culture에 해당하는 Windows 로캘을 사용하여 .NET Framework에 없는 culture를 자동으로 생성할 수 있습니다. 자세한 내용은 Windows 로캘에서 생성된 cultures를 참조하십시오.
제어판 재정의
사용자는 제어판의 국가별 설정 옵션을 사용하여 Windows의 현재 culture와 관련된 일부 값을 재정의할 수 있습니다. 예를 들어, 날짜를 다른 형식으로 표시하거나 해당 culture의 기본 통화 단위가 아닌 다른 통화 단위를 사용할 수 있습니다.
UseUserOverride가 true이고 지정된 culture가 Windows의 현재 culture와 일치하면, CultureInfo는 DateTimeFormat 속성에서 반환하는 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의 데이터 비교 및 정렬을 참조하십시오
'IT-개발,DB' 카테고리의 다른 글
[asp.net] Web.config 에서 appSettings 설정을 파일로 따로 빼기 (0) | 2010.10.27 |
---|---|
[개발] ASP.NET 웹 페이지 전역화를 위한 HTML 레이아웃 지침 (0) | 2010.10.27 |
[개발] [asp.net] ResourcesManager를 이용한 GlobalResource 사용하기 (0) | 2010.10.26 |
[개발] [웹개발] 자바스크립트 개체의 속성과 메소드 리스트 (0) | 2010.10.26 |
[개발] ASP.NET base64로 문자열 암호화 하기 (0) | 2010.10.26 |
댓글