i18n - docs translations (#17142)

Created by Github action

Co-authored-by: github-actions <github-actions@twenty.com>
This commit is contained in:
github-actions[bot]
2026-01-14 13:01:48 +01:00
committed by GitHub
parent c3dff19f5d
commit 20b5a8f5e7
11 changed files with 225 additions and 225 deletions
@@ -1,9 +1,9 @@
---
title: الإعداد المحلي
description: The guide for contributors (or curious developers) who want to run Twenty locally.
description: الدليل للمساهمين (أو المطورين الفضوليين) الذين يرغبون في تشغيل Twenty محلياً.
---
## Prerequisites
## المتطلبات الأساسية
<Tabs>
<Tab title="Linux و MacOS">
@@ -15,7 +15,7 @@ description: The guide for contributors (or curious developers) who want to run
* [nvm](https://github.com/nvm-sh/nvm/blob/master/README.md)
<Warning>
لن يعمل `npm` ، يجب عليك استخدام `yarn` بدلًا من ذلك. Yarn is now shipped with Node.js, so you don't need to install it separately.
لن يعمل `npm` ، يجب عليك استخدام `yarn` بدلًا من ذلك. يأتي Yarn الآن مع Node.js، لذا لست بحاجة إلى تثبيته بشكل منفصل.
عليك فقط تشغيل `corepack enable` لتفعيل Yarn إذا لم تقم بذلك بعد.
</Warning>
</Tab>
@@ -30,7 +30,7 @@ description: The guide for contributors (or curious developers) who want to run
يجب أن ترى الآن مطالبة لإعادة تشغيل جهاز الكمبيوتر الخاص بك. إذا لم يكن كذلك، فأعد تشغيله يدويًا.
Upon restart, a powershell window will open and install Ubuntu. قد يستغرق هذا وقتًا طويلاً.
عند إعادة التشغيل، ستُفتح نافذة PowerShell وسيتم تثبيت Ubuntu. قد يستغرق هذا وقتًا طويلاً.
سترى مطالبة لإنشاء اسم المستخدم وكلمة المرور لتثبيت Ubuntu الخاص بك.
2. تثبيت وإعداد git
@@ -260,7 +260,7 @@ cp ./packages/twenty-server/.env.example ./packages/twenty-server/.env
```
<Info>
**Multi-Workspace Mode:** By default, Twenty runs in single-workspace mode where only one workspace can be created. To enable multi-workspace support (useful for testing subdomain-based features), set `IS_MULTIWORKSPACE_ENABLED=true` in your server `.env` file. See [Multi-Workspace Mode](/l/ar/developers/self-host/capabilities/setup#multi-workspace-mode) for details.
**وضع تعدد مساحات العمل:** بشكل افتراضي، يعمل Twenty في وضع مساحة عمل واحدة حيث يمكن إنشاء مساحة عمل واحدة فقط. لتمكين دعم تعدد مساحات العمل (مفيد لاختبار الميزات المعتمدة على النطاقات الفرعية)، عيّن `IS_MULTIWORKSPACE_ENABLED=true` في ملف الخادم `.env`. راجع [وضع تعدد مساحات العمل](/l/ar/developers/self-host/capabilities/setup#multi-workspace-mode) للحصول على التفاصيل.
</Info>
## الخطوة 6: تثبيت التبعيات
@@ -37,7 +37,7 @@ git config --global core.autocrlf false
ثم قم بحذف المستودع واستنساخه مرة أخرى.
#### Missing metadata schema
#### مخطط البيانات الوصفية مفقود
أثناء تثبيت Twenty، تحتاج إلى توفير قاعدة بيانات بوستجريس الخاصة بك بالمخططات والإضافات والمستخدمين الصحيحة.
إذا نجح تشغيل هذا التخصيص، يجب أن تحتوي قاعدة البيانات لديك على المخططات `default` و`metadata`.
@@ -47,7 +47,7 @@ git config --global core.autocrlf false
عليك بناء حزمة `twenty-emails` قبل تشغيل تهيئة قاعدة البيانات باستخدام `npx nx run twenty-emails:build`.
#### Missing twenty-x package
#### حزمة twenty-x مفقودة
تأكد من تشغيل yarn في الدليل الجذر ثم تشغيل `npx nx server:dev twenty-server`. إذا لم يعمل ذلك، حاول بناء الحزمة المفقودة يدوياً.
@@ -67,11 +67,11 @@ git config --global core.autocrlf false
في `packages/twenty-front/.env` قم بإزالة تعليق على `VITE_DISABLE_TYPESCRIPT_CHECKER=true` و`VITE_DISABLE_ESLINT_CHECKER=true` لتعطيل فحوصات الخلفية مما يقلل من كمية الذاكرة المطلوبة.
**If it does not work:**
Run only the services you need, instead of `npx nx start`. على سبيل المثال، إذا كنت تعمل على الخادم، قم بتشغيل `npx nx worker twenty-server` فقط
**إذا لم يعمل ذلك:**
قم بتشغيل الخدمات التي تحتاجها فقط، بدلاً من `npx nx start`. على سبيل المثال، إذا كنت تعمل على الخادم، قم بتشغيل `npx nx worker twenty-server` فقط
**If it does not work:**
If you tried to run only `npx nx run twenty-server:start` on WSL and it's failing with the below memory error:
**إذا لم يعمل ذلك:**
إذا حاولت تشغيل `npx nx run twenty-server:start` فقط على WSL وفشل مع خطأ الذاكرة أدناه:
`FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory`
@@ -82,11 +82,11 @@ If you tried to run only `npx nx run twenty-server:start` on WSL and it's failin
علامة --max-old-space-size=8192 تحدد حداً أقصى للذاكرة الخاصة بـ Node.js بحد أقصى 8GB؛ الاستخدام يتزايد بطلبات التطبيق.
المرجع: https://stackoverflow.com/questions/56982005/where-do-i-set-node-options-max-old-space-size-2048
**If it does not work:**
Investigate which processes are taking you most of your machine RAM. في Twenty، لاحظنا أن بعض إضافات VScode كانت تستهلك الكثير من الذاكرة لذا قمنا بتعطيلها مؤقتًا.
**إذا لم يعمل ذلك:**
تحقق من العمليات التي تستهلك معظم ذاكرة جهازك. في Twenty، لاحظنا أن بعض إضافات VScode كانت تستهلك الكثير من الذاكرة لذا قمنا بتعطيلها مؤقتًا.
**If it does not work:**
Restart your machine helps to clean up ghost processes.
**إذا لم يعمل ذلك:**
إعادة تشغيل جهازك تساعد في تنظيف العمليات الشبحية.
#### أثناء تشغيل `npx nx start` تظهر سجلات غريبة [0] و [1]
@@ -124,7 +124,7 @@ npx nx worker twenty-server
* افتح تطبيق Twenty الخاص بك، انتقل إلى `/settings`، وفعل التبديل المتقدم في الجزء السفلي الأيسر من الشاشة.
* إنشاء ويب هوك جديد.
* Paste **Your Unique Webhook URL** in the **Endpoint Url** field in Twenty. Set the **Filters** to `Companies` and `Created`.
* الصق **عنوان URL الفريد لخطّاف الويب الخاص بك** في الحقل **عنوان URL لنقطة النهاية** في Twenty. اضبط **عوامل التصفية** على `Companies` و`Created`.
<div style={{textAlign: 'center'}}>
<img src="/images/docs/developers/self-hosting/webhook-settings.jpg" alt="إعدادات الويب هوك" />
@@ -1,6 +1,6 @@
---
title: Self-Host
description: Deploy and manage Twenty on your own infrastructure.
title: الاستضافة الذاتية
description: قم بنشر Twenty وإدارته على البنية التحتية الخاصة بك.
---
<Frame>
@@ -9,22 +9,22 @@ description: Deploy and manage Twenty on your own infrastructure.
## نظرة عامة
Twenty can be self-hosted on your own infrastructure, giving you full control over your data and deployment.
يمكن استضافة Twenty ذاتيًا على البنية التحتية الخاصة بك، مما يمنحك تحكمًا كاملاً في بياناتك وعمليات النشر.
## Why Self-Host?
## لماذا الاستضافة الذاتية؟
* **Data ownership**: Keep all CRM data on your own servers
* **Compliance**: Meet regulatory requirements for data residency
* **Customization**: Full access to modify and extend the platform
* **ملكية البيانات**: احتفظ بجميع بيانات إدارة علاقات العملاء (CRM) على خوادمك الخاصة
* **الامتثال**: تلبية المتطلبات التنظيمية الخاصة بإقامة البيانات
* **التخصيص**: وصول كامل إلى تعديل المنصة وتوسيعها
## البدء
<CardGroup cols={٢}>
<Card title="Docker Compose" icon="docker" href="/l/ar/developers/self-host/capabilities/docker-compose">
Quick setup with Docker
إعداد سريع باستخدام Docker
</Card>
<Card title="Cloud Providers" icon="cloud" href="/l/ar/developers/self-host/capabilities/cloud-providers">
Deploy on AWS, GCP, or Azure
<Card title="مزودو الخدمات السحابية" icon="cloud" href="/l/ar/developers/self-host/capabilities/cloud-providers">
انشر على AWS أو GCP أو Azure
</Card>
</CardGroup>
@@ -19,29 +19,29 @@ image: /images/user-guide/notes/notes_header.png
export const MyComponent = () => {
const handleChange = (text) => {
console.log("Input changed:", text);
console.log("تم تغيير الإدخال:", text);
};
const handleKeyDown = (event) => {
console.log("Key pressed:", event.key);
console.log("تم ضغط المفتاح:", event.key);
};
return (
<RecoilRoot>
<TextInput
className
label="Username"
label="اسم المستخدم"
onChange={handleChange}
fullWidth={false}
disableHotkeys={false}
error="Invalid username"
error="اسم مستخدم غير صالح"
onKeyDown={handleKeyDown}
RightIcon={null}
/>
</RecoilRoot>
);
};
},{
```
</Tab>
@@ -75,17 +75,17 @@ image: /images/user-guide/notes/notes_header.png
return (
<RecoilRoot>
<AutosizeTextInput
onValidate={() => console.log("onValidate function fired")}
onValidate={() => console.log("تم تشغيل الدالة onValidate")}
minRows={1}
placeholder="Write a comment"
onFocus={() => console.log("onFocus function fired")}
placeholder="اكتب تعليقًا"
onFocus={() => console.log("تم تشغيل الدالة onFocus")}
variant="icon"
buttonTitle
value="Task: "
value="المهمة: "
/>
</RecoilRoot>
);
};
};},{
```
</Tab>
@@ -116,8 +116,8 @@ image: /images/user-guide/notes/notes_header.png
<TextArea
disabled={false}
minRows={4}
onChange={()=>console.log('On change function fired')}
placeholder="Enter text here"
onChange={()=>console.log('تم تشغيل الدالة onChange')}
placeholder="أدخل النص هنا"
value=""
/>
);
@@ -1,72 +1,72 @@
---
title: Uniqueness Constraints
description: How Twenty enforces data uniqueness during import.
title: قيود التفرّد
description: كيف يفرض Twenty تفرد البيانات أثناء الاستيراد.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
## نظرة عامة
Twenty enforces uniqueness on certain fields to prevent duplicate records and ensure data integrity. Understanding these constraints is essential for successful imports.
يفرض Twenty التفرّد على حقول معيّنة لمنع تكرار السجلات وضمان سلامة البيانات. فهم هذه القيود أمرٌ أساسي لنجاح عمليات الاستيراد.
## Default Unique Fields
## الحقول الفريدة الافتراضية
| كائن | Unique Fields |
| ---------------- | ---------------------- |
| **People** | `id`, `email` |
| **الشركات** | `id`, `domain` |
| **كائنات مخصصة** | `id` only (by default) |
| كائن | الحقول الفريدة |
| ---------------- | -------------------- |
| **الأشخاص** | `id`, `email` |
| **الشركات** | `id`, `domain` |
| **كائنات مخصصة** | `id` فقط (افتراضيًا) |
<Note>The `id` field is Twenty's internal identifier, auto-generated for each record. It uses UUID format (e.g., `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
<Note>حقل `id` هو المعرّف الداخلي الخاص بـ Twenty، يتم إنشاؤه تلقائيًا لكل سجل. يستخدم تنسيق UUID (مثلًا: `c776ee49-f608-4a77-8cc8-6fe96ae1e43f`).</Note>
## Custom Unique Fields
## حقول فريدة مخصّصة
You can define additional unique fields under **Settings → Data Model**:
يمكنك تعريف حقول فريدة إضافية ضمن **الإعدادات → نموذج البيانات**:
1. Go to **Settings → Data Model**
2. Select the object
3. Click on a field
4. Enable **Unique** in field settings
1. اذهب إلى **الإعدادات → نموذج البيانات**
2. اختر الكائن
3. انقر على حقل
4. فعِّل **فريد** في إعدادات الحقل
### Use Cases for Custom Unique Fields
### حالات استخدام للحقول الفريدة المخصّصة
* **External IDs**: Store IDs from other systems (Salesforce ID, HubSpot ID)
* **Business identifiers**: Employee numbers, customer codes
* **Alternative contact info**: LinkedIn profile, phone number
* **معرّفات خارجية**: خزّن معرّفات من أنظمة أخرى (Salesforce ID, HubSpot ID)
* **معرّفات الأعمال**: أرقام الموظفين، رموز العملاء
* **معلومات اتصال بديلة**: ملف LinkedIn، رقم الهاتف
<Note>The field name `id` is reserved for Twenty's internal ID. Use a different name like `externalId` or `legacyId` for external identifiers.</Note>
<Note>اسم الحقل `id` محجوز للمعرّف الداخلي الخاص بـ Twenty. استخدم اسمًا مختلفًا مثل `externalId` أو `legacyId` للمعرّفات الخارجية.</Note>
## Import Behavior
## سلوك الاستيراد
### Creating New Records
### إنشاء سجلات جديدة
If a unique field value doesn't exist, a new record is created.
إذا لم تكن قيمة الحقل الفريد موجودة، فسيتم إنشاء سجل جديد.
### Updating Existing Records
### تحديث السجلات الموجودة
If a unique field value matches an existing record, that record is **updated** with the new data.
<Warning>To **update existing records**, it is recommended to **only match one unique field**.</Warning>
إذا طابقت قيمة حقل فريد سجلًا موجودًا، فسيتم **تحديث** ذلك السجل بالبيانات الجديدة.
<Warning>لـ **تحديث السجلات الموجودة**، يُنصَح بـ **مطابقة حقل فريد واحد فقط**.</Warning>
### Soft-Deleted Records
### السجلات المحذوفة حذفًا غير نهائي
<Warning>
**Deleted records count toward uniqueness.**
**السجلات المحذوفة تُحتسب ضمن التفرّد.**
Soft-deleted records (visible under Command Menu → See deleted records) are included in uniqueness checks. If you import a record with the same unique value as a deleted record, the deleted record will be **restored** with the new data.
السجلات المحذوفة حذفًا غير نهائي (مرئية ضمن Command Menu → See deleted records) مُدرجة ضمن فحوصات التفرّد. إذا قمت باستيراد سجل بالقيمة الفريدة نفسها لسجل محذوف، فسيتم **استعادة** السجل المحذوف مع البيانات الجديدة.
</Warning>
## Duplicate Detection During Import
## اكتشاف التكرارات أثناء الاستيراد
During the validation phase:
أثناء مرحلة التحقق:
* Duplicates within your file are highlighted in yellow
* You can edit or remove duplicate rows from the UI before starting the import
* يتم تمييز التكرارات داخل ملفك باللون الأصفر
* يمكنك تعديل الصفوف المكرّرة أو إزالتها من واجهة المستخدم قبل بدء الاستيراد
<VimeoEmbed videoId="1145246326" title="Video demonstration" />
<VimeoEmbed videoId="1145246326" title="عرض توضيحي بالفيديو" />
## أفضل الممارسات
1. **Remove duplicates** from your file before importing
2. **Check for existing records** in Twenty before importing
3. **Use external IDs** when migrating from other systems
4. **Include unique fields** if you want to update existing records
1. **أزل التكرارات** من ملفك قبل الاستيراد
2. **تحقّق من السجلات الموجودة** في Twenty قبل الاستيراد
3. **استخدم المعرّفات الخارجية** عند الترحيل من أنظمة أخرى
4. **ضمّن الحقول الفريدة** إذا كنت تريد تحديث السجلات الموجودة
@@ -1,5 +1,5 @@
---
title: Glossary
title: مسرد المصطلحات
description: تعرّف على المصطلحات الأساسية المستخدمة في Twenty.
---
@@ -7,24 +7,24 @@ description: تعرّف على المصطلحات الأساسية المستخ
واجهة برمجة التطبيقات (API) تتيح لك ربط Twenty بأنظمة برمجية أخرى وبناء تكاملات مخصصة.
## Apps
## التطبيقات
Apps are custom extensions built as code that can define data models and serverless functions. They enable developers to create reusable customizations that can be deployed across multiple workspaces.
التطبيقات هي امتدادات مخصّصة مُنشأة على شكل شيفرة يمكنها تعريف نماذج البيانات ووظائف بدون خوادم. تمكّن المطورين من إنشاء تخصيصات قابلة لإعادة الاستخدام يمكن نشرها عبر مساحات عمل متعددة.
## Code Actions
## إجراءات الكود
Code Actions are workflow steps that let you write custom JavaScript to transform data, make calculations, or perform complex logic that isn't possible with built-in actions.
إجراءات الكود هي خطوات في سير العمل تتيح لك كتابة شيفرة JavaScript مخصصة لتحويل البيانات أو إجراء حسابات أو تنفيذ منطق معقد غير ممكن بالإجراءات المضمنة.
## قائمة الأوامر
قائمة الأوامر هي واجهة وصول سريع (تُفتح باستخدام `Cmd + K` على Mac و `Ctrl + K` على Windows) تتيح لك تنفيذ الإجراءات وإنشاء السجلات والتنقل بكفاءة في مساحة العمل الخاصة بك.
## Company & People
## الشركات والأشخاص
The CRM has two fundamental types of records:
يتضمن نظام إدارة علاقات العملاء نوعين أساسيين من السجلات:
* تمثل `الشركة` عملاً تجارياً أو منظمة.
* `People` represent your company's current and prospective customers or clients.
* `People` تمثل العملاء الحاليين والمحتملين لشركتك.
## الحقول المخصصة
@@ -44,7 +44,7 @@ The CRM has two fundamental types of records:
## مكرر
An Iterator is a workflow action that loops through an array of items, executing subsequent actions for each item in the list.
المكرر هو إجراء في سير العمل يتكرر عبر مصفوفة من العناصر، وينفذ الإجراءات اللاحقة لكل عنصر في القائمة.
## كانبان
@@ -56,7 +56,7 @@ An Iterator is a workflow action that loops through an array of items, executing
## الفرص
Opportunities in Twenty CRM are potential deals or sales with accounts or contacts.
الفرص في نظام Twenty لإدارة علاقات العملاء هي صفقات أو مبيعات محتملة مع الحسابات أو جهات الاتصال.
## السجل
@@ -76,15 +76,15 @@ Opportunities in Twenty CRM are potential deals or sales with accounts or contac
## المشغلات
Triggers are the starting point of a workflow — the event or condition that initiates the automation. Examples include record creation, record updates, webhooks, or scheduled times.
المشغلات هي نقطة البداية في سير العمل — الحدث أو الشرط الذي يبدأ الأتمتة. تشمل الأمثلة إنشاء السجلات، وتحديث السجلات، وخطافات الويب، أو الأوقات المجدولة.
## العروض
You can customize the display of your records using views, setting different filters, layouts and sorting options for each view.
يمكنك تخصيص عرض سجلاتك باستخدام العروض، وتعيين عوامل تصفية مختلفة وتخطيطات وخيارات فرز لكل عرض.
## Upsert
Upsert is an operation that combines "update" and "insert" — it updates an existing record if a match is found, or creates a new record if no match exists.
Upsert هي عملية تجمع بين "update" و"insert" — فهي تحدّث سجلاً موجوداً إذا تم العثور على تطابق، أو تنشئ سجلاً جديداً إذا لم يوجد تطابق.
## الويب هوكس
@@ -92,7 +92,7 @@ Upsert is an operation that combines "update" and "insert" — it updates an exi
## سير العمل
Workflows are automated processes that trigger actions based on specific conditions, helping you automate repetitive tasks and business processes.
مسارات العمل هي عمليات مؤتمتة تطلق إجراءات بناءً على شروط محددة، مما يساعدك على أتمتة المهام المتكررة والعمليات التجارية.
## مساحة العمل
@@ -1,6 +1,6 @@
---
title: إنشاء مساحة عمل
description: Follow a step-by-step guide on how to register on Twenty, choose a subscription plan, and set up your account.
description: اتبع دليل خطوة بخطوة عن كيفية التسجيل في Twenty، اختيار خطة اشتراك، وإعداد حسابك.
---
import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
@@ -13,7 +13,7 @@ import { VimeoEmbed } from '/snippets/vimeo-embed.mdx';
* **متابعة باستخدام Microsoft** للتسجيل بحساب مايكروسوفت.
* أو، **متابعة باستخدام البريد الالكتروني** للتسجيل عبر البريد الإلكتروني.
<VimeoEmbed videoId="927066829" title="Video demonstration" />
<VimeoEmbed videoId="927066829" title="عرض توضيحي بالفيديو" />
## الخطوة 2: اختيار فترة التجربة
@@ -1,35 +1,35 @@
---
title: Navigate Around Twenty
title: التنقل في Twenty
description: احصل على لمحة سريعة عن كيفية التنقل في المنصة وأين تتخذ إجراءات مختلفة.
---
## التصميم الرئيسي
The center of the screen is **where your records live**: people, companies, opportunities, tasks, notes, dashboards, workflows and any other object you created. هذا هو المكان الذي تجري فيه جميع الأعمال اليومية.
مركز الشاشة هو **المكان الذي تتواجد فيه سجلاتك**: الأشخاص، الشركات، الفرص، المهام، الملاحظات، لوحات المعلومات، سير العمل، وأي كائن آخر أنشأته. هذا هو المكان الذي تجري فيه جميع الأعمال اليومية.
يمكنك **عرض، تعديل، حذف السجلات** من هنا وأيضاً **إنشاء عروض جديدة**.
<img src="/images/user-guide/home/main-layout.png" style={{width:'100%'}} />
## شريط التنقل
On the left side, from the top to the bottom, you'll be able to:
على الجانب الأيسر، من الأعلى إلى الأسفل، ستتمكن من:
* التبديل بين **مساحات العمل المختلفة** باستخدام القائمة المنسدلة أو إنشاء مساحة عمل جديدة
* استخدم **شريط البحث** (اضغط على `/` للتركيز عليه فوراً)
* افتح قسم **الإعدادات**
* احصل على وصول مباشر إلى **العروض المفضلة** لديك. المفضلات فريدة لكل مستخدم.
* التبديل بين الكائنات المختلفة
* **Create automations** using workflows
* **أنشئ عمليات أتمتة** باستخدام سير العمل
<img src="/images/user-guide/home/navigation-bar.png" style={{width:'100%'}} />
## The Command Menu
## قائمة الأوامر
The command menu gives you **quick access to actions** in Twenty. يمكنك الوصول إليها بطريقتين:
قائمة الأوامر تمنحك **وصولاً سريعاً إلى الإجراءات** في Twenty. يمكنك الوصول إليها بطريقتين:
* **اختصار لوحة المفاتيح**: اضغط `Cmd + K` (Mac) أو `Ctrl + K` (Windows)
* **Mouse**: Click the three dots in the top right corner
From there, you can:
* **الماوس**: انقر على النقاط الثلاث في الزاوية العلوية اليمنى
من هناك، يمكنك:
* إنشاء سجلات جديدة
* **استيراد وتصدير البيانات عبر csv**
* إنشاء عروض جديدة
@@ -38,15 +38,15 @@ The command menu gives you **quick access to actions** in Twenty. يمكنك ا
<img src="/images/user-guide/home/command-menu.png" style={{width:'100%'}} />
## The Search Bar
## شريط البحث
The search bar is accesible via the Command Menu, at the top of your navigation bar, or by pressing `/` to focus on it instantly. Search works across all object.
يمكن الوصول إلى شريط البحث عبر قائمة الأوامر، في أعلى شريط التنقل لديك، أو بالضغط على `/` للتركيز عليه فوراً. يعمل البحث عبر جميع الكائنات.
<img src="/images/user-guide/home/search-bar.png" style={{width:'100%'}} />
## The Side Panel
## اللوحة الجانبية
When you click on a record, the side panel appears on the right. This gives you a quick overview of the record's key information, without bringing you to another page. From there, you can decide to close this overview or to get additional information about this record, clicking on the Open button.
عند النقر على سجل، تظهر اللوحة الجانبية على اليمين. يوفّر لك هذا لمحة سريعة عن المعلومات الأساسية للسجل، دون نقلك إلى صفحة أخرى. من هناك، يمكنك اختيار إغلاق هذه اللمحة أو الحصول على معلومات إضافية حول هذا السجل، بالنقر على زر فتح.
<img src="/images/user-guide/home/side-panel.png" style={{width:'100%'}} />
@@ -56,7 +56,7 @@ When you click on a record, the side panel appears on the right. This gives you
استخدم القائمة المنسدلة في أعلى يسار التصميم الرئيسي للتبديل بين العروض المختلفة. على سبيل المثال:
* Use a Kanban view to track opportunities by stage
* استخدم عرض كانبان لتتبع الفرص حسب المرحلة
* استخدم عرض Group By لإنشاء أقسام وتحسين الكفاءة
* استخدم عوامل التصفية للتركيز على سجلات محددة (مثل العملاء المحتملين الذين تم إنشاؤهم الأسبوع الماضي)
* احفظ العروض المفلترة لاستخدامها لاحقاً
@@ -64,7 +64,7 @@ When you click on a record, the side panel appears on the right. This gives you
<img src="/images/user-guide/home/view-menu.png" style={{width:'100%'}} />
If you're new to Views, read our [Views & Pipelines guide](/l/ar/user-guide/views-pipelines/overview) to learn how to create and customize them.
إذا كنت جديدًا على العروض، فاقرأ [دليل العروض والمسارات](/l/ar/user-guide/views-pipelines/overview) لتتعلم كيفية إنشائها وتخصيصها.
## الإعدادات
@@ -72,13 +72,13 @@ If you're new to Views, read our [Views & Pipelines guide](/l/ar/user-guide/view
* **ربط حسابات البريد الإلكتروني والتقويم** لديك لتزامن سلس للبريد الإلكتروني والتقويم
* خصص **نموذج بياناتك**: أنشئ كائنات وحقولاً وعلاقات مخصصة
* **Access the API playground and configure webhooks**
* **ادخل إلى بيئة API التجريبية وقم بتهيئة خطافات الويب**
* **إدارة أذونات المستخدم** وعناصر التحكم في الوصول إلى مساحة العمل
* دعوة أعضاء الفريق وإدارة أدوار المستخدم
* تعديل ملف التعريف الخاص بك وتفضيلات مساحة العمل
* تكوين الفوترة ومراقبة استخدام اعتمادات سير العمل
* Discover and enable upcoming features (under Updates → Early Access)
* **Access Support** to reach out via live chat
* **Open the Documentation** to browse the User Guide and developer docs
* اكتشف ومكّن الميزات القادمة (ضمن التحديثات → الوصول المبكر)
* **الوصول إلى الدعم** للتواصل عبر الدردشة المباشرة
* **افتح المستندات** لاستعراض دليل المستخدم ووثائق المطورين
<Note>If you do not see all those sections under Settings, reach out to your workspace administrator - some of them have restricted access.</Note>
<Note>إذا لم ترَ كل تلك الأقسام ضمن الإعدادات، فتواصل مع مسؤول مساحة العمل لديك - فبعضها يتمتع بوصول مقيّد.</Note>
@@ -1,87 +1,87 @@
---
title: إدارة الأعضاء
description: Invite team members and manage workspace access.
description: دعوة أعضاء الفريق وإدارة الوصول إلى مساحة العمل.
---
Manage who has access to your workspace under **Settings → Members**.
إدارة من لديهم حق الوصول إلى مساحة العمل الخاصة بك ضمن **الإعدادات → الأعضاء**.
## دعوة أعضاء جدد
### Using Email Invitation
### استخدام الدعوة عبر البريد الإلكتروني
1. انتقل إلى **الإعدادات → الأعضاء**
2. Click **+ Invite**
2. انقر **+ دعوة**
3. أدخل عنوان البريد الإلكتروني للشخص
4. Select a role for the new member
5. Click **Send invite**
4. حدد دورًا للعضو الجديد
5. انقر **إرسال دعوة**
The invited person will receive an email with a link to join your workspace.
سيتلقى الشخص المدعو رسالة بريد إلكتروني تحتوي على رابط للانضمام إلى مساحة العمل الخاصة بك.
### Using Invite Link
### استخدام رابط الدعوة
1. انتقل إلى **الإعدادات → الأعضاء**
2. انسخ رابط دعوة مساحة العمل
3. شارك الرابط مع أعضاء الفريق الجدد
4. سيحصلون على الوصول بمجرد التسجيل
## View and Manage Members
## عرض الأعضاء وإدارتهم
### View All Members
### عرض جميع الأعضاء
Go to **Settings → Members** to see:
انتقل إلى **الإعدادات → الأعضاء** لمشاهدة:
* All active members
* Pending invitations
* جميع الأعضاء النشطين
* الدعوات المعلقة
### Edit a Member's Profile
### تحرير ملف تعريف عضو
Click on a member to open their profile page. As an admin, you can:
انقر على عضو لفتح صفحة ملف التعريف الخاصة به. بصفتك مسؤولًا، يمكنك:
* Edit their **name**
* Update their **profile picture**
* **Impersonate** their account (useful for troubleshooting)
* **Delete** their account
* تحرير **الاسم**
* تحديث **صورة ملف التعريف**
* **انتحال شخصية** حسابهم (مفيد لاستكشاف الأخطاء وإصلاحها)
* **حذف** حسابهم
### Change a Member's Role
### تغيير دور أحد الأعضاء
On the member's profile page:
في صفحة ملف تعريف العضو:
1. Open the **Permissions** tab
2. View the currently assigned role
3. Select a different role from the dropdown
4. The change takes effect immediately
1. افتح علامة تبويب **الأذونات**
2. عرض الدور المعين حاليًا
3. حدد دورًا مختلفًا من القائمة المنسدلة
4. يسري التغيير فورًا
→ [Learn more about roles and permissions](/l/ar/user-guide/permissions-access/capabilities/permissions)
→ [تعرّف على المزيد حول الأدوار والأذونات](/l/ar/user-guide/permissions-access/capabilities/permissions)
### Remove a Member
### إزالة عضو
1. Click on the member to open their profile
2. Click **Delete** to remove them from the workspace
1. انقر على العضو لفتح ملف التعريف الخاص به
2. انقر **حذف** لإزالته من مساحة العمل
<Warning>
Removed members lose access immediately. Their data (records, notes, tasks) remains in the workspace.
يفقد الأعضاء الذين تمت إزالتهم حق الوصول فورًا. تبقى بياناتهم (السجلات، الملاحظات، المهام) في مساحة العمل.
</Warning>
<Warning>
**Email sync is also removed.** If the deleted user was the only one who synced certain emails, those emails will be permanently removed from the workspace.
**تتم أيضًا إزالة مزامنة البريد الإلكتروني.** إذا كان المستخدم المحذوف هو الوحيد الذي قام بمزامنة رسائل بريد إلكتروني معينة، فستتم إزالة تلك الرسائل نهائيًا من مساحة العمل.
</Warning>
## Pending Invitations
## الدعوات المعلقة
Manage invitations that haven't been accepted:
إدارة الدعوات التي لم تُقبل:
* **Resend**: Send the invitation email again
* **Cancel**: Revoke the invitation before it's accepted
* **إعادة الإرسال**: إرسال رسالة الدعوة عبر البريد الإلكتروني مرة أخرى
* **إلغاء**: سحب الدعوة قبل قبولها
## نطاقات الوصول المعتمدة
Allow team members to join automatically based on their email domain:
السماح لأعضاء الفريق بالانضمام تلقائيًا بناءً على نطاق بريدهم الإلكتروني:
1. اذهب إلى **الإعدادات → النطاقات**
2. Add your company domain (e.g., `yourcompany.com`)
3. Anyone with that email domain can join without an invitation
2. أضف نطاق شركتك (مثل: `yourcompany.com`)
3. يمكن لأي شخص ينتمي بريده الإلكتروني إلى ذلك النطاق الانضمام من دون دعوة
## Related
## ذات صلة
* [Permissions](/l/ar/user-guide/permissions-access/capabilities/permissions) — configure what each role can do
* [Domains Settings](/l/ar/user-guide/settings/capabilities/domains-settings) — configure approved domains
* [الأذونات](/l/ar/user-guide/permissions-access/capabilities/permissions) — تحديد ما يمكن لكل دور القيام به
* [إعدادات النطاقات](/l/ar/user-guide/settings/capabilities/domains-settings) — تهيئة النطاقات المعتمدة
@@ -1,64 +1,64 @@
---
title: عرض الجداول
description: Display your data in a spreadsheet-like list format.
description: اعرض بياناتك في تنسيق قائمة شبيه بجدول البيانات.
---
## حول عرض الجداول
Table views display records in rows with customizable columns—like a spreadsheet. This is the default view type for most objects.
تعرض طرق عرض الجدول السجلات في صفوف مع أعمدة قابلة للتخصيص—مثل جدول البيانات. هذا هو نوع العرض الافتراضي لمعظم الكائنات.
<img src="/images/user-guide/table-views/table-view.png" style={{width:'100%'}} />
## Features
## الميزات
### Column Configuration
### تكوين الأعمدة
* Show or hide columns (fields)
* Resize column widths
* Reorder columns by dragging
* إظهار الأعمدة (الحقول) أو إخفاؤها
* تغيير عرض الأعمدة
* أعد ترتيب الأعمدة بالسحب
### Group By a Select Field
### التجميع حسب حقل من نوع اختيار
Organize records into collapsible groups based on a field of select type.
نظّم السجلات في مجموعات قابلة للطي استنادًا إلى حقل من نوع اختيار.
<img src="/images/user-guide/table-views/table-group-by.png" style={{width:'100%'}} />
1. Click **Options**
2. Select **Group**
3. Choose a Select field
4. Configure group order under **Options → Group → Sort**:
* **Alphabetical** or **Reverse alphabetical**
* **Manual order**: Drag groups under "Visible groups" to reorder
* Click the **eye icon** next to a group to hide it
1. انقر على **الخيارات**
2. اختر **التجميع**
3. اختر حقلاً من نوع اختيار
4. اضبط ترتيب المجموعات ضمن **الخيارات → التجميع → الفرز**:
* **أبجدي** أو **أبجدي معكوس**
* **ترتيب يدوي**: اسحب المجموعات تحت "المجموعات المرئية" لإعادة ترتيبها
* انقر على **أيقونة العين** بجوار مجموعة لإخفائها
**حالات الاستخدام:**
* Group Company by Type
* Group Opportunities by Stage
* Group Tasks by Status
* تجميع الشركات حسب النوع
* تجميع الفرص حسب المرحلة
* تجميع المهام حسب الحالة
<Note>
**For best performance, limit to 10-15 visible groups per view.** If you need more groups, consider using a Dashboard instead.
**لأفضل أداء، احصرها في 10-15 مجموعة مرئية لكل عرض.** إذا كنت تحتاج إلى المزيد من المجموعات، ففكّر في استخدام لوحة المعلومات بدلاً من ذلك.
</Note>
### Column Widths
### عرض الأعمدة
Resize columns to show more or less content:
غيّر حجم الأعمدة لإظهار محتوى أكثر أو أقل:
1. Hover between two column headers
2. Click and drag the column border
3. Release to set the new width
1. ضع المؤشر بين رأسي عمودين
2. انقر واسحب حدّ العمود
3. حرّر لتعيين العرض الجديد
## When to Use Table Views
## متى يجب استخدام طرق عرض الجدول
Table views work best for:
تعمل طرق عرض الجدول بشكل أفضل لـ:
* **Browsing large datasets** — scan many records quickly
* **Data entry** — edit multiple records efficiently
* **Detailed analysis** — see many fields at once
* **Sorting and filtering** — find specific records
* **استعراض مجموعات بيانات كبيرة** — تصفّح العديد من السجلات بسرعة
* **إدخال البيانات** — تحرير سجلات متعددة بكفاءة
* **تحليل مفصّل** — عرض العديد من الحقول في آنٍ واحد
* **الفرز والتصفية** — العثور على سجلات محددة
## Related
## ذات صلة
* [Fields and Columns](/l/ar/user-guide/views-pipelines/capabilities/fields-and-columns) — configuring which fields to display
* [Filters and Sorting](/l/ar/user-guide/views-pipelines/capabilities/filters-and-sorting) — narrowing down records
* [الحقول والأعمدة](/l/ar/user-guide/views-pipelines/capabilities/fields-and-columns) — تكوين الحقول المراد عرضها
* [عوامل التصفية والفرز](/l/ar/user-guide/views-pipelines/capabilities/filters-and-sorting) — تضييق نطاق السجلات
@@ -1,27 +1,27 @@
---
title: Bring Typeform Submissions into Twenty
description: Handle Typeform's webhook payload to create leads from form submissions.
title: جلب عمليات إرسال Typeform إلى Twenty
description: التعامل مع حمولة webhook الخاصة بـ Typeform لإنشاء عملاء محتملين من عمليات إرسال النماذج.
---
For standard webhook setup, see [Set Up a Webhook Trigger](/l/ar/user-guide/workflows/how-tos/connect-to-other-tools/set-up-a-webhook-trigger). This article covers the specific handling required for Typeform's custom payload structure.
لإعداد webhook القياسي، راجع [إعداد مشغّل Webhook](/l/ar/user-guide/workflows/how-tos/connect-to-other-tools/set-up-a-webhook-trigger). يتناول هذا المقال المعالجة المحددة المطلوبة لبنية الحمولة المخصصة الخاصة بـ Typeform.
### Step 1: Create a Webhook Workflow
### الخطوة 1: إنشاء سير عمل Webhook
1. Go to **Settings → Workflows**
2. Click **+ New Workflow**
3. Select **Webhook** as the trigger
4. Copy the webhook URL
1. انتقل إلى **الإعدادات → سير العمل**
2. انقر **+ سير عمل جديد**
3. حدد **Webhook** كمشغّل
4. انسخ عنوان URL الخاص بالـ webhook
### Step 2: Configure Typeform
### الخطوة 2: تهيئة Typeform
1. In Typeform, open your form
2. Go to **Connect → Webhooks**
3. Paste your Twenty webhook URL
1. في Typeform، افتح نموذجك
2. انتقل إلى **Connect → Webhooks**
3. الصق عنوان URL للـ webhook الخاص بـ Twenty
4. حفظ
### Step 3: Understand the Typeform Payload
### الخطوة 3: فهم حمولة Typeform
Typeform sends a nested JSON structure. Here's a simplified example:
يرسل Typeform بنية JSON متداخلة. إليك مثال مبسط:
```json
{
@@ -60,15 +60,15 @@ Typeform sends a nested JSON structure. Here's a simplified example:
}
```
Key things to note:
أمور رئيسية يجب ملاحظتها:
* Form data is nested under `form_response`
* **Answers are returned as an array**, not as named fields
* Each answer includes the field type and title for reference
* بيانات النموذج متداخلة تحت `form_response`
* **تُعاد الإجابات كمصفوفة**، وليست كحقول مسماة
* تتضمن كل إجابة نوع الحقل وعنوانه للرجوع إليه
### Step 4: Extract Fields from the Answers Array
### الخطوة 4: استخراج الحقول من مصفوفة الإجابات
Since `answers` is an array, you can only select the entire array in subsequent steps — not individual fields. Add a **Code** action to extract the fields you need:
بما أن `answers` مصفوفة، يمكنك اختيار المصفوفة كاملة فقط في الخطوات اللاحقة — وليس حقول فردية. أضف إجراء **Code** لاستخراج الحقول التي تحتاجها:
```javascript
export const main = async (params: {
@@ -100,31 +100,31 @@ export const main = async (params: {
};
```
Now in subsequent steps, you can select `contact.firstName`, `contact.email`, etc. from the variable picker.
الآن في الخطوات اللاحقة، يمكنك تحديد `contact.firstName` و`contact.email` وغيرها من منتقي المتغيرات.
<Tip>
For more details on handling arrays in Code actions, see [Handle Arrays in Code Actions](/l/ar/user-guide/workflows/how-tos/advanced-configurations/handle-arrays-in-code-actions).
لمزيد من التفاصيل حول التعامل مع المصفوفات في إجراءات Code، راجع [التعامل مع المصفوفات في إجراءات Code](/l/ar/user-guide/workflows/how-tos/advanced-configurations/handle-arrays-in-code-actions).
</Tip>
### Step 5: Create the Record
### الخطوة 5: إنشاء السجل
Add a **Create Record** action:
أضف إجراء **Create Record**:
| الحقل | القيمة |
| -------------- | ---------------------------------------------------- |
| **Object** | الأشخاص |
| **First Name** | `{{code.contact.firstName}}` |
| **Last Name** | `{{code.contact.lastName}}` |
| **Email** | `{{code.contact.email}}` |
| **Company** | Search or create based on `{{code.contact.company}}` |
| الحقل | القيمة |
| --------------------- | ------------------------------------------------ |
| **الكائن** | الأشخاص |
| **الاسم الأول** | `{{code.contact.firstName}}` |
| **الاسم الأخير** | `{{code.contact.lastName}}` |
| **البريد الإلكتروني** | `{{code.contact.email}}` |
| **الشركة** | ابحث أو أنشئ بناء على `{{code.contact.company}}` |
### Step 6: Test and Activate
### الخطوة 6: الاختبار والتفعيل
1. Submit a test response in Typeform
2. Check the workflow run to verify data was captured
3. Activate the workflow
1. أرسل ردا تجريبيا في Typeform
2. تحقق من تشغيل سير العمل للتأكد من التقاط البيانات
3. فعّل سير العمل
## Related
## ذات صلة
* [Set Up a Webhook Trigger](/l/ar/user-guide/workflows/how-tos/connect-to-other-tools/set-up-a-webhook-trigger)
* [Handle Arrays in Code Actions](/l/ar/user-guide/workflows/how-tos/advanced-configurations/handle-arrays-in-code-actions)
* [إعداد مشغّل Webhook](/l/ar/user-guide/workflows/how-tos/connect-to-other-tools/set-up-a-webhook-trigger)
* [التعامل مع المصفوفات في إجراءات Code](/l/ar/user-guide/workflows/how-tos/advanced-configurations/handle-arrays-in-code-actions)