2012-11-28 5 views
3

저는 고전적인 ASP.NET에서 응용 프로그램을 개발하여 하늘색으로 배포하고 있습니다. 지금까지 전혀 문제 없습니다. 이제 다중 언어를 지원하기 위해 지역화 된 리소스를 추가하고 싶습니다.Windows Azure에서 지역화 된 리소스를 사용할 때 예외가 발생했습니다.

azure 에뮬레이터의 외부와 내부 모두에서 로컬을 실행할 때 App_GlobalResources/*. resources 파일이 올바르게 작동합니다. ,

Could not find any resources appropriate for the specified culture (or the neutral culture) on disk. baseName: SistemaRRHH.Signup.SignupLabels locationInfo: fileName: SistemaRRHH.Signup.SignupLabels.resources.

예외는 매우 자명하다 내가 어떤 방법으로 그것을 해결할 수없는 구매 : 나는 푸른에서 사용하려고 할 때, 나는 다음과 같은 오류를 받고 있어요.

예외는 여기서 발생합니다 :

var requestCultureInfo = new CultureInfo(Utils.GetRequestFirstLanguageAccepted(Request.Headers["Accept-Language"])); 

ResourceManager rm = ResourceManager.CreateFileBasedResourceManager(Constants.RESOURCE_FILE_LABELS_NAME, HttpContext.Current.Server.MapPath(Constants.RESOURCE_FILE_DIRECTORY), null); 

letsGetItStartedLabel.Text = rm.GetString(Constants.LETS_GET_IT_STARTED_LABEL, requestCultureInfo); 

감사합니다 많이 도와!

답변

0

저는 Azure에서 특정 지역화 문제, 특히 DateTimes (일반적인 범인)에 주목했습니다. 귀하는 미국 이외 지역에 거주하고 계십니까? 우리는 영국에 있으며 유럽 데이터 센터를 사용하고 있지만 Azure에서 미국 형식의 날짜를 받고 있습니다. 그렇다면 en-US 리소스 파일을 만들어 문제를 해결할 수도 있습니다. 우리는 지금 세계화 태그를 web.Config에 추가했습니다. 단기간의 수정이지만 재검토 할 때까지는 문제를 지나쳐 버립니다.

+0

실제로 우리는 칠레에 거주하지만 현재는 HTTP 요청에서 Accept-Language 헤더를 사용하여 현지화를 처리하고 있습니다. 우리는 파일을 만들었습니다 영어 : SistemaRRHH.Signup.SignupLabels.en-US.resources는 스페인어 : SistemaRRHH.Signup.SignupLabels.es-ES.resources 기본값 : SistemaRRHH.Signup.SignupLabels.resources 이론적으로 .NET은 다른 파일과 일치하지 않는 경우 기본 파일에서 리소스를 가져와야하지만 모든 파일을 찾을 수 없다고 생각합니다. 어쨌든 @levelnis, 해결책을 찾으면 여기에 게시하겠습니다. – lokip1

관련 문제