استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "بدء السجل"v9.0.0١٣/٦/٢٠٢٦
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
الترحيل من next-intl إلى Intlayer
للحصول على برنامج تعليمي مفصل وكامل خطوة بخطوة، يرجى مراجعة دليل الترحيل الكامل من next-intl.
يسمح الترحيل من next-intl إلى Intlayer بالحفاظ على التوجيه والصيغة الخاصة بتطبيقك دون تضرر.
ما يجب فعله
قم بتنفيذ الأمر التالي في المستودع الخاص بك:
نسخ الكود إلى الحافظة
npx intlayer initسيؤدي هذا إلى إنشاء ملف intlayer.config.ts. في next.config.ts، استخدم wrapper المكوّن للحقن السلس لأسماء مستعارة next-intl نحو @intlayer/next-intl.
نسخ الكود إلى الحافظة
import type { NextConfig } from "next";import { createNextIntlPlugin } from "@intlayer/next-intl/plugin";const withIntlayer = createNextIntlPlugin();const nextConfig: NextConfig = {};export default withIntlayer(nextConfig);كيف يعمل تحت الغطاء
يستبدل wrapper bundler الترجمات، لكن يترك ميزات next-intl/navigation سليمة (مثل Link و redirect و usePathname).
تحت الغطاء:
- ICU runtime: تعمل علامات الجمع (
=0وoneوother) و select/selectordinal و#والوسائط المنسقة ({ts, date, long}) بشكل صحيح باستخدام محللresolveMessage(..., 'icu')المشترك. useTranslations()وgetTranslations(): تستخرج استدعاءات النطاق الحافي أول جزء من المفتاح كمعرّف قاموس صحيح. يتم تقسيم الـ namespaces المتداخلة برشاقة إلى مسارات ومحدثات قاموس.- Rich formatting: يتم تنفيذ
t.rich()وt.markup()بالكامل بشكل أصلي، مما يحول الكود الشبيه بـ HTML إلى أجزاء React المعروضة. useFormatter:relativeTimeوlistوdateTimeRangeوالصيغ المسماة من إعدادات التكوين تنتقل إلى محولاتIntlالأصلية الأساسية.