지역화를 위한 리소스의 계층적 구성
Visual Studio에서 지역화된 리소스(각 culture에 적합한 문자열이나 이미지 같은 데이터)는 별도의 파일에 저장되고 UI culture 설정에 따라 로드됩니다. 지역화된 리소스가 계층 방식으로 구성되어 있다고 가정하면 이러한 리소스가 로드되는 방식을 쉽게 이해할 수 있습니다.
계층 구조에 있는 리소스의 종류
계층의 맨 위에는 영어("en") 같은 기본 culture를 위한 대체 리소스가 있습니다. 이들은 고유한 파일을 갖지 않는 유일한 리소스로서, 주 어셈블리에 저장됩니다.
대체 리소스 아래에는 중립 culture를 위한 리소스가 있습니다. 중립 culture는 국가/지역이 아니라 언어와 연결되어 있습니다. 예를 들어, 프랑스어("fr")는 중립 culture입니다. 대체 리소스는 중립 culture를 위한 것이기도 하지만 특수한 리소스입니다.
그 아래에는 특정 culture를 위한 리소스가 있습니다. 특정 culture는 언어 및 국가/지역과 연결되어 있습니다. 예를 들어, 프랑스어(캐나다)("fr-CA")는 특정 culture입니다.
응용 프로그램에서 문자열 같은 지역화된 리소스를 로드할 때 해당 리소스를 찾을 수 없으면 요청한 리소스가 들어 있는 리소스 파일이 발견될 때까지 계층을 위로 올라가면서 찾습니다.
리소스를 저장할 때 가능하면 리소스를 일반화하는 것이 가장 좋습니다. 즉, 지역화된 문자열, 이미지 등의 리소스는 가능하면 특정 culture가 아닌 중립 culture로 된 리소스 파일에 저장하는 것이 좋습니다. 예를 들어, 벨기에 프랑스어("fr-BE") culture로 된 리소스와 영어로 된 대체 리소스를 가지는 경우, 캐나다 프랑스어 culture로 구성된 시스템에서 이 응용 프로그램을 사용하면 문제가 발생할 수 있습니다. 시스템에서는 "fr-CA"로 된 위성 어셈블리를 찾지만 이를 찾을 수 없으므로 프랑스어 리소스를 로드하지 않고 영어로 된 대체 리소스가 포함된 주 어셈블리를 로드합니다. 아래 그림에서는 바람직하지 않은 이 시나리오를 보여 줍니다.
앞에서 권장한 구현 방법에 따라 가능한 많은 리소스를 "fr" culture를 위한 중립 리소스 파일에 저장하면 프랑스어(캐나다) 사용자에게 "fr-BE" culture용으로 표시된 리소스가 나타나지 않고 프랑스어로 된 문자열이 표시됩니다. 아래 그림에서는 이 권장 시나리오를 보여 줍니다.
참고 항목
작업
방법: Windows Forms 전역화를 위한 Culture 및 UI Culture 설정
방법: ASP.NET 웹 페이지 전역화를 위한 Culture 및 UI Culture 설정