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

    حزمة remix-intlayer

    توفر حزمة remix-intlayer الأدوات اللازمة لدمج Intlayer في تطبيقات Remix 3. وهي مبنية بالكامل على معايير الويب (Request و Response و Headers و URL)، وتقدم برمجية وسيطة للموجّه للتوجيه المستند إلى اللغة وعمليات إعادة الكتابة الداخلية، وتخزين السياق، والخطافات، وأدوات التنسيق لإدارة سلسة للمحتوى متعدد اللغات.

    التثبيت

    bash
    npm install remix-intlayer
    

    الصادرات

    البرمجيات الوسيطة (Middleware)

    استيراد:

    tsx
    import { intlayer } from "remix-intlayer";
    
    الدالةالوصفالمستند المرتبط
    intlayerبرمجية وسيطة لموجّه Remix 3 تتعامل مع التوجيه المستند إلى اللغة (عمليات إعادة التوجيه وإعادة الكتابة الداخلية)، وتحدد لغة الطلب، وتثبتها في الكوكيز/الترويسات، وتنشئ نطاق سياق الطلب.intlayer

    السياق (Context)

    استيراد:

    tsx
    import { Intlayer, INTLAYER_CONTEXT_PROPERTY } from "remix-intlayer";
    
    التصديرالنوعالوصفالمستند المرتبط
    IntlayerContextKeyمفتاح RequestContext الذي يحتفظ بـ IntlayerState (locale و defaultLocale و availableLocales) للطلب الحالي.Intlayer
    INTLAYER_CONTEXT_PROPERTYstringاسم الخاصية ('intlayer') المثبتة مباشرة على سياق الطلب، مما يسمح بالوصول عبر context.intlayer وكذلك context.get(Intlayer).-

    الخطافات (Hooks)

    استيراد:

    tsx
    import { useIntlayer, useDictionary, useLocale } from "remix-intlayer";
    
    الخطافالوصفالمستند المرتبط
    useIntlayerيختار قاموسًا واحدًا بواسطة مفتاحه ويُرجع محتواه للغة الطلب الجاري التعامل معه. يقرأ تلقائيًا من سياق الطلب / التخزين.useIntlayer
    useDictionaryيُحوّل كائن قاموس مستورد ويُرجع محتواه للغة الطلب الحالية. يدعم تجاوزات المحدّد (selector overrides).useDictionary
    useLocaleيُرجع اللغة المحددة للطلب الحالي، بالإضافة إلى defaultLocale و availableLocales التي تم تكوينها.useLocale

    الأدوات المساعدة (Utilities)

    استيراد:

    tsx
    import { createLocaleRouting, getIntlayerState } from "remix-intlayer";
    
    الدالةالوصفالمستند المرتبط
    createLocaleRoutingدالة نقية تحسب قرارات توجيه اللغة (redirect أو rewrite أو pass) بالنظر إلى الطلب والتكوين والخيارات.-
    getIntlayerStateتقرأ IntlayerState الحالية (locale و defaultLocale و availableLocales) من نطاق طلب AsyncLocalStorage خارج مكونات React.-

    أدوات التنسيق (remix-intlayer/format)

    استيراد:

    tsx
    import {
      useIntl,
      useDate,
      useNumber,
      useCurrency,
      usePercentage,
      useRelativeTime,
      useList,
      useUnit,
      useCompact,
    } from "remix-intlayer/format";
    
    الخطافالوصف
    useIntlيُرجع مثيل Intl مرتبطًا بلغة الطلب مع إمكانيات التخزين المؤقت والاشتراك.
    useDateيُرجع دالة تنسيق التاريخ مرتبطة مسبقًا بلغة الطلب (Intl.DateTimeFormat).
    useNumberيُرجع دالة تنسيق الأرقام مرتبطة مسبقًا بلغة الطلب (Intl.NumberFormat).
    useCurrencyيُرجع دالة تنسيق العملة مرتبطة مسبقًا بلغة الطلب.
    usePercentageيُرجع دالة تنسيق النسبة المئوية مرتبطة مسبقًا بلغة الطلب.
    useRelativeTimeيُرجع دالة تنسيق الوقت النسبي مرتبطة مسبقًا بلغة الطلب (Intl.RelativeTimeFormat).
    useListيُرجع دالة تنسيق القوائم مرتبطة مسبقًا بلغة الطلب (Intl.ListFormat).
    useUnitيُرجع دالة تنسيق الوحدات مرتبطة مسبقًا بلغة الطلب.
    useCompactيُرجع دالة تنسيق الأرقام المضغوطة مرتبطة مسبقًا بلغة الطلب (مثل 1.5K).

    أدوات HTML (remix-intlayer/html)

    استيراد:

    tsx
    import { renderHTML, useHTML, useHTMLRenderer } from "remix-intlayer/html";
    
    التصديرالنوعالوصف
    renderHTMLFunctionدالة مساعدة مستقلة لعرض عقد HTML خارج واجهة المستخدم.
    useHTMLHookخطاف للحصول على سياق وتكوين موفر HTML.
    useHTMLRendererHookخطاف للحصول على دالة عارض HTML مهيأة مسبقًا.

    أدوات Markdown (remix-intlayer/markdown)

    استيراد:

    tsx
    import {
      compileMarkdown,
      renderMarkdown,
      parseMarkdown,
      useMarkdown,
      useMarkdownRenderer,
    } from "remix-intlayer/markdown";
    
    التصديرالنوعالوصف
    compileMarkdownFunctionتُصرّف سلاسل Markdown إلى تمثيل مهيكل.
    renderMarkdownFunctionتعرض محتوى Markdown في عقد إخراج.
    parseMarkdownFunctionتُحلل محتوى Markdown الخام إلى شجرة بناء الجملة المجردة (AST).
    useMarkdownHookخطاف للحصول على سياق موفر Markdown.
    useMarkdownRendererHookخطاف للحصول على دالة عارض Markdown مهيأة مسبقًا.

    الأنواع (Types)

    استيراد:

    tsx
    import type {
      IntlayerState,
      IntlayerMiddlewareOptions,
      LocaleRoutingOptions,
      LocaleRoutingAction,
      LocaleRoutingRequest,
      UseLocaleResult,
    } from "remix-intlayer";
    
    النوعالوصف
    IntlayerStateكائن الحالة الذي يحتفظ بـ locale و defaultLocale و availableLocales والمخزن في سياق طلب Remix.
    IntlayerMiddlewareOptionsخيارات التكوين الممررة إلى البرمجية الوسيطة intlayer().
    LocaleRoutingOptionsخيارات لتخصيص بادئة اللغة والاكتشاف وإعادة التوجيه.
    LocaleRoutingActionاتحاد مميز يمثل قرار التوجيه: redirect أو rewrite أو pass.
    LocaleRoutingRequestتمثيل أدنى للطلب مطلوب بواسطة createLocaleRouting.
    UseLocaleResultنوع الإرجاع لـ useLocale()، يحتوي على locale و defaultLocale و availableLocales.