الرئيسيةبيئة اختبارمعرض الأعمالتطبيقوثيقةمدونة
    • 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 وموجه التطبيق
      Next.js 15
      Next.js بدون locale 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.026‏/1‏/2026
    2. "بداية التاريخ"
      v5.5.1029‏/6‏/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 الجديد المترجم، ويقوم بتعيين ملف تعريف الارتباط (cookie). -> زر "الرجوع" سينقلك إلى /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>