문제

의 숫자가에 대한 질문에이 관련 사이트 액세스하는 방법 리소스에서 파일 ASP.NET MVC 응용 프로그램 모범 사례 의 그들을 사용하고 있습니다.

그러나 읽은 후(처음으로 추가할 수도 있습니다)이 MSDN 문서에 자원 내가 궁금 남아있는 경우에도 어떤 장점을 사용하는 리소스를 때문에 나지 않은 것을 사용하여 서버를 제어합니다.Theres 이 모든 이야기'암시적'및'명시'현지화하지만 나는 혜택을하지 않는 것으로 MVC.

궁극적으로 내 응용 프로그램을 필요로 할 것이 문자열 자원 버튼 및 메뉴 항목과도 더 이상 HTML 항목에 대한 더 긴 기타 콘텐츠입니다.내가 사용하고 싶 CMS 에 대한 이상목 때문하십시오지 않아 가고 싶은 고집으로는 리소스 파일입니다.

은 없는 강력한 이유 사용 또는 사용하지 않는 ASP.NET 리소스 응용 프로그램.난다고 가정하고 향후 MVC 개선 또는 리소스를 개선에서 작동 조화를 함께,그러나 지금 나는 그냥 영광 IDictionary 로 볼 수 있습니다.

해 나가 진행하는 리소 또는 다른 곳에서 볼?어야 나는 심지어 고려를 위한 CMS 자원의 종류는 리소스를 위해 설계되었?

어떤 교훈을 감사하겠습니다.

도움이 되었습니까?

해결책

Resx 인프라에는 몇 가지 장점이 있습니다.

  • 적절한 언어 당 자원을로드 할 필요는 없습니다. 스레드의 로케일이 설정되면 CLR은 적절한 어셈블리를 찾고 자원을로드하는 것을 관리합니다.
  • 현지화를위한 로케일-특이 적 자원을 제 3 자에게 물러나는 것은 쉽습니다.
  • 국소화되지 않은 리소스에 대한 기본 폴백 메커니즘이 있습니다.

Resx 접근 방식에는 한 가지 특별한 단점이 있습니다.

  • 사용자가 귀하의 리소스를 번역하는 번역 모델을 지원하기는 어렵습니다.

그 마지막 요점에 대해 조금 자세히 설명하고 싶습니다. 예를 들어 Facebook 번역 모델을 사용하십시오. Facebook은 사람들이 다양한 자원의 번역을 제공하고 투표 할 수있는 간단한 방법을 가지고 있습니다. 이들이 데이터베이스에 저장된 경우 응용 프로그램을 재건하고 재배치하지 않고 적절한 편집 프로세스 후에 사용할 수 있습니다. RESX 모델을 사용하면 리소스 어셈블리를 재건하고 재배치해야하며 배포 프로세스에 따라 충분한 비용이 발생할 수 있습니다.

따라서, 어떤 현지화 프로세스를 사용할 것인지 결정하기 전에, 누가 현지화를 할 것인지 결정과 기본 응용 프로그램이 이미 배포 된 후 지역화 자원의 배포 프로세스가 무엇인지 살펴볼 것입니다.

편집하다: 이러한 고려 사항은 ASP.NET Framework 선택 (MVC 또는 WebForms)과 직교하다는 것을 언급하는 것을 잊었습니다.

다른 팁

I'd say"yes",리소스 파일은 여전히 좋은 옵션에 대한 새로운 응용이 가능합니다.나는 생각하지 않는 ASP.NET MVC 에서는 특정의 변화에 대해 아무것도 저장할 문자열.

무엇을 사용하는 리소스

  • 그들은 아주 쉽게 관리
  • 현지화 사이트는 많은 보다 쉽게 작업 없이는 리소스(그리고 스트레스 쉽)
  • 대체할 수 있는 리소스 저장소 언제든지기 때문에 리소스 공급자를 사용하여 모델이다.당신할 수 있는 리소스를 위한 db 항목을 변경하지 않고의 구현은 귀하의 사이트입니다.

내가 추천한 리소스 파일에 대한"사이트는 문자열"이는 서로 다른 것보다 큰 블록 데이터의 편집하게 될 수 있습니다.그래서 전체 추천,나는 말을 사용하는 리소스 파일에(리소스를 시작하는)버튼,상표,etc.,and CMS 에 대한 풍부한 콘텐츠입니다.

MVC에있는 것처럼 RESX를 사용하고 서버 컨트롤을 사용하지 않는 경우 MVC 헬퍼 메소드를 확장하여 로컬 레이블과 텍스트를 만들 수있는 이유는 무엇입니까? 그런 다음 헬퍼 방법에서 자원에서 텍스트를 호출하십시오.

예 : '< %= html.culturelabel ( "resouceid") %>'

또는 '< %= html.culturebutton ( "name", "resouceid", htmlbuttontype.button) %>'

그냥 생각.

또한 사이트의 세계화를 관리하는 것이 텍스트의 Resx를 사용하면 훨씬 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top