استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
بدءاً من الدمج مع خادم MCP Intlayer ، يمكن لمساعدك الذكي الاسترجاع من جميع المستندات مباشرة من ChatGPT ، DeepSeek ، Cursor ، VSCode ، إلخ.
عرض الوثائق الخاصة بالخادم MCPتمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على 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، المحرر المرئي على ويندوز
جديد: اختبار الترجمات المفقودة
قم بتدقيق مشروعك بسرعة لمعرفة المفاتيح/اللغات المفقودة.
نسخ الكود إلى الحافظة
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
راجع المزيد من الخيارات في وثائق CLI: مرجع CLI → "اختبار الترجمات المفقودة". وكذلك دليل الاختبار.
جديد: التعبئة التلقائية العالمية لإكمال الترجمات المفقودة
يمكنك الآن تمكين التعبئة التلقائية على مستوى العالم بحيث يتم إكمال أي قاموس يحتوي على ترجمات مفقودة تلقائيًا.
نسخ الكود إلى الحافظة
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 الآن، بشكل افتراضي، يملأ الترجمات المفقودة فقط ويتخطى المحتوى الموجود.
نسخ الكود إلى الحافظة
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
أمثلة CI متاحة في CI/CD.
تحديث امتداد VS Code
يتضمن الامتداد الآن تبويب مخصص لـ Intlayer في شريط النشاط وعدة تحسينات في سير العمل:
- شريط نشاط Intlayer مع عرضين:
- عرض ويب البحث (intlayer.searchBar) للبحث المباشر في القاموس/المحتوى
- شجرة القواميس (intlayer.dictionaries) التي تعرض البيئات، القواميس، والملفات المساهمة
- شريط أدوات في عرض القواميس: بناء، سحب، دفع، ملء، تحديث، اختبار، إنشاء ملف قاموس
- قوائم السياق: سحب/دفع على القواميس؛ ملء على الملفات
- الكشف التلقائي: يتم تمييز ملف المحرر الحالي في شجرة القواميس عند الاقتضاء
- أوامر جديدة متاحة من لوحة الأوامر: ملء القواميس واختبار القواميس
راجع التفاصيل في توثيق امتداد VS Code الرسمي.
الأداء: أسرع 10 مرات
- حل متوازي للقواميس المحلية والبعيدة
- يتم تخزين القواميس البعيدة مؤقتًا لتجنب إعادة الجلب عند بدء تشغيل التطبيق
نسخ الكود إلى الحافظة
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" },};
راجع التكوين لجميع خيارات التسجيل.
تحقق أقوى
يقوم الآن معالجة القاموس بإجراء تحقق أكثر صلابة. عندما يفشل القاموس في المعالجة، يتجنب Intlayer كسر تطبيقك ويعرض أخطاء قابلة للتنفيذ.
التحديثات الحية مع نظام إدارة المحتوى (آمن للإنتاج)
قم بتقديم تحديثات المحتوى الحية (مثل التحديثات التحريرية) في بيئة الإنتاج دون الحاجة إلى إعادة بناء تطبيقك.
- قم بتمكين وضع الاستيراد الحي:
نسخ الكود إلى الحافظة
import { type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { build: { importMode: "live", // "static" | "dynamic" | "live" }, editor: { liveSync: true, // تمكين المزامنة الحية على جانب الخادم },};export default config;
- قم بتشغيل تطبيقك والمعالجة الحية جنبًا إلى جنب:
نسخ الكود إلى الحافظة
npx intlayer live --process 'vite preview'
ملاحظات:
- سيتم جلب القواميس التي تم تمييزها لاستخدام الوضع الحي فقط بشكل مباشر. أما القواميس الأخرى فهي محسّنة للأداء.
- يتم الرجوع إلى الاستيراد الديناميكي إذا لم يكن من الممكن الوصول إلى واجهة برمجة التطبيقات الحية.
راجع نظام إدارة المحتوى والمزامنة الحية و التكوين للحصول على إرشادات كاملة.
ملاحظات الترحيل
- تمت الإزالة: dictionaryOutput (كان يُستخدم سابقًا مع i18next أو next-intl). سيعود هذا كموصلات قابلة للإضافة في الإصدارات المستقبلية. قم بإزالة هذا الحقل من تكوينك.
- إزالة ذات صلة: i18nextResourcesDir (راجع سجل التغييرات في doc/configuration).
- يُفضل استخدام الخيار العالمي الجديد content.autoFill لتوليد الترجمات المفقودة على نطاق واسع.
- استخدم الأمر npx intlayer content test للتحقق من طلبات السحب (PRs) المتعلقة بالترجمات المفقودة.
- للحصول على تشخيص مفصل، قم بتعيين log.mode = 'verbose'.
الإصلاحات
- استقرار تكامل Vue.js
- تحسينات موصل Lynx
- المحرر المرئي على نظام ويندوز