반응형

C# 언어 지역화 예제

  • 한국어, 영어 리소스 파일을 생성하여 테스트

 

Properties - 새 항목 추가 - 리소스 파일

  • 한국어 리소스 파일 : StringLib.resx
  • 영어 리소스 파일 : StringLib.en-US.resx
  • 리소스 파일 이름 형식 : (원본 리소스 파일 이름).(지역코드).resx

 

리소스 파일에 데이터 저장

StringLib.resx

str1 다국어 테스트 한국어 1
str2 다국어 한국어 2

StringLib.en-US.resx

str1 Language English 1
str2 English 2

 

 

 

다국어 가져오기 메서드

//기본값은 한국어로 하며, 설정파일(ini) 등에서 값을 가져와 저장하여 사용
public static String sLanguage = "ko";
public static String getString(String name) {
    return getString(sLanguage, name);
}
public static String getString(String code, String name) {
    if(code.Equals("en")) {
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
        return Properties.StringLib.ResourceManager.GetString(name);
    } else {
        Thread.CurrentThread.CurrentUICulture = new CultureInfo("ko-KR");
        return Properties.StringLib.ResourceManager.GetString(name);
    }
}

사용

String str1 = String.Format("str1 : ko[{0}], en[{1}]", Common.getString("str1"), Common.getString("en", "str1"));
String str2 = String.Format("str2 : ko[{0}], en[{1}]", Common.getString("str2"), Common.getString("en", "str2"));
String msg = str1 + "\n\n" + str2;
MessageBox.Show(msg);
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기