المؤلف:
    إنشاء:2026-01-21آخر تحديث:2026-01-21

    حزمة next-intlayer

    توفّر حزمة next-intlayer الأدوات اللازمة لدمج Intlayer في تطبيقات Next.js. تدعم كلًا من App Router و Page Router، وتشمل ميدلوير للتوجيه بناءً على اللغة (locale-based routing).

    التثبيت

    bash
    npm install next-intlayer
    

    التصدير

    الوسيط (Middleware)

    استيراد:

    tsx
    import "next-intlayer/middleware";
    
    الدالةالوصفالمستند المرتبط
    intlayerMiddlewareميدلوير Next.js للتعامل مع التوجيه والإعادات بناءً على اللغة. يكتشف اللغة من الرؤوس/الكوكيز ويعيد التوجيه إلى مسار اللغة المناسب.intlayerMiddleware

    أدوات التهيئة

    استيراد:

    tsx
    import "next-intlayer/server";
    
    الدالةالوصفالمستند المرتبط
    withIntlayerمساعد غير متزامن لتغليف تكوين Next.js، يضمن تجهيز قواميس Intlayer قبل البناء. يقوم بتحضير ملفات المحتوى وإعداد ملحقات webpack/SWC.-
    withIntlayerSyncمساعد متزامن لتغليف تكوين Next.js، مثالي للتكوينات التي لا يكون فيها الأسلوب غير المتزامن ممكنًا/مطلوبًا. لا يقوم بتحضير القواميس عند بدء الخادم.-

    الموفرون

    استيراد:

    tsx
    import "next-intlayer";
    

    أو

    tsx
    import "next-intlayer/server";
    
    المكوّنالوصفالوثيقة ذات الصلة
    IntlayerClientProviderمزود للمكونات على جهة العميل في App Router الخاص بـ Next.js. يغلّف IntlayerProvider من react-intlayer.-
    IntlayerServerProviderمزود للمكونات على جهة الخادم في Next.js (App Router). يوفر سياق اللغة (locale) على الخادم.-
    IntlayerServerغلاف على جهة الخادم لمحتوى Intlayer في App Router. يضمن التعامل الصحيح مع الـ locale في مكونات الخادم.-
    HTMLProviderمزود لإعدادات التدويل المتعلقة بـ HTML. يسمح بتجاوز المكونات لعلامات HTML.-
    HTMLRendererيعرض محتوى HTML مع مكونات مخصصة.-
    MarkdownProviderمزود لسياق عرض Markdown. يسمح بتجاوز المكونات المخصصة لعناصر Markdown.-
    MarkdownRendererيعرض محتوى Markdown مع مكونات مخصصة.-

    Hooks (جهة العميل)

    استيراد:

    tsx
    import "next-intlayer";
    

    يعيد تصدير معظم الـ hooks من react-intlayer.

    Hookالوصفالمستند ذو الصلة
    useIntlayerHook على جانب العميل يختار قاموسًا واحدًا حسب مفتاحه ويُعيد محتواه. يستخدم الـ locale من السياق إذا لم يتم توفيره.useIntlayer
    useDictionaryHook يحوّل كائن القاموس ويُرجع المحتوى للـ locale الحالي. يعالج ترجمات t()، والتعدادات (enumerations)، وما إلى ذلك.useDictionary
    useDictionaryAsyncHook يتعامل مع القواميس غير المتزامنة. يقبل خريطة قواميس مبنية على Promise ويقوم بحلّها وفقًا للـ locale الحالي.-
    useDictionaryDynamicHook يتعامل مع القواميس الديناميكية المحمّلة حسب المفتاح. يستخدم React Suspense داخليًا لحالات التحميل.-
    useLocaleهوك على جانب العميل للحصول على اللغة الحالية ودالة لتعيينها. محسّن لـ Next.js App Router مع دعم التنقل.useLocale
    usePathnameيُرجع مسار URL الحالي مع إزالة بادئة اللغة ومعلمات استعلام اللغة.usePathname
    useRewriteURLهوك على جانب العميل لإدارة إعادة كتابة عناوين URL. يقوم تلقائيًا بتحديث عنوان URL إذا وُجدت قاعدة إعادة كتابة محلية أكثر ملاءمة.useRewriteURL
    useLocalePageRouterHook مخصص لـ Next.js Page Router لإدارة الـ locale. يتعامل مع إعادة التوجيه وإعادة تحميل الصفحة عند تغيّر الـ locale.-
    useI18nHook يوفّر دالة ترجمة t() للوصول إلى محتوى متداخل بواسطة مفتاح. يُحاكي نمط i18next/next-intl.useI18n
    useIntlهوك يوفر كائن Intl مرتبطًا بالـ locale. يقوم بحقن الـ locale الحالية تلقائيًا ويستخدم تخزينًا مؤقتًا محسنًا.-
    useLoadDynamicهوك لتحميل قواميس ديناميكية باستخدام React Suspense. يقبل مفتاحًا ووعدًا (promise)، ويخزن النتائج في ذاكرة مؤقتة.-
    useHTMLRendererهوك للحصول على دالة عرض HTML مُكوّنة مسبقًا.-
    useMarkdownRendererهوك للحصول على دالة عرض Markdown مُكوّنة مسبقًا.-

    الدوال (على الخادم)

    استيراد:

    tsx
    import "next-intlayer/server";
    
    Functionالوصفالوثيقة ذات الصلة
    tنسخة تعمل على جهة الخادم من دالة الترجمة لـ Next.js App Router. تُعيد ترجمة المحتوى متعدد اللغات بحسب الـ locale الخاص بالخادم.translation
    getLocaleدالة مساعدة لاستخراج الـ locale الحالي من رؤوس (headers) وملفات تعريف الارتباط (cookies) في Next.js. مصممة لاستخدامها في Server Components، Server Actions، أو Route Handlers.-
    generateStaticParamsتولد معلمات ثابتة لطرق Next.js الديناميكية بناءً على الـ locales المكوّنة. تُعيد مصفوفة من كائنات locale للـ pre-rendering.-
    localeدالة للحصول على أو تعيين الـ locale في سياق الخادم (App Router). توفر إدارة الـ locale في Server Components.-

    الأنواع

    استيراد:

    tsx
    import "next-intlayer";
    
    النوعالوصف
    NextPageIntlayerنوع لصفحات Next.js مع دعم Intlayer. نوع عام يتضمن معامل locale.
    Next14PageIntlayerنوع لصفحات Next.js 14 مع دعم Intlayer.
    Next15PageIntlayerنوع لصفحات Next.js 15 مع دعم Intlayer.
    NextLayoutIntlayerنوع للتخطيطات (layouts) في Next.js مع دعم Intlayer. نوع عام يتضمن معامل locale.
    Next14LayoutIntlayerنوع لتخطيطات Next.js 14 مع دعم Intlayer.
    Next15LayoutIntlayerنوع لتخطيطات Next.js 15 مع دعم Intlayer.
    LocalParamsنوع لمعلمات المسار في Next.js مع locale. كائن يحتوي على الخاصية locale.
    LocalPromiseParamsنوع لمعلمات المسار في Next.js مع locale (الإصدار غير المتزامن). Promise تتحلل إلى كائن يحتوي على الخاصية locale.