إنشاء:2026-09-19آخر تحديث:2026-09-19
استخدم هذه الصفحة والموفر AI الذي تريدهChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "توثيق أولي"v9.5.519/9/2026
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةتعديل هذه الوثيقة
إذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ
نسخ الـ Markdown من المستند إلى الحافظة
توثيق خطاف useLocale
يوفر خطاف useLocale من astro-intlayer إمكانية الوصول إلى لغة الطلب الحالية واللغة الافتراضية المكونة وجميع اللغات المتاحة في تطبيقات Astro.
وهو يعمل بشكل متسق عبر واجهة مكونات .astro المعروضة على الخادم وكتل <script> على جانب العميل.
الاستخدام
في Frontmatter المكون (معروض على الخادم)
src/layouts/Layout.astro
نسخ الكود
نسخ الكود إلى الحافظة
في <script> العميل (تفاعلي)
src/components/LocaleSwitcher.astro
نسخ الكود
نسخ الكود إلى الحافظة
القيم المرجعة
يُرجع الخطاف كائنًا من النوع UseLocaleResult:
اظهار جميع محتويات الجدول
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| الخاصية | النوع | الوصف |
|---|---|---|
locale | DeclaredLocales | اللغة النشطة. |
defaultLocale | DeclaredLocales | اللغة الاحتياطية الافتراضية المكونة في intlayer.config.ts. |
availableLocales | DeclaredLocales[] | مصفوفة بجميع اللغات المدعومة المكونة للمشروع. |
setLocale | (locale: LocalesValues) => void | دالة لتحديث اللغة. (تفاعلية في كود <script> للعميل، وتُصدر تحذيرًا أثناء SSR). |
subscribe | (callback: () => void) => () => void | يشترك في تغييرات اللغة من جانب العميل. |
سلوك الخادم مقابل العميل
- أثناء SSR / العرض على الخادم: يتم عرض الطلب مرة واحدة بمعلمات ثابتة. استدعاء
setLocale()أثناء العرض على الخادم ليس له أي تأثير ويصدر تحذيرًا؛ يجب إجراء تبديل اللغة على العميل أو عن طريق الانتقال إلى عنوان URL الخاص باللغة المستهدفة. - في سكربتات العميل: تقوم
setLocaleبتحديث متجر العميل وتحديث ملفات تعريف الارتباط المحفوظة أو التخزين المحلي وفقًا لتكوين Intlayer الخاص بك.
