다음을 통해 공유


장치 지역화 고려 사항

업데이트: 2007년 11월

전체 .NET Framework와 달리, .NET Compact Framework에는 응용 프로그램을 지역화하거나 전역화할 리소스를 제공하는 데 필요한 공간이 제한되어 있습니다. 이러한 리소스에는 정렬 테이블, 날짜 형식 변환기, 문자열 비교자 및 기타 전역화 유틸리티가 포함됩니다.

개발자는 장치 운영 체제에서 응용 프로그램이 적절하게 렌더링될 수 있는지 확인해야 합니다. 전역화 요구 사항 및 기능의 차이로 인해 개인용 컴퓨터의 전체 .NET Framework에 사용되도록 작성된 응용 프로그램과 장치의 .NET Compact Framework에 사용되도록 작성된 응용 프로그램 간에는 몇 가지 차이점이 있을 수 있습니다.

.NET Compact Framework에서는 .NET Compact Framework 또는 장치 운영 체제에서 지원하지 않는 문화권을 나타내는 CultureInfo의 인스턴스를 만들 경우 ArgumentException을 반환합니다.

.NET Compact Framework는 로캘에 맞는 콘텐츠를 렌더링할 때 가능하면 네이티브 운영 체제를 사용하며(예: 적절한 글꼴을 사용하는 경우), Compare, ToUpperToLower를 사용하는 경우와 같이 문화권에 맞는 문자열 비교 및 대/소문자 변환을 수행할 때 장치 운영 체제의 설정을 따릅니다.

현재 문화권 설정

장치의 현재 문화권을 프로그래밍 방식으로 설정할 수 없습니다. 문화권은 장치 제조업체에서 설정하거나, Windows CE 또는 Windows CE .NET을 실행하는 Pocket PC의 경우에는 장치 사용자가 국가별 설정을 사용하여 수동으로 구성할 수 있습니다. 현재 문화권 설정은 장치별로 다를 수 있습니다.

응용 프로그램은 시작될 때 장치의 로캘 설정을 사용합니다. 이러한 값을 나타내는 CurrentCultureCurrentUICulture 속성은 .NET Compact Framework에서 읽기 전용입니다.

장치 운영 체제가 MUI(다국어 사용자 인터페이스)를 지원하면 .NET Compact Framework는 별도의 UI 언어 설정을 사용하고 해당 값을 CurrentUICulture에 반영합니다. 장치가 MUI를 지원하지 않는 경우 CurrentUICulture의 기본값은 CurrentCulture가 됩니다.

문화권 설정이 스레드별로 설정되는 것이 아니라 장치별로 설정되므로 .NET Compact Framework는 ThreadCurrentCultureCurrentUICulture 속성을 지원하지 않습니다.

장치에 대한 지역화 디자인 고려 사항

스마트 장치 응용 프로그램을 지역화할 때는 다음과 같이 지원되는 기능 및 동작을 고려해야 합니다.

  • 달력

    .NET Compact Framework는 그레고리오력만 지원하고 이 달력이 기본값입니다. 히브리어 또는 회교식 달력은 사용할 수 없습니다.

  • 문자열 비교

    장치 운영 체제의 특성 때문에 .NET Compact Framework와 전체 .NET Framework의 문자열이 다르게 비교되는 경우도 있습니다. 전달된 문자열에 압축 문자가 포함되어 있으면 CompareInfo 개체의 IndexOf, LastIndexOf, IsPrefixIsSuffix는 제대로 평가할 수 없습니다.

  • 사용자 재정의

    내부 전역화 테이블에서 가져온 일부 .NET Compact Framework 기본값은 운영 체제 레지스트리 설정에 지정된 기본값과 다릅니다. 예를 들어, .NET Compact Framework와 전체 .NET Framework는 미국 영어(us-EN)에 대해 네 자리 연도를 사용하는 반면 Windows CE .NET은 두 자리 연도를 사용하는데, 이런 경우 .NET Compact Framework 기본값이 장치 운영 체제 기본값에 우선합니다.

    재정의 값은 응용 프로그램이 초기화될 때 적용되므로 이 시점 이후에 변경되는 값은 모두 무시됩니다.

  • 인코딩

    .NET Compact Framework는 모든 장치에 대해 유니코드(BE 및 LE), UTF8, UTF7 및 ASCII 등의 문자 인코딩을 지원합니다.

    장치 운영 체제에서 인코딩을 인식하는 경우에만 코드 페이지 인코딩이 제한적으로 지원됩니다.

    필요한 인코딩을 장치에서 사용할 수 없으면 .NET Compact Framework에서 PlatformNotSupportedException이 throw됩니다.

    선택적 구성 요소인 Mlang.dll이 장치에 있으면 CP 51932(EUC-JP), CP 50220(ISO2022JP) 및 CP 50221(cslSO2022JP) 코드 페이지가 지원됩니다.

  • 서로게이트 쌍, 대/소문자 변경

    .NET Compact Framework는 네이티브 Windows CE 함수를 사용하여 문자를 대문자나 소문자로 변경합니다. 이와 달리 전체 .NET Framework는 Framework에서 이 기능을 제공합니다.

    Windows CE는 서로게이트 쌍의 대/소문자를 변경하지 않으므로 이 기능은 .NET Compact Framework에서 지원되지 않습니다.

  • 정렬

    .NET Compact Framework는 네이티브 Windows CE 함수를 사용하여 관리 코드 알고리즘 대신 정렬 작업을 수행합니다. 이 경우 해당 로캘에 대한 데스크톱 응용 프로그램과 비교했을 때 다른 결과가 나타날 수 있습니다.

참고 항목

기타 리소스

.NET Compact Framework의 인코딩 및 지역화