استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "تعيين القيمة الافتراضية لـ `onLocaleChange` إلى `replace`"v8.0.026/1/2026
- "بداية التاريخ"v5.5.1029/6/2025
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
تكامل Next.js: توثيق هوك useLocale لحزمة next-intlayer
تقدم هذه القسم توثيقًا مفصلًا لهوك useLocale المصمم خصيصًا لتطبيقات Next.js ضمن مكتبة next-intlayer. تم تصميمه للتعامل مع تغييرات اللغة والتوجيه بكفاءة.
استيراد useLocale في Next.js
لاستخدام هوك useLocale في تطبيق Next.js الخاص بك، قم باستيراده كما هو موضح أدناه:
نسخ الكود إلى الحافظة
import { useLocale } from "next-intlayer"; // يستخدم لإدارة اللغات والتوجيه في Next.jsالاستخدام
إليك كيفية تنفيذ هوك useLocale داخل مكون Next.js:
نسخ الكود إلى الحافظة
"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".لنأخذ مثالاً:
- أنت في الموقع
/fr/home - قمت بالانتقال إلى
/fr/about - قمت بتغيير اللغة إلى
/es/about - قمت بالنقر على زر "الرجوع" في المتصفح
سيختلف السلوك بناءً على قيمة
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.