استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر 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
السجلات الديناميكية
السجل الديناميكي (dynamic record) هو ملف محتوى لا يتم تحديد هويته بواسطة فهرس تسلسلي أو متغير مسمى، بل بواسطة مجموعة عشوائية من أزواج المفاتيح والقيم المعلنة في حقل meta. يستخدم Intlayer هذه الحقول كمحدد في وقت التشغيل، مما يتيح معالجة سجلات CMS، أو نسخ محددة للمستخدم، أو أي محتوى لا تُعرف مفاتيحه في وقت البناء.
الإعلان عن السجلات الديناميكية
نسخ الكود إلى الحافظة
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "product-copy",
meta: {
id: "prod_abc",
userId: "user_123",
},
content: {
name: t({ en: "Widget Pro", fr: "Widget Pro" }),
description: t({ en: "The best widget.", fr: "Le meilleur widget." }),
},
} satisfies Dictionary;
export default dictionary;نسخ الكود إلى الحافظة
import { t, type Dictionary } from "intlayer";
const dictionary = {
key: "product-copy",
meta: {
id: "prod_abcd",
userId: "user_123",
},
content: {
name: t({ en: "Widget Lite", fr: "Widget Lite" }),
description: t({ en: "A lighter option.", fr: "Une option plus légère." }),
},
} satisfies Dictionary;
export default dictionary;استهلاك السجلات الديناميكية
جميع حقول meta مطلوبة في المحدد. يؤدي حذف أي حقل إلى إرجاع null ويعد خطأ في TypeScript.
نسخ الكود إلى الحافظة
import { useIntlayer } from "react-intlayer";
export const ProductCopy = ({
productId,
userId,
}: {
productId: string;
userId: string;
}) => {
const content = useIntlayer("product-copy", { id: productId, userId });
// يضمن TypeScript توفير كل من `id` و `userId`.
if (!content) return null;
return <p>{content.description}</p>;
};مع تحديد لغة صريحة
نسخ الكود إلى الحافظة
const content = useIntlayer("product-copy", { id: "prod_abc", userId: "user_123", locale: "fr",});حقل meta مفقود — خطأ وقت الترجمة
نسخ الكود إلى الحافظة
// خطأ في النوع: `userId` مفقودconst content = useIntlayer("product-copy", { id: "prod_abc" });وضع التحميل
عادة ما يتم تحميل السجلات الديناميكية بشكل كسول. قم بتعيين importMode في القاموس للتحكم في ذلك:
نسخ الكود إلى الحافظة
const dictionary = {
key: "product-copy",
importMode: "fetch", // أو "dynamic"
meta: { id: "prod_abc", userId: "user_123" },
content: { … },
} satisfies Dictionary;
export default dictionary;انظر تحسين الحزمة لمعرفة التفاصيل حول الأوضاع static و dynamic و fetch.
حالات الاستخدام الشائعة
- نسخة تسويقية لكل منتج تتم إدارتها في نظام إدارة المحتوى (CMS)
- محتوى خاص بالمستخدم أو خاص بالحساب
- أي محتوى يتم تعيينه بواسطة معرف تشغيل غير شفاف