본문 바로가기

Programing/닷넷

윈폼 다국어(i18n) 개발하기 - Best Practice

자바에서는 리소스번들이라는 것을 이용해서 다국어지원을 쉽게 할 수 있다.

.net에서는 리소스를 이용하면 쉽게 다국어 지원을 할 수 있다.


1. 윈폼제작은 영어로 - 기본적으로 영어는 전세계 윈도우에서 다른 폰트를 설치하지 않고 보인다.

   아래와 같이 FormMain이라는 이름의 폼을 만들었다.

 

2. 폼 선택 > Localizable 속성 : True
   폼을 선택하고 속성중 Localizable이라는 게 있는데 False에서 True로 바꾸어 준다.
   그러면 Visual Studio가 자동으로 컨트롤들의 리소스를 만들어준다.

        

  Localizable : False일 경우 FormMain.resx를 열어보면 아래와 같이 비어있다.





  Localizable : True일 경우 FormMain.resx를 열어보면 아래와 같이 내용이 들어가 있음을 알 수 있다.


3. 리소스를 추가(이름: FormMain.ko.resx ) 위에서 빨간상자부분을 복사해서 아래와 같이 붙여넣은 후 수정한다.


4. 빌드해서 실행해보면, 폼자체는 영어로 만들었지만 한글로 보임을 알 수 있다.

 이유는 한국 윈도우에서 실행을 했기에 기본 로케일인 한국어로 표시를 해준 것이다.


만약 로케일을 런타임중 바꾸고자 한다면, Thread.CurrentThread.CurrentUICulture를 설정해주면 된다.

namespace Ch5._4_LogOutput

{

    public partial class FormMain : Form

    {

        public FormMain()

        {

            Thread.CurrentThread.CurrentUICulture = new CultureInfo("en");

            InitializeComponent();

        }

        // ...

    }

}

위와 같이 바꾸고 실행을 해보면 아래와 같이 원래 폼 디자인한 영어로 보인다.




'Programing > 닷넷' 카테고리의 다른 글

ObjectDumper  (0) 2013.01.10
Microsoft Chart Controls (차트컨트롤)  (0) 2013.01.10
C#프로그래밍가이드 - 주석  (0) 2013.01.08
DataContext Step by step  (0) 2012.12.21
자주쓰는 LINQ 정리  (0) 2012.12.20