> ## 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" />

## Syntax

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

<a id="parametersSection" />

### Parameters

*localeSize*   \_In\_\
型: size\_t

成功時、*locale* 内の文字列のサイズ。

*locale*   \_Out\_writes\_(localeSize)\
型: char\*

成功時、ユーザー ロケールを含みます。

<a id="retvalSection" />

### Return value

型: HRESULT

HRESULT の成功またはエラー コード。

<a id="remarksSection" />

## Remarks

<Note>この関数はタイム センシティブ スレッドで呼び出すのは安全ではありません。詳細については、[タイム センシティブ スレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads) を参照してください。</Note>

この関数は、パッケージ ロケールに最も近く一致するユーザー ロケールを取得します。パッケージにロケール情報が宣言されていない場合、この関数は成功しますが、`locale` にユーザー ロケールは返されません。パッケージ ロケールがインストールされたユーザー ロケールと一致する場合、関数は成功し、そのユーザー ロケールを `locale` に返します。パッケージ ロケールがインストールされたユーザー ロケールと正確に一致しない場合、関数は最も近く一致するインストール済みユーザー ロケールを見つけようとします。関数が近い一致を見つけられない場合、エラーが発生します。それ以外の場合、関数は成功し、最も近く一致するインストール済みユーザー ロケールが `locale` に返されます。

インテリジェント デリバリーを使用してゲーム用にインストールする言語を制御している場合、ユーザーが本体に設定したロケールに、現在インストールされていないチャンクが含まれている可能性があります。これにより、ゲームは必要なチャンクがインストールされていることを常に確認し、インストールされていない場合は別の言語にフォールバックする必要があります。この手順には、ロケールとそれらが最も近い言語にフォールバックする方法についてのかなりの知識が必要です。この関数は、独自のロケール分析とフォールバック手順を実装する必要なしに、現在のユーザー ロケール、または最も近い一致するフォールバックを取得する方法を提供します。

次のコード サンプルは、この関数の使用方法を示しています。

```cpp theme={null}
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);
}
```

<a id="requirementsSection" />

## Requirements

**ヘッダー:** XPackage.h

**ライブラリ:** xgameruntime.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体および XBOX Series 本体

<a id="seealsoSection" />

## Conceptual documentation

* [インテリジェント デリバリー: 言語指定子](/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)

## See also

[XPackage](/reference/system/xpackage/xpackage_members)\
[ストリーミング インストールとインテリジェント デリバリー](/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery)


## Related topics

- [コンソールのロケールと言語の判定](/ja-jp/build/game-principles/localization/determining-console-locale.md)
- [ローカライズとグローバライゼーションの概要](/ja-jp/build/game-principles/localization.md)
- [XPackage](/ja-jp/reference/system/xpackage/xpackage_members.md)
- [GDK 向け Unity C# API ラッパー](/ja-jp/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [サポートされる NLS 関数](/ja-jp/build/game-principles/localization/supported-nls-apis.md)
