2012-09-10 4 views
0

많은 리소스 문자열이 사용되는 프로젝트가 있습니다. 따라서 모듈을 기반으로 폴더 구조로 구성되어 있습니다.현지화를 위해 여러 리소스 파일을 다루는 방법은 무엇입니까?

모듈 A가 폴더 인 경우처럼 모듈 A 아래에 다음 파일이 있습니다.

Module A 

     ResourceFileA1.resx 
     ResourceFileA2.resx 
     ResourceFileA1.de-DE.resx 
     ResourceFileA2.de-DE.resx 

과 유사한 모듈 B.

에 대한 구조 그러나 나는 단지를 얻기 위해 (각 리소스 파일에 관한 여러 클래스에 대한) 하나의 클래스 파일 또는 가능한 그렇지 않으면 하나의 래퍼 클래스를 갖고 싶어 리소스 문자열 나는 GetString (moduleA.ResourceFileA1.String)과 같은 것을 시도하고있다.

내가 설명했던 것을 시도했다. here 그러나 제대로 할 수 없었다. 아무도 도와 줄 수 있습니까? 당신은 어떤이 제한되어있는 .NET 프레임 워크의 버전,하지만 당신은 적어도 .NET 2.0에있는 가정 언급하지 않았다

답변

2

사전에

덕분에, 당신은 정말 관리 수동에 대해 걱정할 필요가 없습니다 귀하의 리소스 파일. Visual Studio를 통해 새 리소스 파일을 추가하면 볼 수 자동 생성 자동으로 모든 리소스 항목 당신에게 컴파일 시간 기준을 만들어야합니다

ResourceFileA1.resx 

ResourceFileA1.Designer.cs 

디자이너 파일을 같은 파일에 넣어 : 새 로케일 (등 .de 등-DE.resx를) 추가 할 때

moduleA.ResourceFileA1.YourStringKey 

, moduleA.ResourceFileA1.YourStringKey 자동으로 올바른 자원 F를 참조해야합니다 ile, Thread.CurrentCulture를 기반으로하지만 원하는 경우 GetString을 호출하여 명시 적으로 전달할 수 있습니다.

+0

감사 닉 Pinski 나는 그것을 각 리소스 파일에 대한 디자이너 클래스를 만듭니다 알고 있지만 이것은 1 닷넷 4를 사용하고 있습니다 :... 1 매핑 . 그리고 내가 원하는 것은 래퍼 클래스로서 별도의 클래스를 호출하고 싶지 않기 때문에 ResourceWrapper.GetString ("Module.ResourceFile.String")과 같은 것이 필요하다. – satya

+0

내가 말하는 것은 당신이 ' 별도의 Designer/Resource 파일 콤보가 필요합니다. 현지화 된 (de-DE) resx 파일을 기본 resx 및 Designer 파일과 동일한 디렉토리에 보관할 수 있어야하며 자동으로 작동해야합니다. –

0

표시 할 파일은 모두 응용 프로그램의 특정 섹션에서만 액세스 할 수 있도록 설계된 모든 로컬 리소스입니다. 그러나 모든 응용 프로그램 코드에서 사용할 수있는 전역 리소스를 만들 수도 있습니다. 귀하의 응용 프로그램이 ASP.NET 응용 프로그램이라고 가정하면 이러한 자원은 App_GlobalResources입니다. this MSDN 페이지, 특히 "글로벌 리소스 파일"및 "로컬 리소스 파일"하위 섹션을 참조하십시오.

0

다음은 아래 코드입니다.

[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 
    public static global::System.Resources.ResourceManager ResourceManager 
    { 

     get 
     { 
      resourceMan = new global::System.Resources.ResourceManager("Ral." + Ral.ResourceFolderPath.GetClientKey + ".Asset.Resource", typeof(Resource).Assembly); 
      return resourceMan; 
     } 
    } 
0

resx 파일의 명명 규칙을 따르지 않았기 때문에 MSDN 링크가 작동합니다. http://msdn.microsoft.com/en-us/library/ms227427%28v=vs.100%29.aspx

"리소스 파일을 만들 때 기본 .resx 파일을 만듭니다. 지원하려는 각 언어에 대해 동일한 파일 이름을 가진 새 파일을 만듭니다. 언어 또는 언어와 문화 (문화 이름)을 포함하는 문화 이름의 목록은은 CultureInfo 클래스를 참조하십시오 예를 들어, 다음과 같은 파일을 만들 수 있습니다...

WebResources.resx
기본 리소스 파일입니다 기본 (대체) 리소스 파일
WebResources.es.resx
스페인어 용 리소스 파일
WebResources.es-mx.resx
스페인어 (멕시코) 용 리소스 파일입니다.
WebResources.de.resx
독일어 리소스 파일 "