다음을 통해 공유


다중 언어 병합 모듈

다중 언어 모듈은 다중 언어의 구성 요소를 단일 복합 파일로 제공할 수 있습니다. 다중 언어 병합 모듈의 디자인 및 기능은 단일 언어 모듈과 유사합니다. 다중 언어 병합 모듈에는 템플릿 요약 속성에 둘 이상의 언어가 나열됩니다. 다중 언어 병합 모듈의 데이터베이스에는 다중 언어에 대한 모든 설정 정보가 포함됩니다. 다중 언어 병합 모듈 내의 MergeModule.CABinet 캐비닛에는 지원되는 모든 언어에 대한 모든 파일이 포함됩니다.

다중 언어 .msm 파일을 .msi 파일에 적용하는 경우 병합 후 설치 패키지의 최종 언어를 나타내야 합니다. 단일 언어 병합 모듈의 경우 병합 모듈의 파일 테이블에 MergeModule.CABinet 캐비닛에 있는 모든 파일이 나열됩니다. 다중 언어 병합 모듈의 경우 MergeModule.CABinet은 모듈에서 지원하는 모든 언어에 대한 모든 파일을 포함하지만 최종 언어에 대한 파일의 하위 집합만 모듈의 파일 테이블로 이동합니다. 병합 도구는 모듈이 요청된 최종 언어에 필요한 정보 및 파일의 하위 집합을 제공하는지 확인해야 합니다.

모든 병합 모듈에는 ModuleSignature 테이블의 언어 열에 지정된 기본 언어가 있습니다. 또한 병합 모듈의 기본 언어는 템플릿 요약 속성에 첫 번째 또는 유일한 언어로 표시됩니다. 요청된 최종 언어 및 모듈의 기본 언어에 따라 병합 도구는 요청된 언어 또는 요청된 언어의 근사치로 열 수 있도록 다중 언어 병합 모듈에 언어 변환을 적용할 수 있습니다. 언어 변환은 병합 모듈 내에 포함됩니다. 병합 도구는 다음 일반 규칙을 준수하여 언어 변환을 적용해야 합니다.

  • 기본 언어와 최종 언어가 동일한 경우 언어 변환을 사용하지 않고 모듈을 병합할 수 있습니다.
  • 기본 언어가 0(언어 중립 모듈)인 경우 언어 변환을 사용하지 않고 모듈을 병합할 수 있습니다.
  • 최종 언어가 기본 언어가 아닌 경우 병합 도구는 모듈에 포함된 언어 변환 중 하나를 적용하여 모듈을 최종 언어로 변경하거나 최종 언어의 근사치로 변경해야 합니다.

예를 들어 최종 언어가 1033(미국 영어)이고 모듈의 기본 언어가 1033(미국 영어), 0(언어 중립) 또는 9(일반 영어)인 경우 언어 변환이 필요하지 않습니다.

최종 언어가 1033(미국 영어)이고 기본 언어가 1031(독일어)인 경우 언어 변환이 필요합니다. 이 경우 병합 도구는 1033(미국 영어)으로 변환되는 포함된 언어에 대해 다중 언어 모듈을 먼저 검색할 수 있습니다. 실패하면 보조 LANGID가 일치하지 않더라도 일치하는 기본 LANGID가 있는 언어로 변환을 검색할 수 있습니다. 예를 들어 도구에서 변환을 1033(미국 영어)으로 찾을 수 없는 경우 변환을 9(일반 영어)로 검색합니다. 이러한 오류가 발생하면 병합 도구는 변환을 0(언어 중립)으로 검색합니다. 이러한 모든 검색에서 적합한 변환이 실패하면 모듈이 열리지 않습니다.

자세한 내용은 다중 언어 병합 모듈 작성을 참조하세요.