@object-ui/i18n 17.3.0 → 17.6.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.
- package/CHANGELOG.md +1929 -1
- package/README.md +41 -12
- package/dist/i18n.d.ts +1 -1
- package/dist/i18n.js +1 -2
- package/dist/index.d.ts +23 -21
- package/dist/index.js +31 -21
- package/dist/locales/ar.d.ts +638 -369
- package/dist/locales/ar.js +744 -424
- package/dist/locales/de.d.ts +638 -369
- package/dist/locales/de.js +759 -446
- package/dist/locales/en.d.ts +673 -404
- package/dist/locales/en.js +899 -406
- package/dist/locales/es.d.ts +638 -369
- package/dist/locales/es.js +739 -427
- package/dist/locales/fr.d.ts +638 -369
- package/dist/locales/fr.js +738 -423
- package/dist/locales/index.d.ts +6476 -3786
- package/dist/locales/index.js +20 -20
- package/dist/locales/ja.d.ts +638 -369
- package/dist/locales/ja.js +732 -417
- package/dist/locales/ko.d.ts +638 -369
- package/dist/locales/ko.js +736 -424
- package/dist/locales/pt.d.ts +638 -369
- package/dist/locales/pt.js +737 -425
- package/dist/locales/ru.d.ts +638 -369
- package/dist/locales/ru.js +750 -424
- package/dist/locales/zh.d.ts +672 -403
- package/dist/locales/zh.js +720 -403
- package/dist/pickLocalized.d.ts +58 -0
- package/dist/pickLocalized.js +115 -7
- package/dist/provider.d.ts +84 -2
- package/dist/provider.js +305 -31
- package/dist/useDisplayLocale.d.ts +49 -0
- package/dist/useDisplayLocale.js +55 -0
- package/dist/useObjectLabel.d.ts +94 -14
- package/dist/useObjectLabel.js +134 -21
- package/dist/useSafeTranslation.js +51 -3
- package/dist/utils/index.d.ts +4 -3
- package/dist/utils/index.js +4 -3
- package/dist/utils/number-display.d.ts +32 -0
- package/dist/utils/number-display.js +32 -0
- package/dist/utils/spec-formatters.d.ts +39 -13
- package/dist/utils/spec-formatters.js +3 -3
- package/package.json +4 -3
package/dist/locales/ar.js
CHANGED
|
@@ -1,4 +1,18 @@
|
|
|
1
1
|
const ar = {
|
|
2
|
+
// objectui#4467 — the impersonation banner (app-shell ImpersonationBanner).
|
|
3
|
+
// Raised by `session.impersonatedBy`, so it survives SPA reboots; it names
|
|
4
|
+
// BOTH parties because the audit trail attributes the work to the impersonated
|
|
5
|
+
// user, and the exit states its own failure rather than appearing to succeed.
|
|
6
|
+
impersonation: {
|
|
7
|
+
banner: {
|
|
8
|
+
message: 'أنت تنتحل هوية {{user}} — يُسجَّل كل إجراء باسمه.',
|
|
9
|
+
startedBy: 'بدأها المسؤول {{admin}}.',
|
|
10
|
+
stop: 'إنهاء انتحال الهوية',
|
|
11
|
+
stopping: 'جارٍ الإنهاء…',
|
|
12
|
+
stopFailed: 'تعذّر إنهاء انتحال الهوية: {{reason}}',
|
|
13
|
+
notRestored: 'قبل الخادم الطلب لكنه لم يستعد جلسة المسؤول — ما زلت تنتحل هوية {{user}}. سجّل الخروج ثم الدخول مرة أخرى لإنهائها.',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
2
16
|
// objectui#2600 B5 — capability picker scope group headers (labels come from the sys_capability registry).
|
|
3
17
|
capability: {
|
|
4
18
|
label: {
|
|
@@ -16,6 +30,30 @@ const ar = {
|
|
|
16
30
|
other: 'أخرى',
|
|
17
31
|
},
|
|
18
32
|
},
|
|
33
|
+
// objectui#3546 slice six — ملخص للقراءة فقط لأوجه التخويل الستة في
|
|
34
|
+
// PermissionFacetLink، مع رابط التصميم في Studio.
|
|
35
|
+
//
|
|
36
|
+
// صيغة العدد تتبع نمط الحزمة نفسه: «{{count}} مفرد(جمع)» كما في
|
|
37
|
+
// appDesigner.objectManager.fieldCount و table.modified. المفتاح الأساسي هو
|
|
38
|
+
// ما تلجأ إليه فئات two/few/many/zero غير المعرّفة، فيظل النص عربيًا.
|
|
39
|
+
// لا نعكس سهم روابط الإجراء: يبقى كما في en، مثل marketplace.browseLink.
|
|
40
|
+
perm: {
|
|
41
|
+
facet: {
|
|
42
|
+
none: "لا شيء",
|
|
43
|
+
more: "+{{count}} المزيد",
|
|
44
|
+
objects: "{{count}} كائن(كائنات)",
|
|
45
|
+
objects_one: "{{count}} كائن",
|
|
46
|
+
fields: "{{count}} قاعدة(قواعد) حقول",
|
|
47
|
+
fields_one: "{{count}} قاعدة حقول",
|
|
48
|
+
rls: "{{count}} سياسة(سياسات) RLS",
|
|
49
|
+
rls_one: "{{count}} سياسة RLS",
|
|
50
|
+
tabs: "{{count}} قاعدة(قواعد) تبويب",
|
|
51
|
+
tabs_one: "{{count}} قاعدة تبويب",
|
|
52
|
+
adminScope: "تم تكوين الإدارة المفوَّضة",
|
|
53
|
+
designInStudio: "التصميم في Studio →",
|
|
54
|
+
designInStudioHint: "التصميم في Studio",
|
|
55
|
+
},
|
|
56
|
+
},
|
|
19
57
|
lookup: {
|
|
20
58
|
recentlyUsed: 'المستخدمة مؤخرًا',
|
|
21
59
|
allResults: 'كل النتائج',
|
|
@@ -46,13 +84,13 @@ const ar = {
|
|
|
46
84
|
common: {
|
|
47
85
|
addToFavorites: "إضافة إلى المفضلة",
|
|
48
86
|
removeFromFavorites: "إزالة من المفضلة",
|
|
49
|
-
loading: "جاري
|
|
87
|
+
loading: "جاري التحميل…",
|
|
50
88
|
save: "حفظ",
|
|
89
|
+
discard: "تجاهل",
|
|
51
90
|
cancel: "إلغاء",
|
|
52
91
|
delete: "حذف",
|
|
53
92
|
edit: "تعديل",
|
|
54
93
|
create: "إنشاء",
|
|
55
|
-
search: "بحث",
|
|
56
94
|
filter: "تصفية",
|
|
57
95
|
reset: "إعادة تعيين",
|
|
58
96
|
confirm: "تأكيد",
|
|
@@ -76,7 +114,7 @@ const ar = {
|
|
|
76
114
|
required: "مطلوب",
|
|
77
115
|
optional: "اختياري",
|
|
78
116
|
selectOption: "اختر خياراً",
|
|
79
|
-
select: "
|
|
117
|
+
select: "اختر…",
|
|
80
118
|
openChat: "فتح المحادثة",
|
|
81
119
|
closeChat: "إغلاق المحادثة",
|
|
82
120
|
closePanel: "إغلاق اللوحة",
|
|
@@ -85,6 +123,11 @@ const ar = {
|
|
|
85
123
|
itemCountOne: "{{count}} عنصر",
|
|
86
124
|
toggleSidebar: "تبديل الشريط الجانبي",
|
|
87
125
|
package: "الحزمة",
|
|
126
|
+
done: "تم",
|
|
127
|
+
editInStudio: "التعديل في Studio",
|
|
128
|
+
record: "سجل",
|
|
129
|
+
retry: "إعادة المحاولة",
|
|
130
|
+
printDialogHint: "يفتح مربع حوار الطباعة في المتصفح (ليس تصديرًا إلى PDF)",
|
|
88
131
|
},
|
|
89
132
|
actions: {
|
|
90
133
|
decisionOutput: {
|
|
@@ -116,6 +159,9 @@ const ar = {
|
|
|
116
159
|
submitFailed: "تعذّر الحفظ. يرجى المحاولة مرة أخرى.",
|
|
117
160
|
discardTitle: "تجاهل التغييرات؟",
|
|
118
161
|
discardMessage: "لديك تغييرات غير محفوظة. إذا أغلقت هذا النموذج الآن، ستفقد تعديلاتك.",
|
|
162
|
+
// objectui#4024 — the create/edit dialog's `sr-only` accessible
|
|
163
|
+
// description, used when the form declares no `description` of its own.
|
|
164
|
+
dialogDescriptionFallback: "املأ حقول النموذج ثم أرسل أو ألغِ.",
|
|
119
165
|
keepEditing: "متابعة التحرير",
|
|
120
166
|
discard: "تجاهل",
|
|
121
167
|
conflictTitle: "تعارض في الحفظ",
|
|
@@ -184,7 +230,7 @@ const ar = {
|
|
|
184
230
|
richText: {
|
|
185
231
|
format: "التنسيق: {{format}}",
|
|
186
232
|
basicEditorHint: "محرر النص الغني (أساسي)",
|
|
187
|
-
placeholder: "اكتب
|
|
233
|
+
placeholder: "اكتب شيئاً…",
|
|
188
234
|
},
|
|
189
235
|
options: {
|
|
190
236
|
empty: "لا توجد خيارات متاحة",
|
|
@@ -220,6 +266,14 @@ const ar = {
|
|
|
220
266
|
tags: {
|
|
221
267
|
placeholder: "اكتب واضغط Enter للإضافة…",
|
|
222
268
|
},
|
|
269
|
+
// objectui#4028 — `AddressField`'s five sub-labels.
|
|
270
|
+
address: {
|
|
271
|
+
street: "عنوان الشارع",
|
|
272
|
+
city: "المدينة",
|
|
273
|
+
state: "الولاية / المحافظة",
|
|
274
|
+
postalCode: "الرمز البريدي",
|
|
275
|
+
country: "الدولة",
|
|
276
|
+
},
|
|
223
277
|
textarea: {
|
|
224
278
|
characterCount: "عدد الأحرف: {{count}} من {{max}}",
|
|
225
279
|
charactersRemaining: "الأحرف المتبقية: {{count}}",
|
|
@@ -250,7 +304,7 @@ const ar = {
|
|
|
250
304
|
saveAll: "حفظ الكل ({{count}})",
|
|
251
305
|
addRecord: "إضافة سجل",
|
|
252
306
|
open: "فتح",
|
|
253
|
-
search: "
|
|
307
|
+
search: "بحث…",
|
|
254
308
|
modified: "{{count}} صف(صفوف) معدّل(ة)",
|
|
255
309
|
saveFailed: 'فشل الحفظ',
|
|
256
310
|
selected: "{{count}} محدد(ة)",
|
|
@@ -294,7 +348,7 @@ const ar = {
|
|
|
294
348
|
delete: "حذف",
|
|
295
349
|
export: "تصدير",
|
|
296
350
|
exportAs: "تصدير كـ {{format}}",
|
|
297
|
-
loading: "جاري تحميل
|
|
351
|
+
loading: "جاري تحميل الشبكة…",
|
|
298
352
|
errorLoading: "خطأ في تحميل الشبكة",
|
|
299
353
|
pullToRefresh: "اسحب للتحديث",
|
|
300
354
|
refreshing: "جاري التحديث…",
|
|
@@ -305,6 +359,22 @@ const ar = {
|
|
|
305
359
|
yes: "نعم",
|
|
306
360
|
no: "لا",
|
|
307
361
|
systemFields: "النظام",
|
|
362
|
+
// objectui#4024 — column-footer aggregate prefixes, keyed by the spec's
|
|
363
|
+
// `ColumnSummary` vocabulary. `pattern` owns the label/value join so this
|
|
364
|
+
// pack controls its own separator and word order.
|
|
365
|
+
summary: {
|
|
366
|
+
pattern: "{{label}}: {{value}}",
|
|
367
|
+
count: "العدد",
|
|
368
|
+
countEmpty: "فارغة",
|
|
369
|
+
countFilled: "ممتلئة",
|
|
370
|
+
countUnique: "فريدة",
|
|
371
|
+
percentEmpty: "فارغة",
|
|
372
|
+
percentFilled: "ممتلئة",
|
|
373
|
+
sum: "المجموع",
|
|
374
|
+
avg: "المتوسط",
|
|
375
|
+
min: "الأدنى",
|
|
376
|
+
max: "الأعلى",
|
|
377
|
+
},
|
|
308
378
|
toolbar: {
|
|
309
379
|
densityMode: "الكثافة",
|
|
310
380
|
densityCompact: "مضغوط",
|
|
@@ -418,12 +488,12 @@ const ar = {
|
|
|
418
488
|
templateName: "اسم القالب",
|
|
419
489
|
save: "حفظ",
|
|
420
490
|
deleteTemplate: "حذف القالب",
|
|
421
|
-
savedMapping: '
|
|
422
|
-
chooseSavedMapping: '
|
|
423
|
-
manualMapping: '—
|
|
424
|
-
transform: '
|
|
425
|
-
savedMappingHint: '
|
|
426
|
-
savedMappingPreviewNote: '
|
|
491
|
+
savedMapping: 'التعيين المحفوظ:',
|
|
492
|
+
chooseSavedMapping: 'اختر تعييناً محفوظاً…',
|
|
493
|
+
manualMapping: '— تعيين الأعمدة يدويًا —',
|
|
494
|
+
transform: 'التحويل',
|
|
495
|
+
savedMappingHint: 'يطبّق التعيين "{{name}}" إعادة التسمية + التحويلات + تحويل الأنواع على الخادم. تعيين الأعمدة للقراءة فقط.',
|
|
496
|
+
savedMappingPreviewNote: 'تعرض المعاينة الأعمدة المصدر لديك؛ وعند الاستيراد يطبّق التعيين "{{name}}" إعادة التسمية والتحويلات وتحويل الأنواع على الخادم.',
|
|
427
497
|
csvColumn: "العمود",
|
|
428
498
|
mapsTo: "يُعيَّن إلى",
|
|
429
499
|
typeMismatch: "يبدو أنه {{type}}",
|
|
@@ -483,6 +553,8 @@ const ar = {
|
|
|
483
553
|
loadErrorUnauthorizedMessage: "انتهت صلاحية جلستك أو تم تسجيل خروجك. سجّل الدخول مرة أخرى لعرض هذه السجلات.",
|
|
484
554
|
loadErrorRejectedTitle: "تم رفض استعلام طريقة العرض هذه",
|
|
485
555
|
loadErrorRejectedMessage: "تعذّر على الخادم معالجة عامل التصفية أو خيارات الاستعلام لطريقة العرض هذه. مسح عوامل التصفية يحل المشكلة عادةً؛ وإذا كانت طريقة العرض محفوظة بهذا الشكل، فيجب على المسؤول تصحيحها.",
|
|
556
|
+
loadErrorApiDisabledTitle: "هذا الكائن غير متاح عبر واجهة API",
|
|
557
|
+
loadErrorApiDisabledMessage: "لا يمكن لهذه الصفحة تحميل سجلاتها لأن الكائن غير معروض عبر واجهة API. هذا إعداد خاص بالكائن نفسه وليس صلاحية — يجب على المسؤول تفعيل الوصول عبر API حتى تعمل هذه الصفحة.",
|
|
486
558
|
retry: "إعادة المحاولة",
|
|
487
559
|
managedBy: {
|
|
488
560
|
system: {
|
|
@@ -507,7 +579,7 @@ const ar = {
|
|
|
507
579
|
},
|
|
508
580
|
},
|
|
509
581
|
refresh: "تحديث",
|
|
510
|
-
loading:
|
|
582
|
+
loading: "جارٍ تحميل السجلات…",
|
|
511
583
|
recordCount: "{{count}} سجلات",
|
|
512
584
|
recordCountOne: "{{count}} سجل",
|
|
513
585
|
addRecord: "إضافة سجل",
|
|
@@ -519,7 +591,8 @@ const ar = {
|
|
|
519
591
|
sort: "ترتيب",
|
|
520
592
|
sortRecords: "ترتيب السجلات",
|
|
521
593
|
sortByIdSuffix: "(حسب المعرّف)",
|
|
522
|
-
sortRelationalHint: "الأعمدة التي تشير إلى سجل آخر غير مدرجة هنا: يمكن ترتيبها حسب المعرّف المخزَّن فقط، وليس حسب الاسم الظاهر في الخلية. للترتيب حسب ذلك الاسم،
|
|
594
|
+
sortRelationalHint: "الأعمدة التي تشير إلى سجل آخر غير مدرجة هنا: يمكن ترتيبها حسب المعرّف المخزَّن فقط، وليس حسب الاسم الظاهر في الخلية. للترتيب حسب ذلك الاسم، أضِف الاسم إلى هذا الكائن نفسه (إلغاء التطبيع) كحقل مخزَّن يُكتب عند تغيّر المصدر، ثم رتّب حسبه. وليس حقل صيغة: فهو افتراضي، ولا يُخزَّن له أي عمود، ويرفض الخادم الترتيب حسبه.",
|
|
595
|
+
resetSortToDefault: "إعادة التعيين إلى الترتيب الافتراضي للعرض",
|
|
523
596
|
group: "تجميع",
|
|
524
597
|
groupBy: "تجميع حسب",
|
|
525
598
|
export: "تصدير",
|
|
@@ -577,13 +650,16 @@ const ar = {
|
|
|
577
650
|
},
|
|
578
651
|
kanban: {
|
|
579
652
|
uncategorized: "غير مصنّف",
|
|
653
|
+
columns: "أعمدة",
|
|
580
654
|
addCard: "إضافة بطاقة",
|
|
581
655
|
addColumn: "إضافة عمود",
|
|
582
656
|
moveCard: "نقل بطاقة",
|
|
583
657
|
deleteCard: "حذف بطاقة",
|
|
584
658
|
deleteColumn: "حذف عمود",
|
|
585
659
|
noCards: "لا بطاقات",
|
|
586
|
-
cardTitlePlaceholder: "أدخل عنوان
|
|
660
|
+
cardTitlePlaceholder: "أدخل عنوان البطاقة…",
|
|
661
|
+
requiredFieldsTitle: "أكمل الحقول المطلوبة",
|
|
662
|
+
requiredFieldsDescription: "يجعل هذا النقل الحقول أدناه مطلوبة. أكملها للمتابعة.",
|
|
587
663
|
},
|
|
588
664
|
timeline: {
|
|
589
665
|
bucket: {
|
|
@@ -596,6 +672,13 @@ const ar = {
|
|
|
596
672
|
noDate: "بدون تاريخ",
|
|
597
673
|
unassigned: "غير معين",
|
|
598
674
|
},
|
|
675
|
+
scale: {
|
|
676
|
+
week: "الأسبوع {{n}}",
|
|
677
|
+
quarter: "الربع {{quarter}} {{year}}",
|
|
678
|
+
},
|
|
679
|
+
gantt: {
|
|
680
|
+
rowLabel: "العناصر",
|
|
681
|
+
},
|
|
599
682
|
},
|
|
600
683
|
gantt: {
|
|
601
684
|
viewMode: {
|
|
@@ -642,6 +725,18 @@ const ar = {
|
|
|
642
725
|
ff: "نهاية → نهاية",
|
|
643
726
|
sf: "بداية → نهاية",
|
|
644
727
|
},
|
|
728
|
+
linkEnd: {
|
|
729
|
+
start: "بداية",
|
|
730
|
+
end: "نهاية",
|
|
731
|
+
},
|
|
732
|
+
link: {
|
|
733
|
+
rejected: {
|
|
734
|
+
self: "لا يمكن أن تعتمد المهمة على نفسها.",
|
|
735
|
+
locked: "هذا الصف مقفل ولا يمكنه استقبال تبعية جديدة.",
|
|
736
|
+
group: "لا يمكن لصف التلخيص استقبال تبعية — اربط إحدى مهامه بدلاً من ذلك.",
|
|
737
|
+
cycle: "هذا الرابط سينشئ تبعية دائرية.",
|
|
738
|
+
},
|
|
739
|
+
},
|
|
645
740
|
conflict: {
|
|
646
741
|
title: "تعارض في الجدولة",
|
|
647
742
|
body: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
@@ -650,8 +745,8 @@ const ar = {
|
|
|
650
745
|
},
|
|
651
746
|
autoScheduleDlg: {
|
|
652
747
|
title: "الجدولة التلقائية",
|
|
653
|
-
body: "هل تريد تأخير {count} من المهام لتلبية روابط التبعية؟",
|
|
654
|
-
skipped: "{count} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
748
|
+
body: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
749
|
+
skipped: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
655
750
|
confirm: "تطبيق",
|
|
656
751
|
cancel: "إلغاء",
|
|
657
752
|
none: "جميع التبعيات مستوفاة — لا شيء لإعادة جدولته.",
|
|
@@ -688,6 +783,7 @@ const ar = {
|
|
|
688
783
|
exportPng: "تصدير بصيغة PNG",
|
|
689
784
|
exportPdf: "تصدير PDF",
|
|
690
785
|
saveLayout: "حفظ التخطيط",
|
|
786
|
+
refresh: "تحديث",
|
|
691
787
|
undo: "تراجع",
|
|
692
788
|
redo: "إعادة",
|
|
693
789
|
prevPeriod: "الفترة السابقة",
|
|
@@ -728,11 +824,11 @@ const ar = {
|
|
|
728
824
|
defaultBadge: "افتراضي",
|
|
729
825
|
tabActionsFor: "إجراءات العرض لـ {{name}}",
|
|
730
826
|
readonlyAriaLabel: "عرض للقراءة فقط",
|
|
731
|
-
readonlyTooltip: "عرض النظام —
|
|
827
|
+
readonlyTooltip: "عرض النظام — معرَّف في الكود، للقراءة فقط.",
|
|
732
828
|
},
|
|
733
829
|
designer: {
|
|
734
|
-
undo:
|
|
735
|
-
redo:
|
|
830
|
+
undo: "تراجع",
|
|
831
|
+
redo: "إعادة",
|
|
736
832
|
},
|
|
737
833
|
detail: {
|
|
738
834
|
editInlineHint: "انقر نقرًا مزدوجًا للتحرير",
|
|
@@ -774,13 +870,15 @@ const ar = {
|
|
|
774
870
|
relatedRecords: "{{count}} سجلات",
|
|
775
871
|
relatedRecordOne: "{{count}} سجل",
|
|
776
872
|
noRelatedRecords: "لا توجد سجلات ذات صلة",
|
|
777
|
-
loading: "جاري
|
|
873
|
+
loading: "جاري التحميل…",
|
|
778
874
|
copyToClipboard: "نسخ إلى الحافظة",
|
|
779
875
|
copied: "تم النسخ!",
|
|
780
876
|
deleteConfirmation: "هل أنت متأكد أنك تريد حذف هذا السجل؟",
|
|
877
|
+
deleted: "تم حذف السجل",
|
|
781
878
|
editRecord: "تحرير السجل",
|
|
782
879
|
viewAll: "عرض الكل",
|
|
783
880
|
new: "جديد",
|
|
881
|
+
add: "إضافة",
|
|
784
882
|
emptyValue: "—",
|
|
785
883
|
comments: "التعليقات",
|
|
786
884
|
searchComments: "البحث في التعليقات…",
|
|
@@ -810,6 +908,10 @@ const ar = {
|
|
|
810
908
|
attachmentDownloadDenied: "ليس لديك صلاحية تنزيل هذا المرفق.",
|
|
811
909
|
attachmentAuthRequired: "يرجى تسجيل الدخول لتنزيل هذا المرفق.",
|
|
812
910
|
attachmentPermissionDenied: "ليس لديك إذن للقيام بذلك.",
|
|
911
|
+
attachmentsAccessDenied: "ليس لديك حق الوصول إلى هذه المرفقات.",
|
|
912
|
+
attachmentsLoadFailed: "تعذر تحميل مرفقات هذا السجل.",
|
|
913
|
+
attachmentsApiUnavailable: "قائمة المرفقات غير متاحة على هذا الكائن.",
|
|
914
|
+
retryLoadAttachments: "إعادة المحاولة",
|
|
813
915
|
unifiedDiff: "عرض موحد",
|
|
814
916
|
sideBySideDiff: "عرض جنباً إلى جنب",
|
|
815
917
|
noChanges: "لا توجد تغييرات",
|
|
@@ -845,6 +947,7 @@ const ar = {
|
|
|
845
947
|
loadMore: "تحميل المزيد",
|
|
846
948
|
edited: "(معدل)",
|
|
847
949
|
via: "عبر {{source}}",
|
|
950
|
+
viewSource: "عرض المصدر",
|
|
848
951
|
replyCount: "{{count}} رد",
|
|
849
952
|
replyCountPlural: "{{count}} ردود",
|
|
850
953
|
replyPlaceholder: "رد…",
|
|
@@ -860,6 +963,8 @@ const ar = {
|
|
|
860
963
|
writeStrippedTitle: "تم الحفظ، لكن بعض الحقول لم تُطبَّق",
|
|
861
964
|
writeStrippedReadonly: "للقراءة فقط، لذلك لم تُطبَّق: {{fields}}",
|
|
862
965
|
writeStrippedByState: "غير قابلة للتعديل في الحالة الحالية لهذا السجل، لذلك لم تُطبَّق: {{fields}}",
|
|
966
|
+
writeStrippedPrimaryKey: "معرّف السجل لا يمكن تغييره عند الحفظ، لذلك لم تُطبَّق: {{fields}}",
|
|
967
|
+
writeStrippedUnknownReason: "لم تُطبَّق من قِبل الخادم: {{fields}}",
|
|
863
968
|
approvalPendingEditable: "قيد الموافقة · قابل للتعديل",
|
|
864
969
|
approvalPendingTooltip: "يحتوي هذا السجل على طلب موافقة معلق، لكن هذه الخطوة لا تزال تسمح بالتعديل",
|
|
865
970
|
approvalProgress: "الموافقات — {{got}} من {{need}}",
|
|
@@ -872,6 +977,13 @@ const ar = {
|
|
|
872
977
|
cancelApprovalTooltipUnlocked: "إلغاء طلب الموافقة المعلق",
|
|
873
978
|
cancelApprovalFailed: "فشل إلغاء الموافقة",
|
|
874
979
|
cancelApprovalUnavailable: "إلغاء الموافقات غير مدعوم من مصدر البيانات هذا",
|
|
980
|
+
pathLabel: 'مسار السجل',
|
|
981
|
+
pathStageCompleted: '{{stage}}، مكتملة',
|
|
982
|
+
pathStageCurrent: '{{stage}}، المرحلة الحالية',
|
|
983
|
+
pathStageUpcoming: '{{stage}}، قادمة',
|
|
984
|
+
pathStageLostCurrent: '{{stage}}، خاسرة، المرحلة الحالية',
|
|
985
|
+
pathStageLostUpcoming: '{{stage}}، خاسرة، لم يتم الوصول إليها',
|
|
986
|
+
pathStageWonUpcoming: '{{stage}}، المرحلة الهدف، لم يتم الوصول إليها',
|
|
875
987
|
linkCopied: "تم نسخ الرابط إلى الحافظة",
|
|
876
988
|
linkCopyFailed: "فشل نسخ الرابط",
|
|
877
989
|
cancel: "إلغاء",
|
|
@@ -886,9 +998,11 @@ const ar = {
|
|
|
886
998
|
concurrentUpdateReload: "تحميل النسخة الحالية",
|
|
887
999
|
concurrentUpdateOverwrite: "الكتابة فوقه على أي حال",
|
|
888
1000
|
concurrentUpdateCancel: "إلغاء",
|
|
1001
|
+
concurrentUpdateRecordLabel: "هذا السجل",
|
|
889
1002
|
openInNewTab: "فتح في علامة تبويب جديدة",
|
|
890
1003
|
activity: "النشاط",
|
|
891
1004
|
history: "السجل",
|
|
1005
|
+
historyEmpty: "لا يوجد سجل بعد",
|
|
892
1006
|
editRow: "تعديل",
|
|
893
1007
|
deleteRow: "حذف",
|
|
894
1008
|
deleteRowConfirmation: "حذف هذا السجل؟",
|
|
@@ -898,10 +1012,16 @@ const ar = {
|
|
|
898
1012
|
nextPage: "التالي",
|
|
899
1013
|
pageOf: "صفحة {{current}} من {{total}}",
|
|
900
1014
|
sortBy: "ترتيب حسب",
|
|
901
|
-
filterPlaceholder: "
|
|
1015
|
+
filterPlaceholder: "تصفية…",
|
|
902
1016
|
highlightFields: "الحقول الرئيسية",
|
|
903
1017
|
createdBy: "أنشأه",
|
|
904
1018
|
updatedBy: "حدّثه",
|
|
1019
|
+
// objectui#3863 — base key, and in ar this is the slot users actually hit: `zero`,
|
|
1020
|
+
// `two` (2), `few` (3-10) and `many` (11-99) are unenumerated, so before this key
|
|
1021
|
+
// those counts rendered ENGLISH. It uses the «{{count}} مفرد(جمع)» marker this
|
|
1022
|
+
// pack writes throughout (perm.facet.objects, and the sibling toggle
|
|
1023
|
+
// showEmptyFields below), which reads correctly for every count.
|
|
1024
|
+
showEmptyRelated: "+ {{count}} فارغ(فارغة)",
|
|
905
1025
|
showEmptyRelated_one: "+ {{count}} فارغ",
|
|
906
1026
|
showEmptyRelated_other: "+ {{count}} فارغة",
|
|
907
1027
|
copyEmail: "نسخ البريد الإلكتروني",
|
|
@@ -913,7 +1033,8 @@ const ar = {
|
|
|
913
1033
|
},
|
|
914
1034
|
chart: {
|
|
915
1035
|
noData: "لا تتوفر بيانات للرسم البياني",
|
|
916
|
-
loading: "جاري تحميل الرسم
|
|
1036
|
+
loading: "جاري تحميل الرسم البياني…",
|
|
1037
|
+
nullCategory: "(غير محدد)",
|
|
917
1038
|
},
|
|
918
1039
|
map: {
|
|
919
1040
|
searchLocations: "البحث عن المواقع…",
|
|
@@ -922,68 +1043,9 @@ const ar = {
|
|
|
922
1043
|
invalidCoordinates: "{{count}} سجل بإحداثيات مفقودة أو غير صالحة مستبعد من الخريطة.",
|
|
923
1044
|
invalidCoordinatesPlural: "{{count}} سجلات بإحداثيات مفقودة أو غير صالحة مستبعدة من الخريطة.",
|
|
924
1045
|
},
|
|
925
|
-
workflow: {
|
|
926
|
-
draft: "مسودة",
|
|
927
|
-
active: "نشط",
|
|
928
|
-
paused: "متوقف مؤقتاً",
|
|
929
|
-
completed: "مكتمل",
|
|
930
|
-
cancelled: "ملغي",
|
|
931
|
-
save: "حفظ",
|
|
932
|
-
publish: "نشر",
|
|
933
|
-
addNode: "إضافة عقدة",
|
|
934
|
-
workflowFlow: "سير العمل",
|
|
935
|
-
properties: "الخصائص",
|
|
936
|
-
connections: "الاتصالات",
|
|
937
|
-
quickConnect: "اتصال سريع",
|
|
938
|
-
fromPlaceholder: "من...",
|
|
939
|
-
toPlaceholder: "إلى...",
|
|
940
|
-
connect: "ربط",
|
|
941
|
-
label: "التسمية",
|
|
942
|
-
type: "النوع",
|
|
943
|
-
description: "الوصف",
|
|
944
|
-
assignee: "المسؤول",
|
|
945
|
-
assigneeType: "نوع المسؤول",
|
|
946
|
-
user: "مستخدم",
|
|
947
|
-
role: "دور",
|
|
948
|
-
group: "مجموعة",
|
|
949
|
-
expression: "تعبير",
|
|
950
|
-
timeoutMinutes: "المهلة (دقائق)",
|
|
951
|
-
selectNodeToEdit: "حدد عقدة لتعديل خصائصها",
|
|
952
|
-
workflowTitle: "عنوان سير العمل",
|
|
953
|
-
newWorkflow: "سير عمل جديد",
|
|
954
|
-
outConnections: "{{count}} مخرج",
|
|
955
|
-
start: "بداية",
|
|
956
|
-
end: "نهاية",
|
|
957
|
-
task: "مهمة",
|
|
958
|
-
userTask: "مهمة مستخدم",
|
|
959
|
-
serviceTask: "مهمة خدمة",
|
|
960
|
-
scriptTask: "مهمة نصية",
|
|
961
|
-
approval: "موافقة",
|
|
962
|
-
condition: "شرط",
|
|
963
|
-
parallelGateway: "بوابة متوازية",
|
|
964
|
-
joinGateway: "بوابة دمج",
|
|
965
|
-
boundaryEvent: "حدث حدودي",
|
|
966
|
-
delay: "تأخير",
|
|
967
|
-
notification: "إشعار",
|
|
968
|
-
webhook: "Webhook",
|
|
969
|
-
allowConcurrency: "السماح (تنفيذ متزامن)",
|
|
970
|
-
forbidConcurrency: "منع (تخطي الجديد)",
|
|
971
|
-
replaceConcurrency: "استبدال (إلغاء الحالي)",
|
|
972
|
-
queueConcurrency: "طابور (تنفيذ بعد الحالي)",
|
|
973
|
-
conditionEvent: "شرط",
|
|
974
|
-
manualEvent: "يدوي",
|
|
975
|
-
webhookEvent: "Webhook",
|
|
976
|
-
timerEvent: "مؤقت",
|
|
977
|
-
signalEvent: "إشارة",
|
|
978
|
-
versionHistory: "تاريخ الإصدارات",
|
|
979
|
-
importBpmn: "استيراد BPMN",
|
|
980
|
-
exportBpmn: "تصدير BPMN",
|
|
981
|
-
undo: "تراجع",
|
|
982
|
-
redo: "إعادة",
|
|
983
|
-
resetZoom: "إعادة تعيين التكبير",
|
|
984
|
-
},
|
|
985
1046
|
dashboard: {
|
|
986
1047
|
noRows: "لا توجد صفوف",
|
|
1048
|
+
loading: "جارٍ التحميل…",
|
|
987
1049
|
pickMeasures: "اختر المقاييس (القيم) لأداة مجموعة البيانات هذه.",
|
|
988
1050
|
datasetUnsupported: "مصدر البيانات هذا لا يدعم استعلامات مجموعات البيانات.",
|
|
989
1051
|
details: "التفاصيل",
|
|
@@ -1020,6 +1082,105 @@ const ar = {
|
|
|
1020
1082
|
total: "الإجمالي",
|
|
1021
1083
|
noDataAvailable: "لا بيانات متاحة",
|
|
1022
1084
|
noDataSourceFor: "لا مصدر بيانات لـ",
|
|
1085
|
+
config: {
|
|
1086
|
+
breadcrumb: {
|
|
1087
|
+
dashboard: "لوحة القيادة",
|
|
1088
|
+
configuration: "الإعداد",
|
|
1089
|
+
widget: "عنصر",
|
|
1090
|
+
chart: "مخطط",
|
|
1091
|
+
table: "جدول",
|
|
1092
|
+
pivotTable: "جدول محوري",
|
|
1093
|
+
},
|
|
1094
|
+
section: {
|
|
1095
|
+
general: "عام",
|
|
1096
|
+
layout: "التخطيط",
|
|
1097
|
+
data: "البيانات",
|
|
1098
|
+
dataBinding: "ربط البيانات",
|
|
1099
|
+
appearance: "المظهر",
|
|
1100
|
+
},
|
|
1101
|
+
field: {
|
|
1102
|
+
title: "العنوان",
|
|
1103
|
+
description: "الوصف",
|
|
1104
|
+
columns: "الأعمدة",
|
|
1105
|
+
gap: "المسافة",
|
|
1106
|
+
rowHeight: "ارتفاع الصف (بكسل)",
|
|
1107
|
+
autoRefresh: "تحديث تلقائي",
|
|
1108
|
+
showDescription: "إظهار الوصف",
|
|
1109
|
+
theme: "السمة",
|
|
1110
|
+
widgetType: "نوع العنصر",
|
|
1111
|
+
colorVariant: "متغير اللون",
|
|
1112
|
+
dataset: "مجموعة البيانات",
|
|
1113
|
+
dimensions: "الأبعاد",
|
|
1114
|
+
values: "القيم",
|
|
1115
|
+
width: "العرض (أعمدة)",
|
|
1116
|
+
height: "الارتفاع (صفوف)",
|
|
1117
|
+
},
|
|
1118
|
+
placeholder: {
|
|
1119
|
+
dashboardTitle: "عنوان لوحة القيادة",
|
|
1120
|
+
dashboardDescription: "ملخص قصير يظهر أسفل العنوان",
|
|
1121
|
+
widgetTitle: "عنوان العنصر",
|
|
1122
|
+
widgetDescription: "وصف العنصر",
|
|
1123
|
+
datasetName: "اسم مجموعة البيانات",
|
|
1124
|
+
selectDataset: "اختر مجموعة بيانات…",
|
|
1125
|
+
searchDatasets: "البحث في مجموعات البيانات…",
|
|
1126
|
+
addDimension: "إضافة بُعد…",
|
|
1127
|
+
addMeasure: "إضافة مقياس…",
|
|
1128
|
+
searchMembers: "بحث…",
|
|
1129
|
+
},
|
|
1130
|
+
empty: {
|
|
1131
|
+
datasets: "لم يتم العثور على مجموعات بيانات.",
|
|
1132
|
+
dimensions: "لم يتم اختيار أبعاد.",
|
|
1133
|
+
measures: "لم يتم اختيار مقاييس.",
|
|
1134
|
+
nothingToAdd: "لا يوجد المزيد للإضافة.",
|
|
1135
|
+
},
|
|
1136
|
+
help: {
|
|
1137
|
+
dataset: "مجموعة بيانات الطبقة الدلالية التي يرتبط بها هذا العنصر (ADR-0021).",
|
|
1138
|
+
dimensions: "تجميع/تقسيم القيم حسب أبعاد مجموعة البيانات هذه.",
|
|
1139
|
+
dimensionsPivot: "حقول التجميع/التقسيم. يمتد البُعد الأخير أفقيًا كأعمدة.",
|
|
1140
|
+
values: "المقاييس المراد عرضها من مجموعة البيانات (واحد على الأقل).",
|
|
1141
|
+
},
|
|
1142
|
+
action: {
|
|
1143
|
+
add: "إضافة",
|
|
1144
|
+
remove: "إزالة {{name}}",
|
|
1145
|
+
},
|
|
1146
|
+
refresh: {
|
|
1147
|
+
off: "إيقاف",
|
|
1148
|
+
every30s: "كل 30 ثانية",
|
|
1149
|
+
every1m: "كل دقيقة",
|
|
1150
|
+
every5m: "كل 5 دقائق",
|
|
1151
|
+
every15m: "كل 15 دقيقة",
|
|
1152
|
+
every30m: "كل 30 دقيقة",
|
|
1153
|
+
every1h: "كل ساعة",
|
|
1154
|
+
},
|
|
1155
|
+
themeOption: {
|
|
1156
|
+
light: "فاتح",
|
|
1157
|
+
dark: "داكن",
|
|
1158
|
+
auto: "تلقائي",
|
|
1159
|
+
},
|
|
1160
|
+
widgetType: {
|
|
1161
|
+
metric: "مقياس",
|
|
1162
|
+
bar: "مخطط شريطي",
|
|
1163
|
+
horizontalBar: "شريطي أفقي",
|
|
1164
|
+
line: "مخطط خطي",
|
|
1165
|
+
pie: "مخطط دائري",
|
|
1166
|
+
donut: "مخطط حلقي",
|
|
1167
|
+
area: "مخطط مساحة",
|
|
1168
|
+
scatter: "مخطط نقطي",
|
|
1169
|
+
funnel: "قمع",
|
|
1170
|
+
table: "جدول",
|
|
1171
|
+
pivot: "جدول محوري",
|
|
1172
|
+
},
|
|
1173
|
+
color: {
|
|
1174
|
+
default: "افتراضي",
|
|
1175
|
+
blue: "أزرق",
|
|
1176
|
+
teal: "أزرق مخضر",
|
|
1177
|
+
orange: "برتقالي",
|
|
1178
|
+
purple: "بنفسجي",
|
|
1179
|
+
success: "نجاح",
|
|
1180
|
+
warning: "تحذير",
|
|
1181
|
+
danger: "خطر",
|
|
1182
|
+
},
|
|
1183
|
+
},
|
|
1023
1184
|
trend: {
|
|
1024
1185
|
vsLastQuarter: "مقابل الربع الماضي",
|
|
1025
1186
|
vsLastMonth: "مقابل الشهر الماضي",
|
|
@@ -1029,24 +1190,6 @@ const ar = {
|
|
|
1029
1190
|
vsPreviousPeriod: "مقابل الفترة السابقة",
|
|
1030
1191
|
},
|
|
1031
1192
|
},
|
|
1032
|
-
configPanel: {
|
|
1033
|
-
save: "حفظ",
|
|
1034
|
-
discard: "تجاهل",
|
|
1035
|
-
close: "إغلاق",
|
|
1036
|
-
layout: "التخطيط",
|
|
1037
|
-
columns: "الأعمدة",
|
|
1038
|
-
gap: "المسافة",
|
|
1039
|
-
rowHeight: "ارتفاع الصف",
|
|
1040
|
-
data: "البيانات",
|
|
1041
|
-
refreshInterval: "فترة التحديث",
|
|
1042
|
-
appearance: "المظهر",
|
|
1043
|
-
title: "العنوان",
|
|
1044
|
-
showDescription: "إظهار الوصف",
|
|
1045
|
-
theme: "السمة",
|
|
1046
|
-
configuration: "الإعداد",
|
|
1047
|
-
general: "عام",
|
|
1048
|
-
advanced: "متقدم",
|
|
1049
|
-
},
|
|
1050
1193
|
appDesigner: {
|
|
1051
1194
|
createApp: "إنشاء تطبيق",
|
|
1052
1195
|
editApp: "تعديل التطبيق",
|
|
@@ -1077,7 +1220,7 @@ const ar = {
|
|
|
1077
1220
|
faviconUrl: "Favicon URL",
|
|
1078
1221
|
preview: "معاينة",
|
|
1079
1222
|
complete: "إكمال",
|
|
1080
|
-
snakeCaseHint: "
|
|
1223
|
+
snakeCaseHint: "يجب أن يكون بصيغة snake_case (مثل my_app)",
|
|
1081
1224
|
modeEdit: "تعديل",
|
|
1082
1225
|
modePreview: "معاينة",
|
|
1083
1226
|
modeCode: "كود",
|
|
@@ -1097,8 +1240,6 @@ const ar = {
|
|
|
1097
1240
|
showSort: "إظهار الترتيب",
|
|
1098
1241
|
appearance: "المظهر",
|
|
1099
1242
|
rowHeight: "ارتفاع الصف",
|
|
1100
|
-
stripedRows: "صفوف متناوبة",
|
|
1101
|
-
bordered: "محاط بإطار",
|
|
1102
1243
|
livePreview: "معاينة مباشرة",
|
|
1103
1244
|
stepBasicDesc: "الاسم والعنوان والتخطيط",
|
|
1104
1245
|
stepObjectsDesc: "اختيار كائنات الأعمال",
|
|
@@ -1212,7 +1353,6 @@ const ar = {
|
|
|
1212
1353
|
unique: "فريد",
|
|
1213
1354
|
readOnly: "للقراءة فقط",
|
|
1214
1355
|
hidden: "مخفي",
|
|
1215
|
-
indexed: "مفهرس",
|
|
1216
1356
|
externalId: "معرف خارجي",
|
|
1217
1357
|
trackHistory: "تتبع السجل",
|
|
1218
1358
|
defaultValue: "القيمة الافتراضية",
|
|
@@ -1241,6 +1381,7 @@ const ar = {
|
|
|
1241
1381
|
},
|
|
1242
1382
|
},
|
|
1243
1383
|
console: {
|
|
1384
|
+
saveAdvisoryTitle: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1244
1385
|
settingsHub: {
|
|
1245
1386
|
title: "الإعدادات",
|
|
1246
1387
|
subtitle: "اضبط مساحة العمل والتكاملات وأعلام الميزات.",
|
|
@@ -1285,6 +1426,13 @@ const ar = {
|
|
|
1285
1426
|
passwordsDownload: "تنزيل ملف CSV",
|
|
1286
1427
|
},
|
|
1287
1428
|
ai: {
|
|
1429
|
+
pendingDrafts: {
|
|
1430
|
+
count: "هناك {{count}} من التغييرات لم تُنشر بعد — لا يمكن للمستخدمين رؤيتها.",
|
|
1431
|
+
publish: "نشر",
|
|
1432
|
+
published: "جميع التغييرات المعلّقة فعّالة الآن.",
|
|
1433
|
+
failed: "فشل النشر.",
|
|
1434
|
+
publishedWithFindings: "تم النشر، لكن مجسّات وقت التشغيل أبلغت عن مشكلات: {{detail}}",
|
|
1435
|
+
},
|
|
1288
1436
|
usage: {
|
|
1289
1437
|
title: "استخدام الذكاء الاصطناعي",
|
|
1290
1438
|
meterBuild: "الإنشاء",
|
|
@@ -1307,7 +1455,7 @@ const ar = {
|
|
|
1307
1455
|
shareTitle: "مشاركة هذه المحادثة",
|
|
1308
1456
|
shareDisabledTitle: "ابدأ المحادثة لتفعيل المشاركة",
|
|
1309
1457
|
newChat: "جديدة",
|
|
1310
|
-
searchChats: "البحث في
|
|
1458
|
+
searchChats: "البحث في المحادثات…",
|
|
1311
1459
|
noChatsYet: "لا توجد محادثات بعد",
|
|
1312
1460
|
noChatsDescription: "ابدأ محادثة جديدة لتظهر هنا.",
|
|
1313
1461
|
noMatchingChats: "لا توجد محادثات مطابقة.",
|
|
@@ -1316,18 +1464,18 @@ const ar = {
|
|
|
1316
1464
|
deleteConversation: "حذف المحادثة",
|
|
1317
1465
|
saveRename: "حفظ الاسم",
|
|
1318
1466
|
cancelRename: "إلغاء إعادة التسمية",
|
|
1319
|
-
loadingHistory: "جارٍ تحميل سجل
|
|
1467
|
+
loadingHistory: "جارٍ تحميل سجل المحادثة…",
|
|
1320
1468
|
conversationReady: "المحادثة جاهزة",
|
|
1321
1469
|
preparingConversation: "جارٍ تجهيز محادثة جديدة",
|
|
1322
1470
|
offlineDemoMode: "وضع العرض دون اتصال — قائمة الوكلاء غير متاحة",
|
|
1323
1471
|
sendFailedRateLimited: "أنت ترسل الرسائل بسرعة كبيرة. رسالتك محفوظة بالأسفل — انتظر لحظة ثم أعد المحاولة.",
|
|
1324
1472
|
sendFailedGeneric: "تعذّر إرسال رسالتك. وهي محفوظة بالأسفل — يرجى إعادة المحاولة.",
|
|
1325
|
-
askAgent: "اسأل {{agent}}
|
|
1473
|
+
askAgent: "اسأل {{agent}}…",
|
|
1326
1474
|
assistant: "المساعد",
|
|
1327
1475
|
liveCanvas: "معاينة حية — {{app}} (مسودة)",
|
|
1328
1476
|
liveCanvasUnlisted: "تطبيق حي — {{app}} (غير مُدرج حتى النشر)",
|
|
1329
|
-
loadingAgents: "جارٍ تحميل
|
|
1330
|
-
askAnything: "اسأل عن أي
|
|
1477
|
+
loadingAgents: "جارٍ تحميل الوكلاء…",
|
|
1478
|
+
askAnything: "اسأل عن أي شيء…",
|
|
1331
1479
|
emptyTitle: "ابدأ محادثة",
|
|
1332
1480
|
emptyDescription: "اسأل عن أي شيء — يمكن للمساعد الاطلاع على سياق تطبيقك الحالي.",
|
|
1333
1481
|
switchAssistant: "تبديل المساعد",
|
|
@@ -1420,6 +1568,11 @@ const ar = {
|
|
|
1420
1568
|
changesConfirmed: "تم التأكيد",
|
|
1421
1569
|
changesConfirm: "تأكيد",
|
|
1422
1570
|
changesConfirmHint: "أجب لتأكيد هذا التغيير أو تعديله.",
|
|
1571
|
+
changesApplying: "جارٍ التطبيق…",
|
|
1572
|
+
changesApplied: "تم التطبيق",
|
|
1573
|
+
changesDrafted: "حُفظ كمسودة",
|
|
1574
|
+
changesFailed: "لم يُطبَّق",
|
|
1575
|
+
discussing: "قيد المناقشة: {{target}}",
|
|
1423
1576
|
changeVerb: {
|
|
1424
1577
|
createObject: "إنشاء كائن",
|
|
1425
1578
|
addField: "إضافة حقل",
|
|
@@ -1430,9 +1583,60 @@ const ar = {
|
|
|
1430
1583
|
createSeed: "إنشاء بيانات تجريبية",
|
|
1431
1584
|
createPackage: "إنشاء حزمة تطبيق",
|
|
1432
1585
|
},
|
|
1586
|
+
// objectui#3546 slice four — the AI console surfaces: the /ai chat page's app switcher,
|
|
1587
|
+
// connection banner and plan/publish cards, the ChatDock chrome, and the
|
|
1588
|
+
// conversation-list date buckets. `group.*` is the template-key family
|
|
1589
|
+
// `console.ai.group.${key}` (ConversationsSidebar), enumerated from the
|
|
1590
|
+
// ConversationGroupKey union — all five members, no wildcard.
|
|
1591
|
+
collapseToDock: "طيّ إلى اللوحة الجانبية",
|
|
1592
|
+
switchApp: "تبديل التطبيق",
|
|
1593
|
+
switchAppLabel: "محادثات الإنشاء حسب التطبيق",
|
|
1594
|
+
newApp: "تطبيق جديد",
|
|
1595
|
+
connectionWaiting: "في انتظار الخادم…",
|
|
1596
|
+
connectionStalled: "لا يزال العمل جاريًا…",
|
|
1597
|
+
connectionOffline: "انقطع الاتصال — جارٍ إعادة الاتصال…",
|
|
1598
|
+
designingPlan: "جارٍ تصميم تطبيقك…",
|
|
1599
|
+
designingPlanHint: {
|
|
1600
|
+
data: "جارٍ تحديد البيانات التي ستتابعها…",
|
|
1601
|
+
objects: "جارٍ تشكيل الكائنات وحقولها…",
|
|
1602
|
+
relations: "جارٍ ربط السجلات ذات الصلة…",
|
|
1603
|
+
lookups: "جارٍ إعداد العلاقات وحقول البحث…",
|
|
1604
|
+
views: "جارٍ التخطيط للشاشات والعروض…",
|
|
1605
|
+
forms: "جارٍ تنسيق النماذج والقوائم…",
|
|
1606
|
+
defaults: "جارٍ إضافة قيم افتراضية ومعايير تحقّق منطقية…",
|
|
1607
|
+
dashboard: "جارٍ رسم لوحة معلومات للمتابعة…",
|
|
1608
|
+
review: "جارٍ التحقّق من تماسك البنية…",
|
|
1609
|
+
finalize: "جارٍ تجميع الخطة…",
|
|
1610
|
+
},
|
|
1611
|
+
planBuilding: "جارٍ الإنشاء…",
|
|
1612
|
+
planBuilt: "تم الإنشاء",
|
|
1613
|
+
planDeferred: "لم يُنشأ بعد",
|
|
1614
|
+
planReady: "الخطة جاهزة. ابدأ الإنشاء الآن، أو أخبرني بما تريد تعديله.",
|
|
1615
|
+
published: "تم النشر",
|
|
1616
|
+
publishFailed: "فشل النشر",
|
|
1617
|
+
unavailableTitle: "مساعد الذكاء الاصطناعي غير متاح",
|
|
1618
|
+
unavailableDescription: "لم يتم تمكين مساعد الذكاء الاصطناعي في هذا النشر. وكل شيء آخر يعمل كالمعتاد.",
|
|
1619
|
+
unavailableError: "تعذّر الوصول إلى خدمة الذكاء الاصطناعي. قد تكون غير متصلة مؤقتًا — أعد المحاولة أو عد إلى الرئيسية.",
|
|
1620
|
+
unavailableRetry: "إعادة المحاولة",
|
|
1621
|
+
unavailableHome: "العودة إلى الرئيسية",
|
|
1622
|
+
dock: {
|
|
1623
|
+
title: "المساعد",
|
|
1624
|
+
description: "محادثة مساعد الذكاء الاصطناعي",
|
|
1625
|
+
resize: "تغيير حجم المحادثة",
|
|
1626
|
+
collapse: "طي المحادثة",
|
|
1627
|
+
maximize: "فتح كصفحة كاملة",
|
|
1628
|
+
open: "فتح المساعد",
|
|
1629
|
+
},
|
|
1630
|
+
group: {
|
|
1631
|
+
today: "اليوم",
|
|
1632
|
+
yesterday: "أمس",
|
|
1633
|
+
previous7Days: "آخر 7 أيام",
|
|
1634
|
+
previous30Days: "آخر 30 يومًا",
|
|
1635
|
+
older: "أقدم",
|
|
1636
|
+
},
|
|
1433
1637
|
},
|
|
1434
1638
|
title: "وحدة تحكم ObjectStack",
|
|
1435
|
-
initializing: "جاري تهيئة
|
|
1639
|
+
initializing: "جاري تهيئة التطبيق…",
|
|
1436
1640
|
loadingHint: "قد يستغرق إعداد بيئة جديدة بعض الوقت.",
|
|
1437
1641
|
breadcrumb: {
|
|
1438
1642
|
dashboards: "لوحات المعلومات",
|
|
@@ -1440,6 +1644,31 @@ const ar = {
|
|
|
1440
1644
|
reports: "التقارير",
|
|
1441
1645
|
system: "النظام",
|
|
1442
1646
|
},
|
|
1647
|
+
// objectui#4024 — the single-namespace settings screen. Its sibling
|
|
1648
|
+
// `settingsHub` above already resolved through this pack; the view was the
|
|
1649
|
+
// one file still carrying English literals.
|
|
1650
|
+
settingsView: {
|
|
1651
|
+
backToHub: "جميع الإعدادات",
|
|
1652
|
+
back: "رجوع",
|
|
1653
|
+
noNamespace: "لم يتم تحديد أي مساحة اسم.",
|
|
1654
|
+
loadError: "تعذّر تحميل الإعدادات",
|
|
1655
|
+
saved: "تم حفظ الإعدادات",
|
|
1656
|
+
saveFailed: "فشل في الحفظ",
|
|
1657
|
+
lockedByEnv: "مقفل بواسطة البيئة: {{key}}",
|
|
1658
|
+
lockedByEnvNoKey: "مقفل بواسطة البيئة",
|
|
1659
|
+
actionSucceeded: "نجح الإجراء",
|
|
1660
|
+
actionFailed: "فشل الإجراء",
|
|
1661
|
+
discard: "تجاهل",
|
|
1662
|
+
saveChanges: "حفظ التغييرات",
|
|
1663
|
+
unsavedCount: "{{count}} تغيير(تغييرات) غير محفوظ",
|
|
1664
|
+
unsavedCount_one: "{{count}} تغيير غير محفوظ",
|
|
1665
|
+
unsavedCount_other: "{{count}} تغييرات غير محفوظة",
|
|
1666
|
+
cryptoRefusalTitle: "لا يمكن لهذا النشر تشفير الأسرار",
|
|
1667
|
+
cryptoRefusalSubjectSuffix: "معلن كمشفَّر، لذلك لم تتم كتابة أي شيء.",
|
|
1668
|
+
cryptoRefusalNoSubject: "تم رفض القيمة المعلنة كمشفَّرة، لذلك لم تتم كتابة أي شيء.",
|
|
1669
|
+
cryptoRefusalToast: "تعذّر تشفير الأسرار: {{subject}}",
|
|
1670
|
+
cryptoRefusalToastNoSubject: "تعذّر تشفير الأسرار",
|
|
1671
|
+
},
|
|
1443
1672
|
loadingSteps: {
|
|
1444
1673
|
connecting: "جاري الاتصال بمصدر البيانات",
|
|
1445
1674
|
loadingConfig: "جاري تحميل الإعدادات",
|
|
@@ -1469,6 +1698,7 @@ const ar = {
|
|
|
1469
1698
|
general: "عام",
|
|
1470
1699
|
navigation: "التنقل",
|
|
1471
1700
|
dataViews: "عروض البيانات",
|
|
1701
|
+
aiChat: "مساعد الذكاء الاصطناعي",
|
|
1472
1702
|
preferences: "التفضيلات",
|
|
1473
1703
|
},
|
|
1474
1704
|
openCommandPalette: "فتح لوحة الأوامر",
|
|
@@ -1479,11 +1709,13 @@ const ar = {
|
|
|
1479
1709
|
createRecord: "إنشاء سجل جديد",
|
|
1480
1710
|
refreshData: "تحديث البيانات",
|
|
1481
1711
|
editRecord: "تعديل السجل المحدد",
|
|
1712
|
+
newChat: "محادثة جديدة",
|
|
1713
|
+
toggleChatsList: "تبديل قائمة المحادثات",
|
|
1482
1714
|
toggleDarkMode: "تبديل الوضع الداكن",
|
|
1483
1715
|
},
|
|
1484
1716
|
commandPalette: {
|
|
1485
1717
|
title: "لوحة الأوامر",
|
|
1486
|
-
placeholder: "اكتب أمراً أو
|
|
1718
|
+
placeholder: "اكتب أمراً أو ابحث…",
|
|
1487
1719
|
noResults: "لم يتم العثور على نتائج.",
|
|
1488
1720
|
objects: "الكائنات",
|
|
1489
1721
|
dashboards: "لوحات المعلومات",
|
|
@@ -1509,6 +1741,12 @@ const ar = {
|
|
|
1509
1741
|
goHome: "العودة للرئيسية",
|
|
1510
1742
|
errorDetails: "تفاصيل الخطأ (وضع التطوير فقط)",
|
|
1511
1743
|
},
|
|
1744
|
+
// objectui#3546 slice four — the console's catch-all route (AppContent `RouteNotFound`).
|
|
1745
|
+
notFound: {
|
|
1746
|
+
title: "الصفحة غير موجودة",
|
|
1747
|
+
description: "الرابط الذي فتحته لا يطابق أي عرض في هذا التطبيق.",
|
|
1748
|
+
back: "رجوع",
|
|
1749
|
+
},
|
|
1512
1750
|
theme: {
|
|
1513
1751
|
toggle: "تبديل المظهر",
|
|
1514
1752
|
light: "فاتح",
|
|
@@ -1524,109 +1762,41 @@ const ar = {
|
|
|
1524
1762
|
viewNameHelp: "مفتاح برمجي (snake_case). يُملأ تلقائيًا من العنوان — عدّله إن أردت.",
|
|
1525
1763
|
viewNameRequired: "أدخل مفتاحًا (أحرف إنجليزية صغيرة وأرقام وشرطة سفلية). لا يُملأ تلقائيًا للعناوين غير اللاتينية.",
|
|
1526
1764
|
viewNameInvalid: "استخدم أحرفًا إنجليزية صغيرة وأرقامًا وشرطات سفلية؛ وابدأ بحرف أو شرطة سفلية.",
|
|
1527
|
-
systemViewReadonly:
|
|
1528
|
-
|
|
1765
|
+
systemViewReadonly: "عرض النظام معرَّف في الكود — للقراءة فقط.",
|
|
1766
|
+
cannotEditMetaView: "هذا عرض مدمج معرَّف في الكود — لا يمكن تعديله.",
|
|
1767
|
+
cannotDeleteMetaView: "هذا عرض مدمج معرَّف في الكود — لا يمكن حذفه.",
|
|
1768
|
+
expandToPage: "فتح كصفحة كاملة",
|
|
1529
1769
|
objectNotFound: "الكائن غير موجود",
|
|
1530
1770
|
objectNotFoundDescription: "الكائن \"{{objectName}}\" غير موجود في الإعدادات الحالية.",
|
|
1531
1771
|
objectNotFoundHint: "تحقق من إعدادات التنقل في تطبيقك أو اختر كائنًا آخر من الشريط الجانبي.",
|
|
1532
1772
|
filterOrNotSavable: "يستخدم هذا الفلتر «أو» بين الشروط، وهو ما لا يمكن للعرض المحفوظ تخزينه بعد. لا يزال مطبقًا على هذه القائمة — أزل تجميع «أو» لحفظه في العرض.",
|
|
1533
1773
|
filterNestedNotSavable: "يستخدم هذا الفلتر مجموعات شروط متداخلة لا يمكن للعرض المحفوظ تخزينها. حوّله إلى قائمة شروط واحدة لحفظه في العرض.",
|
|
1534
1774
|
allRecords: "جميع السجلات",
|
|
1535
|
-
exitDesignMode: "الخروج من وضع التصميم",
|
|
1536
|
-
enterDesignMode: "الدخول إلى وضع التصميم",
|
|
1537
|
-
metadataInspector: "مفتش البيانات الوصفية",
|
|
1538
|
-
editView: "تعديل العرض",
|
|
1539
|
-
addView: "إضافة عرض",
|
|
1540
|
-
designTools: "أدوات التصميم",
|
|
1541
1775
|
new: "جديد",
|
|
1542
1776
|
configureView: "تكوين العرض",
|
|
1543
|
-
closePanel: "إغلاق اللوحة",
|
|
1544
|
-
page: "الصفحة",
|
|
1545
|
-
pageConfigHint: "شريط الأدوات والتنقل وإعدادات غلاف العرض",
|
|
1546
|
-
listConfigHint: "عرض البيانات والأعمدة والمظهر لهذا النوع من القائمة",
|
|
1547
|
-
general: "عام",
|
|
1548
|
-
generalHint: "عنوان العرض والوصف والنوع",
|
|
1549
1777
|
toolbar: "شريط الأدوات",
|
|
1550
|
-
toolbarHint: "البحث والتصفية والفرز والتجميع ومفاتيح الكثافة",
|
|
1551
1778
|
toolbarEnabledCount: "{{count}} من {{total}} مفعّل",
|
|
1552
|
-
|
|
1553
|
-
navigationHint: "سلوك النقر على الصف وإعدادات العرض التفصيلي",
|
|
1554
|
-
records: "السجلات",
|
|
1555
|
-
recordsHint: "وضع التحديد وإضافة سجل والتحرير المباشر",
|
|
1556
|
-
exportPrint: "التصدير والطباعة",
|
|
1557
|
-
exportPrintHint: "صيغ التصدير والطباعة وعرض عدد السجلات",
|
|
1558
|
-
showAllFields: "إظهار الكل",
|
|
1559
|
-
hideAllFields: "إخفاء الكل",
|
|
1560
|
-
searchFields: "البحث في الحقول...",
|
|
1779
|
+
searchFields: "البحث في الحقول…",
|
|
1561
1780
|
title: "العنوان",
|
|
1562
|
-
description: "الوصف",
|
|
1563
|
-
data: "البيانات",
|
|
1564
|
-
source: "المصدر",
|
|
1565
|
-
columns: "الأعمدة",
|
|
1566
|
-
filterBy: "تصفية حسب",
|
|
1567
|
-
sortBy: "ترتيب حسب",
|
|
1568
|
-
appearance: "المظهر",
|
|
1569
|
-
showDescription: "عرض الوصف",
|
|
1570
1781
|
viewType: "نوع العرض",
|
|
1571
|
-
userFilters: "مرشحات المستخدم",
|
|
1572
|
-
enableSearch: "تفعيل البحث",
|
|
1573
|
-
enableFilter: "تفعيل التصفية",
|
|
1574
|
-
enableSort: "تفعيل الترتيب",
|
|
1575
|
-
enableHideFields: "تفعيل إخفاء الحقول",
|
|
1576
|
-
enableGroup: "تفعيل التجميع",
|
|
1577
|
-
enableColor: "تفعيل اللون",
|
|
1578
|
-
enableDensity: "تفعيل الكثافة",
|
|
1579
|
-
userActions: "إجراءات المستخدم",
|
|
1580
|
-
addRecordViaForm: "إضافة سجلات عبر النموذج",
|
|
1581
|
-
advanced: "متقدم",
|
|
1582
|
-
allowExport: "السماح بالتصدير",
|
|
1583
1782
|
recordCount: "{{count}} سجل",
|
|
1584
|
-
noDescription: "لا يوجد وصف",
|
|
1585
|
-
none: "لا شيء",
|
|
1586
|
-
columnsConfigured: "{{count}} أعمدة",
|
|
1587
1783
|
save: "حفظ",
|
|
1588
1784
|
discard: "تجاهل",
|
|
1589
1785
|
createView: "إنشاء عرض",
|
|
1590
1786
|
newView: "عرض جديد",
|
|
1591
|
-
typeOptions: "خيارات النوع",
|
|
1592
1787
|
groupByField: "حقل التجميع",
|
|
1593
1788
|
startDateField: "حقل تاريخ البدء",
|
|
1594
1789
|
titleField: "حقل العنوان",
|
|
1595
1790
|
latitudeField: "حقل خط العرض",
|
|
1596
1791
|
longitudeField: "حقل خط الطول",
|
|
1597
1792
|
imageField: "حقل الصورة",
|
|
1598
|
-
|
|
1599
|
-
selectField: "اختر حقلاً...",
|
|
1600
|
-
gridOptionsHint: "يستخدم عرض الشبكة الأعمدة المكونة أعلاه.",
|
|
1793
|
+
selectField: "اختر حقلاً…",
|
|
1601
1794
|
groupBy: "تجميع حسب",
|
|
1602
|
-
prefixField: "حقل البادئة",
|
|
1603
|
-
fields: "الحقول",
|
|
1604
|
-
fieldsVisible: "{{count}} مرئي",
|
|
1605
|
-
sortsCount: "{{count}} ترتيبات",
|
|
1606
|
-
filtersCount: "{{count}} مرشحات",
|
|
1607
1795
|
endDateField: "حقل تاريخ الانتهاء",
|
|
1608
|
-
color: "اللون",
|
|
1609
|
-
fieldTextColor: "لون نص الحقل",
|
|
1610
|
-
rowHeight: "ارتفاع الصف",
|
|
1611
|
-
wrapHeaders: "التفاف العناوين",
|
|
1612
|
-
showFieldDescriptions: "إظهار أوصاف الحقول",
|
|
1613
|
-
collapseAllByDefault: "طي الكل افتراضياً",
|
|
1614
|
-
striped: "صفوف مخططة",
|
|
1615
|
-
bordered: "خلايا محاطة بحدود",
|
|
1616
|
-
inlineEdit: "تحرير السجلات مباشرة",
|
|
1617
|
-
addDeleteRecordsInline: "إضافة/حذف السجلات مباشرة",
|
|
1618
|
-
clickIntoRecordDetails: "انقر لعرض تفاصيل السجل",
|
|
1619
|
-
navigationMode: "وضع التنقل",
|
|
1620
|
-
navigationWidth: "عرض التنقل",
|
|
1621
|
-
navigationWidthHint: "متاح لأوضاع التنقل: الدرج والنافذة المنبثقة والعرض المقسم",
|
|
1622
|
-
openNewTab: "فتح في علامة تبويب جديدة",
|
|
1623
|
-
openNewTabHint: "متاح لأوضاع التنقل: الصفحة والنافذة الجديدة",
|
|
1624
1796
|
import: "استيراد",
|
|
1625
1797
|
importTitle: "استيراد من CSV",
|
|
1626
1798
|
importedToast: "تم استيراد {{count}} صف(صفوف).",
|
|
1627
1799
|
importedWithSkipped: "تم استيراد {{ok}} صف(صفوف)؛ تم تخطي {{skipped}}.",
|
|
1628
|
-
showAdvancedSettings: "إظهار الإعدادات المتقدمة",
|
|
1629
|
-
showFewerSettings: "إظهار إعدادات أقل",
|
|
1630
1800
|
createViewDesc: "اختر نوع العرض وأعطه اسماً. يمكن تغيير جميع الإعدادات لاحقاً.",
|
|
1631
1801
|
cancel: "إلغاء",
|
|
1632
1802
|
create: "إنشاء",
|
|
@@ -1659,7 +1829,7 @@ const ar = {
|
|
|
1659
1829
|
latitudeFieldHelp: "حقل يحتوي على خط العرض (حقول جغرافية فقط).",
|
|
1660
1830
|
longitudeFieldHelp: "حقل يحتوي على خط الطول (حقول جغرافية فقط).",
|
|
1661
1831
|
imageFieldHelp: "تأتي غلاف المعرض من هذا الحقل للصورة أو المرفق.",
|
|
1662
|
-
selectOption: "
|
|
1832
|
+
selectOption: "تحديد…",
|
|
1663
1833
|
noEligibleFieldForType: "لا يوجد حقل مؤهل من هذا النوع. أضف حقلاً إلى الكائن أولاً.",
|
|
1664
1834
|
viewTypeUnavailable: "لا يحتوي هذا الكائن على حقل يمكن أن يعمل كـ \"{{field}}\".",
|
|
1665
1835
|
viewTypeUnavailableShort: "غير مدعوم من هذا الكائن.",
|
|
@@ -1674,58 +1844,9 @@ const ar = {
|
|
|
1674
1844
|
xAxisFieldHelp: "البُعد الفئوي أو الزمني.",
|
|
1675
1845
|
yAxisField: "حقل المحور Y",
|
|
1676
1846
|
yAxisFieldHelp: "الحقل الرقمي للتجميع.",
|
|
1677
|
-
selectionMode: "وضع التحديد",
|
|
1678
|
-
selectionNone: "لا شيء",
|
|
1679
|
-
selectionSingle: "فردي",
|
|
1680
|
-
selectionMultiple: "متعدد",
|
|
1681
|
-
pageSize: "حجم الصفحة",
|
|
1682
|
-
pageSizeOptions: "خيارات حجم الصفحة",
|
|
1683
|
-
exportFormats: "تنسيقات التصدير",
|
|
1684
|
-
exportMaxRecords: "الحد الأقصى للسجلات",
|
|
1685
|
-
exportIncludeHeaders: "تضمين الرؤوس",
|
|
1686
|
-
exportFileNamePrefix: "بادئة اسم الملف",
|
|
1687
|
-
searchableFields: "الحقول القابلة للبحث",
|
|
1688
|
-
filterableFields: "الحقول القابلة للتصفية",
|
|
1689
|
-
resizableColumns: "أعمدة قابلة لتغيير الحجم",
|
|
1690
|
-
densityCompact: "مضغوط",
|
|
1691
|
-
densityComfortable: "عادي",
|
|
1692
|
-
densitySpacious: "فسيح",
|
|
1693
|
-
densityMode: "وضع الكثافة",
|
|
1694
|
-
hiddenFields: "الحقول المخفية",
|
|
1695
|
-
rowActions: "إجراءات الصف",
|
|
1696
|
-
bulkActions: "إجراءات جماعية",
|
|
1697
|
-
sharing: "مشاركة",
|
|
1698
|
-
sharingEnabled: "المشاركة مفعلة",
|
|
1699
|
-
sharingVisibility: "الرؤية",
|
|
1700
|
-
addRecordEnabled: "إضافة سجل مفعلة",
|
|
1701
|
-
addRecordPosition: "الموضع",
|
|
1702
|
-
addRecordMode: "الوضع",
|
|
1703
|
-
addRecordFormView: "عرض النموذج",
|
|
1704
|
-
conditionalFormatting: "التنسيق الشرطي",
|
|
1705
|
-
addRule: "إضافة قاعدة",
|
|
1706
|
-
quickFilters: "فلاتر سريعة",
|
|
1707
|
-
addQuickFilter: "إضافة فلتر سريع",
|
|
1708
|
-
ufElements: "العناصر",
|
|
1709
|
-
ufDropdown: "قائمة منسدلة",
|
|
1710
1847
|
ufTabs: "علامات تبويب",
|
|
1711
|
-
|
|
1712
|
-
ufAddField: "+ إضافة حقل فلتر...",
|
|
1713
|
-
ufNoFields: "لا حقول متاحة",
|
|
1714
|
-
ufAddTab: "+ إضافة علامة تبويب",
|
|
1715
|
-
ufTabLabel: "التسمية",
|
|
1848
|
+
ufAddField: "+ إضافة حقل فلتر…",
|
|
1716
1849
|
ufShowAllRecords: "إظهار علامة \"جميع السجلات\"",
|
|
1717
|
-
ufAllowAddTab: "السماح بإضافة علامات تبويب",
|
|
1718
|
-
showRecordCount: "إظهار عدد السجلات",
|
|
1719
|
-
allowPrinting: "السماح بالطباعة",
|
|
1720
|
-
virtualScroll: "التمرير الافتراضي",
|
|
1721
|
-
emptyStateTitle: "عنوان الحالة الفارغة",
|
|
1722
|
-
emptyStateMessage: "رسالة الحالة الفارغة",
|
|
1723
|
-
emptyStateIcon: "رمز الحالة الفارغة",
|
|
1724
|
-
ariaLabel: "تسمية ARIA",
|
|
1725
|
-
ariaDescribedBy: "موصوف بـ ARIA",
|
|
1726
|
-
ariaLive: "ARIA Live",
|
|
1727
|
-
accessibility: "إمكانية الوصول",
|
|
1728
|
-
viewTabs: "علامات تبويب العرض",
|
|
1729
1850
|
},
|
|
1730
1851
|
localeSwitcher: {
|
|
1731
1852
|
label: "اللغة",
|
|
@@ -1769,7 +1890,7 @@ const ar = {
|
|
|
1769
1890
|
passwordPlaceholder: "أدخل كلمة المرور",
|
|
1770
1891
|
forgotPasswordText: "نسيت كلمة المرور؟",
|
|
1771
1892
|
submitButton: "تسجيل الدخول",
|
|
1772
|
-
submittingButton: "جارٍ تسجيل
|
|
1893
|
+
submittingButton: "جارٍ تسجيل الدخول…",
|
|
1773
1894
|
noAccountText: "ليس لديك حساب؟",
|
|
1774
1895
|
signUpText: "إنشاء حساب",
|
|
1775
1896
|
errors: {
|
|
@@ -1777,6 +1898,18 @@ const ar = {
|
|
|
1777
1898
|
invalidCredentials: "بريد إلكتروني أو كلمة مرور غير صحيحة. يرجى المحاولة مرة أخرى.",
|
|
1778
1899
|
emailNotVerified: "يرجى التحقق من بريدك الإلكتروني قبل تسجيل الدخول.",
|
|
1779
1900
|
},
|
|
1901
|
+
// objectui#3546 slice three — phone/OTP sign-in. `{seconds}` is LoginForm's own
|
|
1902
|
+
// literal `.replace()` hole, not i18next interpolation: keep the single braces.
|
|
1903
|
+
emailOrPhoneLabel: "البريد الإلكتروني أو رقم الهاتف",
|
|
1904
|
+
emailOrPhonePlaceholder: "name@example.com أو +1 555 000 0000",
|
|
1905
|
+
phoneLabel: "رقم الهاتف",
|
|
1906
|
+
phonePlaceholder: "+1 555 000 0000",
|
|
1907
|
+
otpCodeLabel: "رمز التحقق",
|
|
1908
|
+
otpCodePlaceholder: "رمز مكوّن من 6 أرقام",
|
|
1909
|
+
sendOtpButton: "الحصول على رمز",
|
|
1910
|
+
resendOtpCountdownText: "إعادة الإرسال بعد {seconds} ثانية",
|
|
1911
|
+
usePhoneOtpText: "تسجيل الدخول برمز التحقق",
|
|
1912
|
+
usePasswordSignInText: "تسجيل الدخول بكلمة المرور بدلاً من ذلك",
|
|
1780
1913
|
},
|
|
1781
1914
|
register: {
|
|
1782
1915
|
title: "إنشاء حساب",
|
|
@@ -1792,7 +1925,7 @@ const ar = {
|
|
|
1792
1925
|
passwordMismatchError: "كلمتا المرور غير متطابقتين",
|
|
1793
1926
|
passwordTooShortError: "يجب أن تتكون كلمة المرور من 8 أحرف على الأقل",
|
|
1794
1927
|
submitButton: "إنشاء حساب",
|
|
1795
|
-
submittingButton: "جارٍ إنشاء
|
|
1928
|
+
submittingButton: "جارٍ إنشاء الحساب…",
|
|
1796
1929
|
hasAccountText: "لديك حساب بالفعل؟",
|
|
1797
1930
|
signInText: "تسجيل الدخول",
|
|
1798
1931
|
errors: {
|
|
@@ -1813,12 +1946,26 @@ const ar = {
|
|
|
1813
1946
|
emailLabel: "البريد الإلكتروني",
|
|
1814
1947
|
emailPlaceholder: "name@example.com",
|
|
1815
1948
|
submitButton: "إرسال رابط إعادة التعيين",
|
|
1816
|
-
submittingButton: "جارٍ
|
|
1949
|
+
submittingButton: "جارٍ الإرسال…",
|
|
1817
1950
|
successTitle: "تحقق من بريدك الإلكتروني",
|
|
1818
|
-
successDescription: "لقد أرسلنا رابط إعادة تعيين كلمة المرور إلى {
|
|
1951
|
+
successDescription: "لقد أرسلنا رابط إعادة تعيين كلمة المرور إلى {email}. يرجى التحقق من بريدك الوارد.",
|
|
1819
1952
|
backToSignInText: "العودة إلى تسجيل الدخول",
|
|
1820
1953
|
rememberPasswordText: "تتذكر كلمة المرور؟",
|
|
1821
1954
|
signInText: "تسجيل الدخول",
|
|
1955
|
+
// objectui#3546 slice three — the SMS reset branch of the same form.
|
|
1956
|
+
phoneLabel: "رقم الهاتف",
|
|
1957
|
+
phonePlaceholder: "+1 555 000 0000",
|
|
1958
|
+
otpCodeLabel: "رمز التحقق",
|
|
1959
|
+
otpCodePlaceholder: "رمز مكوّن من 6 أرقام",
|
|
1960
|
+
sendOtpButton: "الحصول على رمز",
|
|
1961
|
+
resendOtpCountdownText: "إعادة الإرسال بعد {seconds} ثانية",
|
|
1962
|
+
newPasswordLabel: "كلمة المرور الجديدة",
|
|
1963
|
+
newPasswordPlaceholder: "أدخل كلمة مرور جديدة",
|
|
1964
|
+
resetButton: "إعادة تعيين كلمة المرور",
|
|
1965
|
+
usePhoneResetText: "إعادة التعيين برمز SMS",
|
|
1966
|
+
useEmailResetText: "إعادة التعيين بالبريد الإلكتروني بدلاً من ذلك",
|
|
1967
|
+
phoneSuccessTitle: "تمت إعادة تعيين كلمة المرور",
|
|
1968
|
+
phoneSuccessDescription: "تمت إعادة تعيين كلمة المرور. يمكنك الآن تسجيل الدخول بكلمة المرور الجديدة.",
|
|
1822
1969
|
},
|
|
1823
1970
|
resetPassword: {
|
|
1824
1971
|
title: "تعيين كلمة مرور جديدة",
|
|
@@ -1857,6 +2004,8 @@ const ar = {
|
|
|
1857
2004
|
backToLogin: "العودة إلى تسجيل الدخول",
|
|
1858
2005
|
checkSpam: "لم تستلم البريد؟ تحقق من مجلد البريد غير المرغوب أو تواصل مع الدعم.",
|
|
1859
2006
|
or: "أو",
|
|
2007
|
+
// objectui#3546 slice three.
|
|
2008
|
+
resendUnavailable: "قد يكون إرسال البريد الإلكتروني غير مُهيأ في هذه البيئة. تواصل مع الدعم إذا استمرت المشكلة.",
|
|
1860
2009
|
},
|
|
1861
2010
|
setup: {
|
|
1862
2011
|
welcomeTitle: "مرحباً بك في ObjectStack",
|
|
@@ -1895,6 +2044,9 @@ const ar = {
|
|
|
1895
2044
|
invalidDescription: "لم يتم تقديم رمز جهاز في URL.",
|
|
1896
2045
|
loading: "جارٍ التحميل…",
|
|
1897
2046
|
cancel: "إلغاء",
|
|
2047
|
+
// objectui#3546 slice three — device-authorization plugin switched off.
|
|
2048
|
+
disabledTitle: "تفويض الأجهزة غير مُمكَّن",
|
|
2049
|
+
disabledDescription: "لم يتم تمكين تفويض الأجهزة في هذا النشر، لذا لا يمكن الموافقة على هذا الجهاز هنا.",
|
|
1898
2050
|
},
|
|
1899
2051
|
shell: {
|
|
1900
2052
|
tenantHostHint: "تسجل الدخول إلى مساحة العمل هذه",
|
|
@@ -1934,6 +2086,29 @@ const ar = {
|
|
|
1934
2086
|
},
|
|
1935
2087
|
},
|
|
1936
2088
|
},
|
|
2089
|
+
// objectui#3546 slice three — the /oauth/consent screen.
|
|
2090
|
+
oauth: {
|
|
2091
|
+
consent: {
|
|
2092
|
+
title: "يطلب {{appName}} الوصول إلى حسابك",
|
|
2093
|
+
request: "يطلب {{appName}} الإذن{{suffix}}.",
|
|
2094
|
+
unknownApp: "تطبيق ما",
|
|
2095
|
+
willAllow: "سيتمكن هذا التطبيق من:",
|
|
2096
|
+
scope: {
|
|
2097
|
+
openid: "تأكيد هويتك",
|
|
2098
|
+
profile: "قراءة ملفك الشخصي الأساسي (الاسم، الصورة)",
|
|
2099
|
+
email: "قراءة عنوان بريدك الإلكتروني",
|
|
2100
|
+
offlineAccess: "البقاء مسجّلاً للدخول (تحديث الوصول)",
|
|
2101
|
+
},
|
|
2102
|
+
deny: "رفض",
|
|
2103
|
+
authorize: "تفويض",
|
|
2104
|
+
submitting: "جارٍ التفويض…",
|
|
2105
|
+
granted: "تم منح الوصول",
|
|
2106
|
+
denied: "تم رفض الوصول",
|
|
2107
|
+
noRedirect: "لم يُرجع الخادم أي عنوان URL لإعادة التوجيه.",
|
|
2108
|
+
failed: "فشلت الموافقة",
|
|
2109
|
+
footer: "يمكنك إلغاء الوصول في أي وقت من إعدادات حسابك.",
|
|
2110
|
+
},
|
|
2111
|
+
},
|
|
1937
2112
|
profile: {
|
|
1938
2113
|
title: "الملف الشخصي",
|
|
1939
2114
|
subtitle: "إدارة إعدادات حسابك",
|
|
@@ -1995,6 +2170,8 @@ const ar = {
|
|
|
1995
2170
|
invite: "دعوة عضو",
|
|
1996
2171
|
members: "الأعضاء",
|
|
1997
2172
|
settings: "إعدادات مساحة العمل",
|
|
2173
|
+
multiOrgDisabled: "إنشاء مؤسسات جديدة معطّل في هذا النشر.",
|
|
2174
|
+
createFailed: 'تعذّر إنشاء مساحة العمل',
|
|
1998
2175
|
},
|
|
1999
2176
|
help: {
|
|
2000
2177
|
onThisPage: "في هذه الصفحة",
|
|
@@ -2005,7 +2182,7 @@ const ar = {
|
|
|
2005
2182
|
},
|
|
2006
2183
|
sidebar: {
|
|
2007
2184
|
packageManagement: "إدارة الحزم",
|
|
2008
|
-
searchNavigation: "البحث في
|
|
2185
|
+
searchNavigation: "البحث في التنقل…",
|
|
2009
2186
|
settings: "الإعدادات",
|
|
2010
2187
|
help: "المساعدة",
|
|
2011
2188
|
helpTooltip: "المساعدة والوثائق",
|
|
@@ -2029,8 +2206,8 @@ const ar = {
|
|
|
2029
2206
|
switchObject: "تبديل الكائن",
|
|
2030
2207
|
connection: {
|
|
2031
2208
|
connected: "متصل",
|
|
2032
|
-
connecting: "جارٍ
|
|
2033
|
-
reconnecting: "جارٍ إعادة
|
|
2209
|
+
connecting: "جارٍ الاتصال…",
|
|
2210
|
+
reconnecting: "جارٍ إعادة الاتصال…",
|
|
2034
2211
|
disconnected: "منقطع",
|
|
2035
2212
|
error: "خطأ في الاتصال",
|
|
2036
2213
|
},
|
|
@@ -2046,10 +2223,12 @@ const ar = {
|
|
|
2046
2223
|
build: {
|
|
2047
2224
|
title: "إنشاء تطبيق",
|
|
2048
2225
|
subtitle: "ابدأ من الصفر — صمّم الكائنات والنماذج والأتمتة والواجهات.",
|
|
2226
|
+
noCapability: "إنشاء التطبيقات غير متاح في مساحة العمل هذه — فهو يتطلب إذن «إدارة البيانات الوصفية» الذي لا يملكه حسابك.",
|
|
2049
2227
|
},
|
|
2050
2228
|
template: {
|
|
2051
2229
|
title: "ابدأ من قالب",
|
|
2052
2230
|
subtitle: "ثبّت تطبيق قالب من السوق وخصّصه.",
|
|
2231
|
+
marketplaceDisabled: "لا يوجد سوق تطبيقات مُهيّأ لوقت التشغيل هذا، لذا لا توجد قوالب لتثبيتها هنا.",
|
|
2053
2232
|
},
|
|
2054
2233
|
welcomeAdminDescription: "صف نشاطك التجاري في جملة واحدة — وسيولّد الذكاء الاصطناعي الكائنات والشاشات وواجهات البرمجة وأدوات الوكيل. أو أعدّها بنفسك من القائمة على اليسار.",
|
|
2055
2234
|
welcomeAdminDescriptionNoBuild: "أعدّ تطبيقك الأول من قائمة الإدارة على اليسار. وبمجرد توفر البيانات، يمكن لمساعد الذكاء الاصطناعي مساعدتك في استكشافها.",
|
|
@@ -2069,6 +2248,14 @@ const ar = {
|
|
|
2069
2248
|
publishing: "جارٍ النشر…",
|
|
2070
2249
|
published: "تم النشر! تغييراتك فعّالة الآن.",
|
|
2071
2250
|
publishFailed: "فشل النشر",
|
|
2251
|
+
// objectui#3546 slice six — seedWarn له النص الإنجليزي نفسه الذي في
|
|
2252
|
+
// console.ai.seedWarn، فنعيد استخدام الترجمة ذاتها. علامة «(جمع)» تتبع
|
|
2253
|
+
// grid.import.rowsWithErrors في هذه الحزمة.
|
|
2254
|
+
nothing: "لا شيء للنشر.",
|
|
2255
|
+
probeWarn: "تم النشر، لكن التحقق وجد مشكلات.",
|
|
2256
|
+
seedWarn: "تم النشر، لكن تعذّر تحميل بعض البيانات التجريبية.",
|
|
2257
|
+
publishedVerified: "تم النشر والتحقق — {{count}} صف(صفوف) من البيانات التجريبية فعّالة الآن.",
|
|
2258
|
+
capabilityWarn: "فحص التأليف: {{count}} مرجع(مراجع) قدرات لا تشير إلى شيء.",
|
|
2072
2259
|
},
|
|
2073
2260
|
title: "الرئيسية",
|
|
2074
2261
|
subtitle: "لوحة تحكم مساحة العمل",
|
|
@@ -2082,7 +2269,7 @@ const ar = {
|
|
|
2082
2269
|
title: "يتطلب انتباهك",
|
|
2083
2270
|
empty: "لقد أنجزت كل شيء",
|
|
2084
2271
|
},
|
|
2085
|
-
loading: "جارٍ تحميل مساحة
|
|
2272
|
+
loading: "جارٍ تحميل مساحة العمل…",
|
|
2086
2273
|
recent: "الأخيرة",
|
|
2087
2274
|
starred: "المميزة بنجمة",
|
|
2088
2275
|
welcome: "مرحباً بك في ObjectUI",
|
|
@@ -2143,6 +2330,9 @@ const ar = {
|
|
|
2143
2330
|
roles: "الأدوار",
|
|
2144
2331
|
configuration: "التهيئة",
|
|
2145
2332
|
createApp: "إنشاء تطبيق",
|
|
2333
|
+
administration: "الإدارة",
|
|
2334
|
+
datasources: "مصادر البيانات",
|
|
2335
|
+
documentation: "الوثائق",
|
|
2146
2336
|
},
|
|
2147
2337
|
appSwitcher: {
|
|
2148
2338
|
switchApplication: "تبديل التطبيق",
|
|
@@ -2182,7 +2372,7 @@ const ar = {
|
|
|
2182
2372
|
search: {
|
|
2183
2373
|
title: "بحث",
|
|
2184
2374
|
back: "رجوع",
|
|
2185
|
-
placeholder: "ابحث في الكائنات، لوحات التحكم، الصفحات،
|
|
2375
|
+
placeholder: "ابحث في الكائنات، لوحات التحكم، الصفحات، التقارير…",
|
|
2186
2376
|
inputAriaLabel: "ابحث في الكائنات، لوحات التحكم، الصفحات، التقارير",
|
|
2187
2377
|
resultsCount: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
2188
2378
|
resultsCountPlural: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
@@ -2201,6 +2391,7 @@ const ar = {
|
|
|
2201
2391
|
empty: {
|
|
2202
2392
|
objectNotFound: "الكائن غير موجود",
|
|
2203
2393
|
objectNotFoundDescription: "تعريف الكائن \"{{name}}\" مفقود. تحقق من الإعداد أو ارجع للخلف.",
|
|
2394
|
+
interfacePageSourceMissing: "تشير صفحة الواجهة هذه إلى \"{{name}}\"، وهو غير متاح.",
|
|
2204
2395
|
pageNotFound: "الصفحة غير موجودة",
|
|
2205
2396
|
pageNotFoundDescription: "الصفحة \"{{name}}\" غير موجودة. ربما تم إزالتها أو إعادة تسميتها.",
|
|
2206
2397
|
dashboardNotFound: "لوحة التحكم غير موجودة",
|
|
@@ -2209,27 +2400,17 @@ const ar = {
|
|
|
2209
2400
|
reportNotFoundDescription: "التقرير \"{{name}}\" غير موجود. ربما تم إزالته أو إعادة تسميته.",
|
|
2210
2401
|
noAppsConfigured: "لا تطبيقات مُهيأة",
|
|
2211
2402
|
noAppsConfiguredDescription: "لا تطبيقات مسجلة. أنشئ تطبيقك الأول أو زر إعدادات النظام.",
|
|
2403
|
+
appNotAvailable: "التطبيق غير متاح",
|
|
2404
|
+
appNotAvailableDescription: "هذا التطبيق غير متاح بعد — قد يكون النشر ما زال جارياً. أعد المحاولة بعد لحظات.",
|
|
2405
|
+
appAccessDenied: "ليس لديك حق الوصول إلى هذا التطبيق",
|
|
2406
|
+
appAccessDeniedDescription: "هذا التطبيق موجود، لكن حسابك غير مخوَّل بفتحه. اطلب من المسؤول منحك حق الوصول.",
|
|
2407
|
+
appAccessDeniedHome: "العودة إلى الرئيسية",
|
|
2212
2408
|
createFirstApp: "إنشاء أول تطبيق",
|
|
2213
2409
|
systemSettings: "إعدادات النظام",
|
|
2214
2410
|
back: "رجوع",
|
|
2215
2411
|
recordNotFound: "السجل غير موجود",
|
|
2216
2412
|
recordNotFoundDescription: "السجل الذي تبحث عنه غير موجود أو ربما تم حذفه.",
|
|
2217
2413
|
},
|
|
2218
|
-
renderer: {
|
|
2219
|
-
noPageSchema: "لم يتم توفير مخطط الصفحة",
|
|
2220
|
-
noFormSchema: "لم يتم توفير مخطط النموذج",
|
|
2221
|
-
noDashboardSchema: "لم يتم توفير مخطط لوحة التحكم",
|
|
2222
|
-
pageRendering: "تصيير الصفحة: {{name}}",
|
|
2223
|
-
dashboardRendering: "تصيير لوحة التحكم: {{name}}",
|
|
2224
|
-
formRenderingMode: "تصيير النموذج في وضع {{mode}}",
|
|
2225
|
-
formRenderingFor: "للسجل {{id}}",
|
|
2226
|
-
createRecord: "إنشاء سجل",
|
|
2227
|
-
editRecord: "تعديل السجل",
|
|
2228
|
-
page: "صفحة",
|
|
2229
|
-
dashboard: "لوحة تحكم",
|
|
2230
|
-
save: "حفظ",
|
|
2231
|
-
cancel: "إلغاء",
|
|
2232
|
-
},
|
|
2233
2414
|
actionDialog: {
|
|
2234
2415
|
title: "معامِلات الإجراء",
|
|
2235
2416
|
description: "يرجى إدخال المعلومات المطلوبة للمتابعة.",
|
|
@@ -2280,7 +2461,7 @@ const ar = {
|
|
|
2280
2461
|
deleteFailed: "تعذر حذف العرض",
|
|
2281
2462
|
},
|
|
2282
2463
|
dashboardActions: {
|
|
2283
|
-
|
|
2464
|
+
printDialogOpening: "جارٍ فتح مربع حوار الطباعة في المتصفح (ليس تصديرًا إلى PDF)",
|
|
2284
2465
|
exportFailed: "فشل التصدير: {{message}}",
|
|
2285
2466
|
forecastSoon: "عرض التوقعات قادم قريباً",
|
|
2286
2467
|
},
|
|
@@ -2324,126 +2505,159 @@ const ar = {
|
|
|
2324
2505
|
first: "الأول",
|
|
2325
2506
|
},
|
|
2326
2507
|
editor: {
|
|
2327
|
-
|
|
2328
|
-
basic: "أساسي",
|
|
2329
|
-
title: "العنوان",
|
|
2330
|
-
titlePlaceholder: "مثال: المسار حسب الربع",
|
|
2331
|
-
description: "الوصف",
|
|
2332
|
-
descriptionPlaceholder: "ماذا يعرض هذا التقرير؟",
|
|
2333
|
-
type: "نوع التقرير",
|
|
2334
|
-
typeTabular: "جدولي — قائمة مسطّحة",
|
|
2335
|
-
typeSummary: "ملخص — مجمّع مع المجاميع",
|
|
2336
|
-
typeMatrix: "مصفوفة — محور صفوف × أعمدة",
|
|
2337
|
-
typeJoined: "مدمج — كتل متعددة",
|
|
2338
|
-
typeHelp: "اختر التخطيط الذي يطابق ما تريد رؤيته.",
|
|
2339
|
-
data: "البيانات",
|
|
2340
|
-
objectName: "مصدر البيانات",
|
|
2341
|
-
objectNamePlaceholder: "مثال: opportunity",
|
|
2342
|
-
objectNameHelp: "أي كائن يجب أن يستعلم عنه هذا التقرير؟",
|
|
2343
|
-
limit: "حد عدد الصفوف",
|
|
2344
|
-
limitPlaceholder: "مثال: 100",
|
|
2345
|
-
columns: "الأعمدة",
|
|
2346
|
-
columnsHint: "اختر الحقول التي ستظهر كأعمدة. أضف تجميعًا (مجموع، عدد…) في تقارير الملخص أو المصفوفة.",
|
|
2347
|
-
filters: "عوامل التصفية",
|
|
2348
|
-
filtersHint: "قيّد الصفوف التي تدخل في هذا التقرير.",
|
|
2349
|
-
filtersComplex: "يستخدم هذا التقرير عامل تصفية متقدّمًا لا يمكن تحريره هنا. سيُحتفظ به كما هو عند الحفظ.",
|
|
2350
|
-
groupBy: "التجميع حسب",
|
|
2351
|
-
groupByHint: "جمّع البيانات واحسب المجاميع الفرعية.",
|
|
2352
|
-
rows: "الصفوف",
|
|
2353
|
-
rowsHint: "جمّع الصفوف حسب هذه الحقول.",
|
|
2354
|
-
columnsAxis: "الأعمدة",
|
|
2355
|
-
columnsAxisHint: "اعرض هذه الحقول كمحور في الأعلى.",
|
|
2356
|
-
values: "القيم",
|
|
2357
|
-
valuesHint: "الأرقام التي تظهر في كل خلية. اختر حقلاً واحدًا أو أكثر وأضف تجميعًا (مجموع، عدد…).",
|
|
2358
|
-
grouping: "تجميع",
|
|
2359
|
-
addGrouping: "إضافة تجميع",
|
|
2360
|
-
dateGranularity: "دقة التاريخ",
|
|
2361
|
-
dateGranularityNone: "(استخدام القيمة الأصلية)",
|
|
2362
|
-
day: "يوم",
|
|
2363
|
-
week: "أسبوع",
|
|
2364
|
-
month: "شهر",
|
|
2365
|
-
quarter: "ربع",
|
|
2366
|
-
year: "سنة",
|
|
2367
|
-
sortAsc: "تصاعدي",
|
|
2368
|
-
sortDesc: "تنازلي",
|
|
2369
|
-
chart: "الرسم البياني",
|
|
2370
|
-
chartHint: "عرض مرئي اختياري بجانب الجدول.",
|
|
2371
|
-
chartType: "نوع الرسم",
|
|
2372
|
-
chartTitle: "عنوان الرسم",
|
|
2373
|
-
chartTitlePlaceholder: "افتراضيًا يستخدم عنوان التقرير",
|
|
2374
|
-
chartXAxis: "المحور السيني (الفئة)",
|
|
2375
|
-
chartYAxis: "المحور الصادي (القيمة)",
|
|
2376
|
-
chartShowLegend: "إظهار وسيلة الإيضاح",
|
|
2377
|
-
chartShowDataLabels: "إظهار تسميات البيانات",
|
|
2378
|
-
chartNone: "(بدون رسم)",
|
|
2379
|
-
chartBar: "أعمدة",
|
|
2380
|
-
chartLine: "خطي",
|
|
2381
|
-
chartArea: "منطقة",
|
|
2382
|
-
chartPie: "دائري",
|
|
2383
|
-
chartDonut: "حلقي",
|
|
2384
|
-
chartFunnel: "قمعي",
|
|
2385
|
-
validationNeedsObject: "اختر مصدر بيانات قبل إضافة الأعمدة.",
|
|
2386
|
-
validationMatrixNeedsRowsCols: "تتطلب تقارير المصفوفة صفًا وعمودًا واحدًا على الأقل.",
|
|
2387
|
-
validationSummaryNeedsRows: "تتطلب تقارير الملخص حقل تجميع واحدًا على الأقل.",
|
|
2388
|
-
blocks: "الكتل",
|
|
2389
|
-
blocksHint: "كل كتلة هي جدولها أو رسمها البياني الخاص. عوامل تصفية الكتلة تُدمج مع عامل تصفية التقرير بمنطق AND.",
|
|
2390
|
-
addBlock: "إضافة كتلة",
|
|
2391
|
-
removeBlock: "إزالة الكتلة",
|
|
2392
|
-
blockName: "اسم الكتلة",
|
|
2393
|
-
blockNamePlaceholder: "اسم_فريد_للكتلة",
|
|
2394
|
-
blockLabel: "التسمية المعروضة",
|
|
2395
|
-
blockLabelPlaceholder: "تُعرض فوق الكتلة",
|
|
2396
|
-
blockDescription: "الوصف",
|
|
2397
|
-
blockDescriptionPlaceholder: "سياق اختياري لهذه الكتلة",
|
|
2398
|
-
validationJoinedNeedsBlocks: "تتطلب التقارير المدمجة كتلة واحدة على الأقل.",
|
|
2399
|
-
validationBlockNameRequired: "يجب أن يكون لكل كتلة اسم غير فارغ.",
|
|
2400
|
-
validationBlockNameDuplicate: "يجب أن تكون أسماء الكتل فريدة داخل التقرير.",
|
|
2401
|
-
validationBlockNeedsColumns: "تحتاج كل كتلة إلى عمود واحد على الأقل.",
|
|
2402
|
-
noneOption: "(بلا)",
|
|
2403
|
-
addCondition: "إضافة شرط",
|
|
2404
|
-
combineLogic: "الدمج مع",
|
|
2405
|
-
opContains: "يحتوي على",
|
|
2406
|
-
opIsEmpty: "فارغ",
|
|
2407
|
-
opIsNotEmpty: "ليس فارغًا",
|
|
2408
|
-
formatAuto: "تلقائي",
|
|
2409
|
-
formatCurrency: "عملة",
|
|
2410
|
-
formatPercent: "نسبة مئوية",
|
|
2411
|
-
formatInteger: "عدد صحيح",
|
|
2412
|
-
formatDate: "تاريخ",
|
|
2413
|
-
formatDatetime: "تاريخ ووقت",
|
|
2414
|
-
columnLabelPlaceholder: "تجاوز التسمية",
|
|
2415
|
-
aggregateColumn: "تجميع",
|
|
2416
|
-
formatColumn: "تنسيق",
|
|
2417
|
-
addColumns: "إضافة أعمدة",
|
|
2418
|
-
searchFields: "البحث في الحقول…",
|
|
2419
|
-
noMatchingFields: "لا توجد حقول تطابق بحثك.",
|
|
2420
|
-
noFieldsAvailable: "لا توجد حقول متاحة.",
|
|
2421
|
-
columnsCount: "{n} عمود(أعمدة) محدد(ة)",
|
|
2422
|
-
columnsEmpty: "لم يتم تحديد أعمدة بعد.",
|
|
2423
|
-
fieldPickerTitle: "تحديد الحقول",
|
|
2424
|
-
fieldPickerDescription: "اختر حقلاً أو أكثر للإضافة. استخدم مربع البحث لتصفية القائمة.",
|
|
2425
|
-
fieldPickerChangeTitle: "تغيير الحقل",
|
|
2426
|
-
fieldPickerAddGroupingTitle: "إضافة تجميع",
|
|
2427
|
-
fieldPickerEmpty: "(تحديد حقل)",
|
|
2428
|
-
fieldPickerSelected: "{n} محدد(ة)",
|
|
2429
|
-
fieldPickerClear: "مسح التحديد",
|
|
2430
|
-
fieldPickerAdd: "إضافة",
|
|
2431
|
-
fieldPickerAddN: "إضافة {n}",
|
|
2508
|
+
panelTitle: "تعديل التقرير",
|
|
2432
2509
|
},
|
|
2433
2510
|
},
|
|
2434
2511
|
organizations: {
|
|
2435
2512
|
create: "إنشاء مساحة عمل",
|
|
2436
|
-
mine: "
|
|
2437
|
-
title: "
|
|
2438
|
-
heading: "
|
|
2439
|
-
subtitle: "اختر
|
|
2440
|
-
searchPlaceholder: "ابحث عن
|
|
2441
|
-
new: "
|
|
2442
|
-
current: "
|
|
2513
|
+
mine: "مساحات عملي",
|
|
2514
|
+
title: "مساحات العمل",
|
|
2515
|
+
heading: "مساحات عملك",
|
|
2516
|
+
subtitle: "اختر مساحة عمل للمتابعة، أو أنشئ مساحة عمل جديدة.",
|
|
2517
|
+
searchPlaceholder: "ابحث عن مساحة عمل",
|
|
2518
|
+
new: "مساحة عمل جديدة",
|
|
2519
|
+
current: "مساحة العمل الحالية",
|
|
2443
2520
|
manage: "إدارة",
|
|
2444
|
-
emptyTitle: "لا توجد
|
|
2445
|
-
emptyDescription: "أنشئ
|
|
2446
|
-
noMatches: "لا توجد
|
|
2521
|
+
emptyTitle: "لا توجد مساحات عمل بعد",
|
|
2522
|
+
emptyDescription: "أنشئ مساحة عملك الأولى للبدء.",
|
|
2523
|
+
noMatches: "لا توجد مساحات عمل تطابق بحثك.",
|
|
2524
|
+
},
|
|
2525
|
+
organization: {
|
|
2526
|
+
roles: {
|
|
2527
|
+
owner: 'المالك',
|
|
2528
|
+
admin: 'المسؤول',
|
|
2529
|
+
delegatedAdmin: 'مسؤول مفوَّض',
|
|
2530
|
+
member: 'عضو',
|
|
2531
|
+
},
|
|
2532
|
+
errors: {
|
|
2533
|
+
notAllowedToInvite: 'لا يُسمح لك بدعوة مستخدمين إلى هذه المؤسسة.',
|
|
2534
|
+
notAllowedToInviteWithRole: 'لا يُسمح لك بدعوة مستخدم بهذا الدور.',
|
|
2535
|
+
alreadyInvited: 'تمت دعوة هذا المستخدم إلى هذه المؤسسة بالفعل.',
|
|
2536
|
+
organizationExists: 'هذه المؤسسة موجودة بالفعل.',
|
|
2537
|
+
slugTaken: 'هذا المُعرِّف مستخدَم بالفعل.',
|
|
2538
|
+
notAllowedToCreate: 'لا يُسمح لك بإنشاء مؤسسة جديدة.',
|
|
2539
|
+
notTheRecipient: 'لست المستلم المقصود بهذه الدعوة.',
|
|
2540
|
+
invitationNotFound: 'لم تعد هذه الدعوة موجودة أو أنها منتهية الصلاحية.',
|
|
2541
|
+
unknown: 'حدث خطأ ما. يرجى المحاولة مرة أخرى.',
|
|
2542
|
+
},
|
|
2543
|
+
backToList: "العودة إلى المؤسسات",
|
|
2544
|
+
notFound: "المؤسسة غير موجودة",
|
|
2545
|
+
notFoundDescription: "هذه المؤسسة غير موجودة أو ليس لديك صلاحية الوصول إليها.",
|
|
2546
|
+
tabs: {
|
|
2547
|
+
members: "الأعضاء",
|
|
2548
|
+
invitations: "الدعوات",
|
|
2549
|
+
settings: "الإعدادات",
|
|
2550
|
+
},
|
|
2551
|
+
members: {
|
|
2552
|
+
title: "الأعضاء",
|
|
2553
|
+
inviteMember: "دعوة عضو",
|
|
2554
|
+
inviteRestrictedNote: "لا يمكن دعوة الأعضاء إلا لمسؤولي المؤسسة.",
|
|
2555
|
+
removeMember: "إزالة العضو",
|
|
2556
|
+
removeConfirmTitle: "إزالة العضو؟",
|
|
2557
|
+
removeConfirmDescription: "سيؤدي ذلك إلى إزالة {{name}} من المؤسسة، وسيفقد صلاحية الوصول فورًا.",
|
|
2558
|
+
removeConfirmAction: "إزالة",
|
|
2559
|
+
memberRemoved: "تمت إزالة العضو",
|
|
2560
|
+
removeFailed: "فشل إزالة العضو",
|
|
2561
|
+
roleUpdated: "تم تحديث الدور",
|
|
2562
|
+
roleUpdateFailed: "فشل تحديث الدور",
|
|
2563
|
+
memberActions: 'إجراءات العضو',
|
|
2564
|
+
loadFailed: 'تعذّر تحميل الأعضاء',
|
|
2565
|
+
},
|
|
2566
|
+
invitations: {
|
|
2567
|
+
title: "الدعوات",
|
|
2568
|
+
empty: "لا توجد دعوات.",
|
|
2569
|
+
expiresAt: "تنتهي في",
|
|
2570
|
+
linkCopied: "تم نسخ رابط الدعوة",
|
|
2571
|
+
copyFailed: "فشل نسخ الرابط",
|
|
2572
|
+
canceled: "تم إلغاء الدعوة",
|
|
2573
|
+
cancelFailed: "فشل إلغاء الدعوة",
|
|
2574
|
+
cancelTitle: "إلغاء الدعوة؟",
|
|
2575
|
+
cancelDescription: "سيتم إبطال الدعوة المرسلة إلى {{email}}.",
|
|
2576
|
+
cancelAction: "إلغاء الدعوة",
|
|
2577
|
+
inviteTitle: "دعوة عضو",
|
|
2578
|
+
inviteDescription: "سيتلقى دعوة للانضمام إلى هذه المؤسسة.",
|
|
2579
|
+
emailLabel: "البريد الإلكتروني",
|
|
2580
|
+
roleLabel: "الدور",
|
|
2581
|
+
placementLabel: "التعيين (اختياري)",
|
|
2582
|
+
placementDescription: "يُطبَّق عند قبول الدعوة. تُعرض فقط الوحدات والمناصب التي يمكنك تفويضها.",
|
|
2583
|
+
businessUnitLabel: "وحدة العمل",
|
|
2584
|
+
businessUnitPlaceholder: "بدون تعيين",
|
|
2585
|
+
positionsLabel: "المناصب",
|
|
2586
|
+
sendInvite: "إرسال الدعوة",
|
|
2587
|
+
sentTitle: "تم إنشاء الدعوة",
|
|
2588
|
+
sentDescription: "شارك الرابط أدناه مع المدعوّ. سيحتاج إلى تسجيل الدخول للقبول.",
|
|
2589
|
+
linkLabel: "رابط القبول",
|
|
2590
|
+
invitedAs: "تمت دعوة {{email}} بصفة {{role}}",
|
|
2591
|
+
copyLinkLabel: 'نسخ رابط الدعوة',
|
|
2592
|
+
loadFailed: 'تعذّر تحميل الدعوات',
|
|
2593
|
+
inviteFailed: 'تعذّرت دعوة العضو',
|
|
2594
|
+
status: {
|
|
2595
|
+
all: "الكل",
|
|
2596
|
+
pending: "قيد الانتظار",
|
|
2597
|
+
accepted: "مقبولة",
|
|
2598
|
+
rejected: "مرفوضة",
|
|
2599
|
+
canceled: "ملغاة",
|
|
2600
|
+
},
|
|
2601
|
+
},
|
|
2602
|
+
settings: {
|
|
2603
|
+
generalTitle: "عام",
|
|
2604
|
+
generalDescription: "حدّث معلومات مؤسستك.",
|
|
2605
|
+
readOnlyNote: "يمكن للمالكين فقط تغيير الإعدادات.",
|
|
2606
|
+
nameLabel: "اسم المؤسسة",
|
|
2607
|
+
slugLabel: "المعرف",
|
|
2608
|
+
logoLabel: "الشعار",
|
|
2609
|
+
logoUpload: "رفع",
|
|
2610
|
+
logoReplace: "استبدال",
|
|
2611
|
+
logoClear: "إزالة",
|
|
2612
|
+
logoUploaded: "تم رفع الشعار — احفظ لتطبيقه",
|
|
2613
|
+
logoUploadFailed: "فشل رفع الشعار",
|
|
2614
|
+
save: "حفظ التغييرات",
|
|
2615
|
+
saved: "تم حفظ الإعدادات",
|
|
2616
|
+
saveFailed: "فشل حفظ الإعدادات",
|
|
2617
|
+
leaveTitle: "مغادرة المؤسسة",
|
|
2618
|
+
leaveDescription: "ستفقد صلاحية الوصول إلى هذه المؤسسة.",
|
|
2619
|
+
leaveAction: "مغادرة",
|
|
2620
|
+
leaveConfirmTitle: "مغادرة المؤسسة؟",
|
|
2621
|
+
leaveConfirmDescription: "هل أنت متأكد أنك تريد مغادرة {{name}}؟ ستفقد صلاحية الوصول فورًا.",
|
|
2622
|
+
leaveConfirmAction: "مغادرة",
|
|
2623
|
+
leftOrg: "لقد غادرت المؤسسة",
|
|
2624
|
+
leaveFailed: "فشلت مغادرة المؤسسة",
|
|
2625
|
+
dangerZone: "منطقة الخطر",
|
|
2626
|
+
deleteTitle: "حذف المؤسسة",
|
|
2627
|
+
deleteDescription: "احذف هذه المؤسسة وجميع بياناتها نهائيًا.",
|
|
2628
|
+
deleteAction: "حذف",
|
|
2629
|
+
deleteConfirmTitle: "حذف المؤسسة؟",
|
|
2630
|
+
deleteConfirmDescription: "هذا الإجراء لا يمكن التراجع عنه. ستُحذف جميع البيانات نهائيًا. اكتب معرف المؤسسة للتأكيد.",
|
|
2631
|
+
deleteConfirmSlugLabel: "اكتب \"{{slug}}\" للتأكيد",
|
|
2632
|
+
deleteConfirmAction: "حذف المؤسسة",
|
|
2633
|
+
deleted: "تم حذف المؤسسة",
|
|
2634
|
+
deleteFailed: "فشل حذف المؤسسة",
|
|
2635
|
+
},
|
|
2636
|
+
accept: {
|
|
2637
|
+
title: "لقد تلقيت دعوة",
|
|
2638
|
+
description: "تمت دعوتك للانضمام إلى {{orgName}} بصفة {{role}}.",
|
|
2639
|
+
errorTitle: "الدعوة غير متاحة",
|
|
2640
|
+
goToOrgs: "الانتقال إلى المؤسسات",
|
|
2641
|
+
loading: "جارٍ تحميل الدعوة…",
|
|
2642
|
+
organization: "المؤسسة",
|
|
2643
|
+
role: "الدور",
|
|
2644
|
+
expiresAt: "تنتهي في",
|
|
2645
|
+
accept: "قبول الدعوة",
|
|
2646
|
+
accepted: "تم قبول الدعوة",
|
|
2647
|
+
acceptFailed: "فشل قبول الدعوة",
|
|
2648
|
+
decline: "رفض",
|
|
2649
|
+
declined: "تم رفض الدعوة",
|
|
2650
|
+
declineFailed: "فشل رفض الدعوة",
|
|
2651
|
+
},
|
|
2652
|
+
current: {
|
|
2653
|
+
label: "المؤسسة الحالية",
|
|
2654
|
+
},
|
|
2655
|
+
switcher: {
|
|
2656
|
+
label: "تبديل المؤسسة",
|
|
2657
|
+
groupLabel: "مؤسسة العمل",
|
|
2658
|
+
groupHint: "تُنشأ السجلات الجديدة هنا. تعرض العروض بيانات من جميع مؤسساتك.",
|
|
2659
|
+
manageMembers: "إدارة الأعضاء",
|
|
2660
|
+
},
|
|
2447
2661
|
},
|
|
2448
2662
|
notifications: {
|
|
2449
2663
|
regionLabel: "الإشعارات",
|
|
@@ -2458,6 +2672,9 @@ const ar = {
|
|
|
2458
2672
|
viewApprovals: "عرض الموافقات",
|
|
2459
2673
|
noPendingApprovals: "لا توجد موافقات معلقة",
|
|
2460
2674
|
openApprovalsInbox: "فتح صندوق الموافقات",
|
|
2675
|
+
badgeTotal: "{{total}} إجمالاً",
|
|
2676
|
+
badgeNotifications: "{{unread}} إشعارات",
|
|
2677
|
+
badgeApprovals: "{{approvals}} موافقات معلقة",
|
|
2461
2678
|
emptyUnread: "كل شيء مقروء",
|
|
2462
2679
|
filterUnread: "غير مقروء",
|
|
2463
2680
|
filterAll: "الكل",
|
|
@@ -2482,52 +2699,6 @@ const ar = {
|
|
|
2482
2699
|
consentRequired: "يرجى قبول سياسة الخصوصية للمتابعة.",
|
|
2483
2700
|
rateLimited: "خذ لحظة لمراجعة إجاباتك قبل الإرسال.",
|
|
2484
2701
|
redirectBlocked: "تم قبول الإرسال، لكن رابط إعادة التوجيه تم حظره لأسباب أمنية.",
|
|
2485
|
-
demo: {
|
|
2486
|
-
contactTitle: "تواصل معنا",
|
|
2487
|
-
contactDescription: "أخبرنا عن مشروعك وسيتواصل معك أحد ممثلي المبيعات خلال يوم عمل.",
|
|
2488
|
-
supportTitle: "إرسال طلب دعم",
|
|
2489
|
-
supportDescription: "صف لنا المشكلة وسيرد فريقنا خلال يوم عمل.",
|
|
2490
|
-
thankYouSalesTitle: "شكراً — لقد استلمنا رسالتك!",
|
|
2491
|
-
thankYouSalesMessage: "سيتواصل معك أحد ممثلي المبيعات خلال يوم عمل.",
|
|
2492
|
-
thankYouSupportTitle: "تم — طلبك في قائمة الانتظار.",
|
|
2493
|
-
thankYouSupportMessage: "سيتابع معك مهندس الدعم قريباً. احفظ هذه الصفحة إذا كان لديك لقطات شاشة إضافية.",
|
|
2494
|
-
field: {
|
|
2495
|
-
firstName: "الاسم الأول",
|
|
2496
|
-
lastName: "اسم العائلة",
|
|
2497
|
-
email: "البريد الإلكتروني للعمل",
|
|
2498
|
-
phone: "الهاتف",
|
|
2499
|
-
jobTitle: "المسمى الوظيفي",
|
|
2500
|
-
company: "الشركة",
|
|
2501
|
-
website: "الموقع الإلكتروني",
|
|
2502
|
-
industry: "القطاع",
|
|
2503
|
-
companySize: "حجم الشركة",
|
|
2504
|
-
howCanWeHelp: "كيف يمكننا مساعدتك؟",
|
|
2505
|
-
subject: "الموضوع",
|
|
2506
|
-
description: "الوصف",
|
|
2507
|
-
issueType: "نوع المشكلة",
|
|
2508
|
-
priority: "الأولوية",
|
|
2509
|
-
},
|
|
2510
|
-
industry: {
|
|
2511
|
-
technology: "التكنولوجيا",
|
|
2512
|
-
software: "البرمجيات / SaaS",
|
|
2513
|
-
finance: "المالية",
|
|
2514
|
-
healthcare: "الرعاية الصحية",
|
|
2515
|
-
retail: "التجزئة",
|
|
2516
|
-
other: "أخرى",
|
|
2517
|
-
},
|
|
2518
|
-
issueType: {
|
|
2519
|
-
question: "سؤال",
|
|
2520
|
-
problem: "مشكلة",
|
|
2521
|
-
bug: "خطأ برمجي",
|
|
2522
|
-
feature_request: "طلب ميزة",
|
|
2523
|
-
},
|
|
2524
|
-
priority: {
|
|
2525
|
-
low: "منخفضة",
|
|
2526
|
-
medium: "متوسطة",
|
|
2527
|
-
high: "عالية",
|
|
2528
|
-
critical: "حرجة",
|
|
2529
|
-
},
|
|
2530
|
-
},
|
|
2531
2702
|
},
|
|
2532
2703
|
connectAgent: {
|
|
2533
2704
|
disabled: {
|
|
@@ -2640,6 +2811,7 @@ const ar = {
|
|
|
2640
2811
|
retry: "إعادة المحاولة",
|
|
2641
2812
|
errors: {
|
|
2642
2813
|
expired: "انتهت صلاحية الطلب قبل الموافقة عليه. ابدأ من جديد.",
|
|
2814
|
+
accessDenied: "تم رفض طلب الاتصال. ابدأ من جديد.",
|
|
2643
2815
|
bindFailed: "فشل الربط.",
|
|
2644
2816
|
deviceCodeFailed: "فشل طلب رمز الجهاز.",
|
|
2645
2817
|
},
|
|
@@ -2705,10 +2877,16 @@ const ar = {
|
|
|
2705
2877
|
installedBadge: "مثبت v{{version}}",
|
|
2706
2878
|
load: {
|
|
2707
2879
|
failed: "تعذر تحميل السوق",
|
|
2708
|
-
|
|
2880
|
+
failedHintConfigured: "يصل وقت التشغيل هذا إلى السوق عبر مستوى التحكم على {{url}}. تحقق من أنه متصل بالإنترنت ويمكن الوصول إليه من هنا.",
|
|
2881
|
+
failedHintSameOrigin: "يقدّم وقت التشغيل هذا كتالوج السوق بنفسه. تأكد من أن وقت التشغيل متصل بالإنترنت.",
|
|
2709
2882
|
packageFailed: "تعذر تحميل الحزمة",
|
|
2710
2883
|
notFound: "غير موجود.",
|
|
2711
2884
|
},
|
|
2885
|
+
disabled: {
|
|
2886
|
+
title: "سوق التطبيقات معطّل",
|
|
2887
|
+
description: "لا يوجد سوق مُهيّأ لوقت التشغيل هذا، لذا لا يوجد ما يمكن تصفحه أو تثبيته من هنا.",
|
|
2888
|
+
hint: "هذه هي الحالة المتوقعة عند تشغيل وقت التشغيل باستخدام <code>OS_CLOUD_URL=off</code> (أو <code>none</code> أو <code>local</code> أو <code>disabled</code>). لتفعيل السوق، وجّه <code>OS_CLOUD_URL</code> إلى مستوى تحكم وأعد تشغيل وقت التشغيل.",
|
|
2889
|
+
},
|
|
2712
2890
|
detail: {
|
|
2713
2891
|
homepage: "الصفحة الرئيسية",
|
|
2714
2892
|
installedV: "مثبت · v{{version}}",
|
|
@@ -2744,6 +2922,7 @@ const ar = {
|
|
|
2744
2922
|
dismiss: "رفض",
|
|
2745
2923
|
openOnCloud: "فتح في السحابة",
|
|
2746
2924
|
backHome: "العودة إلى الرئيسية",
|
|
2925
|
+
updateTo: "تحديث",
|
|
2747
2926
|
},
|
|
2748
2927
|
install: {
|
|
2749
2928
|
dialogTitle: "تثبيت {{name}}",
|
|
@@ -2760,6 +2939,37 @@ const ar = {
|
|
|
2760
2939
|
localManifestConflict: "{{message}}\nملاحظة: تطبيق محلي يمتلك بالفعل هذا المعرف. أزله أولاً من objectstack.config.ts.",
|
|
2761
2940
|
localUnauthorized: "سجل الدخول إلى هذا الوقت التشغيل أولاً.",
|
|
2762
2941
|
localMarketplaceUnavailable: "هذا الوقت التشغيل لا يحتوي على OS_CLOUD_URL مُهيأ.",
|
|
2942
|
+
updateTo: "تحديث → v{{version}}",
|
|
2943
|
+
installedVersion: "مثبت v{{version}}",
|
|
2944
|
+
},
|
|
2945
|
+
// objectui#3546 — the MarketplacePage "Your organization" strip.
|
|
2946
|
+
org: {
|
|
2947
|
+
heading: "مؤسستك",
|
|
2948
|
+
install: "تثبيت",
|
|
2949
|
+
installed: "تم تثبيت {{name}}",
|
|
2950
|
+
installedBadge: "مثبت",
|
|
2951
|
+
installing: "جارٍ التثبيت…",
|
|
2952
|
+
},
|
|
2953
|
+
// ADR-0025 PD4 §3.5/§3.11 — the pre-install consent panel
|
|
2954
|
+
// (PluginDisclosure.tsx). `runtime` is a CLOSED enum: spec
|
|
2955
|
+
// PluginRuntimeSchema = z.enum(['node', 'sandbox', 'worker']).
|
|
2956
|
+
disclosure: {
|
|
2957
|
+
containsCode: "تحتوي هذه الحزمة على تعليمات برمجية",
|
|
2958
|
+
reviewed: "تمت المراجعة والموافقة",
|
|
2959
|
+
unreviewed: "لم تتم المراجعة بعد",
|
|
2960
|
+
signed: "موقَّع",
|
|
2961
|
+
grantsIntro: "عند التثبيت، ستُمنح هذه الحزمة:",
|
|
2962
|
+
services: "خدمات المنصة",
|
|
2963
|
+
hooks: "خطافات دورة الحياة",
|
|
2964
|
+
network: "الوصول إلى الشبكة",
|
|
2965
|
+
fs: "الوصول إلى نظام الملفات",
|
|
2966
|
+
noPermissions: "لا تطلب أي أذونات خاصة.",
|
|
2967
|
+
acknowledge: "أفهم أن هذه الحزمة تنفّذ تعليمات برمجية وتحصل على الأذونات المذكورة أعلاه.",
|
|
2968
|
+
runtime: {
|
|
2969
|
+
node: "داخل العملية · ثقة كاملة",
|
|
2970
|
+
sandbox: "في بيئة معزولة",
|
|
2971
|
+
worker: "خارج العملية",
|
|
2972
|
+
},
|
|
2763
2973
|
},
|
|
2764
2974
|
uninstall: {
|
|
2765
2975
|
confirm: "إلغاء تثبيت {{manifestId}} v{{version}} من هذا الوقت التشغيل؟\n\nسيتم إزالة المانيفست المخزن مؤقتاً.",
|
|
@@ -2916,12 +3126,19 @@ const ar = {
|
|
|
2916
3126
|
submittedAgo: 'قُدِّم {{when}}',
|
|
2917
3127
|
completedAt: 'اكتمل {{when}}',
|
|
2918
3128
|
waitingOn: 'بانتظار',
|
|
3129
|
+
approverNameSeparator: '، ',
|
|
3130
|
+
approverUnstaffed: '{{seat}} (لا يشغلها أحد حاليًا)',
|
|
2919
3131
|
history: 'النشاط',
|
|
2920
3132
|
noActions: 'لا إجراءات بعد.',
|
|
2921
3133
|
actSubmit: 'تقديم',
|
|
2922
3134
|
actApprove: 'موافقة',
|
|
2923
3135
|
actReject: 'رفض',
|
|
2924
3136
|
actRecall: 'سحب',
|
|
3137
|
+
overrideActionLabel: '{{action}} (تجاوز إداري)',
|
|
3138
|
+
overrideNotice: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تُنهى الخطوة فورًا ويُتخطّى كل موافِق لم يتصرف بعد. يُسجَّل القرار بوصفه تجاوزًا إداريًا.',
|
|
3139
|
+
overrideNoticeWho: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تُنهى الخطوة فورًا ويُتخطّى الموافقون الذين لم يتصرفوا بعد — {{who}}. يُسجَّل القرار بوصفه تجاوزًا إداريًا.',
|
|
3140
|
+
viaOverrideChip: 'تجاوز إداري',
|
|
3141
|
+
viaOverrideHint: 'لم يكن للمنفِّذ موقع موافِق في هذه الخطوة — سُمح له عبر مسار التجاوز الإداري.',
|
|
2925
3142
|
rawData: 'البيانات الخام (JSON)',
|
|
2926
3143
|
copy: 'نسخ',
|
|
2927
3144
|
copied: 'تم النسخ',
|
|
@@ -3008,6 +3225,39 @@ const ar = {
|
|
|
3008
3225
|
detailChangedKeys: 'تغييرات أخرى:',
|
|
3009
3226
|
confirmNote: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
3010
3227
|
publishConfirm: 'نشر الكل',
|
|
3228
|
+
// [objectui#5418] Pre-publish security-posture findings, shown next to
|
|
3229
|
+
// the confirm button so a refusal the door would issue is read BEFORE
|
|
3230
|
+
// the click rather than as a toast after the batch rolled back.
|
|
3231
|
+
securityBlockTitle: 'سيتم رفض النشر — {{count}} عنصر (عناصر) بحاجة إلى قرار أولاً',
|
|
3232
|
+
securityBlockWhere: 'أصلحه في الكائن ضمن الإعدادات ← مشاركة السجلات، ثم انشر مرة أخرى.',
|
|
3233
|
+
},
|
|
3234
|
+
// ADR-0045 — the materialized-but-unlisted app banner
|
|
3235
|
+
// (UnpublishedAppBar.tsx), sibling of draftBar above.
|
|
3236
|
+
unpublishedBar: {
|
|
3237
|
+
message: 'تطبيق غير منشور — يعمل بالكامل، لكن لا يراه سوى المنشئين. انشره ليصبح مرئياً لمستخدميك.',
|
|
3238
|
+
publish: 'نشر',
|
|
3239
|
+
publishing: 'جارٍ النشر…',
|
|
3240
|
+
published: 'تم النشر! التطبيق مرئي الآن لمستخدميك.',
|
|
3241
|
+
publishFailed: 'فشل النشر',
|
|
3242
|
+
},
|
|
3243
|
+
// ADR-0067 — the append-only build/revert timeline (CommitTimeline.tsx);
|
|
3244
|
+
// `button` is the banner's entry point into it.
|
|
3245
|
+
history: {
|
|
3246
|
+
button: 'السجل',
|
|
3247
|
+
title: 'سجل البناء',
|
|
3248
|
+
description: 'كل تغيير في هذا التطبيق، الأحدث أولاً. تراجع عن أي خطوة لإلغائها — لا حاجة لتأكيد النشر.',
|
|
3249
|
+
loadFailed: 'تعذر تحميل السجل:',
|
|
3250
|
+
loadFailedUnavailable: 'يتعذّر الوصول مؤقتًا إلى مخزن الإيداعات — لم تتم هذه القراءة، لذلك لا يُعرض أي سجل. أعد المحاولة بعد قليل.',
|
|
3251
|
+
loading: 'جارٍ تحميل السجل…',
|
|
3252
|
+
empty: 'لا يوجد سجل لهذا التطبيق بعد.',
|
|
3253
|
+
revertLabel: 'تم التراجع عن تغيير',
|
|
3254
|
+
applyLabel: 'تغيير من البناء',
|
|
3255
|
+
revert: 'تراجع',
|
|
3256
|
+
items: 'عناصر',
|
|
3257
|
+
revertAction: 'تراجع',
|
|
3258
|
+
reverted: 'تم التراجع — أُلغي التغيير.',
|
|
3259
|
+
revertFailed: 'فشل التراجع',
|
|
3260
|
+
revertUnavailable: 'يتعذّر الوصول مؤقتًا إلى مخزن الإيداعات — قد لا يكون التراجع قد طُبِّق. أعد فتح هذا السجل للتحقق قبل إعادة المحاولة.',
|
|
3011
3261
|
},
|
|
3012
3262
|
},
|
|
3013
3263
|
filterBuilder: {
|
|
@@ -3026,10 +3276,15 @@ const ar = {
|
|
|
3026
3276
|
noResults: "لا توجد نتائج",
|
|
3027
3277
|
searchField: "بحث {{label}}…",
|
|
3028
3278
|
enterId: "أدخل معرّف {{label}}",
|
|
3279
|
+
addValue: "أدخل قيمة ثم اضغط Enter",
|
|
3280
|
+
removeValue: "إزالة {{value}}",
|
|
3281
|
+
rangeStart: "من",
|
|
3282
|
+
rangeEnd: "إلى",
|
|
3029
3283
|
operators: {
|
|
3030
3284
|
equals: "يساوي",
|
|
3031
3285
|
notEquals: "لا يساوي",
|
|
3032
3286
|
contains: "يحتوي",
|
|
3287
|
+
containsCaseInsensitive: "يحتوي (مع تجاهل حالة الأحرف)",
|
|
3033
3288
|
notContains: "لا يحتوي",
|
|
3034
3289
|
isEmpty: "فارغ",
|
|
3035
3290
|
isNotEmpty: "غير فارغ",
|
|
@@ -3042,6 +3297,12 @@ const ar = {
|
|
|
3042
3297
|
between: "بين",
|
|
3043
3298
|
in: "ضمن",
|
|
3044
3299
|
notIn: "ليس ضمن",
|
|
3300
|
+
startsWith: "يبدأ بـ",
|
|
3301
|
+
endsWith: "ينتهي بـ",
|
|
3302
|
+
isNull: "يساوي null",
|
|
3303
|
+
isNotNull: "لا يساوي null",
|
|
3304
|
+
exists: "محدد",
|
|
3305
|
+
notExists: "غير محدد",
|
|
3045
3306
|
},
|
|
3046
3307
|
},
|
|
3047
3308
|
sortBuilder: {
|
|
@@ -3087,5 +3348,64 @@ const ar = {
|
|
|
3087
3348
|
statusIdle: "خامل",
|
|
3088
3349
|
statusAway: "غائب",
|
|
3089
3350
|
},
|
|
3351
|
+
wizard: {
|
|
3352
|
+
missingRequired: "يرجى إكمال الحقول المطلوبة: {{fields}}",
|
|
3353
|
+
},
|
|
3354
|
+
flowRunner: {
|
|
3355
|
+
title: 'إدخال',
|
|
3356
|
+
submitting: 'جارٍ الإرسال…',
|
|
3357
|
+
saveAndContinue: 'حفظ ومتابعة',
|
|
3358
|
+
nextStep: 'تم الحفظ — الخطوة التالية',
|
|
3359
|
+
completed: 'اكتمل التدفق «{{flow}}»',
|
|
3360
|
+
},
|
|
3361
|
+
appManagement: {
|
|
3362
|
+
title: "التطبيقات",
|
|
3363
|
+
subtitle: "إدارة جميع التطبيقات المُعدّة",
|
|
3364
|
+
newApp: "تطبيق جديد",
|
|
3365
|
+
searchLabel: "البحث في التطبيقات",
|
|
3366
|
+
searchPlaceholder: "البحث في التطبيقات…",
|
|
3367
|
+
selectedCount: "{{n}} محدد",
|
|
3368
|
+
bulkEnable: "تفعيل",
|
|
3369
|
+
bulkDisable: "تعطيل",
|
|
3370
|
+
selectAll: "تحديد الكل ({{n}})",
|
|
3371
|
+
empty: "لم يتم العثور على تطبيقات.",
|
|
3372
|
+
defaultBadge: "افتراضي",
|
|
3373
|
+
active: "نشط",
|
|
3374
|
+
inactive: "غير نشط",
|
|
3375
|
+
selectApp: "تحديد {{name}}",
|
|
3376
|
+
openApp: "فتح التطبيق",
|
|
3377
|
+
openAppNamed: "فتح {{name}}",
|
|
3378
|
+
editApp: "تعديل التطبيق",
|
|
3379
|
+
editAppNamed: "تعديل {{name}}",
|
|
3380
|
+
editWithAi: "التعديل بالذكاء الاصطناعي",
|
|
3381
|
+
editWithAiNamed: "تعديل {{name}} بالذكاء الاصطناعي",
|
|
3382
|
+
enableApp: "تفعيل التطبيق",
|
|
3383
|
+
disableApp: "تعطيل التطبيق",
|
|
3384
|
+
enableAppNamed: "تفعيل {{name}}",
|
|
3385
|
+
disableAppNamed: "تعطيل {{name}}",
|
|
3386
|
+
setDefault: "تعيين كافتراضي",
|
|
3387
|
+
setDefaultNamed: "تعيين {{name}} كافتراضي",
|
|
3388
|
+
deleteApp: "حذف التطبيق",
|
|
3389
|
+
deleteAppNamed: "حذف {{name}}",
|
|
3390
|
+
confirmDelete: "انقر مرة أخرى لتأكيد الحذف",
|
|
3391
|
+
confirmDeleteNamed: "تأكيد حذف {{name}}",
|
|
3392
|
+
toast: {
|
|
3393
|
+
noClient: "تعذّر الوصول إلى خدمة البيانات الوصفية",
|
|
3394
|
+
unknownError: "خطأ غير معروف",
|
|
3395
|
+
appEnabled: "تم تفعيل {{name}}",
|
|
3396
|
+
appDisabled: "تم تعطيل {{name}}",
|
|
3397
|
+
toggleFailed: "فشل تغيير حالة التطبيق: {{reason}}",
|
|
3398
|
+
setDefaultDone: "تم تعيين {{name}} كافتراضي",
|
|
3399
|
+
setDefaultFailed: "فشل تعيين التطبيق الافتراضي: {{reason}}",
|
|
3400
|
+
appDeleted: "تم حذف {{name}}",
|
|
3401
|
+
deleteFailed: "فشل حذف التطبيق: {{reason}}",
|
|
3402
|
+
bulkEnabled: "تم تفعيل {{n}} تطبيقات",
|
|
3403
|
+
bulkDisabled: "تم تعطيل {{n}} تطبيقات",
|
|
3404
|
+
bulkFailed: "فشل لـ {{n}}: {{details}}",
|
|
3405
|
+
bulkFailureEntry: "{{name}} ({{reason}})",
|
|
3406
|
+
bulkFailureJoiner: "؛ ",
|
|
3407
|
+
bulkOperationFailed: "فشلت العملية الجماعية: {{reason}}",
|
|
3408
|
+
},
|
|
3409
|
+
},
|
|
3090
3410
|
};
|
|
3091
3411
|
export default ar;
|