# gt-next: General Translation Next.js SDK: useRegionSelector
URL: https://generaltranslation.com/ja/docs/next/api/helpers/use-region-selector.mdx
---
title: useRegionSelector
description: useRegionSelector フックの API リファレンス
---
{/* 自動生成: 直接編集しないでください。代わりに content/docs-templates/ のテンプレートを編集してください。 */}
## 概要
`useRegionSelector` フックは、カスタムのリージョンセレクター UI コンポーネントの実装に必要なデータとハンドラーを提供します。現在のリージョン、利用可能なリージョンの一覧、リージョンのメタデータ、さらにリージョンまたはロケールを更新するための関数を返します。
`useRegionSelector` はクライアントサイドのフックであり、*クライアントサイド コンポーネントでのみ使用できます*。
アプリが [``](/docs/next/api/components/gtprovider) でラップされていることを確認してください。
## リファレンス
### パラメータ
省略可能な設定オブジェクトです。
| パラメータ | 型 | デフォルト | 説明 |
| ------------------------------- | ---------- | ------ | --------------------------------------------------------------------------------------------------------------- |
| `regions` | `string[]` | — | 表示する ISO 3166 のリージョンコードの配列 (省略可) 。指定しない場合、リージョンはサポートされているロケールから推定されます。 |
| `customMapping` | `object` | — | リージョンの表示名、絵文字、または関連付けられたロケールを上書きするための省略可能なマッピングです。値には、文字列 (表示名) または `name`、`emoji`、`locale` プロパティを持つオブジェクトを指定できます。 |
| `prioritizeCurrentLocaleRegion` | `boolean` | `true` | `true` の場合、現在のロケールに対応するリージョンがリスト内で優先されます。 |
| `sortRegionsAlphabetically` | `boolean` | `true` | `true` の場合、リージョンは表示名のアルファベット順に並べ替えられます。 |
### 戻り値
以下を含むオブジェクトです。
| Field | Type | Description |
| ------------ | --------------------------------------- | ----------------------------------------------------------- |
| `region` | `string \| undefined` | 現在選択されているリージョンコード。 |
| `setRegion` | `(region: string \| undefined) => void` | 選択中のリージョンを更新する関数。 |
| `regions` | `string[]` | 使用可能なリージョンコードの配列。 |
| `regionData` | `Map` | リージョンコードを表示用データ (`code`、`name`、`emoji`、`locale`) に対応付けたマップ。 |
| `locale` | `string` | 現在のロケール。 |
| `setLocale` | `(locale: string) => void` | ロケールを更新する関数。 |
***
## 例
### 独自のリージョンセレクターを作成する
```jsx title="CustomRegionSelector.jsx" copy
'use client';
import { useRegionSelector } from 'gt-next';
export default function CustomRegionSelector() {
const { region, setRegion, regions, regionData } = useRegionSelector({ // [!code highlight]
customMapping: { US: { name: "United States", emoji: "🇺🇸" } }, // [!code highlight]
}); // [!code highlight]
return (
);
}
```
***
## 注記
* `regions` が指定されていない場合、利用可能なリージョンは [`gt.config.json`](/docs/next/api/config/gt-config-json) で設定されているサポート対象のロケールから推定されます。
* あらかじめ用意されたリージョンセレクターを使う場合は、[``](/docs/next/api/components/region-selector) コンポーネントを使用してください。
## 次のステップ
* すぐに使えるドロップダウンコンポーネントについては、[``](/docs/next/api/components/region-selector)を参照してください。
* 現在のリージョンを取得するには、[`useRegion`](/docs/next/api/helpers/use-region)を参照してください。
* ロケール版については、[`useLocaleSelector`](/docs/next/api/helpers/use-locale-selector)を参照してください。