데이터베이스에 저장된 데이터를 현지화하는 모범 사례에 대한 조언을 찾고 있습니다. 모든 정적 텍스트가 파일을 사용하여 지역화 된 웹 응용 프로그램에서 작업하고 있습니다. 관리자가 UI를 사용하여 구성 할 수있는 몇 가지 옵션이 있습니다.이 옵션은 데이터베이스에 저장되어 있으며 이러한 값을 지역화해야합니다.동적 데이터의 현지화
우리는 몇 가지 가능한 아이디어를 생각해 냈습니다. 이 솔루션에 대한 귀하의 생각은 무엇입니까? 더 나은 옵션이 있습니까 아니면 표준 모범 사례가 있습니까?
당이 필드를 전문 현지화
이것은 best practices for multilanguage database design 제안 솔루션입니다. 각 현지화 된 필드에 대해 별도의 테이블을 만들 것입니다. 예를 들어, 우리가 color_id
, color_name
및 color_description
열이있는 테이블 colors
을 가지고 가정, 우리는 지역화되지 않은 데이터와 color_translations
테이블 color_id
, locale
, color_name
및 color_description
필드와 color
테이블에 그것을 깰 수 있습니다.
그러나 고객은 번역을하기 위해 현지화 파일을 제 3 자에게 보내는 경우가 많아 까다로워집니다.
단일 테이블 현지화
또 다른 옵션은 데이터베이스 현지화의 모든 표현하는 하나의 테이블을 생성하는 것입니다 :
CREATE TABLE localized_text
(
key VARCHAR(256) NOT NULL,
locale CHAR(5) NOT NULL,
value VARCHAR(256),
PRIMARY KEY (key, locale)
);
이 오프 사이트 현지화에 대한 수출하는 것이 더 쉽습니다을하지만 추가 간접적 인 수준.
"여러 옵션"이 DB에 코드로 저장되고 앱 프리젠 테이션 수준으로 번역 된 이유가 있습니까? 어쨌든 나는 많은 diff를위한 많은 다른 번역을 가진 거대한 테이블이기 때문에, 옵션 1이 훨씬 더 깨끗하다고 생각합니다. 모델은 지옥을 빨리 바꿀 수 있습니다. –
데이터베이스에 코드를 저장하는 것에 대한 주요 반대 의견은 사용자가 두 가지 다른 장소로 이동해야한다는 것입니다. 번역을 위해 현지화 파일을 보내지 만 소규모 고객에게 이상적인 것은 아닙니다. 더 큰 회사조차도 키를 UI에서 파일로 복사하여 번역해야합니다. 가능한 한 해결책은 필요한 경우 현지화 파일을 수정하기 위해 UI를 업데이트하는 것일 수 있습니다. 누구든지 그 생각을 가지고 있습니까? – Ross
옵션 # 1을 수행하고 고객이 앱 외부에서 맞춤 콘텐츠를 번역하는 데 사용할 간단한 가져 오기/내보내기 도구를 구현합니다. –