استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "تنفيذ قواعد إعادة كتابة URL مخصصة"v8.0.022/1/2026
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
التوثيق: الدالة getLocalizedPath في intlayer
الوصف
تقوم دالة getLocalizedPath بتحويل المسار القانوني (المسار الداخلي للتطبيق) إلى نظيره المحلي بناءً على الـ locale وقواعد إعادة الكتابة (rewrite rules) المقدمة. تكون هذه الدالة مفيدة بشكل خاص عند إنشاء عناوين URL صديقة لمحركات البحث تختلف بحسب اللغة.
إنه نظير نسبي لـ getLocalizedUrl — بالنسبة للمدخل النسبي يعيد كلاهما نفس القيمة. على عكس getLocalizedUrl، لا يعيد أبداً عنوان URL مطلق: يتم تجاهل إعداد domains، لذا فإن اللغة المقدمة من نطاقها الخاص لا تزال تسفر عن مسار. يتم قبول المدخل المطلق، لكن يتم حذف أصله — يتم الاحتفاظ فقط بمساره وسلسلة الاستعلام والـ hash.
الميزات الرئيسية:
- يدعم معلمات المسارات الديناميكية باستخدام صيغة
[param]. - يحوّل المسارات وفقًا لقواعد إعادة الكتابة المخصصة (rewrite rules) المعرفة في تكوين المشروع.
- يتعامل تلقائيًا مع الرجوع إلى المسار القانوني إذا لم يتم العثور على قاعدة إعادة كتابة للـ locale المحدد.
Function Signature
نسخ الكود إلى الحافظة
Parameters
المعلمات المطلوبة
canonicalPath: string- الوصف: المسار الداخلي للتطبيق (على سبيل المثال،
/about,/product/[id]). - النوع:
string - مطلوب: نعم
- الوصف: المسار الداخلي للتطبيق (على سبيل المثال،
المعلمات الاختيارية
locale?: Locales- Description: اللغة المستهدفة التي يجب تحويل المسار إليها.
- Type:
Locales - Default: اللغة الافتراضية لإعدادات مشروعك.
options?: object- Description: تجاوزات التوجيه. كل إدخال يستخدم افتراضيات من إعدادات مشروعك.
- Type:
object
rewriteRules?: RoutingConfig['rewrite']- الوصف: كائن يعرّف قواعد إعادة الكتابة المخصصة. إذا لم يتم توفيره، فسيكون الافتراضي هو الخاصية
routing.rewriteمن تكوين مشروعك. - النوع:
RoutingConfig['rewrite'] - الافتراضي:
configuration.routing.rewrite
- الوصف: كائن يعرّف قواعد إعادة الكتابة المخصصة. إذا لم يتم توفيره، فسيكون الافتراضي هو الخاصية
القيمة المرجعة
- النوع:
string - الوصف: المسار المعرب للمحلي المحدد.
النوع مضيق من قواعد إعادة الكتابة المعلنة في التكوين الخاص بك، لذلك يعرض المحرر المسار المحلول بدلاً من string مجرد:
نسخ الكود إلى الحافظة
يتدفق التضييق نفسه إلى getLocalizedUrl، الذي يطبق قواعد إعادة الكتابة قبل إضافة بادئة اللغة.
حالتان تبقى موسعة إلى string، لأنه لا يمكن حلهما في وقت الترجمة:
- مسار ليس حرفيًا (مثلاً، مسار تم إنشاؤه من متغير);
- مسار يطابق قاعدة تستخدم معامل متعدد القطاعات أو اختياري (
[...slug],[[...slug]],:param?).
مثال على الاستخدام
الاستخدام الأساسي (مع التكوين)
إذا قمت بتكوين إعادة كتابة مخصصة في intlayer.config.ts:
نسخ الكود إلى الحافظة
الاستخدام مع المسارات الديناميكية
نسخ الكود إلى الحافظة
قواعد إعادة الكتابة اليدوية
يمكنك أيضًا تمرير قواعد إعادة كتابة يدوية إلى الدالة:
نسخ الكود إلى الحافظة
حذف الإعدادات الإقليمية
عندما لا يتم تحديد أي إعدادات إقليمية، يتم تحديد المسار للإعدادات الإقليمية الافتراضية المكونة:
نسخ الكود إلى الحافظة
الدوال ذات الصلة
getCanonicalPath: يُعيد مسارًا مترجمًا إلى مساره القانوني الداخلي.getLocalizedUrl: يولِّد عنوان URL مُحَلَّى بالكامل (بما في ذلك البروتوكول والمضيف وبادئة اللغة).
