리 소스 를 깊이 파고 들 어 다 중 언어 지원 을 실현 하 는 응용 에 대한 상세 한 설명

먼저 응용 프로그램 CAStudy 가 있다 고 가정 하고,이 어 자원 파일 Resource1.resx 를 오른쪽 단추 로 추가 합 니 다.
resource 1.resx 에는 다음 과 같 습 니 다.
image
주 함 수 는 다음 과 같 습 니 다:static void Main(){    ResourceManager resourceManager = new ResourceManager(        "CAStudy.Resource1",        Assembly.GetExecutingAssembly());
    Console.WriteLine("String1 : " + resourceManager.GetString("String1"));    Console.WriteLine("String1 : " + Resource1.String1);    Console.ReadLine();}
사용 하 는 ResourceManager 구조 함 수 는 다음 과 같 습 니 다.
[SecuritySafeCritical]public ResourceManager(string baseName, Assembly assembly);
응용 프로그램 이 컴 파일 될 때 리 소스 1.resx 는 리 소스 1 의 한 종류 로 컴 파일 됩 니 다.그래서 baseName 이 뭔 지 모 르 면 그 럴 수도 있 습 니 다.
ResourceManager resourceManager = new ResourceManager(                Resource1.ResourceManager.BaseName,                Assembly.GetExecutingAssembly());
또는 IL 코드 를 보면 다음 과 같은 것 을 발견 할 수 있 습 니 다.
clip_image002  
실행 결 과 는 다음 과 같 습 니 다.
clip_image002[5]  
만약 우리 가 영어-미국(en-US)을 지지 하 는 사람 이 방문 한다 면:
clip_image002[7]
그러면 리 소스 1.resx 를 복사 하여 리 소스 1.en-US.resx 를 생 성 할 수 있 습 니 다.
중간 에 N-US 가 많이 나 온 것 을 제외 하고 다른 것 은 모두 같 습 니 다.
물론 중국어-대만 지원 이 필요 하 다 면 리 소스 1.zh-TW.resx 를 생 성 할 수 있 습 니 다.
resource1.en-US.resx 내용 은 다음 과 같 습 니 다.
clip_image004  
보 실 수 있 습 니 다.지금 은 Hello 입 니 다.
사용 할 때 는 수정 만 하면 됩 니 다.
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
왜 CurrentUICulture 를 수정 하면 되 나 요?
//   :
//                                   。
public CultureInfo CurrentUICulture { get; set; }
완전한 Main 함 수 는 다음 과 같다.
static void Main()
{
  ResourceManager resourceManager = new ResourceManager(
    Resource1.ResourceManager.BaseName,
    Assembly.GetExecutingAssembly());

  Console.WriteLine("String1 :" + resourceManager.GetString("String1"));
  Console.WriteLine("String1 :" + Resource1.String1);

  Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
  Console.WriteLine("String1 :" + resourceManager.GetString("String1"));
  Console.WriteLine("String1 :" + Resource1.String1);

  Console.ReadLine();
}
실행 결 과 는 다음 과 같 습 니 다.
clip_image002[9]

좋은 웹페이지 즐겨찾기