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

    التوثيق: دالة getIntlayerAsync في intlayer

    الوصف

    تقوم دالة getIntlayerAsync باختيار قاموس واحد حسب مفتاحه وحل محتواه للغة معينة، محملة تلك اللغة وحدها.

    إنها النظير غير المتزامن لـ getIntlayer، مخصصة للأماكن التي يتم فيها قراءة القاموس خارج العرض — منشئات head / metadata للمسار، loaders، server functions.

    حيث يسحب getIntlayer القاموس المدمج الذي يحتوي على كل لغة، فإن build plugins (@intlayer/babel, @intlayer/swc) تعيد كتابة هذا الاستدعاء إلى getDictionaryAsync(loaderMap, key, locale)، مشيرة إلى أجزاء كل لغة في .intlayer/dynamic_dictionaries/. وبالتالي، يحمل bundle فقط اللغة المطلوبة فعلياً.

    بدون هذه البرامج المساعدة — بناء غير محسّن — يتم حل الاستدعاء من خلال سجل القاموس المتزامن بدلاً من ذلك: نفس المحتوى، بدون تقسيم اللغة.

    الميزات الرئيسية:

    • نفس المفاتيح المكتوبة والمحددات والمحتوى المُرجع مثل getIntlayer
    • يحمل فقط جزء اللغة المطلوب في الإنشاءات المحسّنة
    • الاستدعاءات المتزامنة لنفس الجزء تشارك تحميلاً واحداً
    • آمن للاستخدام في منشئات async metadata و loaders و server functions

    Function Signature

    typescript
    getIntlayerAsync(
      key: DictionaryKeys,                        // مطلوب
      localeOrSelector?: LocalesValues | DictionarySelector, // اختياري
      plugins?: Plugins[]                         // اختياري
    ): Promise<DeepTransformContent<...>>
    

    المعاملات

    • key: DictionaryKeys

      • الوصف: مفتاح القاموس المراد قراءته، كما هو معرّف في ملفات المحتوى الخاصة بك.
      • النوع: DictionaryKeys — اتحاد لكل مفتاح قاموس معلن.
      • مطلوب: نعم
    • localeOrSelector: LocalesValues | DictionarySelector

      • الوصف: الإعدادات المحلية لتفسير المحتوى بها، أو كائن محدد لـ القواميس الديناميكية.
        • 'fr' — إعدادات محلية
        • { item: 2 } — عنصر مجموعة (تجاهل item للحصول على كل عنصر كمصفوفة)
        • { variant: 'black-friday' }متغير مسمى (تجاهل للحصول على الإعدادات default)
        • { variant: { id: 'prod_abc', userId: '123' } } — متغير منظم
        • أي محدد يمكن أن يحمل إعدادات محلية: { item: 2, locale: 'fr' }
      • النوع: LocalesValues | DictionarySelector
      • مطلوب: لا (اختياري) — الافتراضي هو defaultLocale المُكوّن.
    • plugins: Plugins[]

      • الوصف: محولات عقدة مخصصة تحل محل مكونات المُفسّر الأساسية. للاستخدام المتقدم فقط.
      • النوع: Plugins[]
      • مطلوب: لا (اختياري)

    المخرجات

    • Type: Promise<Content> — وعد يتم حله إلى المحتوى المفسر للقاموس، مكتوب من إعلانك.

    مثال الاستخدام

    الاستخدام الأساسي

    typescript
    import { getIntlayerAsync } from "intlayer";
    
    const { title } = await getIntlayerAsync("app", "fr"); // "Bonjour"
    

    getIntlayer مقابل getIntlayerAsync

    getIntlayer getIntlayerAsync
    الإرجاع المحتوى وعد بالمحتوى
    القاموس المحمّل القاموس المدمج (جميع اللغات) جزء اللغة المطلوبة فقط
    الأنسب للـ العرض، مسارات الكود المتزامنة البيانات الوصفية، المحملات، دوال الخادم
    هل يتطلب plugin؟ لا لا — تقسيم كل لغة يتطلب build plugins

    كلاهما يقبل نفس المعاملات ويعيد نفس المحتوى: التبديل من أحدهما إلى الآخر يغير فقط متى وكم يتم تحميله.


    الوظائف ذات الصلة

    • getIntlayer: المكافئ المتزامن الذي يقرأ القاموس المدمج.
    • getDictionaryAsync: الدالة منخفضة المستوى التي تعيد كتابتها إضافات البناء إلى هذا الاستدعاء.
    • getLocale: يكتشف لغة الطلب الوارد.

    TypeScript

    typescript
    function getIntlayerAsync<
      const T extends DictionaryKeys,
      const A extends LocalesValues | DictionarySelector = DeclaredLocales,
    >(
      key: T,
      localeOrSelector?: A,
      plugins?: Plugins[]
    ): Promise<
      DeepTransformContent<
        DictionaryRegistryResult<T, A>,
        IInterpreterPluginState,
        ExtractSelectorLocale<A>
      >
    >;