-
09-06-2019 - |
문제
전자 상거래 솔루션 용 제품을 데이터베이스에 저장해야합니다.각 제품에는 이름, 설명 등과 같은 설명 정보가 있어야합니다.
x 개의 언어로 현지화 할 제품이 필요합니다.
지금까지 제가 한 것은 지역화되고 nvarchar(MAX)
가 필요한 열을 만들고 다음과 같은 XML 문자열을 저장하는 것입니다.
라코 디스
데이터베이스에서 비즈니스 로직 객체로로드 할 때 XML 문자열을 키가 문화 / 언어 코드 인 Dictionary<string, string>
로 구문 분석합니다.
따라서 제품 이름을 표시하려면 다음을 수행합니다. 라코 디스
누군가 더 나은 솔루션이 있습니까?
해결책
현재 언어를 어딘가에 저장해야합니다 ( singleton ).instance) 및 product.Name 속성에서 언어 설정을 사용하여 올바른 문자열을 가져옵니다.이렇게하면 필드가 사용되는 모든 곳의 언어에 대해 생각하지 않고 각 필드에 대해 언어 별 코드를 한 번만 작성하면됩니다.
예를 들어, 현재 언어에 해당하는 열거 형을 저장하는 Localizer 클래스에 싱글 톤이 정의되어 있다고 가정합니다. 라코 디스
GetLocalString은 다음과 같습니다. 라코 디스
다른 팁
Rob Conery의 MVC Storefront 웹 캐스트 시리즈에는 이 문제에 대한 동영상 (그는 5시 30 분경에 데이터베이스에 접속합니다.)그는 문화 목록을 저장 한 다음 현지화되지 않은 데이터를위한 Product 테이블과 현지화 된 텍스트를위한 ProductCultureDetail 테이블을 가지고 있습니다.
리소스 파일
이것은 기본적으로 Microsoft Commerce Server 2002에서 취한 접근 방식입니다. 예, 색인 된 뷰가 성능에 도움이 될 것입니다.