메인 콘텐츠로 건너뛰기
언어 지정자는 청크의 콘텐츠가 적용되는 언어를 선언합니다. 설치 패키지의 청크에 하나 이상의 언어 지정자를 표시하면, 설치 시점에 콘솔은 다음을 수행합니다.
  1. 사용자가 필요로 하는 언어와 패키지의 언어 사이에 가장 잘 일치하는 청크를 결정합니다.
  2. 해당 언어로 표시된 청크와 언어 지정자가 없는 청크만 다운로드합니다.
정확히 일치하는 언어가 발견되지 않는 경우, 언어 지정자를 사용하여 폴백 언어를 선언할 수 있습니다.

언어 인식 설치

Intelligent Delivery 언어 지정자는 패키지의 모든 지역화된 자산 중 일부만 콘솔에 설치되도록 콘텐츠에 태그를 지정합니다. 이렇게 하면 디지털로 설치하는 고객의 대역폭을 절약하고 모든 고객의 하드 드라이브 공간을 절약합니다. 콘텐츠가 하나 이상의 언어에 특정함을 나타내려면 layout.xml 파일의 청크에 Languages 특성을 추가합니다. 다음 예제는 콘솔이 실행되는 언어에 대한 최적 일치로 프랑스어가 결정된 콘솔에만 설치될 청크를 보여줍니다. 이 청크는 캐나다 로케일(fr-CA) 또는 프랑스어 로케일(fr-FR)의 프랑스어로 설정된 콘솔에 설치됩니다. 언어 지정자가 없는 청크는 장치 유형과 같은 다른 지정자에 의해 제외되지 않는 한 모든 콘솔에 설치됩니다.

사용자의 언어 선택 확인

XPackageGetUserLocale 함수를 사용하여 운영 체제가 사용자 시스템의 타이틀 설치와 가장 잘 일치한다고 결정한 로케일 이름을 쿼리합니다. 반환된 로케일은 사용자에 대해 사용 가능한 모든 데이터를 기반으로 가능한 최적의 일치를 결정하기 위해 대략 다음 작업을 수행하는 알고리즘에 의해 결정됩니다.
  1. 사용자의 현재 언어 설정과 가장 잘 일치하는 언어 목록이 생성됩니다.
  2. MicrosoftGame.config/매니페스트에 선언된 모든 언어 목록이 생성됩니다.
  3. 현재 설치되어 있고 패키지에 사용 가능한 모든 언어 목록이 생성됩니다.
  4. 매니페스트에 선언된 첫 번째 언어가 언어 선택의 궁극적인 폴백입니다.
  5. 결과는 항상 MicrosoftGame.config/매니페스트에 선언된 언어이거나, 언어가 선언되지 않은 경우 사용자 언어입니다.
사용되는 알고리즘은 시간이 지나면서 변경될 수 있으며, 위 설명과 반드시 동일한 것은 아닙니다.
XPackageGetUserLocale에서 반환되는 언어는 GetUserDefaultLocaleName이나 다른 NLS(National Language Support) 및 지역화 관련 Win32 API 함수에서 반환되는 언어와 반드시 일치하지는 않으며, 이보다 우선하여 호출해야 합니다. 지역화 및 MicrosoftGame.config의 언어 설정에 대한 자세한 내용은 National Language Support API 및 Localization GDK 샘플을 참조하세요.
layout.xml 파일에서 참조되는 모든 언어가 MicrosoftGame.config 파일에도 있어야 합니다. 그렇지 않으면 MakePkg 도구가 오류를 생성합니다.

사용자가 다른 언어로 전환한 후 타이틀을 실행할 때의 동작

사용자가 타이틀을 실행할 때 사용자에게 가장 적합한 로케일이 패키지의 일부로 사용 가능하지만 아직 설치되지 않은 경우(예: 사용자가 타이틀이 실행되지 않는 동안 언어를 전환한 경우), 다음번 타이틀 실행 시 최적 일치 언어를 설치할 수 있는 기회가 제공됩니다.
사용자가 언어를 설치하기로 선택한 경우, 새 언어가 다운로드될 때까지 게임을 이전에 설치된 언어로 계속 실행할 수 있습니다. 다른 언어로 시작한 경우, 사용자가 해당 언어를 이해할 가능성이 높고 선호 언어가 다운로드되는 동안 게임을 플레이하고 싶어할 수 있다고 가정합니다.이 동작으로 인해 많은 개발자가 혼란스러워했다는 점에 유의하세요. 테스트할 때 타이틀을 실행하기 전에 게임 설치 큐를 모니터링하여 새 언어의 설치가 완료되었는지 확인해야 합니다. 사용자가 언어를 설치하기로 선택하는 경우, XPackageGetUserLocale은 다운로드될 때까지 해당 언어를 보고하지 않습니다.

타이틀에서 추가 언어 제공

일부 타이틀은 콘솔의 언어 설정과 무관하게 사용자가 (첫 게임 플레이의 일부로 또는 메뉴를 통해) 언어를 선택할 수 있게 합니다. 설치 시점에 Intelligent Delivery는 콘솔의 언어 설정과 layout.xml 파일에 지정된 언어에 따라 특정 패키지에 대해 하나의 언어만 설치합니다. 타이틀은 기본적으로 이 언어로 렌더링되어야 합니다. 또한 XBOX 셸에서는 보조 언어 설치를 허용합니다. 자체 UI를 사용하여 타이틀 내에서 이 옵션을 노출할 수 있습니다. 타이틀은 XPackageEnumeratePackages 메서드를 호출하여 설치 가능한 언어를 확인할 수 있습니다. 선택된 언어와 설치 소스에 따라 설치는 디스크 또는 XBOX Live에서 이루어질 수 있습니다. 사용자가 기본값 이외의 언어를 선택하면 타이틀은 해당 언어로 태그된 청크의 설치 상태를 확인하기 위해 XPackageFindChunkAvailability 메서드를 호출해야 합니다. 이 API는 다음 표에 표시된 값 중 하나와 함께 XPackageChunkAvailability 객체를 반환합니다. XPackageChunkAvailability가 Unavailable을 반환하면 지정된 언어가 온라인이나 디스크의 타이틀 버전에서 사용 가능하지 않은 것입니다. 사용자가 사용 가능하지만 현재 설치되지 않은 언어를 설치하기로 선택하면, 타이틀은 설치할 언어를 지정하는 XPackageChunkSelector 객체와 함께 XPackageInstallChunks 메서드를 호출해야 합니다. 이 호출은 사용자가 추가 다운로드 및 설치를 수락하도록 하는 시스템 렌더링 UI를 표시합니다. 타이틀은 반환된 설치 모니터 핸들과 함께 XPackageGetInstallationProgress 메서드나 XPackageRegisterInstallationProgressChanged 메서드를 사용하여 새 데이터의 다운로드 및 설치를 모니터링하거나 사용자가 추가 설치를 거부했는지 확인할 수 있습니다. 타이틀은 XPackageUninstallChunks 메서드를 호출하여 언어를 제거할 수 있습니다. 하나의 언어만 설치되어 있는 경우 이 호출은 자동으로 무시됩니다.

XBOX One Software Development Kit에서의 변경 사항

XBOX One Software Development Kit에서 Intelligent Delivery를 사용해 본 경험이 있다면, 언어가 선언되고 매핑되는 방식이 다르다는 점에 유의하세요. 청크에 Languages 특성을 추가한 경우 해당 언어는 MicrosoftGame.config에도 선언되어야 합니다. 언어에 설치할 청크를 식별하는 것은 이제 최적 일치 언어에 대한 단일 값을 기반으로 합니다. 예를 들어, layout 파일에 ‘en’으로 표시된 청크와 ‘en-US’로 표시된 다른 청크가 포함되어 있는 경우, 사용자의 언어가 ‘en-US’로 설정되어 있으면 ‘en’ 청크는 설치되지 않습니다. 이 레거시 동작을 원하는 경우 청크에 설치해야 하는 모든 언어(en;en-US)를 선언하세요.

참조 API 문서

함께 보기

Intelligent Delivery
마지막 수정일 2026년 10월 9일