# 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)を参照してください。