ГлавнаяПесочницаВитринаПриложениеДокументБлог
    • 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 без locale URL
      Next.js и Page Router
      Compiler
    • 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
    Создание:2025-08-23Последнее обновление:2026-01-26
    Ссылайтесь на этот документ на ваш любимый ассистент AI
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    Спросите свой вопрос и получите сводку документа, используя эту страницу и выбранного вами поставщика AI

    История версий

    1. "Установлено значение `onLocaleChange` по умолчанию на `replace`"
      v8.0.026.01.2026
    2. "Инициализация истории"
      v5.5.1029.06.2025

    Содержимое этой страницы было переведено с помощью ИИ.

    Смотреть последнюю версию оригинального контента на английском
    Изменить эту документацию

    Если у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.

    Ссылка на документацию GitHub
    Копировать

    Копировать Markdown документа в буфер обмена

    Интеграция с Next.js: Документация по хуку useLocale для next-intlayer

    Этот раздел содержит подробную документацию по хуку useLocale, предназначенному для приложений Next.js в библиотеке next-intlayer. Он разработан для эффективного управления изменениями локали и маршрутизацией.

    Импорт useLocale в Next.js

    Чтобы использовать хук useLocale в вашем приложении Next.js, импортируйте его следующим образом:

    javascript
    Копировать код

    Копировать код в буфер обмена

    import { useLocale } from "next-intlayer"; // Используется для управления локалями и маршрутизацией в Next.js

    Использование

    Вот как реализовать хук useLocale внутри компонента Next.js:

    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 и устанавливает куки. -> Кнопка «назад» вернет вас на /es/home
      • "push": Добавляет новый локализованный URL в историю браузера и устанавливает куки. -> Кнопка «назад» вернет вас на /fr/about
      • "none": Только обновляет локаль в контексте клиента и устанавливает куки без изменения URL. -> Кнопка «назад» вернет вас на /fr/home
      • (locale) => void: Устанавливает куки и вызывает пользовательскую функцию при изменении локали.

        Опция undefined является поведением по умолчанию, так как мы рекомендуем использовать компонент Link для перехода на новую локаль. Пример:

        tsx
        Копировать код

        Копировать код в буфер обмена

        <Link href="/es/about" replace>  О нас</Link>

    Возвращаемые значения

    • locale: Текущая локаль, установленная в контексте React.
    • defaultLocale: Основная локаль, определённая в конфигурации.
    • availableLocales: Список всех доступных локалей, определённых в конфигурации.
    • setLocale: Функция для изменения локали приложения и соответствующего обновления URL. Она учитывает правила префиксов, добавлять ли локаль в путь или нет, в зависимости от конфигурации. Использует useRouter из next/navigation для навигационных функций, таких как push и refresh.
    • pathWithoutLocale: Вычисляемое свойство, возвращающее путь без локали. Полезно для сравнения URL. Например, если текущая локаль - fr, а URL - fr/my_path, путь без локали будет /my_path. Использует usePathname из next/navigation для получения текущего пути.

    Заключение

    Хук useLocale из next-intlayer является важным инструментом для управления локалями в приложениях Next.js. Он предлагает интегрированный подход для адаптации вашего приложения под несколько локалей, обеспечивая управление хранением локали, состоянием и изменениями URL без сбоев.

    Почему Intlayer?
    Alt+→

    На этой странице

      Обсуждения анонимны и регулярно просматриваются для решения распространённых проблем. Не стесняйтесь делиться идеями функций, отзывами о документации или чем-либо, связанным с Intlayer, мы используем эту информацию для формирования нашей дорожной карты и улучшения продукта.

      import { useLocale } from "next-intlayer"; // Используется для управления локалями и маршрутизацией в Next.js
      <Link href="/es/about" replace>  О нас</Link>