본문 바로가기

Programing/닷넷

다국어 관련 표준 / 기술

C#에서는 다국어에 대한 기능을 System.Globalization 네임스페이스에서 묶어두었다.

하위 카테고리는 문화(CultureInfo), 지역(RegionInfo) 등으로 세분화하고 있다.


샘플을 돌려보면 쉽게 이해가 된다. (출처: MSDN)

foreach (var ri in CultureInfo.GetCultures(CultureTypes.SpecificCultures)

    .Select(ci => new RegionInfo(ci.ToString()))

    .OrderBy(x => x.TwoLetterISORegionName))

{

    Console.WriteLine("{0,3}: {1,11}: {2} ({3})", ri.TwoLetterISORegionName, ri, ri.EnglishName, ri.NativeName);

}

결과 파일을 첨부한다(utf-8 인코딩이다) langs.txt



ISO

URL에서 보면 국가 도메인이 있는데, ISO 3166이 관련 표준이다.

표준의 일부로 ISO 3166-1 이 있는데 세 자리 아라비아 숫자, 알파벳 두 글자/ 세글자로 구성되어 있다.

대한민국의 경우 410이라는 코드에 KOR, KR 이 각각 해당한다. 대문자를 사용하드라.


RFC

RFC 4646(Tags for Identifying Languages)은 언어에 대해 id를 붙이는 것에 다루고 있는데

en-US 와 같이 언어/지역을 구분해서 나누고 있다.

왜냐하면 영어라고 해도 영국식영어

언어에 대해서는 ISO 639-2; ISO 639-1 requires 2를 따른다고 적혀있다.