다음을 통해 공유


XPackageGetUserLocale

현재 사용자 로캘을 가져옵니다.

구문

HRESULT XPackageGetUserLocale(
    size_t localeSize,
    char* locale
)  

매개 변수

localeSize _In_
형식: size_t

성공적인 경우, locale에 있는 문자열의 크기입니다.

locale _Out_writes_(localeSize)
형식: char*

성공 시, 사용자 로캘을 포함합니다.

반환 값

형식: HRESULT

HRESULT 성공 또는 오류 코드입니다.

설명

참고 항목

이 함수는 시간에 민감한 스레드에서 호출하는 것이 안전하지 않습니다. 자세한 내용은 시간에 민감한 스레드를 참조하세요.

이 함수를 사용하면 패키지 로캘과 가장 근접하게 일치하는 사용자 로캘을 가져옵니다. 패키지에 대한 로캘 정보를 선언하지 않은 경우, 이 함수는 성공하지만 locale에서 사용자 로캘을 반환하지 않습니다. 패키지 로캘이 설치된 사용자 로캘과 일치하는 경우, 이 함수는 성공하고 locale에서 사용자 로캘을 반환합니다. 패키지 로캘이 설치된 사용자 로캘과 정확하게 일치하지 않는 경우, 이 함수는 가장 일치하는 설치된 사용자 로캘을 찾으려고 시도합니다. 함수에서 근접한 일치 항목을 찾을 수 없는 경우, 오류가 발생 합니다. 그렇지 않으면, 함수가 성공하고 가장 일치하는 설치된 사용자 로캘이 locale에서 반환됩니다.

지능형 전송을 사용하여 게임에 설치된 언어를 제어하는 경우 사용자가 콘솔에 설정한 로캘에 현재 설치되지 않은 청크가 있을 수 있습니다. 이 작업을 수행하려면 게임에 필요한 청크가 설치되어 있는지 확인하고 그렇지 않은 경우 다른 언어로 대체해야 합니다. 로캘에 대한 상당한 지식을 요구하는 절차이고 해당 언어가 가장 가까운 언어로 대체되는 방법입니다. 이 함수를 사용하면 로캘 분석과 대체 절차를 직접 구현하지 않고도 현재 사용자 로캘 또는 가장 일치하는 대체를 얻을 수 있습니다.

다음의 코드 샘플은 이 함수를 사용하는 방법을 보여줍니다.

char gameLocale[LOCALE_NAME_MAX_LENGTH];

// Get the best user locale that is installed
HRESULT hr = XPackageGetUserLocale(_countof(gameLocale), gameLocale);
if (SUCCEEDED(hr))
{
    printf("Game using locale: %s\n", gameLocale);
}

요건

헤더: XPackage.h

라이브러리: xgameruntime.lib

지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔

참고 항목

XPackage
스트리밍 설치 및 지능형 전송