방법: Windows Forms 전역화를 위한 Culture 및 UI Culture 설정

Visual Basic 또는 Visual C# 응용 프로그램을 위해 로드되는 리소스와 통화, 숫자 및 날짜 같은 정보의 형식 지정 방법은 응용 프로그램의 두 가지 문화권 값에 의해 결정됩니다. 로드되는 리소스는 UI culture 설정에 의해 결정되며 형식 지정 옵션은 culture 설정에 의해 결정됩니다. 응용 프로그램에서는 먼저 CurrentCultureCurrentUICulture 속성에서 culture 값을 찾습니다. 다음 절차와 같이 코드에서 이러한 값을 설정할 수 있습니다.

CurrentCulture 속성의 기본값은 제어판의 국가별 옵션에 설정되어 있는 운영 체제의 사용자 로캘입니다. CurrentUICulture 속성의 기본값은 운영 체제 UI(사용자 인터페이스)에서 사용하는 언어인 운영 체제의 UI 언어입니다. Windows 2000과 Windows XP MultiLanguage Edition의 경우 CurrentUICulture 속성의 기본값은 현재의 사용자 UI 언어 설정입니다.

응용 프로그램의 대부분 설정이 운영 체제 또는 사용자의 culture 설정에 따라 변경되도록 하려는 경우에도 숫자나 날짜와 같은 설정은 변경되지 않게 해야 할 수도 있습니다. 그런 경우 culture 관련 클래스에서 특정 지역 대신 영어와 연결되어 있는 invariant culture를 사용하여 정보의 서식을 지정할 수 있습니다. 이러한 클래스에 대한 자세한 내용은 Formatting for Different CulturesSystem.Globalization을 참조하십시오. 고정 문화권에 대한 자세한 내용은 InvariantCulture을 참조하십시오. 가능한 culture 설정에 대한 자세한 내용은 CultureInfo를 참조하십시오.

특정 culture에 적합한 형식 지정 옵션을 설정하려면

  1. 사용자나 운영 체제의 설정을 재정의하려는 경우 CurrentCultureCurrentUICulture 속성을 설정합니다.

    대개 응용 프로그램 UI의 모든 부분이 해당 culture에 적합하도록 하기 위해 culture를 지정합니다. 따라서 InitializeComponent 메서드를 호출하기 전에 culture를 설정해야 합니다.

    ' Put the Imports statements at the beginning of the code module
    Imports System.Threading
    Imports System.Globalization
    ' Put the following code before InitializeComponent()
    ' Sets the culture to French (France)
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR")
    ' Sets the UI culture to French (France)
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR")
    
    // Put the using statements at the beginning of the code module
    using System.Threading;
    using System.Globalization;
    // Put the following code before InitializeComponent()
    // Sets the culture to French (France)
    Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR");
    // Sets the UI culture to French (France)
    Thread.CurrentThread.CurrentUICulture = new CultureInfo("fr-FR");
    

    참고

    culture 값은 "fr" 같은 중립 culture가 아니라 항상 "fr-FR" 같은 특정 culture여야 합니다."fr" 같은 중립 culture는 프랑스, 벨기에, 퀘벡 등 프랑스어를 사용하는 모든 culture에 적용할 수 있지만 이들 국가 간에 통화는 서로 다르기 때문에 문제가 될 수 있습니다.

  2. CurrentCulture 속성 값에 관계없이 변경되지 않는 문자열에 대해 invariant culture를 사용하여 형식 지정 메서드를 호출합니다.

    Dim MyInt As Integer = 100
    Dim MyString As String = MyInt.ToString("C", CultureInfo.InvariantCulture)
    MessageBox.Show(MyString)
    
    int MyInt = 100;
    string MyString = MyInt.ToString("C", CultureInfo.InvariantCulture);
    MessageBox.Show(MyString);
    

참고 항목

참조

CurrentCulture

CurrentUICulture

CultureInfo

기타 리소스

응용 프로그램 전역화

응용 프로그램 전역화 및 지역화

Windows Forms 전역화