ホームサンドボックスショーケースアプリ文書ブログ
    • English英語
      EN
    • русскийロシア語
      RU
    • 日本語日本語
      JA
    • françaisフランス語
      FR
    • 한국어韓国語
      KO
    • 中文中国語
      ZH
    • españolスペイン語
      ES
    • Deutschドイツ語
      DE
    • العربيةアラビア語
      AR
    • italianoイタリア語
      IT
    • British Englishイギリス英語
      EN-GB
    • portuguêsポルトガル語
      PT
    • हिन्दीヒンディー語
      HI
    • Türkçeトルコ語
      TR
    • polskiポーランド語
      PL
    • Indonesiaインドネシア語
      ID
    • Tiếng Việtベトナム語
      VI
    • українськаウクライナ語
      UK
    /
    フレームワークでドキュメントをフィルター
    Alt+←
    なぜIntlayer?
    始める
    コンセプト
    • Intlayerの仕組み
    • 設定
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • ビジュアルエディター
    • CMS
    • CI/CD統合
    • 翻訳複数形列挙条件性別挿入ファイルネスティングMarkdownHTML関数取得
    • ロケールごとのファイル
    • コンパイラー
    • 自動入力
    • テスト
    • バンドル最適化
    環境
    • Next.js 14とApp Router
      Next.js 15
      Next.js ロケールなし URL
      Next.jsとページルーター
      コンパイラ
    • Tanstack Start Solid
    • AstroおよびReact
      AstroおよびSvelte
      AstroおよびVue
      AstroおよびSolid
      AstroおよびPreact
      AstroおよびLit
      AstroおよびVanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • NuxtおよびVue
    • ViteおよびSolid
    • SvelteKit
    • ViteおよびPreact
    • ViteおよびVanilla JS
    • ViteおよびLit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React NativeとExpo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • LynxおよびReact
    Plugins
    • JSON
    • gettext (.po)
    VS Code拡張機能
    エージェント
    • MCPサーバー
    • エージェントのスキル
    リリース
    • v8
    • v7
    • v6
    ベンチマーク
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    ブログ
    質問をする
    1. Documentation
    2. Packages
    3. Next intlayer
    4. UseLocale
    作成:2024-08-11最終更新:2026-01-26
    このドキュメントをあなたの好きなAIアシスタントに参照してください
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します

    バージョン履歴

    1. "`onLocaleChange` のデフォルト値を `replace` に設定"
      v8.0.02026/1/26
    2. "履歴初期化"
      v5.5.102025/6/29

    このページのコンテンツはAIを使用して翻訳されました。

    英語の元のコンテンツの最新バージョンを見る
    このドキュメントを編集

    このドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。

    ドキュメントへのGitHubリンク
    コピー

    ドキュメントのMarkdownをクリップボードにコピー

    Next.js 統合: next-intlayer の useLocale フックドキュメント

    このセクションでは、next-intlayer ライブラリ内の Next.js アプリケーション向けにカスタマイズされた useLocale フックの詳細なドキュメントを提供します。これはロケールの変更とルーティングを効率的に処理するよう設計されています。

    Next.js での useLocale のインポート

    Next.js アプリケーションで useLocale フックを利用するには、以下のようにインポートします。

    javascript
    コードをコピー

    コードをクリップボードにコピー

    import { useLocale } from "next-intlayer"; // Next.js でロケールとルーティングを管理するために使用

    使い方

    Next.js コンポーネント内で useLocale フックを実装する方法は以下の通りです。

    src/components/LocaleSwitcher.tsx
    コードをコピー

    コードをクリップボードにコピー

    "use client";
    
    import type { FC } from "react";
    import { Locales } from "intlayer";
    import { useLocale } from "next-intlayer";
    
    const LocaleSwitcher: FC = () => {
      const { locale, defaultLocale, availableLocales, setLocale } = useLocale();
    
      return (
        <div>
          <h1>現在のロケール: {locale}</h1>
          <p>デフォルトロケール: {defaultLocale}</p>
          <select value={locale} onChange={(e) => setLocale(e.target.value)}>
            {availableLocales.map((loc) => (
              <option key={loc} value={loc}>
                {loc}
              </option>
            ))}
          </select>
        </div>
      );
    };

    パラメーター

    useLocale フックは以下のパラメーターを受け入れます。

    • onLocaleChange: ロケールが変更されたときに URL をどのように更新するかを決定する文字列です。"replace"、"push"、または "none" を指定できます。

      例を挙げてみましょう:

      1. あなたは現在 /fr/home にいます
      2. /fr/about へ移動します
      3. ロケールを /es/about に変更します
      4. ブラウザの「戻る」ボタンをクリックします

      onLocaleChange の値によって動作が異なります:

      • "replace" (デフォルト): 現在の URL を新しいローカライズされた URL に置き換え、Cookie を設定します。 -> 「戻る」ボタンは /es/home へ戻ります
      • "push": 新しいローカライズされた URL をブラウザの履歴に追加し、Cookie を設定します。 -> 「戻る」ボタンは /fr/about へ戻ります
      • "none": URL を変更せずに、クライアントコンテキストのロケールのみを更新し、Cookie を設定します。 -> 「戻る」ボタンは /fr/home へ戻ります
      • (locale) => void: Cookie を設定し、ロケールが変更されたときに呼び出されるカスタム関数を実行します。

        undefined オプションはデフォルトの動作です。新しいロケールへの移動には Link コンポーネントの使用を推奨しています。 例:

        tsx
        コードをコピー

        コードをクリップボードにコピー

        <Link href="/es/about" replace>  私たちについて</Link>

    戻り値

    • locale: React コンテキストで設定されている現在のロケール。
    • defaultLocale: 設定で定義された主要なロケール。
    • availableLocales: 設定で定義された利用可能なすべてのロケールのリスト。
    • setLocale: アプリケーションのロケールを変更し、それに応じてURLを更新する関数です。プレフィックスのルールを考慮し、設定に基づいてパスにロケールを追加するかどうかを管理します。next/navigation の useRouter を利用して、push や refresh といったナビゲーション機能を実装しています。
    • pathWithoutLocale: ロケールを除いたパスを返す計算プロパティです。URLを比較する際に便利です。例えば、現在のロケールが fr で、URLが fr/my_path の場合、ロケールを除いたパスは /my_path となります。現在のパスを取得するために next/navigation の usePathname を利用しています。

    結論

    next-intlayer の useLocale フックは、Next.js アプリケーションでロケールを管理するための重要なツールです。ロケールの保存、状態管理、URL の変更をシームレスに処理することで、複数のロケールに対応したアプリケーションを統合的に適応させるアプローチを提供します。

    なぜIntlayer?
    Alt+→

    このページについて

      ディスカッションは匿名で、よくある問題に対処するために定期的に確認されます。機能のアイデア、ドキュメントへのフィードバック、Intlayerに関することなど、お気軽にお聞かせください, このフィードバックをロードマップの作成と製品の改善に活用しています。

      import { useLocale } from "next-intlayer"; // Next.js でロケールとルーティングを管理するために使用
      <Link href="/es/about" replace>  私たちについて</Link>