استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
بدءاً من الدمج مع خادم MCP Intlayer ، يمكن لمساعدك الذكي الاسترجاع من جميع المستندات مباشرة من ChatGPT ، DeepSeek ، Cursor ، VSCode ، إلخ.
عرض الوثائق الخاصة بالخادم MCPتمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
تكامل React: توثيق الخطاف useIntlayerAsync
يقوم الخطاف useIntlayerAsync بتوسيع وظيفة useIntlayer ليس فقط بإرجاع القواميس التي تم عرضها مسبقًا، بل أيضًا بجلب التحديثات بشكل غير متزامن، مما يجعله مثاليًا للتطبيقات التي تقوم بتحديث محتواها المحلي بشكل متكرر بعد العرض الأولي.
نظرة عامة
- تحميل القاموس بشكل غير متزامن:
عند التركيب الأولي، يقوم useIntlayerAsync أولاً بإرجاع أي قاموس محلي تم جلبه مسبقًا أو تم تجميعه بشكل ثابت (تمامًا كما يفعل useIntlayer) ثم يقوم بجلب ودمج أي قواميس جديدة متاحة عن بُعد بشكل غير متزامن. - إدارة حالة التقدم:
يوفر الخطاف أيضًا حالة isLoading، التي تشير إلى متى يتم جلب قاموس عن بُعد. هذا يسمح للمطورين بعرض مؤشرات تحميل أو حالات هيكل عظمي لتجربة مستخدم أكثر سلاسة.
إعداد البيئة
يوفر Intlayer نظام إدارة مصادر المحتوى (CSM) بدون واجهة، يمكّن غير المطورين من إدارة وتحديث محتوى التطبيق بسلاسة. من خلال استخدام لوحة تحكم Intlayer البديهية، يمكن لفريقك تحرير النصوص المحلية، الصور، والموارد الأخرى دون تعديل الكود مباشرة. هذا يبسط عملية إدارة المحتوى، يعزز التعاون، ويضمن إمكانية إجراء التحديثات بسرعة وسهولة.
للبدء مع Intlayer:
- سجّل واحصل على رمز وصول من https://intlayer.org/dashboard.
أضف بيانات الاعتماد إلى ملف التكوين الخاص بك:
في مشروع React الخاص بك، قم بتكوين عميل Intlayer باستخدام بيانات الاعتماد الخاصة بك:intlayer.config.tsنسخ الكودنسخ الكود إلى الحافظة
import type { IntlayerConfig } from "intlayer";export default { // ... editor: { clientId: process.env.INTLAYER_CLIENT_ID, clientSecret: process.env.INTLAYER_CLIENT_SECRET, },} satisfies IntlayerConfig;
دفع قاموس لغة جديد إلى Intlayer:
bashنسخ الكودنسخ الكود إلى الحافظة
npx intlayer dictionary push -d my-first-dictionary-key
يقوم هذا الأمر بتحميل قواميس المحتوى الأولية الخاصة بك، مما يجعلها متاحة للتحميل والتحرير غير المتزامن من خلال منصة Intlayer.
استيراد useIntlayerAsync في React
في مكونات React الخاصة بك، قم باستيراد useIntlayerAsync:
نسخ الكود إلى الحافظة
import { useIntlayerAsync } from "react-intlayer";
المعاملات
key:
النوع: DictionaryKeys
مفتاح القاموس المستخدم لتحديد كتلة المحتوى المترجم. يجب تعريف هذا المفتاح في ملفات إعلان المحتوى الخاصة بك.locale (اختياري):
النوع: Locales
اللغة المحددة التي تريد استهدافها. إذا تم حذفها، يستخدم الخطاف اللغة من سياق Intlayer الحالي.isRenderEditor (اختياري، القيمة الافتراضية true):
النوع: boolean
يحدد ما إذا كان يجب أن يكون المحتوى جاهزًا للعرض مع تراكب محرر Intlayer. إذا تم تعيينه إلى false، ستستبعد بيانات القاموس المرجعة ميزات خاصة بالمحرر.
القيمة المرجعة
يرجع الخطاف كائن قاموس يحتوي على محتوى مترجم يتم تحديده بواسطة key و locale. كما يتضمن متغيرًا منطقيًا isLoading يشير إلى ما إذا كان يتم حاليًا جلب قاموس عن بُعد.
مثال على الاستخدام في مكون React
نسخ الكود إلى الحافظة
import { useEffect, type FC } from "react";import { useIntlayerAsync } from "react-intlayer";export const ComponentExample: FC = () => { const { title, description, isLoading } = useIntlayerAsync("async-component"); useEffect(() => { if (isLoading) { console.log("يتم تحميل المحتوى..."); } }, [isLoading]); return ( <div> {isLoading ? ( <div> <h1>جارٍ التحميل…</h1> <p>يرجى الانتظار أثناء تحديث المحتوى.</p> </div> ) : ( <div> <h1>{title.value}</h1> <p>{description.value}</p> </div> )} </div> );};
النقاط الرئيسية:
- عند العرض الأولي، يأتي title و description من قاموس اللغة الذي تم جلبه مسبقًا أو المضمن بشكل ثابت.
- بينما تكون قيمة isLoading هي true، يتم إجراء طلب في الخلفية لجلب قاموس محدث.
- بمجرد اكتمال الجلب، يتم تحديث title و description بأحدث المحتويات، وتعود قيمة isLoading إلى false.
التعامل مع تعريب السمات
يمكنك أيضًا استرجاع القيم المعربة لسمات HTML المختلفة (مثل alt، title، aria-label):
نسخ الكود إلى الحافظة
<img src={title.image.src.value} alt={title.image.alt.value} />
ملفات القاموس
يجب تعريف جميع مفاتيح المحتوى في ملفات إعلان المحتوى الخاصة بك لضمان سلامة النوع ومنع أخطاء وقت التشغيل. تتيح هذه الملفات التحقق من صحة TypeScript، مما يضمن أنك تشير دائمًا إلى المفاتيح واللغات الموجودة.
تعليمات إعداد ملفات إعلان المحتوى متوفرة هنا.
معلومات إضافية
- محرر Intlayer المرئي:
دمج مع محرر Intlayer المرئي لإدارة وتحرير المحتوى مباشرة من واجهة المستخدم. مزيد من التفاصيل هنا.
باختصار، useIntlayerAsync هو هوك قوي في React مصمم لتعزيز تجربة المستخدم والحفاظ على تحديث المحتوى من خلال دمج القواميس التي تم تقديمها مسبقًا أو جلبها مسبقًا مع تحديثات القاموس غير المتزامنة. من خلال الاستفادة من isLoading وإعلانات المحتوى المعتمدة على TypeScript، يمكنك دمج المحتوى الديناميكي والمحلي بسلاسة في تطبيقات React الخاصة بك.
تاريخ الوثيقة
- 5.5.10 - 2025-06-29: بدء التاريخ