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

# XPackageGetUserLocale

> XPackageGetUserLocale

# XPackageGetUserLocale

現在のユーザー ロケールを取得します。

## Syntax

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

### Parameters

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

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

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

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

### Return value

型: HRESULT

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

## Remarks

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

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

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

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

```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);
}
```

## Requirements

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

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

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

## Conceptual documentation

* [Intelligent Delivery: 言語指定子](https://docs.xbox.com/ja-jp/build/core-features/common/packaging/intelligentdelivery-language.md)
* [タイム センシティブなスレッド](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](https://docs.xbox.com/ja-jp/reference/system/xpackage/xpackage_members.md)\
[ストリーミング インストールと Intelligent Delivery](https://docs.xbox.com/ja-jp/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery.md)


## Related topics

- [コンソールのロケールと言語の判定](https://docs.xbox.com/ja-jp/build/game-principles/localization/determining-console-locale.md)
- [Economy v2 ローカリゼーション](https://docs.xbox.com/ja-jp/build/game-principles/localization.md)
- [XPackage (API の内容)](https://docs.xbox.com/ja-jp/reference/system/xpackage/xpackage_members.md)
- [Unity プロジェクトでの GDK API 用 C# ラッパーの使用](https://docs.xbox.com/ja-jp/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [サポートされる NLS 関数](https://docs.xbox.com/ja-jp/build/game-principles/localization/supported-nls-apis.md)
