@object-ui/i18n 17.7.0 → 18.0.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.
@@ -13,18 +13,19 @@ const ar = {
13
13
  notRestored: 'قبل الخادم الطلب لكنه لم يستعد جلسة المسؤول — ما زلت تنتحل هوية {{user}}. سجّل الخروج ثم الدخول مرة أخرى لإنهائها.',
14
14
  },
15
15
  },
16
- // objectui#2600 B5 — capability picker scope group headers (labels come from the sys_capability registry).
16
+ // objectui#2600 B5 — capability picker scope group headers (labels come from the capability registry).
17
17
  capability: {
18
18
  label: {
19
19
  manage_users: "إدارة المستخدمين",
20
20
  manage_org_users: "إدارة مستخدمي المؤسسة",
21
21
  manage_metadata: "إدارة البيانات الوصفية",
22
- manage_org_presentation: "إدارة عرض المؤسسة",
22
+ manage_mailboxes: "إدارة صناديق البريد",
23
23
  manage_platform_settings: "إدارة إعدادات المنصة",
24
24
  setup_access: "الوصول إلى الإعداد",
25
25
  setup_write: "كتابة الإعدادات",
26
26
  studio_access: "الوصول إلى Studio",
27
27
  manage_sharing: "إدارة المشاركة",
28
+ view_all_audit_log: "عرض سجل التدقيق بالكامل",
28
29
  },
29
30
  group: {
30
31
  platform: 'منصة',
@@ -32,52 +33,6 @@ const ar = {
32
33
  other: 'أخرى',
33
34
  },
34
35
  },
35
- // objectui#3546 slice six — the read-only summary of PermissionFacetLink's six
36
- // authorization facets, plus the Studio link.
37
- //
38
- // The four count labels carry one slot per ar CLDR category (objectui#11432):
39
- // `_zero` and `_other` (100-102…) singular, `_one`, `_two` the dual with the
40
- // numeral in parentheses, `_few` (3-10) plural, `_many` (11-99) accusative
41
- // singular. The base key keeps the «{{count}} مفرد(جمع)» marker for a call made
42
- // without a count. The action-link arrow is not mirrored: it stays as in en,
43
- // like marketplace.browseLink.
44
- perm: {
45
- facet: {
46
- none: "لا شيء",
47
- more: "+{{count}} المزيد",
48
- objects: "{{count}} كائن(كائنات)",
49
- objects_zero: "{{count}} كائن",
50
- objects_one: "{{count}} كائن",
51
- objects_two: "كائنان ({{count}})",
52
- objects_few: "{{count}} كائنات",
53
- objects_many: "{{count}} كائنًا",
54
- objects_other: "{{count}} كائن",
55
- fields: "{{count}} قاعدة(قواعد) حقول",
56
- fields_zero: "{{count}} قاعدة حقول",
57
- fields_one: "{{count}} قاعدة حقول",
58
- fields_two: "قاعدتا حقول ({{count}})",
59
- fields_few: "{{count}} قواعد حقول",
60
- fields_many: "{{count}} قاعدة حقول",
61
- fields_other: "{{count}} قاعدة حقول",
62
- rls: "{{count}} سياسة(سياسات) RLS",
63
- rls_zero: "{{count}} سياسة RLS",
64
- rls_one: "{{count}} سياسة RLS",
65
- rls_two: "سياستا RLS ({{count}})",
66
- rls_few: "{{count}} سياسات RLS",
67
- rls_many: "{{count}} سياسة RLS",
68
- rls_other: "{{count}} سياسة RLS",
69
- tabs: "{{count}} قاعدة(قواعد) تبويب",
70
- tabs_zero: "{{count}} قاعدة تبويب",
71
- tabs_one: "{{count}} قاعدة تبويب",
72
- tabs_two: "قاعدتا تبويب ({{count}})",
73
- tabs_few: "{{count}} قواعد تبويب",
74
- tabs_many: "{{count}} قاعدة تبويب",
75
- tabs_other: "{{count}} قاعدة تبويب",
76
- adminScope: "تم تكوين الإدارة المفوَّضة",
77
- designInStudio: "التصميم في Studio →",
78
- designInStudioHint: "التصميم في Studio",
79
- },
80
- },
81
36
  lookup: {
82
37
  recentlyUsed: 'المستخدمة مؤخرًا',
83
38
  allResults: 'كل النتائج',
@@ -162,6 +117,7 @@ const ar = {
162
117
  itemCount_many: "{{count}} عنصرًا",
163
118
  itemCount_other: "{{count}} عنصر",
164
119
  toggleSidebar: "تبديل الشريط الجانبي",
120
+ breadcrumb: "مسار التنقل",
165
121
  package: "الحزمة",
166
122
  done: "تم",
167
123
  editInStudio: "التعديل في Studio",
@@ -190,6 +146,7 @@ const ar = {
190
146
  copyAll: 'نسخ الكل',
191
147
  },
192
148
  notAvailableHere: '"{{action}}" غير متاح في الصفحة الحالية.',
149
+ notAvailableForRecord: 'غير متاح لهذا السجل',
193
150
  completedSuccessfully: 'اكتمل الإجراء بنجاح',
194
151
  failed: 'فشل الإجراء',
195
152
  parallelFailed: 'فشل إجراء متوازٍ واحد أو أكثر',
@@ -226,6 +183,8 @@ const ar = {
226
183
  // description, used when the form declares no `description` of its own.
227
184
  dialogDescriptionFallback: "املأ حقول النموذج ثم أرسل أو ألغِ.",
228
185
  deniedDescription: "ليس لديك إذن لتعديل هذا الحقل.",
186
+ serverDefaultHint: "يُعيَّن تلقائيًا عند الحفظ.",
187
+ maxFileSize: "الحجم الأقصى: {{size}}",
229
188
  masterDetail: {
230
189
  loadingColumns: "جارٍ تحميل الأعمدة…",
231
190
  subtotal: "المجموع الفرعي",
@@ -294,10 +253,14 @@ const ar = {
294
253
  remove: "إزالة الصورة {{index}}",
295
254
  enlarge: "تكبير {{name}}",
296
255
  preview: "معاينة الصورة",
256
+ cropPreview: "معاينة قص الصورة",
297
257
  previous: "الصورة السابقة",
298
258
  next: "الصورة التالية",
299
259
  counter: "{{current}} / {{total}}",
300
260
  },
261
+ percent: {
262
+ slider: "النسبة المئوية",
263
+ },
301
264
  relativeDate: {
302
265
  overdue: "متأخر {{count}} يوم",
303
266
  overdue_zero: "متأخر {{count}} يوم",
@@ -323,6 +286,8 @@ const ar = {
323
286
  exceedsMaxSize: '"{{name}}" يتجاوز الحجم الأقصى ({{max}} ميغابايت)',
324
287
  uploadFailed: 'فشل رفع "{{name}}": {{error}}',
325
288
  uploadIncomplete: 'لم يكتمل رفع "{{name}}": لم يتم إرجاع معرّف الملف، ولم يُحفظ شيء',
289
+ restricted: 'ملف مقيد',
290
+ restrictedHint: 'ليس لديك صلاحية الوصول إلى تفاصيل هذا الملف',
326
291
  },
327
292
  richText: {
328
293
  format: "التنسيق: {{format}}",
@@ -339,6 +304,10 @@ const ar = {
339
304
  search: "بحث في الكائنات…",
340
305
  empty: "لم يتم العثور على كائنات",
341
306
  },
307
+ registryRef: {
308
+ loadFailed: "تعذّر تحميل القائمة. لا يزال بإمكانك كتابة الاسم.",
309
+ notFound: "{{name}} (غير موجود)",
310
+ },
342
311
  recipient: {
343
312
  selectTypeFirst: "اختر نوع المستلم أولاً.",
344
313
  loading: "جارٍ التحميل…",
@@ -380,6 +349,13 @@ const ar = {
380
349
  dateTime: {
381
350
  impossibleDay: "القيمة المحفوظة «{{value}}» ليست تاريخًا حقيقيًا. اختر تاريخًا ووقتًا لاستبدالها.",
382
351
  },
352
+ datePicker: {
353
+ today: "اليوم",
354
+ tomorrow: "غدًا",
355
+ clear: "مسح التاريخ",
356
+ openCalendar: "فتح التقويم",
357
+ invalid: "لم يتم الحفظ: «{{value}}» ليس تاريخًا. اكتبه بالصيغة {{format}} أو اختره من التقويم.",
358
+ },
383
359
  number: {
384
360
  badInput: "لم يتم الحفظ: النص في هذا المربع ليس رقمًا. أدخل رقمًا عشريًا عاديًا (مثال: {{example}}).",
385
361
  },
@@ -394,6 +370,11 @@ const ar = {
394
370
  postalCode: "الرمز البريدي",
395
371
  country: "الدولة",
396
372
  },
373
+ boolean: {
374
+ offBadge: "{{label}} — إيقاف",
375
+ completed: "مكتمل",
376
+ notCompleted: "غير مكتمل",
377
+ },
397
378
  textarea: {
398
379
  characterCount: "عدد الأحرف: {{count}} من {{max}}",
399
380
  charactersRemaining: "الأحرف المتبقية: {{count}}",
@@ -423,10 +404,15 @@ const ar = {
423
404
  selectAllRows: "تحديد جميع الصفوف",
424
405
  expandRow: "توسيع الصف",
425
406
  collapseRow: "طي الصف",
407
+ rowActions: "إجراءات الصف",
426
408
  hideColumn: "إخفاء العمود",
427
409
  freezeColumn: "تجميد العمود",
428
410
  unfreezeColumn: "إلغاء تجميد العمود",
429
411
  pageInfo: "صفحة {{current}} من {{total}}",
412
+ firstPage: "الصفحة الأولى",
413
+ previousPage: "الصفحة السابقة",
414
+ nextPage: "الصفحة التالية",
415
+ lastPage: "الصفحة الأخيرة",
430
416
  totalRecords: "{{count}} إجمالي",
431
417
  noResults: "لا نتائج",
432
418
  noResultsHint: "حاول تعديل الفلاتر أو مصطلحات البحث.",
@@ -442,6 +428,13 @@ const ar = {
442
428
  modified_few: "{{count}} صفوف معدّلة",
443
429
  modified_many: "{{count}} صفًا معدّلًا",
444
430
  modified_other: "{{count}} صف معدّل",
431
+ saved: "{{count}} صف(صفوف) محفوظ(ة)",
432
+ saved_zero: "{{count}} صف محفوظ",
433
+ saved_one: "{{count}} صف محفوظ",
434
+ saved_two: "صفان محفوظان ({{count}})",
435
+ saved_few: "{{count}} صفوف محفوظة",
436
+ saved_many: "{{count}} صفًا محفوظًا",
437
+ saved_other: "{{count}} صف محفوظ",
445
438
  saveFailed: 'فشل الحفظ',
446
439
  selected: "{{count}} محدد(ة)",
447
440
  selected_zero: "تم تحديد {{count}}",
@@ -472,6 +465,7 @@ const ar = {
472
465
  bulkAllOnPage_other: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
473
466
  bulkSelectAllMatching: "تحديد كل النتائج المطابقة ({{count}})",
474
467
  bulkAllMatchingSelected: "تم تحديد جميع السجلات المطابقة ({{count}}).",
468
+ bulkActions: "إجراءات جماعية",
475
469
  bulk: {
476
470
  confirmDefault: "سيُطبَّق هذا على {{count}} من السجلات.",
477
471
  confirmDefault_zero: "سيُطبَّق هذا على {{count}} من السجلات.",
@@ -518,6 +512,7 @@ const ar = {
518
512
  pullToRefresh: "اسحب للتحديث",
519
513
  refreshing: "جارٍ التحديث…",
520
514
  openRecord: "فتح السجل",
515
+ recordUnavailable: "{{object}} · السجل غير متاح",
521
516
  rowHeight: "ارتفاع الصف: {{mode}}",
522
517
  openMenu: "فتح القائمة",
523
518
  empty: "فارغ",
@@ -537,6 +532,7 @@ const ar = {
537
532
  // pack controls its own separator and word order.
538
533
  summary: {
539
534
  pattern: "{{label}}: {{value}}",
535
+ pagePattern: "{{label}} (هذه الصفحة): {{value}}",
540
536
  count: "العدد",
541
537
  countEmpty: "فارغة",
542
538
  countFilled: "ممتلئة",
@@ -616,9 +612,6 @@ const ar = {
616
612
  needMatchFields: "اختر حقلًا واحدًا على الأقل للمطابقة.",
617
613
  matchOnlyField: "(للمطابقة فقط)",
618
614
  optCreateOptions: "الاحتفاظ بقيم الخيارات غير المعروفة",
619
- optRunAutomations: "تشغيل الأتمتة والمشغّلات",
620
- optTreatHistorical: "الاستيراد كبيانات تاريخية",
621
- optTreatHistoricalHint: "(استيراد السجلات المكتملة كما هي — تخطي فحوصات آلة الحالات والاحتفاظ بالطوابع الزمنية والمؤلف الأصليين بدل ختمها الآن)",
622
615
  optSkipBlankKey: "تخطي الصفوف التي تكون قيمة المطابقة فيها فارغة",
623
616
  optBackground: "الاستيراد في الخلفية",
624
617
  optBackgroundHint: "(يعمل كمهمة قابلة للتراجع)",
@@ -633,6 +626,7 @@ const ar = {
633
626
  invalidBoolean: "«{{value}}» ليست قيمة صواب/خطأ صالحة",
634
627
  invalidNumber: "«{{value}}» ليست رقمًا صالحًا",
635
628
  invalidDate: "«{{value}}» ليست تاريخًا صالحًا",
629
+ invalidTime: "«{{value}}» ليست وقتًا صالحًا",
636
630
  invalidOption: "«{{value}}» ليست ضمن الخيارات المسموح بها",
637
631
  requiredValue: "هذا الحقل مطلوب",
638
632
  matchAmbiguous: "يطابق أكثر من سجل موجود — استخدم قيمة فريدة أو معرّف السجل",
@@ -659,6 +653,13 @@ const ar = {
659
653
  undoing: "جارٍ التراجع…",
660
654
  undoConfirm: "هل تريد التراجع عن هذا الاستيراد؟ ستُحذف السجلات التي أنشأها وتُستعاد السجلات التي حدّثها إلى قيمها السابقة.",
661
655
  reverted: "تم التراجع",
656
+ undoPartial: "لم يتم التراجع عن {{count}} صف(صفوف). التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
657
+ undoPartial_zero: "لم يتم التراجع عن {{count}} صف. التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
658
+ undoPartial_one: "لم يتم التراجع عن {{count}} صف. التراجع مرة أخرى يعيد محاولة هذا الصف فقط.",
659
+ undoPartial_two: "لم يتم التراجع عن صفّين ({{count}}). التراجع مرة أخرى يعيد محاولة هذين الصفّين فقط.",
660
+ undoPartial_few: "لم يتم التراجع عن {{count}} صفوف. التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
661
+ undoPartial_many: "لم يتم التراجع عن {{count}} صفًا. التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
662
+ undoPartial_other: "لم يتم التراجع عن {{count}} صف. التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
662
663
  jobStatus: {
663
664
  pending: "قيد الانتظار",
664
665
  running: "قيد التنفيذ",
@@ -732,6 +733,8 @@ const ar = {
732
733
  showingRows: "عرض {{shown}} من {{total}} صف",
733
734
  importing: "جارٍ الاستيراد… {{progress}}%",
734
735
  importComplete: "اكتمل الاستيراد",
736
+ importPartial: "اكتمل الاستيراد مع وجود أخطاء",
737
+ importFailed: "فشل الاستيراد",
735
738
  imported: "{{count}} مُستورَد(ة)",
736
739
  skippedCount: "{{count}} مُتخطَّى(ة)",
737
740
  moreErrors: "…و{{count}} خطأ(أخطاء) أخرى",
@@ -804,6 +807,7 @@ const ar = {
804
807
  firstRunMessage: "أنشئ سجلك الأول للبدء.",
805
808
  noMatches: "لا توجد سجلات مطابقة",
806
809
  noMatchesMessage: "لا توجد سجلات تطابق عوامل التصفية أو البحث الحالية. حاول تعديلها أو مسحها.",
810
+ viewFilterNoMatchesMessage: "لا توجد سجلات تطابق عامل التصفية لطريقة العرض هذه.",
807
811
  loadErrorTitle: "تعذّر تحميل السجلات",
808
812
  loadErrorMessage: "حدث خطأ أثناء تحميل هذه البيانات. تحقق من اتصالك وحاول مرة أخرى.",
809
813
  loadErrorForbiddenTitle: "ليس لديك صلاحية الوصول",
@@ -850,15 +854,25 @@ const ar = {
850
854
  recordCount_many: "{{count}} سجلًا",
851
855
  recordCount_other: "{{count}} سجل",
852
856
  addRecord: "إضافة سجل",
857
+ // objectui#12703 — the compact list's footer link to the object's list or the block's view.
858
+ viewAll: "عرض الكل",
853
859
  tabs: "علامات التبويب",
854
860
  allRecords: "جميع السجلات",
855
861
  search: "بحث",
856
862
  filter: "تصفية",
857
863
  filterRecords: "تصفية السجلات",
864
+ filterActive: "تصفية، عوامل التصفية النشطة: {{count}}",
865
+ filterActive_zero: "تصفية، {{count}} عامل تصفية نشط",
866
+ filterActive_one: "تصفية، {{count}} عامل تصفية نشط",
867
+ filterActive_two: "تصفية، عاملا تصفية نشطان ({{count}})",
868
+ filterActive_few: "تصفية، {{count}} عوامل تصفية نشطة",
869
+ filterActive_many: "تصفية، {{count}} عامل تصفية نشطًا",
870
+ filterActive_other: "تصفية، {{count}} عامل تصفية نشط",
858
871
  sort: "ترتيب",
859
872
  sortRecords: "ترتيب السجلات",
860
873
  sortByIdSuffix: "(حسب المعرّف)",
861
874
  sortRelationalHint: "الأعمدة التي تشير إلى سجل آخر غير مدرجة هنا: يمكن ترتيبها حسب المعرّف المخزَّن فقط، وليس حسب الاسم الظاهر في الخلية. للترتيب حسب ذلك الاسم، أضِف الاسم إلى هذا الكائن نفسه (إلغاء التطبيع) كحقل مخزَّن يُكتب عند تغيّر المصدر، ثم رتّب حسبه. وليس حقل صيغة: فهو افتراضي، ولا يُخزَّن له أي عمود، ويرفض الخادم الترتيب حسبه.",
875
+ sortRelationalPicked: "يُرتَّب العمود المرتبط حسب المعرّف المخزَّن، لا حسب الاسم المعروض.",
862
876
  resetSortToDefault: "إعادة التعيين إلى الترتيب الافتراضي للعرض",
863
877
  group: "تجميع",
864
878
  groupBy: "تجميع حسب",
@@ -879,14 +893,15 @@ const ar = {
879
893
  print: "طباعة",
880
894
  hideFieldsTitle: "إخفاء الحقول",
881
895
  dataLimitReached: "يتم عرض أول {{limit}} سجل. قد تتوفر بيانات إضافية.",
882
- viewSettings: "إعدادات العرض",
883
- viewSettingsHint: "التجميع واللون والكثافة والحقول المرئية. ينطبق على جميع المستخدمين الذين يستخدمون هذا العرض.",
896
+ display: "العرض",
897
+ layout: "التخطيط",
898
+ rowNumbers: "أرقام الصفوف",
899
+ resetToViewDefault: "إعادة التعيين إلى الإعدادات الافتراضية للعرض",
884
900
  addGroup: "إضافة حقل مجموعة",
885
901
  collapsedByDefault: "مطوي افتراضياً",
886
902
  removeGroup: "إزالة",
887
903
  inlineEditShort: "تحرير مضمّن",
888
904
  inlineEditLabel: "حرّر السجلات مباشرة (انقر خلية للتحرير)",
889
- recordEditingTitle: "تحرير السجلات",
890
905
  },
891
906
  managedByBadge: {
892
907
  systemWritable: {
@@ -917,6 +932,7 @@ const ar = {
917
932
  },
918
933
  kanban: {
919
934
  uncategorized: "غير مصنّف",
935
+ loadMore: "تحميل المزيد",
920
936
  columns: "أعمدة",
921
937
  addCard: "إضافة بطاقة",
922
938
  addColumn: "إضافة عمود",
@@ -924,13 +940,28 @@ const ar = {
924
940
  deleteCard: "حذف بطاقة",
925
941
  deleteColumn: "حذف عمود",
926
942
  noCards: "لا بطاقات",
943
+ columnCards: "بطاقات العمود {{column}}",
944
+ laneCards: "بطاقات {{column}} - {{lane}}",
927
945
  cardTitlePlaceholder: "أدخل عنوان البطاقة…",
928
946
  requiredFieldsTitle: "أكمل الحقول المطلوبة",
929
947
  requiredFieldsDescription: "يجعل هذا النقل الحقول أدناه مطلوبة. أكملها للمتابعة.",
948
+ dnd: {
949
+ start: "تم التقاط البطاقة {{card}} في العمود {{column}}.",
950
+ overCard: "البطاقة {{card}} فوق البطاقة {{target}} في العمود {{column}}.",
951
+ overColumn: "البطاقة {{card}} فوق العمود {{column}}.",
952
+ overNone: "البطاقة {{card}} ليست فوق أي عمود.",
953
+ moved: "تم نقل البطاقة {{card}} إلى العمود {{column}}.",
954
+ dropped: "تم إفلات البطاقة {{card}}. لا تزال في العمود {{column}}.",
955
+ cancelled: "تم إلغاء السحب. لا تزال البطاقة {{card}} في العمود {{column}}.",
956
+ untitledCard: "بلا عنوان",
957
+ unnamedColumn: "بلا اسم",
958
+ instructions: "لنقل هذه البطاقة إلى عمود آخر، اسحبها بالمؤشر أو باللمس.",
959
+ dragging: "جارٍ سحب البطاقة {{card}}",
960
+ },
930
961
  },
931
962
  timeline: {
932
963
  bucket: {
933
- overdue: "متأخر",
964
+ earlier: "سابقاً",
934
965
  today: "اليوم",
935
966
  tomorrow: "غداً",
936
967
  thisWeek: "هذا الأسبوع",
@@ -1123,10 +1154,13 @@ const ar = {
1123
1154
  readonlyAriaLabel: "عرض للقراءة فقط",
1124
1155
  readonlyTooltip: "عرض النظام — معرَّف في الكود، للقراءة فقط.",
1125
1156
  malformedFilter: "عامل تصفية طريقة العرض هذه غير صالح، لذا لا تُعرض أي سجلات: يتعذّر تطبيق الشرط {{subject}}.",
1157
+ noObject: "لم يُحدَّد أي كائن: عيّن {{property}} أو dataSource.object.",
1126
1158
  },
1127
1159
  designer: {
1128
1160
  undo: "تراجع",
1129
1161
  redo: "إعادة",
1162
+ canvasMinimap: "الخريطة المصغرة للوحة",
1163
+ versionHistory: "سجل الإصدارات",
1130
1164
  },
1131
1165
  detail: {
1132
1166
  editInlineHint: "انقر نقرًا مزدوجًا للتحرير",
@@ -1231,6 +1265,7 @@ const ar = {
1231
1265
  noAttachments: "لا توجد مرفقات بعد. ارفع ملفًا للبدء.",
1232
1266
  downloadAttachment: "تنزيل",
1233
1267
  deleteAttachment: "حذف المرفق",
1268
+ deleteAttachmentConfirm: "هل أنت متأكد أنك تريد حذف المرفق \"{{name}}\"؟",
1234
1269
  attachmentDeleteDenied: "لا يمكن حذف هذا المرفق إلا لمن رفعه أو لمن يمكنه تعديل هذا السجل.",
1235
1270
  attachmentParentAccessDenied: "ليس لديك صلاحية إرفاق ملفات بهذا السجل.",
1236
1271
  attachmentDownloadDenied: "ليس لديك صلاحية تنزيل هذا المرفق.",
@@ -1298,10 +1333,12 @@ const ar = {
1298
1333
  lockedByApproval: "مقفل للموافقة",
1299
1334
  lockedTooltip: "يحتوي هذا السجل على طلب موافقة معلق؛ التعديل مقفل",
1300
1335
  writeStrippedTitle: "تم الحفظ، لكن بعض الحقول لم تُطبَّق",
1336
+ writeWarningsTitle: "تم الحفظ، مع تحذيرات",
1301
1337
  writeStrippedReadonly: "للقراءة فقط، لذلك لم تُطبَّق: {{fields}}",
1302
1338
  writeStrippedByState: "غير قابلة للتعديل في الحالة الحالية لهذا السجل، لذلك لم تُطبَّق: {{fields}}",
1303
1339
  writeStrippedPrimaryKey: "معرّف السجل لا يمكن تغييره عند الحفظ، لذلك لم تُطبَّق: {{fields}}",
1304
1340
  writeStrippedComputed: "يحسبها الخادم بواسطة صيغة، لذلك لم تُطبَّق القيمة المُرسَلة: {{fields}}",
1341
+ writeStrippedStoredExpression: "تُحسب من السجل، لذلك حُفظت القيمة المحسوبة بدلًا من القيمة المُرسَلة: {{fields}}",
1305
1342
  writeStrippedUnknownReason: "لم تُطبَّق من قِبل الخادم: {{fields}}",
1306
1343
  approvalPendingEditable: "قيد الموافقة · قابل للتعديل",
1307
1344
  approvalPendingTooltip: "يحتوي هذا السجل على طلب موافقة معلق، لكن هذه الخطوة لا تزال تسمح بالتعديل",
@@ -1325,6 +1362,11 @@ const ar = {
1325
1362
  linkCopied: "تم نسخ الرابط إلى الحافظة",
1326
1363
  commentFailed: "لم يُنشر تعليقك. لم يُحفظ أي شيء — يُرجى المحاولة مرة أخرى.",
1327
1364
  reactionFailed: "لم يُحفظ تفاعلك. يُرجى المحاولة مرة أخرى.",
1365
+ editComment: "تعديل التعليق",
1366
+ deleteComment: "حذف التعليق",
1367
+ deleteCommentConfirm: "هل أنت متأكد أنك تريد حذف هذا التعليق؟",
1368
+ commentEditFailed: "لم يُحفظ تعديلك. يحتفظ التعليق بنصه السابق.",
1369
+ commentDeleteFailed: "لم يُحذف التعليق. يُرجى المحاولة مرة أخرى.",
1328
1370
  linkCopyFailed: "فشل نسخ الرابط",
1329
1371
  cancel: "إلغاء",
1330
1372
  cancelEdit: "تجاهل التغييرات",
@@ -1753,7 +1795,8 @@ const ar = {
1753
1795
  },
1754
1796
  console: {
1755
1797
  studio: {
1756
- backToHome: "العودة إلى الرئيسية",
1798
+ title: "Studio",
1799
+ accessRequired: "تحتاج إلى صلاحية الوصول إلى Studio لفتح Studio.",
1757
1800
  },
1758
1801
  saveAdvisoryTitle: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
1759
1802
  saveAdvisoryTitle_zero: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
@@ -1777,13 +1820,13 @@ const ar = {
1777
1820
  savedViewsUnreadable: "هذه القائمة فارغة لأنه تعذّرت قراءتها، لا لأن هذا الكائن ليس لديه عروض محفوظة. أعد المحاولة، وأبلغ عن المشكلة إذا استمرت.",
1778
1821
  settingsHub: {
1779
1822
  title: "الإعدادات",
1780
- subtitle: "اضبط مساحة العمل والتكاملات وأعلام الميزات.",
1823
+ subtitle: "اضبط النظام والتكاملات وأعلام الميزات.",
1781
1824
  loadError: "تعذّر تحميل الإعدادات",
1782
1825
  empty: "لا توجد إعدادات مسجّلة. يمكن للإضافات تسجيل بيانات الإعدادات عبر SettingsService.",
1783
1826
  settingsCount: "{{n}} من الإعدادات",
1784
1827
  beta: "إصدار تجريبي",
1785
1828
  categories: {
1786
- Workspace: "مساحة العمل",
1829
+ Workspace: "عام",
1787
1830
  Communication: "الاتصالات",
1788
1831
  Security: "الأمان",
1789
1832
  Infrastructure: "البنية التحتية",
@@ -1828,8 +1871,7 @@ const ar = {
1828
1871
  },
1829
1872
  usage: {
1830
1873
  title: "استخدام الذكاء الاصطناعي",
1831
- meterBuild: "الإنشاء",
1832
- meterAsk: "السؤال",
1874
+ poolUsed: "تم استخدام {{percent}}",
1833
1875
  statusOk: "المتبقّي وفير",
1834
1876
  statusLow: "على وشك النفاد",
1835
1877
  statusFull: "تم بلوغ الحد",
@@ -1852,7 +1894,6 @@ const ar = {
1852
1894
  ctaUpgrade: "قم بالترقية للمتابعة",
1853
1895
  ctaTopUp: "أضف أرصدة للمتابعة",
1854
1896
  ariaLabel: "استخدام الذكاء الاصطناعي: {{status}}",
1855
- breakdownTitle: "المستخدَم حتى الآن",
1856
1897
  },
1857
1898
  workspaceTitle: "مساحة عمل الذكاء الاصطناعي",
1858
1899
  workspaceSubtitle: "اسأل وافحص واستأنف المحادثات",
@@ -1909,6 +1950,8 @@ const ar = {
1909
1950
  liveCanvasUnlisted: "تطبيق حي — {{app}} (غير مُدرج حتى النشر)",
1910
1951
  loadingAgents: "جارٍ تحميل الوكلاء…",
1911
1952
  askAnything: "اسأل عن أي شيء…",
1953
+ askOrChangeApp: "اسأل عن بياناتك، أو اطلب مني تعديل هذا التطبيق…",
1954
+ describeAppToBuild: "صِف التطبيق الذي تريد إنشاءه، أو ما تريد تغييره…",
1912
1955
  emptyTitle: "ابدأ محادثة",
1913
1956
  emptyDescription: "اسأل عن أي شيء — يمكن للمساعد الاطلاع على سياق تطبيقك الحالي.",
1914
1957
  switchAssistant: "تبديل المساعد",
@@ -1930,12 +1973,17 @@ const ar = {
1930
1973
  },
1931
1974
  clearConversation: "مسح",
1932
1975
  sendHint: "للإرسال",
1976
+ newlineHint: "لسطر جديد",
1933
1977
  agentActivity: "نشاط الوكيل",
1934
1978
  toolCompleted: "مكتمل",
1935
1979
  toolRunning: "قيد التنفيذ",
1936
1980
  toolAwaitingApproval: "بانتظار الموافقة",
1937
1981
  toolFailed: "فشل",
1938
1982
  toolDetailsHidden: "مدخلات الأدوات والنتائج الخام مخفية في هذا العرض.",
1983
+ toolDenyReason: "رفضه المشغّل من المحادثة",
1984
+ builderHandoffTitle: "الإنشاء في المُنشئ",
1985
+ builderHandoffOpen: "فتح في المُنشئ →",
1986
+ builderHandoffSuperseded: "يتوفر طلب أحدث",
1939
1987
  copy: "نسخ",
1940
1988
  copied: "تم النسخ",
1941
1989
  regenerate: "إعادة التوليد",
@@ -1950,7 +1998,7 @@ const ar = {
1950
1998
  publishOk: "تم النشر — الكائنات فعّالة الآن.",
1951
1999
  seedWarn: "تم النشر، لكن تعذّر تحميل بعض البيانات التجريبية.",
1952
2000
  openBuiltApp: "فتح التطبيق",
1953
- designBuiltApp: "التصميم في Studio",
2001
+ viewBuiltAppInStudio: "العرض في Studio",
1954
2002
  previewDraft: "معاينة",
1955
2003
  previewApp: "معاينة التطبيق",
1956
2004
  resizeSplit: "تغيير حجم المحادثة والمعاينة",
@@ -2077,6 +2125,7 @@ const ar = {
2077
2125
  collapse: "طي المحادثة",
2078
2126
  maximize: "فتح كصفحة كاملة",
2079
2127
  open: "فتح المساعد",
2128
+ planAwaitingApproval: "خطة مقترحة بانتظار موافقتك",
2080
2129
  },
2081
2130
  group: {
2082
2131
  today: "اليوم",
@@ -2087,12 +2136,9 @@ const ar = {
2087
2136
  },
2088
2137
  },
2089
2138
  title: "وحدة تحكم ObjectStack",
2090
- initializing: "جارٍ تهيئة التطبيق…",
2091
- loadingHint: "قد يستغرق إعداد بيئة جديدة بعض الوقت.",
2139
+ initializing: "جارٍ فتح وحدة التحكم…",
2140
+ skipToContent: "الانتقال إلى المحتوى",
2092
2141
  breadcrumb: {
2093
- dashboards: "لوحات المعلومات",
2094
- pages: "الصفحات",
2095
- reports: "التقارير",
2096
2142
  system: "النظام",
2097
2143
  marketplace: "السوق",
2098
2144
  settings: 'الإعدادات',
@@ -2125,16 +2171,34 @@ const ar = {
2125
2171
  unsavedCount_few: "{{count}} تغييرات غير محفوظة",
2126
2172
  unsavedCount_many: "{{count}} تغييرًا غير محفوظ",
2127
2173
  unsavedCount_other: "{{count}} تغيير غير محفوظ",
2174
+ fieldErrorsToast: "إعدادات تحتاج إلى مراجعة ({{count}}): {{settings}}",
2175
+ fieldErrorsToast_zero: "{{count}} إعداد يحتاج إلى مراجعة: {{settings}}",
2176
+ fieldErrorsToast_one: "{{count}} إعداد يحتاج إلى مراجعة: {{settings}}",
2177
+ fieldErrorsToast_two: "إعدادان يحتاجان إلى مراجعة ({{count}}): {{settings}}",
2178
+ fieldErrorsToast_few: "{{count}} إعدادات تحتاج إلى مراجعة: {{settings}}",
2179
+ fieldErrorsToast_many: "{{count}} إعدادًا يحتاج إلى مراجعة: {{settings}}",
2180
+ fieldErrorsToast_other: "{{count}} إعداد يحتاج إلى مراجعة: {{settings}}",
2128
2181
  cryptoRefusalTitle: "لا يمكن لهذا النشر تشفير الأسرار",
2129
2182
  cryptoRefusalSubjectSuffix: "معلن كمشفَّر، لذلك لم تتم كتابة أي شيء.",
2130
2183
  cryptoRefusalNoSubject: "تم رفض القيمة المعلنة كمشفَّرة، لذلك لم تتم كتابة أي شيء.",
2131
2184
  cryptoRefusalToast: "تعذّر تشفير الأسرار: {{subject}}",
2132
2185
  cryptoRefusalToastNoSubject: "تعذّر تشفير الأسرار",
2133
- },
2134
- loadingSteps: {
2135
- connecting: "جارٍ الاتصال بمصدر البيانات",
2136
- loadingConfig: "جارٍ تحميل الإعدادات",
2137
- preparingWorkspace: "جارٍ تجهيز مساحة العمل",
2186
+ sourceBadgeInherited: "موروث من {{source}}",
2187
+ sourceBadgeOverrides: "يتجاوز {{source}}",
2188
+ resetToDefault: "إعادة التعيين إلى الافتراضي",
2189
+ envLockBadge: "مقفل بواسطة البيئة",
2190
+ envLockBadgeTitle: "مثبّت بواسطة متغير بيئة — لا يمكن تعديله من الواجهة.",
2191
+ deprecatedBadge: "مهمل",
2192
+ deprecatedBadgeReplacedBy: "مهمل ← {{replacedBy}}",
2193
+ unsupportedSpecifierType: "نوع إعداد غير مدعوم: {{type}}",
2194
+ },
2195
+ workspaceTimezonePrompt: {
2196
+ title: "تعيين المنطقة الزمنية للنظام",
2197
+ description: "لا يزال هذا النظام يستخدم المنطقة الزمنية الافتراضية للمنصة، {{current}}. تحدد المنطقة الزمنية للنظام معنى \"اليوم\" في الصيغ، وكيفية تجميع التقارير حسب التاريخ، وكيفية عرض التواريخ والأوقات، لجميع مستخدمي النظام. تم إدخال المنطقة الزمنية لمتصفحك أدناه.",
2198
+ laterHint: "يمكنك تغييرها في أي وقت من صفحة الإعدادات.",
2199
+ decline: "الإبقاء على الافتراضي",
2200
+ confirm: "تعيين المنطقة الزمنية",
2201
+ saved: "تم تعيين المنطقة الزمنية للنظام إلى {{zone}}",
2138
2202
  },
2139
2203
  error: {
2140
2204
  connectionFailed: "تعذّر الاتصال بالخادم",
@@ -2159,27 +2223,28 @@ const ar = {
2159
2223
  groups: {
2160
2224
  general: "عام",
2161
2225
  navigation: "التنقل",
2162
- dataViews: "عروض البيانات",
2163
2226
  aiChat: "مساعد الذكاء الاصطناعي",
2164
- preferences: "التفضيلات",
2165
2227
  },
2166
2228
  openCommandPalette: "فتح لوحة الأوامر",
2167
2229
  showShortcuts: "عرض اختصارات لوحة المفاتيح",
2168
2230
  closeDialog: "إغلاق النافذة / اللوحة",
2169
2231
  toggleSidebar: "تبديل الشريط الجانبي",
2170
- focusSearch: "التركيز على البحث",
2171
- createRecord: "إنشاء سجل جديد",
2172
- refreshData: "تحديث البيانات",
2173
- editRecord: "تعديل السجل المحدد",
2174
2232
  newChat: "محادثة جديدة",
2175
2233
  toggleChatsList: "تبديل قائمة المحادثات",
2176
- toggleDarkMode: "تبديل الوضع الداكن",
2234
+ goHome: "العودة إلى الرئيسية",
2235
+ },
2236
+ reportIndex: {
2237
+ title: "التقارير",
2238
+ emptyTitle: "لا توجد تقارير",
2239
+ emptyDescription: "لا يحتوي هذا التطبيق على تقارير يمكنك فتحها.",
2177
2240
  },
2178
2241
  commandPalette: {
2179
2242
  title: "لوحة الأوامر",
2180
2243
  placeholder: "اكتب أمراً أو ابحث…",
2181
2244
  noResults: "لم يتم العثور على نتائج.",
2182
2245
  objects: "الكائنات",
2246
+ packages: "الحزم",
2247
+ flows: "التدفقات",
2183
2248
  dashboards: "لوحات المعلومات",
2184
2249
  pages: "الصفحات",
2185
2250
  reports: "التقارير",
@@ -2198,9 +2263,9 @@ const ar = {
2198
2263
  },
2199
2264
  // objectui#9954 — see the `en` pack for what raises each case.
2200
2265
  readRate: {
2201
- ratioTitle: 'حجم قراءة غير معتاد في هذه البيئة',
2266
+ ratioTitle: 'حجم قراءة غير معتاد في هذا النظام',
2202
2267
  ratio: 'تتم قراءة {{ratio}} صف مقابل كل صف مكتوب. تُعلِّم المنصة كل ما يتجاوز {{threshold}}. لا يتم تقييد أو حظر أي شيء؛ هذا تقرير لمراجعة نمط القراءة.',
2203
- noWritesTitle: 'قراءات بدون أي كتابة في هذه البيئة',
2268
+ noWritesTitle: 'قراءات بدون أي كتابة في هذا النظام',
2204
2269
  noWrites: 'تتم قراءة صفوف دون كتابة أي صف على الإطلاق، لذا لا يوجد حد أعلى لمعدل القراءة. هذه هي أخطر قراءة. تُعلِّم المنصة كل ما يتجاوز {{threshold}}. لا يتم تقييد أو حظر أي شيء؛ هذا تقرير لمراجعة نمط القراءة.',
2205
2270
  },
2206
2271
  // objectui#10439 — see the `en` pack for what raises each case.
@@ -2241,12 +2306,14 @@ const ar = {
2241
2306
  viewNameInvalid: "استخدم أحرفًا إنجليزية صغيرة وأرقامًا وشرطات سفلية؛ وابدأ بحرف أو شرطة سفلية.",
2242
2307
  systemViewReadonly: "عرض النظام معرَّف في الكود — للقراءة فقط.",
2243
2308
  cannotEditMetaView: "هذا عرض مدمج معرَّف في الكود — لا يمكن تعديله.",
2244
- viewConfigPermissionDenied: "تنطبق إعدادات العرض على جميع المستخدمين الذين يستخدمون هذا العرض، لذا يتطلب تغييرها إذن «إدارة البيانات الوصفية». اطلب من المسؤول إجراء هذا التغيير.",
2309
+ resetView: "إعادة تعيين العرض",
2310
+ resetViewTitle: "إعادة هذا العرض إلى الفرز وعوامل التصفية وعرض الأعمدة الخاصة به. تتغير إعداداتك فقط.",
2245
2311
  cannotDeleteMetaView: "هذا عرض مدمج معرَّف في الكود — لا يمكن حذفه.",
2246
2312
  expandToPage: "فتح كصفحة كاملة",
2247
2313
  objectNotFound: "الكائن غير موجود",
2248
2314
  objectNotFoundDescription: "الكائن \"{{objectName}}\" غير موجود في الإعدادات الحالية.",
2249
2315
  objectNotFoundHint: "تحقق من إعدادات التنقل في تطبيقك أو اختر كائنًا آخر من الشريط الجانبي.",
2316
+ objectPackageDisabled: "الكائن \"{{objectName}}\" ينتمي إلى حزمة معطّلة، لذلك لا يتم تقديمه.",
2250
2317
  filterOrNotSavable: "يستخدم هذا الفلتر «أو» بين الشروط، وهو ما لا يمكن للعرض المحفوظ تخزينه بعد. لا يزال مطبقًا على هذه القائمة — أزل تجميع «أو» لحفظه في العرض.",
2251
2318
  filterNestedNotSavable: "يستخدم هذا الفلتر مجموعات شروط متداخلة لا يمكن للعرض المحفوظ تخزينها. حوّله إلى قائمة شروط واحدة لحفظه في العرض.",
2252
2319
  allRecords: "جميع السجلات",
@@ -2349,6 +2416,10 @@ const ar = {
2349
2416
  ufAddField: "+ إضافة حقل فلتر…",
2350
2417
  ufShowAllRecords: "إظهار علامة \"جميع السجلات\"",
2351
2418
  },
2419
+ runtimeDraft: {
2420
+ publishFailed: "فشل النشر",
2421
+ discardFailed: "فشل تجاهل المسودة",
2422
+ },
2352
2423
  localeSwitcher: {
2353
2424
  label: "اللغة",
2354
2425
  },
@@ -2356,17 +2427,22 @@ const ar = {
2356
2427
  nav: {
2357
2428
  pinItem: "تثبيت {{name}}",
2358
2429
  unpinItem: "إلغاء تثبيت {{name}}",
2359
- dragToReorder: "اسحب لإعادة الترتيب",
2360
2430
  favorites: "المفضلة",
2361
2431
  launcherLabel: "مشغّل التطبيقات",
2362
2432
  menuLabel: "تنقّل التطبيق",
2363
2433
  menuEmpty: "لا توجد في هذا التطبيق عناصر تنقّل يمكنك فتحها.",
2434
+ itemMenu: "المزيد من الإجراءات لـ {{name}}",
2435
+ openInNewTab: "فتح في علامة تبويب جديدة",
2436
+ copyLink: "نسخ الرابط",
2437
+ linkCopied: "تم نسخ الرابط إلى الحافظة",
2438
+ linkCopyFailed: "فشل نسخ الرابط",
2439
+ design: "تصميم",
2364
2440
  },
2365
2441
  },
2366
2442
  auth: {
2367
2443
  setPassword: {
2368
2444
  title: "تعيين كلمة مرور للاسترداد",
2369
- description: "لقد سجّلت الدخول عبر الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن من الدخول إلى هذه البيئة مباشرةً إذا أصبح الدخول الموحّد غير متاح.",
2445
+ description: "لقد سجّلت الدخول عبر الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن من الدخول مباشرةً إذا أصبح الدخول الموحّد غير متاح.",
2370
2446
  email: "البريد الإلكتروني",
2371
2447
  newPassword: "كلمة المرور الجديدة",
2372
2448
  confirmPassword: "تأكيد كلمة المرور",
@@ -2382,9 +2458,8 @@ const ar = {
2382
2458
  signingIn: "جارٍ تسجيل دخولك…",
2383
2459
  ssoHandoff: "المتابعة إلى {{target}}",
2384
2460
  devAdminHint: {
2385
- title: "بيئة تطوير",
2386
- body: "سجّل الدخول بحساب مسؤول التطوير المهيأ مسبقًا:",
2387
- dismiss: "تجاهل",
2461
+ title: "بيئة تطوير محلية",
2462
+ signIn: "تسجيل الدخول كمسؤول التطوير",
2388
2463
  },
2389
2464
  title: "تسجيل الدخول إلى حسابك",
2390
2465
  description: "أدخل بريدك الإلكتروني وكلمة المرور للمتابعة",
@@ -2416,6 +2491,20 @@ const ar = {
2416
2491
  usePasswordSignInText: "تسجيل الدخول بكلمة المرور بدلاً من ذلك",
2417
2492
  socialButton: "المتابعة باستخدام {provider}",
2418
2493
  orText: "أو تابع باستخدام البريد الإلكتروني",
2494
+ ssoButton: "تسجيل الدخول باستخدام SSO",
2495
+ ssoOnlyDescription: "سجّل الدخول عبر الدخول الموحّد لمؤسستك",
2496
+ usePasswordText: "استخدام كلمة المرور بدلاً من ذلك",
2497
+ backToSsoText: "العودة إلى الدخول الموحّد",
2498
+ // objectui#12600 — the console login card's own header, the password
2499
+ // field's reveal toggle, and the footer's legal links.
2500
+ welcomeTitle: "مرحبًا بعودتك",
2501
+ welcomeDescription: "سجّل الدخول لمتابعة عملك",
2502
+ showPasswordText: "إظهار كلمة المرور",
2503
+ hidePasswordText: "إخفاء كلمة المرور",
2504
+ footer: {
2505
+ privacy: "الخصوصية",
2506
+ terms: "الشروط",
2507
+ },
2419
2508
  },
2420
2509
  register: {
2421
2510
  title: "إنشاء حساب",
@@ -2438,7 +2527,7 @@ const ar = {
2438
2527
  orText: "أو تابع باستخدام البريد الإلكتروني",
2439
2528
  errors: {
2440
2529
  userExists: "يوجد حساب بهذا البريد الإلكتروني بالفعل. حاول تسجيل الدخول.",
2441
- selfRegistrationClosed: "التسجيل الذاتي غير متاح في هذه البيئة. اطلب دعوة من المسؤول.",
2530
+ selfRegistrationClosed: "التسجيل الذاتي غير متاح في هذا النظام. اطلب دعوة من المسؤول.",
2442
2531
  emailDomainNotAllowed: "نطاق هذا البريد الإلكتروني غير مسموح له بالتسجيل هنا. استخدم البريد الإلكتروني لمؤسستك أو اطلب دعوة من المسؤول.",
2443
2532
  },
2444
2533
  verifyInbox: {
@@ -2515,7 +2604,7 @@ const ar = {
2515
2604
  checkSpam: "لم تستلم البريد؟ تحقق من مجلد البريد غير المرغوب أو تواصل مع الدعم.",
2516
2605
  or: "أو",
2517
2606
  // objectui#3546 slice three.
2518
- resendUnavailable: "قد يكون إرسال البريد الإلكتروني غير مُهيأ في هذه البيئة. تواصل مع الدعم إذا استمرت المشكلة.",
2607
+ resendUnavailable: "قد يكون إرسال البريد الإلكتروني غير مُهيأ في هذا النظام. تواصل مع الدعم إذا استمرت المشكلة.",
2519
2608
  },
2520
2609
  setup: {
2521
2610
  welcomeTitle: "مرحباً بك في ObjectStack",
@@ -2559,7 +2648,7 @@ const ar = {
2559
2648
  disabledDescription: "لم يتم تمكين تفويض الأجهزة في هذا النشر، لذا لا يمكن الموافقة على هذا الجهاز هنا.",
2560
2649
  },
2561
2650
  shell: {
2562
- tenantHostHint: "تسجل الدخول إلى مساحة العمل هذه",
2651
+ tenantHostHint: "تسجل الدخول إلى هذا النظام",
2563
2652
  },
2564
2653
  layout: {
2565
2654
  headline: "أنشئ تطبيقات أعمال قوية بسرعة أكبر.",
@@ -2569,6 +2658,7 @@ const ar = {
2569
2658
  signOut: "تسجيل الخروج بدلاً من ذلك",
2570
2659
  password: {
2571
2660
  title: "انتهت صلاحية كلمة المرور",
2661
+ resetTitle: "يجب عليك تغيير كلمة المرور",
2572
2662
  fallbackMessage: "يرجى تعيين كلمة مرور جديدة للمتابعة.",
2573
2663
  current: "كلمة المرور الحالية",
2574
2664
  next: "كلمة المرور الجديدة",
@@ -2594,6 +2684,11 @@ const ar = {
2594
2684
  verifying: "جارٍ التحقق…",
2595
2685
  invalidCode: "رمز غير صالح. حاول مرة أخرى.",
2596
2686
  },
2687
+ impersonation: {
2688
+ passwordTitle: "يجب على {{user}} تغيير كلمة المرور",
2689
+ mfaTitle: "يجب على {{user}} إعداد المصادقة الثنائية",
2690
+ body: "أنت تنتحل هوية {{user}}، ولا يمكن لأحد غيره القيام بذلك. أنهِ انتحال الهوية للعودة إلى حسابك.",
2691
+ },
2597
2692
  },
2598
2693
  },
2599
2694
  // objectui#3546 slice three — the /oauth/consent screen.
@@ -2602,12 +2697,17 @@ const ar = {
2602
2697
  title: "يطلب {{appName}} الوصول إلى حسابك",
2603
2698
  request: "يطلب {{appName}} الإذن{{suffix}}.",
2604
2699
  unknownApp: "تطبيق ما",
2700
+ unidentified: "تعذّر التعرّف على هذا التطبيق.",
2701
+ clientId: "معرّف العميل",
2605
2702
  willAllow: "سيتمكن هذا التطبيق من:",
2606
2703
  scope: {
2607
2704
  openid: "تأكيد هويتك",
2608
2705
  profile: "قراءة ملفك الشخصي الأساسي (الاسم، الصورة)",
2609
2706
  email: "قراءة عنوان بريدك الإلكتروني",
2610
2707
  offlineAccess: "البقاء مسجّلاً للدخول (تحديث الوصول)",
2708
+ dataRead: "قراءة السجلات (ضمن صلاحياتك الخاصة)",
2709
+ dataWrite: "إنشاء السجلات وتعديلها وحذفها (ضمن صلاحياتك الخاصة)",
2710
+ actionsExecute: "تنفيذ الإجراءات نيابةً عنك (ضمن صلاحياتك الخاصة)",
2611
2711
  },
2612
2712
  deny: "رفض",
2613
2713
  authorize: "تفويض",
@@ -2650,8 +2750,8 @@ const ar = {
2650
2750
  password: {
2651
2751
  changeTitle: "تغيير كلمة المرور",
2652
2752
  setTitle: "تعيين كلمة مرور محلية",
2653
- changeDescription: "قم بتحديث كلمة المرور التي تستخدمها لتسجيل الدخول إلى هذه البيئة.",
2654
- setDescription: "لقد سجّلت الدخول عبر تسجيل الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن أيضاً من تسجيل الدخول بالبريد الإلكتروني وكلمة المرور في هذه البيئة.",
2753
+ changeDescription: "قم بتحديث كلمة المرور التي تستخدمها لتسجيل الدخول.",
2754
+ setDescription: "لقد سجّلت الدخول عبر تسجيل الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن أيضاً من تسجيل الدخول بالبريد الإلكتروني وكلمة المرور.",
2655
2755
  current: "كلمة المرور الحالية",
2656
2756
  new: "كلمة المرور الجديدة",
2657
2757
  password: "كلمة المرور",
@@ -2660,7 +2760,7 @@ const ar = {
2660
2760
  mismatch: "كلمتا المرور غير متطابقتين",
2661
2761
  enterCurrent: "أدخل كلمة المرور الحالية",
2662
2762
  changed: "تم تغيير كلمة المرور.",
2663
- localSet: "تم تعيين كلمة المرور المحلية. يمكنك الآن تسجيل الدخول بالبريد الإلكتروني وكلمة المرور في هذه البيئة.",
2763
+ localSet: "تم تعيين كلمة المرور المحلية. يمكنك الآن تسجيل الدخول بالبريد الإلكتروني وكلمة المرور.",
2664
2764
  changeAction: "تغيير كلمة المرور",
2665
2765
  setAction: "تعيين كلمة المرور",
2666
2766
  },
@@ -2675,21 +2775,21 @@ const ar = {
2675
2775
  unknown: "حدث خطأ غير متوقع.",
2676
2776
  },
2677
2777
  workspace: {
2678
- label: "مساحات العمل",
2679
- default: "مساحة العمل الخاصة بي",
2680
- switch: "تبديل مساحة العمل",
2681
- createTitle: "إنشاء مساحة عمل",
2682
- createDescription: "مساحة العمل هي مساحة مشتركة لفريقك للتعاون.",
2683
- createButton: "إنشاء مساحة عمل",
2684
- nameLabel: "اسم مساحة العمل",
2778
+ label: "المؤسسات",
2779
+ default: "مؤسستي",
2780
+ switch: "تبديل المؤسسة",
2781
+ createTitle: "إنشاء مؤسسة",
2782
+ createDescription: "المؤسسة مكان مشترك يتعاون فيه فريقك.",
2783
+ createButton: "إنشاء مؤسسة",
2784
+ nameLabel: "اسم المؤسسة",
2685
2785
  namePlaceholder: "مثلاً، Acme Inc",
2686
2786
  slugLabel: "معرف URL",
2687
2787
  slugHint: "يستخدم في عناوين URL. أحرف صغيرة وأرقام وشرطات فقط.",
2688
2788
  invite: "دعوة عضو",
2689
2789
  members: "الأعضاء",
2690
- settings: "إعدادات مساحة العمل",
2790
+ settings: "إعدادات المؤسسة",
2691
2791
  multiOrgDisabled: "إنشاء مؤسسات جديدة معطّل في هذا النشر.",
2692
- createFailed: 'تعذّر إنشاء مساحة العمل',
2792
+ createFailed: 'تعذّر إنشاء المؤسسة',
2693
2793
  },
2694
2794
  help: {
2695
2795
  onThisPage: "في هذه الصفحة",
@@ -2697,6 +2797,12 @@ const ar = {
2697
2797
  appDocs: 'وثائق هذا التطبيق',
2698
2798
  allDocs: 'كل الوثائق',
2699
2799
  onlineDocs: 'الوثائق عبر الإنترنت',
2800
+ loadingDocumentation: 'جارٍ تحميل الوثائق',
2801
+ about: 'حول',
2802
+ aboutTitle: 'حول وحدة التحكم هذه',
2803
+ aboutDescription: 'الإصدار الذي بُنيت منه وحدة التحكم هذه.',
2804
+ aboutBuild: 'إصدار وحدة التحكم',
2805
+ aboutBuildUnknown: 'إصدار غير معروف (لم يُحدَّد أي إصدار عند بناء وحدة التحكم هذه)',
2700
2806
  },
2701
2807
  sidebar: {
2702
2808
  packageManagement: "إدارة الحزم",
@@ -2711,18 +2817,16 @@ const ar = {
2711
2817
  area: "المنطقة",
2712
2818
  scope: "النطاق",
2713
2819
  recent: "الأخيرة",
2714
- favorites: "المفضلة",
2715
2820
  starred: "المميزة",
2716
2821
  removeFromFavorites: "إزالة {{name}} من المفضلة",
2822
+ allReports: "كل التقارير",
2717
2823
  },
2718
2824
  topbar: {
2719
2825
  openAssistant: "فتح مساعد {{name}}",
2720
2826
  offline: "غير متصل",
2721
2827
  usersOnline: "المستخدمون المتصلون الآن",
2722
2828
  switchView: "تبديل العرض",
2723
- switchObject: "تبديل الكائن",
2724
2829
  connection: {
2725
- connected: "متصل",
2726
2830
  connecting: "جارٍ الاتصال…",
2727
2831
  reconnecting: "جارٍ إعادة الاتصال…",
2728
2832
  disconnected: "منقطع",
@@ -2735,23 +2839,22 @@ const ar = {
2735
2839
  },
2736
2840
  aiAssistant: "مساعد الذكاء الاصطناعي",
2737
2841
  designInStudio: "التصميم في Studio",
2842
+ editApp: "تعديل التطبيق",
2738
2843
  },
2739
2844
  home: {
2740
2845
  build: {
2741
2846
  title: "إنشاء تطبيق",
2742
- subtitle: "ابدأ من الصفر — صمّم الكائنات والنماذج والأتمتة والواجهات.",
2743
- noCapability: "إنشاء التطبيقات غير متاح في مساحة العمل هذه — فهو يتطلب إذن «إدارة البيانات الوصفية» الذي لا يملكه حسابك.",
2847
+ noCapability: "إنشاء التطبيقات غير متاح في هذا النظام — فهو يتطلب إذن «إدارة البيانات الوصفية» الذي لا يملكه حسابك.",
2744
2848
  },
2745
2849
  template: {
2746
2850
  title: "ابدأ من قالب",
2747
- subtitle: "ثبّت تطبيق قالب من السوق وخصّصه.",
2748
2851
  marketplaceDisabled: "لا يوجد سوق تطبيقات مُهيّأ لوقت التشغيل هذا، لذا لا توجد قوالب لتثبيتها هنا.",
2749
2852
  },
2750
2853
  welcomeAdminDescription: "صف نشاطك التجاري في جملة واحدة — وسيولّد الذكاء الاصطناعي الكائنات والشاشات وواجهات البرمجة وأدوات الوكيل. أو أعدّها بنفسك من القائمة على اليسار.",
2751
2854
  welcomeAdminDescriptionNoBuild: "أعدّ تطبيقك الأول من قائمة الإدارة على اليسار. وبمجرد توفر البيانات، يمكن لمساعد الذكاء الاصطناعي مساعدتك في استكشافها.",
2752
2855
  welcomeAdminDescriptionNoAi: "أعدّ تطبيقك الأول من قائمة الإدارة على اليسار.",
2753
2856
  noAppsTitle: "لا توجد تطبيقات بعد",
2754
- noAppsDescription: "يجري إعداد مساحة عملك — وستظهر هنا التطبيقات التي يشاركها معك المسؤول.",
2857
+ noAppsDescription: "يجري إعداد النظام — وستظهر هنا التطبيقات التي يشاركها معك المسؤول.",
2755
2858
  buildWithAI: "الإنشاء بالذكاء الاصطناعي",
2756
2859
  askAI: "اسأل الذكاء الاصطناعي",
2757
2860
  recoveryReminder: {
@@ -2760,13 +2863,19 @@ const ar = {
2760
2863
  dismiss: "تجاهل",
2761
2864
  },
2762
2865
  pendingDrafts: {
2763
- message: "لديك {{count}} من التغييرات غير المنشورة — انشرها لتصبح فعّالة.",
2764
- message_zero: "لديك {{count}} من التغييرات غير المنشورة — انشرها لتصبح فعّالة.",
2765
- message_one: "لديك {{count}} من التغييرات غير المنشورة — انشرها لتصبح فعّالة.",
2766
- message_two: "لديك {{count}} من التغييرات غير المنشورة — انشرها لتصبح فعّالة.",
2767
- message_few: "لديك {{count}} من التغييرات غير المنشورة — انشرها لتصبح فعّالة.",
2768
- message_many: "لديك {{count}} من التغييرات غير المنشورة — انشرها لتصبح فعّالة.",
2769
- message_other: "لديك {{count}} من التغييرات غير المنشورة — انشرها لتصبح فعّالة.",
2866
+ // objectui#12602 — the drafts row in Home's "My work" section: the
2867
+ // count, then the first draft names joined by `nameSeparator`, in
2868
+ // their package when they share one.
2869
+ title: "{{count}} من التغييرات غير المنشورة",
2870
+ title_zero: "{{count}} من التغييرات غير المنشورة",
2871
+ title_one: "{{count}} من التغييرات غير المنشورة",
2872
+ title_two: "{{count}} من التغييرات غير المنشورة",
2873
+ title_few: "{{count}} من التغييرات غير المنشورة",
2874
+ title_many: "{{count}} من التغييرات غير المنشورة",
2875
+ title_other: "{{count}} من التغييرات غير المنشورة",
2876
+ inPackage: "{{names}} بانتظار النشر في {{package}}",
2877
+ waiting: "{{names}} بانتظار النشر",
2878
+ nameSeparator: "، ",
2770
2879
  cta: "نشر",
2771
2880
  publishing: "جارٍ النشر…",
2772
2881
  published: "تم النشر! تغييراتك فعّالة الآن.",
@@ -2787,11 +2896,18 @@ const ar = {
2787
2896
  showMoreApps: "المزيد",
2788
2897
  showLess: "عرض أقل",
2789
2898
  continueEmpty: "ستظهر هنا العناصر التي تفتحها.",
2790
- actionCenter: {
2791
- title: "يتطلب انتباهك",
2792
- empty: "لقد أنجزت كل شيء",
2899
+ // objectui#12602 — Home's "My work" section: its heading, the link to the
2900
+ // full inbox, each column's title, "view all" link and empty line.
2901
+ myWork: {
2902
+ title: "عملي",
2903
+ openInbox: "فتح البريد الوارد",
2904
+ viewAll: "عرض الكل",
2905
+ approvals: "بانتظار الموافقة",
2906
+ approvalsEmpty: "لا شيء بانتظار موافقتك",
2907
+ notifications: "الإشعارات",
2908
+ notificationsEmpty: "لا توجد إشعارات غير مقروءة",
2793
2909
  },
2794
- loading: "جارٍ تحميل مساحة العمل…",
2910
+ loading: "جارٍ التحميل…",
2795
2911
  welcome: "مرحباً بك في ObjectUI",
2796
2912
  welcomeDescription: "ابدأ بإنشاء تطبيقك الأول أو تكوين إعدادات النظام.",
2797
2913
  createFirstApp: "أنشئ أول تطبيق لك",
@@ -2802,7 +2918,7 @@ const ar = {
2802
2918
  manageObjects: "إدارة الكائنات",
2803
2919
  manageObjectsDesc: "تكوين نماذج البيانات",
2804
2920
  systemSettings: "إعدادات النظام",
2805
- systemSettingsDesc: "تكوين مساحة العمل الخاصة بك",
2921
+ systemSettingsDesc: "تكوين النظام",
2806
2922
  },
2807
2923
  appCard: {
2808
2924
  noDescription: "لا يوجد وصف",
@@ -2812,7 +2928,21 @@ const ar = {
2812
2928
  greetingAfternoon: "مساء الخير",
2813
2929
  greetingEvening: "مساء النور",
2814
2930
  greetingNight: "وردية الليل",
2815
- heroTagline: "استمر من حيث توقفت أو اكتشف شيئاً جديداً.",
2931
+ greetingSeparator: "، ",
2932
+ greetingEnd: ".",
2933
+ search: "ابحث في التطبيقات والسجلات والصفحات…",
2934
+ summary: {
2935
+ approvals: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
2936
+ approvals_zero: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
2937
+ approvals_one: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
2938
+ approvals_two: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
2939
+ approvals_few: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
2940
+ approvals_many: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
2941
+ approvals_other: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
2942
+ none: "لا شيء بانتظارك اليوم",
2943
+ },
2944
+ addApp: "إضافة تطبيق",
2945
+ appOpened: "فُتح {{time}}",
2816
2946
  open: "فتح",
2817
2947
  recentApps: {
2818
2948
  title: "فُتح مؤخراً",
@@ -2821,6 +2951,8 @@ const ar = {
2821
2951
  dashboard: "لوحة تحكم",
2822
2952
  page: "صفحة",
2823
2953
  report: "تقرير",
2954
+ package: "حزمة",
2955
+ view: "عرض القائمة",
2824
2956
  record: "سجل",
2825
2957
  metadata: "البيانات الوصفية",
2826
2958
  },
@@ -2858,11 +2990,17 @@ const ar = {
2858
2990
  manageAllApps: "إدارة جميع التطبيقات",
2859
2991
  systemConsole: "وحدة تحكم النظام",
2860
2992
  noAppsConfigured: "لا تطبيقات مُهيأة",
2993
+ allApps: "جميع التطبيقات",
2994
+ editAppInStudio: "تعديل {{app}} في Studio",
2995
+ backToHome: "العودة إلى الرئيسية",
2996
+ settings: "الإعدادات",
2997
+ productHome: "الصفحة الرئيسية لـ {{product}}",
2861
2998
  },
2862
2999
  activityFeed: {
2863
3000
  title: "النشاط الأخير",
2864
3001
  filter: "تصفية",
2865
3002
  empty: "لا نشاط أخير",
3003
+ accessDenied: "ليس لديك صلاحية عرض النشاط.",
2866
3004
  ariaLabel: "تغذية النشاط",
2867
3005
  typeCreate: "إنشاء",
2868
3006
  typeUpdate: "تحديث",
@@ -2938,11 +3076,19 @@ const ar = {
2938
3076
  appAccessDenied: "ليس لديك حق الوصول إلى هذا التطبيق",
2939
3077
  appAccessDeniedDescription: "هذا التطبيق موجود، لكن حسابك غير مخوَّل بفتحه. اطلب من المسؤول منحك حق الوصول.",
2940
3078
  appAccessDeniedHome: "العودة إلى الرئيسية",
3079
+ appNothingAvailable: "لا يتوفر لك أي شيء في {{app}} بعد",
3080
+ appNothingAvailableDescription: "لا يحتوي هذا التطبيق على صفحات يمكن لحسابك فتحها. اطلب من المسؤول منحك حق الوصول.",
3081
+ appNothingAvailableGrantDescription: "لا يحتوي هذا التطبيق على صفحات يمكن لحسابك فتحها. يمكنك منح حق الوصول من الإعداد.",
3082
+ openSetup: "فتح الإعداد",
2941
3083
  createFirstApp: "إنشاء أول تطبيق",
2942
3084
  systemSettings: "إعدادات النظام",
2943
3085
  back: "رجوع",
2944
3086
  recordNotFound: "السجل غير موجود",
2945
3087
  recordNotFoundDescription: "السجل الذي تبحث عنه غير موجود أو ربما تم حذفه.",
3088
+ recordAccessDenied: "ليس لديك صلاحية الوصول إلى سجلات {{object}}",
3089
+ recordAccessDeniedDescription: "ليس لديك إذن لعرض السجلات من هذا النوع. تواصل مع المسؤول إذا كنت تعتقد أنه يجب أن يكون لديك وصول.",
3090
+ recordLoadFailed: "تعذّر تحميل هذا السجل",
3091
+ recordLoadFailedDescription: "حدث خطأ أثناء التحميل. تحقق من اتصالك وحاول مرة أخرى.",
2946
3092
  },
2947
3093
  actionDialog: {
2948
3094
  title: "معامِلات الإجراء",
@@ -2975,12 +3121,19 @@ const ar = {
2975
3121
  updateFailed: "تعذر تحديث التنقل",
2976
3122
  },
2977
3123
  objectActions: {
2978
- resetPackageSetConfirm: "مجموعة الأذونات هذه تأتي ضمن حزمة مثبَّتة ولا يمكن إزالتها. الحذف يعيدها إلى الحالة الأصلية المرفقة بالحزمة ويتجاهل تخصيصاتك في هذه البيئة. هل تريد المتابعة؟",
2979
- resetPackageSetSuccess: "تمت إعادة مجموعة الأذونات إلى حالتها الأصلية المرفقة بالحزمة",
2980
3124
  deleteSuccess: "تم حذف {{label}} بنجاح",
2981
3125
  deleteFailed: "تعذر حذف {{label}}",
2982
3126
  noRecordId: "لم يتم توفير معرف سجل",
2983
3127
  deleteConfirm: "حذف هذا السجل؟",
3128
+ deleteConfirmTitle: "حذف {{label}} \"{{name}}\"؟",
3129
+ bulkDeleteConfirmTitle: "حذف {{count}} سجل(ات) {{label}}؟",
3130
+ bulkDeleteConfirmTitle_zero: "حذف {{count}} من سجلات {{label}}؟",
3131
+ bulkDeleteConfirmTitle_one: "حذف {{count}} من سجلات {{label}}؟",
3132
+ bulkDeleteConfirmTitle_two: "حذف {{count}} من سجلات {{label}}؟",
3133
+ bulkDeleteConfirmTitle_few: "حذف {{count}} من سجلات {{label}}؟",
3134
+ bulkDeleteConfirmTitle_many: "حذف {{count}} من سجلات {{label}}؟",
3135
+ bulkDeleteConfirmTitle_other: "حذف {{count}} من سجلات {{label}}؟",
3136
+ deleteConfirmButton: "حذف",
2984
3137
  bulkDeleteSuccess: "تم حذف {{count}} سجل(ات) {{label}}",
2985
3138
  bulkDeleteSuccess_zero: "تم حذف {{count}} من سجلات {{label}}",
2986
3139
  bulkDeleteSuccess_one: "تم حذف {{count}} من سجلات {{label}}",
@@ -3020,6 +3173,7 @@ const ar = {
3020
3173
  loading: "جارٍ التحميل…",
3021
3174
  failedToLoad: "فشل تحميل المصفوفة: {{message}}",
3022
3175
  needsAcross: "يتطلب تقرير المصفوفة حقل `groupingsAcross` واحداً على الأقل.",
3176
+ forbiddenMessage: "ليست لديك صلاحية لعرض البيانات الخاصة بهذا التقرير.",
3023
3177
  aggregate: {
3024
3178
  count: "عدد",
3025
3179
  countDistinct: "عدد الفريد",
@@ -3034,18 +3188,18 @@ const ar = {
3034
3188
  },
3035
3189
  },
3036
3190
  organizations: {
3037
- create: "إنشاء مساحة عمل",
3038
- mine: "مساحات عملي",
3039
- title: "مساحات العمل",
3040
- heading: "مساحات عملك",
3041
- subtitle: "اختر مساحة عمل للمتابعة، أو أنشئ مساحة عمل جديدة.",
3042
- searchPlaceholder: "ابحث عن مساحة عمل",
3043
- new: "مساحة عمل جديدة",
3044
- current: "مساحة العمل الحالية",
3191
+ create: "إنشاء مؤسسة",
3192
+ mine: "مؤسساتي",
3193
+ title: "المؤسسات",
3194
+ heading: "مؤسساتك",
3195
+ subtitle: "اختر مؤسسة للمتابعة، أو أنشئ مؤسسة جديدة.",
3196
+ searchPlaceholder: "ابحث عن مؤسسة",
3197
+ new: "مؤسسة جديدة",
3198
+ current: "المؤسسة الحالية",
3045
3199
  manage: "إدارة",
3046
- emptyTitle: "لا توجد مساحات عمل بعد",
3047
- emptyDescription: "أنشئ مساحة عملك الأولى للبدء.",
3048
- noMatches: "لا توجد مساحات عمل تطابق بحثك.",
3200
+ emptyTitle: "لا توجد مؤسسات بعد",
3201
+ emptyDescription: "أنشئ مؤسستك الأولى للبدء.",
3202
+ noMatches: "لا توجد مؤسسات تطابق بحثك.",
3049
3203
  },
3050
3204
  organization: {
3051
3205
  roles: {
@@ -3130,6 +3284,7 @@ const ar = {
3130
3284
  readOnlyNote: "يمكن للمالكين فقط تغيير الإعدادات.",
3131
3285
  nameLabel: "اسم المؤسسة",
3132
3286
  slugLabel: "المعرف",
3287
+ slugLockedNote: "لدى هذه المؤسسة بيئات نشطة، لذا لا يمكن تغيير المعرف هنا: إعادة التسمية تنقل أيضًا نطاقاتها الفرعية.",
3133
3288
  logoLabel: "الشعار",
3134
3289
  logoUpload: "رفع",
3135
3290
  logoReplace: "استبدال",
@@ -3210,8 +3365,20 @@ const ar = {
3210
3365
  noPendingApprovals: "لا توجد موافقات معلقة",
3211
3366
  openApprovalsInbox: "فتح صندوق الموافقات",
3212
3367
  badgeTotal: "{{total}} إجمالاً",
3213
- badgeNotifications: "{{unread}} إشعارات",
3214
- badgeApprovals: "{{approvals}} موافقات معلقة",
3368
+ badgeNotifications: "{{count}} إشعارات",
3369
+ badgeNotifications_zero: "{{count}} إشعار",
3370
+ badgeNotifications_one: "{{count}} إشعار",
3371
+ badgeNotifications_two: "إشعاران ({{count}})",
3372
+ badgeNotifications_few: "{{count}} إشعارات",
3373
+ badgeNotifications_many: "{{count}} إشعار",
3374
+ badgeNotifications_other: "{{count}} إشعار",
3375
+ badgeApprovals: "{{count}} موافقات معلقة",
3376
+ badgeApprovals_zero: "{{count}} موافقة معلقة",
3377
+ badgeApprovals_one: "{{count}} موافقة معلقة",
3378
+ badgeApprovals_two: "موافقتان معلقتان ({{count}})",
3379
+ badgeApprovals_few: "{{count}} موافقات معلقة",
3380
+ badgeApprovals_many: "{{count}} موافقة معلقة",
3381
+ badgeApprovals_other: "{{count}} موافقة معلقة",
3215
3382
  arrivalMany: "{{count}} رسائل جديدة",
3216
3383
  arrivalMany_zero: "{{count}} رسالة جديدة",
3217
3384
  arrivalMany_one: "{{count}} رسالة جديدة",
@@ -3264,10 +3431,10 @@ const ar = {
3264
3431
  body: 'واجهة MCP متوقفة (OS_MCP_SERVER_ENABLED=false). اطلب من المشغّل إعادة تفعيلها.',
3265
3432
  },
3266
3433
  url: {
3267
- title: 'نقطة نهاية MCP لهذه البيئة',
3434
+ title: 'نقطة نهاية MCP لهذا النظام',
3268
3435
  body: 'أي عميل ذكاء اصطناعي يدعم MCP يتصل عبر هذا العنوان. الهوية ذاتية الخدمة: النشر هو خادم تفويض OAuth 2.1 الخاص به — تسجّل الدخول بهويتك، وكل استدعاء يخضع لصلاحياتك وأمان مستوى الصفوف.',
3269
3436
  downloadSkill: 'تنزيل SKILL.md',
3270
- skillHint: 'مهارة الوكيل المحمولة: تعلّم أي وكيل داعم للمهارات كيفية العمل مع هذه البيئة.',
3437
+ skillHint: 'مهارة الوكيل المحمولة: تعلّم أي وكيل داعم للمهارات كيفية العمل مع هذا النظام.',
3271
3438
  },
3272
3439
  claude: {
3273
3440
  body: 'الإعدادات ← الموصلات ← إضافة موصل مخصص، الصق هذا العنوان وسجّل الدخول عبر المتصفح.',
@@ -3314,15 +3481,8 @@ const ar = {
3314
3481
  importAction: "استيراد",
3315
3482
  dismiss: "تجاهل",
3316
3483
  },
3317
- cloudOnboarding: {
3318
- hintCreate: "أنشئ بيئتك الأولى — مساحة عمل خاصة لها رابطها وقاعدة بياناتها وخطتها. يجري بناء التطبيقات داخلها.",
3319
- hintReady: "بيئة الإنتاج جاهزة. افتحها لبناء تطبيقاتك وتشغيلها — كل ذلك يحدث داخل البيئة.",
3320
- createEnvironment: "أنشئ بيئتك",
3321
- openProduction: "فتح بيئة الإنتاج",
3322
- manageEnvironments: "إدارة البيئات",
3323
- },
3324
- cloudPlanStatus: {
3325
- current: "الخطة الحالية",
3484
+ cloudWorkspaceTimezoneNotice: {
3485
+ seeded: "تم تعيين المنطقة الزمنية للبيئة إلى {{zone}} وفقًا لمتصفحك عند إنشائها. يمكنك تغييرها من الإعدادات → التوطين.",
3326
3486
  },
3327
3487
  ai: {
3328
3488
  nlQuery: {
@@ -3407,8 +3567,8 @@ const ar = {
3407
3567
  rowConversational: "نموذج Build / Ask",
3408
3568
  rowStructured: "مُهيكل (blueprint / seed)",
3409
3569
  rowReasoning: "مستوى الاستدلال",
3410
- readFailed: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال. قد لا تُشغّل هذه البيئة خدمة ذكاء اصطناعي، أو قد لا تملك صلاحية ai:read.",
3411
- readFailedWithStatus: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال (HTTP {{status}}). قد لا تُشغّل هذه البيئة خدمة ذكاء اصطناعي، أو قد لا تملك صلاحية ai:read.",
3570
+ readFailed: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال. قد لا يُشغّل هذا النظام خدمة ذكاء اصطناعي، أو قد لا تملك صلاحية ai:read.",
3571
+ readFailedWithStatus: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال (HTTP {{status}}). قد لا يُشغّل هذا النظام خدمة ذكاء اصطناعي، أو قد لا تملك صلاحية ai:read.",
3412
3572
  overridesInEffect: "التجاوزات السارية: ",
3413
3573
  noOverrides: "لا شيء — يجري تشغيل القيم الافتراضية للكود المنشور.",
3414
3574
  adapter: "المحوّل: ",
@@ -3426,9 +3586,13 @@ const ar = {
3426
3586
  // against). `humanizeToolName` looks each up as
3427
3587
  // `chatbot.tool.<tool_name>` and falls back to its English
3428
3588
  // title-caser for a custom / third-party tool, so a name
3429
- // missing here is degraded, never broken. The `en` values
3430
- // are deliberately EQUAL to what that title-caser produces:
3431
- // adding the key must not silently reword the English UI.
3589
+ // missing here is degraded, never broken. Every value, `en`
3590
+ // included, is a short sentence in the pack's language
3591
+ // saying what the step does (cloud#2927 Target 3, ruled
3592
+ // 「同意」; objectui#12724): never the tool id, and never
3593
+ // the title-caser's output for it, which is how the step
3594
+ // reads for a tool the pack has no entry for.
3595
+ // `toolLabels-locale-parity-7481` holds both.
3432
3596
  // `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
3433
3597
  // set for both surfaces (they used to carry separate
3434
3598
  // tables and disagreed on casing).
@@ -3446,42 +3610,48 @@ const ar = {
3446
3610
  // pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
3447
3611
  // against the registry instead of against its own hand-held list.
3448
3612
  chatbot: {
3613
+ answer: {
3614
+ showFull: 'عرض الإجابة كاملة',
3615
+ collapse: 'طي',
3616
+ expandTable: 'توسيع',
3617
+ exitExpandedTable: 'إغلاق',
3618
+ },
3449
3619
  tool: {
3450
- aggregate_data: "تجميع البيانات",
3451
- get_record: "جلب السجل",
3452
- query_data: "الاستعلام عن البيانات",
3453
- query_records: "الاستعلام عن السجلات",
3454
- search_knowledge: "البحث في قاعدة المعرفة",
3455
- visualize_data: "إنشاء رسم بياني",
3456
- add_field: "إضافة حقل",
3457
- apply_blueprint: "بناء التطبيق",
3458
- apply_edit: "تطبيق التغييرات",
3459
- create_metadata: "إنشاء بيانات وصفية",
3460
- create_object: "إنشاء كائن",
3461
- create_package: "إنشاء حزمة",
3462
- create_seed: "توليد بيانات تجريبية",
3463
- delete_field: "حذف حقل",
3464
- describe_metadata: "عرض البيانات الوصفية",
3465
- describe_object: "عرض بنية الكائن",
3466
- get_active_package: "جلب الحزمة النشطة",
3467
- get_authoring_rules: "قراءة قواعد التأليف",
3468
- get_metadata_schema: "جلب مخطط البيانات الوصفية",
3469
- get_package: "جلب الحزمة",
3470
- list_metadata: "سرد البيانات الوصفية",
3471
- list_objects: "سرد الكائنات",
3472
- list_packages: "سرد الحزم",
3473
- load_tools: "تحميل الأدوات",
3474
- modify_field: "تعديل حقل",
3475
- open_record: "فتح السجل",
3476
- propose_blueprint: "تصميم خطة التطبيق",
3477
- set_active_package: "تبديل الحزمة النشطة",
3478
- suggest_builder: "اقتراح طريقة البناء",
3479
- test_flow: "اختبار التدفق",
3480
- todo_write: "تدوين المهام",
3481
- toggle_flow: "تفعيل أو تعطيل التدفق",
3482
- update_metadata: "تحديث البيانات الوصفية",
3483
- validate_expression: "التحقق من التعبير",
3484
- verify_build: "التحقق من البناء",
3620
+ aggregate_data: "تجميع البيانات ذات الصلة",
3621
+ get_record: "قراءة هذا السجل",
3622
+ query_data: "الاستعلام عن البيانات المطلوبة",
3623
+ query_records: "البحث عن السجلات المطابقة",
3624
+ search_knowledge: "البحث في قاعدة المعرفة عن معلومات",
3625
+ visualize_data: "عرض البيانات في رسم بياني",
3626
+ add_field: "إضافة حقل إلى الكائن",
3627
+ apply_blueprint: "بناء التطبيق وفق الخطة",
3628
+ apply_edit: "تطبيق هذا التغيير",
3629
+ create_metadata: "إنشاء عنصر بيانات وصفية",
3630
+ create_object: "إنشاء كائن جديد",
3631
+ create_package: "إنشاء حزمة جديدة",
3632
+ create_seed: "توليد بيانات تجريبية للكائنات",
3633
+ delete_field: "حذف أحد الحقول",
3634
+ describe_metadata: "مراجعة البيانات الوصفية",
3635
+ describe_object: "مراجعة بنية الكائن",
3636
+ get_active_package: "التحقق من الحزمة النشطة",
3637
+ get_authoring_rules: "الاطلاع على قواعد التأليف",
3638
+ get_metadata_schema: "الاطلاع على تنسيق البيانات الوصفية",
3639
+ get_package: "مراجعة معلومات الحزمة",
3640
+ list_metadata: "سرد البيانات الوصفية الموجودة",
3641
+ list_objects: "سرد الكائنات الموجودة",
3642
+ list_packages: "سرد الحزم الموجودة",
3643
+ load_tools: "تحميل أدوات إضافية",
3644
+ modify_field: "تعديل أحد الحقول",
3645
+ open_record: "فتح هذا السجل",
3646
+ propose_blueprint: "صياغة خطة التطبيق",
3647
+ set_active_package: "الانتقال إلى الحزمة المطلوبة",
3648
+ suggest_builder: "اقتراح البناء بالذكاء الاصطناعي",
3649
+ test_flow: "تشغيل تجريبي للتدفق",
3650
+ todo_write: "تدوين ما يجب التحقق منه لاحقًا",
3651
+ toggle_flow: "تشغيل التدفق أو إيقافه",
3652
+ update_metadata: "تحديث عنصر بيانات وصفية",
3653
+ validate_expression: "التحقق من صحة التعبير",
3654
+ verify_build: "مطابقة نتيجة البناء",
3485
3655
  },
3486
3656
  toolState: {
3487
3657
  agentActivity: "نشاط الوكيل",
@@ -3494,6 +3664,19 @@ const ar = {
3494
3664
  denied: "مرفوض",
3495
3665
  failed: "فشل",
3496
3666
  },
3667
+ phase: {
3668
+ build: "الإنشاء",
3669
+ design: "تصميم الخطة",
3670
+ stepCount: "{{count}} خطوات",
3671
+ stepCount_zero: "{{count}} خطوة",
3672
+ stepCount_one: "{{count}} خطوة",
3673
+ stepCount_two: "خطوتان ({{count}})",
3674
+ stepCount_few: "{{count}} خطوات",
3675
+ stepCount_many: "{{count}} خطوة",
3676
+ stepCount_other: "{{count}} خطوة",
3677
+ expand: "إظهار الخطوات",
3678
+ collapse: "إخفاء الخطوات",
3679
+ },
3497
3680
  plan: {
3498
3681
  countObjects: "{{count}} كائنات",
3499
3682
  countObjects_zero: "{{count}} كائن",
@@ -3517,10 +3700,17 @@ const ar = {
3517
3700
  countDashboards_many: "{{count}} لوحة معلومات",
3518
3701
  countDashboards_other: "{{count}} لوحة معلومات",
3519
3702
  countSeedData: "بيانات تجريبية",
3703
+ extendTarget: "إضافة إلى التطبيق الحالي: {{app}}",
3704
+ awaitingConfirm: "بانتظار التأكيد",
3705
+ objectsAndFields: "الكائنات والحقول",
3706
+ views: "طرق العرض",
3707
+ suggestedField: "مقترح",
3708
+ nameField: "الاسم: {{field}}",
3520
3709
  },
3521
3710
  build: {
3522
3711
  building: "جارٍ إنشاء {{app}}…",
3523
3712
  built: "تم إنشاء {{app}}",
3713
+ builtAndLive: "تم الإنشاء والنشر · {{app}}",
3524
3714
  appFallback: "تطبيقك",
3525
3715
  addingSampleData: "جارٍ إضافة بيانات تجريبية",
3526
3716
  group: {
@@ -3531,6 +3721,55 @@ const ar = {
3531
3721
  seed: "بيانات تجريبية",
3532
3722
  },
3533
3723
  moreArtifacts: "+{{n}} أخرى",
3724
+ verifying: "جارٍ التحقق من التغيير…",
3725
+ verifyStep: "الخطوة {{n}}",
3726
+ verified: "تم التحقق من التغيير",
3727
+ unknownPhase: "مرحلة إنشاء غير معروفة",
3728
+ nextStepsLead: "بعد ذلك يمكنك أن تقول: {{steps}}",
3729
+ nextStepQuote: "«{{step}}»",
3730
+ draftPosture: "تُحفظ التغييرات اللاحقة كمسودات، وأنت من ينشرها في Studio.",
3731
+ checksPassed: "اجتازت الفحوصات {{passed}}/{{total}}",
3732
+ },
3733
+ changes: {
3734
+ planTitle: "خطة التغييرات · {{count}} تغييرات",
3735
+ planTitle_zero: "خطة التغييرات · {{count}} تغيير",
3736
+ planTitle_one: "خطة التغييرات · {{count}} تغيير",
3737
+ planTitle_two: "خطة التغييرات · تغييران ({{count}})",
3738
+ planTitle_few: "خطة التغييرات · {{count}} تغييرات",
3739
+ planTitle_many: "خطة التغييرات · {{count}} تغييرًا",
3740
+ planTitle_other: "خطة التغييرات · {{count}} تغيير",
3741
+ saveDraft: "حفظ كمسودة",
3742
+ reviewAndPublish: "مراجعة التغييرات ونشرها",
3743
+ undo: "تراجع",
3744
+ undoWithOthers: "تراجع (مع {{count}} مسودات أخرى)",
3745
+ undoWithOthers_zero: "تراجع (مع {{count}} مسودة أخرى)",
3746
+ undoWithOthers_one: "تراجع (مع {{count}} مسودة أخرى)",
3747
+ undoWithOthers_two: "تراجع (مع مسودتين أخريين: {{count}})",
3748
+ undoWithOthers_few: "تراجع (مع {{count}} مسودات أخرى)",
3749
+ undoWithOthers_many: "تراجع (مع {{count}} مسودة أخرى)",
3750
+ undoWithOthers_other: "تراجع (مع {{count}} مسودة أخرى)",
3751
+ undoConfirm: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
3752
+ undoConfirm_zero: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
3753
+ undoConfirm_one: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
3754
+ undoConfirm_two: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
3755
+ undoConfirm_few: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
3756
+ undoConfirm_many: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
3757
+ undoConfirm_other: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
3758
+ undoConfirmUnknown: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة، وليس هذا التغيير فقط.",
3759
+ undoConfirmAction: "تراجع عن الكل",
3760
+ undoCancel: "إلغاء",
3761
+ undoing: "جارٍ التراجع…",
3762
+ undone: "تم التراجع",
3763
+ undoFailed: "تعذّر التراجع",
3764
+ kind: {
3765
+ field: "حقل",
3766
+ object: "كائن",
3767
+ view: "طريقة عرض",
3768
+ dashboard: "لوحة معلومات",
3769
+ app: "تطبيق",
3770
+ seed: "بيانات تجريبية",
3771
+ package: "حزمة التطبيق",
3772
+ },
3534
3773
  },
3535
3774
  },
3536
3775
  chatbotError: {
@@ -3546,10 +3785,13 @@ const ar = {
3546
3785
  buyCredits: "شراء باقة أرصدة",
3547
3786
  upgradePlan: "ترقية الخطة",
3548
3787
  },
3788
+ planTier: {
3789
+ teamAndUp: "خطة Team وما فوقها",
3790
+ },
3549
3791
  environment: {
3550
- addEnvironment: "إضافة بيئة",
3551
3792
  setUpProduction: "إعداد بيئة الإنتاج",
3552
3793
  addDevelopment: "إضافة بيئة تطوير",
3794
+ developmentLocked: "بيئات التطوير · {{tier}}",
3553
3795
  // Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
3554
3796
  entitlement: {
3555
3797
  productionLimitTitle: "لديك بالفعل بيئة الإنتاج الخاصة بك",
@@ -3597,7 +3839,7 @@ const ar = {
3597
3839
  },
3598
3840
  unbound: {
3599
3841
  title: "غير متصل",
3600
- body: "اربط بيئة التشغيل هذه بمستوى تحكم ObjectStack لتصفّح الحزم الخاصة بمؤسستك وتثبيتها هنا. الموافقة بنقرة واحدة في حسابك السحابي — دون إدخال أي معرّفات أو بيانات اعتماد في هذه الصفحة.",
3842
+ body: "بيئة التشغيل هذه غير متصلة بأي مستوى تحكم. يفتح «اتصال» حسابك السحابي في نافذة جديدة، حيث تتم الموافقة على الربط بنقرة واحدة — دون إدخال أي معرّفات أو بيانات اعتماد في هذه الصفحة.",
3601
3843
  connect: "اتصال",
3602
3844
  },
3603
3845
  },
@@ -3610,6 +3852,13 @@ const ar = {
3610
3852
  dismiss: "تجاهل",
3611
3853
  confirmedToast: "تم الآن منح «{{set}}» إلى {{anchor}}.",
3612
3854
  dismissedToast: "تم تجاهل اقتراح «{{set}}».",
3855
+ guestUnsupported: "لا يمكن المنح هنا: لا تُشتق مجموعات موضع Guest من الاقتراحات المقبولة.",
3856
+ acceptedState: "تم قبول «{{set}}» لجميع المستخدمين المسجّلين (موضع Everyone).",
3857
+ notInForceState: "تم قبول «{{set}}»، لكنه لم يسرِ بعد: لم يتغير موضع Everyone في هذا الطلب. يوضّح سجل الخادم السبب.",
3858
+ dismissedState: "«{{set}}» غير ممنوح: تم تجاهل الاقتراح أو إلغاؤه.",
3859
+ revoke: "إلغاء",
3860
+ revoking: "جارٍ الإلغاء…",
3861
+ revokedToast: "تم إلغاء قبول «{{set}}».",
3613
3862
  },
3614
3863
  title: "سوق التطبيقات",
3615
3864
  subtitle: "استعرض التطبيقات المعتمدة المنشورة في كتالوج ObjectStack. انقر على تطبيق لرؤية التفاصيل وتثبيته في أحد بيئاتك.",
@@ -3623,21 +3872,26 @@ const ar = {
3623
3872
  noMatchFilters: "لا توجد تطبيقات تطابق الفلاتر.",
3624
3873
  noDescription: "لا وصف متاح.",
3625
3874
  back: "العودة إلى السوق",
3626
- installedTitle: "التطبيقات المثبتة",
3627
- installedSubtitle: "حزم السوق المثبتة حالياً في نواة هذا الوقت التشغيل.",
3628
- installedEmpty: "لا توجد تطبيقات سوق مثبتة في هذا الوقت التشغيل بعد.",
3629
3875
  browseLink: "استعراض السوق →",
3630
- installedAdditiveNote: "<strong>ملاحظة:</strong> واجهة برمجة النواة إضافية فقط — إلغاء التثبيت يزيل المانيفست من القرص لكي لا يتم تحميل الحزمة عند التشغيل التالي، لكن النواة الجارية تبقي التطبيق مسجلاً حتى إعادة التشغيل.",
3631
- installedAt: "تم التثبيت {{when}}",
3632
- installedBy: "بواسطة {{user}}",
3633
- installedPackageId: "الحزمة",
3634
- cachedAs: "مخزن مؤقتاً كـ <code>{{path}}</code>",
3876
+ installedAdditiveNote: "يزيل إلغاء التثبيت التطبيق من النواة الجارية فوراً، ومعه مجموعات الأذونات الخاصة به وتعييناتها، ويحذف المانيفست المخزن مؤقتاً لكي لا يتم تحميل الحزمة عند التشغيل التالي. تبقى السجلات المخزنة في كائناته في قاعدة البيانات.",
3635
3877
  versionBadge: "v{{version}}",
3636
3878
  installedBadge: "مثبت v{{version}}",
3879
+ // objectui#11645 — an install-local entry this runtime refused to load at
3880
+ // startup (the listing's `notLoaded` marker), read on Installed Apps.
3881
+ notLoaded: {
3882
+ badge: "غير محمّل",
3883
+ protocolIncompatible: "لم يقم وقت التشغيل هذا بتحميل هذه الحزمة: فهي تستهدف البروتوكول {{requiredRange}}، وهو بروتوكول لا يدعمه وقت التشغيل هذا.",
3884
+ otherReason: "لم يقم وقت التشغيل هذا بتحميل هذه الحزمة ({{code}}).",
3885
+ },
3637
3886
  load: {
3638
3887
  failed: "تعذر تحميل السوق",
3639
3888
  failedHintConfigured: "يصل وقت التشغيل هذا إلى السوق عبر مستوى التحكم على {{url}}. تحقق من أنه متصل بالإنترنت ويمكن الوصول إليه من هنا.",
3640
- failedHintSameOrigin: "يقدّم وقت التشغيل هذا كتالوج السوق بنفسه. تأكد من أن وقت التشغيل متصل بالإنترنت.",
3889
+ failedHintSameOrigin: "يتم الوصول إلى كتالوج السوق عبر وقت التشغيل هذا. تأكد من أن وقت التشغيل متصل بالإنترنت ويمكنه الوصول إلى الكتالوج.",
3890
+ loading: "جارٍ تحميل كتالوج السوق…",
3891
+ slow: "لا يزال التحميل جاريًا — كتالوج السوق بطيء في الاستجابة.",
3892
+ retry: "إعادة المحاولة",
3893
+ unreachable: "تعذر الوصول إلى كتالوج السوق.",
3894
+ answeredError: "استجاب كتالوج السوق بخطأ (HTTP {{status}}).",
3641
3895
  packageFailed: "تعذر تحميل الحزمة",
3642
3896
  notFound: "غير موجود.",
3643
3897
  },
@@ -3687,6 +3941,7 @@ const ar = {
3687
3941
  working: "جارٍ المعالجة…",
3688
3942
  installToCloud: "تثبيت في السحابة…",
3689
3943
  installing: "جارٍ التثبيت…",
3944
+ updating: "جارٍ التحديث…",
3690
3945
  uninstall: "إلغاء التثبيت",
3691
3946
  uninstalling: "جارٍ إلغاء التثبيت…",
3692
3947
  details: "التفاصيل",
@@ -3704,15 +3959,45 @@ const ar = {
3704
3959
  environmentPlaceholder: "تحديد بيئة",
3705
3960
  includeSampleData: "تضمين بيانات نموذجية",
3706
3961
  noEnvs: "لم يتم العثور على بيئات في مؤسستك النشطة.",
3707
- noPermission: "ليس لديك إذن لتثبيت التطبيقات. فقط مالكو المؤسسة والمشرفون يمكنهم التثبيت.",
3962
+ noPermission: "ليس لديك إذن لتثبيت التطبيقات. فقط مالكو المؤسسة والمشرفون يمكنهم التثبيت — تواصل مع مشرف مؤسستك.",
3708
3963
  signInFirst: "يجب عليك أولاً تسجيل الدخول إلى ObjectStack Cloud.",
3709
3964
  success: "تم التثبيت بنجاح. افتح البيئة لرؤية التطبيق الجديد.",
3710
3965
  localSuccess: "تم تثبيت v{{version}} في هذا الوقت التشغيل. يجب أن يظهر \"{{name}}\" الآن في مبدّل التطبيقات.",
3966
+ localLoadsAtRestart: "تم تثبيت v{{version}} في وقت التشغيل هذا. سيُحمَّل \"{{name}}\" عند إعادة التشغيل التالية لوقت التشغيل، ولن يظهر في مبدّل التطبيقات قبل ذلك.",
3711
3967
  localManifestConflict: "{{message}}\nملاحظة: تطبيق محلي يمتلك بالفعل هذا المعرف. أزله أولاً من objectstack.config.ts.",
3712
3968
  localUnauthorized: "سجل الدخول إلى هذا الوقت التشغيل أولاً.",
3713
3969
  localMarketplaceUnavailable: "هذا الوقت التشغيل لا يحتوي على OS_CLOUD_URL مُهيأ.",
3714
3970
  updateTo: "تحديث → v{{version}}",
3715
3971
  installedVersion: "مثبت v{{version}}",
3972
+ deploying: "جارٍ نشر التطبيق…",
3973
+ deployed: "تم نشر التطبيق وهو جاهز.",
3974
+ openApp: "فتح {{name}}",
3975
+ deployTimeout: "تم تسجيل التثبيت، لكن هذه البيئة لا تقدّم التطبيق بعد. قد يكون النشر لا يزال جاريًا — تحقّق مرة أخرى بعد قليل. إذا لم يظهر أبدًا، فربما لم تُحمَّل الحزمة، أو لا تتضمن أي تطبيق، أو يتطلب تطبيقها إذنًا لا تملكه.",
3976
+ checkAgain: "تحقّق مرة أخرى",
3977
+ // ADR-0131 D6 — the install modes a package's manifest permits, and
3978
+ // what an unmanaged install answers (MarketplacePackagePage).
3979
+ mode: {
3980
+ label: "طريقة التثبيت",
3981
+ managed: "مُدار",
3982
+ managedHint: "تبقى الحزمة هي المرجع: تُسجَّل كتعليمات برمجية وتتلقى ترقياتها، ولا تُحرَّر عناصرها هنا.",
3983
+ unmanaged: "نسخة غير مُدارة",
3984
+ unmanagedHint: "تُنسخ مرة واحدة إلى وقت التشغيل هذا كبيانات وصفية خاصة به: كل عنصر قابل للتحرير هنا، ولا تتلقى النسخة أي ترقية.",
3985
+ required: "اختر طريقة التثبيت لتثبيت هذه الحزمة.",
3986
+ },
3987
+ unmanagedSuccess: "تم نسخ v{{version}} من \"{{name}}\" إلى وقت التشغيل هذا كبيانات وصفية خاصة به، في القاعدة {{base}}. النسخة قابلة للتحرير ولا تتلقى أي ترقية.",
3988
+ unmanagedStrippedLocks: "كانت الحزمة تقفل هذه العناصر. النسخة قابلة للتحرير، لذلك لم تُنسخ أقفالها:",
3989
+ unmanagedIgnored: "لا يدعم وقت التشغيل هذا التثبيت غير المُدار، لذلك ثُبّت \"{{name}}\" كحزمة مُدارة (مسجّلة كتعليمات برمجية) بدلاً من نسخه. رقِّ وقت التشغيل، ثم ألغِ تثبيت الحزمة وثبّتها مرة أخرى كنسخة غير مُدارة.",
3990
+ },
3991
+ // objectui#12146 — the install dialog opened as an UPDATE of the copy
3992
+ // this environment holds (MarketplacePackagePage).
3993
+ update: {
3994
+ dialogTitle: "تحديث {{name}}",
3995
+ dialogDescCurrent: "تحديث النسخة المثبتة في هذه البيئة ({{host}}).",
3996
+ dialogDescPicker: "اختر البيئة التي تريد تحديث النسخة المثبتة فيها. يجب أن تكون مسجلاً في ObjectStack Cloud.",
3997
+ majorNotice: "هذا تحديث إلى إصدار رئيسي جديد (v{{fromMajor}} → v{{toMajor}})، وقد يتضمن تغييرات غير متوافقة.",
3998
+ releaseNotes: "اقرأ ملاحظات الإصدار v{{version}}",
3999
+ success: "تم التحديث إلى v{{version}}.",
4000
+ deployTimeout: "تم تسجيل التحديث، لكن هذه البيئة لا تقدّم v{{version}} بعد. قد يكون النشر لا يزال جاريًا — تحقّق مرة أخرى بعد قليل.",
3716
4001
  },
3717
4002
  // objectui#3546 — the MarketplacePage "Your organization" strip.
3718
4003
  org: {
@@ -3745,9 +4030,11 @@ const ar = {
3745
4030
  },
3746
4031
  },
3747
4032
  uninstall: {
3748
- confirm: "إلغاء تثبيت {{manifestId}} v{{version}} من هذا الوقت التشغيل؟\n\nسيتم إزالة المانيفست المخزن مؤقتاً.",
3749
- successInList: "تم إزالة {{manifestId}}. أعد تشغيل الوقت التشغيل لتفريغه بالكامل.",
3750
- successInDetail: "تم إزالة المانيفست المخزن مؤقتاً لـ {{manifestId}}.",
4033
+ confirm: "إلغاء تثبيت {{manifestId}} v{{version}} من وقت التشغيل هذا؟\n\nستتم إزالة التطبيق من النواة الجارية فوراً، ومعه مجموعات الأذونات الخاصة به وتعييناتها، وستتم إزالة المانيفست المخزن مؤقتاً. تبقى السجلات المخزنة في كائناته في قاعدة البيانات.",
4034
+ successInList: "تمت إزالة {{manifestId}}: خرج التطبيق من النواة الجارية، ومعه مجموعات الأذونات الخاصة به وتعييناتها. تبقى السجلات المخزنة في كائناته في قاعدة البيانات.",
4035
+ successInDetail: "تمت إزالة {{manifestId}} والمانيفست المخزن مؤقتاً الخاص به: خرج التطبيق من النواة الجارية، ومعه مجموعات الأذونات الخاصة به وتعييناتها. تبقى السجلات المخزنة في كائناته في قاعدة البيانات.",
4036
+ confirmNotLoaded: "إلغاء تثبيت {{manifestId}} v{{version}} من وقت التشغيل هذا؟\n\nسيتم إزالة المانيفست المخزن مؤقتاً. لم يقم وقت التشغيل هذا بتحميل الحزمة، لذا لا يعمل أي جزء منها.",
4037
+ successNotLoaded: "تمت إزالة {{manifestId}}. لم تكن الحزمة محمّلة، لذا لا حاجة لإعادة التشغيل.",
3751
4038
  },
3752
4039
  accessDenied: {
3753
4040
  title: "سوق التطبيقات للمشرفين فقط",
@@ -3839,6 +4126,7 @@ const ar = {
3839
4126
  progressEligible_other: '{{count}} معتمِد مؤهل',
3840
4127
  progressBar: 'تقدم القرار',
3841
4128
  declaredActions: 'الإجراءات',
4129
+ decisionPanelOffRequestPage: 'لوحة قرار الموافقة تعمل فقط في صفحات طلبات الموافقة.',
3842
4130
  attachmentChip: 'مرفق',
3843
4131
  attachmentOpenFailed: 'تعذّر فتح المرفق — يرجى المحاولة مرة أخرى',
3844
4132
  approveOneTitle: 'الموافقة على "{{title}}"؟',
@@ -3908,6 +4196,13 @@ const ar = {
3908
4196
  emptyPending: 'كل شيء منجز — لا يوجد ما ينتظر موافقتك.',
3909
4197
  emptyOther: 'لا يوجد شيء هنا بعد.',
3910
4198
  emptyViewAll: 'عرض كل الطلبات',
4199
+ waitingOnOthers: "{{count}} طلب ينتظر موافقين آخرين",
4200
+ waitingOnOthers_zero: "{{count}} طلب ينتظر موافقين آخرين",
4201
+ waitingOnOthers_one: "طلب واحد ({{count}}) ينتظر موافقين آخرين",
4202
+ waitingOnOthers_two: "طلبان ({{count}}) ينتظران موافقين آخرين",
4203
+ waitingOnOthers_few: "{{count}} طلبات تنتظر موافقين آخرين",
4204
+ waitingOnOthers_many: "{{count}} طلبًا ينتظر موافقين آخرين",
4205
+ waitingOnOthers_other: "{{count}} طلب ينتظر موافقين آخرين",
3911
4206
  noMatches: 'لا نتائج مطابقة للمرشحات الحالية.',
3912
4207
  keyboardHint: 'لوحة المفاتيح: j/k تنقل · Enter فتح · x تحديد · a موافقة · r رفض',
3913
4208
  drawerTitle: 'طلب موافقة',
@@ -3925,12 +4220,12 @@ const ar = {
3925
4220
  overrideActionLabel: '{{action}} (تجاوز إداري)',
3926
4221
  overrideNotice: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تُنهى الخطوة فورًا ويُتخطّى كل موافِق لم يتصرف بعد. يُسجَّل القرار بوصفه تجاوزًا إداريًا.',
3927
4222
  overrideNoticeWho: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تُنهى الخطوة فورًا ويُتخطّى الموافقون الذين لم يتصرفوا بعد — {{who}}. يُسجَّل القرار بوصفه تجاوزًا إداريًا.',
4223
+ overrideReassignNotice: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تنتقل الخطوة إلى الموافق الجديد الذي تختاره، ويحلّ محلّ كل موافِق لم يتصرف بعد. يبقى الطلب قيد الانتظار وينتظر الموافق الجديد. تُسجَّل إعادة الإسناد بوصفها تجاوزًا إداريًا.',
4224
+ overrideReassignNoticeWho: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تنتقل الخطوة إلى الموافق الجديد الذي تختاره، ويحلّ محلّ الموافقين الذين لم يتصرفوا بعد — {{who}}. يبقى الطلب قيد الانتظار وينتظر الموافق الجديد. تُسجَّل إعادة الإسناد بوصفها تجاوزًا إداريًا.',
4225
+ overrideRecallNotice: 'لم تقدم هذا الطلب. المتابعة تستخدم تجاوزك الإداري: يُسحب الطلب، ولن يتمكن أي موافِق لم يتصرف بعد من التصرف فيه، ويُفتح قفل السجل.',
4226
+ overrideRecallNoticeWho: 'لم تقدم هذا الطلب. المتابعة تستخدم تجاوزك الإداري: يُسحب الطلب، ويُفتح قفل السجل، ولن يتمكن الموافقون الذين لم يتصرفوا بعد من التصرف فيه — {{who}}.',
3928
4227
  viaOverrideChip: 'تجاوز إداري',
3929
4228
  viaOverrideHint: 'لم يكن للمنفِّذ موقع موافِق في هذه الخطوة — سُمح له عبر مسار التجاوز الإداري.',
3930
- rawData: 'البيانات الخام (JSON)',
3931
- copy: 'نسخ',
3932
- copied: 'تم النسخ',
3933
- copyFailed: 'فشل النسخ',
3934
4229
  overrideActor: 'التصرف بهوية أخرى (مسؤول)',
3935
4230
  actor: 'الهوية',
3936
4231
  auto: 'تلقائي',
@@ -4040,6 +4335,13 @@ const ar = {
4040
4335
  publishing: 'جارٍ النشر…',
4041
4336
  exit: 'إنهاء المعاينة',
4042
4337
  changes: 'التغييرات',
4338
+ pendingHere: 'معاينة المسودة · {{count}} تغيير غير منشور في هذه الصفحة',
4339
+ pendingHere_zero: 'معاينة المسودة · {{count}} تغيير غير منشور في هذه الصفحة',
4340
+ pendingHere_one: 'معاينة المسودة · تغيير واحد غير منشور في هذه الصفحة ({{count}})',
4341
+ pendingHere_two: 'معاينة المسودة · تغييران غير منشورين في هذه الصفحة ({{count}})',
4342
+ pendingHere_few: 'معاينة المسودة · {{count}} تغييرات غير منشورة في هذه الصفحة',
4343
+ pendingHere_many: 'معاينة المسودة · {{count}} تغييرًا غير منشور في هذه الصفحة',
4344
+ pendingHere_other: 'معاينة المسودة · {{count}} تغيير غير منشور في هذه الصفحة',
4043
4345
  },
4044
4346
  changes: {
4045
4347
  title: 'التغييرات المعلّقة',
@@ -4060,7 +4362,113 @@ const ar = {
4060
4362
  confirmNote_few: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
4061
4363
  confirmNote_many: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
4062
4364
  confirmNote_other: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
4365
+ // objectui#11591 — the package-less sheet: no package to batch, so each
4366
+ // draft publishes by itself and one that fails stays pending.
4367
+ confirmNoteSeparate: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
4368
+ confirmNoteSeparate_zero: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
4369
+ confirmNoteSeparate_one: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
4370
+ confirmNoteSeparate_two: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
4371
+ confirmNoteSeparate_few: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
4372
+ confirmNoteSeparate_many: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
4373
+ confirmNoteSeparate_other: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
4063
4374
  publishConfirm: 'نشر الكل',
4375
+ summaryItems: '{{count}} عنصر',
4376
+ summaryItems_zero: '{{count}} عنصر',
4377
+ summaryItems_one: 'عنصر واحد ({{count}})',
4378
+ summaryItems_two: 'عنصران ({{count}})',
4379
+ summaryItems_few: '{{count}} عناصر',
4380
+ summaryItems_many: '{{count}} عنصرًا',
4381
+ summaryItems_other: '{{count}} عنصر',
4382
+ summaryType: '{{type}} {{n}}',
4383
+ typeCount: {
4384
+ object: 'كائنات {{count}}',
4385
+ object_zero: 'كائنات {{count}}',
4386
+ object_one: 'كائن {{count}}',
4387
+ object_two: 'كائنات {{count}}',
4388
+ object_few: 'كائنات {{count}}',
4389
+ object_many: 'كائنات {{count}}',
4390
+ object_other: 'كائنات {{count}}',
4391
+ view: 'طرق عرض {{count}}',
4392
+ view_zero: 'طرق عرض {{count}}',
4393
+ view_one: 'عرض {{count}}',
4394
+ view_two: 'طرق عرض {{count}}',
4395
+ view_few: 'طرق عرض {{count}}',
4396
+ view_many: 'طرق عرض {{count}}',
4397
+ view_other: 'طرق عرض {{count}}',
4398
+ page: 'صفحات {{count}}',
4399
+ page_zero: 'صفحات {{count}}',
4400
+ page_one: 'صفحة {{count}}',
4401
+ page_two: 'صفحات {{count}}',
4402
+ page_few: 'صفحات {{count}}',
4403
+ page_many: 'صفحات {{count}}',
4404
+ page_other: 'صفحات {{count}}',
4405
+ dashboard: 'لوحات معلومات {{count}}',
4406
+ dashboard_zero: 'لوحات معلومات {{count}}',
4407
+ dashboard_one: 'لوحة معلومات {{count}}',
4408
+ dashboard_two: 'لوحات معلومات {{count}}',
4409
+ dashboard_few: 'لوحات معلومات {{count}}',
4410
+ dashboard_many: 'لوحات معلومات {{count}}',
4411
+ dashboard_other: 'لوحات معلومات {{count}}',
4412
+ app: 'تطبيقات {{count}}',
4413
+ app_zero: 'تطبيقات {{count}}',
4414
+ app_one: 'تطبيق {{count}}',
4415
+ app_two: 'تطبيقات {{count}}',
4416
+ app_few: 'تطبيقات {{count}}',
4417
+ app_many: 'تطبيقات {{count}}',
4418
+ app_other: 'تطبيقات {{count}}',
4419
+ action: 'إجراءات {{count}}',
4420
+ action_zero: 'إجراءات {{count}}',
4421
+ action_one: 'إجراء {{count}}',
4422
+ action_two: 'إجراءات {{count}}',
4423
+ action_few: 'إجراءات {{count}}',
4424
+ action_many: 'إجراءات {{count}}',
4425
+ action_other: 'إجراءات {{count}}',
4426
+ report: 'تقارير {{count}}',
4427
+ report_zero: 'تقارير {{count}}',
4428
+ report_one: 'تقرير {{count}}',
4429
+ report_two: 'تقارير {{count}}',
4430
+ report_few: 'تقارير {{count}}',
4431
+ report_many: 'تقارير {{count}}',
4432
+ report_other: 'تقارير {{count}}',
4433
+ flow: 'تدفقات {{count}}',
4434
+ flow_zero: 'تدفقات {{count}}',
4435
+ flow_one: 'تدفق {{count}}',
4436
+ flow_two: 'تدفقات {{count}}',
4437
+ flow_few: 'تدفقات {{count}}',
4438
+ flow_many: 'تدفقات {{count}}',
4439
+ flow_other: 'تدفقات {{count}}',
4440
+ permission: 'مجموعات أذونات {{count}}',
4441
+ permission_zero: 'مجموعات أذونات {{count}}',
4442
+ permission_one: 'مجموعة أذونات {{count}}',
4443
+ permission_two: 'مجموعات أذونات {{count}}',
4444
+ permission_few: 'مجموعات أذونات {{count}}',
4445
+ permission_many: 'مجموعات أذونات {{count}}',
4446
+ permission_other: 'مجموعات أذونات {{count}}',
4447
+ agent: 'وكلاء {{count}}',
4448
+ agent_zero: 'وكلاء {{count}}',
4449
+ agent_one: 'وكيل {{count}}',
4450
+ agent_two: 'وكلاء {{count}}',
4451
+ agent_few: 'وكلاء {{count}}',
4452
+ agent_many: 'وكلاء {{count}}',
4453
+ agent_other: 'وكلاء {{count}}',
4454
+ email_template: 'قوالب بريد إلكتروني {{count}}',
4455
+ email_template_zero: 'قوالب بريد إلكتروني {{count}}',
4456
+ email_template_one: 'قالب بريد إلكتروني {{count}}',
4457
+ email_template_two: 'قوالب بريد إلكتروني {{count}}',
4458
+ email_template_few: 'قوالب بريد إلكتروني {{count}}',
4459
+ email_template_many: 'قوالب بريد إلكتروني {{count}}',
4460
+ email_template_other: 'قوالب بريد إلكتروني {{count}}',
4461
+ },
4462
+ // objectui#12929 — the unchecked choice under an added object field whose
4463
+ // literal default the batch publish can write into the existing records.
4464
+ backfillOption: 'تعبئة القيمة الافتراضية — {{count}} سجل موجود',
4465
+ backfillOption_zero: 'تعبئة القيمة الافتراضية — {{count}} سجل موجود',
4466
+ backfillOption_one: 'تعبئة القيمة الافتراضية — سجل واحد موجود ({{count}})',
4467
+ backfillOption_two: 'تعبئة القيمة الافتراضية — سجلان موجودان ({{count}})',
4468
+ backfillOption_few: 'تعبئة القيمة الافتراضية — {{count}} سجلات موجودة',
4469
+ backfillOption_many: 'تعبئة القيمة الافتراضية — {{count}} سجلًا موجودًا',
4470
+ backfillOption_other: 'تعبئة القيمة الافتراضية — {{count}} سجل موجود',
4471
+ backfillOptionNoCount: 'تعبئة القيمة الافتراضية',
4064
4472
  // [`7a90afdf9`] Pre-publish security-posture findings, shown next to
4065
4473
  // the confirm button so a refusal the door would issue is read BEFORE
4066
4474
  // the click rather than as a toast after the batch rolled back.
@@ -4146,6 +4554,10 @@ const ar = {
4146
4554
  exists: "محدد",
4147
4555
  notExists: "غير محدد",
4148
4556
  },
4557
+ emptyCheckHint: {
4558
+ text: '"{{isEmpty}}" يطابق أيضًا النص الفارغ؛ "{{isNull}}" يطابق القيمة المفقودة فقط.',
4559
+ list: '"{{isEmpty}}" يطابق أيضًا القائمة الفارغة؛ "{{isNull}}" يطابق القيمة المفقودة فقط.',
4560
+ },
4149
4561
  },
4150
4562
  sortBuilder: {
4151
4563
  sortBy: "ترتيب حسب",
@@ -4289,6 +4701,8 @@ const ar = {
4289
4701
  setDefaultFailed: "فشل تعيين التطبيق الافتراضي: {{reason}}",
4290
4702
  appDeleted: "تم حذف {{name}}",
4291
4703
  deleteFailed: "فشل حذف التطبيق: {{reason}}",
4704
+ nothingToDelete: "لا يوجد ما يُحذف لـ {{name}}: {{reason}}",
4705
+ alreadyAtDefault: "إنه بالفعل على الإعداد الافتراضي لحزمته",
4292
4706
  bulkEnabled: "تم تفعيل {{n}} تطبيقات",
4293
4707
  bulkDisabled: "تم تعطيل {{n}} تطبيقات",
4294
4708
  bulkFailed: "فشل لـ {{n}}: {{details}}",
@@ -4313,6 +4727,7 @@ const ar = {
4313
4727
  toggleLabel: "تفعيل {{label}}",
4314
4728
  on: "مفعل",
4315
4729
  off: "إيقاف",
4730
+ notRunning: "لا يعمل هنا",
4316
4731
  clone: "استنساخ",
4317
4732
  cloneTitle: "استنساخ تدفق الحزمة",
4318
4733
  cloneBody: "تحتفظ النسخة بالتعريف كاملاً وتتطلب اسم آلة وتسمية جديدين. حرّر النسخة في Studio.",
@@ -4321,6 +4736,9 @@ const ar = {
4321
4736
  cancel: "إلغاء",
4322
4737
  cloneConfirm: "إنشاء نسخة",
4323
4738
  cloneCreated: "تم إنشاء التدفق «{{name}}».",
4739
+ cloneSwitchSourceOff: "إيقاف «{{label}}»",
4740
+ cloneSourceOff: "التدفق المضمّن «{{label}}» متوقف.",
4741
+ cloneOpen: "فتح النسخة في Studio",
4324
4742
  emptyTitle: "لا توجد تدفقات من الحزم",
4325
4743
  emptyBody: "لا توجد حزمة مثبّتة توفّر تدفق أتمتة في هذا النشر. التدفقات التي تنشئها بنفسك موجودة في Studio.",
4326
4744
  loadFailed: "تعذّر تحميل أتمتة الحزم.",
@@ -4328,6 +4746,7 @@ const ar = {
4328
4746
  toggleFailed: "تعذّر تغيير التفعيل.",
4329
4747
  cloneFailedHttp: "تعذّر استنساخ هذا التدفق (HTTP {{status}}).",
4330
4748
  cloneFailed: "تعذّر استنساخ هذا التدفق.",
4749
+ reasonDetails: "التفاصيل",
4331
4750
  actionsSubtitle: "إجراءات تأتي مع الحزم المثبّتة. أوقف أحدها في هذا النشر فيتوقف عن العمل في كل مكان يُعرض فيه. ويبقى بإمكانك إنشاء إجراء خاص بك إلى جانبه في Studio.",
4332
4751
  colAction: "الإجراء",
4333
4752
  colObject: "الكائن",
@@ -4338,7 +4757,84 @@ const ar = {
4338
4757
  },
4339
4758
  element: {
4340
4759
  number: {
4341
- noObject: "لم يُحدَّد أي كائن: عيّن object أو dataSource.object.",
4760
+ noObject: "لم يُحدَّد أي كائن: عيّن dataSource.object.",
4761
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا المقياس",
4762
+ },
4763
+ image: {
4764
+ noSource: "لا يوجد مصدر للصورة",
4765
+ },
4766
+ recordPicker: {
4767
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات منتقي السجلات هذا",
4768
+ },
4769
+ calendar: {
4770
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا التقويم",
4771
+ },
4772
+ chart: {
4773
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا المخطط",
4774
+ },
4775
+ pivotTable: {
4776
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا الجدول المحوري",
4777
+ },
4778
+ detailView: {
4779
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات عرض التفاصيل هذا",
4780
+ },
4781
+ relatedList: {
4782
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذه القائمة المرتبطة",
4783
+ parentUnreadable: "تعذّرت قراءة السجل الأصل لهذه القائمة المرتبطة",
4784
+ },
4785
+ form: {
4786
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا النموذج",
4787
+ },
4788
+ lineItems: {
4789
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات لوحة البنود هذه",
4790
+ },
4791
+ gantt: {
4792
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات مخطط جانت هذا",
4793
+ },
4794
+ grid: {
4795
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذه الشبكة",
4796
+ },
4797
+ board: {
4798
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذه اللوحة",
4799
+ },
4800
+ listView: {
4801
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات عرض القائمة هذا",
4802
+ },
4803
+ map: {
4804
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذه الخريطة",
4805
+ },
4806
+ timeline: {
4807
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا المخطط الزمني",
4808
+ },
4809
+ component: {
4810
+ sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا المكوّن",
4811
+ noDataSource: "لم يُحدَّد أي مصدر بيانات",
4812
+ apiRefused: "تم رفض مصدر بيانات API لهذا المكوّن",
4813
+ apiUnreadable: "تعذّرت قراءة مصدر بيانات API لهذا المكوّن",
4814
+ },
4815
+ metadataViewer: {
4816
+ missingKey: "{{key}} مفقود لهذا العرض.",
4817
+ loading: "جارٍ تحميل {{name}}…",
4818
+ loadFailed: "تعذّر تحميل {{name}}: {{message}}",
4819
+ notFound: "لم يُعثر على {{name}}.",
4820
+ stateMachine: "آلة الحالات",
4821
+ flow: "التدفق",
4822
+ permission: "الإذن",
4823
+ noStateMachine: "لا توجد آلة حالات على {{object}}.",
4824
+ noStateMachineNamed: "لا توجد آلة حالات باسم «{{name}}» على {{object}}.",
4825
+ lifecycle: "دورة حياة {{object}}",
4826
+ field: "الحقل {{field}}",
4827
+ initial: "البداية",
4828
+ final: "النهاية",
4829
+ steps: "الخطوات: {{count}}",
4830
+ noSteps: "لا توجد خطوات لعرضها.",
4831
+ untitledStep: "(خطوة)",
4832
+ hiddenSteps: "الخطوات التقنية المخفية: {{count}} · عيّن {{setting}} لعرضها كلها",
4833
+ objectAccess: "الوصول إلى الكائنات: {{count}}",
4834
+ noPermissions: "لم تُعلَن أي أذونات للكائنات.",
4835
+ object: "الكائن",
4836
+ unknownType: "نوع عرض بيانات وصفية غير معروف. المتوقع {{a}} أو {{b}} أو {{c}}.",
4837
+ unknownTypeNamed: "نوع عرض بيانات وصفية غير معروف «{{type}}». المتوقع {{a}} أو {{b}} أو {{c}}.",
4342
4838
  },
4343
4839
  },
4344
4840
  };