@object-ui/i18n 6.2.3 → 7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,1298 +1,2024 @@
1
- /**
2
- * العربية (ar) - Arabic language pack for Object UI
3
- * Note: Arabic is an RTL (Right-to-Left) language
4
- */
5
1
  const ar = {
6
- common: {
7
- addToFavorites: 'إضافة إلى المفضلة',
8
- removeFromFavorites: 'إزالة من المفضلة',
9
- loading: 'جاري التحميل...',
10
- save: 'حفظ',
11
- cancel: 'إلغاء',
12
- delete: 'حذف',
13
- edit: 'تعديل',
14
- create: 'إنشاء',
15
- search: 'بحث',
16
- filter: 'تصفية',
17
- reset: 'إعادة تعيين',
18
- confirm: 'تأكيد',
19
- close: 'إغلاق',
20
- back: 'رجوع',
21
- next: 'التالي',
22
- previous: 'السابق',
23
- submit: 'إرسال',
24
- refresh: 'تحديث',
25
- export: 'تصدير',
26
- import: 'استيراد',
2
+ lookup: {
3
+ recentlyUsed: 'المستخدمة مؤخرًا',
4
+ allResults: 'كل النتائج',
5
+ createNew: 'إنشاء جديد',
6
+ createNamed: 'إنشاء «{{name}}»',
7
+ showingResults: 'عرض {{shown}} من {{total}} نتيجة',
8
+ showAllResults: 'عرض كل النتائج ({{count}})',
9
+ selectedBadge: 'محدد',
10
+ browseAll: 'استعراض كل السجلات',
11
+ remove: 'إزالة {{label}}',
12
+ selectFirst: 'اختر {{fields}} أولاً',
13
+ selectRecord: 'اختيار سجل',
14
+ recordCount: '{{count}} سجل',
15
+ recordCountOne: 'سجل واحد',
16
+ pageOf: 'صفحة {{current}} من {{total}}',
17
+ filters: 'عوامل التصفية',
18
+ clear: 'مسح',
27
19
  yes: 'نعم',
28
- no: 'لا',
29
- ok: 'موافق',
30
- actions: 'إجراءات',
31
- more: 'المزيد',
32
- selectAll: 'تحديد الكل',
33
- clearAll: 'مسح الكل',
34
- noData: 'لا توجد بيانات',
35
- noResults: 'لم يتم العثور على نتائج',
36
- required: 'مطلوب',
37
- optional: 'اختياري',
38
- selectOption: 'اختر خياراً',
39
- select: 'اختر...',
40
- openChat: 'فتح المحادثة',
41
- closeChat: 'إغلاق المحادثة',
42
- toggleSidebar: 'تبديل الشريط الجانبي',
20
+ filterPlaceholder: 'تصفية {{label}}',
21
+ prevPage: 'الصفحة السابقة',
22
+ nextPage: 'الصفحة التالية',
23
+ jumpToPage: 'الانتقال إلى الصفحة',
24
+ retry: 'إعادة المحاولة',
25
+ loading: 'جارٍ التحميل…',
26
+ noOptions: 'لا توجد خيارات',
27
+ noRecords: 'لا توجد سجلات',
28
+ },
29
+ common: {
30
+ addToFavorites: "إضافة إلى المفضلة",
31
+ removeFromFavorites: "إزالة من المفضلة",
32
+ loading: "جاري التحميل...",
33
+ save: "حفظ",
34
+ cancel: "إلغاء",
35
+ delete: "حذف",
36
+ edit: "تعديل",
37
+ create: "إنشاء",
38
+ search: "بحث",
39
+ filter: "تصفية",
40
+ reset: "إعادة تعيين",
41
+ confirm: "تأكيد",
42
+ close: "إغلاق",
43
+ back: "رجوع",
44
+ next: "التالي",
45
+ previous: "السابق",
46
+ submit: "إرسال",
47
+ refresh: "تحديث",
48
+ export: "تصدير",
49
+ import: "استيراد",
50
+ yes: "نعم",
51
+ no: "لا",
52
+ ok: "موافق",
53
+ actions: "إجراءات",
54
+ more: "المزيد",
55
+ selectAll: "تحديد الكل",
56
+ clearAll: "مسح الكل",
57
+ noData: "لا توجد بيانات",
58
+ noResults: "لم يتم العثور على نتائج",
59
+ required: "مطلوب",
60
+ optional: "اختياري",
61
+ selectOption: "اختر خياراً",
62
+ select: "اختر...",
63
+ openChat: "فتح المحادثة",
64
+ closeChat: "إغلاق المحادثة",
65
+ toggleSidebar: "تبديل الشريط الجانبي",
66
+ package: "الحزمة",
67
+ },
68
+ actions: {
69
+ resultDialog: {
70
+ defaultTitle: 'Save this value now',
71
+ acknowledge: 'I have saved this',
72
+ },
43
73
  },
44
74
  validation: {
45
- required: '{{field}} مطلوب',
46
- minLength: '{{field}} يجب أن يكون {{min}} حرفاً على الأقل',
47
- maxLength: '{{field}} يجب ألا يتجاوز {{max}} حرفاً',
48
- min: '{{field}} يجب أن يكون {{min}} على الأقل',
49
- max: '{{field}} يجب ألا يتجاوز {{max}}',
50
- email: 'يرجى إدخال بريد إلكتروني صالح',
51
- url: 'يرجى إدخال رابط صالح',
52
- pattern: 'صيغة {{field}} غير صالحة',
53
- unique: '{{field}} يجب أن يكون فريداً',
54
- type: '{{field}} يجب أن يكون {{type}} صالحاً',
75
+ required: "{{field}} مطلوب",
76
+ minLength: "{{field}} يجب أن يكون {{min}} حرفاً على الأقل",
77
+ maxLength: "{{field}} يجب ألا يتجاوز {{max}} حرفاً",
78
+ min: "{{field}} يجب أن يكون {{min}} على الأقل",
79
+ max: "{{field}} يجب ألا يتجاوز {{max}}",
80
+ email: "يرجى إدخال بريد إلكتروني صالح",
81
+ url: "يرجى إدخال رابط صالح",
82
+ pattern: "صيغة {{field}} غير صالحة",
83
+ unique: "{{field}} يجب أن يكون فريداً",
84
+ type: "{{field}} يجب أن يكون {{type}} صالحاً",
55
85
  },
56
86
  form: {
57
- addItem: 'إضافة عنصر',
58
- removeItem: 'إزالة عنصر',
59
- fieldRequired: 'هذا الحقل مطلوب',
60
- invalidFormat: 'صيغة غير صالحة',
61
- saveSuccess: 'تم الحفظ بنجاح',
62
- saveError: 'فشل في الحفظ',
63
- unsavedChanges: 'لديك تغييرات غير محفوظة. هل أنت متأكد أنك تريد المغادرة؟',
64
- stepOf: 'الخطوة {{current}} من {{total}}',
65
- createTitle: 'إنشاء {{object}}',
66
- editTitle: 'تعديل {{object}}',
67
- createDescription: 'إضافة {{object}} جديد إلى قاعدة البيانات.',
68
- editDescription: 'تحديث تفاصيل {{object}}',
69
- saveRecord: 'حفظ السجل',
87
+ addItem: "إضافة عنصر",
88
+ removeItem: "إزالة عنصر",
89
+ fieldRequired: "هذا الحقل مطلوب",
90
+ invalidFormat: "صيغة غير صالحة",
91
+ saveSuccess: "تم الحفظ بنجاح",
92
+ saveError: "فشل في الحفظ",
93
+ unsavedChanges: "لديك تغييرات غير محفوظة. هل أنت متأكد أنك تريد المغادرة؟",
94
+ stepOf: "الخطوة {{current}} من {{total}}",
95
+ createTitle: "إنشاء {{object}}",
96
+ editTitle: "تعديل {{object}}",
97
+ createDescription: "إضافة {{object}} جديد إلى قاعدة البيانات.",
98
+ editDescription: "تحديث تفاصيل {{object}}",
99
+ saveRecord: "حفظ السجل",
100
+ create: "إنشاء",
101
+ update: "تحديث",
102
+ createSuccess: "تم إنشاء {{object}}",
103
+ updateSuccess: "تم تحديث {{object}}",
104
+ deleteSuccess: "تم حذف {{object}}",
70
105
  },
71
106
  fields: {
72
107
  richText: {
73
- format: 'Format: {{format}}',
74
- basicEditorHint: 'Rich text editor (basic)',
75
- placeholder: 'Enter text...',
108
+ format: "التنسيق: {{format}}",
109
+ basicEditorHint: "محرر النص الغني (أساسي)",
110
+ placeholder: "اكتب شيئاً...",
76
111
  },
77
112
  },
78
113
  table: {
79
- rowsPerPage: 'صفوف في الصفحة',
80
- showing: 'عرض {{from}} إلى {{to}} من {{total}}',
81
- noRows: 'لا توجد صفوف للعرض',
82
- sortAsc: 'ترتيب تصاعدي',
83
- sortDesc: 'ترتيب تنازلي',
84
- filterColumn: 'تصفية {{column}}',
85
- columns: 'الأعمدة',
86
- exportCSV: 'تصدير CSV',
87
- exportExcel: 'تصدير Excel',
88
- selectRow: 'تحديد صف',
89
- selectAllRows: 'تحديد جميع الصفوف',
90
- expandRow: 'توسيع الصف',
91
- collapseRow: 'طي الصف',
92
- hideColumn: 'إخفاء العمود',
93
- freezeColumn: 'تجميد العمود',
94
- unfreezeColumn: 'إلغاء تجميد العمود',
95
- pageInfo: 'صفحة {{current}} من {{total}}',
96
- totalRecords: '{{count}} إجمالي',
114
+ rowsPerPage: "صفوف في الصفحة",
115
+ showing: "عرض {{from}} إلى {{to}} من {{total}}",
116
+ noRows: "لا توجد صفوف للعرض",
117
+ sortAsc: "ترتيب تصاعدي",
118
+ sortDesc: "ترتيب تنازلي",
119
+ filterColumn: "تصفية {{column}}",
120
+ columns: "الأعمدة",
121
+ exportCSV: "تصدير CSV",
122
+ exportExcel: "تصدير Excel",
123
+ selectRow: "تحديد صف",
124
+ selectAllRows: "تحديد جميع الصفوف",
125
+ expandRow: "توسيع الصف",
126
+ collapseRow: "طي الصف",
127
+ hideColumn: "إخفاء العمود",
128
+ freezeColumn: "تجميد العمود",
129
+ unfreezeColumn: "إلغاء تجميد العمود",
130
+ pageInfo: "صفحة {{current}} من {{total}}",
131
+ totalRecords: "{{count}} إجمالي",
132
+ noResults: "لا نتائج",
133
+ noResultsHint: "حاول تعديل الفلاتر أو مصطلحات البحث.",
134
+ cancelAll: "إلغاء الكل",
135
+ saveAll: "حفظ الكل ({{count}})",
136
+ addRecord: "إضافة سجل",
137
+ open: "فتح",
138
+ search: "بحث...",
139
+ modified: "{{count}} صف(صفوف) معدّل(ة)",
140
+ selected: "{{count}} محدد(ة)",
141
+ edit: "تعديل",
142
+ delete: "حذف",
97
143
  },
98
144
  grid: {
99
- actions: 'إجراءات',
100
- edit: 'تعديل',
101
- delete: 'حذف',
102
- export: 'تصدير',
103
- exportAs: 'تصدير كـ {{format}}',
104
- loading: 'جاري تحميل الشبكة...',
105
- errorLoading: 'خطأ في تحميل الشبكة',
106
- pullToRefresh: 'اسحب للتحديث',
107
- refreshing: 'جاري التحديث…',
108
- openRecord: 'فتح السجل',
109
- rowHeight: 'ارتفاع الصف: {{mode}}',
145
+ actions: "إجراءات",
146
+ edit: "تعديل",
147
+ delete: "حذف",
148
+ export: "تصدير",
149
+ exportAs: "تصدير كـ {{format}}",
150
+ loading: "جاري تحميل الشبكة...",
151
+ errorLoading: "خطأ في تحميل الشبكة",
152
+ pullToRefresh: "اسحب للتحديث",
153
+ refreshing: "جاري التحديث…",
154
+ openRecord: "فتح السجل",
155
+ rowHeight: "ارتفاع الصف: {{mode}}",
156
+ openMenu: "فتح القائمة",
157
+ empty: "فارغ",
158
+ yes: "نعم",
159
+ no: "لا",
160
+ systemFields: "النظام",
161
+ toolbar: {
162
+ densityMode: "الكثافة",
163
+ densityCompact: "مضغوط",
164
+ densityComfortable: "عادي",
165
+ densitySpacious: "فسيح",
166
+ densityCycleHint: "{{label}} (انقر للتغيير)",
167
+ densityCycleShortHint: "انقر للتغيير",
168
+ },
169
+ import: {
170
+ title: "استيراد {{object}}",
171
+ stepUpload: "رفع",
172
+ stepMapping: "تعيين",
173
+ stepPreview: "معاينة",
174
+ uploadDescription: "ارفع ملف CSV للبدء.",
175
+ mappingDescription: "عيّن أعمدة CSV إلى حقول الكائن.",
176
+ previewDescription: "راجع البيانات قبل الاستيراد.",
177
+ dragDrop: "اسحب ملف CSV هنا أو انقر للتصفح",
178
+ browseFiles: "تصفح الملفات",
179
+ onlyCsv: "ملفات CSV فقط مدعومة.",
180
+ fileNeedsHeader: "يجب أن يحتوي الملف على صف رأسي وصف بيانات واحد على الأقل.",
181
+ mappingTemplate: "قالب التعيين:",
182
+ chooseTemplate: "اختر قالباً…",
183
+ noSavedTemplates: "لا قوالب محفوظة",
184
+ noneOption: "— لا شيء —",
185
+ saveCurrent: "حفظ الحالي",
186
+ templateName: "اسم القالب",
187
+ save: "حفظ",
188
+ deleteTemplate: "حذف القالب",
189
+ csvColumn: "عمود CSV",
190
+ mapsTo: "يُعيَّن إلى",
191
+ status: "الحالة",
192
+ skipColumn: "تخطي العمود",
193
+ skip: "— تخطي —",
194
+ mapped: "مُعيَّن",
195
+ skipped: "مُتخطَّى",
196
+ rowsWithErrors: "{{count}} صف(صفوف) بها أخطاء",
197
+ rowsCorrected: "{{count}} صف(صفوف) تم تصحيحها",
198
+ clickToFix: "— انقر على خلية مميزة للتعديل.",
199
+ showingRows: "عرض {{shown}} من {{total}} صف",
200
+ importing: "جارٍ الاستيراد… {{progress}}%",
201
+ importComplete: "اكتمل الاستيراد",
202
+ imported: "{{count}} مُستورَد(ة)",
203
+ skippedCount: "{{count}} مُتخطَّى(ة)",
204
+ moreErrors: "…و{{count}} خطأ(أخطاء) أخرى",
205
+ cancel: "إلغاء",
206
+ back: "رجوع",
207
+ next: "التالي",
208
+ close: "إغلاق",
209
+ importNRows: "استيراد {{count}} صف",
210
+ importingProgress: "جارٍ الاستيراد…",
211
+ requiredMark: "*",
212
+ required: "مطلوب",
213
+ invalidType: "{{type}} غير صالح",
214
+ },
110
215
  },
111
216
  calendar: {
112
- today: 'اليوم',
113
- month: 'شهر',
114
- week: 'أسبوع',
115
- day: 'يوم',
116
- agenda: 'جدول أعمال',
117
- allDay: 'طوال اليوم',
118
- noEvents: 'لا توجد أحداث',
119
- newEvent: 'حدث جديد',
120
- moreEvents: '+{{count}} المزيد',
217
+ today: "اليوم",
218
+ month: "شهر",
219
+ week: "أسبوع",
220
+ day: "يوم",
221
+ agenda: "جدول أعمال",
222
+ allDay: "طوال اليوم",
223
+ noEvents: "لا توجد أحداث",
224
+ newEvent: "حدث جديد",
225
+ moreEvents: "+{{count}} المزيد",
121
226
  },
122
227
  list: {
123
- recordCount: '{{count}} سجلات',
124
- recordCountOne: '{{count}} سجل',
125
- addRecord: 'إضافة سجل',
126
- tabs: 'علامات التبويب',
127
- allRecords: 'جميع السجلات',
128
- search: 'بحث',
129
- filter: 'تصفية',
130
- filterRecords: 'تصفية السجلات',
131
- sort: 'ترتيب',
132
- sortRecords: 'ترتيب السجلات',
133
- group: 'تجميع',
134
- groupBy: 'تجميع حسب',
135
- export: 'تصدير',
136
- exportAs: 'تصدير كـ {{format}}',
137
- color: 'لون',
138
- rowColor: 'لون الصف',
139
- colorByField: 'تلوين حسب الحقل',
140
- clear: 'مسح',
141
- none: 'لا شيء',
142
- hideFields: 'إخفاء الحقول',
143
- noItems: 'لم يتم العثور على عناصر',
144
- noItemsMessage: 'لا توجد سجلات للعرض. حاول تعديل الفلاتر أو إضافة بيانات جديدة.',
228
+ loading: 'Loading records...',
229
+ recordCount: "{{count}} سجلات",
230
+ recordCountOne: "{{count}} سجل",
231
+ addRecord: "إضافة سجل",
232
+ tabs: "علامات التبويب",
233
+ allRecords: "جميع السجلات",
234
+ search: "بحث",
235
+ filter: "تصفية",
236
+ filterRecords: "تصفية السجلات",
237
+ sort: "ترتيب",
238
+ sortRecords: "ترتيب السجلات",
239
+ group: "تجميع",
240
+ groupBy: "تجميع حسب",
241
+ export: "تصدير",
242
+ exportAs: "تصدير كـ {{format}}",
243
+ color: "لون",
244
+ rowColor: "لون الصف",
245
+ colorByField: "تلوين حسب الحقل",
246
+ clear: "مسح",
247
+ none: "لا شيء",
248
+ hideFields: "إخفاء الحقول",
249
+ noItems: "لم يتم العثور على عناصر",
250
+ noItemsMessage: "لا توجد سجلات للعرض. حاول تعديل الفلاتر أو إضافة بيانات جديدة.",
251
+ showAll: "عرض الكل",
252
+ pullToRefresh: "اسحب للتحديث",
253
+ refreshing: "جارٍ التحديث…",
254
+ share: "مشاركة",
255
+ print: "طباعة",
256
+ hideFieldsTitle: "إخفاء الحقول",
257
+ dataLimitReached: "يتم عرض أول {{limit}} سجل. قد تتوفر بيانات إضافية.",
258
+ viewSettings: "إعدادات العرض",
259
+ viewSettingsHint: "التجميع واللون والكثافة والحقول المرئية.",
260
+ addGroup: "إضافة حقل مجموعة",
261
+ collapsedByDefault: "مطوي افتراضياً",
262
+ removeGroup: "إزالة",
145
263
  },
146
264
  kanban: {
147
- addCard: 'إضافة بطاقة',
148
- addColumn: 'إضافة عمود',
149
- moveCard: 'نقل بطاقة',
150
- deleteCard: 'حذف بطاقة',
151
- deleteColumn: 'حذف عمود',
265
+ addCard: "إضافة بطاقة",
266
+ addColumn: "إضافة عمود",
267
+ moveCard: "نقل بطاقة",
268
+ deleteCard: "حذف بطاقة",
269
+ deleteColumn: "حذف عمود",
270
+ noCards: "لا بطاقات",
271
+ cardTitlePlaceholder: "أدخل عنوان البطاقة...",
152
272
  },
153
273
  timeline: {
154
274
  bucket: {
155
- overdue: 'متأخر',
156
- today: 'اليوم',
157
- tomorrow: 'غداً',
158
- thisWeek: 'هذا الأسبوع',
159
- nextWeek: 'الأسبوع القادم',
160
- later: 'لاحقاً',
161
- noDate: 'بدون تاريخ',
162
- unassigned: 'غير معين',
275
+ overdue: "متأخر",
276
+ today: "اليوم",
277
+ tomorrow: "غداً",
278
+ thisWeek: "هذا الأسبوع",
279
+ nextWeek: "الأسبوع القادم",
280
+ later: "لاحقاً",
281
+ noDate: "بدون تاريخ",
282
+ unassigned: "غير معين",
163
283
  },
164
284
  },
165
285
  gantt: {
166
286
  column: {
167
- taskName: 'Task Name',
168
- start: 'Start',
169
- end: 'End',
287
+ taskName: "اسم المهمة",
288
+ start: "البداية",
289
+ end: "النهاية",
170
290
  },
171
291
  toolbar: {
172
- prevPeriod: 'Previous period',
173
- nextPeriod: 'Next period',
174
- zoomIn: 'Zoom in',
175
- zoomOut: 'Zoom out',
176
- jumpToToday: 'Jump to today',
177
- today: 'Today',
178
- showTaskList: 'Show task list',
179
- hideTaskList: 'Hide task list',
292
+ prevPeriod: "الفترة السابقة",
293
+ nextPeriod: "الفترة التالية",
294
+ zoomIn: "تكبير",
295
+ zoomOut: "تصغير",
296
+ jumpToToday: "الانتقال إلى اليوم",
297
+ today: "اليوم",
298
+ showTaskList: "إظهار قائمة المهام",
299
+ hideTaskList: "إخفاء قائمة المهام",
180
300
  },
181
301
  },
182
302
  view: {
183
- rename: 'إعادة تسمية',
184
- duplicateView: 'تكرار العرض',
185
- shareView: 'مشاركة العرض',
186
- setAsDefault: 'تعيين كافتراضي',
187
- pinView: 'تثبيت العرض',
188
- unpinView: 'إلغاء تثبيت العرض',
189
- changeViewType: 'تغيير نوع العرض',
190
- deleteView: 'حذف العرض',
191
- addView: 'إضافة عرض',
192
- unsavedChanges: 'تغييرات غير محفوظة',
193
- saveAsView: 'حفظ كعرض',
194
- moreViews: '{{count}} المزيد',
195
- activeFilters: 'الفلاتر نشطة',
196
- activeSort: 'الترتيب نشط',
303
+ editViewConfig: "تعديل إعدادات العرض",
304
+ rename: "إعادة تسمية",
305
+ duplicateView: "تكرار العرض",
306
+ shareView: "مشاركة العرض",
307
+ setAsDefault: "تعيين كافتراضي",
308
+ pinView: "تثبيت العرض",
309
+ unpinView: "إلغاء تثبيت العرض",
310
+ changeViewType: "تغيير نوع العرض",
311
+ deleteView: "حذف العرض",
312
+ addView: "إضافة عرض",
313
+ unsavedChanges: "تغييرات غير محفوظة",
314
+ saveAsView: "حفظ كعرض",
315
+ moreViews: "{{count}} المزيد",
316
+ activeFilters: "الفلاتر نشطة",
317
+ activeSort: "الترتيب نشط",
318
+ manageViews: "إدارة العروض",
319
+ manageAllViews: "إدارة جميع العروض…",
320
+ manageViewsDescription: "إعادة ترتيب جميع طرق عرض هذا الكائن أو إعادة تسميتها أو تثبيتها أو حذفها.",
321
+ searchViews: "البحث في العروض",
322
+ addNewView: "إضافة عرض جديد",
323
+ done: "تم",
324
+ noViewsFound: "لا توجد عروض تطابق بحثك.",
325
+ dragToReorder: "اسحب لإعادة الترتيب",
326
+ defaultView: "العرض الافتراضي",
327
+ defaultBadge: "افتراضي",
328
+ tabActionsFor: "إجراءات العرض لـ {{name}}",
329
+ readonlyAriaLabel: "عرض للقراءة فقط",
330
+ readonlyTooltip: "عرض النظام — انسخ للتخصيص.",
331
+ },
332
+ designer: {
333
+ undo: 'Undo',
334
+ redo: 'Redo',
197
335
  },
198
336
  detail: {
199
- back: 'رجوع',
200
- edit: 'تحرير',
201
- editInline: 'تحرير',
202
- save: 'حفظ',
203
- saveChanges: 'حفظ التغييرات',
204
- editFieldsInline: 'تحرير الحقول',
205
- share: 'مشاركة',
206
- duplicate: 'نسخ',
207
- export: 'تصدير',
208
- viewHistory: 'عرض السجل',
209
- delete: 'حذف',
210
- moreActions: 'المزيد من الإجراءات',
211
- addToFavorites: 'إضافة إلى المفضلة',
212
- removeFromFavorites: 'إزالة من المفضلة',
213
- previousRecord: 'السجل السابق',
214
- nextRecord: 'السجل التالي',
215
- recordOf: '{{current}} من {{total}}',
216
- recordNotFound: 'لم يتم العثور على السجل',
217
- recordNotFoundDescription: 'السجل الذي تبحث عنه غير موجود أو ربما تم حذفه.',
218
- goBack: 'رجوع',
219
- details: 'التفاصيل',
220
- related: 'ذات صلة',
221
- relatedRecords: '{{count}} سجلات',
222
- relatedRecordOne: '{{count}} سجل',
223
- noRelatedRecords: 'لا توجد سجلات ذات صلة',
224
- loading: 'جاري التحميل...',
225
- copyToClipboard: 'نسخ إلى الحافظة',
226
- copied: 'تم النسخ!',
227
- deleteConfirmation: 'هل أنت متأكد أنك تريد حذف هذا السجل؟',
228
- editRecord: 'تحرير السجل',
229
- viewAll: 'عرض الكل',
230
- new: 'جديد',
231
- emptyValue: '—',
232
- comments: 'التعليقات',
233
- searchComments: 'البحث في التعليقات…',
234
- addCommentPlaceholder: 'أضف تعليقاً… (Ctrl+Enter للإرسال)',
235
- noMatchingComments: 'لا توجد تعليقات مطابقة',
236
- noCommentsYet: 'لا توجد تعليقات بعد',
237
- pinned: 'مثبت',
238
- pin: 'تثبيت',
239
- unpin: 'إلغاء التثبيت',
240
- justNow: 'الآن',
241
- minutesAgo: 'منذ {{count}} دقيقة',
242
- hoursAgo: 'منذ {{count}} ساعة',
243
- daysAgo: 'منذ {{count}} يوم',
244
- dropFilesToUpload: 'اسحب الملفات هنا أو انقر للرفع',
245
- attachmentCount: '{{count}} مرفق',
246
- attachmentCountPlural: '{{count}} مرفقات',
247
- removeAttachment: 'إزالة المرفق',
248
- unifiedDiff: 'عرض موحد',
249
- sideBySideDiff: 'عرض جنباً إلى جنب',
250
- noChanges: 'لا توجد تغييرات',
251
- previousVersion: 'السابق',
252
- currentVersion: 'الحالي',
253
- discussion: 'المناقشة',
254
- showDiscussion: 'إظهار المناقشة ({{count}})',
255
- hideDiscussion: 'إخفاء المناقشة',
256
- bold: 'غامق (Ctrl+B)',
257
- italic: 'مائل (Ctrl+I)',
258
- listFormat: 'قائمة',
259
- inlineCode: 'كود مضمن',
260
- mentionSomeone: 'إشارة إلى شخص',
261
- preview: 'معاينة',
262
- submitComment: 'إرسال (Ctrl+Enter)',
263
- sendComment: 'إرسال',
264
- writeComment: 'اكتب تعليقاً…',
265
- subscribedTooltip: 'مشترك — انقر لإلغاء الاشتراك',
266
- unsubscribedTooltip: 'الاشتراك في الإشعارات',
267
- firstRecord: 'السجل الأول (Home)',
268
- previousRecordKey: 'السجل السابق (←)',
269
- nextRecordKey: 'السجل التالي (→)',
270
- lastRecord: 'السجل الأخير (End)',
271
- noRecords: 'لا توجد سجلات',
272
- searchWhileNavigating: 'البحث أثناء التصفح',
273
- searchRecords: 'البحث في السجلات…',
274
- allActivity: 'كل النشاط',
275
- commentsOnly: 'التعليقات فقط',
276
- fieldChangesFilter: 'تغييرات الحقول',
277
- tasksOnly: 'المهام فقط',
278
- leaveCommentPlaceholder: 'اترك تعليقاً… (Ctrl+Enter للإرسال)',
279
- noActivity: 'لا يوجد نشاط مسجل',
280
- loadMore: 'تحميل المزيد',
281
- edited: '(معدل)',
282
- via: 'عبر {{source}}',
283
- replyCount: '{{count}} رد',
284
- replyCountPlural: '{{count}} ردود',
285
- replyPlaceholder: 'رد…',
286
- filterActivity: 'تصفية النشاط',
287
- openDiscussion: 'فتح لوحة المناقشة',
288
- closeDiscussion: 'إغلاق لوحة المناقشة',
289
- subscribeAriaLabel: 'الاشتراك في الإشعارات',
290
- unsubscribeAriaLabel: 'إلغاء الاشتراك من الإشعارات',
291
- clearSearch: 'مسح البحث',
337
+ back: "رجوع",
338
+ edit: "تحرير",
339
+ editInline: "تحرير",
340
+ save: "حفظ",
341
+ saveChanges: "حفظ التغييرات",
342
+ editFieldsInline: "تحرير الحقول",
343
+ share: "مشاركة",
344
+ duplicate: "نسخ",
345
+ export: "تصدير",
346
+ viewHistory: "عرض السجل",
347
+ delete: "حذف",
348
+ moreActions: "المزيد من الإجراءات",
349
+ addToFavorites: "إضافة إلى المفضلة",
350
+ removeFromFavorites: "إزالة من المفضلة",
351
+ previousRecord: "السجل السابق",
352
+ nextRecord: "السجل التالي",
353
+ recordOf: "{{current}} من {{total}}",
354
+ recordNotFound: "لم يتم العثور على السجل",
355
+ recordNotFoundDescription: "السجل الذي تبحث عنه غير موجود أو ربما تم حذفه.",
356
+ goBack: "رجوع",
357
+ details: "التفاصيل",
358
+ related: "ذات صلة",
359
+ relatedRecords: "{{count}} سجلات",
360
+ relatedRecordOne: "{{count}} سجل",
361
+ noRelatedRecords: "لا توجد سجلات ذات صلة",
362
+ loading: "جاري التحميل...",
363
+ copyToClipboard: "نسخ إلى الحافظة",
364
+ copied: "تم النسخ!",
365
+ deleteConfirmation: "هل أنت متأكد أنك تريد حذف هذا السجل؟",
366
+ editRecord: "تحرير السجل",
367
+ viewAll: "عرض الكل",
368
+ new: "جديد",
369
+ emptyValue: "—",
370
+ comments: "التعليقات",
371
+ searchComments: "البحث في التعليقات…",
372
+ addCommentPlaceholder: "أضف تعليقاً… (Ctrl+Enter للإرسال)",
373
+ noMatchingComments: "لا توجد تعليقات مطابقة",
374
+ noCommentsYet: "لا توجد تعليقات بعد",
375
+ pinned: "مثبت",
376
+ pin: "تثبيت",
377
+ unpin: "إلغاء التثبيت",
378
+ justNow: "الآن",
379
+ minutesAgo: "منذ {{count}} دقيقة",
380
+ hoursAgo: "منذ {{count}} ساعة",
381
+ daysAgo: "منذ {{count}} يوم",
382
+ dropFilesToUpload: "اسحب الملفات هنا أو انقر للرفع",
383
+ attachmentCount: "{{count}} مرفق",
384
+ attachmentCountPlural: "{{count}} مرفقات",
385
+ removeAttachment: "إزالة المرفق",
386
+ unifiedDiff: "عرض موحد",
387
+ sideBySideDiff: "عرض جنباً إلى جنب",
388
+ noChanges: "لا توجد تغييرات",
389
+ previousVersion: "السابق",
390
+ currentVersion: "الحالي",
391
+ discussion: "المناقشة",
392
+ showDiscussion: "إظهار المناقشة ({{count}})",
393
+ hideDiscussion: "إخفاء المناقشة",
394
+ bold: "غامق (Ctrl+B)",
395
+ italic: "مائل (Ctrl+I)",
396
+ listFormat: "قائمة",
397
+ inlineCode: "كود مضمن",
398
+ mentionSomeone: "إشارة إلى شخص",
399
+ preview: "معاينة",
400
+ submitComment: "إرسال (Ctrl+Enter)",
401
+ sendComment: "إرسال",
402
+ writeComment: "اكتب تعليقاً…",
403
+ subscribedTooltip: "مشترك — انقر لإلغاء الاشتراك",
404
+ unsubscribedTooltip: "الاشتراك في الإشعارات",
405
+ firstRecord: "السجل الأول (Home)",
406
+ previousRecordKey: "السجل السابق (←)",
407
+ nextRecordKey: "السجل التالي (→)",
408
+ lastRecord: "السجل الأخير (End)",
409
+ noRecords: "لا توجد سجلات",
410
+ searchWhileNavigating: "البحث أثناء التصفح",
411
+ searchRecords: "البحث في السجلات…",
412
+ allActivity: "كل النشاط",
413
+ commentsOnly: "التعليقات فقط",
414
+ fieldChangesFilter: "تغييرات الحقول",
415
+ tasksOnly: "المهام فقط",
416
+ leaveCommentPlaceholder: "اترك تعليقاً… (Ctrl+Enter للإرسال)",
417
+ noActivity: "لا يوجد نشاط مسجل",
418
+ loadMore: "تحميل المزيد",
419
+ edited: "(معدل)",
420
+ via: "عبر {{source}}",
421
+ replyCount: "{{count}} رد",
422
+ replyCountPlural: "{{count}} ردود",
423
+ replyPlaceholder: "رد…",
424
+ filterActivity: "تصفية النشاط",
425
+ openDiscussion: "فتح لوحة المناقشة",
426
+ closeDiscussion: "إغلاق لوحة المناقشة",
427
+ subscribeAriaLabel: "الاشتراك في الإشعارات",
428
+ unsubscribeAriaLabel: "إلغاء الاشتراك من الإشعارات",
429
+ clearSearch: "مسح البحث",
430
+ saving: "جارٍ الحفظ…",
431
+ lockedByApproval: "مقفل للموافقة",
432
+ lockedTooltip: "يحتوي هذا السجل على طلب موافقة معلق؛ التعديل مقفل",
433
+ cancelApproval: "إلغاء الموافقة",
434
+ cancelApprovalInFlight: "جارٍ الإلغاء…",
435
+ cancelApprovalTooltip: "إلغاء طلب الموافقة المعلق لفتح قفل السجل",
436
+ cancelApprovalFailed: "فشل إلغاء الموافقة",
437
+ cancelApprovalUnavailable: "إلغاء الموافقات غير مدعوم من مصدر البيانات هذا",
438
+ linkCopied: "تم نسخ الرابط إلى الحافظة",
439
+ linkCopyFailed: "فشل نسخ الرابط",
440
+ cancel: "إلغاء",
441
+ cancelEdit: "تجاهل التغييرات",
442
+ sectionMoreDetails: "مزيد من التفاصيل",
443
+ concurrentUpdateTitle: "تم تعديل هذا السجل من قِبل شخص آخر",
444
+ concurrentUpdateDescription: "قام مستخدم آخر بحفظ نسخة أحدث من {{field}} أثناء تعديلك. اختر كيفية حل التعارض.",
445
+ concurrentUpdateYourEdit: "تعديلك",
446
+ concurrentUpdateCurrentValue: "القيمة الحالية",
447
+ concurrentUpdateUpdatedBy: "حدّثه {{name}}",
448
+ concurrentUpdateUpdatedAt: "حُدِّث في {{when}}",
449
+ concurrentUpdateReload: "تحميل النسخة الحالية",
450
+ concurrentUpdateOverwrite: "الكتابة فوقه على أي حال",
451
+ concurrentUpdateCancel: "إلغاء",
452
+ openInNewTab: "فتح في علامة تبويب جديدة",
453
+ activity: "النشاط",
454
+ history: "السجل",
455
+ editRow: "تعديل",
456
+ deleteRow: "حذف",
457
+ deleteRowConfirmation: "حذف هذا السجل؟",
458
+ deleteRowTitle: "حذف السجل",
459
+ actions: "الإجراءات",
460
+ previousPage: "السابق",
461
+ nextPage: "التالي",
462
+ pageOf: "صفحة {{current}} من {{total}}",
463
+ sortBy: "ترتيب حسب",
464
+ filterPlaceholder: "تصفية...",
465
+ highlightFields: "الحقول الرئيسية",
466
+ createdBy: "أنشأه",
467
+ updatedBy: "حدّثه",
468
+ showEmptyRelated_one: "+ {{count}} فارغ",
469
+ showEmptyRelated_other: "+ {{count}} فارغة",
470
+ copyEmail: "نسخ البريد الإلكتروني",
471
+ copyPhone: "نسخ الهاتف",
472
+ copyRecordId: "نسخ معرف السجل",
473
+ showEmptyFields: "إظهار {{count}} حقل(حقول) فارغة",
474
+ hideEmptyFields: "إخفاء الحقول الفارغة",
475
+ noValue: "لا قيمة",
292
476
  },
293
477
  chart: {
294
- noData: 'لا تتوفر بيانات للرسم البياني',
295
- loading: 'جاري تحميل الرسم البياني...',
478
+ noData: "لا تتوفر بيانات للرسم البياني",
479
+ loading: "جاري تحميل الرسم البياني...",
296
480
  },
297
481
  map: {
298
- searchLocations: 'البحث عن المواقع…',
299
- locationDetails: 'تفاصيل الموقع',
300
- markersCount: '{{count}} علامة',
301
- invalidCoordinates: '{{count}} سجل بإحداثيات مفقودة أو غير صالحة مستبعد من الخريطة.',
302
- invalidCoordinatesPlural: '{{count}} سجلات بإحداثيات مفقودة أو غير صالحة مستبعدة من الخريطة.',
482
+ searchLocations: "البحث عن المواقع…",
483
+ locationDetails: "تفاصيل الموقع",
484
+ markersCount: "{{count}} علامة",
485
+ invalidCoordinates: "{{count}} سجل بإحداثيات مفقودة أو غير صالحة مستبعد من الخريطة.",
486
+ invalidCoordinatesPlural: "{{count}} سجلات بإحداثيات مفقودة أو غير صالحة مستبعدة من الخريطة.",
303
487
  },
304
488
  workflow: {
305
- draft: 'مسودة',
306
- active: 'نشط',
307
- paused: 'متوقف مؤقتاً',
308
- completed: 'مكتمل',
309
- cancelled: 'ملغي',
310
- save: 'حفظ',
311
- publish: 'نشر',
312
- addNode: 'إضافة عقدة',
313
- workflowFlow: 'سير العمل',
314
- properties: 'الخصائص',
315
- connections: 'الاتصالات',
316
- quickConnect: 'اتصال سريع',
317
- fromPlaceholder: 'من...',
318
- toPlaceholder: 'إلى...',
319
- connect: 'ربط',
320
- label: 'التسمية',
321
- type: 'النوع',
322
- description: 'الوصف',
323
- assignee: 'المسؤول',
324
- assigneeType: 'نوع المسؤول',
325
- user: 'مستخدم',
326
- role: 'دور',
327
- group: 'مجموعة',
328
- expression: 'تعبير',
329
- timeoutMinutes: 'المهلة (دقائق)',
330
- selectNodeToEdit: 'حدد عقدة لتعديل خصائصها',
331
- workflowTitle: 'عنوان سير العمل',
332
- newWorkflow: 'سير عمل جديد',
333
- outConnections: '{{count}} مخرج',
334
- start: 'بداية',
335
- end: 'نهاية',
336
- task: 'مهمة',
337
- userTask: 'مهمة مستخدم',
338
- serviceTask: 'مهمة خدمة',
339
- scriptTask: 'مهمة نصية',
340
- approval: 'موافقة',
341
- condition: 'شرط',
342
- parallelGateway: 'بوابة متوازية',
343
- joinGateway: 'بوابة دمج',
344
- boundaryEvent: 'حدث حدودي',
345
- delay: 'تأخير',
346
- notification: 'إشعار',
347
- webhook: 'Webhook',
348
- allowConcurrency: 'السماح (تنفيذ متزامن)',
349
- forbidConcurrency: 'منع (تخطي الجديد)',
350
- replaceConcurrency: 'استبدال (إلغاء الحالي)',
351
- queueConcurrency: 'طابور (تنفيذ بعد الحالي)',
352
- conditionEvent: 'شرط',
353
- manualEvent: 'يدوي',
354
- webhookEvent: 'Webhook',
355
- timerEvent: 'مؤقت',
356
- signalEvent: 'إشارة',
357
- versionHistory: 'تاريخ الإصدارات',
358
- importBpmn: 'استيراد BPMN',
359
- exportBpmn: 'تصدير BPMN',
360
- undo: 'تراجع',
361
- redo: 'إعادة',
362
- resetZoom: 'إعادة تعيين التكبير',
489
+ draft: "مسودة",
490
+ active: "نشط",
491
+ paused: "متوقف مؤقتاً",
492
+ completed: "مكتمل",
493
+ cancelled: "ملغي",
494
+ save: "حفظ",
495
+ publish: "نشر",
496
+ addNode: "إضافة عقدة",
497
+ workflowFlow: "سير العمل",
498
+ properties: "الخصائص",
499
+ connections: "الاتصالات",
500
+ quickConnect: "اتصال سريع",
501
+ fromPlaceholder: "من...",
502
+ toPlaceholder: "إلى...",
503
+ connect: "ربط",
504
+ label: "التسمية",
505
+ type: "النوع",
506
+ description: "الوصف",
507
+ assignee: "المسؤول",
508
+ assigneeType: "نوع المسؤول",
509
+ user: "مستخدم",
510
+ role: "دور",
511
+ group: "مجموعة",
512
+ expression: "تعبير",
513
+ timeoutMinutes: "المهلة (دقائق)",
514
+ selectNodeToEdit: "حدد عقدة لتعديل خصائصها",
515
+ workflowTitle: "عنوان سير العمل",
516
+ newWorkflow: "سير عمل جديد",
517
+ outConnections: "{{count}} مخرج",
518
+ start: "بداية",
519
+ end: "نهاية",
520
+ task: "مهمة",
521
+ userTask: "مهمة مستخدم",
522
+ serviceTask: "مهمة خدمة",
523
+ scriptTask: "مهمة نصية",
524
+ approval: "موافقة",
525
+ condition: "شرط",
526
+ parallelGateway: "بوابة متوازية",
527
+ joinGateway: "بوابة دمج",
528
+ boundaryEvent: "حدث حدودي",
529
+ delay: "تأخير",
530
+ notification: "إشعار",
531
+ webhook: "Webhook",
532
+ allowConcurrency: "السماح (تنفيذ متزامن)",
533
+ forbidConcurrency: "منع (تخطي الجديد)",
534
+ replaceConcurrency: "استبدال (إلغاء الحالي)",
535
+ queueConcurrency: "طابور (تنفيذ بعد الحالي)",
536
+ conditionEvent: "شرط",
537
+ manualEvent: "يدوي",
538
+ webhookEvent: "Webhook",
539
+ timerEvent: "مؤقت",
540
+ signalEvent: "إشارة",
541
+ versionHistory: "تاريخ الإصدارات",
542
+ importBpmn: "استيراد BPMN",
543
+ exportBpmn: "تصدير BPMN",
544
+ undo: "تراجع",
545
+ redo: "إعادة",
546
+ resetZoom: "إعادة تعيين التكبير",
363
547
  },
364
548
  dashboard: {
365
- addWidget: 'إضافة أداة',
366
- removeWidget: 'إزالة أداة',
367
- editLayout: 'تعديل التخطيط',
368
- saveLayout: 'حفظ التخطيط',
369
- resetLayout: 'إعادة تعيين التخطيط',
549
+ addWidget: "إضافة أداة",
550
+ removeWidget: "إزالة أداة",
551
+ editLayout: "تعديل التخطيط",
552
+ saveLayout: "حفظ التخطيط",
553
+ resetLayout: "إعادة تعيين التخطيط",
554
+ total: "الإجمالي",
555
+ noDataAvailable: "لا بيانات متاحة",
556
+ noDataSourceFor: "لا مصدر بيانات لـ",
557
+ trend: {
558
+ vsLastQuarter: "مقابل الربع الماضي",
559
+ vsLastMonth: "مقابل الشهر الماضي",
560
+ vsLastWeek: "مقابل الأسبوع الماضي",
561
+ vsLastYear: "مقابل العام الماضي",
562
+ vsYesterday: "مقابل أمس",
563
+ vsPreviousPeriod: "مقابل الفترة السابقة",
564
+ },
370
565
  },
371
566
  configPanel: {
372
- save: 'حفظ',
373
- discard: 'تجاهل',
374
- close: 'إغلاق',
375
- layout: 'التخطيط',
376
- columns: 'الأعمدة',
377
- gap: 'المسافة',
378
- rowHeight: 'ارتفاع الصف',
379
- data: 'البيانات',
380
- refreshInterval: 'فترة التحديث',
381
- appearance: 'المظهر',
382
- title: 'العنوان',
383
- showDescription: 'إظهار الوصف',
384
- theme: 'السمة',
385
- configuration: 'الإعداد',
386
- general: 'عام',
387
- advanced: 'متقدم',
567
+ save: "حفظ",
568
+ discard: "تجاهل",
569
+ close: "إغلاق",
570
+ layout: "التخطيط",
571
+ columns: "الأعمدة",
572
+ gap: "المسافة",
573
+ rowHeight: "ارتفاع الصف",
574
+ data: "البيانات",
575
+ refreshInterval: "فترة التحديث",
576
+ appearance: "المظهر",
577
+ title: "العنوان",
578
+ showDescription: "إظهار الوصف",
579
+ theme: "السمة",
580
+ configuration: "الإعداد",
581
+ general: "عام",
582
+ advanced: "متقدم",
388
583
  },
389
584
  appDesigner: {
390
- createApp: 'Create Application',
391
- editApp: 'Edit Application',
392
- basicInfo: 'Basic Info',
393
- objects: 'Objects',
394
- navigation: 'Navigation',
395
- branding: 'Branding',
396
- appName: 'App Name',
397
- appTitle: 'Title',
398
- appDescription: 'Description',
399
- appIcon: 'Icon',
400
- template: 'Template',
401
- layout: 'Layout',
402
- layoutSidebar: 'Sidebar',
403
- layoutHeader: 'Header',
404
- layoutEmpty: 'Empty',
405
- selectObjects: 'Select Objects',
406
- searchObjects: 'Search objects…',
407
- selectAll: 'Select All',
408
- deselectAll: 'Deselect All',
409
- navBuilder: 'Navigation Builder',
410
- addGroup: 'Add Group',
411
- addUrl: 'Add URL',
412
- addSeparator: 'Add Separator',
413
- noNavItems: 'No navigation items yet.',
414
- logoUrl: 'Logo URL',
415
- primaryColor: 'Primary Color',
416
- faviconUrl: 'Favicon URL',
417
- preview: 'Preview',
418
- complete: 'Complete',
419
- snakeCaseHint: 'Must be snake_case (e.g. my_app)',
420
- modeEdit: 'Edit',
421
- modePreview: 'Preview',
422
- modeCode: 'Code',
423
- addWidget: 'Add Widget',
424
- widgetProperties: 'Widget Properties',
425
- dataSource: 'Data Source',
426
- valueField: 'Value Field',
427
- aggregate: 'Aggregate',
428
- colorVariant: 'Color Variant',
429
- addComponent: 'Add Component',
430
- componentProperties: 'Component Properties',
431
- viewType: 'View Type',
432
- fields: 'Fields',
433
- toolbar: 'Toolbar',
434
- showSearch: 'Show Search',
435
- showFilters: 'Show Filters',
436
- showSort: 'Show Sort',
437
- appearance: 'Appearance',
438
- rowHeight: 'Row Height',
439
- stripedRows: 'Striped Rows',
440
- bordered: 'Bordered',
441
- livePreview: 'Live Preview',
442
- stepBasicDesc: 'الاسم والعنوان والتخطيط',
443
- stepObjectsDesc: 'اختيار كائنات الأعمال',
444
- stepNavigationDesc: 'بناء شجرة التنقل',
445
- stepBrandingDesc: 'الشعار والألوان والأيقونة',
446
- noObjectsFound: 'لم يتم العثور على كائنات.',
447
- noNavItemsHint: 'لا توجد عناصر تنقل بعد. حدد كائنات في الخطوة السابقة أو أضف عناصر يدويًا.',
448
- separator: 'فاصل',
449
- separatorLabel: '— فاصل —',
450
- newGroup: 'مجموعة جديدة',
451
- newLink: 'رابط جديد',
452
- saveDraft: 'حفظ المسودة',
453
- cancelConfirmTitle: 'تجاهل التغييرات؟',
454
- cancelConfirmMessage: 'لديك تغييرات غير محفوظة. هل أنت متأكد من الإلغاء؟',
455
- confirmDiscard: 'تجاهل',
456
- keepEditing: 'متابعة التحرير',
457
- navNoItems: 'لا توجد عناصر تنقل. انقر على الأزرار أعلاه لإضافة عناصر.',
458
- navNoPreviewItems: 'لا توجد عناصر',
459
- navLivePreview: 'معاينة مباشرة',
460
- navCollapseGroup: 'طي المجموعة',
461
- navExpandGroup: 'توسيع المجموعة',
462
- navAddChild: 'إضافة عنصر فرعي',
463
- navMoveUp: 'نقل لأعلى',
464
- navMoveDown: 'نقل لأسفل',
465
- navRemove: 'إزالة',
466
- navObjectPage: 'صفحة الكائن',
467
- navDashboard: 'لوحة القيادة',
468
- navPage: 'صفحة',
469
- navReport: 'تقرير',
470
- navGroup: 'مجموعة',
471
- navUrl: 'رابط',
472
- navSeparator: 'فاصل',
473
- navTypeObject: 'كائن',
474
- navTypeDashboard: 'لوحة القيادة',
475
- navTypePage: 'صفحة',
476
- navTypeReport: 'تقرير',
477
- navTypeUrl: 'رابط',
478
- navTypeGroup: 'مجموعة',
479
- navTypeSeparator: 'فاصل',
480
- navTypeAction: 'إجراء',
481
- navEditIcon: 'تعديل الأيقونة',
482
- navToggleVisible: 'تبديل الظهور',
483
- navHidden: 'مخفي',
484
- navExportSchema: 'تصدير JSON',
485
- navImportSchema: 'استيراد JSON',
486
- navExportSuccess: 'تم تصدير هيكل التنقل',
487
- navImportSuccess: 'تم استيراد هيكل التنقل',
488
- navImportError: 'ملف JSON تنقل غير صالح',
489
- navIconPlaceholder: 'اسم الأيقونة (مثل Users)',
490
- dashboardEditor: 'محرر لوحة المعلومات',
491
- noWidgets: 'لا توجد عناصر. انقر على زر أعلاه لإضافة واحد.',
492
- widgetLayoutSize: 'حجم التخطيط',
493
- widgetWidth: 'العرض',
494
- widgetHeight: 'الارتفاع',
495
- dashboardPreview: 'معاينة لوحة المعلومات',
496
- noWidgetsPreview: 'لا توجد عناصر للمعاينة',
497
- pageCanvasEditor: 'محرر لوحة الصفحة',
498
- emptyPage: 'صفحة فارغة. انقر على زر أعلاه لإضافة مكون.',
499
- pagePreview: 'معاينة الصفحة',
500
- noComponentsPreview: 'لا توجد مكونات للمعاينة',
501
- modePage: 'صفحة',
502
- modeDashboard: 'لوحة المعلومات',
503
- undo: 'تراجع',
504
- redo: 'إعادة',
505
- brandingEditor: 'محرر العلامة التجارية',
506
- brandingExport: 'تصدير JSON',
507
- brandingImport: 'استيراد JSON',
508
- brandingPreview: 'معاينة',
509
- brandingSampleButton: 'زر نموذجي',
510
- brandingSampleText: 'هكذا سيبدو موضوع علامتك التجارية.',
511
- colorPalette: 'لوحة الألوان',
512
- fontFamily: 'الخط',
513
- fontDefault: 'افتراضي (النظام)',
514
- modeLight: 'فاتح',
515
- modeDark: 'داكن',
516
- mobilePreview: 'معاينة الجوال',
585
+ createApp: "إنشاء تطبيق",
586
+ editApp: "تعديل التطبيق",
587
+ basicInfo: "المعلومات الأساسية",
588
+ objects: "الكائنات",
589
+ navigation: "التنقل",
590
+ branding: "العلامة التجارية",
591
+ appName: "اسم التطبيق",
592
+ appTitle: "العنوان",
593
+ appDescription: "الوصف",
594
+ appIcon: "الأيقونة",
595
+ template: "القالب",
596
+ layout: "التخطيط",
597
+ layoutSidebar: "الشريط الجانبي",
598
+ layoutHeader: "الرأس",
599
+ layoutEmpty: "فارغ",
600
+ selectObjects: "تحديد الكائنات",
601
+ searchObjects: "البحث في الكائنات…",
602
+ selectAll: "تحديد الكل",
603
+ deselectAll: "إلغاء تحديد الكل",
604
+ navBuilder: "منشئ التنقل",
605
+ addGroup: "إضافة مجموعة",
606
+ addUrl: "إضافة URL",
607
+ addSeparator: "إضافة فاصل",
608
+ noNavItems: "لا توجد عناصر تنقل بعد.",
609
+ logoUrl: "Logo URL",
610
+ primaryColor: "اللون الأساسي",
611
+ faviconUrl: "Favicon URL",
612
+ preview: "معاينة",
613
+ complete: "إكمال",
614
+ snakeCaseHint: "Must be snake_case (e.g. my_app)",
615
+ modeEdit: "تعديل",
616
+ modePreview: "معاينة",
617
+ modeCode: "كود",
618
+ addWidget: "إضافة عنصر واجهة",
619
+ widgetProperties: "خصائص العنصر",
620
+ dataSource: "مصدر البيانات",
621
+ valueField: "حقل القيمة",
622
+ aggregate: "تجميع",
623
+ colorVariant: "متغير اللون",
624
+ addComponent: "إضافة مكون",
625
+ componentProperties: "خصائص المكون",
626
+ viewType: "نوع العرض",
627
+ fields: "الحقول",
628
+ toolbar: "شريط الأدوات",
629
+ showSearch: "إظهار البحث",
630
+ showFilters: "إظهار الفلاتر",
631
+ showSort: "إظهار الترتيب",
632
+ appearance: "المظهر",
633
+ rowHeight: "ارتفاع الصف",
634
+ stripedRows: "صفوف متناوبة",
635
+ bordered: "محاط بإطار",
636
+ livePreview: "معاينة مباشرة",
637
+ stepBasicDesc: "الاسم والعنوان والتخطيط",
638
+ stepObjectsDesc: "اختيار كائنات الأعمال",
639
+ stepNavigationDesc: "بناء شجرة التنقل",
640
+ stepBrandingDesc: "الشعار والألوان والأيقونة",
641
+ noObjectsFound: "لم يتم العثور على كائنات.",
642
+ noNavItemsHint: "لا توجد عناصر تنقل بعد. حدد كائنات في الخطوة السابقة أو أضف عناصر يدويًا.",
643
+ separator: "فاصل",
644
+ separatorLabel: "— فاصل —",
645
+ newGroup: "مجموعة جديدة",
646
+ newLink: "رابط جديد",
647
+ saveDraft: "حفظ المسودة",
648
+ cancelConfirmTitle: "تجاهل التغييرات؟",
649
+ cancelConfirmMessage: "لديك تغييرات غير محفوظة. هل أنت متأكد من الإلغاء؟",
650
+ confirmDiscard: "تجاهل",
651
+ keepEditing: "متابعة التحرير",
652
+ navNoItems: "لا توجد عناصر تنقل. انقر على الأزرار أعلاه لإضافة عناصر.",
653
+ navNoPreviewItems: "لا توجد عناصر",
654
+ navLivePreview: "معاينة مباشرة",
655
+ navCollapseGroup: "طي المجموعة",
656
+ navExpandGroup: "توسيع المجموعة",
657
+ navAddChild: "إضافة عنصر فرعي",
658
+ navMoveUp: "نقل لأعلى",
659
+ navMoveDown: "نقل لأسفل",
660
+ navRemove: "إزالة",
661
+ navObjectPage: "صفحة الكائن",
662
+ navDashboard: "لوحة القيادة",
663
+ navPage: "صفحة",
664
+ navReport: "تقرير",
665
+ navGroup: "مجموعة",
666
+ navUrl: "رابط",
667
+ navSeparator: "فاصل",
668
+ navTypeObject: "كائن",
669
+ navTypeDashboard: "لوحة تحكم",
670
+ navTypePage: "صفحة",
671
+ navTypeReport: "تقرير",
672
+ navTypeUrl: "رابط",
673
+ navTypeGroup: "مجموعة",
674
+ navTypeSeparator: "فاصل",
675
+ navTypeAction: "إجراء",
676
+ navEditIcon: "تعديل الأيقونة",
677
+ navToggleVisible: "تبديل الرؤية",
678
+ navHidden: "مخفي",
679
+ navExportSchema: "تصدير JSON",
680
+ navImportSchema: "استيراد JSON",
681
+ navExportSuccess: "تم تصدير مخطط التنقل",
682
+ navImportSuccess: "تم استيراد مخطط التنقل",
683
+ navImportError: "JSON تنقل غير صالح",
684
+ navIconPlaceholder: "اسم الأيقونة (مثل Users)",
685
+ dashboardEditor: "محرر لوحة التحكم",
686
+ noWidgets: "لا عناصر واجهة. انقر فوق زر أعلاه لإضافة واحد.",
687
+ widgetLayoutSize: "حجم التخطيط",
688
+ widgetWidth: "العرض",
689
+ widgetHeight: "الارتفاع",
690
+ dashboardPreview: "معاينة لوحة التحكم",
691
+ noWidgetsPreview: "لا عناصر واجهة للمعاينة",
692
+ pageCanvasEditor: "محرر قماش الصفحة",
693
+ emptyPage: "صفحة فارغة. انقر فوق زر أعلاه لإضافة مكون.",
694
+ pagePreview: "معاينة الصفحة",
695
+ noComponentsPreview: "لا مكونات للمعاينة",
696
+ modePage: "صفحة",
697
+ modeDashboard: "لوحة تحكم",
698
+ undo: "تراجع",
699
+ redo: "إعادة",
700
+ brandingEditor: "محرر العلامة التجارية",
701
+ brandingExport: "تصدير JSON",
702
+ brandingImport: "استيراد JSON",
703
+ brandingPreview: "معاينة",
704
+ brandingSampleButton: "زر نموذجي",
705
+ brandingSampleText: "هكذا سيبدو سمة علامتك التجارية.",
706
+ colorPalette: "لوحة الألوان",
707
+ fontFamily: "عائلة الخطوط",
708
+ fontDefault: "افتراضي (النظام)",
709
+ modeLight: "فاتح",
710
+ modeDark: "داكن",
711
+ mobilePreview: "معاينة الجوال",
517
712
  objectManager: {
518
- title: 'مدير الكائنات',
519
- addObject: 'كائن جديد',
520
- searchPlaceholder: 'بحث عن كائنات…',
521
- noObjects: 'لم يتم العثور على كائنات.',
522
- objectName: 'اسم API',
523
- objectLabel: 'التسمية',
524
- pluralLabel: 'التسمية الجمعية',
525
- icon: 'الأيقونة',
526
- selectIcon: 'اختيار أيقونة…',
527
- group: 'المجموعة',
528
- noGroup: 'بدون مجموعة',
529
- sortOrder: 'ترتيب الفرز',
530
- enabled: 'مفعّل',
531
- relationships: 'العلاقات',
532
- systemBadge: 'نظام',
533
- fieldCount: '{{count}} حقول',
534
- ungrouped: 'غير مصنف',
535
- deleteConfirmTitle: 'حذف الكائن؟',
536
- deleteConfirmMessage: 'سيتم حذف الكائن وجميع حقوله نهائيًا. لا يمكن التراجع عن هذا الإجراء.',
713
+ title: "مدير الكائنات",
714
+ addObject: "كائن جديد",
715
+ searchPlaceholder: "البحث في الكائنات…",
716
+ noObjects: "لم يتم العثور على كائنات.",
717
+ objectName: "اسم API",
718
+ objectLabel: "التسمية",
719
+ pluralLabel: "التسمية الجمعية",
720
+ icon: "أيقونة",
721
+ selectIcon: "اختر أيقونة…",
722
+ group: "مجموعة",
723
+ noGroup: "بلا مجموعة",
724
+ sortOrder: "ترتيب الفرز",
725
+ enabled: "مفعل",
726
+ relationships: "العلاقات",
727
+ systemBadge: "النظام",
728
+ fieldCount: "{{count}} حقل(حقول)",
729
+ ungrouped: "غير مجمع",
730
+ deleteConfirmTitle: "حذف الكائن؟",
731
+ deleteConfirmMessage: "سيؤدي هذا إلى حذف الكائن وجميع حقوله بشكل دائم. لا يمكن التراجع عن هذا الإجراء.",
537
732
  },
538
733
  fieldDesigner: {
539
- title: 'مصمم الحقول',
540
- addField: 'حقل جديد',
541
- searchPlaceholder: 'بحث عن حقول…',
542
- allTypes: 'كل الأنواع',
543
- noFields: 'لم يتم العثور على حقول.',
544
- fieldName: 'اسم API',
545
- fieldLabel: 'التسمية',
546
- fieldType: 'النوع',
547
- fieldGroup: 'المجموعة',
548
- description: 'الوصف',
549
- required: 'مطلوب',
550
- unique: 'فريد',
551
- readOnly: 'للقراءة فقط',
552
- hidden: 'مخفي',
553
- indexed: 'مفهرس',
554
- externalId: 'معرف خارجي',
555
- trackHistory: 'تتبع السجل',
556
- defaultValue: 'القيمة الافتراضية',
557
- placeholder: 'نص توضيحي',
558
- referenceTo: 'مرجع إلى',
559
- formula: 'صيغة',
560
- options: 'خيارات',
561
- addOption: 'إضافة خيار',
562
- validationRules: 'قواعد التحقق',
563
- addRule: 'إضافة قاعدة',
564
- systemBadge: 'نظام',
565
- ungrouped: 'عام',
566
- deleteConfirmTitle: 'حذف الحقل؟',
567
- deleteConfirmMessage: 'سيتم حذف الحقل نهائيًا. ستفقد البيانات الموجودة في هذا الحقل.',
734
+ title: "مصمم الحقول",
735
+ addField: "حقل جديد",
736
+ searchPlaceholder: "البحث في الحقول…",
737
+ allTypes: "جميع الأنواع",
738
+ noFields: "لم يتم العثور على حقول.",
739
+ fieldName: "اسم API",
740
+ fieldLabel: "التسمية",
741
+ fieldType: "النوع",
742
+ fieldGroup: "المجموعة",
743
+ description: "الوصف",
744
+ required: "مطلوب",
745
+ unique: "فريد",
746
+ readOnly: "للقراءة فقط",
747
+ hidden: "مخفي",
748
+ indexed: "مفهرس",
749
+ externalId: "معرف خارجي",
750
+ trackHistory: "تتبع السجل",
751
+ defaultValue: "القيمة الافتراضية",
752
+ placeholder: "نص تلميحي",
753
+ referenceTo: "مرجع إلى",
754
+ formula: "صيغة",
755
+ options: "خيارات",
756
+ addOption: "إضافة خيار",
757
+ validationRules: "قواعد التحقق",
758
+ addRule: "إضافة قاعدة",
759
+ systemBadge: "النظام",
760
+ ungrouped: "عام",
761
+ deleteConfirmTitle: "حذف الحقل؟",
762
+ deleteConfirmMessage: "سيتم حذف الحقل بشكل دائم. ستُفقد البيانات الموجودة في هذا الحقل.",
763
+ basicSection: "أساسي",
764
+ typeSpecificSection: "إعدادات النوع",
765
+ advancedSection: "متقدم",
766
+ typeCategory: {
767
+ text: "نص",
768
+ number: "رقم",
769
+ date: "التاريخ والوقت",
770
+ choice: "اختيار",
771
+ relation: "علاقة",
772
+ advanced: "متقدم",
773
+ },
568
774
  },
569
775
  },
570
776
  console: {
571
- title: 'وحدة تحكم ObjectStack',
572
- initializing: 'جاري تهيئة التطبيق...',
777
+ title: "وحدة تحكم ObjectStack",
778
+ initializing: "جاري تهيئة التطبيق...",
573
779
  breadcrumb: {
574
- dashboards: 'لوحات المعلومات',
575
- pages: 'الصفحات',
576
- reports: 'التقارير',
577
- system: 'النظام',
780
+ dashboards: "لوحات المعلومات",
781
+ pages: "الصفحات",
782
+ reports: "التقارير",
783
+ system: "النظام",
578
784
  },
579
785
  loadingSteps: {
580
- connecting: 'جاري الاتصال بمصدر البيانات',
581
- loadingConfig: 'جاري تحميل الإعدادات',
582
- preparingWorkspace: 'جاري تجهيز مساحة العمل',
786
+ connecting: "جاري الاتصال بمصدر البيانات",
787
+ loadingConfig: "جاري تحميل الإعدادات",
788
+ preparingWorkspace: "جاري تجهيز مساحة العمل",
583
789
  },
584
790
  error: {
585
- connectionFailed: 'تعذّر الاتصال بالخادم',
586
- serverUnreachable: 'الخادم {{url}} غير قابل للوصول.',
587
- checkServer: 'يرجى التحقق من اتصال الشبكة أو من تشغيل الواجهة الخلفية.',
588
- timeout: 'انتهت مهلة الاتصال بعد 10 ثوانٍ.',
791
+ connectionFailed: "تعذّر الاتصال بالخادم",
792
+ serverUnreachable: "الخادم {{url}} غير قابل للوصول.",
793
+ checkServer: "يرجى التحقق من اتصال الشبكة أو من تشغيل الواجهة الخلفية.",
794
+ timeout: "انتهت مهلة الاتصال بعد 10 ثوانٍ.",
589
795
  },
590
796
  actions: {
591
- retry: 'إعادة المحاولة',
592
- retrying: 'جاري إعادة المحاولة…',
797
+ retry: "إعادة المحاولة",
798
+ retrying: "جاري إعادة المحاولة…",
593
799
  },
594
800
  shortcuts: {
595
- title: 'اختصارات لوحة المفاتيح',
596
- description: 'مرجع سريع لجميع اختصارات لوحة المفاتيح المتاحة.',
597
- groups: { general: 'عام', navigation: 'التنقل', dataViews: 'عروض البيانات', preferences: 'التفضيلات' },
598
- openCommandPalette: 'فتح لوحة الأوامر',
599
- showShortcuts: 'عرض اختصارات لوحة المفاتيح',
600
- closeDialog: 'إغلاق النافذة / اللوحة',
601
- toggleSidebar: 'تبديل الشريط الجانبي',
602
- focusSearch: 'التركيز على البحث',
603
- createRecord: 'إنشاء سجل جديد',
604
- refreshData: 'تحديث البيانات',
605
- editRecord: 'تعديل السجل المحدد',
606
- toggleDarkMode: 'تبديل الوضع الداكن',
801
+ title: "اختصارات لوحة المفاتيح",
802
+ description: "مرجع سريع لجميع اختصارات لوحة المفاتيح المتاحة.",
803
+ groups: {
804
+ general: "عام",
805
+ navigation: "التنقل",
806
+ dataViews: "عروض البيانات",
807
+ preferences: "التفضيلات",
808
+ },
809
+ openCommandPalette: "فتح لوحة الأوامر",
810
+ showShortcuts: "عرض اختصارات لوحة المفاتيح",
811
+ closeDialog: "إغلاق النافذة / اللوحة",
812
+ toggleSidebar: "تبديل الشريط الجانبي",
813
+ focusSearch: "التركيز على البحث",
814
+ createRecord: "إنشاء سجل جديد",
815
+ refreshData: "تحديث البيانات",
816
+ editRecord: "تعديل السجل المحدد",
817
+ toggleDarkMode: "تبديل الوضع الداكن",
607
818
  },
608
819
  commandPalette: {
609
- placeholder: 'اكتب أمراً أو ابحث...',
610
- noResults: 'لم يتم العثور على نتائج.',
611
- objects: 'الكائنات',
612
- dashboards: 'لوحات المعلومات',
613
- pages: 'الصفحات',
614
- reports: 'التقارير',
615
- switchApp: 'تبديل التطبيق',
616
- current: 'الحالي',
617
- preferences: 'التفضيلات',
618
- lightTheme: 'المظهر الفاتح',
619
- darkTheme: 'المظهر الداكن',
620
- systemTheme: 'مظهر النظام',
621
- actions: 'الإجراءات',
622
- openFullSearch: 'فتح صفحة البحث الكاملة',
623
- createApp: 'إنشاء تطبيق جديد',
820
+ placeholder: "اكتب أمراً أو ابحث...",
821
+ noResults: "لم يتم العثور على نتائج.",
822
+ objects: "الكائنات",
823
+ dashboards: "لوحات المعلومات",
824
+ pages: "الصفحات",
825
+ reports: "التقارير",
826
+ switchApp: "تبديل التطبيق",
827
+ current: "الحالي",
828
+ preferences: "التفضيلات",
829
+ lightTheme: "المظهر الفاتح",
830
+ darkTheme: "المظهر الداكن",
831
+ systemTheme: "مظهر النظام",
832
+ actions: "الإجراءات",
833
+ openFullSearch: "فتح صفحة البحث الكاملة",
834
+ createApp: "إنشاء تطبيق جديد",
835
+ searching: "جارٍ البحث…",
836
+ records: "السجلات",
837
+ recentRecords: "شوهد مؤخراً",
624
838
  },
625
839
  errors: {
626
- somethingWentWrong: 'حدث خطأ ما',
627
- unexpectedError: 'حدث خطأ غير متوقع أثناء عرض هذا المحتوى.',
628
- tryAgain: 'إعادة المحاولة',
629
- goHome: 'العودة للرئيسية',
630
- errorDetails: 'تفاصيل الخطأ (وضع التطوير فقط)',
840
+ somethingWentWrong: "حدث خطأ ما",
841
+ unexpectedError: "حدث خطأ غير متوقع أثناء عرض هذا المحتوى.",
842
+ tryAgain: "إعادة المحاولة",
843
+ goHome: "العودة للرئيسية",
844
+ errorDetails: "تفاصيل الخطأ (وضع التطوير فقط)",
631
845
  },
632
846
  theme: {
633
- toggle: 'تبديل المظهر',
634
- light: 'فاتح',
635
- dark: 'داكن',
636
- system: 'النظام',
847
+ toggle: "تبديل المظهر",
848
+ light: "فاتح",
849
+ dark: "داكن",
850
+ system: "النظام",
637
851
  },
638
852
  objectView: {
639
- objectNotFound: 'الكائن غير موجود',
640
- objectNotFoundDescription: 'الكائن "{{objectName}}" غير موجود في الإعدادات الحالية.',
641
- objectNotFoundHint: 'تحقق من إعدادات التنقل في تطبيقك أو اختر كائنًا آخر من الشريط الجانبي.',
642
- allRecords: 'جميع السجلات',
643
- exitDesignMode: 'الخروج من وضع التصميم',
644
- enterDesignMode: 'الدخول إلى وضع التصميم',
645
- metadataInspector: 'مفتش البيانات الوصفية',
646
- editView: 'تعديل العرض',
647
- addView: 'إضافة عرض',
648
- designTools: 'أدوات التصميم',
649
- new: 'جديد',
650
- configureView: 'تكوين العرض',
651
- closePanel: 'إغلاق اللوحة',
652
- page: 'الصفحة',
653
- pageConfigHint: 'شريط الأدوات والتنقل وإعدادات غلاف العرض',
654
- listConfigHint: 'عرض البيانات والأعمدة والمظهر لهذا النوع من القائمة',
655
- general: 'عام',
656
- generalHint: 'عنوان العرض والوصف والنوع',
657
- toolbar: 'شريط الأدوات',
658
- toolbarHint: 'البحث والتصفية والفرز والتجميع ومفاتيح الكثافة',
659
- toolbarEnabledCount: '{{count}} من {{total}} مفعّل',
660
- navigationSection: 'التنقل',
661
- navigationHint: 'سلوك النقر على الصف وإعدادات العرض التفصيلي',
662
- records: 'السجلات',
663
- recordsHint: 'وضع التحديد وإضافة سجل والتحرير المباشر',
664
- exportPrint: 'التصدير والطباعة',
665
- exportPrintHint: 'صيغ التصدير والطباعة وعرض عدد السجلات',
666
- showAllFields: 'إظهار الكل',
667
- hideAllFields: 'إخفاء الكل',
668
- searchFields: 'البحث في الحقول...',
669
- title: 'العنوان',
670
- description: 'الوصف',
671
- data: 'البيانات',
672
- source: 'المصدر',
673
- columns: 'الأعمدة',
674
- filterBy: 'تصفية حسب',
675
- sortBy: 'ترتيب حسب',
676
- appearance: 'المظهر',
677
- showDescription: 'عرض الوصف',
678
- viewType: 'نوع العرض',
679
- userFilters: 'مرشحات المستخدم',
680
- enableSearch: 'تفعيل البحث',
681
- enableFilter: 'تفعيل التصفية',
682
- enableSort: 'تفعيل الترتيب',
683
- enableHideFields: 'تفعيل إخفاء الحقول',
684
- enableGroup: 'تفعيل التجميع',
685
- enableColor: 'تفعيل اللون',
686
- enableDensity: 'تفعيل الكثافة',
687
- userActions: 'إجراءات المستخدم',
688
- addRecordViaForm: 'إضافة سجلات عبر النموذج',
689
- advanced: 'متقدم',
690
- allowExport: 'السماح بالتصدير',
691
- recordCount: '{{count}} سجل',
692
- noDescription: 'لا يوجد وصف',
693
- none: 'لا شيء',
694
- columnsConfigured: '{{count}} أعمدة',
695
- save: 'حفظ',
696
- discard: 'تجاهل',
697
- createView: 'إنشاء عرض',
698
- newView: 'عرض جديد',
699
- typeOptions: 'خيارات النوع',
700
- groupByField: 'حقل التجميع',
701
- startDateField: 'حقل تاريخ البدء',
702
- titleField: 'حقل العنوان',
703
- latitudeField: 'حقل خط العرض',
704
- longitudeField: 'حقل خط الطول',
705
- imageField: 'حقل الصورة',
706
- dateField: 'حقل التاريخ',
707
- selectField: 'اختر حقلاً...',
708
- gridOptionsHint: 'يستخدم عرض الشبكة الأعمدة المكونة أعلاه.',
709
- groupBy: 'تجميع حسب',
710
- prefixField: 'حقل البادئة',
711
- fields: 'الحقول',
712
- fieldsVisible: '{{count}} مرئي',
713
- sortsCount: '{{count}} ترتيبات',
714
- filtersCount: '{{count}} مرشحات',
715
- endDateField: 'حقل تاريخ الانتهاء',
716
- color: 'اللون',
717
- fieldTextColor: 'لون نص الحقل',
718
- rowHeight: 'ارتفاع الصف',
719
- wrapHeaders: 'التفاف العناوين',
720
- showFieldDescriptions: 'إظهار أوصاف الحقول',
721
- collapseAllByDefault: 'طي الكل افتراضياً',
722
- striped: 'صفوف مخططة',
723
- bordered: 'خلايا محاطة بحدود',
724
- inlineEdit: 'تحرير السجلات مباشرة',
725
- addDeleteRecordsInline: 'إضافة/حذف السجلات مباشرة',
726
- clickIntoRecordDetails: 'انقر لعرض تفاصيل السجل',
727
- navigationMode: 'وضع التنقل',
728
- navigationWidth: 'عرض التنقل',
729
- navigationWidthHint: 'متاح لأوضاع التنقل: الدرج والنافذة المنبثقة والعرض المقسم',
730
- openNewTab: 'فتح في علامة تبويب جديدة',
731
- openNewTabHint: 'متاح لأوضاع التنقل: الصفحة والنافذة الجديدة',
853
+ systemViewReadonly: 'System view defined in code - duplicate to customize.',
854
+ expandToPage: 'Open as full page',
855
+ objectNotFound: "الكائن غير موجود",
856
+ objectNotFoundDescription: "الكائن \"{{objectName}}\" غير موجود في الإعدادات الحالية.",
857
+ objectNotFoundHint: "تحقق من إعدادات التنقل في تطبيقك أو اختر كائنًا آخر من الشريط الجانبي.",
858
+ allRecords: "جميع السجلات",
859
+ exitDesignMode: "الخروج من وضع التصميم",
860
+ enterDesignMode: "الدخول إلى وضع التصميم",
861
+ metadataInspector: "مفتش البيانات الوصفية",
862
+ editView: "تعديل العرض",
863
+ addView: "إضافة عرض",
864
+ designTools: "أدوات التصميم",
865
+ new: "جديد",
866
+ configureView: "تكوين العرض",
867
+ closePanel: "إغلاق اللوحة",
868
+ page: "الصفحة",
869
+ pageConfigHint: "شريط الأدوات والتنقل وإعدادات غلاف العرض",
870
+ listConfigHint: "عرض البيانات والأعمدة والمظهر لهذا النوع من القائمة",
871
+ general: "عام",
872
+ generalHint: "عنوان العرض والوصف والنوع",
873
+ toolbar: "شريط الأدوات",
874
+ toolbarHint: "البحث والتصفية والفرز والتجميع ومفاتيح الكثافة",
875
+ toolbarEnabledCount: "{{count}} من {{total}} مفعّل",
876
+ navigationSection: "التنقل",
877
+ navigationHint: "سلوك النقر على الصف وإعدادات العرض التفصيلي",
878
+ records: "السجلات",
879
+ recordsHint: "وضع التحديد وإضافة سجل والتحرير المباشر",
880
+ exportPrint: "التصدير والطباعة",
881
+ exportPrintHint: "صيغ التصدير والطباعة وعرض عدد السجلات",
882
+ showAllFields: "إظهار الكل",
883
+ hideAllFields: "إخفاء الكل",
884
+ searchFields: "البحث في الحقول...",
885
+ title: "العنوان",
886
+ description: "الوصف",
887
+ data: "البيانات",
888
+ source: "المصدر",
889
+ columns: "الأعمدة",
890
+ filterBy: "تصفية حسب",
891
+ sortBy: "ترتيب حسب",
892
+ appearance: "المظهر",
893
+ showDescription: "عرض الوصف",
894
+ viewType: "نوع العرض",
895
+ userFilters: "مرشحات المستخدم",
896
+ enableSearch: "تفعيل البحث",
897
+ enableFilter: "تفعيل التصفية",
898
+ enableSort: "تفعيل الترتيب",
899
+ enableHideFields: "تفعيل إخفاء الحقول",
900
+ enableGroup: "تفعيل التجميع",
901
+ enableColor: "تفعيل اللون",
902
+ enableDensity: "تفعيل الكثافة",
903
+ userActions: "إجراءات المستخدم",
904
+ addRecordViaForm: "إضافة سجلات عبر النموذج",
905
+ advanced: "متقدم",
906
+ allowExport: "السماح بالتصدير",
907
+ recordCount: "{{count}} سجل",
908
+ noDescription: "لا يوجد وصف",
909
+ none: "لا شيء",
910
+ columnsConfigured: "{{count}} أعمدة",
911
+ save: "حفظ",
912
+ discard: "تجاهل",
913
+ createView: "إنشاء عرض",
914
+ newView: "عرض جديد",
915
+ typeOptions: "خيارات النوع",
916
+ groupByField: "حقل التجميع",
917
+ startDateField: "حقل تاريخ البدء",
918
+ titleField: "حقل العنوان",
919
+ latitudeField: "حقل خط العرض",
920
+ longitudeField: "حقل خط الطول",
921
+ imageField: "حقل الصورة",
922
+ dateField: "حقل التاريخ",
923
+ selectField: "اختر حقلاً...",
924
+ gridOptionsHint: "يستخدم عرض الشبكة الأعمدة المكونة أعلاه.",
925
+ groupBy: "تجميع حسب",
926
+ prefixField: "حقل البادئة",
927
+ fields: "الحقول",
928
+ fieldsVisible: "{{count}} مرئي",
929
+ sortsCount: "{{count}} ترتيبات",
930
+ filtersCount: "{{count}} مرشحات",
931
+ endDateField: "حقل تاريخ الانتهاء",
932
+ color: "اللون",
933
+ fieldTextColor: "لون نص الحقل",
934
+ rowHeight: "ارتفاع الصف",
935
+ wrapHeaders: "التفاف العناوين",
936
+ showFieldDescriptions: "إظهار أوصاف الحقول",
937
+ collapseAllByDefault: "طي الكل افتراضياً",
938
+ striped: "صفوف مخططة",
939
+ bordered: "خلايا محاطة بحدود",
940
+ inlineEdit: "تحرير السجلات مباشرة",
941
+ addDeleteRecordsInline: "إضافة/حذف السجلات مباشرة",
942
+ clickIntoRecordDetails: "انقر لعرض تفاصيل السجل",
943
+ navigationMode: "وضع التنقل",
944
+ navigationWidth: "عرض التنقل",
945
+ navigationWidthHint: "متاح لأوضاع التنقل: الدرج والنافذة المنبثقة والعرض المقسم",
946
+ openNewTab: "فتح في علامة تبويب جديدة",
947
+ openNewTabHint: "متاح لأوضاع التنقل: الصفحة والنافذة الجديدة",
948
+ import: "استيراد",
949
+ importTitle: "استيراد من CSV",
950
+ importedToast: "تم استيراد {{count}} صف(صفوف).",
951
+ importedWithSkipped: "تم استيراد {{ok}} صف(صفوف)؛ تم تخطي {{skipped}}.",
952
+ showAdvancedSettings: "إظهار الإعدادات المتقدمة",
953
+ showFewerSettings: "إظهار إعدادات أقل",
954
+ createViewDesc: "اختر نوع العرض وأعطه اسماً. يمكن تغيير جميع الإعدادات لاحقاً.",
955
+ cancel: "إلغاء",
956
+ create: "إنشاء",
957
+ delete: "حذف",
958
+ deleteViewTitle: "حذف العرض",
959
+ deleteViewConfirm: "حذف العرض \"{{name}}\"؟ لا يمكن التراجع عن ذلك.",
960
+ bulkDeleteConfirm: "حذف {{count}} سجل(ات) محدد(ة)؟ لا يمكن التراجع عن ذلك.",
961
+ duplicateViewName: "يوجد عرض بهذا الاسم بالفعل.",
962
+ viewTypeGrid: "شبكة",
963
+ viewTypeGridDesc: "جدول سجلات بأسلوب جدول البيانات.",
964
+ viewTypeKanban: "كانبان",
965
+ viewTypeKanbanDesc: "بطاقات مجمعة في أعمدة بحقل تحديد واحد.",
966
+ viewTypeCalendar: "تقويم",
967
+ viewTypeCalendarDesc: "سجلات موضوعة حسب التاريخ في تقويم شهري.",
968
+ viewTypeGallery: "معرض",
969
+ viewTypeGalleryDesc: "بطاقات صور كبيرة من حقل المرفقات.",
970
+ viewTypeTimeline: "الجدول الزمني",
971
+ viewTypeTimelineDesc: "سجلات على محور زمني أفقي.",
972
+ viewTypeGantt: "غانت",
973
+ viewTypeGanttDesc: "أشرطة مشروع مع البداية/النهاية والتبعيات.",
974
+ viewTypeMap: "خريطة",
975
+ viewTypeMapDesc: "علامات جغرافية من حقول خط العرض/الطول.",
976
+ viewTypeChart: "مخطط",
977
+ viewTypeChartDesc: "مخططات شريطية/خطية/دائرية مجمعة.",
978
+ groupByFieldHelp: "تُجمّع لوحة كانبان السجلات في أعمدة حسب قيم الحقل.",
979
+ startDateFieldHelp: "يضع التقويم السجلات في الخلية المقابلة لهذا التاريخ.",
980
+ ganttStartDateFieldHelp: "يستخدم الحد الأيسر لكل شريط غانت هذا التاريخ.",
981
+ ganttEndDateFieldHelp: "يستخدم الحد الأيمن لكل شريط غانت هذا التاريخ.",
982
+ timelineDateFieldHelp: "تُوضع السجلات على الجدول الزمني بناءً على هذا التاريخ.",
983
+ latitudeFieldHelp: "حقل يحتوي على خط العرض (حقول جغرافية فقط).",
984
+ longitudeFieldHelp: "حقل يحتوي على خط الطول (حقول جغرافية فقط).",
985
+ imageFieldHelp: "تأتي غلاف المعرض من هذا الحقل للصورة أو المرفق.",
986
+ selectOption: "تحديد...",
987
+ noEligibleFieldForType: "لا يوجد حقل مؤهل من هذا النوع. أضف حقلاً إلى الكائن أولاً.",
988
+ viewTypeUnavailable: "لا يحتوي هذا الكائن على حقل يمكن أن يعمل كـ \"{{field}}\".",
989
+ viewTypeUnavailableShort: "غير مدعوم من هذا الكائن.",
990
+ chartType: "نوع المخطط",
991
+ chartTypeHelp: "يحدد كيفية عرض البيانات.",
992
+ chartTypeBar: "مخطط شريطي",
993
+ chartTypeLine: "مخطط خطي",
994
+ chartTypePie: "مخطط دائري",
995
+ chartTypeArea: "مخطط مساحة",
996
+ chartTypeScatter: "مخطط نقطي",
997
+ xAxisField: "حقل المحور X",
998
+ xAxisFieldHelp: "البُعد الفئوي أو الزمني.",
999
+ yAxisField: "حقل المحور Y",
1000
+ yAxisFieldHelp: "الحقل الرقمي للتجميع.",
1001
+ selectionMode: "وضع التحديد",
1002
+ selectionNone: "لا شيء",
1003
+ selectionSingle: "فردي",
1004
+ selectionMultiple: "متعدد",
1005
+ pageSize: "حجم الصفحة",
1006
+ pageSizeOptions: "خيارات حجم الصفحة",
1007
+ exportFormats: "تنسيقات التصدير",
1008
+ exportMaxRecords: "الحد الأقصى للسجلات",
1009
+ exportIncludeHeaders: "تضمين الرؤوس",
1010
+ exportFileNamePrefix: "بادئة اسم الملف",
1011
+ searchableFields: "الحقول القابلة للبحث",
1012
+ filterableFields: "الحقول القابلة للتصفية",
1013
+ resizableColumns: "أعمدة قابلة لتغيير الحجم",
1014
+ densityCompact: "مضغوط",
1015
+ densityComfortable: "عادي",
1016
+ densitySpacious: "فسيح",
1017
+ densityMode: "وضع الكثافة",
1018
+ hiddenFields: "الحقول المخفية",
1019
+ rowActions: "إجراءات الصف",
1020
+ bulkActions: "إجراءات جماعية",
1021
+ sharing: "مشاركة",
1022
+ sharingEnabled: "المشاركة مفعلة",
1023
+ sharingVisibility: "الرؤية",
1024
+ addRecordEnabled: "إضافة سجل مفعلة",
1025
+ addRecordPosition: "الموضع",
1026
+ addRecordMode: "الوضع",
1027
+ addRecordFormView: "عرض النموذج",
1028
+ conditionalFormatting: "التنسيق الشرطي",
1029
+ addRule: "إضافة قاعدة",
1030
+ quickFilters: "فلاتر سريعة",
1031
+ addQuickFilter: "إضافة فلتر سريع",
1032
+ ufElements: "العناصر",
1033
+ ufDropdown: "قائمة منسدلة",
1034
+ ufTabs: "علامات تبويب",
1035
+ ufToggle: "تبديل",
1036
+ ufAddField: "+ إضافة حقل فلتر...",
1037
+ ufNoFields: "لا حقول متاحة",
1038
+ ufAddTab: "+ إضافة علامة تبويب",
1039
+ ufTabLabel: "التسمية",
1040
+ ufShowAllRecords: "إظهار علامة \"جميع السجلات\"",
1041
+ ufAllowAddTab: "السماح بإضافة علامات تبويب",
1042
+ showRecordCount: "إظهار عدد السجلات",
1043
+ allowPrinting: "السماح بالطباعة",
1044
+ virtualScroll: "التمرير الافتراضي",
1045
+ emptyStateTitle: "عنوان الحالة الفارغة",
1046
+ emptyStateMessage: "رسالة الحالة الفارغة",
1047
+ emptyStateIcon: "رمز الحالة الفارغة",
1048
+ ariaLabel: "تسمية ARIA",
1049
+ ariaDescribedBy: "موصوف بـ ARIA",
1050
+ ariaLive: "ARIA Live",
1051
+ accessibility: "إمكانية الوصول",
1052
+ viewTabs: "علامات تبويب العرض",
732
1053
  },
733
1054
  localeSwitcher: {
734
- label: 'اللغة',
1055
+ label: "اللغة",
1056
+ },
1057
+ search: "بحث…",
1058
+ nav: {
1059
+ pinItem: "تثبيت {{name}}",
1060
+ unpinItem: "إلغاء تثبيت {{name}}",
1061
+ dragToReorder: "اسحب لإعادة الترتيب",
1062
+ favorites: "المفضلة",
735
1063
  },
736
1064
  },
737
1065
  auth: {
738
1066
  login: {
739
- title: 'تسجيل الدخول إلى حسابك',
740
- description: 'أدخل بريدك الإلكتروني وكلمة المرور للمتابعة',
741
- emailLabel: 'البريد الإلكتروني',
742
- emailPlaceholder: 'name@example.com',
743
- passwordLabel: 'كلمة المرور',
744
- passwordPlaceholder: 'أدخل كلمة المرور',
745
- forgotPasswordText: 'نسيت كلمة المرور؟',
746
- submitButton: 'تسجيل الدخول',
747
- submittingButton: 'جارٍ تسجيل الدخول...',
748
- noAccountText: 'ليس لديك حساب؟',
749
- signUpText: 'إنشاء حساب',
1067
+ title: "تسجيل الدخول إلى حسابك",
1068
+ description: "أدخل بريدك الإلكتروني وكلمة المرور للمتابعة",
1069
+ emailLabel: "البريد الإلكتروني",
1070
+ emailPlaceholder: "name@example.com",
1071
+ passwordLabel: "كلمة المرور",
1072
+ passwordPlaceholder: "أدخل كلمة المرور",
1073
+ forgotPasswordText: "نسيت كلمة المرور؟",
1074
+ submitButton: "تسجيل الدخول",
1075
+ submittingButton: "جارٍ تسجيل الدخول...",
1076
+ noAccountText: "ليس لديك حساب؟",
1077
+ signUpText: "إنشاء حساب",
1078
+ errors: {
1079
+ invalidCredentials: "بريد إلكتروني أو كلمة مرور غير صحيحة. يرجى المحاولة مرة أخرى.",
1080
+ emailNotVerified: "يرجى التحقق من بريدك الإلكتروني قبل تسجيل الدخول.",
1081
+ },
750
1082
  },
751
1083
  register: {
752
- title: 'إنشاء حساب',
753
- description: 'أدخل معلوماتك للبدء',
754
- nameLabel: 'الاسم',
755
- namePlaceholder: 'محمد أحمد',
756
- emailLabel: 'البريد الإلكتروني',
757
- emailPlaceholder: 'name@example.com',
758
- passwordLabel: 'كلمة المرور',
759
- passwordPlaceholder: 'إنشاء كلمة مرور (8 أحرف على الأقل)',
760
- confirmPasswordLabel: 'تأكيد كلمة المرور',
761
- confirmPasswordPlaceholder: 'أكّد كلمة المرور',
762
- passwordMismatchError: 'كلمتا المرور غير متطابقتين',
763
- passwordTooShortError: 'يجب أن تتكون كلمة المرور من 8 أحرف على الأقل',
764
- submitButton: 'إنشاء حساب',
765
- submittingButton: 'جارٍ إنشاء الحساب...',
766
- hasAccountText: 'لديك حساب بالفعل؟',
767
- signInText: 'تسجيل الدخول',
1084
+ title: "إنشاء حساب",
1085
+ description: "أدخل معلوماتك للبدء",
1086
+ nameLabel: "الاسم",
1087
+ namePlaceholder: "محمد أحمد",
1088
+ emailLabel: "البريد الإلكتروني",
1089
+ emailPlaceholder: "name@example.com",
1090
+ passwordLabel: "كلمة المرور",
1091
+ passwordPlaceholder: "إنشاء كلمة مرور (8 أحرف على الأقل)",
1092
+ confirmPasswordLabel: "تأكيد كلمة المرور",
1093
+ confirmPasswordPlaceholder: "أكّد كلمة المرور",
1094
+ passwordMismatchError: "كلمتا المرور غير متطابقتين",
1095
+ passwordTooShortError: "يجب أن تتكون كلمة المرور من 8 أحرف على الأقل",
1096
+ submitButton: "إنشاء حساب",
1097
+ submittingButton: "جارٍ إنشاء الحساب...",
1098
+ hasAccountText: "لديك حساب بالفعل؟",
1099
+ signInText: "تسجيل الدخول",
1100
+ errors: {
1101
+ userExists: "يوجد حساب بهذا البريد الإلكتروني بالفعل. حاول تسجيل الدخول.",
1102
+ },
1103
+ verifyInbox: {
1104
+ title: "تحقق من صندوق الوارد",
1105
+ description: "أرسلنا رابط التحقق إلى {{email}}. انقر على الرابط لتفعيل حسابك.",
1106
+ resend: "إعادة إرسال بريد التحقق",
1107
+ resending: "جارٍ الإرسال…",
1108
+ resent: "تم إرسال بريد التحقق.",
1109
+ backToSignIn: "العودة إلى تسجيل الدخول",
1110
+ },
768
1111
  },
769
1112
  forgotPassword: {
770
- title: 'إعادة تعيين كلمة المرور',
771
- description: 'أدخل عنوان بريدك الإلكتروني وسنرسل لك رابطًا لإعادة تعيين كلمة المرور',
772
- emailLabel: 'البريد الإلكتروني',
773
- emailPlaceholder: 'name@example.com',
774
- submitButton: 'إرسال رابط إعادة التعيين',
775
- submittingButton: 'جارٍ الإرسال...',
776
- successTitle: 'تحقق من بريدك الإلكتروني',
777
- successDescription: 'لقد أرسلنا رابط إعادة تعيين كلمة المرور إلى {{email}}. يرجى التحقق من بريدك الوارد.',
778
- backToSignInText: 'العودة إلى تسجيل الدخول',
779
- rememberPasswordText: 'تتذكر كلمة المرور؟',
780
- signInText: 'تسجيل الدخول',
1113
+ title: "إعادة تعيين كلمة المرور",
1114
+ description: "أدخل عنوان بريدك الإلكتروني وسنرسل لك رابطًا لإعادة تعيين كلمة المرور",
1115
+ emailLabel: "البريد الإلكتروني",
1116
+ emailPlaceholder: "name@example.com",
1117
+ submitButton: "إرسال رابط إعادة التعيين",
1118
+ submittingButton: "جارٍ الإرسال...",
1119
+ successTitle: "تحقق من بريدك الإلكتروني",
1120
+ successDescription: "لقد أرسلنا رابط إعادة تعيين كلمة المرور إلى {{email}}. يرجى التحقق من بريدك الوارد.",
1121
+ backToSignInText: "العودة إلى تسجيل الدخول",
1122
+ rememberPasswordText: "تتذكر كلمة المرور؟",
1123
+ signInText: "تسجيل الدخول",
1124
+ },
1125
+ resetPassword: {
1126
+ title: "تعيين كلمة مرور جديدة",
1127
+ description: "اختر كلمة مرور لم تستخدمها من قبل.",
1128
+ newPassword: "كلمة المرور الجديدة",
1129
+ confirmPassword: "تأكيد كلمة المرور",
1130
+ submit: "تحديث كلمة المرور",
1131
+ submitting: "جارٍ التحديث…",
1132
+ success: "تم تحديث كلمة المرور",
1133
+ failed: "فشل إعادة التعيين",
1134
+ invalidToken: "رابط إعادة التعيين هذا غير صالح أو منتهي الصلاحية.",
1135
+ missingToken: "رابط إعادة التعيين مفقود أو منتهي الصلاحية",
1136
+ passwordsMismatch: "كلمتا المرور غير متطابقتين",
1137
+ requestNewLink: "طلب رابط جديد",
1138
+ },
1139
+ verifyEmail: {
1140
+ title: "التحقق من عنوان البريد الإلكتروني",
1141
+ description: "أرسلنا رابط التحقق إلى بريدك الإلكتروني. انقر على الرابط للتحقق من حسابك.",
1142
+ sentTo: "أُرسل إلى:",
1143
+ verifyingTitle: "جارٍ التحقق…",
1144
+ verifyingDescription: "نقوم بالتحقق من بريدك الإلكتروني. يرجى الانتظار.",
1145
+ successTitle: "تم التحقق من البريد الإلكتروني",
1146
+ successDescription: "تم التحقق من بريدك الإلكتروني. يمكنك الآن تسجيل الدخول.",
1147
+ errorTitle: "فشل التحقق",
1148
+ errorDescription: "فشل التحقق. يرجى طلب رابط جديد.",
1149
+ missingToken: "رابط التحقق لا يحتوي على رمز.",
1150
+ emailMissing: "عنوان البريد الإلكتروني مفقود",
1151
+ resendButton: "إعادة إرسال بريد التحقق",
1152
+ resending: "جارٍ الإرسال…",
1153
+ resent: "تم إرسال البريد! تحقق من صندوق الوارد",
1154
+ resentSuccess: "تم إرسال بريد التحقق!",
1155
+ resentDescription: "يرجى التحقق من صندوق الوارد والنقر على رابط التحقق.",
1156
+ resendFailed: "تعذر إعادة إرسال بريد التحقق",
1157
+ signInLink: "الانتقال إلى تسجيل الدخول",
1158
+ backToSignIn: "العودة إلى تسجيل الدخول",
1159
+ backToLogin: "العودة إلى تسجيل الدخول",
1160
+ checkSpam: "لم تستلم البريد؟ تحقق من مجلد البريد غير المرغوب أو تواصل مع الدعم.",
1161
+ or: "أو",
1162
+ },
1163
+ setup: {
1164
+ welcomeTitle: "مرحباً بك في ObjectStack",
1165
+ description: "أنشئ أول حساب مالك لإتمام الإعداد.",
1166
+ yourName: "اسمك",
1167
+ orgName: "اسم المنظمة",
1168
+ orgNamePlaceholder: "شركة مثال",
1169
+ emailLabel: "البريد الإلكتروني",
1170
+ emailPlaceholder: "name@example.com",
1171
+ passwordLabel: "كلمة المرور",
1172
+ passwordHint: "8 أحرف على الأقل",
1173
+ submit: "إنشاء حساب المالك",
1174
+ submitting: "جارٍ الإعداد…",
1175
+ failed: "فشل الإعداد",
1176
+ },
1177
+ device: {
1178
+ title: "تفويض جهاز جديد",
1179
+ subtitle: "وافق على هذا الجهاز لتسجيل الدخول بوصفك {{email}}.",
1180
+ userCodeLabel: "رمز الجهاز",
1181
+ requesterLabel: "طلب اتصال من",
1182
+ approveWarning: "وافق فقط إذا كنت قد بدأت هذا الاتصال بنفسك قبل لحظات. بعد الموافقة، سيتمكن وقت التشغيل هذا من الوصول إلى الحزم الخاصة بمؤسستك.",
1183
+ loggedInAs: "مسجل الدخول بوصفك {{email}}",
1184
+ approve: "الموافقة على الجهاز",
1185
+ approving: "جارٍ الموافقة…",
1186
+ approvedTitle: "تم تفويض الجهاز",
1187
+ approvedDescription: "يمكنك العودة إلى الجهاز — يجب أن يسجل الدخول قريباً.",
1188
+ approveSuccess: "تم تفويض الجهاز",
1189
+ approveSuccessDescription: "يمكنك إغلاق هذه النافذة.",
1190
+ approveFailed: "فشلت الموافقة",
1191
+ deny: "رفض الطلب",
1192
+ denying: "جارٍ الرفض…",
1193
+ deniedTitle: "تم رفض الوصول",
1194
+ deniedDescription: "لن يُمنح الجهاز وصولاً.",
1195
+ denyFailed: "تعذر رفض الطلب",
1196
+ invalidTitle: "رابط جهاز غير صالح",
1197
+ invalidDescription: "لم يتم تقديم رمز جهاز في URL.",
1198
+ loading: "جارٍ التحميل…",
1199
+ cancel: "إلغاء",
1200
+ },
1201
+ shell: {
1202
+ tenantHostHint: "تسجل الدخول إلى مساحة العمل هذه",
781
1203
  },
782
1204
  },
783
1205
  errors: {
784
- networkError: 'خطأ في الشبكة. يرجى التحقق من اتصالك.',
785
- serverError: 'خطأ في الخادم. يرجى المحاولة مرة أخرى لاحقاً.',
786
- notFound: 'المورد غير موجود.',
787
- unauthorized: 'ليس لديك صلاحية لتنفيذ هذا الإجراء.',
788
- forbidden: 'تم رفض الوصول.',
789
- timeout: 'انتهت مهلة الطلب. يرجى المحاولة مرة أخرى.',
790
- unknown: 'حدث خطأ غير متوقع.',
1206
+ networkError: "خطأ في الشبكة. يرجى التحقق من اتصالك.",
1207
+ serverError: "خطأ في الخادم. يرجى المحاولة مرة أخرى لاحقاً.",
1208
+ notFound: "المورد غير موجود.",
1209
+ unauthorized: "ليس لديك صلاحية لتنفيذ هذا الإجراء.",
1210
+ forbidden: "تم رفض الوصول.",
1211
+ timeout: "انتهت مهلة الطلب. يرجى المحاولة مرة أخرى.",
1212
+ unknown: "حدث خطأ غير متوقع.",
791
1213
  },
792
1214
  workspace: {
793
- label: 'مساحات العمل',
794
- default: 'مساحة العمل الخاصة بي',
795
- switch: 'تبديل مساحة العمل',
796
- create: 'إنشاء مساحة عمل',
797
- createTitle: 'إنشاء مساحة عمل',
798
- createDescription: 'مساحة العمل هي مساحة مشتركة لفريقك للتعاون.',
799
- createButton: 'إنشاء مساحة عمل',
800
- nameLabel: 'اسم مساحة العمل',
801
- namePlaceholder: 'مثلاً، Acme Inc',
802
- slugLabel: 'معرف URL',
803
- slugHint: 'يستخدم في عناوين URL. أحرف صغيرة وأرقام وشرطات فقط.',
804
- invite: 'دعوة عضو',
805
- members: 'الأعضاء',
806
- settings: 'إعدادات مساحة العمل',
1215
+ label: "مساحات العمل",
1216
+ default: "مساحة العمل الخاصة بي",
1217
+ switch: "تبديل مساحة العمل",
1218
+ create: "إنشاء مساحة عمل",
1219
+ createTitle: "إنشاء مساحة عمل",
1220
+ createDescription: "مساحة العمل هي مساحة مشتركة لفريقك للتعاون.",
1221
+ createButton: "إنشاء مساحة عمل",
1222
+ nameLabel: "اسم مساحة العمل",
1223
+ namePlaceholder: "مثلاً، Acme Inc",
1224
+ slugLabel: "معرف URL",
1225
+ slugHint: "يستخدم في عناوين URL. أحرف صغيرة وأرقام وشرطات فقط.",
1226
+ invite: "دعوة عضو",
1227
+ members: "الأعضاء",
1228
+ settings: "إعدادات مساحة العمل",
1229
+ },
1230
+ help: {
1231
+ appDocs: 'وثائق هذا التطبيق',
1232
+ allDocs: 'كل الوثائق',
1233
+ onlineDocs: 'الوثائق عبر الإنترنت',
807
1234
  },
808
1235
  sidebar: {
809
- settings: 'الإعدادات',
810
- help: 'المساعدة',
811
- helpTooltip: 'المساعدة والوثائق',
812
- activityFeed: 'موجز النشاط',
1236
+ settings: "الإعدادات",
1237
+ help: "المساعدة",
1238
+ helpTooltip: "المساعدة والوثائق",
1239
+ activityFeed: "موجز النشاط",
1240
+ notifications: "الإشعارات",
1241
+ approvals: "الموافقات",
1242
+ inbox: "صندوق الوارد",
1243
+ inboxAriaLabel: "فتح صندوق الوارد",
1244
+ area: "المنطقة",
1245
+ scope: "النطاق",
1246
+ recent: "الأخيرة",
1247
+ favorites: "المفضلة",
1248
+ starred: "المميزة",
1249
+ removeFromFavorites: "إزالة {{name}} من المفضلة",
1250
+ },
1251
+ topbar: {
1252
+ aiAssistant: "مساعد الذكاء الاصطناعي",
813
1253
  },
814
1254
  home: {
815
- title: 'الرئيسية',
816
- subtitle: 'لوحة تحكم مساحة العمل',
817
- nav: 'الرئيسية',
818
- allApps: 'جميع التطبيقات',
819
- loading: 'جارٍ تحميل مساحة العمل...',
820
- recent: 'الأخيرة',
821
- starred: 'المميزة بنجمة',
822
- welcome: 'مرحباً بك في ObjectUI',
823
- welcomeDescription: 'ابدأ بإنشاء تطبيقك الأول أو تكوين إعدادات النظام.',
824
- createFirstApp: 'أنشئ أول تطبيق لك',
825
- systemSettings: 'إعدادات النظام',
826
- browseMarketplace: 'تصفح متجر التطبيقات',
1255
+ title: "الرئيسية",
1256
+ subtitle: "لوحة تحكم مساحة العمل",
1257
+ nav: "الرئيسية",
1258
+ allApps: "جميع التطبيقات",
1259
+ loading: "جارٍ تحميل مساحة العمل...",
1260
+ recent: "الأخيرة",
1261
+ starred: "المميزة بنجمة",
1262
+ welcome: "مرحباً بك في ObjectUI",
1263
+ welcomeDescription: "ابدأ بإنشاء تطبيقك الأول أو تكوين إعدادات النظام.",
1264
+ createFirstApp: "أنشئ أول تطبيق لك",
1265
+ systemSettings: "إعدادات النظام",
1266
+ browseMarketplace: "تصفح متجر التطبيقات",
827
1267
  quickActions: {
828
- title: 'إجراءات سريعة',
829
- createApp: 'إنشاء تطبيق',
830
- createAppDesc: 'ابدأ بتطبيق جديد',
831
- manageObjects: 'إدارة الكائنات',
832
- manageObjectsDesc: 'تكوين نماذج البيانات',
833
- systemSettings: 'إعدادات النظام',
834
- systemSettingsDesc: 'تكوين مساحة العمل الخاصة بك',
1268
+ title: "إجراءات سريعة",
1269
+ createApp: "إنشاء تطبيق",
1270
+ createAppDesc: "ابدأ بتطبيق جديد",
1271
+ manageObjects: "إدارة الكائنات",
1272
+ manageObjectsDesc: "تكوين نماذج البيانات",
1273
+ systemSettings: "إعدادات النظام",
1274
+ systemSettingsDesc: "تكوين مساحة العمل الخاصة بك",
835
1275
  },
836
1276
  appCard: {
837
- noDescription: 'لا يوجد وصف',
838
- default: 'افتراضي',
1277
+ noDescription: "لا يوجد وصف",
1278
+ default: "افتراضي",
1279
+ },
1280
+ greetingMorning: "صباح الخير",
1281
+ greetingAfternoon: "مساء الخير",
1282
+ greetingEvening: "مساء النور",
1283
+ greetingNight: "وردية الليل",
1284
+ heroTagline: "استمر من حيث توقفت أو اكتشف شيئاً جديداً.",
1285
+ open: "فتح",
1286
+ stats: {
1287
+ apps: "التطبيقات",
1288
+ starred: "المميزة",
1289
+ recent: "الأخيرة",
1290
+ },
1291
+ recentApps: {
1292
+ title: "فُتح مؤخراً",
1293
+ itemType: {
1294
+ object: "كائن",
1295
+ dashboard: "لوحة تحكم",
1296
+ page: "صفحة",
1297
+ record: "سجل",
1298
+ },
1299
+ },
1300
+ starredApps: {
1301
+ title: "المميزة",
1302
+ },
1303
+ gettingStarted: {
1304
+ title: "تخصيص الصفحة الرئيسية",
1305
+ description: "ضع علامة مميزة على تطبيق لتثبيته هنا والوصول إليه بنقرة واحدة. سيظهر كل ما تفتحه تلقائياً في \"فُتح مؤخراً\".",
1306
+ cta: "استعراض جميع التطبيقات",
839
1307
  },
840
1308
  },
841
1309
  layout: {
842
1310
  appSwitcher: {
843
- home: 'Home',
844
- addApp: 'Add App',
845
- editApp: 'Edit App',
846
- manageAllApps: 'Manage All Apps',
847
- systemConsole: 'System Console',
848
- noAppsConfigured: 'No apps configured',
1311
+ home: "الرئيسية",
1312
+ addApp: "إضافة تطبيق",
1313
+ editApp: "تعديل التطبيق",
1314
+ manageAllApps: "إدارة جميع التطبيقات",
1315
+ systemConsole: "وحدة تحكم النظام",
1316
+ noAppsConfigured: "لا تطبيقات مُهيأة",
849
1317
  },
850
1318
  activityFeed: {
851
- title: 'Recent Activity',
852
- filter: 'Filter',
853
- empty: 'No recent activity',
854
- ariaLabel: 'Activity feed',
855
- typeCreate: 'Create',
856
- typeUpdate: 'Update',
857
- typeDelete: 'Delete',
858
- typeComment: 'Comment',
859
- relativeJustNow: 'just now',
860
- relativeSecondsAgo: '{{count}}s ago',
861
- relativeMinutesAgo: '{{count}}m ago',
862
- relativeHoursAgo: '{{count}}h ago',
863
- relativeDaysAgo: '{{count}}d ago',
1319
+ title: "النشاط الأخير",
1320
+ filter: "تصفية",
1321
+ empty: "لا نشاط أخير",
1322
+ ariaLabel: "تغذية النشاط",
1323
+ typeCreate: "إنشاء",
1324
+ typeUpdate: "تحديث",
1325
+ typeDelete: "حذف",
1326
+ typeComment: "تعليق",
1327
+ relativeJustNow: "الآن",
1328
+ relativeSecondsAgo: "منذ {{count}} ث",
1329
+ relativeMinutesAgo: "منذ {{count}} د",
1330
+ relativeHoursAgo: "منذ {{count}} س",
1331
+ relativeDaysAgo: "منذ {{count}} ي",
1332
+ viewAll: "عرض كل النشاط",
864
1333
  },
865
1334
  metadata: {
866
- label: 'Metadata',
867
- toggleTitle: 'Toggle Metadata Inspector',
868
- panelTitle: 'Metadata Inspector',
869
- jsonBadge: 'JSON',
870
- copyJson: 'Copy JSON',
1335
+ label: "البيانات الوصفية",
1336
+ toggleTitle: "تبديل مفتش البيانات الوصفية",
1337
+ panelTitle: "مفتش البيانات الوصفية",
1338
+ jsonBadge: "JSON",
1339
+ copyJson: "نسخ JSON",
871
1340
  },
872
1341
  },
873
1342
  search: {
874
- title: 'Search',
875
- back: 'Back',
876
- placeholder: 'Search objects, dashboards, pages, reports...',
877
- inputAriaLabel: 'Search objects, dashboards, pages, reports',
878
- resultsCount: '{{count}} result for "{{query}}"',
879
- resultsCountPlural: '{{count}} results for "{{query}}"',
880
- itemsAvailable: '{{count}} items available',
881
- noResults: 'No results found',
882
- noResultsHint: 'Try adjusting your search terms',
883
- typeObjects: 'Objects',
884
- typeDashboards: 'Dashboards',
885
- typePages: 'Pages',
886
- typeReports: 'Reports',
887
- badgeObject: 'object',
888
- badgeDashboard: 'dashboard',
889
- badgePage: 'page',
890
- badgeReport: 'report',
1343
+ title: "بحث",
1344
+ back: "رجوع",
1345
+ placeholder: "ابحث في الكائنات، لوحات التحكم، الصفحات، التقارير...",
1346
+ inputAriaLabel: "ابحث في الكائنات، لوحات التحكم، الصفحات، التقارير",
1347
+ resultsCount: "{{count}} نتيجة لـ \"{{query}}\"",
1348
+ resultsCountPlural: "{{count}} نتيجة لـ \"{{query}}\"",
1349
+ itemsAvailable: "{{count}} عنصر(عناصر) متاح(ة)",
1350
+ noResults: "لم يتم العثور على نتائج",
1351
+ noResultsHint: "جرب تعديل مصطلحات البحث",
1352
+ typeObjects: "الكائنات",
1353
+ typeDashboards: "لوحات التحكم",
1354
+ typePages: "الصفحات",
1355
+ typeReports: "التقارير",
1356
+ badgeObject: "كائن",
1357
+ badgeDashboard: "لوحة تحكم",
1358
+ badgePage: "صفحة",
1359
+ badgeReport: "تقرير",
891
1360
  },
892
1361
  empty: {
893
- objectNotFound: 'Object Not Found',
894
- objectNotFoundDescription: 'Object "{{name}}" definition missing. Check your configuration or navigate back to select a valid object.',
895
- pageNotFound: 'Page Not Found',
896
- pageNotFoundDescription: 'The page "{{name}}" could not be found. It may have been removed or renamed.',
897
- dashboardNotFound: 'Dashboard Not Found',
898
- dashboardNotFoundDescription: 'The dashboard "{{name}}" could not be found. It may have been removed or renamed.',
899
- reportNotFound: 'Report Not Found',
900
- reportNotFoundDescription: 'The report "{{name}}" could not be found. It may have been removed or renamed.',
901
- noAppsConfigured: 'No Apps Configured',
902
- noAppsConfiguredDescription: 'No applications have been registered. Create your first app or visit System Settings to configure your environment.',
903
- createFirstApp: 'Create Your First App',
904
- systemSettings: 'System Settings',
905
- back: 'Back',
1362
+ objectNotFound: "الكائن غير موجود",
1363
+ objectNotFoundDescription: "تعريف الكائن \"{{name}}\" مفقود. تحقق من الإعداد أو ارجع للخلف.",
1364
+ pageNotFound: "الصفحة غير موجودة",
1365
+ pageNotFoundDescription: "الصفحة \"{{name}}\" غير موجودة. ربما تم إزالتها أو إعادة تسميتها.",
1366
+ dashboardNotFound: "لوحة التحكم غير موجودة",
1367
+ dashboardNotFoundDescription: "لوحة التحكم \"{{name}}\" غير موجودة. ربما تم إزالتها أو إعادة تسميتها.",
1368
+ reportNotFound: "التقرير غير موجود",
1369
+ reportNotFoundDescription: "التقرير \"{{name}}\" غير موجود. ربما تم إزالته أو إعادة تسميته.",
1370
+ noAppsConfigured: "لا تطبيقات مُهيأة",
1371
+ noAppsConfiguredDescription: "لا تطبيقات مسجلة. أنشئ تطبيقك الأول أو زر إعدادات النظام.",
1372
+ createFirstApp: "إنشاء أول تطبيق",
1373
+ systemSettings: "إعدادات النظام",
1374
+ back: "رجوع",
1375
+ recordNotFound: "السجل غير موجود",
1376
+ recordNotFoundDescription: "السجل الذي تبحث عنه غير موجود أو ربما تم حذفه.",
906
1377
  },
907
1378
  renderer: {
908
- noPageSchema: 'No page schema provided',
909
- noFormSchema: 'No form schema provided',
910
- noDashboardSchema: 'No dashboard schema provided',
911
- pageRendering: 'Page rendering: {{name}}',
912
- dashboardRendering: 'Dashboard rendering: {{name}}',
913
- formRenderingMode: 'Form rendering in {{mode}} mode',
914
- formRenderingFor: 'for record {{id}}',
915
- createRecord: 'Create Record',
916
- editRecord: 'Edit Record',
917
- page: 'Page',
918
- dashboard: 'Dashboard',
919
- save: 'Save',
920
- cancel: 'Cancel',
1379
+ noPageSchema: "لم يتم توفير مخطط الصفحة",
1380
+ noFormSchema: "لم يتم توفير مخطط النموذج",
1381
+ noDashboardSchema: "لم يتم توفير مخطط لوحة التحكم",
1382
+ pageRendering: "تصيير الصفحة: {{name}}",
1383
+ dashboardRendering: "تصيير لوحة التحكم: {{name}}",
1384
+ formRenderingMode: "تصيير النموذج في وضع {{mode}}",
1385
+ formRenderingFor: "للسجل {{id}}",
1386
+ createRecord: "إنشاء سجل",
1387
+ editRecord: "تعديل السجل",
1388
+ page: "صفحة",
1389
+ dashboard: "لوحة تحكم",
1390
+ save: "حفظ",
1391
+ cancel: "إلغاء",
921
1392
  },
922
1393
  actionDialog: {
923
- title: 'Action Parameters',
924
- description: 'Please provide the required information to continue.',
925
- selectPlaceholder: 'Select {{label}}',
926
- requiredError: '{{label}} is required',
927
- cancel: 'Cancel',
928
- confirm: 'Confirm',
929
- defaultActionTitle: 'Action',
930
- ok: 'OK',
1394
+ title: "معامِلات الإجراء",
1395
+ description: "يرجى إدخال المعلومات المطلوبة للمتابعة.",
1396
+ selectPlaceholder: "تحديد {{label}}",
1397
+ requiredError: "{{label}} مطلوب",
1398
+ cancel: "إلغاء",
1399
+ confirm: "تأكيد",
1400
+ defaultActionTitle: "إجراء",
1401
+ ok: "موافق",
1402
+ lookupPlaceholder: "لصق معرف السجل (UUID) لـ {{label}}",
1403
+ lookupHelpText: "أدخل معرف سجل الكائن المرجع. سيتم إضافة أداة اختيار قريباً.",
1404
+ },
1405
+ actionConfirm: {
1406
+ title: "تأكيد الإجراء",
1407
+ confirm: "متابعة",
1408
+ cancel: "إلغاء",
931
1409
  },
932
1410
  rowAction: {
933
- openMenu: 'Open menu',
934
- edit: 'Edit',
935
- delete: 'Delete',
1411
+ openMenu: "فتح القائمة",
1412
+ edit: "تعديل",
1413
+ delete: "حذف",
936
1414
  },
937
1415
  navigationSync: {
938
- addedPage: 'Navigation updated: added page "{{name}}"',
939
- addedDashboard: 'Navigation updated: added dashboard "{{name}}"',
940
- removedPage: 'Navigation updated: removed page "{{name}}"',
941
- removedDashboard: 'Navigation updated: removed dashboard "{{name}}"',
942
- renamedPage: 'Navigation updated: renamed page "{{oldName}}" → "{{newName}}"',
943
- renamedDashboard: 'Navigation updated: renamed dashboard "{{oldName}}" → "{{newName}}"',
944
- undoLabel: 'Undo',
945
- undone: 'Navigation change undone',
946
- undoFailed: 'Failed to undo navigation change',
947
- updateFailed: 'Failed to update navigation',
1416
+ addedPage: "تم تحديث التنقل: تمت إضافة الصفحة \"{{name}}\"",
1417
+ addedDashboard: "تم تحديث التنقل: تمت إضافة لوحة التحكم \"{{name}}\"",
1418
+ removedPage: "تم تحديث التنقل: تمت إزالة الصفحة \"{{name}}\"",
1419
+ removedDashboard: "تم تحديث التنقل: تمت إزالة لوحة التحكم \"{{name}}\"",
1420
+ renamedPage: "تم تحديث التنقل: تمت إعادة تسمية الصفحة \"{{oldName}}\" إلى \"{{newName}}\"",
1421
+ renamedDashboard: "تم تحديث التنقل: تمت إعادة تسمية لوحة التحكم \"{{oldName}}\" إلى \"{{newName}}\"",
1422
+ undoLabel: "تراجع",
1423
+ undone: "تم التراجع عن تغيير التنقل",
1424
+ undoFailed: "تعذر التراجع عن تغيير التنقل",
1425
+ updateFailed: "تعذر تحديث التنقل",
948
1426
  },
949
1427
  objectActions: {
950
- deleteSuccess: '{{label}} deleted successfully',
951
- deleteFailed: 'Failed to delete {{label}}',
952
- noRecordId: 'No record ID provided',
953
- deleteConfirm: 'Are you sure you want to delete this record?',
1428
+ deleteSuccess: "تم حذف {{label}} بنجاح",
1429
+ deleteFailed: "تعذر حذف {{label}}",
1430
+ noRecordId: "لم يتم توفير معرف سجل",
1431
+ deleteConfirm: "حذف هذا السجل؟",
1432
+ bulkDeleteSuccess: "تم حذف {{count}} سجل(ات) {{label}}",
1433
+ bulkDeletePartial: "تم حذف {{succeeded}}، فشل {{failed}}",
954
1434
  },
955
1435
  objectViewActions: {
956
- renameFailed: 'Failed to rename view',
957
- deleteFailed: 'Failed to delete view',
1436
+ renameFailed: "تعذر إعادة تسمية العرض",
1437
+ deleteFailed: "تعذر حذف العرض",
958
1438
  },
959
1439
  dashboardActions: {
960
- pdfPreparing: 'Preparing PDF export…',
961
- exportFailed: 'Export failed: {{message}}',
962
- forecastSoon: 'Forecast view coming soon',
1440
+ pdfPreparing: "جارٍ تحضير تصدير PDF…",
1441
+ exportFailed: "فشل التصدير: {{message}}",
1442
+ forecastSoon: "عرض التوقعات قادم قريباً",
963
1443
  },
964
1444
  recordDetail: {
965
- viewersTooltip: 'Users viewing this record',
1445
+ viewersTooltip: "المستخدمون يشاهدون هذا السجل الآن",
966
1446
  },
967
1447
  cellRender: {
968
- empty: 'Empty',
969
- yes: 'Yes',
970
- no: 'No',
971
- systemFields: 'System',
1448
+ empty: "فارغ",
1449
+ yes: "نعم",
1450
+ no: "لا",
1451
+ systemFields: "النظام",
972
1452
  },
973
1453
  user: {
974
- profile: 'Profile',
975
- settings: 'Settings',
976
- logout: 'Log out',
1454
+ profile: "الملف الشخصي",
1455
+ settings: "الإعدادات",
1456
+ logout: "تسجيل الخروج",
1457
+ preferences: "التفضيلات",
1458
+ theme: "السمة",
1459
+ language: "اللغة",
977
1460
  },
978
1461
  report: {
979
- rowTotal: 'Row Total',
980
- columnTotal: 'Column Total',
981
- grandTotal: 'Grand Total',
982
- totals: 'Totals',
983
- rowsLabel: 'Row',
984
- columnsLabel: 'Column',
985
- allLabel: '(All)',
986
- emptyLabel: '(Empty)',
987
- loading: 'Loading…',
988
- failedToLoad: 'Failed to load matrix: {{message}}',
989
- needsAcross: 'Matrix report requires at least one `groupingsAcross` field.',
1462
+ total: "الإجمالي",
1463
+ rowTotal: "إجمالي الصف",
1464
+ columnTotal: "إجمالي العمود",
1465
+ grandTotal: "الإجمالي الكلي",
1466
+ totals: "الإجماليات",
1467
+ rowsLabel: "صف",
1468
+ columnsLabel: "عمود",
1469
+ allLabel: "(الكل)",
1470
+ emptyLabel: "(فارغ)",
1471
+ loading: "جارٍ التحميل…",
1472
+ failedToLoad: "فشل تحميل المصفوفة: {{message}}",
1473
+ needsAcross: "يتطلب تقرير المصفوفة حقل `groupingsAcross` واحداً على الأقل.",
990
1474
  aggregate: {
991
- count: 'Count',
992
- countDistinct: 'Distinct Count',
993
- sum: 'Sum',
994
- avg: 'Average',
995
- min: 'Min',
996
- max: 'Max',
997
- first: 'First',
1475
+ count: "عدد",
1476
+ countDistinct: "عدد الفريد",
1477
+ sum: "مجموع",
1478
+ avg: "متوسط",
1479
+ min: "الحد الأدنى",
1480
+ max: "الحد الأقصى",
1481
+ first: "الأول",
998
1482
  },
999
1483
  editor: {
1000
- breadcrumb: 'الإعدادات',
1001
- basic: 'أساسي',
1002
- title: 'العنوان',
1003
- titlePlaceholder: 'مثال: المسار حسب الربع',
1004
- description: 'الوصف',
1005
- descriptionPlaceholder: 'ماذا يعرض هذا التقرير؟',
1006
- type: 'نوع التقرير',
1007
- typeTabular: 'جدولي — قائمة مسطّحة',
1008
- typeSummary: 'ملخص — مجمّع مع المجاميع',
1009
- typeMatrix: 'مصفوفة — محور صفوف × أعمدة',
1010
- typeJoined: 'مدمج — كتل متعددة',
1011
- typeHelp: 'اختر التخطيط الذي يطابق ما تريد رؤيته.',
1012
- data: 'البيانات',
1013
- objectName: 'مصدر البيانات',
1014
- objectNamePlaceholder: 'مثال: opportunity',
1015
- objectNameHelp: 'أي كائن يجب أن يستعلم عنه هذا التقرير؟',
1016
- limit: 'حد عدد الصفوف',
1017
- limitPlaceholder: 'مثال: 100',
1018
- columns: 'الأعمدة',
1019
- columnsHint: 'اختر الحقول التي ستظهر كأعمدة. أضف تجميعًا (مجموع، عدد…) في تقارير الملخص أو المصفوفة.',
1020
- filters: 'عوامل التصفية',
1021
- filtersHint: 'قيّد الصفوف التي تدخل في هذا التقرير.',
1022
- filtersComplex: 'يستخدم هذا التقرير عامل تصفية متقدّمًا لا يمكن تحريره هنا. سيُحتفظ به كما هو عند الحفظ.',
1023
- groupBy: 'التجميع حسب',
1024
- groupByHint: 'جمّع البيانات واحسب المجاميع الفرعية.',
1025
- rows: 'الصفوف',
1026
- rowsHint: 'جمّع الصفوف حسب هذه الحقول.',
1027
- columnsAxis: 'الأعمدة',
1028
- columnsAxisHint: 'اعرض هذه الحقول كمحور في الأعلى.',
1029
- values: 'القيم',
1030
- valuesHint: 'الأرقام التي تظهر في كل خلية. اختر حقلاً واحدًا أو أكثر وأضف تجميعًا (مجموع، عدد…).',
1031
- grouping: 'تجميع',
1032
- addGrouping: 'إضافة تجميع',
1033
- dateGranularity: 'دقة التاريخ',
1034
- dateGranularityNone: '(استخدام القيمة الأصلية)',
1035
- day: 'يوم',
1036
- week: 'أسبوع',
1037
- month: 'شهر',
1038
- quarter: 'ربع',
1039
- year: 'سنة',
1040
- sortAsc: 'تصاعدي',
1041
- sortDesc: 'تنازلي',
1042
- chart: 'الرسم البياني',
1043
- chartHint: 'عرض مرئي اختياري بجانب الجدول.',
1044
- chartType: 'نوع الرسم',
1045
- chartTitle: 'عنوان الرسم',
1046
- chartTitlePlaceholder: 'افتراضيًا يستخدم عنوان التقرير',
1047
- chartXAxis: 'المحور السيني (الفئة)',
1048
- chartYAxis: 'المحور الصادي (القيمة)',
1049
- chartShowLegend: 'إظهار وسيلة الإيضاح',
1050
- chartShowDataLabels: 'إظهار تسميات البيانات',
1051
- chartNone: '(بدون رسم)',
1052
- chartBar: 'أعمدة',
1053
- chartLine: 'خطي',
1054
- chartArea: 'منطقة',
1055
- chartPie: 'دائري',
1056
- chartDonut: 'حلقي',
1057
- chartFunnel: 'قمعي',
1058
- validationNeedsObject: 'اختر مصدر بيانات قبل إضافة الأعمدة.',
1059
- validationMatrixNeedsRowsCols: 'تتطلب تقارير المصفوفة صفًا وعمودًا واحدًا على الأقل.',
1060
- validationSummaryNeedsRows: 'تتطلب تقارير الملخص حقل تجميع واحدًا على الأقل.',
1061
- blocks: 'الكتل',
1062
- blocksHint: 'كل كتلة هي جدولها أو رسمها البياني الخاص. عوامل تصفية الكتلة تُدمج مع عامل تصفية التقرير بمنطق AND.',
1063
- addBlock: 'إضافة كتلة',
1064
- removeBlock: 'إزالة الكتلة',
1065
- blockName: 'اسم الكتلة',
1066
- blockNamePlaceholder: 'اسم_فريد_للكتلة',
1067
- blockLabel: 'التسمية المعروضة',
1068
- blockLabelPlaceholder: 'تُعرض فوق الكتلة',
1069
- blockDescription: 'الوصف',
1070
- blockDescriptionPlaceholder: 'سياق اختياري لهذه الكتلة',
1071
- validationJoinedNeedsBlocks: 'تتطلب التقارير المدمجة كتلة واحدة على الأقل.',
1072
- validationBlockNameRequired: 'يجب أن يكون لكل كتلة اسم غير فارغ.',
1073
- validationBlockNameDuplicate: 'يجب أن تكون أسماء الكتل فريدة داخل التقرير.',
1074
- validationBlockNeedsColumns: 'تحتاج كل كتلة إلى عمود واحد على الأقل.',
1075
- noneOption: '(بلا)',
1076
- addCondition: 'إضافة شرط',
1077
- combineLogic: 'الدمج مع',
1078
- opContains: 'يحتوي على',
1079
- opIsEmpty: 'فارغ',
1080
- opIsNotEmpty: 'ليس فارغًا',
1081
- formatAuto: 'تلقائي',
1082
- formatCurrency: 'عملة',
1083
- formatPercent: 'نسبة مئوية',
1084
- formatInteger: 'عدد صحيح',
1085
- formatDate: 'تاريخ',
1086
- formatDatetime: 'تاريخ ووقت',
1087
- columnLabelPlaceholder: 'تجاوز التسمية',
1088
- aggregateColumn: 'تجميع',
1089
- formatColumn: 'تنسيق',
1090
- addColumns: 'إضافة أعمدة',
1091
- searchFields: 'البحث في الحقول…',
1092
- noMatchingFields: 'لا توجد حقول تطابق بحثك.',
1093
- noFieldsAvailable: 'لا توجد حقول متاحة.',
1484
+ breadcrumb: "الإعدادات",
1485
+ basic: "أساسي",
1486
+ title: "العنوان",
1487
+ titlePlaceholder: "مثال: المسار حسب الربع",
1488
+ description: "الوصف",
1489
+ descriptionPlaceholder: "ماذا يعرض هذا التقرير؟",
1490
+ type: "نوع التقرير",
1491
+ typeTabular: "جدولي — قائمة مسطّحة",
1492
+ typeSummary: "ملخص — مجمّع مع المجاميع",
1493
+ typeMatrix: "مصفوفة — محور صفوف × أعمدة",
1494
+ typeJoined: "مدمج — كتل متعددة",
1495
+ typeHelp: "اختر التخطيط الذي يطابق ما تريد رؤيته.",
1496
+ data: "البيانات",
1497
+ objectName: "مصدر البيانات",
1498
+ objectNamePlaceholder: "مثال: opportunity",
1499
+ objectNameHelp: "أي كائن يجب أن يستعلم عنه هذا التقرير؟",
1500
+ limit: "حد عدد الصفوف",
1501
+ limitPlaceholder: "مثال: 100",
1502
+ columns: "الأعمدة",
1503
+ columnsHint: "اختر الحقول التي ستظهر كأعمدة. أضف تجميعًا (مجموع، عدد…) في تقارير الملخص أو المصفوفة.",
1504
+ filters: "عوامل التصفية",
1505
+ filtersHint: "قيّد الصفوف التي تدخل في هذا التقرير.",
1506
+ filtersComplex: "يستخدم هذا التقرير عامل تصفية متقدّمًا لا يمكن تحريره هنا. سيُحتفظ به كما هو عند الحفظ.",
1507
+ groupBy: "التجميع حسب",
1508
+ groupByHint: "جمّع البيانات واحسب المجاميع الفرعية.",
1509
+ rows: "الصفوف",
1510
+ rowsHint: "جمّع الصفوف حسب هذه الحقول.",
1511
+ columnsAxis: "الأعمدة",
1512
+ columnsAxisHint: "اعرض هذه الحقول كمحور في الأعلى.",
1513
+ values: "القيم",
1514
+ valuesHint: "الأرقام التي تظهر في كل خلية. اختر حقلاً واحدًا أو أكثر وأضف تجميعًا (مجموع، عدد…).",
1515
+ grouping: "تجميع",
1516
+ addGrouping: "إضافة تجميع",
1517
+ dateGranularity: "دقة التاريخ",
1518
+ dateGranularityNone: "(استخدام القيمة الأصلية)",
1519
+ day: "يوم",
1520
+ week: "أسبوع",
1521
+ month: "شهر",
1522
+ quarter: "ربع",
1523
+ year: "سنة",
1524
+ sortAsc: "تصاعدي",
1525
+ sortDesc: "تنازلي",
1526
+ chart: "الرسم البياني",
1527
+ chartHint: "عرض مرئي اختياري بجانب الجدول.",
1528
+ chartType: "نوع الرسم",
1529
+ chartTitle: "عنوان الرسم",
1530
+ chartTitlePlaceholder: "افتراضيًا يستخدم عنوان التقرير",
1531
+ chartXAxis: "المحور السيني (الفئة)",
1532
+ chartYAxis: "المحور الصادي (القيمة)",
1533
+ chartShowLegend: "إظهار وسيلة الإيضاح",
1534
+ chartShowDataLabels: "إظهار تسميات البيانات",
1535
+ chartNone: "(بدون رسم)",
1536
+ chartBar: "أعمدة",
1537
+ chartLine: "خطي",
1538
+ chartArea: "منطقة",
1539
+ chartPie: "دائري",
1540
+ chartDonut: "حلقي",
1541
+ chartFunnel: "قمعي",
1542
+ validationNeedsObject: "اختر مصدر بيانات قبل إضافة الأعمدة.",
1543
+ validationMatrixNeedsRowsCols: "تتطلب تقارير المصفوفة صفًا وعمودًا واحدًا على الأقل.",
1544
+ validationSummaryNeedsRows: "تتطلب تقارير الملخص حقل تجميع واحدًا على الأقل.",
1545
+ blocks: "الكتل",
1546
+ blocksHint: "كل كتلة هي جدولها أو رسمها البياني الخاص. عوامل تصفية الكتلة تُدمج مع عامل تصفية التقرير بمنطق AND.",
1547
+ addBlock: "إضافة كتلة",
1548
+ removeBlock: "إزالة الكتلة",
1549
+ blockName: "اسم الكتلة",
1550
+ blockNamePlaceholder: "اسم_فريد_للكتلة",
1551
+ blockLabel: "التسمية المعروضة",
1552
+ blockLabelPlaceholder: "تُعرض فوق الكتلة",
1553
+ blockDescription: "الوصف",
1554
+ blockDescriptionPlaceholder: "سياق اختياري لهذه الكتلة",
1555
+ validationJoinedNeedsBlocks: "تتطلب التقارير المدمجة كتلة واحدة على الأقل.",
1556
+ validationBlockNameRequired: "يجب أن يكون لكل كتلة اسم غير فارغ.",
1557
+ validationBlockNameDuplicate: "يجب أن تكون أسماء الكتل فريدة داخل التقرير.",
1558
+ validationBlockNeedsColumns: "تحتاج كل كتلة إلى عمود واحد على الأقل.",
1559
+ noneOption: "(بلا)",
1560
+ addCondition: "إضافة شرط",
1561
+ combineLogic: "الدمج مع",
1562
+ opContains: "يحتوي على",
1563
+ opIsEmpty: "فارغ",
1564
+ opIsNotEmpty: "ليس فارغًا",
1565
+ formatAuto: "تلقائي",
1566
+ formatCurrency: "عملة",
1567
+ formatPercent: "نسبة مئوية",
1568
+ formatInteger: "عدد صحيح",
1569
+ formatDate: "تاريخ",
1570
+ formatDatetime: "تاريخ ووقت",
1571
+ columnLabelPlaceholder: "تجاوز التسمية",
1572
+ aggregateColumn: "تجميع",
1573
+ formatColumn: "تنسيق",
1574
+ addColumns: "إضافة أعمدة",
1575
+ searchFields: "البحث في الحقول…",
1576
+ noMatchingFields: "لا توجد حقول تطابق بحثك.",
1577
+ noFieldsAvailable: "لا توجد حقول متاحة.",
1578
+ columnsCount: "{n} عمود(أعمدة) محدد(ة)",
1579
+ columnsEmpty: "لم يتم تحديد أعمدة بعد.",
1580
+ fieldPickerTitle: "تحديد الحقول",
1581
+ fieldPickerDescription: "اختر حقلاً أو أكثر للإضافة. استخدم مربع البحث لتصفية القائمة.",
1582
+ fieldPickerChangeTitle: "تغيير الحقل",
1583
+ fieldPickerAddGroupingTitle: "إضافة تجميع",
1584
+ fieldPickerEmpty: "(تحديد حقل)",
1585
+ fieldPickerSelected: "{n} محدد(ة)",
1586
+ fieldPickerClear: "مسح التحديد",
1587
+ fieldPickerAdd: "إضافة",
1588
+ fieldPickerAddN: "إضافة {n}",
1094
1589
  },
1095
1590
  },
1096
1591
  organizations: {
1097
- mine: 'مؤسساتي',
1098
- title: 'المؤسسات',
1099
- heading: 'مؤسساتك',
1100
- subtitle: 'اختر مؤسسة للمتابعة، أو أنشئ مؤسسة جديدة.',
1101
- searchPlaceholder: 'ابحث عن مؤسسة',
1102
- new: 'مؤسسة جديدة',
1103
- current: 'المؤسسة الحالية',
1104
- manage: 'إدارة',
1105
- emptyTitle: 'لا توجد مؤسسات بعد',
1106
- emptyDescription: 'أنشئ مؤسستك الأولى للبدء.',
1107
- noMatches: 'لا توجد مؤسسات تطابق بحثك.',
1592
+ mine: "مؤسساتي",
1593
+ title: "المؤسسات",
1594
+ heading: "مؤسساتك",
1595
+ subtitle: "اختر مؤسسة للمتابعة، أو أنشئ مؤسسة جديدة.",
1596
+ searchPlaceholder: "ابحث عن مؤسسة",
1597
+ new: "مؤسسة جديدة",
1598
+ current: "المؤسسة الحالية",
1599
+ manage: "إدارة",
1600
+ emptyTitle: "لا توجد مؤسسات بعد",
1601
+ emptyDescription: "أنشئ مؤسستك الأولى للبدء.",
1602
+ noMatches: "لا توجد مؤسسات تطابق بحثك.",
1108
1603
  },
1109
1604
  notifications: {
1110
- empty: 'لا توجد إشعارات',
1111
- markAllRead: 'تعليم الكل كمقروء',
1112
- viewAll: 'عرض جميع الإشعارات',
1113
- approvalsPending: '{{count}} موافقات معلقة',
1114
- viewApprovals: 'عرض الموافقات',
1115
- noPendingApprovals: 'لا توجد موافقات معلقة',
1116
- openApprovalsInbox: 'فتح صندوق الموافقات',
1605
+ empty: "لا توجد إشعارات",
1606
+ markAllRead: "تعليم الكل كمقروء",
1607
+ viewAll: "عرض جميع الإشعارات",
1608
+ approvalsPending: "{{count}} موافقات معلقة",
1609
+ viewApprovals: "عرض الموافقات",
1610
+ noPendingApprovals: "لا توجد موافقات معلقة",
1611
+ openApprovalsInbox: "فتح صندوق الموافقات",
1612
+ emptyUnread: "كل شيء مقروء",
1613
+ filterUnread: "غير مقروء",
1614
+ filterAll: "الكل",
1117
1615
  },
1118
1616
  publicForm: {
1119
- submit: 'Submit',
1120
- submitting: 'Submitting…',
1121
- submitAnother: 'Submit another response',
1122
- poweredBy: 'Powered by ObjectStack',
1123
- secureNotice: 'Your information is transmitted securely and only used to respond to your request.',
1124
- thankYouTitle: 'Thank you!',
1125
- thankYouMessage: 'Your submission has been received successfully.',
1126
- redirecting: 'Redirecting in {{seconds}} seconds…',
1127
- unavailableTitle: 'Form unavailable',
1128
- unavailableDescription: 'No public form is available at this URL. Make sure the underlying view has anonymous sharing enabled and matches this slug.',
1129
- tryDemo: 'Try the demo',
1130
- retry: 'Retry',
1131
- loading: 'Loading form…',
1132
- requiredHint: '* Required field',
1133
- consentLabelDefault: 'I agree to the privacy policy and consent to my data being processed for this request.',
1134
- consentLink: 'Privacy policy',
1135
- consentRequired: 'Please accept the privacy policy to continue.',
1136
- rateLimited: 'Please take a moment to review your answers before submitting.',
1137
- redirectBlocked: 'Submission accepted, but the redirect URL was blocked for security.',
1617
+ submit: "إرسال",
1618
+ submitting: "جارٍ الإرسال…",
1619
+ submitAnother: "إرسال رد آخر",
1620
+ poweredBy: "مدعوم بـ ObjectStack",
1621
+ secureNotice: "يتم نقل معلوماتك بأمان وتستخدم فقط لمعالجة طلبك.",
1622
+ thankYouTitle: "شكراً!",
1623
+ thankYouMessage: "تم استلام إرسالك بنجاح.",
1624
+ redirecting: "إعادة توجيه خلال {{seconds}} ثانية(ثوانٍ)…",
1625
+ unavailableTitle: "النموذج غير متاح",
1626
+ unavailableDescription: "لا يوجد نموذج عام متاح على هذا الرابط. تأكد من تمكين المشاركة المجهولة للعرض الأساسي.",
1627
+ tryDemo: "تجربة العرض التوضيحي",
1628
+ retry: "إعادة المحاولة",
1629
+ loading: "جارٍ تحميل النموذج…",
1630
+ requiredHint: "* حقل مطلوب",
1631
+ consentLabelDefault: "أوافق على سياسة الخصوصية وأعطي موافقتي على معالجة بياناتي لهذا الطلب.",
1632
+ consentLink: "سياسة الخصوصية",
1633
+ consentRequired: "يرجى قبول سياسة الخصوصية للمتابعة.",
1634
+ rateLimited: "خذ لحظة لمراجعة إجاباتك قبل الإرسال.",
1635
+ redirectBlocked: "تم قبول الإرسال، لكن رابط إعادة التوجيه تم حظره لأسباب أمنية.",
1138
1636
  demo: {
1139
- contactTitle: 'Contact us',
1140
- contactDescription: 'Tell us about your project and a sales representative will get back to you within one business day.',
1141
- supportTitle: 'Submit a support request',
1142
- supportDescription: 'Tell us what is going wrong — our team responds within one business day.',
1143
- thankYouSalesTitle: 'Thanks — we received your message!',
1144
- thankYouSalesMessage: 'A sales representative will be in touch within one business day.',
1145
- thankYouSupportTitle: 'Got it — your request is in the queue.',
1146
- thankYouSupportMessage: 'A support engineer will follow up shortly. Save this page if you have more screenshots to add.',
1637
+ contactTitle: "تواصل معنا",
1638
+ contactDescription: "أخبرنا عن مشروعك وسيتواصل معك أحد ممثلي المبيعات خلال يوم عمل.",
1639
+ supportTitle: "إرسال طلب دعم",
1640
+ supportDescription: "صف لنا المشكلة وسيرد فريقنا خلال يوم عمل.",
1641
+ thankYouSalesTitle: "شكراً — لقد استلمنا رسالتك!",
1642
+ thankYouSalesMessage: "سيتواصل معك أحد ممثلي المبيعات خلال يوم عمل.",
1643
+ thankYouSupportTitle: "تم — طلبك في قائمة الانتظار.",
1644
+ thankYouSupportMessage: "سيتابع معك مهندس الدعم قريباً. احفظ هذه الصفحة إذا كان لديك لقطات شاشة إضافية.",
1147
1645
  field: {
1148
- firstName: 'First name',
1149
- lastName: 'Last name',
1150
- email: 'Work email',
1151
- phone: 'Phone',
1152
- jobTitle: 'Job title',
1153
- company: 'Company',
1154
- website: 'Website',
1155
- industry: 'Industry',
1156
- companySize: 'Company size',
1157
- howCanWeHelp: 'How can we help?',
1158
- subject: 'Subject',
1159
- description: 'Description',
1160
- issueType: 'Issue type',
1161
- priority: 'Priority',
1646
+ firstName: "الاسم الأول",
1647
+ lastName: "اسم العائلة",
1648
+ email: "البريد الإلكتروني للعمل",
1649
+ phone: "الهاتف",
1650
+ jobTitle: "المسمى الوظيفي",
1651
+ company: "الشركة",
1652
+ website: "الموقع الإلكتروني",
1653
+ industry: "القطاع",
1654
+ companySize: "حجم الشركة",
1655
+ howCanWeHelp: "كيف يمكننا مساعدتك؟",
1656
+ subject: "الموضوع",
1657
+ description: "الوصف",
1658
+ issueType: "نوع المشكلة",
1659
+ priority: "الأولوية",
1162
1660
  },
1163
1661
  industry: {
1164
- technology: 'Technology',
1165
- software: 'Software / SaaS',
1166
- finance: 'Finance',
1167
- healthcare: 'Healthcare',
1168
- retail: 'Retail',
1169
- other: 'Other',
1662
+ technology: "التكنولوجيا",
1663
+ software: "البرمجيات / SaaS",
1664
+ finance: "المالية",
1665
+ healthcare: "الرعاية الصحية",
1666
+ retail: "التجزئة",
1667
+ other: "أخرى",
1170
1668
  },
1171
1669
  issueType: {
1172
- question: 'Question',
1173
- problem: 'Problem',
1174
- bug: 'Bug',
1175
- feature_request: 'Feature request',
1670
+ question: "سؤال",
1671
+ problem: "مشكلة",
1672
+ bug: "خطأ برمجي",
1673
+ feature_request: "طلب ميزة",
1176
1674
  },
1177
1675
  priority: {
1178
- low: 'Low',
1179
- medium: 'Medium',
1180
- high: 'High',
1181
- critical: 'Critical',
1676
+ low: "منخفضة",
1677
+ medium: "متوسطة",
1678
+ high: "عالية",
1679
+ critical: "حرجة",
1182
1680
  },
1183
1681
  },
1184
1682
  },
1185
1683
  marketplace: {
1186
- title: 'App Marketplace',
1187
- subtitle: 'Browse approved apps published to the ObjectStack catalog. Click an app to view details and install it into one of your environments.',
1188
- searchPlaceholder: 'Search apps by name or manifest ID…',
1189
- searchAria: 'Search marketplace apps',
1190
- installed: 'Installed',
1191
- installedCount: 'Installed ({{count}})',
1192
- refresh: 'Refresh',
1193
- all: 'All',
1194
- noApprovedYet: 'No apps have been approved for the marketplace yet.',
1195
- noMatchFilters: 'No apps match your filters.',
1196
- noDescription: 'No description provided.',
1197
- back: 'Back to marketplace',
1198
- installedTitle: 'Installed Apps',
1199
- installedSubtitle: 'Marketplace packages currently installed into this runtime\'s kernel. Cached manifests live in <code>.objectstack/installed-packages/</code> and survive restarts.',
1200
- installedEmpty: 'No marketplace apps installed in this runtime yet.',
1201
- browseLink: 'Browse the marketplace →',
1202
- installedAdditiveNote: '<strong>Note:</strong> The kernel API is additive only — uninstall removes the on-disk manifest so the package won\'t load on next boot, but the running kernel keeps the app registered until you restart the runtime.',
1203
- installedAt: 'Installed {{when}}',
1204
- installedBy: 'by {{user}}',
1205
- installedPackageId: 'package',
1206
- cachedAs: 'Cached as <code>{{path}}</code>',
1207
- versionBadge: 'v{{version}}',
1208
- installedBadge: 'Installed v{{version}}',
1684
+ title: "سوق التطبيقات",
1685
+ subtitle: "استعرض التطبيقات المعتمدة المنشورة في كتالوج ObjectStack. انقر على تطبيق لرؤية التفاصيل وتثبيته في أحد بيئاتك.",
1686
+ searchPlaceholder: "ابحث عن التطبيقات بالاسم أو معرف المانيفست…",
1687
+ searchAria: "البحث في تطبيقات السوق",
1688
+ installed: "مثبت",
1689
+ installedCount: "مثبت ({{count}})",
1690
+ refresh: "تحديث",
1691
+ all: "الكل",
1692
+ noApprovedYet: "لا توجد تطبيقات معتمدة للسوق بعد.",
1693
+ noMatchFilters: "لا توجد تطبيقات تطابق الفلاتر.",
1694
+ noDescription: "لا وصف متاح.",
1695
+ back: "العودة إلى السوق",
1696
+ installedTitle: "التطبيقات المثبتة",
1697
+ installedSubtitle: "حزم السوق المثبتة حالياً في نواة هذا الوقت التشغيل.",
1698
+ installedEmpty: "لا توجد تطبيقات سوق مثبتة في هذا الوقت التشغيل بعد.",
1699
+ browseLink: "استعراض السوق →",
1700
+ installedAdditiveNote: "<strong>ملاحظة:</strong> واجهة برمجة النواة إضافية فقط — إلغاء التثبيت يزيل المانيفست من القرص لكي لا يتم تحميل الحزمة عند التشغيل التالي، لكن النواة الجارية تبقي التطبيق مسجلاً حتى إعادة التشغيل.",
1701
+ installedAt: "تم التثبيت {{when}}",
1702
+ installedBy: "بواسطة {{user}}",
1703
+ installedPackageId: "الحزمة",
1704
+ cachedAs: "مخزن مؤقتاً كـ <code>{{path}}</code>",
1705
+ versionBadge: "v{{version}}",
1706
+ installedBadge: "مثبت v{{version}}",
1209
1707
  load: {
1210
- failed: 'Failed to load marketplace',
1211
- failedHint: 'By default this runtime points at the public ObjectStack cloud. Check the runtime is online, or override <code>OS_CLOUD_URL</code> to point at a self-hosted control plane.',
1212
- packageFailed: 'Failed to load package',
1213
- notFound: 'Not found.',
1708
+ failed: "تعذر تحميل السوق",
1709
+ failedHint: "بشكل افتراضي، يشير هذا الوقت التشغيل إلى سحابة ObjectStack العامة. تأكد من أن الوقت التشغيل متصل بالإنترنت.",
1710
+ packageFailed: "تعذر تحميل الحزمة",
1711
+ notFound: "غير موجود.",
1214
1712
  },
1215
1713
  detail: {
1216
- homepage: 'Homepage',
1217
- installedV: 'Installed · v{{version}}',
1218
- about: 'About',
1219
- noReadme: 'No readme provided.',
1220
- versions: 'Versions',
1221
- noApprovedVersions: 'No approved versions.',
1222
- prerelease: 'pre',
1223
- moreOptions: 'More install options',
1224
- uninstallFromRuntime: 'Uninstall from this runtime',
1714
+ homepage: "الصفحة الرئيسية",
1715
+ installedV: "مثبت · v{{version}}",
1716
+ about: "حول",
1717
+ noReadme: "لا يوجد readme متاح.",
1718
+ versions: "الإصدارات",
1719
+ noApprovedVersions: "لا توجد إصدارات معتمدة.",
1720
+ prerelease: "ما قبل الإصدار",
1721
+ moreOptions: "مزيد من خيارات التثبيت",
1722
+ uninstallFromRuntime: "إلغاء التثبيت من هذا الوقت التشغيل",
1723
+ addSampleData: 'إضافة بيانات تجريبية',
1724
+ reseedAgain: 'إعادة تحميل البيانات التجريبية',
1725
+ purgeSampleData: 'حذف البيانات التجريبية',
1726
+ purgeConfirm: 'حذف جميع السجلات التجريبية التي أنشأتها هذه الحزمة؟ لن تتأثر السجلات التي أضافها المستخدم.',
1727
+ purgeSuccess: 'تم حذف {{count}} سجل تجريبي.',
1728
+ purgeNoData: 'لا توجد سجلات تجريبية للحذف.',
1729
+ reseedQueued: 'ستتم إعادة تحميل البيانات التجريبية عند الوصول التالي إلى البيئة.',
1730
+ reseedLocalSuccess: 'تمت إعادة تحميل البيانات التجريبية: {{inserted}} مضافة، {{updated}} محدثة.',
1731
+ reseedPartialErrors: '(فشل في كتابة {{count}} سجل)',
1732
+ updateAvailable: 'يتوفر تحديث',
1225
1733
  },
1226
1734
  action: {
1227
- install: 'Install',
1228
- reinstall: 'Reinstall',
1229
- working: 'Working…',
1230
- installToCloud: 'Install to cloud…',
1231
- installing: 'Installing…',
1232
- uninstall: 'Uninstall',
1233
- uninstalling: 'Uninstalling…',
1234
- details: 'Details',
1235
- close: 'Close',
1236
- dismiss: 'Dismiss',
1237
- openOnCloud: 'Open on cloud',
1238
- backHome: 'Back to home',
1735
+ install: "تثبيت",
1736
+ reinstall: "إعادة التثبيت",
1737
+ working: "جارٍ المعالجة…",
1738
+ installToCloud: "تثبيت في السحابة…",
1739
+ installing: "جارٍ التثبيت…",
1740
+ uninstall: "إلغاء التثبيت",
1741
+ uninstalling: "جارٍ إلغاء التثبيت…",
1742
+ details: "التفاصيل",
1743
+ close: "إغلاق",
1744
+ dismiss: "رفض",
1745
+ openOnCloud: "فتح في السحابة",
1746
+ backHome: "العودة إلى الرئيسية",
1239
1747
  },
1240
1748
  install: {
1241
- dialogTitle: 'Install {{name}}',
1242
- dialogDescCurrent: 'Install into this environment ({{host}}).',
1243
- dialogDescPicker: 'Choose an environment to install this app into. You need to be signed into ObjectStack Cloud.',
1244
- environment: 'Environment',
1245
- environmentPlaceholder: 'Pick an environment',
1246
- includeSampleData: 'Include sample data',
1247
- noEnvs: 'No environments found in your active organization.',
1248
- noPermission: 'You do not have permission to install apps in any environment. Only organization owners and admins can install — ask your workspace admin.',
1249
- signInFirst: 'You need to sign into ObjectStack Cloud first. Click "Open on cloud" below.',
1250
- success: 'Installed successfully. Open the environment to see the new app.',
1251
- localSuccess: 'Installed v{{version}} to this runtime. "{{name}}" should now appear in the app switcher.',
1252
- localManifestConflict: '{{message}}\nTip: a local app already owns this manifest_id. Remove it from objectstack.config.ts first.',
1253
- localUnauthorized: 'Sign in to this runtime first, then try again.',
1254
- localMarketplaceUnavailable: 'This runtime has no OS_CLOUD_URL configured, so the marketplace catalog is unreachable.',
1749
+ dialogTitle: "تثبيت {{name}}",
1750
+ dialogDescCurrent: "تثبيت في هذه البيئة ({{host}}).",
1751
+ dialogDescPicker: "اختر بيئة لتثبيت هذا التطبيق. يجب أن تكون مسجلاً في ObjectStack Cloud.",
1752
+ environment: "البيئة",
1753
+ environmentPlaceholder: "تحديد بيئة",
1754
+ includeSampleData: "تضمين بيانات نموذجية",
1755
+ noEnvs: "لم يتم العثور على بيئات في مؤسستك النشطة.",
1756
+ noPermission: "ليس لديك إذن لتثبيت التطبيقات. فقط مالكو المؤسسة والمشرفون يمكنهم التثبيت.",
1757
+ signInFirst: "يجب عليك أولاً تسجيل الدخول إلى ObjectStack Cloud.",
1758
+ success: "تم التثبيت بنجاح. افتح البيئة لرؤية التطبيق الجديد.",
1759
+ localSuccess: "تم تثبيت v{{version}} في هذا الوقت التشغيل. يجب أن يظهر \"{{name}}\" الآن في مبدّل التطبيقات.",
1760
+ localManifestConflict: "{{message}}\nملاحظة: تطبيق محلي يمتلك بالفعل هذا المعرف. أزله أولاً من objectstack.config.ts.",
1761
+ localUnauthorized: "سجل الدخول إلى هذا الوقت التشغيل أولاً.",
1762
+ localMarketplaceUnavailable: "هذا الوقت التشغيل لا يحتوي على OS_CLOUD_URL مُهيأ.",
1255
1763
  },
1256
1764
  uninstall: {
1257
- confirm: 'Uninstall {{manifestId}} v{{version}} from this runtime?\n\nThe cached manifest will be removed. The app will remain loaded in the running kernel until the next restart.',
1258
- successInList: 'Removed {{manifestId}}. Restart the runtime to fully unload it from the running kernel.',
1259
- successInDetail: 'Removed cached manifest for {{manifestId}}. Restart the runtime to fully unload the app from the running kernel.',
1765
+ confirm: "إلغاء تثبيت {{manifestId}} v{{version}} من هذا الوقت التشغيل؟\n\nسيتم إزالة المانيفست المخزن مؤقتاً.",
1766
+ successInList: "تم إزالة {{manifestId}}. أعد تشغيل الوقت التشغيل لتفريغه بالكامل.",
1767
+ successInDetail: "تم إزالة المانيفست المخزن مؤقتاً لـ {{manifestId}}.",
1260
1768
  },
1261
1769
  accessDenied: {
1262
- title: 'App Marketplace is admin-only',
1263
- description: 'You don\'t have permission to install apps in this environment. Ask an owner or admin of this organization for access.',
1770
+ title: "سوق التطبيقات للمشرفين فقط",
1771
+ description: "ليس لديك إذن لتثبيت التطبيقات في هذه البيئة.",
1264
1772
  },
1265
1773
  category: {
1266
- crm: 'CRM',
1267
- erp: 'ERP',
1268
- hr: 'Human Resources',
1269
- finance: 'Finance',
1270
- project: 'Project Management',
1271
- collaboration: 'Collaboration',
1272
- analytics: 'Analytics',
1273
- integration: 'Integration',
1274
- automation: 'Automation',
1275
- ai: 'AI',
1276
- security: 'Security',
1277
- 'developer-tools': 'Developer Tools',
1278
- 'ui-theme': 'UI Theme',
1279
- storage: 'Storage',
1280
- other: 'Other',
1774
+ crm: "CRM",
1775
+ erp: "ERP",
1776
+ hr: "الموارد البشرية",
1777
+ finance: "المالية",
1778
+ project: "إدارة المشاريع",
1779
+ collaboration: "التعاون",
1780
+ analytics: "التحليلات",
1781
+ integration: "التكامل",
1782
+ automation: "الأتمتة",
1783
+ ai: "الذكاء الاصطناعي",
1784
+ security: "الأمان",
1785
+ "developer-tools": "أدوات المطور",
1786
+ "ui-theme": "سمة واجهة المستخدم",
1787
+ storage: "التخزين",
1788
+ other: "أخرى",
1281
1789
  },
1282
1790
  pricing: {
1283
- free: 'Free',
1284
- freemium: 'Freemium',
1285
- paid: 'Paid',
1286
- subscription: 'Subscription',
1287
- 'usage-based': 'Usage-based',
1288
- 'contact-sales': 'Contact Sales',
1791
+ free: "مجاني",
1792
+ freemium: "مجاني جزئياً",
1793
+ paid: "مدفوع",
1794
+ subscription: "اشتراك",
1795
+ "usage-based": "حسب الاستخدام",
1796
+ "contact-sales": "تواصل مع المبيعات",
1289
1797
  },
1290
1798
  relativeTime: {
1291
- today: 'today',
1292
- daysAgo: '{{count}}d ago',
1293
- monthsAgo: '{{count}}mo ago',
1294
- yearsAgo: '{{count}}y ago',
1799
+ today: "اليوم",
1800
+ daysAgo: "منذ {{count}} ي",
1801
+ monthsAgo: "منذ {{count}} شهر(أشهر)",
1802
+ yearsAgo: "منذ {{count}} سنة(سنوات)",
1803
+ },
1804
+ },
1805
+ approvalsInbox: {
1806
+ loadMore: 'تحميل المزيد',
1807
+ loadingMore: 'جارٍ التحميل…',
1808
+ loadedOf: 'تم تحميل {{loaded}} من {{total}}',
1809
+ actEscalate: 'تصعيد SLA',
1810
+ systemSlaActor: 'النظام (SLA)',
1811
+ reassignBtn: 'إعادة إسناد',
1812
+ reassignTitle: 'تسليم هذه الموافقة لشخص آخر؟',
1813
+ reassignBody: 'ينتقل مقعدك كموافق إلى الشخص المختار — يتم إخطاره ويمكنه التصرف فورًا.',
1814
+ reassignTo: 'الموافق الجديد',
1815
+ reassignToPlaceholder: 'اختر مستخدمًا أو اكتب بريدًا / role:<الاسم>',
1816
+ reassignSuccess: 'تم التسليم إلى {{to}}',
1817
+ requestInfoBtn: 'طلب معلومات',
1818
+ requestInfoTitle: 'طلب مزيد من المعلومات من مقدم الطلب؟',
1819
+ requestInfoBody: 'يبقى الطلب قيد الانتظار؛ يُخطر مقدم الطلب ويمكنه الرد في السلسلة.',
1820
+ requestInfoPlaceholder: 'ماذا تحتاج من مقدم الطلب؟',
1821
+ requestInfoSent: 'أُعيد إلى مقدم الطلب لاستكمال المعلومات',
1822
+ remindBtn: 'تذكير',
1823
+ remindSuccess: 'أُرسل تذكير إلى {{count}} موافق',
1824
+ remindThrottled: 'أُرسل تذكير مؤخرًا — حاول لاحقًا.',
1825
+ replyPlaceholder: 'الرد على هذا الطلب…',
1826
+ slaRemaining: 'SLA المتبقي {{dur}}',
1827
+ slaOverdue: 'SLA متأخر {{dur}}',
1828
+ actReassign: 'إعادة إسناد',
1829
+ actRemind: 'تذكير',
1830
+ actRequestInfo: 'طلب معلومات',
1831
+ actComment: 'تعليق',
1832
+ stepProgress: 'خطوات الموافقة',
1833
+ prevRequest: 'السابق',
1834
+ nextRequest: 'التالي',
1835
+ positionOf: '{{index}} من {{total}}',
1836
+ quickPhrase1: 'موافق — مستوفٍ للمتطلبات.',
1837
+ quickPhrase2: 'موافقة مشروطة — يرجى متابعة التنفيذ.',
1838
+ quickPhrase3: 'يرجى إضافة مستندات داعمة وإعادة التقديم.',
1839
+ title: 'مركز الموافقات',
1840
+ subtitle: 'راجع طلبات الموافقة وتعامل معها.',
1841
+ refresh: 'تحديث',
1842
+ tabMyPending: 'بانتظار موافقتي',
1843
+ tabSubmitted: 'المقدمة مني',
1844
+ tabAll: 'الكل',
1845
+ searchPlaceholder: 'ابحث عن سجل أو عملية أو مقدم طلب…',
1846
+ clearSearch: 'مسح البحث',
1847
+ statusFilter: 'الحالة',
1848
+ allStatuses: 'كل الحالات',
1849
+ processFilter: 'العملية',
1850
+ allProcesses: 'كل العمليات',
1851
+ objectFilter: 'الكائن',
1852
+ allObjects: 'كل الكائنات',
1853
+ filterCount: '{{shown}} من {{total}}',
1854
+ selected: 'محدد',
1855
+ actionableCount: '({{count}} قابلة للتنفيذ)',
1856
+ selectAll: 'تحديد الكل',
1857
+ selectRow: 'تحديد الطلب',
1858
+ colRequest: 'الطلب',
1859
+ colRecord: 'السجل',
1860
+ colRequester: 'مقدم الطلب',
1861
+ colStatus: 'الحالة',
1862
+ colWaiting: 'تاريخ التقديم',
1863
+ colActions: 'إجراءات',
1864
+ statusPending: 'قيد الانتظار',
1865
+ statusApproved: 'تمت الموافقة',
1866
+ statusRejected: 'مرفوض',
1867
+ statusRecalled: 'مسحوب',
1868
+ statusReturned: 'أُعيد للمراجعة',
1869
+ sendBackBtn: 'إعادة للمراجعة',
1870
+ sendBackTitle: 'إعادة هذا الطلب للمراجعة؟',
1871
+ sendBackBody: 'تنتهي هذه الجولة ويُفتح قفل السجل ليتمكن مقدم الطلب من تصحيح البيانات. عند إعادة الإرسال تبدأ جولة موافقة جديدة لجميع الموافقين.',
1872
+ sendBackPlaceholder: 'ما الذي يجب تصحيحه قبل الموافقة؟',
1873
+ sendBackSuccess: 'أُعيد للمراجعة — يمكن لمقدم الطلب الآن التعديل وإعادة الإرسال',
1874
+ sendBackAutoRejected: 'تم بلوغ حد المراجعات — رُفض الطلب تلقائيًا',
1875
+ actRevise: 'أُعيد للمراجعة',
1876
+ actResubmit: 'أُعيد الإرسال',
1877
+ roundChip: 'الجولة {{n}}',
1878
+ returnedHint: 'أعاد أحد الموافقين هذا الطلب إليك. السجل غير مقفل — صحّح البيانات ثم أعد الإرسال لبدء جولة موافقة جديدة.',
1879
+ resubmitBtn: 'إعادة الإرسال',
1880
+ resubmitting: 'جارٍ إعادة الإرسال…',
1881
+ resubmitSuccess: 'أُعيد الإرسال — بدأت جولة موافقة جديدة',
1882
+ resubmitPlaceholder: 'ما الذي غيّرته؟',
1883
+ editRecordBtn: 'تحرير السجل',
1884
+ abandonTitle: 'التخلي عن هذه المراجعة؟',
1885
+ abandonBody: 'يُسحب الطلب بدلاً من إعادة إرساله. تنتهي الموافقة هنا.',
1886
+ emptyTitle: 'لا توجد طلبات',
1887
+ emptyPending: 'كل شيء منجز — لا يوجد ما ينتظر موافقتك.',
1888
+ emptyOther: 'لا يوجد شيء هنا بعد.',
1889
+ emptyViewAll: 'عرض كل الطلبات',
1890
+ noMatches: 'لا نتائج مطابقة للمرشحات الحالية.',
1891
+ keyboardHint: 'لوحة المفاتيح: j/k تنقل · Enter فتح · x تحديد · a موافقة · r رفض',
1892
+ drawerTitle: 'طلب موافقة',
1893
+ submittedAgo: 'قُدِّم {{when}}',
1894
+ completedAt: 'اكتمل {{when}}',
1895
+ waitingOn: 'بانتظار',
1896
+ history: 'النشاط',
1897
+ noActions: 'لا إجراءات بعد.',
1898
+ actSubmit: 'تقديم',
1899
+ actApprove: 'موافقة',
1900
+ actReject: 'رفض',
1901
+ actRecall: 'سحب',
1902
+ rawData: 'البيانات الخام (JSON)',
1903
+ copy: 'نسخ',
1904
+ copied: 'تم النسخ',
1905
+ copyFailed: 'فشل النسخ',
1906
+ overrideActor: 'التصرف بهوية أخرى (مسؤول)',
1907
+ actor: 'الهوية',
1908
+ auto: 'تلقائي',
1909
+ overrideHint: 'مثال: role:sales_manager. اتركه فارغًا لاستخدام الهوية المكتشفة تلقائيًا.',
1910
+ comment: 'تعليق (اختياري)',
1911
+ approve: 'موافقة',
1912
+ approving: 'جارٍ الموافقة…',
1913
+ reject: 'رفض',
1914
+ rejecting: 'جارٍ الرفض…',
1915
+ recall: 'سحب',
1916
+ recalling: 'جارٍ السحب…',
1917
+ cancel: 'إلغاء',
1918
+ clear: 'مسح',
1919
+ approveN: 'الموافقة على {{count}}',
1920
+ rejectN: 'رفض {{count}}',
1921
+ bulkApproveTitle: 'الموافقة على {{count}} طلبات؟',
1922
+ bulkApproveBody: 'ستتم الموافقة على كل طلب بهويتك ويتابع التدفق عبر فرع الموافقة.',
1923
+ bulkRejectTitle: 'رفض {{count}} طلبات؟',
1924
+ bulkRejectBody: 'سيتم رفض الطلبات المحددة وإخطار مقدميها.',
1925
+ bulkApproved: 'تمت الموافقة على {{count}} طلبات',
1926
+ bulkRejected: 'تم رفض {{count}} طلبات',
1927
+ bulkPartial: 'نجح {{ok}}، فشل {{fail}}: {{which}}',
1928
+ rejectOneTitle: 'رفض "{{title}}"؟',
1929
+ rejectOneBody: 'سيتم رفض الطلب وإخطار مقدمه.',
1930
+ rejectTitle: 'رفض هذا الطلب؟',
1931
+ rejectBody: 'سيتم وضع علامة مرفوض على الطلب وإخطار مقدمه.',
1932
+ recallTitle: 'سحب هذا الطلب؟',
1933
+ recallBody: 'بعد السحب لن يتمكن الموافقون من التصرف، وسيتم فك قفل السجل.',
1934
+ inlineApproved: 'تمت الموافقة على "{{title}}"',
1935
+ inlineRejected: 'تم رفض "{{title}}"',
1936
+ approvedFinal: 'تمت الموافقة',
1937
+ approvedWaiting: 'تمت الموافقة — بانتظار بقية الموافقين',
1938
+ rejectedToast: 'تم الرفض',
1939
+ recalledToast: 'تم سحب الطلب',
1940
+ whyDisabled: 'لا يمكن التصرف إلا للموافقين المعينين. بانتظار: {{who}}.',
1941
+ whyDisabledSubmitter: 'أنت قدمت هذا الطلب لذا يمكنك سحبه — لكن الموافقة أو الرفض للموافقين المعينين فقط.',
1942
+ noActor: 'تعذر تحديد هوية التنفيذ',
1943
+ actionFailed: 'فشل الإجراء',
1944
+ loadFailed: 'فشل تحميل الطلب',
1945
+ recallUnavailable: 'السحب غير متاح في هذا النشر.',
1946
+ requestGone: 'لم يعد هذا الطلب موجودًا. حدّث القائمة.',
1947
+ notAllowed: 'ليست لديك صلاحية لهذا الإجراء.',
1948
+ alreadyDecided: 'تم البت في هذا الطلب بالفعل. حدّث القائمة.',
1949
+ justNow: 'الآن',
1950
+ minutesAgo: 'قبل {{count}} دقيقة',
1951
+ hoursAgo: 'قبل {{count}} ساعة',
1952
+ daysAgo: 'قبل {{count}} يوم',
1953
+ },
1954
+ preview: {
1955
+ empty: {
1956
+ loadFailedTitle: 'تعذّر تحميل معاينة المسودة',
1957
+ loadFailedDescription: 'تعذّرت قراءة طبقة المسودة. أعد المحاولة أو تحقق من الاتصال.',
1958
+ notReadyTitle: '"{{app}}" ليس في المسودة بعد',
1959
+ notReadyDescription: 'قد يكون البناء قيد التشغيل، أو فشل قبل تجهيز هذا التطبيق. تحقق من حالة البناء في المحادثة — تتحدث هذه اللوحة عند وصول المسودات.',
1960
+ nothingTitle: 'لا شيء للمعاينة بعد',
1961
+ retry: 'إعادة المحاولة',
1962
+ },
1963
+ draftBar: {
1964
+ message: 'معاينة المسودة — أنت ترى تغييرات غير منشورة. لن يصبح أي شيء فعليًا حتى تنشر.',
1965
+ publish: 'نشر',
1966
+ publishing: 'جارٍ النشر…',
1967
+ exit: 'إنهاء المعاينة',
1968
+ changes: 'التغييرات',
1969
+ },
1970
+ changes: {
1971
+ title: 'التغييرات المعلّقة',
1972
+ description: 'ما الذي سيغيّره النشر. تُضاف العناصر الجديدة؛ وتستبدل التحديثات النسخة المنشورة.',
1973
+ loading: 'جارٍ تحميل التغييرات المعلّقة…',
1974
+ loadFailed: 'تعذّر تحميل التغييرات المعلّقة:',
1975
+ empty: 'لا شيء معلّق — نُشرت كل المسودات.',
1976
+ kindNew: 'جديد',
1977
+ kindUpdate: 'تحديث',
1295
1978
  },
1296
1979
  },
1980
+ filterBuilder: {
1981
+ where: "حيث",
1982
+ and: "و",
1983
+ or: "أو",
1984
+ clearAll: "مسح الكل",
1985
+ selectField: "اختر الحقل",
1986
+ operator: "العامل",
1987
+ selectValue: "اختر القيمة",
1988
+ value: "القيمة",
1989
+ addFilter: "إضافة عامل تصفية",
1990
+ removeCondition: "إزالة الشرط",
1991
+ trueLabel: "نعم",
1992
+ falseLabel: "لا",
1993
+ noResults: "لا توجد نتائج",
1994
+ searchField: "بحث {{label}}…",
1995
+ enterId: "أدخل معرّف {{label}}",
1996
+ operators: {
1997
+ equals: "يساوي",
1998
+ notEquals: "لا يساوي",
1999
+ contains: "يحتوي",
2000
+ notContains: "لا يحتوي",
2001
+ isEmpty: "فارغ",
2002
+ isNotEmpty: "غير فارغ",
2003
+ greaterThan: "أكبر من",
2004
+ lessThan: "أصغر من",
2005
+ greaterOrEqual: "أكبر من أو يساوي",
2006
+ lessOrEqual: "أصغر من أو يساوي",
2007
+ before: "قبل",
2008
+ after: "بعد",
2009
+ between: "بين",
2010
+ in: "ضمن",
2011
+ notIn: "ليس ضمن",
2012
+ },
2013
+ },
2014
+ sortBuilder: {
2015
+ sortBy: "ترتيب حسب",
2016
+ thenBy: "ثم حسب",
2017
+ selectField: "اختر الحقل",
2018
+ ascending: "A → Z",
2019
+ descending: "Z → A",
2020
+ addSort: "إضافة ترتيب",
2021
+ removeSort: "إزالة الترتيب",
2022
+ },
1297
2023
  };
1298
2024
  export default ar;