방법: Excel 솔루션 지역화

지역화의 주된 작업은 응용 프로그램의 사용자 인터페이스를 번역하는 것입니다. 문자열을 응용 프로그램에 하드 코딩하는 대신 문자열을 별도의 파일에 저장해야 합니다. Microsoft Office Excel 사용자 인터페이스 요소의 문자열을 프로젝트의 기본 어셈블리 리소스 파일에 저장할 수 있습니다. 이 파일의 이름은 Visual Basic 프로젝트의 경우 MyResources.resx이고 C# 프로젝트의 경우 Resources.resx입니다. 그런 다음 리소스 파일의 복사본을 여러 언어로 번역할 수 있습니다.

적용 대상: 이 항목의 정보는 Excel 2007 및 Excel 2010의 문서 수준 프로젝트 및 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.

참고

일부 Visual Studio 사용자 인터페이스 요소의 경우 다음 지침에 설명된 것과 다른 이름 또는 위치가 시스템에 표시될 수 있습니다. 설치한 Visual Studio 버전과 사용하는 설정에 따라 이러한 요소가 결정됩니다. 자세한 내용은 설정에 대한 작업을 참조하십시오.

리소스 파일에 텍스트 저장

리소스 파일에 텍스트를 추가하려면

  1. 지역화하려는 Excel 프로젝트를 엽니다.

  2. 프로젝트 메뉴에서 <ProjectName> 속성을 선택합니다.

    프로젝트 디자이너가 열립니다.

  3. 프로젝트 디자이너에서 리소스를 클릭하여 리소스 창을 엽니다.

  4. 범주 콤보 상자에서 문자열을 선택합니다.

  5. 지역화하려는 각 문자열에 대한 이름 열에 고유 식별자를 추가하고 열에 지역화할 텍스트를 추가합니다. 예를 들면 다음과 같습니다.

    Name

    ListCreateUnscheduledOrder

    create unscheduled order

    참고

       메모 열을 사용하면 번역자에게 필요한 설명이나 지침을 제공할 수 있습니다.

리소스 파일에서 텍스트 검색

리소스 파일에 각 문자열을 추가한 다음 런타임에 문자열을 로드할 수 있습니다.

리소스 파일을 사용하여 셀에 값을 추가하려면

  1. Sheet1의 Startup 이벤트 처리기에서 셀 A1에 NamedRange 컨트롤을 추가합니다.

    Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
        Me.Controls.AddNamedRange(Me.Range("A1"), "NamedRange1")
    
    Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", missing], "namedRange1");
    
  2. 리소스 파일에서 값을 할당합니다.

    namedRange1.Value2 = My.Resources.ListCreateUnscheduledOrder
    
    namedRange1.Value2 = Properties.Resources.ListCreateUnscheduledOrder;
    

리소스 파일 지역화

리소스 파일을 지역화하려면

  1. 리소스 파일을 복사하고 대상 언어의 문화권 코드로 복사본의 이름을 지정합니다. 예를 들어, 일본어로 지역화할 파일을 만들려면 Resources.resx 파일을 복사하여 그 이름을 Resources.ja.resx로 지정합니다.

  2. 지원하려는 언어로 리소스 파일을 번역합니다. 예를 들어, Resources.ja.resx의 문자열을 일본어로 번역합니다.

  3. 프로젝트 시스템에서 리소스 파일을 위성 어셈블리로 컴파일할 수 있도록 번역된 리소스 파일을 프로젝트에 추가합니다.

Office 사용자 인터페이스 언어를 기반으로 리소스 로드

Microsoft .NET Framework에서는 Microsoft Windows 사용자 인터페이스 언어를 기반으로 리소스를 로드합니다. 그러나 Office 기반 솔루션은 대개 Office UI(사용자 인터페이스) 언어를 기반으로 리소스를 로드하도록 작성됩니다. 아래의 첫 번째 예제에서는 현재 설치되어 있는 Office 버전에 상관없이 Office UI 언어에 일치하는 리소스를 로드하는 방법을 보여 줍니다. 두 번째 예제에서는 Office UI 언어와 기본 Microsoft .NET Framework 동작을 모두 재정의하는 방법을 보여 줍니다.

Office를 기반으로 리소스를 로드하려면(다국어 버전의 Office)

  • 통합 문서와 각 워크시트의 Startup 이벤트 처리기에 다음 코드를 추가합니다.

    System.Threading.Thread.CurrentThread.CurrentUICulture = _
        New System.Globalization.CultureInfo( _
            Application.LanguageSettings.LanguageID( _
                Office.MsoAppLanguageID.msoLanguageIDUI))
    
    System.Threading.Thread.CurrentThread.CurrentUICulture =
        new System.Globalization.CultureInfo(
            Application.LanguageSettings.get_LanguageID(
                Office.MsoAppLanguageID.msoLanguageIDUI));
    

다국어 버전의 Office가 없는 경우 현재 스레드나 CultureInfo 개체의 CurrentCulture 속성에 일치하는 문화권 ID를 할당하여 리소스를 로드할 수 있습니다. 이 방법은 디버깅에 유용하게 사용할 수 있고 사용자가 로드할 리소스를 직접 선택할 수 있도록 하는 사용자 지정 코드의 일부로도 사용할 수 있습니다.

Office를 기반으로 리소스를 로드하려면(문화권 ID 사용)

  • 통합 문서와 각 워크시트의 Startup 이벤트 처리기에 다음 코드를 추가합니다. 이 예제에서는 독일의 문화권 ID를 전달합니다. 문화권 ID의 목록은 CultureInfo를 참조하십시오.

    System.Threading.Thread.CurrentThread.CurrentUICulture = _
        New System.Globalization.CultureInfo("de")
    
    System.Threading.Thread.CurrentThread.CurrentUICulture = 
        new System.Globalization.CultureInfo("de");
    

사용자 지정 컨트롤 지역화

Office 솔루션의 작업 창에 사용자 지정 컨트롤을 추가할 수 있습니다. Windows Form을 지역화할 때와 동일한 방식으로 사용자 정의 컨트롤이나 작업 창 컨트롤을 지역화할 수 있습니다. 자세한 내용은 연습: Windows Forms 지역화를 참조하십시오.

사용자 지정 컨트롤에 대한 지역화를 활성화하려면

  1. 보기 메뉴에서 속성 창을 선택합니다.

  2. 디자이너에서 사용자 정의 컨트롤이나 작업 창 컨트롤을 선택하고 Localizable 속성을 true로 변경합니다.

참고 항목

작업

연습: Windows Forms 지역화

개념

Office 솔루션 전역화 및 지역화

기타 리소스

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

응용 프로그램 지역화