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

    حزمة astro-intlayer

    توفر حزمة astro-intlayer الأدوات اللازمة لدمج Intlayer في تطبيقات Astro. حيث تقوم بتهيئة التوجيه المستند إلى اللغة، وإدارة القواميس، وإعادة كتابة الصفحات أثناء البناء، وبرمجيات الطلب الوسيطة، والخطافات للوصول إلى المحتوى متعدد اللغات عبر مكونات .astro المعروضة على الخادم وسكربتات العميل.

    التثبيت

    bash
    npm install astro-intlayer
    

    الصادرات

    التكامل

    توفر حزمة astro-intlayer تكامل Astro يقوم بإعداد Intlayer في مشروعك.

    استيراد:

    tsx
    import { intlayer } from "astro-intlayer";
    

    أو استيراد افتراضي في astro.config.mjs:

    ts
    import { defineConfig } from "astro/config";
    import intlayer from "astro-intlayer";
    
    export default defineConfig({
      integrations: [intlayer()],
    });
    
    الدالةالوصفالمستند ذو الصلة
    intlayerتكامل Astro يجهز القواميس، ويهيئ إضافات Vite (الأسماء المستعارة، وكيل التوجيه، التقليم)، ويسجل تلقائيًا برمجية الطلب الوسيطة، ويُخرج الصفحات المعروضة مسبقًا عبر عناوين URL معاد كتابتها.intlayer

    الخطافات (الخادم والعميل)

    استيراد:

    tsx
    import { useIntlayer, useDictionary, useLocale } from "astro-intlayer";
    
    الخطافالوصفالمستند ذو الصلة
    useIntlayerيختار قاموسًا واحدًا بواسطة مفتاحه ويُرجع محتواه المترجم. في واجهة .astro، يقرأ لغة الطلب من Astro.locals. وفي كود <script>، يقرأ من متجر العميل.useIntlayer
    useDictionaryيحول كائن قاموس ويُرجع المحتوى للغة المحددة. يعمل في واجهة المكونات وسكربتات العميل.useDictionary
    useLocaleيُرجع اللغة الحالية، واللغة الافتراضية، واللغات المتاحة، ودالة لتحديث اللغة.useLocale

    البرمجية الوسيطة (astro-intlayer/middleware)

    استيراد:

    tsx
    import { onRequest } from "astro-intlayer/middleware";
    
    التصديرالنوعالوصفالمستند ذو الصلة
    onRequestMiddlewareHandlerبرمجية وسيطة لـ Astro تكتشف لغة الطلب وتربط Astro.locals.intlayer. يتم تسجيلها تلقائيًا بواسطة intlayer()، أو استيرادها يدويًا لدمجها.onRequest

    الأدوات المساعدة

    استيراد:

    tsx
    import { getIntlayerLocals } from "astro-intlayer";
    
    الدالةالوصفالمستند ذو الصلة
    getIntlayerLocalsدالة مساعدة لاسترداد كائن IntlayerLocals الحالي من نطاق تخزين الطلب خارج Astro.locals.-

    أدوات العميل (astro-intlayer/client)

    استيراد:

    tsx
    import {
      useIntlayer,
      useDictionary,
      useDictionaryDynamic,
      useLocale,
      useLocaleStorage,
      useLocaleCookie,
      getIntlayer,
      getDictionary,
      installIntlayer,
      setLocaleInStorage,
      setLocaleCookie,
      localeInStorage,
      localeCookie,
    } from "astro-intlayer/client";
    

    عند استيرادها في المتصفح أو داخل وسوم <script> للعميل، يتم تعيين astro-intlayer تلقائيًا إلى astro-intlayer/client (المدعوم بواسطة vanilla-intlayer)، مما يوفر أدوات استرداد القواميس والاشتراك في المتجر وحفظ اللغة على جانب العميل.

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

    استيراد:

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

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

    استيراد:

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

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

    استيراد:

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

    الأنواع

    استيراد:

    tsx
    import type {
      IntlayerLocals,
      UseLocaleProps,
      UseLocaleResult,
    } from "astro-intlayer";
    
    النوعالوصف
    IntlayerLocalsالكائن المرفق بـ Astro.locals.intlayer والذي يحتوي على locale و defaultLocale و availableLocales.
    UseLocalePropsخصائص التهيئة الاختيارية المقبولة بواسطة useLocale().
    UseLocaleResultنوع القيمة المرجعة لـ useLocale()، والذي يوفر خصائص اللغة وطرق التحديث.