2009-09-02 5 views
4

우리는 ASP.NET 프로젝트를 진행하고 있으며 resx 파일을 사용하여 국제화를 구현하고 있습니다.국제화에 기본 resx 파일을 사용하지 않는 방법이 있습니까?

비록 기본 리소스 파일 (예 : Page.ascx.resx)을 만들 때만 컴파일됩니다. 문화권에만 해당하는 파일 (예 : Page.ascx.en-US.resx, Page.ascx.km-KH.resx, Page.ascx.pl-PL.resx 등)을 사용하지 않습니다.

다음 어셈블리 특성을 이미 사용했습니다. 그것은 나를 컴파일 할 수 있지만 런타임 오류가 발생합니다.

[assembly: NeutralResourcesLanguageAttribute("km-KH",UltimateResourceFallbackLocation.Satellite)] 

모든 요망?

감사합니다.

답변

3

아니요, 리소스 파일의 기본 가정은 항상 대체 전략이 있다는 것입니다. de-CH 인 "German (Switzerland)"를 찾고 사용하면 찾을 것입니다. . 누락 된 경우 "일반"독일어 인 "de"를 찾아 사용하고, 실패하더라도 항상 기본 표준 resx 파일을 사용합니다.

"res-de"와 같은 문화권이없는 기본 resx는 기본 어셈블리에 컴파일되어 언어 및 문화권 별 위성 어셈블리가없는 경우에도 응용 프로그램이 작동합니다.

이것은 ASP.NET 시스템 내부의 근본적인 디자인 가정이므로, 해당 시스템에 대해 "싸우지"않으려 고합니다. 채택하고 익숙해 져야합니다. 장기적으로는 더 쉬울 것입니다.

마크

+0

나는 대체를 사용하지 않도록 시간 수있는 방법을 찾기 위해 노력했습니다. 나는 매우 특정한 기능을 가지고있다. 그것을 제어 할 수있는 방법이 있어야합니다. 매개 변수화 또는 재정의를 허용하지 않고이 기능을 강제로 수행하는 것은 바보처럼 보입니다. – Nick

관련 문제