diff --git a/src/pages/ar-ae/sdk/constructor.mdx b/src/pages/ar-ae/sdk/constructor.mdx
index 0b7c5bdb..afb6613a 100644
--- a/src/pages/ar-ae/sdk/constructor.mdx
+++ b/src/pages/ar-ae/sdk/constructor.mdx
@@ -1,59 +1,60 @@
---
-title: "JavaScript SDK - تهيئة الـ SDK"
-metaTitle: "JavaScript SDK - تهيئة الـ SDK"
-metaDescription: "خيارات التهيئة لطريقة مُنشئ المُتتبع"
+title: "JavaScript SDK - تهيئة SDK"
+metaTitle: "JavaScript SDK - تهيئة SDK"
+metaDescription: "خيارات التكوين لطريقة المُنشئ في المتتبع"
---
import Aside from '~/components/Aside.astro'
import ORCard from '~/components/Card/ORCard.astro'
## التثبيت
-سيؤدي تنفيذ السطر التالي إلى تثبيت المُتتبع وبالتالي الـ SDK لتتمكن من الاستفادة من جميع ميزات المُتتبع.
+سيقوم السطر التالي بتثبيت المتتبع ومعه الـ SDK لتتمكن من الاستفادة من جميع ميزات المتتبع.
```bash
npm i @openreplay/tracker
```
## التهيئة
-عند إنشاء نسخة من مُتتبع OpenReplay، هناك العديد من خيارات التهيئة التي يمكنك توفيرها لتخصيص العديد من جوانب التسجيل وتجربة التسجيل.
+عند إنشاء مثيل لمتتبع OpenReplay، هناك عدة خيارات تكوين يمكنك تقديمها لتخصيص العديد من جوانب التسجيل وتجربة التسجيل.
-يجب عليك تحديد خيار `projectKey` في المُنشئ. يمكنك الحصول على هذه القيمة من لوحة تحكم OpenReplay تحت 'التفضيلات > المشاريع'.
+يجب عليك تعيين خيار `projectKey` في المُنشئ. يمكنك الحصول على هذه القيمة من لوحة تحكم OpenReplay الخاصة بك تحت 'التفضيلات > المشاريع'.
-### التطبيقات ذات الصفحة الواحدة (SPA)
-إذا كان موقعك الإلكتروني عبارة عن **تطبيق ذو صفحة واحدة (SPA)**، استخدم الكود التالي:
+
+### تطبيقات الصفحة الواحدة (SPA)
+إذا كان موقعك الإلكتروني هو **تطبيق صفحة واحدة (SPA)** استخدم الكود أدناه:
```js
import OpenReplay from '@openreplay/tracker';
//...
const tracker = new OpenReplay({
-projectKey: PROJECT_KEY
+ projectKey: PROJECT_KEY
});
-tracker.start(); // يعود بوعد بمعلومات الجلسة (sessionID, sessionHash, userUUID)
+tracker.start(); // يُرجع وعدًا بمعلومات الجلسة (sessionID، sessionHash، userUUID)
```
-### التطبيقات المُقدمة من الخادم (SSR)
-وإلا، إذا كان تطبيقك الويبي **مُقدماً من الخادم (SSR)** (مثل NextJS، NuxtJS)، استخدم الشظية البرمجية أدناه. تأكد من استدعاء `tracker.start()` بمجرد بدء التطبيق (في `useEffect` أو `componentDidMount`).
+### العرض من جانب الخادم (SSR)
+إذا كان تطبيق الويب الخاص بك **معروضًا من جانب الخادم (SSR)** (مثل NextJS، NuxtJS) استخدم الكود أدناه. تأكد من أن `tracker.start()` يتم استدعاؤه بمجرد بدء التطبيق (في `useEffect` أو `componentDidMount`).
```js
import OpenReplay from '@openreplay/tracker/cjs';
//...
const tracker = new OpenReplay({
-projectKey: PROJECT_KEY,
+ projectKey: PROJECT_KEY,
});
//...
function MyApp() {
-useEffect(() => { // استخدم componentDidMount في حالة مكون React الفئوي
-tracker.start(); // يعود بوعد بمعلومات الجلسة (sessionID, sessionHash, userUUID)
-}, [])
+ useEffect(() => { // استخدم componentDidMount في حالة مكون React من النوع Class
+ tracker.start(); // يُرجع وعدًا بمعلومات الجلسة (sessionID، sessionHash، userUUID)
+ }, [])
}
```
## مثال
@@ -62,116 +63,199 @@ tracker.start(); // يعود بوعد بمعلومات الجلسة (sessionID,
import OpenReplay from '@openreplay/tracker/cjs';
//...
const tracker = new OpenReplay({
-projectKey: PROJECT_KEY,
-ingestPoint: "https://openreplay.mydomain.com/ingest", // عند التعامل مع النسخة المستضافة ذاتياً من OpenReplay
-capturePerformance: true,
-__DISABLE_SECURE_MODE: true // للاختبار المحلي
+ projectKey: PROJECT_KEY,
+ ingestPoint: "https://openreplay.mydomain.com/ingest", // عند التعامل مع النسخة المستضافة ذاتيًا من OpenReplay
+ capturePerformance: true,
+ __DISABLE_SECURE_MODE: true // للاختبار المحلي
});
```
## خيارات التهيئة
-هناك مجموعة من الخيارات التي يمكنك تمريرها إلى المُنشئ. يُعد `projectKey` هو الخيار الوحيد المطلوب.
+هناك مجموعة من الخيارات التي يمكنك تمريرها إلى المُنشئ. فقط `projectKey` مطلوب.
+
+### الأغراض العامة
-### للأغراض العامة
-- `projectKey: string` معرّف المشروع الذي تقوم بتتبعه.
-- `sessionHash?: string` هاش الجلسة الأولية. هذا مفيد عندما تعبر الجلسات عبر نطاقات فرعية مختلفة في تطبيقك الويبي، لكنك ترغب في دمجها في تسجيل واحد. في حالة عدم إمكانية الاستمرار في الجلسة (غير موجودة أو منتهية)، سيبدأ المتتبع تلقائياً جلسة جديدة. يتم أيضاً إرجاعها عند استدعاء `stop()`. المزيد من التفاصيل [هنا](/troubleshooting/session-recordings#replaysarebrokenacrosssubdomains).
-- `ingestPoint?: string` نطاق OpenReplay الخاص بك (مثل https://openreplay.mydomain.com/ingest)، الذي سيقوم المتتبع بإرسال الأحداث إليه. هذا اختياري لمستخدمي OpenReplay Cloud. الافتراضي: `https://api.openreplay.com/ingest` (يشير إلى OpenReplay Cloud).
-- `revID?: string` معرّف الإصدار لتطبيق الويب الخاص بك. مفيد عند البحث عن المشاكل التي تحدث في إصدار معين من الإصدار.
-- `resourceBaseHref?: string` يشير إلى النطاق العام الذي يمكن الوصول إليه حيث يمكن لـ OpenReplay جلب الأصول (الأنماط، الخطوط والأيقونات). نظراً لأنها ضرورية لإعادة تشغيل الجلسة بشكل صحيح، فإن هذا الخيار مفيد للتغلب على القيود المتعلقة باستضافة موقعك (وبالتالي الأصول) في نطاق خاص. مثال: `https://mysitepublic.com/assets/`.
-- `captureIFrames?: boolean` لالتقاط جميع الإطارات (iFrames) ذات النطاق المشترك في تطبيقك الويبي. إذا كنت ترغب في تتبع إطار محدد، فقط أضف السمة HTML `data-openreplay-capture` إلى علامة `