الرئيسيةبيئة اختبارمعرض الأعمالتطبيقوثيقةمدونة
    • Englishالإنجليزية
      EN
    • русскийالروسية
      RU
    • 日本語اليابانية
      JA
    • françaisالفرنسية
      FR
    • 한국어الكورية
      KO
    • 中文الصينية
      ZH
    • españolالإسبانية
      ES
    • Deutschالألمانية
      DE
    • العربيةالعربية
      AR
    • italianoالإيطالية
      IT
    • British Englishالإنجليزية (المملكة المتحدة)
      EN-GB
    • portuguêsالبرتغالية
      PT
    • हिन्दीالهندية
      HI
    • Türkçeالتركية
      TR
    • polskiالبولندية
      PL
    • Indonesiaالإندونيسية
      ID
    • Tiếng Việtالفيتنامية
      VI
    • українськаالأوكرانية
      UK
    /
    تصفية المستندات حسب الإطار
    Alt+←
    لماذا Intlayer؟
    ابدأ
    مفهوم
    • كيف يعمل Intlayer
    • التكوين
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • المحرر المرئي
    • CMS
    • تكامل CI/CD
    • ترجمةجمعتعدادشرطجنسإدراجملفتداخلMarkdownHTMLجلب الوظيفة
    • ملف لكل لغة
    • محرر
    • الملء التلقائي
    • اختبار
    • تحسين الحزمة
    بيئة
    • Next.js 14 وموجه التطبيق
      Next.js 15
      Next.js بدون locale URL
      Next.js وموجه الصفحة
      المترجم
    • Tanstack Start Solid
    • Astro و React
      Astro و Svelte
      Astro و Vue
      Astro و Solid
      Astro و Preact
      Astro و Lit
      Astro و Vanilla JS
    • React Router v7
      React Router v7 (fs-routes)
      Compiler
    • Nuxt و Vue
    • Vite و Solid
    • SvelteKit
    • Vite و Preact
    • Vite و Vanilla JS
    • Vite و Lit
    • Angular 19 (Webpack)
      Analog
    • React CRA
    • React Native و Expo
    • Express.js
      NestJS
      Fastify
      Hono
      Adonis
    • Lynx و React
    Plugins
    • JSON
    • gettext (.po)
    امتداد VS Code
    وكيل
    • خادم MCP
    • مهارات الوكيل
    إصدارات
    • v8
    • v7
    • v6
    مؤشر أداء
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    مدونة
    طرح سؤال
    1. Documentation
    2. إصدارات
    3. v6
    إنشاء:2025-09-22آخر تحديث:2025-09-22
    استخدم هذه الصفحة والموفر AI الذي تريده
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده

    هذه الوثيقة غير محدثة، تم تحديث النسخة الأساسية في 23 سبتمبر 2025.

    الانتقال إلى الوثيقة الإنجليزية

    تاريخ الإصدارات

      تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.

      اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزية
      تعديل هذه الوثيقة

      إذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.

      رابط GitHub للتوثيق
      نسخ

      نسخ الـ Markdown من المستند إلى الحافظة

      الإصدار الجديد Intlayer v6 - ما الجديد؟

      مرحبًا بك في Intlayer v6! يركز هذا الإصدار على الأداء، تجربة المطور، والموثوقية. فيما يلي أبرز النقاط، مع ملاحظات الترحيل وأمثلة قابلة للنسخ واللصق.

      أبرز النقاط

      • أمر جديد: npx intlayer content test لاكتشاف الترجمات المفقودة
      • خيار عالمي جديد autoFill لتوليد الترجمات المفقودة تلقائيًا
      • أمر التعبئة (Fill) يتخطى الترجمات الموجودة بشكل افتراضي: npx intlayer fill
      • امتداد VS Code: شريط نشاط Intlayer جديد (بحث وقواميس)، أزرار شريط الأدوات/السياق، الكشف التلقائي، أوامر التعبئة/الاختبار
      • بناء أسرع 10 مرات بفضل التوازي في الوعود (promise parallelization)
      • تخزين مؤقت للقاموس عن بُعد لتجنب إعادة التحميل عند بدء التطبيق
      • تحسين التسجيل: اضبط log.mode: 'verbose' لفحص السلوك
      • تحقق أقوى لمنع تعطل التطبيق بسبب مشاكل في القاموس
      • تحديثات حية مع نظام إدارة المحتوى (CMS) باستخدام build.importMode = 'live' و pnpm intlayer live
      • إصلاحات: تكامل Vue.js، محول Lynx، المحرر المرئي على ويندوز

      جديد: اختبار الترجمات المفقودة

      قم بتدقيق مشروعك بسرعة لمعرفة المفاتيح/اللغات المفقودة.

      bash
      نسخ الكود

      نسخ الكود إلى الحافظة

      npx intlayer content test

      الإخراج:

      bash
      نسخ الكود

      نسخ الكود إلى الحافظة

      pnpm intlayer content testالترجمات المفقودة: - blog-data       - اليابانية (ja)، الكورية (ko)، الصينية (zh)، الألمانية (de)، الإيطالية (it) - src/components/BlogPage/blogData.content.ts - demo-page       - الفرنسية (fr)، الإيطالية (it)                                         - src/components/DemoPage/demo.content.ts - locale-switcher - الإيطالية (it)، البرتغالية (pt)                                       - src/components/LocaleSwitcher/localeSwitcher.content.tsاللغات: الإنجليزية (en)، الروسية (ru)، اليابانية (ja)، الفرنسية (fr)، الكورية (ko)، الصينية (zh)، الإسبانية (es)، الألمانية (de)، العربية (ar)، الإيطالية (it)، الإنجليزية البريطانية (en-GB)، البرتغالية (pt)، الهندية (hi)اللغات المطلوبة: الإنجليزية (en)اللغات المفقودة: اليابانية (ja)، الكورية (ko)، الصينية (zh)، الألمانية (de)، الإيطالية (it)، الفرنسية (fr)، البرتغالية (pt)اللغات المطلوبة المفقودة: -إجمالي اللغات المفقودة: 7إجمالي اللغات المطلوبة المفقودة: 0

      راجع المزيد من الخيارات في وثائق CLI: مرجع CLI → "اختبار الترجمات المفقودة". وكذلك دليل الاختبار.


      جديد: التعبئة التلقائية العالمية لإكمال الترجمات المفقودة

      يمكنك الآن تمكين التعبئة التلقائية على مستوى العالم بحيث يتم إكمال أي قاموس يحتوي على ترجمات مفقودة تلقائيًا.

      intlayer.config.ts
      نسخ الكود

      نسخ الكود إلى الحافظة

      import { type IntlayerConfig, Locales } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,    requiredLocales: [Locales.ENGLISH, Locales.FRENCH],  },  content: {    // توليد تلقائي للترجمات المفقودة لجميع القواميس    autoFill: "./{{fileName}}.content.ts",    //    // autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json",    //    // autoFill: true, // توليد تلقائي للترجمات المفقودة لجميع القواميس مثل استخدام "./{{fileName}}.content.json"    //    // autoFill: {    //   en: "./{{fileName}}.en.content.json",    //   fr: "./{{fileName}}.fr.content.json",    //   es: "./{{fileName}}.es.content.json",    // },  },};export default config;

      يمكنك أيضًا ضبط كل قاموس بدقة باستخدام حقل autoFill في ملفات المحتوى. راجع المرجع الكامل في doc/autoFill و doc/dictionary/content_file.


      أمر fill: إعدادات افتراضية أكثر أمانًا

      أمر fill الآن، بشكل افتراضي، يملأ الترجمات المفقودة فقط ويتخطى المحتوى الموجود.

      bash
      نسخ الكود

      نسخ الكود إلى الحافظة

      npx intlayer fill
      bash
      نسخ الكود

      نسخ الكود إلى الحافظة

      المفاتيح المتأثرة في القواميس للمعالجة: access-key-creation-form-schema, doc-search-metadata, doc-search-page  - [access-key-creation-form-schema]      القاموس لا يحتوي على مسار ملف. يتم التخطي.  - [access-key-creation-form-schema]      معالجة إعلان المحتوى: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts  - [access-key-creation-form-schema]      لا توجد لغات لملئها - يتم تخطي القاموس  - [doc-search-metadata]                  القاموس لا يحتوي على مسار ملف. يتم التخطي.  - [doc-search-metadata]                  معالجة إعلان المحتوى: src/app/[locale]/(docs)/doc/search/metadata.content.ts  - [doc-search-metadata]                  لا توجد لغات لملئها - يتم تخطي القاموس  - [doc-search-page]                      القاموس لا يحتوي على مسار ملف. يتم التخطي.  - [doc-search-page]                      معالجة إعلان المحتوى: src/app/[locale]/(docs)/doc/search/page.content.ts  - [doc-search-page]                     [الروسية (ru)]                   تجهيز الترجمة للقاموس من الإنجليزية (en) إلى الروسية (ru)[intlayer]  تم تطبيق تنسيق Prettier على src/app/[locale]/(docs)/doc/search/page.content.ts  - [doc-search-page]                      تم كتابة إعلان المحتوى إلى src/app/[locale]/(docs)/doc/search/page.content.ts

      أمثلة CI متاحة في CI/CD.


      تحديث امتداد VS Code

      يتضمن الامتداد الآن تبويب مخصص لـ Intlayer في شريط النشاط وعدة تحسينات في سير العمل:

      • شريط نشاط Intlayer مع عرضين:
        • عرض ويب البحث (intlayer.searchBar) للبحث المباشر في القاموس/المحتوى
        • شجرة القواميس (intlayer.dictionaries) التي تعرض البيئات، القواميس، والملفات المساهمة
      • شريط أدوات في عرض القواميس: بناء، سحب، دفع، ملء، تحديث، اختبار، إنشاء ملف قاموس
      • قوائم السياق: سحب/دفع على القواميس؛ ملء على الملفات
      • الكشف التلقائي: يتم تمييز ملف المحرر الحالي في شجرة القواميس عند الاقتضاء
      • أوامر جديدة متاحة من لوحة الأوامر: ملء القواميس واختبار القواميس

      راجع التفاصيل في توثيق امتداد VS Code الرسمي.


      الأداء: أسرع 10 مرات

      • حل متوازي للقواميس المحلية والبعيدة
      • يتم تخزين القواميس البعيدة مؤقتًا لتجنب إعادة الجلب عند بدء تشغيل التطبيق
      bash
      نسخ الكود

      نسخ الكود إلى الحافظة

      npx intlayer build

      المخرجات:

      bash
      نسخ الكود

      نسخ الكود إلى الحافظة

      [intlayer]  Preparing Intlayer (v6.0.1)[intlayer]  Dictionaries:[intlayer]  ✓ Local content: 163/163[intlayer]  ✓ Remote content: 100/100[intlayer]   - access-key-creation-form             [local: ✔ built] [distant: ✔ imported][intlayer]   - access-key-creation-form-schema      [local: ✔ built] [distant: ✔ imported][intlayer]   - access-key-form                      [local: ✔ built] [distant: ✔ imported][intlayer]   - ai-ab-testing-section                                 [distant: ✔ imported][intlayer]   - application-not-running-view         [local: ✔ built] [distant: ✔ imported][intlayer]   - application-template-message         [local: ✔ built] [distant: ✔ fetched][intlayer]   - aside-navigation                     [local: ✔ built] [distant: ✔ imported][intlayer]   - ask-reset-password                   [local: ✔ built] [distant: ✔ imported][intlayer]   - ask-reset-password-schema            [local: ✔ built] [distant: ✔ imported][intlayer]   - autocompletion-section               [local: ✔ built] [distant: ✔ fetched][intlayer]   - available-techno-section             [local: ✔ built] [distant: ✔ imported][intlayer]   - blog-data                            [local: ✔ built][intlayer]   - blog-metadata                        [local: ✔ built][intlayer]   - blog-nav-list                        [local: ✔ built] [distant: ✔ imported][intlayer]   - blog-page                                             [distant: ✔ fetched][intlayer]   - blog-search-metadata                 [local: ✔ built] [distant: ✔ imported][intlayer]   - blog-search-page                     [local: ✔ built] [distant: ✔ imported]...[intlayer]  تم تحميل المحتوى  (الإجمالي: 8401 مللي ثانية - محلي: 4050 مللي ثانية - عن بُعد: 4222 مللي ثانية)

      تحسينات التسجيل

      تم تحسين نظام التسجيل لتوفير معلومات أكثر تفصيلاً حول ما يحدث أثناء عمليات التحويل في وقت البناء والتشغيل.

      قم بتمكين السجلات المفصلة لفهم أفضل لما يحدث أثناء عمليات التحويل في وقت البناء والتشغيل.
      intlayer.config.ts
      نسخ الكود

      نسخ الكود إلى الحافظة

      export default {  log: {    mode: "verbose", // الخيارات: "default" | "verbose" | "disabled"  },};

      راجع التكوين لجميع خيارات التسجيل.


      تحقق أقوى

      يقوم الآن معالجة القاموس بإجراء تحقق أكثر صلابة. عندما يفشل القاموس في المعالجة، يتجنب Intlayer كسر تطبيقك ويعرض أخطاء قابلة للتنفيذ.


      التحديثات الحية مع نظام إدارة المحتوى (آمن للإنتاج)

      قم بتقديم تحديثات المحتوى الحية (مثل التحديثات التحريرية) في بيئة الإنتاج دون الحاجة إلى إعادة بناء تطبيقك.

      1. قم بتمكين وضع الاستيراد الحي:
      intlayer.config.ts
      نسخ الكود

      نسخ الكود إلى الحافظة

      import { type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  build: {    importMode: "live", // "static" | "dynamic" | "live"  },  editor: {    liveSync: true, // تمكين المزامنة الحية على جانب الخادم  },};export default config;
      1. قم بتشغيل تطبيقك والمعالجة الحية جنبًا إلى جنب:
      bash
      نسخ الكود

      نسخ الكود إلى الحافظة

      npx intlayer live --with 'vite preview'

      ملاحظات:

      • سيتم جلب القواميس التي تم تمييزها لاستخدام الوضع الحي فقط بشكل مباشر. أما القواميس الأخرى فهي محسّنة للأداء.
      • يتم الرجوع إلى الاستيراد الديناميكي إذا لم يكن من الممكن الوصول إلى واجهة برمجة التطبيقات الحية.

      راجع نظام إدارة المحتوى والمزامنة الحية و التكوين للحصول على إرشادات كاملة.


      ملاحظات الترحيل

      • تمت الإزالة: dictionaryOutput (كان يُستخدم سابقًا مع i18next أو next-intl). سيعود هذا كموصلات قابلة للإضافة في الإصدارات المستقبلية. قم بإزالة هذا الحقل من تكوينك.
      • إزالة ذات صلة: i18nextResourcesDir (راجع سجل التغييرات في doc/configuration).
      • يُفضل استخدام الخيار العالمي الجديد content.autoFill لتوليد الترجمات المفقودة على نطاق واسع.
      • استخدم الأمر npx intlayer content test للتحقق من طلبات السحب (PRs) المتعلقة بالترجمات المفقودة.
      • للحصول على تشخيص مفصل، قم بتعيين log.mode = 'verbose'.

      الإصلاحات

      • استقرار تكامل Vue.js
      • تحسينات موصل Lynx
      • المحرر المرئي على نظام ويندوز

      روابط مفيدة

      • مرجع CLI
      • الملء التلقائي
      • التكوين
      • مرجع ملف المحتوى
      • امتداد VS Code الرسمي
      • نظام إدارة المحتوى والمزامنة الحية
      v7
      مؤشر أداء
      Alt+→

      في هذه الصفحة

        المناقشات مجهولة الهوية ويتم مراجعتها بانتظام لمعالجة المشكلات الشائعة. لا تتردد في مشاركة أفكار الميزات أو التعليقات على الوثائق أو أي شيء يتعلق بـ Intlayer, نستخدم هذه المدخلات لتشكيل خارطة الطريق وتحسين المنتج.

        npx intlayer content test
        pnpm intlayer content testالترجمات المفقودة: - blog-data       - اليابانية (ja)، الكورية (ko)، الصينية (zh)، الألمانية (de)، الإيطالية (it) - src/components/BlogPage/blogData.content.ts - demo-page       - الفرنسية (fr)، الإيطالية (it)                                         - src/components/DemoPage/demo.content.ts - locale-switcher - الإيطالية (it)، البرتغالية (pt)                                       - src/components/LocaleSwitcher/localeSwitcher.content.tsاللغات: الإنجليزية (en)، الروسية (ru)، اليابانية (ja)، الفرنسية (fr)، الكورية (ko)، الصينية (zh)، الإسبانية (es)، الألمانية (de)، العربية (ar)، الإيطالية (it)، الإنجليزية البريطانية (en-GB)، البرتغالية (pt)، الهندية (hi)اللغات المطلوبة: الإنجليزية (en)اللغات المفقودة: اليابانية (ja)، الكورية (ko)، الصينية (zh)، الألمانية (de)، الإيطالية (it)، الفرنسية (fr)، البرتغالية (pt)اللغات المطلوبة المفقودة: -إجمالي اللغات المفقودة: 7إجمالي اللغات المطلوبة المفقودة: 0
        import { type IntlayerConfig, Locales } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],    defaultLocale: Locales.ENGLISH,    requiredLocales: [Locales.ENGLISH, Locales.FRENCH],  },  content: {    // توليد تلقائي للترجمات المفقودة لجميع القواميس    autoFill: "./{{fileName}}.content.ts",    //    // autoFill: "/messages/{{locale}}/{{key}}/{{fileName}}.content.json",    //    // autoFill: true, // توليد تلقائي للترجمات المفقودة لجميع القواميس مثل استخدام "./{{fileName}}.content.json"    //    // autoFill: {    //   en: "./{{fileName}}.en.content.json",    //   fr: "./{{fileName}}.fr.content.json",    //   es: "./{{fileName}}.es.content.json",    // },  },};export default config;
        npx intlayer fill
        المفاتيح المتأثرة في القواميس للمعالجة: access-key-creation-form-schema, doc-search-metadata, doc-search-page  - [access-key-creation-form-schema]      القاموس لا يحتوي على مسار ملف. يتم التخطي.  - [access-key-creation-form-schema]      معالجة إعلان المحتوى: src/components/Dashboard/ProjectForm/AccessKey/useAccessKeyCreationFormSchema.content.ts  - [access-key-creation-form-schema]      لا توجد لغات لملئها - يتم تخطي القاموس  - [doc-search-metadata]                  القاموس لا يحتوي على مسار ملف. يتم التخطي.  - [doc-search-metadata]                  معالجة إعلان المحتوى: src/app/[locale]/(docs)/doc/search/metadata.content.ts  - [doc-search-metadata]                  لا توجد لغات لملئها - يتم تخطي القاموس  - [doc-search-page]                      القاموس لا يحتوي على مسار ملف. يتم التخطي.  - [doc-search-page]                      معالجة إعلان المحتوى: src/app/[locale]/(docs)/doc/search/page.content.ts  - [doc-search-page]                     [الروسية (ru)]                   تجهيز الترجمة للقاموس من الإنجليزية (en) إلى الروسية (ru)[intlayer]  تم تطبيق تنسيق Prettier على src/app/[locale]/(docs)/doc/search/page.content.ts  - [doc-search-page]                      تم كتابة إعلان المحتوى إلى src/app/[locale]/(docs)/doc/search/page.content.ts
        npx intlayer build
        [intlayer]  Preparing Intlayer (v6.0.1)[intlayer]  Dictionaries:[intlayer]  ✓ Local content: 163/163[intlayer]  ✓ Remote content: 100/100[intlayer]   - access-key-creation-form             [local: ✔ built] [distant: ✔ imported][intlayer]   - access-key-creation-form-schema      [local: ✔ built] [distant: ✔ imported][intlayer]   - access-key-form                      [local: ✔ built] [distant: ✔ imported][intlayer]   - ai-ab-testing-section                                 [distant: ✔ imported][intlayer]   - application-not-running-view         [local: ✔ built] [distant: ✔ imported][intlayer]   - application-template-message         [local: ✔ built] [distant: ✔ fetched][intlayer]   - aside-navigation                     [local: ✔ built] [distant: ✔ imported][intlayer]   - ask-reset-password                   [local: ✔ built] [distant: ✔ imported][intlayer]   - ask-reset-password-schema            [local: ✔ built] [distant: ✔ imported][intlayer]   - autocompletion-section               [local: ✔ built] [distant: ✔ fetched][intlayer]   - available-techno-section             [local: ✔ built] [distant: ✔ imported][intlayer]   - blog-data                            [local: ✔ built][intlayer]   - blog-metadata                        [local: ✔ built][intlayer]   - blog-nav-list                        [local: ✔ built] [distant: ✔ imported][intlayer]   - blog-page                                             [distant: ✔ fetched][intlayer]   - blog-search-metadata                 [local: ✔ built] [distant: ✔ imported][intlayer]   - blog-search-page                     [local: ✔ built] [distant: ✔ imported]...[intlayer]  تم تحميل المحتوى  (الإجمالي: 8401 مللي ثانية - محلي: 4050 مللي ثانية - عن بُعد: 4222 مللي ثانية)
        export default {  log: {    mode: "verbose", // الخيارات: "default" | "verbose" | "disabled"  },};
        import { type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  build: {    importMode: "live", // "static" | "dynamic" | "live"  },  editor: {    liveSync: true, // تمكين المزامنة الحية على جانب الخادم  },};export default config;
        npx intlayer live --with 'vite preview'