Hello World
\"}\nمرحبًا العالم
\");\n ```\n\n #### أداة `renderHTML()`\n\n أداة مستقلة للـ rendering خارج المكونات.\n\n ```tsx\n import { renderHTML } from \"react-intlayer/html\";\n\n const jsx = renderHTML(\"مرحبًا
\", { components: { p: 'div' } });\n ```\n\nمرحبًا بالعالم
\")}\n ```\n\n #### أداة `renderHTML()`\n\n ```svelte\n \n\n {@html renderHTML(\"مرحبًا بالعالم
\")}\n ```\n\nمرحبًا بالعالم
\"}\nمرحبًا بالعالم
\")}مرحبًا بالعالم
\")}مرحبًا بالعالم
\"}\nمرحبًا بالعالم
\")}مرحبًا بالعالم
\")}استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
هذه الوثيقة غير محدثة، تم تحديث النسخة الأساسية في 24 مارس 2026.
الانتقال إلى الوثيقة الإنجليزيةتاريخ الإصدارات
- "Add `intlayerHTML` plugin object; use `app.use(intlayerHTML)` instead of `app.use(installIntlayerHTML)`"v8.5.024/3/2026
- "move import from `{{framework}}-intlayer` to `{{framework}}-intlayer/html`"v8.5.024/3/2026
- "إضافة HTMLRenderer / useHTMLRenderer / renderHTML كأداة"v8.0.022/1/2026
- "إضافة دعم تحليل HTML"v8.0.020/1/2026
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
محتوى HTML / HTML في Intlayer
يدعم Intlayer محتوى HTML، مما يتيح لك تضمين محتوى غني ومنظم داخل القواميس (dictionaries) الخاصة بك. يمكن عرض هذا المحتوى باستخدام وسوم HTML القياسية أو استبداله بمكونات مخصصة أثناء وقت التشغيل.
إعلان محتوى HTML
يمكنك تعريف محتوى HTML باستخدام الدالة html أو ببساطة كسلسلة نصية.
استخدم الدالة html لتعريف محتوى HTML صراحة. هذا يضمن مطابقة الوسوم القياسية بشكل صحيح حتى إذا تم تعطيل الكشف التلقائي.
نسخ الكود إلى الحافظة
import { html, type Dictionary } from "intlayer";const htmlDictionary = { key: "app", contentAutoTransformation: true, // يمكن تعيينه في ملف التكوين content: { myHtmlContent: html("<p>مرحبًا <strong>بالعالم</strong></p>"), },} satisfies Dictionary;export default htmlDictionary;عقدة html()
دالة html() هي ميزة جديدة في Intlayer v8 تتيح لك تحديد محتوى HTML بشكل صريح في قواميسك. بينما يمكن لـ Intlayer غالبًا اكتشاف محتوى HTML تلقائيًا، فإن استخدام دالة html() يوفر عدة مزايا:
- سلامة النوع (Type Safety): تتيح لك دالة
html()تحديد الخصائص (props) المتوقعة للمكونات المخصصة، مما يوفر إكمالاً تلقائيًا وفحصًا أفضل للنوع في المحرر الخاص بك. - الإعلان الصريح: يضمن معاملة السلسلة دائمًا على أنها HTML، حتى لو لم تكن تحتوي على علامات HTML قياسية من شأنها تشغيل الاكتشاف التلقائي.
- تعريف المكونات المخصصة: يمكنك تمرير وسيط ثانٍ إلى
html()لتعريف المكونات المخصصة وأنواع الخصائص المتوقعة لها.
نسخ الكود إلى الحافظة
import { html } from "intlayer";const myContent = html( "<MyCustomComponent title='مرحباً'>العالم</MyCustomComponent>", { MyCustomComponent: { title: "string", children: "node", }, });عند استخدام طريقة .use() على عقدة HTML، سيتم التحقق من المكونات التي تقدمها مقابل التعريف المقدم في دالة html() (إذا كان متاحًا).
عرض HTML
يمكن معالجة العرض تلقائيًا بواسطة نظام محتوى Intlayer أو يدويًا باستخدام أدوات متخصصة.
العرض التلقائي (باستخدام useIntlayer)
عند الوصول إلى المحتوى عبر useIntlayer، تكون عقد HTML جاهزة بالفعل للعرض.
يمكن عرض عقد HTML مباشرةً كـ JSX. تعمل الوسوم القياسية تلقائيًا.
نسخ الكود إلى الحافظة
import { useIntlayer } from "react-intlayer";const AppContent = () => { const { myHtmlContent } = useIntlayer("app"); return <div>{myHtmlContent}</div>;};استخدم الأسلوب .use() لتوفير مكونات مخصصة أو لتجاوز الوسوم:
نسخ الكود إلى الحافظة
{myHtmlContent.use({ p: (props) => <p className="prose" {...props} />, CustomLink: ({ children }) => <a href="/details">{children}</a>,})}التكوين العام باستخدام HTMLProvider
يمكنك تكوين عرض HTML على مستوى التطبيق بأكمله. هذا مناسب لتعريف مكونات مخصصة يجب أن تكون متاحة في جميع محتويات HTML.
نسخ الكود إلى الحافظة
import { HTMLProvider } from "react-intlayer/html";export const AppProvider = ({ children }) => ( <HTMLProvider components={{ p: (props) => <p className="prose" {...props} />, CustomLink: ({ children }) => <a href="/details">{children}</a>, }} > {children} </HTMLProvider>);التصيير اليدوي والأدوات المتقدمة
إذا كنت بحاجة إلى عرض سلاسل HTML خام أو التحكم بشكل أكبر في تعيين المكونات، فاستخدم الأدوات التالية.
المكوّن <HTMLRenderer />
عرض سلسلة HTML باستخدام مكونات محددة.
نسخ الكود إلى الحافظة
import { HTMLRenderer } from "react-intlayer/html";<HTMLRenderer components={{ p: MyCustomP }}> {"<p>Hello World</p>"}</HTMLRenderer>Hook useHTMLRenderer()
احصل على دالة renderer مهيأة مسبقًا.
نسخ الكود إلى الحافظة
import { useHTMLRenderer } from "react-intlayer/html";const renderHTML = useHTMLRenderer({ components: { strong: (props) => <strong {...props} className="text-red-500" /> }});return renderHTML("<p>مرحبًا <strong>العالم</strong></p>");أداة renderHTML()
أداة مستقلة للـ rendering خارج المكونات.
نسخ الكود إلى الحافظة
import { renderHTML } from "react-intlayer/html";const jsx = renderHTML("<p>مرحبًا</p>", { components: { p: 'div' } });مرجع الخيارات
يمكن تمرير هذه الخيارات إلى HTMLProvider وHTMLRenderer وuseHTMLRenderer وrenderHTML.
افتح الجدول في نافذة منبثقة لعرض جميع محتويات البيانات بوضوح
| الخيار | النوع | الافتراضي | الوصف |
|---|---|---|---|
components | Record<string, any> | {} | خريطة تربط علامات HTML أو أسماء المكونات المخصصة بالمكونات. |
renderHTML | Function | null | دالة عرض مخصصة لاستبدال محلل HTML الافتراضي بالكامل (لمزودات Vue/Svelte فقط). |
ملاحظة: بالنسبة لـ React و Preact، يتم توفير علامات HTML القياسية تلقائيًا. تحتاج فقط إلى تمرير الخاصية components إذا أردت تجاوزها أو إضافة مكونات مخصصة.