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

    توثيق مكوّن intlayer لـ Fastify

    يقوم المكوّن intlayer لـ Fastify باكتشاف لغة المستخدم (locale) ويزيّن كائن الطلب بدوال Intlayer. كما يتيح استخدام دوال الترجمة العامة ضمن سياق الطلب.

    الاستخدام

    import Fastify from "fastify";
    import { intlayer } from "fastify-intlayer";
    
    const fastify = Fastify();
    
    fastify.register(intlayer);
    
    fastify.get("/", async (req, reply) => {
      const content = req.intlayer.t({
        ar: "مرحبًا",
        en: "Hello",
        fr: "Bonjour",
      });
    
      return content;
    });

    الوصف

    يقوم المكوّن الإضافي بالمهام التالية:

    1. كشف اللغة: يقوم بتحليل الطلب (الرؤوس، الكوكيز، إلخ) لتحديد اللغة المفضلة لدى المستخدم.
    2. تزيين الطلب: يضيف خاصية intlayer إلى كائن FastifyRequest، تحتوي على:
      • locale: اللغة المكتشفة.
      • t: دالة ترجمة.
      • getIntlayer: دالة لاسترجاع القواميس.
    3. إدارة السياق: يستخدم cls-hooked لإدارة سياق غير متزامن، مما يسمح لدوال Intlayer العامة بالوصول إلى اللغة الخاصة بكل طلب.