Creation:2026-01-22Last update:2026-01-22

    الوثائق: دالة getCanonicalPath في intlayer

    الوصف

    تقوم الدالة getCanonicalPath بتحويل مسار URL مموّلد حسب اللغة (مثال: /a-propos) إلى مسار التطبيق القانوني الداخلي المقابل (مثال: /about). وهذا أمر أساسي للـrouters لمطابقة المسار الداخلي الصحيح بغض النظر عن لغة عنوان URL.

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

    • تدعم معلمات المسارات الديناميكية باستخدام صيغة [param].
    • تطابق المسارات المموّلة حسب اللغة مع قواعد إعادة الكتابة المخصصة المعرفة في إعداداتك.
    • تعيد المسار الأصلي إذا لم يتم العثور على قاعدة إعادة كتابة مطابقة.

    توقيع الدالة

    typescript
    getCanonicalPath(  localizedPath: string,         // مطلوب  locale: Locales,               // مطلوب  rewriteRules?: RoutingConfig['rewrite'] // اختياري): string

    المعلمات

    المعلمات المطلوبة

    • localizedPath: string

      • الوصف: المسار المحلي كما يظهر في المتصفح (على سبيل المثال، /a-propos).
      • النوع: string
      • مطلوب: نعم
    • locale: Locales

      • الوصف: اللوكال المستخدم للمسار الجاري حله.
      • النوع: Locales
      • مطلوب: نعم

    المعلمات الاختيارية

    • rewriteRules?: RoutingConfig['rewrite']
      • الوصف: كائن يعرّف قواعد إعادة كتابة مخصصة. إذا لم يتم تزويده، فإنه يأخذ القيمة الافتراضية من الخاصية routing.rewrite في تكوين مشروعك.
      • النوع: RoutingConfig['rewrite']
      • الافتراضي: configuration.routing.rewrite

    القيمة المرجعة

    • النوع: string
    • الوصف: المسار الرسمي الداخلي.

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

    الاستخدام الأساسي (مع التكوين)

    إذا كنت قد قمت بتكوين قواعد إعادة كتابة مخصصة في الملف intlayer.config.ts:

    typescript
    import { getCanonicalPath, Locales } from "intlayer";// التكوين: { '/about': { en: '/about', fr: '/a-propos' } }getCanonicalPath("/a-propos", Locales.FRENCH);// المخرجات: "/about"getCanonicalPath("/about", Locales.ENGLISH);// المخرجات: "/about"

    الاستخدام مع المسارات الديناميكية

    typescript
    import { getCanonicalPath, Locales } from "intlayer";// التكوين: { '/product/[id]': { en: '/product/[id]', fr: '/produit/[id]' } }getCanonicalPath("/produit/123", Locales.FRENCH);// المخرجات: "/product/123"

    قواعد إعادة الكتابة اليدوية

    You can also pass manual rewrite rules to the function:

    typescript
    import { getCanonicalPath, Locales } from "intlayer";const manualRules = {  "/contact": {    en: "/contact-us",    fr: "/contactez-nous",  },};getCanonicalPath("/contactez-nous", Locales.FRENCH, manualRules);// الناتج: "/contact"

    الدوال ذات الصلة

    • getLocalizedPath: يحوّل مسارًا canonical إلى ما يعادله محليًا.
    • getLocalizedUrl: ينشئ URL مُعربًا بالكامل (بما في ذلك البروتوكول والمضيف وبادئة اللغة).