استخدم مساعدك المفضل للملخص واستخدم هذه الصفحة والموفر AI الذي تريده
تاريخ الإصدارات
- "بداية التاريخ"v5.5.1029/6/2025
تمت ترجمة محتوى هذه الصفحة باستخدام الذكاء الاصطناعي.
اعرض آخر نسخة المحتوى الأصلي باللغة الإنكليزيةإذا كان لديك فكرة لتحسين هذه الوثيقة، فلا تتردد في المساهمة من خلال تقديم طلب سحب على GitHub.
رابط GitHub للتوثيقنسخ الـ Markdown من المستند إلى الحافظة
التعداد / الجمع
كيف يعمل التعداد
في Intlayer، يتم تحقيق التعداد من خلال دالة enu، التي تربط مفاتيح محددة بالمحتوى المقابل لها. يمكن أن تمثل هذه المفاتيح قيمًا رقمية، أو نطاقات، أو معرفات مخصصة. عند استخدامها مع React Intlayer أو Next Intlayer، يتم اختيار المحتوى المناسب تلقائيًا بناءً على لغة التطبيق والقواعد المعرفة.
إعداد التعداد
لإعداد التعداد في مشروع Intlayer الخاص بك، تحتاج إلى إنشاء وحدة محتوى تتضمن تعريفات التعداد. فيما يلي مثال على تعداد بسيط لعدد السيارات:
نسخ الكود إلى الحافظة
import { enu, type Dictionary } from "intlayer";
const carEnumeration = {
key: "car_count",
content: {
numberOfCar: enu({
"<-1": "أقل من ناقص سيارة واحدة",
"-1": "ناقص سيارة واحدة",
"0": "لا سيارات",
"1": "سيارة واحدة",
">5": "بعض السيارات",
">19": "العديد من السيارات",
"fallback": "قيمة بديلة", // اختياري
}),
},
} satisfies Dictionary;
export default carEnumeration;
في هذا المثال، تقوم الدالة enu بربط شروط مختلفة بمحتوى محدد. عند استخدامها في مكون React، يمكن لـ Intlayer اختيار المحتوى المناسب تلقائيًا بناءً على المتغير المعطى.
ترتيب التصريحات مهم في تعداد Intlayer. أول تصريح صالح هو الذي سيتم اختياره. إذا كانت هناك شروط متعددة تنطبق، تأكد من ترتيبها بشكل صحيح لتجنب سلوك غير متوقع.
إذا لم يتم إعلان قيمة بديلة (fallback)، ستُعيد الدالة undefined إذا لم تتطابق أي من المفاتيح.
استخدام التعداد مع React Intlayer
لاستخدام التعداد في مكون React، يمكنك الاستفادة من خطاف useIntlayer من حزمة react-intlayer. يسترجع هذا الخطاف المحتوى المناسب بناءً على المعرف المحدد. فيما يلي مثال على كيفية استخدامه:
نسخ الكود إلى الحافظة
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
const CarComponent: FC = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>
{
numberOfCar(0) // Output: No cars
}
</p>
<p>
{
numberOfCar(6) // Output: Some cars
}
</p>
<p>
{
numberOfCar(20) // Output: Many cars
}
</p>
<p>
{
numberOfCar(0.01) // Output: Fallback value
}
</p>
</div>
);
};
لاستخدام التعداد في مكونات عميل Next.js، استرجعه عبر خطاف useIntlayer. فيما يلي مثال:
نسخ الكود إلى الحافظة
"use client";
import type { FC } from "react";
import { useIntlayer } from "next-intlayer";
const CarComponent: FC = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>{numberOfCar(6)}</p>
</div>
);
};
export default CarComponent;
لاستخدام التعداد في مكونات Vue، استرجعه عبر خطاف useIntlayer. فيما يلي مثال:
نسخ الكود إلى الحافظة
لاستخدام التعداد في مكونات Svelte، استرجعه عبر خطاف useIntlayer. يتم الوصول إلى المخزن باستخدام `---
createdAt: 2024-08-11
updatedAt: 2025-06-29
priority: 8
title: "التعداد: رسائل حسب الكمية"
description: "استخدم تعدادات Intlayer لعرض محتوى مختلف حسب رقم أو نطاق، مع العقدة enu() وشروط مثل '<-1' أو '>5'."
keywords:
- التعداد
- التدويل
- التوثيق
- Intlayer
- Next.js
- جافا سكريبت
- React slugs:
- doc
- concept
- content
- enumeration history:
- version: 5.5.10 date: 2025-06-29 changes: "بداية التاريخ" author: aymericzip
التعداد / الجمع
كيف يعمل التعداد
في Intlayer، يتم تحقيق التعداد من خلال دالة enu، التي تربط مفاتيح محددة بالمحتوى المقابل لها. يمكن أن تمثل هذه المفاتيح قيمًا رقمية، أو نطاقات، أو معرفات مخصصة. عند استخدامها مع React Intlayer أو Next Intlayer، يتم اختيار المحتوى المناسب تلقائيًا بناءً على لغة التطبيق والقواعد المعرفة.
إعداد التعداد
لإعداد التعداد في مشروع Intlayer الخاص بك، تحتاج إلى إنشاء وحدة محتوى تتضمن تعريفات التعداد. فيما يلي مثال على تعداد بسيط لعدد السيارات:
نسخ الكود إلى الحافظة
import { enu, type Dictionary } from "intlayer";
const carEnumeration = {
key: "car_count",
content: {
numberOfCar: enu({
"<-1": "أقل من ناقص سيارة واحدة",
"-1": "ناقص سيارة واحدة",
"0": "لا سيارات",
"1": "سيارة واحدة",
">5": "بعض السيارات",
">19": "العديد من السيارات",
"fallback": "قيمة بديلة", // اختياري
}),
},
} satisfies Dictionary;
export default carEnumeration;
في هذا المثال، تقوم الدالة enu بربط شروط مختلفة بمحتوى محدد. عند استخدامها في مكون React، يمكن لـ Intlayer اختيار المحتوى المناسب تلقائيًا بناءً على المتغير المعطى.
ترتيب التصريحات مهم في تعداد Intlayer. أول تصريح صالح هو الذي سيتم اختياره. إذا كانت هناك شروط متعددة تنطبق، تأكد من ترتيبها بشكل صحيح لتجنب سلوك غير متوقع.
إذا لم يتم إعلان قيمة بديلة (fallback)، ستُعيد الدالة undefined إذا لم تتطابق أي من المفاتيح.
استخدام التعداد مع React Intlayer
لاستخدام التعداد في مكون React، يمكنك الاستفادة من خطاف useIntlayer من حزمة react-intlayer. يسترجع هذا الخطاف المحتوى المناسب بناءً على المعرف المحدد. فيما يلي مثال على كيفية استخدامه:
نسخ الكود إلى الحافظة
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
const CarComponent: FC = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>
{
numberOfCar(0) // Output: No cars
}
</p>
<p>
{
numberOfCar(6) // Output: Some cars
}
</p>
<p>
{
numberOfCar(20) // Output: Many cars
}
</p>
<p>
{
numberOfCar(0.01) // Output: Fallback value
}
</p>
</div>
);
};
لاستخدام التعداد في مكونات عميل Next.js، استرجعه عبر خطاف useIntlayer. فيما يلي مثال:
نسخ الكود إلى الحافظة
"use client";
import type { FC } from "react";
import { useIntlayer } from "next-intlayer";
const CarComponent: FC = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>{numberOfCar(6)}</p>
</div>
);
};
export default CarComponent;
لاستخدام التعداد في مكونات Vue، استرجعه عبر خطاف useIntlayer. فيما يلي مثال:
نسخ الكود إلى الحافظة
. فيما يلي مثال:
نسخ الكود إلى الحافظة
لاستخدام التعداد في مكونات Preact، استرجعه عبر خطاف useIntlayer. فيما يلي مثال:
نسخ الكود إلى الحافظة
import type { FC } from "preact";
import { useIntlayer } from "preact-intlayer";
const CarComponent: FC = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>{numberOfCar(6)}</p>
</div>
);
};
export default CarComponent;
لاستخدام التعداد في مكونات SolidJS، استرجعه عبر خطاف useIntlayer. فيما يلي مثال:
نسخ الكود إلى الحافظة
import type { Component } from "solid-js";
import { useIntlayer } from "solid-intlayer";
const CarComponent: Component = () => {
const { numberOfCar } = useIntlayer("car_count");
return (
<div>
<p>{numberOfCar(6)}</p>
</div>
);
};
export default CarComponent;
لاستخدام التعداد في مكونات Angular، استرجعه عبر خطاف useIntlayer. فيما يلي مثال:
نسخ الكود إلى الحافظة
لاستخدام التعداد مع vanilla-intlayer، استرجعه عبر خطاف useIntlayer. فيما يلي مثال:
نسخ الكود إلى الحافظة
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
installIntlayer();
const content = useIntlayer("car_count").onChange((newContent) => {
document.getElementById("cars")!.textContent = newContent.numberOfCar(6);
});
// Initial render
document.getElementById("cars")!.textContent = content.numberOfCar(6);
موارد إضافية
لمزيد من المعلومات التفصيلية حول التكوين والاستخدام، يرجى الرجوع إلى الموارد التالية:
توفر هذه الموارد رؤى إضافية حول إعداد واستخدام Intlayer في بيئات مختلفة ومع أُطُر عمل متنوعة.
استخدام التعداد الترتيبي (Ordinal Enumeration)
لاستخدام هذا في مكون React، استدعِ التعداد مع الرقم الأخير من العدد للحصول على اللاحقة الصحيحة، ثم مرر العدد الكامل كقيمة إدراج:
نسخ الكود إلى الحافظة
import type { FC } from "react";
import { useIntlayer } from "react-intlayer";
const RankingComponent: FC<{ count: number }> = ({ count }) => {
const { ordinal } = useIntlayer("ranking_component");
// Get the last digit to determine the correct suffix
const lastDigit = Math.abs(count) % 10;
return (
<div>
<p>
{
ordinal(lastDigit)({ count }) // e.g., "5th place" for count=5
}
</p>
</div>
);
};
لاستخدام هذا في مكونات عميل Next.js، استدعِ التعداد مع الرقم الأخير من العدد للحصول على اللاحقة الصحيحة، ثم مرر العدد الكامل كقيمة إدراج:
نسخ الكود إلى الحافظة
"use client";
import type { FC } from "react";
import { useIntlayer } from "next-intlayer";
const RankingComponent: FC<{ count: number }> = ({ count }) => {
const { ordinal } = useIntlayer("ranking_component");
const lastDigit = Math.abs(count) % 10;
return (
<div>
<p>{ordinal(lastDigit)({ count })}</p>
</div>
);
};
export default RankingComponent;
لاستخدام هذا في مكونات Vue، استدعِ التعداد مع الرقم الأخير من العدد للحصول على اللاحقة الصحيحة، ثم مرر العدد الكامل كقيمة إدراج:
نسخ الكود إلى الحافظة
لاستخدام هذا في مكونات Svelte، استدعِ التعداد مع الرقم الأخير من العدد للحصول على اللاحقة الصحيحة، ثم مرر العدد الكامل كقيمة إدراج:
نسخ الكود إلى الحافظة
لاستخدام هذا في مكونات Preact، استدعِ التعداد مع الرقم الأخير من العدد للحصول على اللاحقة الصحيحة، ثم مرر العدد الكامل كقيمة إدراج:
نسخ الكود إلى الحافظة
import type { FC } from "preact";
import { useIntlayer } from "preact-intlayer";
const RankingComponent: FC<{ count: number }> = ({ count }) => {
const { ordinal } = useIntlayer("ranking_component");
const lastDigit = Math.abs(count) % 10;
return (
<div>
<p>{ordinal(lastDigit)({ count })}</p>
</div>
);
};
export default RankingComponent;
لاستخدام هذا في مكونات SolidJS، استدعِ التعداد مع الرقم الأخير من العدد للحصول على اللاحقة الصحيحة، ثم مرر العدد الكامل كقيمة إدراج:
نسخ الكود إلى الحافظة
import type { Component } from "solid-js";
import { useIntlayer } from "solid-intlayer";
const RankingComponent: Component<{ count: number }> = (props) => {
const { ordinal } = useIntlayer("ranking_component");
return (
<div>
<p>{ordinal(Math.abs(props.count) % 10)({ count: props.count })}</p>
</div>
);
};
export default RankingComponent;
لاستخدام هذا في مكونات Angular، استدعِ التعداد مع الرقم الأخير من العدد للحصول على اللاحقة الصحيحة، ثم مرر العدد الكامل كقيمة إدراج:
نسخ الكود إلى الحافظة
لاستخدام هذا مع vanilla-intlayer، استدعِ التعداد مع الرقم الأخير من العدد للحصول على اللاحقة الصحيحة، ثم مرر العدد الكامل كقيمة إدراج:
نسخ الكود إلى الحافظة
import { installIntlayer, useIntlayer } from "vanilla-intlayer";
installIntlayer();
const content = useIntlayer("ranking_component");
const lastDigit = Math.abs(5) % 10;
document.getElementById("ranking")!.textContent = content.ordinal(lastDigit)({
count: 5,
});
Additional Resources
لمزيد من المعلومات التفصيلية حول التكوين والاستخدام، يرجى الرجوع إلى الموارد التالية:
توفر هذه الموارد رؤى إضافية حول إعداد واستخدام Intlayer في بيئات مختلفة ومع أطر عمل متنوعة.
