C# 다국어 지원 설정하기
프로그래밍 언어/C# & WPF2024. 3. 23. 13:42
C# WinForm 개발 환경에서 다국어를 지원하기 위해서 Resource 파일을 활용하여 다국어를 지원하는 방법을 소개합니다.
타 블로그를 찾아봐도 제대로 된 설명이 되어 있지 않아서 한번에 이해하도록 정리합니다.
1. C# Windows 앱 (Winform) 프로젝트를 하나 만듭니다. 그리고 버튼 1개를 추가하고 텍스트는 Test 로 지정합니다.
Form 텍스트도 MultiLanguage 라고 변경합니다.
(여기서는 간단히 다국어가 되는지 확인하기 위해서 폼 타이틀 텍스트와 버튼 텍스트만 변경되는지 테스트합니다)
2. 폼 속성에서 Localizable을 True로 설정합니다.
3. Language 선택에서 한국어를 선택하면 왼쪽 솔루션 탐색기에 자동으로 ko-KR 리소스가 만들어집니다.
(솔루션 프로젝트에서 별도로 리소스 추가할 필요가 없습니다)
4. 아래 그림과 같이 리소스 파일 2개를 열고 번역할 텍스트를 아래 그림과 같이 설정합니다.
기본적으로 프로젝트 생성시에 생성되는 Form1.resx 파일은 영어로 설정된다면, 새로 생성한 ko-KR은 한국어로 번역한 텍스트를 입력하면 되겠죠
(이름, 값 두가지가 있는데 이름 항목은 리소스name 이므로 그대로 복사하고 값은 텍스트 이므로 번역할 내용을 작성)
5. Form1.cs 소스 코드에서 아래와 같이 코드를 작성해줍시다. 이는 다국어 리소스가 각각 잘 작동하는지 테스트 해보는 테스트 코드입니다.
정상적으로 각각 테스트 해보면 아래와 같이 영어일때와 한국어일때 변역되어 잘 나오는것을 확인 할 수 있습니다.
6. 그럼 최종적으로 우리가 사용할 코드는 아래와 같습니다.
OS의 시스템 언어에 따라 자동으로 프로그램이 실행될때 해당되는 리소스 파일을 로딩시켜주면 되는 것이기 때문이죠.
아래 코드는 OS 시스템 언어가 한국어이면 한국어 번역 리소스를 로드하고 한국어가 아니면 영어로 실행합니다.
해당 프로젝트 소스 코드도 같이 올립니다.