> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XPackageGetUserLocale

> XPackageGetUserLocale

# XPackageGetUserLocale

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

<a id="syntaxSection" />

## 구문

```cpp theme={null}
HRESULT XPackageGetUserLocale(
    size_t localeSize,
    char* locale
)  
```

<a id="parametersSection" />

### 매개 변수

*localeSize*   \_In\_\
형식: size\_t

성공 시 *locale*의 문자열 크기입니다.

*locale*   \_Out\_writes\_(localeSize)\
형식: char\*

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

<a id="retvalSection" />

### 반환 값

형식: HRESULT

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

<a id="remarksSection" />

## 설명

<Note>이 함수는 시간에 민감한 스레드에서 호출해서는 안전하지 않습니다. 자세한 내용은 [시간에 민감한 스레드](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)를 참조하세요.</Note>

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

Intelligent Delivery를 사용하여 게임에 설치되는 언어를 제어하는 경우, 사용자가 콘솔에서 설정한 로캘에 현재 설치되지 않은 청크가 있을 수 있습니다. 이러한 경우 게임은 항상 필요한 청크가 설치되었는지 확인하고, 그렇지 않은 경우 다른 언어로 대체해야 합니다. 이는 로캘과 로캘이 가장 가까운 언어로 대체되는 방식에 대한 상당한 지식이 필요한 절차입니다. 이 함수는 로캘 분석 및 대체 절차를 직접 구현할 필요 없이 현재 사용자 로캘 또는 가장 근접하게 일치하는 대체 로캘을 가져오는 방법을 제공합니다.

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

```cpp theme={null}
char gameLocale[LOCALE_NAME_MAX_LENGTH];

// 설치된 최상의 사용자 로캘을 가져옵니다
HRESULT hr = XPackageGetUserLocale(_countof(gameLocale), gameLocale);
if (SUCCEEDED(hr))
{
    printf("Game using locale: %s\n", gameLocale);
}
```

<a id="requirementsSection" />

## 요구 사항

**헤더:** XPackage.h

**라이브러리:** xgameruntime.lib

**지원 플랫폼:** Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔

<a id="seealsoSection" />

## 개념 문서

* [Intelligent Delivery: 언어 지정자](/build/core-features/common/packaging/intelligentdelivery-language)
* [시간에 민감한 스레드](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)
* [콘솔 로캘 및 언어 확인](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/game-principles/localization/determining_console_locale)

## 함께 보기

[XPackage](/reference/system/xpackage/xpackage_members)\
[스트리밍 설치 및 Intelligent Delivery](/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery)


## Related topics

- [콘솔 로케일 및 언어 확인](/ko/build/game-principles/localization/determining-console-locale.md)
- [현지화 및 국제화 개요](/ko/build/game-principles/localization.md)
- [XPackage](/ko/reference/system/xpackage/xpackage_members.md)
- [GDK용 Unity C# API 래퍼](/ko/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [지원되는 NLS 함수](/ko/build/game-principles/localization/supported-nls-apis.md)
