Documentation: getLocalizedUrl Function in intlayer
الوصف:
دالة getLocalizedUrl تقوم بإنشاء عنوان URL محلي من خلال إضافة البادئة المناسبة للدولة المدخلة. تقوم هذه الدالة بالتعامل مع عناوين URL المطلقة والنسبيه، وتضمن تطبيق بادئة الدولة الصحيحة استنادًا إلى الإعدادات.
المعلمات:
url: string
- الوصف: سلسلة عنوان URL الأصلية التي سيتم إضافة بادئة لها.
- النوع: string
currentLocale: Locales
- الوصف: الدولة الحالية التي يتم تكييف عنوان URL لها.
- النوع: Locales
locales: Locales[]
- الوصف: مصفوفة اختيارية من اللغات المدعومة. بشكل افتراضي، يتم توفير اللغات المهيئة في المشروع.
- النوع: Locales[]
- القيمة الافتراضية: Project Configuration
defaultLocale: Locales
- الوصف: الدولة الافتراضية للتطبيق. بشكل افتراضي، يتم توفير الدولة الافتراضية المهيئة في المشروع.
- النوع: Locales
- القيمة الافتراضية: Project Configuration
prefixDefault: boolean
- الوصف: ما إذا كان يجب إضافة بادئة عنوان URL للدولة الافتراضية. بشكل افتراضي، يتم توفير القيمة المهيئة في المشروع.
- النوع: boolean
- القيمة الافتراضية: Project Configuration
الإرجاع:
- النوع: string
- الوصف: عنوان URL المحلي للدولة المحددة.
مثال على الاستخدام:
عناوين URL النسبية:
import { getLocalizedUrl, Locales } from "intlayer";
getLocalizedUrl(
"/about",
Locales.FRENCH,
[Locales.ENGLISH, Locales.FRENCH],
Locales.ENGLISH,
false
);
// الخرج: "/fr/about" للغة الفرنسية
// الخرج: "/about" للغة الافتراضية (الإنجليزية)
عناوين URL المطلقة:
getLocalizedUrl(
"https://example.com/about",
Locales.FRENCH, // اللغة الحالية
[Locales.ENGLISH, Locales.FRENCH], // اللغات المدعومة
Locales.ENGLISH, // اللغة الافتراضية
false // بادئة اللغة الافتراضية
); // الخرج: "https://example.com/fr/about" للفرنسية
getLocalizedUrl(
"https://example.com/about",
Locales.ENGLISH, // اللغة الحالية
[Locales.ENGLISH, Locales.FRENCH], // اللغات المدعومة
Locales.ENGLISH, // اللغة الافتراضية
false // بادئة اللغة الافتراضية
); // الخرج: "https://example.com/about" للإنجليزية
getLocalizedUrl(
"https://example.com/about",
Locales.ENGLISH, // اللغة الحالية
[Locales.ENGLISH, Locales.FRENCH], // اللغات المدعومة
Locales.ENGLISH, // اللغة الافتراضية
true // بادئة اللغة الافتراضية
); // الخرج: "https://example.com/en/about" للإنجليزية
اللغة غير المدعومة:
getLocalizedUrl(
"/about",
Locales.ITALIAN, // اللغة الحالية
[Locales.ENGLISH, Locales.FRENCH], // اللغات المدعومة
Locales.ENGLISH // اللغة الافتراضية
); // الخرج: "/about" (لا توجد بادئة مطبقة للغة غير المدعومة)
حالات الحافة:
عدم وجود شريحة لغة:
- إذا لم يحتوي عنوان URL على أي شريحة لغة، فإن الدالة تقوم بأمان بإضافة البادئة المناسبة.
اللغة الافتراضية:
- عندما تكون prefixDefault تساوي false، لا تقوم الدالة بإضافة بادئة عنوان URL للغة الافتراضية.
اللغات غير المدعومة:
- بالنسبة للغات غير المدرجة في locales، لا تقوم الدالة بتطبيق أي بادئة.
الاستخدام في التطبيقات:
في تطبيق متعدد اللغات، فإن تكوين إعدادات التدويل مع locales و defaultLocale أمر حاسم لضمان عرض اللغة الصحيحة. فيما يلي مثال على كيفية استخدام getLocalizedUrl في إعداد التطبيق:
import { Locales, type IntlayerConfig } from "intlayer";
// إعداد يدعم اللغات واللغة الافتراضية
export default {
internationalization: {
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
defaultLocale: Locales.ENGLISH,
},
} satisfies IntlayerConfig;
export default config;
يضمن الإعداد أعلاه أن التطبيق يتعرف على ENGLISH، FRENCH، وSPANISH كلغات مدعومة ويستخدم ENGLISH كلغة احتياطية.
باستخدام هذا الإعداد، يمكن لدالة getLocalizedUrl إنشاء عناوين URLs محلية بناءً على تفضيل لغة المستخدم:
getLocalizedUrl("/about", Locales.FRENCH); // الخرج: "/fr/about"
getLocalizedUrl("/about", Locales.SPANISH); // الخرج: "/es/about"
getLocalizedUrl("/about", Locales.ENGLISH); // الخرج: "/about"
من خلال دمج getLocalizedUrl، يمكن للمطورين الحفاظ على هياكل عناوين URL متسقة عبر لغات متعددة، مما يعزز من تجربة المستخدم وتحسين محركات البحث.
إذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيق