@object-ui/i18n 17.5.0 → 17.7.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 +4954 -0
- package/README.md +234 -13
- package/dist/builtinAggregateLabels.d.ts +40 -0
- package/dist/builtinAggregateLabels.js +23 -0
- package/dist/currency.d.ts +27 -3
- package/dist/currency.js +28 -4
- package/dist/fallbackInterpolation.d.ts +79 -0
- package/dist/fallbackInterpolation.js +124 -0
- package/dist/i18n.d.ts +28 -2
- package/dist/i18n.js +99 -17
- package/dist/index.d.ts +17 -23
- package/dist/index.js +51 -27
- package/dist/locales/ar.d.ts +1113 -370
- package/dist/locales/ar.js +1276 -428
- package/dist/locales/de.d.ts +785 -370
- package/dist/locales/de.js +896 -401
- package/dist/locales/en.d.ts +800 -385
- package/dist/locales/en.js +1261 -419
- package/dist/locales/es.d.ts +867 -370
- package/dist/locales/es.js +976 -398
- package/dist/locales/fr.d.ts +867 -370
- package/dist/locales/fr.js +976 -399
- package/dist/locales/index.d.ts +8682 -3761
- package/dist/locales/index.js +68 -29
- package/dist/locales/ja.d.ts +785 -370
- package/dist/locales/ja.js +891 -395
- package/dist/locales/ko.d.ts +785 -370
- package/dist/locales/ko.js +893 -399
- package/dist/locales/pt.d.ts +867 -370
- package/dist/locales/pt.js +975 -397
- package/dist/locales/registry.d.ts +102 -0
- package/dist/locales/registry.js +220 -0
- package/dist/locales/rtl.d.ts +24 -0
- package/dist/locales/rtl.js +26 -0
- package/dist/locales/ru.d.ts +949 -370
- package/dist/locales/ru.js +1093 -419
- package/dist/locales/zh.d.ts +803 -388
- package/dist/locales/zh.js +899 -388
- package/dist/pickLocalized.d.ts +67 -0
- package/dist/pickLocalized.js +114 -0
- package/dist/provider.d.ts +102 -13
- package/dist/provider.js +335 -50
- package/dist/translateFn.d.ts +29 -0
- package/dist/translateFn.js +8 -0
- package/dist/useDisplayLocale.d.ts +11 -0
- package/dist/useDisplayLocale.js +13 -2
- package/dist/useObjectLabel.d.ts +118 -22
- package/dist/useObjectLabel.js +148 -23
- package/dist/useSafeTranslation.js +41 -43
- package/dist/utils/formatting.d.ts +16 -0
- package/dist/utils/formatting.js +23 -3
- package/dist/utils/index.d.ts +4 -4
- package/dist/utils/index.js +4 -4
- package/dist/utils/spec-formatters.d.ts +13 -23
- package/dist/utils/spec-formatters.js +41 -2
- package/dist/utils/spec-translations.d.ts +16 -3
- package/dist/utils/spec-translations.js +52 -13
- package/package.json +12 -6
package/dist/locales/ar.js
CHANGED
|
@@ -19,10 +19,12 @@ const ar = {
|
|
|
19
19
|
manage_users: "إدارة المستخدمين",
|
|
20
20
|
manage_org_users: "إدارة مستخدمي المؤسسة",
|
|
21
21
|
manage_metadata: "إدارة البيانات الوصفية",
|
|
22
|
+
manage_org_presentation: "إدارة عرض المؤسسة",
|
|
22
23
|
manage_platform_settings: "إدارة إعدادات المنصة",
|
|
23
24
|
setup_access: "الوصول إلى الإعداد",
|
|
24
25
|
setup_write: "كتابة الإعدادات",
|
|
25
26
|
studio_access: "الوصول إلى Studio",
|
|
27
|
+
manage_sharing: "إدارة المشاركة",
|
|
26
28
|
},
|
|
27
29
|
group: {
|
|
28
30
|
platform: 'منصة',
|
|
@@ -30,25 +32,47 @@ const ar = {
|
|
|
30
32
|
other: 'أخرى',
|
|
31
33
|
},
|
|
32
34
|
},
|
|
33
|
-
// objectui#3546 slice six —
|
|
34
|
-
//
|
|
35
|
+
// objectui#3546 slice six — the read-only summary of PermissionFacetLink's six
|
|
36
|
+
// authorization facets, plus the Studio link.
|
|
35
37
|
//
|
|
36
|
-
//
|
|
37
|
-
//
|
|
38
|
-
//
|
|
39
|
-
//
|
|
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.
|
|
40
44
|
perm: {
|
|
41
45
|
facet: {
|
|
42
46
|
none: "لا شيء",
|
|
43
47
|
more: "+{{count}} المزيد",
|
|
44
48
|
objects: "{{count}} كائن(كائنات)",
|
|
49
|
+
objects_zero: "{{count}} كائن",
|
|
45
50
|
objects_one: "{{count}} كائن",
|
|
51
|
+
objects_two: "كائنان ({{count}})",
|
|
52
|
+
objects_few: "{{count}} كائنات",
|
|
53
|
+
objects_many: "{{count}} كائنًا",
|
|
54
|
+
objects_other: "{{count}} كائن",
|
|
46
55
|
fields: "{{count}} قاعدة(قواعد) حقول",
|
|
56
|
+
fields_zero: "{{count}} قاعدة حقول",
|
|
47
57
|
fields_one: "{{count}} قاعدة حقول",
|
|
58
|
+
fields_two: "قاعدتا حقول ({{count}})",
|
|
59
|
+
fields_few: "{{count}} قواعد حقول",
|
|
60
|
+
fields_many: "{{count}} قاعدة حقول",
|
|
61
|
+
fields_other: "{{count}} قاعدة حقول",
|
|
48
62
|
rls: "{{count}} سياسة(سياسات) RLS",
|
|
63
|
+
rls_zero: "{{count}} سياسة RLS",
|
|
49
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",
|
|
50
69
|
tabs: "{{count}} قاعدة(قواعد) تبويب",
|
|
70
|
+
tabs_zero: "{{count}} قاعدة تبويب",
|
|
51
71
|
tabs_one: "{{count}} قاعدة تبويب",
|
|
72
|
+
tabs_two: "قاعدتا تبويب ({{count}})",
|
|
73
|
+
tabs_few: "{{count}} قواعد تبويب",
|
|
74
|
+
tabs_many: "{{count}} قاعدة تبويب",
|
|
75
|
+
tabs_other: "{{count}} قاعدة تبويب",
|
|
52
76
|
adminScope: "تم تكوين الإدارة المفوَّضة",
|
|
53
77
|
designInStudio: "التصميم في Studio →",
|
|
54
78
|
designInStudioHint: "التصميم في Studio",
|
|
@@ -66,8 +90,16 @@ const ar = {
|
|
|
66
90
|
remove: 'إزالة {{label}}',
|
|
67
91
|
selectFirst: 'اختر {{fields}} أولاً',
|
|
68
92
|
selectRecord: 'اختيار سجل',
|
|
69
|
-
|
|
70
|
-
|
|
93
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
94
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
95
|
+
// without a count.
|
|
96
|
+
recordCount: 'عدد السجلات: {{count}}',
|
|
97
|
+
recordCount_zero: '{{count}} سجل',
|
|
98
|
+
recordCount_one: '{{count}} سجل',
|
|
99
|
+
recordCount_two: 'سجلان ({{count}})',
|
|
100
|
+
recordCount_few: '{{count}} سجلات',
|
|
101
|
+
recordCount_many: '{{count}} سجلًا',
|
|
102
|
+
recordCount_other: '{{count}} سجل',
|
|
71
103
|
pageOf: 'صفحة {{current}} من {{total}}',
|
|
72
104
|
filters: 'عوامل التصفية',
|
|
73
105
|
clear: 'مسح',
|
|
@@ -84,8 +116,9 @@ const ar = {
|
|
|
84
116
|
common: {
|
|
85
117
|
addToFavorites: "إضافة إلى المفضلة",
|
|
86
118
|
removeFromFavorites: "إزالة من المفضلة",
|
|
87
|
-
loading: "
|
|
119
|
+
loading: "جارٍ التحميل…",
|
|
88
120
|
save: "حفظ",
|
|
121
|
+
discard: "تجاهل",
|
|
89
122
|
cancel: "إلغاء",
|
|
90
123
|
delete: "حذف",
|
|
91
124
|
edit: "تعديل",
|
|
@@ -118,8 +151,16 @@ const ar = {
|
|
|
118
151
|
closeChat: "إغلاق المحادثة",
|
|
119
152
|
closePanel: "إغلاق اللوحة",
|
|
120
153
|
resizeDrawer: "تغيير عرض اللوحة",
|
|
121
|
-
|
|
122
|
-
|
|
154
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
155
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
156
|
+
// without a count.
|
|
157
|
+
itemCount: "عدد العناصر: {{count}}",
|
|
158
|
+
itemCount_zero: "{{count}} عنصر",
|
|
159
|
+
itemCount_one: "{{count}} عنصر",
|
|
160
|
+
itemCount_two: "عنصران ({{count}})",
|
|
161
|
+
itemCount_few: "{{count}} عناصر",
|
|
162
|
+
itemCount_many: "{{count}} عنصرًا",
|
|
163
|
+
itemCount_other: "{{count}} عنصر",
|
|
123
164
|
toggleSidebar: "تبديل الشريط الجانبي",
|
|
124
165
|
package: "الحزمة",
|
|
125
166
|
done: "تم",
|
|
@@ -127,6 +168,16 @@ const ar = {
|
|
|
127
168
|
record: "سجل",
|
|
128
169
|
retry: "إعادة المحاولة",
|
|
129
170
|
printDialogHint: "يفتح مربع حوار الطباعة في المتصفح (ليس تصديرًا إلى PDF)",
|
|
171
|
+
// The non-grid row ceiling's footnote (objectui#7210). Two keys because
|
|
172
|
+
// there are two conditions: a reported `total` states the fact with BOTH
|
|
173
|
+
// numbers, a missing one cannot name how many. Kept terse deliberately —
|
|
174
|
+
// this copy is eagerly loaded, and since objectui#7399 these bytes are
|
|
175
|
+
// budgeted by the `i18n-locales` chunk, not `framework`. ⛔ That ceiling's
|
|
176
|
+
// headroom is deliberately NOT restated here — it moves on every
|
|
177
|
+
// re-baseline, and the figure that was here went stale.
|
|
178
|
+
// `pnpm check:eager-closure` prints it.
|
|
179
|
+
rowCeilingNote: "يتم عرض أول {{shown}} من أصل {{total}} سجل. ضيّق عامل التصفية.",
|
|
180
|
+
rowCeilingNoteUnknownTotal: "يتم عرض أول {{shown}} سجل. ضيّق عامل التصفية.",
|
|
130
181
|
},
|
|
131
182
|
actions: {
|
|
132
183
|
decisionOutput: {
|
|
@@ -138,6 +189,14 @@ const ar = {
|
|
|
138
189
|
acknowledge: 'لقد حفظتها',
|
|
139
190
|
copyAll: 'نسخ الكل',
|
|
140
191
|
},
|
|
192
|
+
notAvailableHere: '"{{action}}" غير متاح في الصفحة الحالية.',
|
|
193
|
+
completedSuccessfully: 'اكتمل الإجراء بنجاح',
|
|
194
|
+
failed: 'فشل الإجراء',
|
|
195
|
+
parallelFailed: 'فشل إجراء متوازٍ واحد أو أكثر',
|
|
196
|
+
undo: 'تراجع',
|
|
197
|
+
undone: 'تم التراجع عن التغيير',
|
|
198
|
+
undoneOperation: 'تراجع: {{description}}',
|
|
199
|
+
redoneOperation: 'إعادة: {{description}}',
|
|
141
200
|
},
|
|
142
201
|
validation: {
|
|
143
202
|
required: "{{field}} مطلوب",
|
|
@@ -155,19 +214,45 @@ const ar = {
|
|
|
155
214
|
},
|
|
156
215
|
form: {
|
|
157
216
|
noPermissionToSave: "ليس لديك إذن لحفظ هذا السجل.",
|
|
217
|
+
noPermissionToCreate: "ليس لديك إذن لإنشاء سجلات {{object}}. الحقول للقراءة فقط.",
|
|
218
|
+
noPermissionToEdit: "ليس لديك إذن لتعديل سجلات {{object}}. الحقول للقراءة فقط.",
|
|
158
219
|
submitFailed: "تعذّر الحفظ. يرجى المحاولة مرة أخرى.",
|
|
220
|
+
uploadInFlight: "انتظر حتى ينتهي الرفع قبل الحفظ.",
|
|
221
|
+
clearedOnHide: "تم مسح ما لم يعد ينطبق على القيم الحالية: {{fields}}",
|
|
222
|
+
visibleWhenFaulted: "تعذّر الإرسال: تعذّر تقييم قاعدة visibleWhen لـ {{fields}}. يجب إصلاح القاعدة قبل أن يصبح إرسال هذا النموذج ممكنًا.",
|
|
159
223
|
discardTitle: "تجاهل التغييرات؟",
|
|
160
224
|
discardMessage: "لديك تغييرات غير محفوظة. إذا أغلقت هذا النموذج الآن، ستفقد تعديلاتك.",
|
|
161
225
|
// objectui#4024 — the create/edit dialog's `sr-only` accessible
|
|
162
226
|
// description, used when the form declares no `description` of its own.
|
|
163
227
|
dialogDescriptionFallback: "املأ حقول النموذج ثم أرسل أو ألغِ.",
|
|
228
|
+
deniedDescription: "ليس لديك إذن لتعديل هذا الحقل.",
|
|
229
|
+
masterDetail: {
|
|
230
|
+
loadingColumns: "جارٍ تحميل الأعمدة…",
|
|
231
|
+
subtotal: "المجموع الفرعي",
|
|
232
|
+
tax: "الضريبة ({{rate}}%)",
|
|
233
|
+
total: "الإجمالي",
|
|
234
|
+
lineItem: "بند",
|
|
235
|
+
rowTitle: "{{title}} — الصف {{row}}",
|
|
236
|
+
applyRow: "تطبيق",
|
|
237
|
+
editorDescription: "أدخل السجل وبنوده ثم احفظ.",
|
|
238
|
+
noChildObject: "لم يُكوَّن كائن فرعي لهذه المجموعة: عيّن {{property}} إلى الكائن الذي تسرد صفوفه.",
|
|
239
|
+
schemaUnavailable: "تعذّر تحميل مخطط {{object}}، لذا لا توجد أعمدة لعرضها في هذه المجموعة. تحقّق من أن الكائن موجود وقابل للقراءة، ثم أعد التحميل.",
|
|
240
|
+
noRelationshipField: "تعذّر تحديد كيفية ارتباط {{object}} بـ {{parent}}: لا يوجد فيه حقل lookup أو master_detail يشير إلى الكائن الأصل. عيّن {{property}} في هذه المجموعة إلى الحقل الذي يحمل السجل الأصل.",
|
|
241
|
+
},
|
|
242
|
+
lineItems: {
|
|
243
|
+
title: "البنود",
|
|
244
|
+
saveRecordFirst: "احفظ السجل أولًا لإضافة البنود.",
|
|
245
|
+
notLoaded: "لم يتم تحميل بنود هذا السجل.",
|
|
246
|
+
loadFailed: "تعذّر تحميل البنود",
|
|
247
|
+
saveFailed: "تعذّر حفظ البنود",
|
|
248
|
+
noChildObject: "لم يُكوَّن كائن فرعي لهذه اللوحة: عيّن {{property}} إلى الكائن الذي تسرد صفوفه.",
|
|
249
|
+
},
|
|
164
250
|
keepEditing: "متابعة التحرير",
|
|
165
251
|
discard: "تجاهل",
|
|
166
252
|
conflictTitle: "تعارض في الحفظ",
|
|
167
253
|
conflictMessage: "قام شخص آخر بتغيير هذا السجل أثناء تحريرك. الكتابة فوقه ستستبدل تغييراته بتغييراتك.",
|
|
168
254
|
conflictLatestVersion: "وقت حفظه: {{time}}",
|
|
169
255
|
conflictOverwrite: "الكتابة فوقه",
|
|
170
|
-
addItem: "إضافة عنصر",
|
|
171
256
|
removeItem: "إزالة عنصر",
|
|
172
257
|
fieldRequired: "هذا الحقل مطلوب",
|
|
173
258
|
invalidFormat: "صيغة غير صالحة",
|
|
@@ -185,6 +270,12 @@ const ar = {
|
|
|
185
270
|
createSuccess: "تم إنشاء {{object}}",
|
|
186
271
|
updateSuccess: "تم تحديث {{object}}",
|
|
187
272
|
deleteSuccess: "تم حذف {{object}}",
|
|
273
|
+
created: "تم الإنشاء",
|
|
274
|
+
saved: "تم الحفظ",
|
|
275
|
+
savedNamed: "تم حفظ {{title}}",
|
|
276
|
+
submitted: "تم الإرسال",
|
|
277
|
+
errorLoading: "خطأ في تحميل النموذج",
|
|
278
|
+
navigateRefused: "تم رفض وجهة `navigateOnSuccess` المعلنة لهذا النموذج، لذلك لم يتم الانتقال.",
|
|
188
279
|
fullscreen: {
|
|
189
280
|
title: "تحرير النص",
|
|
190
281
|
description: "حرّر قيمة النص الكاملة، ثم احفظ التغييرات أو ألغِها.",
|
|
@@ -209,6 +300,12 @@ const ar = {
|
|
|
209
300
|
},
|
|
210
301
|
relativeDate: {
|
|
211
302
|
overdue: "متأخر {{count}} يوم",
|
|
303
|
+
overdue_zero: "متأخر {{count}} يوم",
|
|
304
|
+
overdue_one: "متأخر {{count}} يوم",
|
|
305
|
+
overdue_two: "متأخر يومين ({{count}})",
|
|
306
|
+
overdue_few: "متأخر {{count}} أيام",
|
|
307
|
+
overdue_many: "متأخر {{count}} يومًا",
|
|
308
|
+
overdue_other: "متأخر {{count}} يوم",
|
|
212
309
|
},
|
|
213
310
|
file: {
|
|
214
311
|
dragDropHere: 'اسحب الملفات وأفلتها هنا',
|
|
@@ -225,6 +322,7 @@ const ar = {
|
|
|
225
322
|
remove: 'إزالة {{name}}',
|
|
226
323
|
exceedsMaxSize: '"{{name}}" يتجاوز الحجم الأقصى ({{max}} ميغابايت)',
|
|
227
324
|
uploadFailed: 'فشل رفع "{{name}}": {{error}}',
|
|
325
|
+
uploadIncomplete: 'لم يكتمل رفع "{{name}}": لم يتم إرجاع معرّف الملف، ولم يُحفظ شيء',
|
|
228
326
|
},
|
|
229
327
|
richText: {
|
|
230
328
|
format: "التنسيق: {{format}}",
|
|
@@ -252,6 +350,9 @@ const ar = {
|
|
|
252
350
|
selectBusinessUnit: "اختر وحدة عمل",
|
|
253
351
|
selectPosition: "اختر منصباً",
|
|
254
352
|
selectUnitAndSubordinates: "اختر وحدة عمل",
|
|
353
|
+
selectField: "اختر حقل مستخدم",
|
|
354
|
+
noUserFields: "لا توجد حقول مستخدم في هذا الكائن",
|
|
355
|
+
fieldNotUserTyped: "{{name}} — ليس حقل مستخدم",
|
|
255
356
|
},
|
|
256
357
|
filterCondition: {
|
|
257
358
|
selectObjectFirst: "اختر كائناً أولاً.",
|
|
@@ -262,13 +363,51 @@ const ar = {
|
|
|
262
363
|
editAsJson: "التحرير بصيغة JSON",
|
|
263
364
|
useVisualBuilder: "استخدام المُنشئ المرئي",
|
|
264
365
|
},
|
|
366
|
+
object: {
|
|
367
|
+
invalidJson: "JSON غير صالح",
|
|
368
|
+
},
|
|
369
|
+
location: {
|
|
370
|
+
refusedFormat: "لم يتم الحفظ: أدخل زوجًا من خط العرض وخط الطول (مثال: 30.2741, 120.1551).",
|
|
371
|
+
refusedRange: "لم يتم الحفظ: {{detail}}",
|
|
372
|
+
latitude: "خط العرض",
|
|
373
|
+
longitude: "خط الطول",
|
|
374
|
+
refusedResidueOne: "لم يتم الحفظ: {{name}} «{{text}}» ليس رقمًا. أدخل أرقامًا عشرية عادية (مثال: 30.2741, 120.1551).",
|
|
375
|
+
refusedResidue: "لم يتم الحفظ: {{name}} «{{text}}» و{{otherName}} «{{otherText}}» ليسا رقمين. أدخل أرقامًا عشرية عادية (مثال: 30.2741, 120.1551).",
|
|
376
|
+
},
|
|
377
|
+
date: {
|
|
378
|
+
impossibleDay: "القيمة المحفوظة «{{value}}» ليست تاريخًا حقيقيًا. اختر تاريخًا لاستبدالها.",
|
|
379
|
+
},
|
|
380
|
+
dateTime: {
|
|
381
|
+
impossibleDay: "القيمة المحفوظة «{{value}}» ليست تاريخًا حقيقيًا. اختر تاريخًا ووقتًا لاستبدالها.",
|
|
382
|
+
},
|
|
383
|
+
number: {
|
|
384
|
+
badInput: "لم يتم الحفظ: النص في هذا المربع ليس رقمًا. أدخل رقمًا عشريًا عاديًا (مثال: {{example}}).",
|
|
385
|
+
},
|
|
265
386
|
tags: {
|
|
266
387
|
placeholder: "اكتب واضغط Enter للإضافة…",
|
|
267
388
|
},
|
|
389
|
+
// objectui#4028 — `AddressField`'s five sub-labels.
|
|
390
|
+
address: {
|
|
391
|
+
street: "عنوان الشارع",
|
|
392
|
+
city: "المدينة",
|
|
393
|
+
state: "الولاية / المحافظة",
|
|
394
|
+
postalCode: "الرمز البريدي",
|
|
395
|
+
country: "الدولة",
|
|
396
|
+
},
|
|
268
397
|
textarea: {
|
|
269
398
|
characterCount: "عدد الأحرف: {{count}} من {{max}}",
|
|
270
399
|
charactersRemaining: "الأحرف المتبقية: {{count}}",
|
|
271
400
|
},
|
|
401
|
+
grid: {
|
|
402
|
+
addLine: "إضافة سطر",
|
|
403
|
+
noItems: "لا توجد عناصر",
|
|
404
|
+
noItemsAddHint: "لا توجد عناصر بعد — انقر على «{{label}}» للبدء.",
|
|
405
|
+
optionalColumns: "أعمدة اختيارية",
|
|
406
|
+
computed: "محسوب",
|
|
407
|
+
openRow: "فتح الصف",
|
|
408
|
+
duplicateRow: "تكرار الصف",
|
|
409
|
+
removeRow: "إزالة الصف",
|
|
410
|
+
},
|
|
272
411
|
},
|
|
273
412
|
table: {
|
|
274
413
|
rowsPerPage: "صفوف في الصفحة",
|
|
@@ -297,23 +436,59 @@ const ar = {
|
|
|
297
436
|
open: "فتح",
|
|
298
437
|
search: "بحث…",
|
|
299
438
|
modified: "{{count}} صف(صفوف) معدّل(ة)",
|
|
439
|
+
modified_zero: "{{count}} صف معدّل",
|
|
440
|
+
modified_one: "{{count}} صف معدّل",
|
|
441
|
+
modified_two: "صفان معدّلان ({{count}})",
|
|
442
|
+
modified_few: "{{count}} صفوف معدّلة",
|
|
443
|
+
modified_many: "{{count}} صفًا معدّلًا",
|
|
444
|
+
modified_other: "{{count}} صف معدّل",
|
|
300
445
|
saveFailed: 'فشل الحفظ',
|
|
301
446
|
selected: "{{count}} محدد(ة)",
|
|
447
|
+
selected_zero: "تم تحديد {{count}}",
|
|
448
|
+
selected_one: "تم تحديد {{count}}",
|
|
449
|
+
selected_two: "تم تحديد {{count}}",
|
|
450
|
+
selected_few: "تم تحديد {{count}}",
|
|
451
|
+
selected_many: "تم تحديد {{count}}",
|
|
452
|
+
selected_other: "تم تحديد {{count}}",
|
|
302
453
|
edit: "تعديل",
|
|
303
454
|
delete: "حذف",
|
|
304
455
|
},
|
|
305
456
|
grid: {
|
|
306
457
|
bulkSelected: "تم تحديد {{count}}",
|
|
458
|
+
bulkSelected_zero: "تم تحديد {{count}}",
|
|
459
|
+
bulkSelected_one: "تم تحديد {{count}}",
|
|
460
|
+
bulkSelected_two: "تم تحديد {{count}}",
|
|
461
|
+
bulkSelected_few: "تم تحديد {{count}}",
|
|
462
|
+
bulkSelected_many: "تم تحديد {{count}}",
|
|
463
|
+
bulkSelected_other: "تم تحديد {{count}}",
|
|
307
464
|
bulkSelectedAllMatches: "تم تحديد {{count}} (كل النتائج المطابقة)",
|
|
308
465
|
bulkClear: "إلغاء التحديد",
|
|
309
466
|
bulkAllOnPage: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
467
|
+
bulkAllOnPage_zero: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
468
|
+
bulkAllOnPage_one: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
469
|
+
bulkAllOnPage_two: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
470
|
+
bulkAllOnPage_few: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
471
|
+
bulkAllOnPage_many: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
472
|
+
bulkAllOnPage_other: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
310
473
|
bulkSelectAllMatching: "تحديد كل النتائج المطابقة ({{count}})",
|
|
311
474
|
bulkAllMatchingSelected: "تم تحديد جميع السجلات المطابقة ({{count}}).",
|
|
312
475
|
bulk: {
|
|
313
476
|
confirmDefault: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
477
|
+
confirmDefault_zero: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
478
|
+
confirmDefault_one: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
479
|
+
confirmDefault_two: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
480
|
+
confirmDefault_few: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
481
|
+
confirmDefault_many: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
482
|
+
confirmDefault_other: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
314
483
|
overLimit: "التحديد ({{count}}) يتجاوز حد الإجراء ({{limit}}). قلّل التحديد للمتابعة.",
|
|
315
484
|
affectedRecords: "السجلات المتأثرة ({{count}}):",
|
|
316
485
|
skippedIneligible: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
486
|
+
skippedIneligible_zero: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
487
|
+
skippedIneligible_one: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
488
|
+
skippedIneligible_two: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
489
|
+
skippedIneligible_few: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
490
|
+
skippedIneligible_many: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
491
|
+
skippedIneligible_other: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
317
492
|
rowFallback: "الصف {{index}}",
|
|
318
493
|
andMore: "… و{{count}} أخرى",
|
|
319
494
|
processed: "تمت معالجة {{count}} / {{total}}",
|
|
@@ -331,7 +506,6 @@ const ar = {
|
|
|
331
506
|
undo: "تراجع",
|
|
332
507
|
undoing: "جارٍ التراجع…",
|
|
333
508
|
done: "تم",
|
|
334
|
-
selectPlaceholder: "اختر…",
|
|
335
509
|
loading: "جارٍ التحميل…",
|
|
336
510
|
},
|
|
337
511
|
actions: "إجراءات",
|
|
@@ -339,10 +513,10 @@ const ar = {
|
|
|
339
513
|
delete: "حذف",
|
|
340
514
|
export: "تصدير",
|
|
341
515
|
exportAs: "تصدير كـ {{format}}",
|
|
342
|
-
loading: "
|
|
516
|
+
loading: "جارٍ تحميل الشبكة…",
|
|
343
517
|
errorLoading: "خطأ في تحميل الشبكة",
|
|
344
518
|
pullToRefresh: "اسحب للتحديث",
|
|
345
|
-
refreshing: "
|
|
519
|
+
refreshing: "جارٍ التحديث…",
|
|
346
520
|
openRecord: "فتح السجل",
|
|
347
521
|
rowHeight: "ارتفاع الصف: {{mode}}",
|
|
348
522
|
openMenu: "فتح القائمة",
|
|
@@ -350,6 +524,14 @@ const ar = {
|
|
|
350
524
|
yes: "نعم",
|
|
351
525
|
no: "لا",
|
|
352
526
|
systemFields: "النظام",
|
|
527
|
+
// objectui#10881 — the grouped grid's two refusals: over a data source
|
|
528
|
+
// that cannot answer the group header query, and over rows a host
|
|
529
|
+
// handed in while declaring them one page of more. `queryGroupHeaders`
|
|
530
|
+
// is the member's name and stays untranslated.
|
|
531
|
+
grouping: {
|
|
532
|
+
needsHeaderQuery: "هذا العرض مُجمَّع، لكن مصدر بياناته لا يطبّق queryGroupHeaders، لذا لا يمكن عدّ المجموعات. أزِل التجميع لعرض السجلات.",
|
|
533
|
+
needsWholeRows: "يتطلب التجميع جميع السجلات، لكن هذه الشبكة تلقّت صفحة واحدة منها فقط، لذا لا يمكن عدّ المجموعات. مرّر جميع السجلات، أو دع الشبكة تجلبها من مصدر بيانات يطبّق queryGroupHeaders.",
|
|
534
|
+
},
|
|
353
535
|
// objectui#4024 — column-footer aggregate prefixes, keyed by the spec's
|
|
354
536
|
// `ColumnSummary` vocabulary. `pattern` owns the label/value join so this
|
|
355
537
|
// pack controls its own separator and word order.
|
|
@@ -376,10 +558,18 @@ const ar = {
|
|
|
376
558
|
},
|
|
377
559
|
import: {
|
|
378
560
|
downloadTemplate: "تنزيل القالب",
|
|
379
|
-
downloadTemplateHint: "احصل على ملف
|
|
561
|
+
downloadTemplateHint: "احصل على ملف Excel بالأعمدة التي يمكنك استيرادها (الحقول المطلوبة معلَّمة بـ *) مع تعليمات التعبئة.",
|
|
380
562
|
templateFileName: "{{object}}-import-template",
|
|
563
|
+
templateDownloadFailed: "تعذّر تنزيل القالب. يرجى المحاولة مرة أخرى.",
|
|
564
|
+
templateNotPermitted: "ليست لديك صلاحية إنشاء سجلات لهذا الكائن، لذا فإن قالب الاستيراد غير متاح.",
|
|
381
565
|
autoMatched: "تمت المطابقة تلقائيًا",
|
|
382
566
|
autoMatchedSummary: "تمت مطابقة {{count}} عمودًا تلقائيًا — راجعها وعدّلها أدناه.",
|
|
567
|
+
autoMatchedSummary_zero: "تمت مطابقة {{count}} عمود تلقائيًا — راجِع وعدِّل أدناه.",
|
|
568
|
+
autoMatchedSummary_one: "تمت مطابقة {{count}} عمود تلقائيًا — راجِع وعدِّل أدناه.",
|
|
569
|
+
autoMatchedSummary_two: "تمت مطابقة عمودين ({{count}}) تلقائيًا — راجِع وعدِّل أدناه.",
|
|
570
|
+
autoMatchedSummary_few: "تمت مطابقة {{count}} أعمدة تلقائيًا — راجِع وعدِّل أدناه.",
|
|
571
|
+
autoMatchedSummary_many: "تمت مطابقة {{count}} عمودًا تلقائيًا — راجِع وعدِّل أدناه.",
|
|
572
|
+
autoMatchedSummary_other: "تمت مطابقة {{count}} عمود تلقائيًا — راجِع وعدِّل أدناه.",
|
|
383
573
|
confidence: {
|
|
384
574
|
high: "ثقة عالية",
|
|
385
575
|
medium: "ثقة متوسطة",
|
|
@@ -392,8 +582,26 @@ const ar = {
|
|
|
392
582
|
cancelImport: "إلغاء الاستيراد",
|
|
393
583
|
importCancelled: "تم إلغاء الاستيراد",
|
|
394
584
|
resultsTruncated: "عرض نتائج أول {{count}} صفًا (من أصل {{total}}).",
|
|
585
|
+
resultsTruncated_zero: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
586
|
+
resultsTruncated_one: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
587
|
+
resultsTruncated_two: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
588
|
+
resultsTruncated_few: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
589
|
+
resultsTruncated_many: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
590
|
+
resultsTruncated_other: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
395
591
|
createdCount: "تم إنشاء {{count}}",
|
|
592
|
+
createdCount_zero: "تم إنشاء {{count}}",
|
|
593
|
+
createdCount_one: "تم إنشاء {{count}}",
|
|
594
|
+
createdCount_two: "تم إنشاء {{count}}",
|
|
595
|
+
createdCount_few: "تم إنشاء {{count}}",
|
|
596
|
+
createdCount_many: "تم إنشاء {{count}}",
|
|
597
|
+
createdCount_other: "تم إنشاء {{count}}",
|
|
396
598
|
updatedCount: "تم تحديث {{count}}",
|
|
599
|
+
updatedCount_zero: "تم تحديث {{count}}",
|
|
600
|
+
updatedCount_one: "تم تحديث {{count}}",
|
|
601
|
+
updatedCount_two: "تم تحديث {{count}}",
|
|
602
|
+
updatedCount_few: "تم تحديث {{count}}",
|
|
603
|
+
updatedCount_many: "تم تحديث {{count}}",
|
|
604
|
+
updatedCount_other: "تم تحديث {{count}}",
|
|
397
605
|
downloadFailed: "تنزيل الصفوف الفاشلة",
|
|
398
606
|
options: "خيارات الاستيراد",
|
|
399
607
|
writeMode: "عند تطابق صف مع سجل موجود",
|
|
@@ -441,6 +649,12 @@ const ar = {
|
|
|
441
649
|
historyColResult: "النتيجة",
|
|
442
650
|
historyColTime: "الوقت",
|
|
443
651
|
errorCount: "{{count}} من الأخطاء",
|
|
652
|
+
errorCount_zero: "{{count}} من الأخطاء",
|
|
653
|
+
errorCount_one: "{{count}} من الأخطاء",
|
|
654
|
+
errorCount_two: "{{count}} من الأخطاء",
|
|
655
|
+
errorCount_few: "{{count}} من الأخطاء",
|
|
656
|
+
errorCount_many: "{{count}} من الأخطاء",
|
|
657
|
+
errorCount_other: "{{count}} من الأخطاء",
|
|
444
658
|
undoImport: "التراجع عن الاستيراد",
|
|
445
659
|
undoing: "جارٍ التراجع…",
|
|
446
660
|
undoConfirm: "هل تريد التراجع عن هذا الاستيراد؟ ستُحذف السجلات التي أنشأها وتُستعاد السجلات التي حدّثها إلى قيمها السابقة.",
|
|
@@ -501,7 +715,19 @@ const ar = {
|
|
|
501
715
|
mapped: "مُعيَّن",
|
|
502
716
|
skipped: "مُتخطَّى",
|
|
503
717
|
rowsWithErrors: "{{count}} صف(صفوف) بها أخطاء",
|
|
718
|
+
rowsWithErrors_zero: "{{count}} صف بها أخطاء",
|
|
719
|
+
rowsWithErrors_one: "{{count}} صف به أخطاء",
|
|
720
|
+
rowsWithErrors_two: "صفان بهما أخطاء ({{count}})",
|
|
721
|
+
rowsWithErrors_few: "{{count}} صفوف بها أخطاء",
|
|
722
|
+
rowsWithErrors_many: "{{count}} صفًا بها أخطاء",
|
|
723
|
+
rowsWithErrors_other: "{{count}} صف بها أخطاء",
|
|
504
724
|
rowsCorrected: "{{count}} صف(صفوف) تم تصحيحها",
|
|
725
|
+
rowsCorrected_zero: "تم تصحيح {{count}} صف",
|
|
726
|
+
rowsCorrected_one: "تم تصحيح {{count}} صف",
|
|
727
|
+
rowsCorrected_two: "تم تصحيح صفين ({{count}})",
|
|
728
|
+
rowsCorrected_few: "تم تصحيح {{count}} صفوف",
|
|
729
|
+
rowsCorrected_many: "تم تصحيح {{count}} صفًا",
|
|
730
|
+
rowsCorrected_other: "تم تصحيح {{count}} صف",
|
|
505
731
|
clickToFix: "— انقر على خلية مميزة للتعديل.",
|
|
506
732
|
showingRows: "عرض {{shown}} من {{total}} صف",
|
|
507
733
|
importing: "جارٍ الاستيراد… {{progress}}%",
|
|
@@ -509,11 +735,23 @@ const ar = {
|
|
|
509
735
|
imported: "{{count}} مُستورَد(ة)",
|
|
510
736
|
skippedCount: "{{count}} مُتخطَّى(ة)",
|
|
511
737
|
moreErrors: "…و{{count}} خطأ(أخطاء) أخرى",
|
|
738
|
+
moreErrors_zero: "…و{{count}} خطأ آخر",
|
|
739
|
+
moreErrors_one: "…و{{count}} خطأ آخر",
|
|
740
|
+
moreErrors_two: "…وخطآن آخران ({{count}})",
|
|
741
|
+
moreErrors_few: "…و{{count}} أخطاء أخرى",
|
|
742
|
+
moreErrors_many: "…و{{count}} خطأً آخر",
|
|
743
|
+
moreErrors_other: "…و{{count}} خطأ آخر",
|
|
512
744
|
cancel: "إلغاء",
|
|
513
745
|
back: "رجوع",
|
|
514
746
|
next: "التالي",
|
|
515
747
|
close: "إغلاق",
|
|
516
748
|
importNRows: "استيراد {{count}} صف",
|
|
749
|
+
importNRows_zero: "استيراد {{count}} صف",
|
|
750
|
+
importNRows_one: "استيراد {{count}} صف",
|
|
751
|
+
importNRows_two: "استيراد صفين ({{count}})",
|
|
752
|
+
importNRows_few: "استيراد {{count}} صفوف",
|
|
753
|
+
importNRows_many: "استيراد {{count}} صفًا",
|
|
754
|
+
importNRows_other: "استيراد {{count}} صف",
|
|
517
755
|
importingProgress: "جارٍ الاستيراد…",
|
|
518
756
|
requiredMark: "*",
|
|
519
757
|
required: "مطلوب",
|
|
@@ -525,11 +763,41 @@ const ar = {
|
|
|
525
763
|
month: "شهر",
|
|
526
764
|
week: "أسبوع",
|
|
527
765
|
day: "يوم",
|
|
528
|
-
agenda: "جدول أعمال",
|
|
529
766
|
allDay: "طوال اليوم",
|
|
530
|
-
noEvents: "لا توجد أحداث",
|
|
531
767
|
newEvent: "حدث جديد",
|
|
532
768
|
moreEvents: "+{{count}} المزيد",
|
|
769
|
+
unscheduled: "غير مجدولة ({{count}})",
|
|
770
|
+
loading: "جارٍ تحميل التقويم…",
|
|
771
|
+
loadError: "خطأ: {{message}}",
|
|
772
|
+
configRequired: "إعداد التقويم مطلوب. يُرجى تحديد startDateField، وهو المفتاح المطلوب الوحيد للتقويم؛ ويُحلّ عنوان الحدث دون titleField.",
|
|
773
|
+
configRequiredHint: "هو ينتمي إلى كتلة calendar في العرض. صفحة الواجهة ليس لها فتحة تقويم خاصة بها: وجّه sourceView الخاص بها إلى عرض يعلن واحدة.",
|
|
774
|
+
eventDetails: "تفاصيل الحدث",
|
|
775
|
+
pullToRefresh: "اسحب للتحديث",
|
|
776
|
+
refreshing: "جارٍ التحديث…",
|
|
777
|
+
onDate: "في {{date}}",
|
|
778
|
+
eventTitle: "العنوان",
|
|
779
|
+
eventTitlePlaceholder: "ما موضوع هذا الحدث؟",
|
|
780
|
+
creating: "جارٍ الإنشاء…",
|
|
781
|
+
titleRequired: "العنوان مطلوب",
|
|
782
|
+
a11y: {
|
|
783
|
+
region: "التقويم",
|
|
784
|
+
grid: "شبكة التقويم",
|
|
785
|
+
goToToday: "الانتقال إلى اليوم",
|
|
786
|
+
previousPeriod: "الفترة السابقة",
|
|
787
|
+
nextPeriod: "الفترة التالية",
|
|
788
|
+
currentDate: "التاريخ الحالي: {{date}}",
|
|
789
|
+
dayCell: "{{date}}، عدد الأحداث: {{count}}",
|
|
790
|
+
dayCell_zero: "{{date}}، {{count}} حدث",
|
|
791
|
+
dayCell_one: "{{date}}، {{count}} حدث",
|
|
792
|
+
dayCell_two: "{{date}}، حدثان ({{count}})",
|
|
793
|
+
dayCell_few: "{{date}}، {{count}} أحداث",
|
|
794
|
+
dayCell_many: "{{date}}، {{count}} حدثًا",
|
|
795
|
+
dayCell_other: "{{date}}، عدد الأحداث: {{count}}",
|
|
796
|
+
resizeEventEnd: "تغيير نهاية الحدث",
|
|
797
|
+
resizeEventEndHint: "اسحب لتغيير تاريخ الانتهاء",
|
|
798
|
+
resizeStart: "تغيير وقت البدء",
|
|
799
|
+
resizeEnd: "تغيير وقت الانتهاء",
|
|
800
|
+
},
|
|
533
801
|
},
|
|
534
802
|
list: {
|
|
535
803
|
firstRunTitle: "لا يوجد شيء هنا بعد",
|
|
@@ -571,8 +839,16 @@ const ar = {
|
|
|
571
839
|
},
|
|
572
840
|
refresh: "تحديث",
|
|
573
841
|
loading: "جارٍ تحميل السجلات…",
|
|
574
|
-
|
|
575
|
-
|
|
842
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
843
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
844
|
+
// without a count.
|
|
845
|
+
recordCount: "عدد السجلات: {{count}}",
|
|
846
|
+
recordCount_zero: "{{count}} سجل",
|
|
847
|
+
recordCount_one: "{{count}} سجل",
|
|
848
|
+
recordCount_two: "سجلان ({{count}})",
|
|
849
|
+
recordCount_few: "{{count}} سجلات",
|
|
850
|
+
recordCount_many: "{{count}} سجلًا",
|
|
851
|
+
recordCount_other: "{{count}} سجل",
|
|
576
852
|
addRecord: "إضافة سجل",
|
|
577
853
|
tabs: "علامات التبويب",
|
|
578
854
|
allRecords: "جميع السجلات",
|
|
@@ -604,7 +880,7 @@ const ar = {
|
|
|
604
880
|
hideFieldsTitle: "إخفاء الحقول",
|
|
605
881
|
dataLimitReached: "يتم عرض أول {{limit}} سجل. قد تتوفر بيانات إضافية.",
|
|
606
882
|
viewSettings: "إعدادات العرض",
|
|
607
|
-
viewSettingsHint: "التجميع واللون والكثافة والحقول المرئية.",
|
|
883
|
+
viewSettingsHint: "التجميع واللون والكثافة والحقول المرئية. ينطبق على جميع المستخدمين الذين يستخدمون هذا العرض.",
|
|
608
884
|
addGroup: "إضافة حقل مجموعة",
|
|
609
885
|
collapsedByDefault: "مطوي افتراضياً",
|
|
610
886
|
removeGroup: "إزالة",
|
|
@@ -669,6 +945,17 @@ const ar = {
|
|
|
669
945
|
},
|
|
670
946
|
gantt: {
|
|
671
947
|
rowLabel: "العناصر",
|
|
948
|
+
unusableRange: {
|
|
949
|
+
malformedDate: "نطاق تواريخ جانت غير صالح للاستخدام — {{path}} يساوي {{value}}، وهو ليس تاريخًا صالحًا. يجب أن تكون كل تواريخ جانت قابلة للتحليل: startDate و endDate لكل عنصر صف، بالإضافة إلى أي minDate / maxDate مثبّت في المخطط.",
|
|
950
|
+
malformedRow: "صفوف جانت غير صالحة للاستخدام — {{path}} يساوي {{value}}، وهو ليس على شكل صف. يقرأ جانت items كقائمة من الصفوف، وكل صف ككائن يحمل label و items خاصة به، و items كل صف كقائمة من الأشرطة؛ لا يمكن رسم null أو رقم أو سلسلة نصية أو كائن عادي في أي من هذه المواضع.",
|
|
951
|
+
inverted: "نطاق تواريخ جانت غير صالح للاستخدام — minDate {{minDate}} يقع بعد maxDate {{maxDate}}. يتجاوز minDate / maxDate المثبّت النطاق المحسوب من الصفوف، لذلك لا يحتوي هذا المحور على أي أعمدة ولا يمكن وضع أي شريط عليه؛ بدّل القيمتين.",
|
|
952
|
+
},
|
|
953
|
+
},
|
|
954
|
+
unsupported: {
|
|
955
|
+
objectBoundGantt: "النوع \"gantt\" غير مدعوم — المخطط الزمني المرتبط بكائن يعرض أنواع التغذية ({{variants}}). يحتاج مخطط جانت إلى صفوف صريحة، لكل منها عناصر items متداخلة خاصة به، لذلك لا يؤثر محور جانت (scale) هنا.",
|
|
956
|
+
},
|
|
957
|
+
unconfigured: {
|
|
958
|
+
noDateAxis: "محور تواريخ المخطط الزمني مطلوب — هذا العرض لا يعلن أي حقل تاريخ، والمخطط الزمني المرتبط بكائن لا يخترع حقلاً. أعلن أحد الحقول التالية: {{fields}}. الأول هو صيغة المواصفة، والبقية أسماء مستعارة قديمة.",
|
|
672
959
|
},
|
|
673
960
|
},
|
|
674
961
|
gantt: {
|
|
@@ -686,6 +973,7 @@ const ar = {
|
|
|
686
973
|
},
|
|
687
974
|
aria: {
|
|
688
975
|
taskList: "قائمة المهام",
|
|
976
|
+
refreshing: "جارٍ التحديث…",
|
|
689
977
|
},
|
|
690
978
|
tooltip: {
|
|
691
979
|
days: "ي",
|
|
@@ -731,13 +1019,31 @@ const ar = {
|
|
|
731
1019
|
conflict: {
|
|
732
1020
|
title: "تعارض في الجدولة",
|
|
733
1021
|
body: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1022
|
+
body_zero: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1023
|
+
body_one: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1024
|
+
body_two: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1025
|
+
body_few: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1026
|
+
body_many: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1027
|
+
body_other: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
734
1028
|
confirm: "إعادة الجدولة تلقائيًا",
|
|
735
1029
|
cancel: "الإبقاء كما هو",
|
|
736
1030
|
},
|
|
737
1031
|
autoScheduleDlg: {
|
|
738
1032
|
title: "الجدولة التلقائية",
|
|
739
1033
|
body: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1034
|
+
body_zero: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1035
|
+
body_one: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1036
|
+
body_two: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1037
|
+
body_few: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1038
|
+
body_many: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1039
|
+
body_other: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
740
1040
|
skipped: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1041
|
+
skipped_zero: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1042
|
+
skipped_one: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1043
|
+
skipped_two: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1044
|
+
skipped_few: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1045
|
+
skipped_many: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1046
|
+
skipped_other: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
741
1047
|
confirm: "تطبيق",
|
|
742
1048
|
cancel: "إلغاء",
|
|
743
1049
|
none: "جميع التبعيات مستوفاة — لا شيء لإعادة جدولته.",
|
|
@@ -816,6 +1122,7 @@ const ar = {
|
|
|
816
1122
|
tabActionsFor: "إجراءات العرض لـ {{name}}",
|
|
817
1123
|
readonlyAriaLabel: "عرض للقراءة فقط",
|
|
818
1124
|
readonlyTooltip: "عرض النظام — معرَّف في الكود، للقراءة فقط.",
|
|
1125
|
+
malformedFilter: "عامل تصفية طريقة العرض هذه غير صالح، لذا لا تُعرض أي سجلات: يتعذّر تطبيق الشرط {{subject}}.",
|
|
819
1126
|
},
|
|
820
1127
|
designer: {
|
|
821
1128
|
undo: "تراجع",
|
|
@@ -842,8 +1149,16 @@ const ar = {
|
|
|
842
1149
|
addReaction: "إضافة تفاعل",
|
|
843
1150
|
pageHeaderActions: "إجراءات رأس الصفحة",
|
|
844
1151
|
emojiPicker: "منتقي الرموز التعبيرية",
|
|
845
|
-
|
|
846
|
-
|
|
1152
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
1153
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
1154
|
+
// without a count.
|
|
1155
|
+
reactionCount: "{{emoji}} عدد التفاعلات: {{count}}",
|
|
1156
|
+
reactionCount_zero: "{{emoji}} {{count}} تفاعل",
|
|
1157
|
+
reactionCount_one: "{{emoji}} {{count}} تفاعل",
|
|
1158
|
+
reactionCount_two: "{{emoji}} تفاعلان ({{count}})",
|
|
1159
|
+
reactionCount_few: "{{emoji}} {{count}} تفاعلات",
|
|
1160
|
+
reactionCount_many: "{{emoji}} {{count}} تفاعلًا",
|
|
1161
|
+
reactionCount_other: "{{emoji}} {{count}} تفاعل",
|
|
847
1162
|
recordDetail: "تفاصيل السجل",
|
|
848
1163
|
recordDetailWithLabel: "تفاصيل {{label}}",
|
|
849
1164
|
openAsFullPage: "فتح كصفحة كاملة",
|
|
@@ -861,7 +1176,7 @@ const ar = {
|
|
|
861
1176
|
relatedRecords: "{{count}} سجلات",
|
|
862
1177
|
relatedRecordOne: "{{count}} سجل",
|
|
863
1178
|
noRelatedRecords: "لا توجد سجلات ذات صلة",
|
|
864
|
-
loading: "
|
|
1179
|
+
loading: "جارٍ التحميل…",
|
|
865
1180
|
copyToClipboard: "نسخ إلى الحافظة",
|
|
866
1181
|
copied: "تم النسخ!",
|
|
867
1182
|
deleteConfirmation: "هل أنت متأكد أنك تريد حذف هذا السجل؟",
|
|
@@ -870,7 +1185,6 @@ const ar = {
|
|
|
870
1185
|
viewAll: "عرض الكل",
|
|
871
1186
|
new: "جديد",
|
|
872
1187
|
add: "إضافة",
|
|
873
|
-
emptyValue: "—",
|
|
874
1188
|
comments: "التعليقات",
|
|
875
1189
|
searchComments: "البحث في التعليقات…",
|
|
876
1190
|
addCommentPlaceholder: "أضف تعليقاً… (Ctrl+Enter للإرسال)",
|
|
@@ -881,11 +1195,34 @@ const ar = {
|
|
|
881
1195
|
unpin: "إلغاء التثبيت",
|
|
882
1196
|
justNow: "الآن",
|
|
883
1197
|
minutesAgo: "منذ {{count}} دقيقة",
|
|
1198
|
+
minutesAgo_zero: "منذ {{count}} دقيقة",
|
|
1199
|
+
minutesAgo_one: "منذ {{count}} دقيقة",
|
|
1200
|
+
minutesAgo_two: "منذ دقيقتين ({{count}})",
|
|
1201
|
+
minutesAgo_few: "منذ {{count}} دقائق",
|
|
1202
|
+
minutesAgo_many: "منذ {{count}} دقيقة",
|
|
1203
|
+
minutesAgo_other: "منذ {{count}} دقيقة",
|
|
884
1204
|
hoursAgo: "منذ {{count}} ساعة",
|
|
1205
|
+
hoursAgo_zero: "منذ {{count}} ساعة",
|
|
1206
|
+
hoursAgo_one: "منذ {{count}} ساعة",
|
|
1207
|
+
hoursAgo_two: "منذ ساعتين ({{count}})",
|
|
1208
|
+
hoursAgo_few: "منذ {{count}} ساعات",
|
|
1209
|
+
hoursAgo_many: "منذ {{count}} ساعة",
|
|
1210
|
+
hoursAgo_other: "منذ {{count}} ساعة",
|
|
885
1211
|
daysAgo: "منذ {{count}} يوم",
|
|
1212
|
+
daysAgo_zero: "منذ {{count}} يوم",
|
|
1213
|
+
daysAgo_one: "منذ {{count}} يوم",
|
|
1214
|
+
daysAgo_two: "منذ يومين ({{count}})",
|
|
1215
|
+
daysAgo_few: "منذ {{count}} أيام",
|
|
1216
|
+
daysAgo_many: "منذ {{count}} يومًا",
|
|
1217
|
+
daysAgo_other: "منذ {{count}} يوم",
|
|
886
1218
|
dropFilesToUpload: "اسحب الملفات هنا أو انقر للرفع",
|
|
887
1219
|
attachmentCount: "{{count}} مرفق",
|
|
888
|
-
|
|
1220
|
+
attachmentCount_zero: "{{count}} مرفق",
|
|
1221
|
+
attachmentCount_one: "{{count}} مرفق",
|
|
1222
|
+
attachmentCount_two: "مرفقان ({{count}})",
|
|
1223
|
+
attachmentCount_few: "{{count}} مرفقات",
|
|
1224
|
+
attachmentCount_many: "{{count}} مرفقًا",
|
|
1225
|
+
attachmentCount_other: "{{count}} مرفق",
|
|
889
1226
|
removeAttachment: "إزالة المرفق",
|
|
890
1227
|
// Record Attachments panel (enable.files, objectstack#4358)
|
|
891
1228
|
attachments: "المرفقات",
|
|
@@ -899,11 +1236,10 @@ const ar = {
|
|
|
899
1236
|
attachmentDownloadDenied: "ليس لديك صلاحية تنزيل هذا المرفق.",
|
|
900
1237
|
attachmentAuthRequired: "يرجى تسجيل الدخول لتنزيل هذا المرفق.",
|
|
901
1238
|
attachmentPermissionDenied: "ليس لديك إذن للقيام بذلك.",
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
currentVersion: "الحالي",
|
|
1239
|
+
attachmentsAccessDenied: "ليس لديك حق الوصول إلى هذه المرفقات.",
|
|
1240
|
+
attachmentsLoadFailed: "تعذر تحميل مرفقات هذا السجل.",
|
|
1241
|
+
attachmentsApiUnavailable: "قائمة المرفقات غير متاحة على هذا الكائن.",
|
|
1242
|
+
retryLoadAttachments: "إعادة المحاولة",
|
|
907
1243
|
discussion: "المناقشة",
|
|
908
1244
|
showDiscussion: "إظهار المناقشة ({{count}})",
|
|
909
1245
|
hideDiscussion: "إخفاء المناقشة",
|
|
@@ -918,25 +1254,39 @@ const ar = {
|
|
|
918
1254
|
writeComment: "اكتب تعليقاً…",
|
|
919
1255
|
subscribedTooltip: "مشترك — انقر لإلغاء الاشتراك",
|
|
920
1256
|
unsubscribedTooltip: "الاشتراك في الإشعارات",
|
|
921
|
-
firstRecord: "السجل الأول (Home)",
|
|
922
|
-
previousRecordKey: "السجل السابق (←)",
|
|
923
|
-
nextRecordKey: "السجل التالي (→)",
|
|
924
|
-
lastRecord: "السجل الأخير (End)",
|
|
925
1257
|
noRecords: "لا توجد سجلات",
|
|
926
|
-
searchWhileNavigating: "البحث أثناء التصفح",
|
|
927
|
-
searchRecords: "البحث في السجلات…",
|
|
928
1258
|
allActivity: "كل النشاط",
|
|
929
1259
|
commentsOnly: "التعليقات فقط",
|
|
930
1260
|
fieldChangesFilter: "تغييرات الحقول",
|
|
931
1261
|
tasksOnly: "المهام فقط",
|
|
932
1262
|
leaveCommentPlaceholder: "اترك تعليقاً… (Ctrl+Enter للإرسال)",
|
|
933
1263
|
noActivity: "لا يوجد نشاط مسجل",
|
|
1264
|
+
activityAccessDenied: "ليس لديك صلاحية عرض نشاط هذا السجل.",
|
|
1265
|
+
commentsAccessDenied: "ليس لديك صلاحية عرض التعليقات على هذا السجل.",
|
|
1266
|
+
// objectui#7149 — the rest of `ActivityTimeline`. The four chip labels the
|
|
1267
|
+
// `detail.*` pack did not already name, and the `formatFieldChange`
|
|
1268
|
+
// sentences, which are assembled in code and so need interpolation holes.
|
|
1269
|
+
allFilter: 'الكل',
|
|
1270
|
+
createsFilter: 'عمليات الإنشاء',
|
|
1271
|
+
deletesFilter: 'عمليات الحذف',
|
|
1272
|
+
statusChangesFilter: 'تغييرات الحالة',
|
|
1273
|
+
activityEmptyValue: '(فارغ)',
|
|
1274
|
+
activityFieldChanged: 'غيّر {{field}} من "{{old}}" إلى "{{new}}"',
|
|
1275
|
+
activityCreated: 'أنشأ هذا السجل',
|
|
1276
|
+
activityDeleted: 'حذف هذا السجل',
|
|
1277
|
+
activityStatusChanged: 'غيّر الحالة إلى "{{value}}"',
|
|
1278
|
+
activityUpdated: 'حدّث السجل',
|
|
934
1279
|
loadMore: "تحميل المزيد",
|
|
935
1280
|
edited: "(معدل)",
|
|
936
1281
|
via: "عبر {{source}}",
|
|
937
1282
|
viewSource: "عرض المصدر",
|
|
938
1283
|
replyCount: "{{count}} رد",
|
|
939
|
-
|
|
1284
|
+
replyCount_zero: "{{count}} رد",
|
|
1285
|
+
replyCount_one: "{{count}} رد",
|
|
1286
|
+
replyCount_two: "ردّان ({{count}})",
|
|
1287
|
+
replyCount_few: "{{count}} ردود",
|
|
1288
|
+
replyCount_many: "{{count}} ردًّا",
|
|
1289
|
+
replyCount_other: "{{count}} رد",
|
|
940
1290
|
replyPlaceholder: "رد…",
|
|
941
1291
|
filterActivity: "تصفية النشاط",
|
|
942
1292
|
openDiscussion: "فتح لوحة المناقشة",
|
|
@@ -950,6 +1300,9 @@ const ar = {
|
|
|
950
1300
|
writeStrippedTitle: "تم الحفظ، لكن بعض الحقول لم تُطبَّق",
|
|
951
1301
|
writeStrippedReadonly: "للقراءة فقط، لذلك لم تُطبَّق: {{fields}}",
|
|
952
1302
|
writeStrippedByState: "غير قابلة للتعديل في الحالة الحالية لهذا السجل، لذلك لم تُطبَّق: {{fields}}",
|
|
1303
|
+
writeStrippedPrimaryKey: "معرّف السجل لا يمكن تغييره عند الحفظ، لذلك لم تُطبَّق: {{fields}}",
|
|
1304
|
+
writeStrippedComputed: "يحسبها الخادم بواسطة صيغة، لذلك لم تُطبَّق القيمة المُرسَلة: {{fields}}",
|
|
1305
|
+
writeStrippedUnknownReason: "لم تُطبَّق من قِبل الخادم: {{fields}}",
|
|
953
1306
|
approvalPendingEditable: "قيد الموافقة · قابل للتعديل",
|
|
954
1307
|
approvalPendingTooltip: "يحتوي هذا السجل على طلب موافقة معلق، لكن هذه الخطوة لا تزال تسمح بالتعديل",
|
|
955
1308
|
approvalProgress: "الموافقات — {{got}} من {{need}}",
|
|
@@ -962,7 +1315,16 @@ const ar = {
|
|
|
962
1315
|
cancelApprovalTooltipUnlocked: "إلغاء طلب الموافقة المعلق",
|
|
963
1316
|
cancelApprovalFailed: "فشل إلغاء الموافقة",
|
|
964
1317
|
cancelApprovalUnavailable: "إلغاء الموافقات غير مدعوم من مصدر البيانات هذا",
|
|
1318
|
+
pathLabel: 'مسار السجل',
|
|
1319
|
+
pathStageCompleted: '{{stage}}، مكتملة',
|
|
1320
|
+
pathStageCurrent: '{{stage}}، المرحلة الحالية',
|
|
1321
|
+
pathStageUpcoming: '{{stage}}، قادمة',
|
|
1322
|
+
pathStageLostCurrent: '{{stage}}، خاسرة، المرحلة الحالية',
|
|
1323
|
+
pathStageLostUpcoming: '{{stage}}، خاسرة، لم يتم الوصول إليها',
|
|
1324
|
+
pathStageWonUpcoming: '{{stage}}، المرحلة الهدف، لم يتم الوصول إليها',
|
|
965
1325
|
linkCopied: "تم نسخ الرابط إلى الحافظة",
|
|
1326
|
+
commentFailed: "لم يُنشر تعليقك. لم يُحفظ أي شيء — يُرجى المحاولة مرة أخرى.",
|
|
1327
|
+
reactionFailed: "لم يُحفظ تفاعلك. يُرجى المحاولة مرة أخرى.",
|
|
966
1328
|
linkCopyFailed: "فشل نسخ الرابط",
|
|
967
1329
|
cancel: "إلغاء",
|
|
968
1330
|
cancelEdit: "تجاهل التغييرات",
|
|
@@ -992,100 +1354,81 @@ const ar = {
|
|
|
992
1354
|
sortBy: "ترتيب حسب",
|
|
993
1355
|
filterPlaceholder: "تصفية…",
|
|
994
1356
|
highlightFields: "الحقول الرئيسية",
|
|
1357
|
+
highlightsLabel: "الحقول الرئيسية للسجل",
|
|
995
1358
|
createdBy: "أنشأه",
|
|
996
1359
|
updatedBy: "حدّثه",
|
|
997
|
-
// objectui#3863 — base key,
|
|
998
|
-
//
|
|
999
|
-
//
|
|
1000
|
-
//
|
|
1001
|
-
//
|
|
1360
|
+
// objectui#3863 — base key, answering only a call made without a count: since
|
|
1361
|
+
// objectui#11432 every ar category has its own slot — `_zero` and `_other`
|
|
1362
|
+
// (100+) singular, `_two` dual with the numeral in parentheses, `_few` (3-10)
|
|
1363
|
+
// the plural agreement, `_many` (11-99) accusative singular. The adjective
|
|
1364
|
+
// agrees with the masculine noun it stands for, as `_one` does.
|
|
1002
1365
|
showEmptyRelated: "+ {{count}} فارغ(فارغة)",
|
|
1366
|
+
showEmptyRelated_zero: "+ {{count}} فارغ",
|
|
1003
1367
|
showEmptyRelated_one: "+ {{count}} فارغ",
|
|
1004
|
-
|
|
1368
|
+
showEmptyRelated_two: "+ فارغان ({{count}})",
|
|
1369
|
+
showEmptyRelated_few: "+ {{count}} فارغة",
|
|
1370
|
+
showEmptyRelated_many: "+ {{count}} فارغًا",
|
|
1371
|
+
showEmptyRelated_other: "+ {{count}} فارغ",
|
|
1005
1372
|
copyEmail: "نسخ البريد الإلكتروني",
|
|
1006
1373
|
copyPhone: "نسخ الهاتف",
|
|
1007
1374
|
copyRecordId: "نسخ معرف السجل",
|
|
1008
1375
|
showEmptyFields: "إظهار {{count}} حقل(حقول) فارغة",
|
|
1376
|
+
showEmptyFields_zero: "إظهار {{count}} حقل فارغ",
|
|
1377
|
+
showEmptyFields_one: "إظهار {{count}} حقل فارغ",
|
|
1378
|
+
showEmptyFields_two: "إظهار حقلين فارغين ({{count}})",
|
|
1379
|
+
showEmptyFields_few: "إظهار {{count}} حقول فارغة",
|
|
1380
|
+
showEmptyFields_many: "إظهار {{count}} حقلًا فارغًا",
|
|
1381
|
+
showEmptyFields_other: "إظهار {{count}} حقل فارغ",
|
|
1009
1382
|
hideEmptyFields: "إخفاء الحقول الفارغة",
|
|
1010
1383
|
noValue: "لا قيمة",
|
|
1384
|
+
unresolvedReference: "مرجع غير مُحلّل: لم يتم تحويل {{value}} إلى مستخدم",
|
|
1385
|
+
unresolvedLookupReference: "مرجع غير مُحلّل: لم يتم تحويل {{value}} إلى سجل في هذه الشاشة",
|
|
1386
|
+
repeaterItemCount: "{{count}} عنصر (عناصر)",
|
|
1387
|
+
repeaterItemCount_zero: "{{count}} عنصر",
|
|
1388
|
+
repeaterItemCount_one: "{{count}} عنصر",
|
|
1389
|
+
repeaterItemCount_two: "عنصران ({{count}})",
|
|
1390
|
+
repeaterItemCount_few: "{{count}} عناصر",
|
|
1391
|
+
repeaterItemCount_many: "{{count}} عنصرًا",
|
|
1392
|
+
repeaterItemCount_other: "{{count}} عنصر",
|
|
1393
|
+
fileCount: "{{count}} ملف (ملفات)",
|
|
1394
|
+
fileCount_zero: "{{count}} ملف",
|
|
1395
|
+
fileCount_one: "{{count}} ملف",
|
|
1396
|
+
fileCount_two: "ملفان ({{count}})",
|
|
1397
|
+
fileCount_few: "{{count}} ملفات",
|
|
1398
|
+
fileCount_many: "{{count}} ملفًا",
|
|
1399
|
+
fileCount_other: "{{count}} ملف",
|
|
1011
1400
|
},
|
|
1012
1401
|
chart: {
|
|
1013
|
-
|
|
1014
|
-
|
|
1402
|
+
loading: "جارٍ تحميل الرسم البياني…",
|
|
1403
|
+
refreshing: "جارٍ التحديث…",
|
|
1015
1404
|
nullCategory: "(غير محدد)",
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
markersCount: "{{count}} علامة",
|
|
1021
|
-
invalidCoordinates: "{{count}} سجل بإحداثيات مفقودة أو غير صالحة مستبعد من الخريطة.",
|
|
1022
|
-
invalidCoordinatesPlural: "{{count}} سجلات بإحداثيات مفقودة أو غير صالحة مستبعدة من الخريطة.",
|
|
1023
|
-
},
|
|
1024
|
-
workflow: {
|
|
1025
|
-
draft: "مسودة",
|
|
1026
|
-
active: "نشط",
|
|
1027
|
-
paused: "متوقف مؤقتاً",
|
|
1028
|
-
completed: "مكتمل",
|
|
1029
|
-
cancelled: "ملغي",
|
|
1030
|
-
save: "حفظ",
|
|
1031
|
-
publish: "نشر",
|
|
1032
|
-
addNode: "إضافة عقدة",
|
|
1033
|
-
workflowFlow: "سير العمل",
|
|
1034
|
-
properties: "الخصائص",
|
|
1035
|
-
connections: "الاتصالات",
|
|
1036
|
-
quickConnect: "اتصال سريع",
|
|
1037
|
-
fromPlaceholder: "من…",
|
|
1038
|
-
toPlaceholder: "إلى…",
|
|
1039
|
-
connect: "ربط",
|
|
1040
|
-
label: "التسمية",
|
|
1041
|
-
type: "النوع",
|
|
1042
|
-
description: "الوصف",
|
|
1043
|
-
assignee: "المسؤول",
|
|
1044
|
-
assigneeType: "نوع المسؤول",
|
|
1045
|
-
user: "مستخدم",
|
|
1046
|
-
role: "دور",
|
|
1047
|
-
group: "مجموعة",
|
|
1048
|
-
expression: "تعبير",
|
|
1049
|
-
timeoutMinutes: "المهلة (دقائق)",
|
|
1050
|
-
selectNodeToEdit: "حدد عقدة لتعديل خصائصها",
|
|
1051
|
-
workflowTitle: "عنوان سير العمل",
|
|
1052
|
-
newWorkflow: "سير عمل جديد",
|
|
1053
|
-
outConnections: "{{count}} مخرج",
|
|
1054
|
-
start: "بداية",
|
|
1055
|
-
end: "نهاية",
|
|
1056
|
-
task: "مهمة",
|
|
1057
|
-
userTask: "مهمة مستخدم",
|
|
1058
|
-
serviceTask: "مهمة خدمة",
|
|
1059
|
-
scriptTask: "مهمة نصية",
|
|
1060
|
-
approval: "موافقة",
|
|
1061
|
-
condition: "شرط",
|
|
1062
|
-
parallelGateway: "بوابة متوازية",
|
|
1063
|
-
joinGateway: "بوابة دمج",
|
|
1064
|
-
boundaryEvent: "حدث حدودي",
|
|
1065
|
-
delay: "تأخير",
|
|
1066
|
-
notification: "إشعار",
|
|
1067
|
-
webhook: "Webhook",
|
|
1068
|
-
allowConcurrency: "السماح (تنفيذ متزامن)",
|
|
1069
|
-
forbidConcurrency: "منع (تخطي الجديد)",
|
|
1070
|
-
replaceConcurrency: "استبدال (إلغاء الحالي)",
|
|
1071
|
-
queueConcurrency: "طابور (تنفيذ بعد الحالي)",
|
|
1072
|
-
conditionEvent: "شرط",
|
|
1073
|
-
manualEvent: "يدوي",
|
|
1074
|
-
webhookEvent: "Webhook",
|
|
1075
|
-
timerEvent: "مؤقت",
|
|
1076
|
-
signalEvent: "إشارة",
|
|
1077
|
-
versionHistory: "تاريخ الإصدارات",
|
|
1078
|
-
importBpmn: "استيراد BPMN",
|
|
1079
|
-
exportBpmn: "تصدير BPMN",
|
|
1080
|
-
undo: "تراجع",
|
|
1081
|
-
redo: "إعادة",
|
|
1082
|
-
resetZoom: "إعادة تعيين التكبير",
|
|
1405
|
+
scatterOneMeasure: "المخطط المبعثر يرسم مقياسًا واحدًا فقط. أبقِ سلسلة واحدة:",
|
|
1406
|
+
unconfigured: {
|
|
1407
|
+
noCategoryAxis: "محور فئات الرسم البياني مطلوب — الرسم البياني المرتبط بكائن لا يخترع محورًا. أعلن أحد التالي:",
|
|
1408
|
+
},
|
|
1083
1409
|
},
|
|
1084
1410
|
dashboard: {
|
|
1085
|
-
|
|
1411
|
+
// objectui#7063 — the DEFAULT empty state every dashboard widget renders
|
|
1412
|
+
// when its query SUCCEEDED and returned nothing. It replaced the terse
|
|
1413
|
+
// per-widget `noRows` / `noDataAvailable` fragments at the render site;
|
|
1414
|
+
// objectui#7125 deleted those two keys from all ten packs once nothing
|
|
1415
|
+
// read them. The copy here has to read as a state rather than a failure,
|
|
1416
|
+
// which is why it says the widget loaded. `sourceLabel` carries its own
|
|
1417
|
+
// punctuation so the call site concatenates no separator (see
|
|
1418
|
+
// `WidgetEmptyState`).
|
|
1419
|
+
empty: {
|
|
1420
|
+
title: "لا توجد بيانات بعد",
|
|
1421
|
+
message: "تم تحميل هذه الأداة بنجاح، لكن الاستعلام لم يُرجع أي سجلات بعد.",
|
|
1422
|
+
sourceLabel: "مصدر البيانات:",
|
|
1423
|
+
},
|
|
1086
1424
|
loading: "جارٍ التحميل…",
|
|
1425
|
+
refreshing: "جارٍ التحديث…",
|
|
1426
|
+
refreshAll: "تحديث الكل",
|
|
1427
|
+
refreshDashboard: "تحديث لوحة القيادة",
|
|
1087
1428
|
pickMeasures: "اختر المقاييس (القيم) لأداة مجموعة البيانات هذه.",
|
|
1088
1429
|
datasetUnsupported: "مصدر البيانات هذا لا يدعم استعلامات مجموعات البيانات.",
|
|
1430
|
+
widgetForbiddenTitle: "لا تملك صلاحية الوصول",
|
|
1431
|
+
widgetForbiddenMessage: "ليست لديك صلاحية لعرض البيانات الخاصة بهذه الأداة.",
|
|
1089
1432
|
details: "التفاصيل",
|
|
1090
1433
|
exportCsv: "تصدير CSV",
|
|
1091
1434
|
openInList: "فتح في القائمة",
|
|
@@ -1113,13 +1456,110 @@ const ar = {
|
|
|
1113
1456
|
},
|
|
1114
1457
|
},
|
|
1115
1458
|
addWidget: "إضافة أداة",
|
|
1116
|
-
removeWidget: "إزالة أداة",
|
|
1117
1459
|
editLayout: "تعديل التخطيط",
|
|
1118
1460
|
saveLayout: "حفظ التخطيط",
|
|
1119
1461
|
resetLayout: "إعادة تعيين التخطيط",
|
|
1120
1462
|
total: "الإجمالي",
|
|
1121
|
-
noDataAvailable: "لا بيانات متاحة",
|
|
1122
1463
|
noDataSourceFor: "لا مصدر بيانات لـ",
|
|
1464
|
+
config: {
|
|
1465
|
+
breadcrumb: {
|
|
1466
|
+
dashboard: "لوحة القيادة",
|
|
1467
|
+
configuration: "الإعداد",
|
|
1468
|
+
widget: "عنصر",
|
|
1469
|
+
chart: "مخطط",
|
|
1470
|
+
table: "جدول",
|
|
1471
|
+
pivotTable: "جدول محوري",
|
|
1472
|
+
},
|
|
1473
|
+
section: {
|
|
1474
|
+
general: "عام",
|
|
1475
|
+
layout: "التخطيط",
|
|
1476
|
+
data: "البيانات",
|
|
1477
|
+
dataBinding: "ربط البيانات",
|
|
1478
|
+
appearance: "المظهر",
|
|
1479
|
+
},
|
|
1480
|
+
field: {
|
|
1481
|
+
title: "العنوان",
|
|
1482
|
+
description: "الوصف",
|
|
1483
|
+
columns: "الأعمدة",
|
|
1484
|
+
gap: "المسافة",
|
|
1485
|
+
rowHeight: "ارتفاع الصف (بكسل)",
|
|
1486
|
+
autoRefresh: "تحديث تلقائي",
|
|
1487
|
+
showDescription: "إظهار الوصف",
|
|
1488
|
+
theme: "السمة",
|
|
1489
|
+
widgetType: "نوع العنصر",
|
|
1490
|
+
colorVariant: "متغير اللون",
|
|
1491
|
+
dataset: "مجموعة البيانات",
|
|
1492
|
+
dimensions: "الأبعاد",
|
|
1493
|
+
values: "القيم",
|
|
1494
|
+
width: "العرض (أعمدة)",
|
|
1495
|
+
height: "الارتفاع (صفوف)",
|
|
1496
|
+
},
|
|
1497
|
+
placeholder: {
|
|
1498
|
+
dashboardTitle: "عنوان لوحة القيادة",
|
|
1499
|
+
dashboardDescription: "ملخص قصير يظهر أسفل العنوان",
|
|
1500
|
+
widgetTitle: "عنوان العنصر",
|
|
1501
|
+
widgetDescription: "وصف العنصر",
|
|
1502
|
+
datasetName: "اسم مجموعة البيانات",
|
|
1503
|
+
selectDataset: "اختر مجموعة بيانات…",
|
|
1504
|
+
searchDatasets: "البحث في مجموعات البيانات…",
|
|
1505
|
+
addDimension: "إضافة بُعد…",
|
|
1506
|
+
addMeasure: "إضافة مقياس…",
|
|
1507
|
+
searchMembers: "بحث…",
|
|
1508
|
+
},
|
|
1509
|
+
empty: {
|
|
1510
|
+
datasets: "لم يتم العثور على مجموعات بيانات.",
|
|
1511
|
+
dimensions: "لم يتم اختيار أبعاد.",
|
|
1512
|
+
measures: "لم يتم اختيار مقاييس.",
|
|
1513
|
+
nothingToAdd: "لا يوجد المزيد للإضافة.",
|
|
1514
|
+
},
|
|
1515
|
+
help: {
|
|
1516
|
+
dataset: "مجموعة بيانات الطبقة الدلالية التي يرتبط بها هذا العنصر (ADR-0021).",
|
|
1517
|
+
dimensions: "تجميع/تقسيم القيم حسب أبعاد مجموعة البيانات هذه.",
|
|
1518
|
+
dimensionsPivot: "حقول التجميع/التقسيم. يمتد البُعد الأخير أفقيًا كأعمدة.",
|
|
1519
|
+
values: "المقاييس المراد عرضها من مجموعة البيانات (واحد على الأقل).",
|
|
1520
|
+
},
|
|
1521
|
+
action: {
|
|
1522
|
+
add: "إضافة",
|
|
1523
|
+
remove: "إزالة {{name}}",
|
|
1524
|
+
},
|
|
1525
|
+
refresh: {
|
|
1526
|
+
off: "إيقاف",
|
|
1527
|
+
every30s: "كل 30 ثانية",
|
|
1528
|
+
every1m: "كل دقيقة",
|
|
1529
|
+
every5m: "كل 5 دقائق",
|
|
1530
|
+
every15m: "كل 15 دقيقة",
|
|
1531
|
+
every30m: "كل 30 دقيقة",
|
|
1532
|
+
every1h: "كل ساعة",
|
|
1533
|
+
},
|
|
1534
|
+
themeOption: {
|
|
1535
|
+
light: "فاتح",
|
|
1536
|
+
dark: "داكن",
|
|
1537
|
+
auto: "تلقائي",
|
|
1538
|
+
},
|
|
1539
|
+
widgetType: {
|
|
1540
|
+
metric: "مقياس",
|
|
1541
|
+
bar: "مخطط شريطي",
|
|
1542
|
+
horizontalBar: "شريطي أفقي",
|
|
1543
|
+
line: "مخطط خطي",
|
|
1544
|
+
pie: "مخطط دائري",
|
|
1545
|
+
donut: "مخطط حلقي",
|
|
1546
|
+
area: "مخطط مساحة",
|
|
1547
|
+
scatter: "مخطط نقطي",
|
|
1548
|
+
funnel: "قمع",
|
|
1549
|
+
table: "جدول",
|
|
1550
|
+
pivot: "جدول محوري",
|
|
1551
|
+
},
|
|
1552
|
+
color: {
|
|
1553
|
+
default: "افتراضي",
|
|
1554
|
+
blue: "أزرق",
|
|
1555
|
+
teal: "أزرق مخضر",
|
|
1556
|
+
orange: "برتقالي",
|
|
1557
|
+
purple: "بنفسجي",
|
|
1558
|
+
success: "نجاح",
|
|
1559
|
+
warning: "تحذير",
|
|
1560
|
+
danger: "خطر",
|
|
1561
|
+
},
|
|
1562
|
+
},
|
|
1123
1563
|
trend: {
|
|
1124
1564
|
vsLastQuarter: "مقابل الربع الماضي",
|
|
1125
1565
|
vsLastMonth: "مقابل الشهر الماضي",
|
|
@@ -1129,24 +1569,6 @@ const ar = {
|
|
|
1129
1569
|
vsPreviousPeriod: "مقابل الفترة السابقة",
|
|
1130
1570
|
},
|
|
1131
1571
|
},
|
|
1132
|
-
configPanel: {
|
|
1133
|
-
save: "حفظ",
|
|
1134
|
-
discard: "تجاهل",
|
|
1135
|
-
close: "إغلاق",
|
|
1136
|
-
layout: "التخطيط",
|
|
1137
|
-
columns: "الأعمدة",
|
|
1138
|
-
gap: "المسافة",
|
|
1139
|
-
rowHeight: "ارتفاع الصف",
|
|
1140
|
-
data: "البيانات",
|
|
1141
|
-
refreshInterval: "فترة التحديث",
|
|
1142
|
-
appearance: "المظهر",
|
|
1143
|
-
title: "العنوان",
|
|
1144
|
-
showDescription: "إظهار الوصف",
|
|
1145
|
-
theme: "السمة",
|
|
1146
|
-
configuration: "الإعداد",
|
|
1147
|
-
general: "عام",
|
|
1148
|
-
advanced: "متقدم",
|
|
1149
|
-
},
|
|
1150
1572
|
appDesigner: {
|
|
1151
1573
|
createApp: "إنشاء تطبيق",
|
|
1152
1574
|
editApp: "تعديل التطبيق",
|
|
@@ -1159,10 +1581,6 @@ const ar = {
|
|
|
1159
1581
|
appDescription: "الوصف",
|
|
1160
1582
|
appIcon: "الأيقونة",
|
|
1161
1583
|
template: "القالب",
|
|
1162
|
-
layout: "التخطيط",
|
|
1163
|
-
layoutSidebar: "الشريط الجانبي",
|
|
1164
|
-
layoutHeader: "الرأس",
|
|
1165
|
-
layoutEmpty: "فارغ",
|
|
1166
1584
|
selectObjects: "تحديد الكائنات",
|
|
1167
1585
|
searchObjects: "البحث في الكائنات…",
|
|
1168
1586
|
selectAll: "تحديد الكل",
|
|
@@ -1171,7 +1589,6 @@ const ar = {
|
|
|
1171
1589
|
addGroup: "إضافة مجموعة",
|
|
1172
1590
|
addUrl: "إضافة URL",
|
|
1173
1591
|
addSeparator: "إضافة فاصل",
|
|
1174
|
-
noNavItems: "لا توجد عناصر تنقل بعد.",
|
|
1175
1592
|
logoUrl: "Logo URL",
|
|
1176
1593
|
primaryColor: "اللون الأساسي",
|
|
1177
1594
|
faviconUrl: "Favicon URL",
|
|
@@ -1197,16 +1614,13 @@ const ar = {
|
|
|
1197
1614
|
showSort: "إظهار الترتيب",
|
|
1198
1615
|
appearance: "المظهر",
|
|
1199
1616
|
rowHeight: "ارتفاع الصف",
|
|
1200
|
-
stripedRows: "صفوف متناوبة",
|
|
1201
|
-
bordered: "محاط بإطار",
|
|
1202
1617
|
livePreview: "معاينة مباشرة",
|
|
1203
|
-
stepBasicDesc: "الاسم والعنوان
|
|
1618
|
+
stepBasicDesc: "الاسم والعنوان والأيقونة",
|
|
1204
1619
|
stepObjectsDesc: "اختيار كائنات الأعمال",
|
|
1205
1620
|
stepNavigationDesc: "بناء شجرة التنقل",
|
|
1206
1621
|
stepBrandingDesc: "الشعار والألوان والأيقونة",
|
|
1207
1622
|
noObjectsFound: "لم يتم العثور على كائنات.",
|
|
1208
1623
|
noNavItemsHint: "لا توجد عناصر تنقل بعد. حدد كائنات في الخطوة السابقة أو أضف عناصر يدويًا.",
|
|
1209
|
-
separator: "فاصل",
|
|
1210
1624
|
separatorLabel: "— فاصل —",
|
|
1211
1625
|
newGroup: "مجموعة جديدة",
|
|
1212
1626
|
newLink: "رابط جديد",
|
|
@@ -1240,6 +1654,7 @@ const ar = {
|
|
|
1240
1654
|
navTypeSeparator: "فاصل",
|
|
1241
1655
|
navTypeAction: "إجراء",
|
|
1242
1656
|
navTypeComponent: "مكوّن",
|
|
1657
|
+
navTypeDoc: "مستند",
|
|
1243
1658
|
navEditIcon: "تعديل الأيقونة",
|
|
1244
1659
|
navToggleVisible: "تبديل الرؤية",
|
|
1245
1660
|
navHidden: "مخفي",
|
|
@@ -1312,17 +1727,13 @@ const ar = {
|
|
|
1312
1727
|
unique: "فريد",
|
|
1313
1728
|
readOnly: "للقراءة فقط",
|
|
1314
1729
|
hidden: "مخفي",
|
|
1315
|
-
indexed: "مفهرس",
|
|
1316
1730
|
externalId: "معرف خارجي",
|
|
1317
1731
|
trackHistory: "تتبع السجل",
|
|
1318
1732
|
defaultValue: "القيمة الافتراضية",
|
|
1319
1733
|
placeholder: "نص تلميحي",
|
|
1320
1734
|
referenceTo: "مرجع إلى",
|
|
1321
|
-
formula: "صيغة",
|
|
1322
1735
|
options: "خيارات",
|
|
1323
1736
|
addOption: "إضافة خيار",
|
|
1324
|
-
validationRules: "قواعد التحقق",
|
|
1325
|
-
addRule: "إضافة قاعدة",
|
|
1326
1737
|
systemBadge: "النظام",
|
|
1327
1738
|
ungrouped: "عام",
|
|
1328
1739
|
deleteConfirmTitle: "حذف الحقل؟",
|
|
@@ -1341,7 +1752,29 @@ const ar = {
|
|
|
1341
1752
|
},
|
|
1342
1753
|
},
|
|
1343
1754
|
console: {
|
|
1755
|
+
studio: {
|
|
1756
|
+
backToHome: "العودة إلى الرئيسية",
|
|
1757
|
+
},
|
|
1344
1758
|
saveAdvisoryTitle: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1759
|
+
saveAdvisoryTitle_zero: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1760
|
+
saveAdvisoryTitle_one: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1761
|
+
saveAdvisoryTitle_two: "تم الحفظ — أنتج فحص التأليف ملاحظتين إرشاديتين ({{count}})",
|
|
1762
|
+
saveAdvisoryTitle_few: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظات إرشادية",
|
|
1763
|
+
saveAdvisoryTitle_many: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1764
|
+
saveAdvisoryTitle_other: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1765
|
+
publishAdvisoryTitle: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1766
|
+
publishAdvisoryTitle_zero: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1767
|
+
publishAdvisoryTitle_one: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1768
|
+
publishAdvisoryTitle_two: "تم النشر — أنتج فحص التأليف ملاحظتين إرشاديتين ({{count}})",
|
|
1769
|
+
publishAdvisoryTitle_few: "تم النشر — أنتج فحص التأليف {{count}} ملاحظات إرشادية",
|
|
1770
|
+
publishAdvisoryTitle_many: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1771
|
+
publishAdvisoryTitle_other: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1772
|
+
importMappingsUnavailable: "تعذّر تحميل تعيينات الاستيراد المحفوظة لـ {{object}}",
|
|
1773
|
+
importMappingsRefused: "رفض الخادم هذا الطلب، لذلك فإن هذه القائمة فارغة لأنه تعذّرت قراءتها، لا لأنه لا يوجد شيء مسجَّل. سجّل الدخول مرة أخرى أو اطلب صلاحية الوصول من المسؤول.",
|
|
1774
|
+
importMappingsUnreadable: "هذه القائمة فارغة لأنه تعذّرت قراءتها، لا لأنه لا يوجد شيء مسجَّل. أعد المحاولة، وأبلغ عن المشكلة إذا استمرت.",
|
|
1775
|
+
savedViewsUnavailable: "تعذّر تحميل العروض المحفوظة لـ {{object}}",
|
|
1776
|
+
savedViewsRefused: "رفض الخادم هذا الطلب، لذلك فإن هذه القائمة فارغة لأنه تعذّرت قراءتها، لا لأن هذا الكائن ليس لديه عروض محفوظة. سجّل الدخول مرة أخرى أو اطلب صلاحية الوصول من المسؤول.",
|
|
1777
|
+
savedViewsUnreadable: "هذه القائمة فارغة لأنه تعذّرت قراءتها، لا لأن هذا الكائن ليس لديه عروض محفوظة. أعد المحاولة، وأبلغ عن المشكلة إذا استمرت.",
|
|
1345
1778
|
settingsHub: {
|
|
1346
1779
|
title: "الإعدادات",
|
|
1347
1780
|
subtitle: "اضبط مساحة العمل والتكاملات وأعلام الميزات.",
|
|
@@ -1386,6 +1819,13 @@ const ar = {
|
|
|
1386
1819
|
passwordsDownload: "تنزيل ملف CSV",
|
|
1387
1820
|
},
|
|
1388
1821
|
ai: {
|
|
1822
|
+
pendingDrafts: {
|
|
1823
|
+
count: "هناك {{count}} من التغييرات لم تُنشر بعد — لا يمكن للمستخدمين رؤيتها.",
|
|
1824
|
+
publish: "نشر",
|
|
1825
|
+
published: "جميع التغييرات المعلّقة فعّالة الآن.",
|
|
1826
|
+
failed: "فشل النشر.",
|
|
1827
|
+
publishedWithFindings: "تم النشر، لكن مجسّات وقت التشغيل أبلغت عن مشكلات: {{detail}}",
|
|
1828
|
+
},
|
|
1389
1829
|
usage: {
|
|
1390
1830
|
title: "استخدام الذكاء الاصطناعي",
|
|
1391
1831
|
meterBuild: "الإنشاء",
|
|
@@ -1395,9 +1835,24 @@ const ar = {
|
|
|
1395
1835
|
statusFull: "تم بلوغ الحد",
|
|
1396
1836
|
resetsDaily: "تُعاد التهيئة الليلة",
|
|
1397
1837
|
resetsMonthly: "تُعاد التهيئة في الدورة القادمة",
|
|
1838
|
+
resetsWeeklyDays: "{{count}} يوم(أيام) حتى إعادة التعيين",
|
|
1839
|
+
resetsWeeklyDays_zero: "{{count}} يوم حتى إعادة التعيين",
|
|
1840
|
+
resetsWeeklyDays_one: "{{count}} يوم حتى إعادة التعيين",
|
|
1841
|
+
resetsWeeklyDays_two: "يومان ({{count}}) حتى إعادة التعيين",
|
|
1842
|
+
resetsWeeklyDays_few: "{{count}} أيام حتى إعادة التعيين",
|
|
1843
|
+
resetsWeeklyDays_many: "{{count}} يومًا حتى إعادة التعيين",
|
|
1844
|
+
resetsWeeklyDays_other: "{{count}} يوم حتى إعادة التعيين",
|
|
1845
|
+
resetsWeeklyHours: "{{count}} ساعة(ساعات) حتى إعادة التعيين",
|
|
1846
|
+
resetsWeeklyHours_zero: "{{count}} ساعة حتى إعادة التعيين",
|
|
1847
|
+
resetsWeeklyHours_one: "{{count}} ساعة حتى إعادة التعيين",
|
|
1848
|
+
resetsWeeklyHours_two: "ساعتان ({{count}}) حتى إعادة التعيين",
|
|
1849
|
+
resetsWeeklyHours_few: "{{count}} ساعات حتى إعادة التعيين",
|
|
1850
|
+
resetsWeeklyHours_many: "{{count}} ساعة حتى إعادة التعيين",
|
|
1851
|
+
resetsWeeklyHours_other: "{{count}} ساعة حتى إعادة التعيين",
|
|
1398
1852
|
ctaUpgrade: "قم بالترقية للمتابعة",
|
|
1399
1853
|
ctaTopUp: "أضف أرصدة للمتابعة",
|
|
1400
1854
|
ariaLabel: "استخدام الذكاء الاصطناعي: {{status}}",
|
|
1855
|
+
breakdownTitle: "المستخدَم حتى الآن",
|
|
1401
1856
|
},
|
|
1402
1857
|
workspaceTitle: "مساحة عمل الذكاء الاصطناعي",
|
|
1403
1858
|
workspaceSubtitle: "اسأل وافحص واستأنف المحادثات",
|
|
@@ -1407,6 +1862,31 @@ const ar = {
|
|
|
1407
1862
|
share: "مشاركة",
|
|
1408
1863
|
shareTitle: "مشاركة هذه المحادثة",
|
|
1409
1864
|
shareDisabledTitle: "ابدأ المحادثة لتفعيل المشاركة",
|
|
1865
|
+
buildDoctor: "تشخيص البناء",
|
|
1866
|
+
buildDoctorTitle: "تشخيص البناء — ما الذي طُبِّق فعلًا؟",
|
|
1867
|
+
buildDoctorDisabledTitle: "أرسل رسالة أولًا",
|
|
1868
|
+
buildDoctorDrawer: {
|
|
1869
|
+
description: 'ما ادّعاه الوكيل مقابل ما هو فعّال فعلًا. تشخيص للقراءة فقط.',
|
|
1870
|
+
reconciling: 'جارٍ المطابقة…',
|
|
1871
|
+
notAvailable: 'غير متاح — لم يتم العثور على المحادثة أو ليست لديك صلاحية.',
|
|
1872
|
+
untitled: '(بدون عنوان)',
|
|
1873
|
+
summary: 'الجولات: {{turns}} · الرسائل: {{messages}} · الرموز: {{tokens}} · LLM: {{seconds}} ث',
|
|
1874
|
+
allLive: 'جميع التغييرات التي جرت محاولتها ({{count}}) فعّالة — لم يُفقد شيء.',
|
|
1875
|
+
discrepancies: 'عدد التناقضات: {{count}} — ما قالته المحادثة لا يطابق ما هو فعّال.',
|
|
1876
|
+
orphanedTitle: 'مقترح ولكن لم يُطبَّق أبدًا',
|
|
1877
|
+
orphanedHint: 'بطاقة تأكيد اقترحها الوكيل ولكن لم تطبّقها أي جولة لاحقة — فُقد التغيير بصمت.',
|
|
1878
|
+
missingTitle: 'مُدّعى ولكنه مفقود',
|
|
1879
|
+
missingHint: 'ذكرت نتيجة أداة أنه تم التطبيق، لكن العنصر غير فعّال في sys_metadata.',
|
|
1880
|
+
toolErrorsTitle: 'أخطاء الأدوات',
|
|
1881
|
+
toolErrorsHint: 'استدعاءات الأدوات التي أعادت خطأً أثناء البناء.',
|
|
1882
|
+
verifyTitle: 'فحص البناء (verify_build)',
|
|
1883
|
+
yourApp: 'تطبيقك:',
|
|
1884
|
+
noIssues: 'عدد المشكلات: 0',
|
|
1885
|
+
issueCount: 'عدد المشكلات: {{count}}',
|
|
1886
|
+
platformNoise: 'تم إخفاء {{count}} من نتائج المنصة sys_*',
|
|
1887
|
+
pendingActions: 'الإجراءات المعلّقة',
|
|
1888
|
+
timeline: 'المخطط الزمني ({{count}})',
|
|
1889
|
+
},
|
|
1410
1890
|
newChat: "جديدة",
|
|
1411
1891
|
searchChats: "البحث في المحادثات…",
|
|
1412
1892
|
noChatsYet: "لا توجد محادثات بعد",
|
|
@@ -1436,7 +1916,7 @@ const ar = {
|
|
|
1436
1916
|
empty: {
|
|
1437
1917
|
build: {
|
|
1438
1918
|
title: "الإنشاء بالذكاء الاصطناعي",
|
|
1439
|
-
description: "صف تطبيقًا
|
|
1919
|
+
description: "صف تطبيقًا بلغة بسيطة — سأعدّ مسودة الكائنات والشاشات والبيانات النموذجية، ثم تراجعها وتنشرها.",
|
|
1440
1920
|
},
|
|
1441
1921
|
ask: {
|
|
1442
1922
|
title: "اسأل بياناتك",
|
|
@@ -1445,7 +1925,7 @@ const ar = {
|
|
|
1445
1925
|
editApp: {
|
|
1446
1926
|
title: "تحرير «{{app}}»",
|
|
1447
1927
|
titleGeneric: "تحرير هذا التطبيق",
|
|
1448
|
-
description: "ما الذي تريد تغييره؟ سأعدّل هذا التطبيق في مكانه — إضافة حقل أو كائن أو عرض أو
|
|
1928
|
+
description: "ما الذي تريد تغييره؟ سأعدّل هذا التطبيق في مكانه — إضافة حقل أو كائن أو عرض أو لوحة معلومات، أو تعديل ما هو موجود.",
|
|
1449
1929
|
},
|
|
1450
1930
|
},
|
|
1451
1931
|
clearConversation: "مسح",
|
|
@@ -1498,29 +1978,52 @@ const ar = {
|
|
|
1498
1978
|
recentRecords: "اذكر أحدث 5 سجلات تم إنشاؤها.",
|
|
1499
1979
|
recordCounts: "احسب عدد السجلات لكل كائن.",
|
|
1500
1980
|
},
|
|
1981
|
+
// cloud#1984 — these five chips are the maker's own recommendations, so
|
|
1982
|
+
// they may only ask for what ADR-0112 v1 BUILDS: objects, fields, views
|
|
1983
|
+
// (grid/kanban/calendar/gallery), pages, dashboards and sample data. No
|
|
1984
|
+
// wording that promises autonomous behaviour (alert / remind / notify /
|
|
1985
|
+
// automate / status workflow) — v1 has no flows, actions or schedules, and
|
|
1986
|
+
// the model silently degrades such a request into a board or a filtered
|
|
1987
|
+
// view, so the chip would promise an alert and deliver a page. REVERT to
|
|
1988
|
+
// the automation wording when ADR-0112 v2 re-adds flows and actions.
|
|
1501
1989
|
metadataAssistant: {
|
|
1502
|
-
buildCrm: "أنشئ نظام إدارة علاقات عملاء للمبيعات — عملاء وجهات اتصال
|
|
1503
|
-
buildApp: "أنشئ متتبّع مشاريع — مشاريع ومهام بمسؤولين وتواريخ
|
|
1504
|
-
buildFlow: "صمّم مكتب دعم — تذاكر
|
|
1505
|
-
buildInventory: "أنشئ تطبيق مخزون — منتجات ومستويات مخزون
|
|
1506
|
-
buildRecruiting: "أنشئ متتبّع متقدمين — مرشحون ووظائف شاغرة
|
|
1990
|
+
buildCrm: "أنشئ نظام إدارة علاقات عملاء للمبيعات — عملاء وجهات اتصال وصفقات بحقل للمرحلة، ولوحة معلومات تجمع قيمة الصفقات حسب المرحلة.",
|
|
1991
|
+
buildApp: "أنشئ متتبّع مشاريع — مشاريع ومهام بمسؤولين وتواريخ استحقاق، ولوحة حسب الحالة، وتقويم لتواريخ الاستحقاق.",
|
|
1992
|
+
buildFlow: "صمّم مكتب دعم — تذاكر بحقلي الأولوية والحالة، ولوحة حسب الحالة، وروابط بالعملاء.",
|
|
1993
|
+
buildInventory: "أنشئ تطبيق مخزون — منتجات ومستويات مخزون وموردين، وعرض يصفّي الأصناف دون حد إعادة الطلب.",
|
|
1994
|
+
buildRecruiting: "أنشئ متتبّع متقدمين — مرشحون ووظائف شاغرة وحقل لمرحلة المقابلة، ولوحة حسب المرحلة.",
|
|
1507
1995
|
},
|
|
1508
1996
|
generic: {
|
|
1509
1997
|
help: "بماذا يمكنك مساعدتي؟",
|
|
1510
1998
|
availableObjects: "اذكر كائنات البيانات المتاحة.",
|
|
1511
1999
|
recentActivity: "لخّص نشاطي الأخير.",
|
|
1512
2000
|
},
|
|
2001
|
+
// objectui#7709 — the edit-mode starters, shown when the maker is bound
|
|
2002
|
+
// to an EXISTING app (`?package=`). Same rule as the five above: they
|
|
2003
|
+
// may only ask for what ADR-0112 v1 BUILDS. The fourth chip used to be
|
|
2004
|
+
// `addAutomation` ("an approval, a status flow, or a notification") and
|
|
2005
|
+
// every capability it named is refused by v1 (cloud#1956 / PR #1970), so
|
|
2006
|
+
// it now asks for sample data — `seed` IS on v1's whitelist, and having
|
|
2007
|
+
// no data is what an existing app most often lacks. REVERT: when
|
|
2008
|
+
// ADR-0112 v2 re-adds flows and actions, THIS chip's automation wording
|
|
2009
|
+
// comes back as `addAutomation`; the retired string is pinned for every
|
|
2010
|
+
// pack in `packages/i18n/src/__tests__/makerEditChips-v1-scope-7709.test.ts`.
|
|
1513
2011
|
editApp: {
|
|
1514
2012
|
addField: "أضف حقلًا إلى أحد الكائنات.",
|
|
1515
2013
|
addObject: "أضف كائنًا جديدًا واربطه بكائن موجود.",
|
|
1516
2014
|
addDashboard: "أضف لوحة معلومات للمؤشرات الرئيسية.",
|
|
1517
|
-
|
|
2015
|
+
addSampleData: "املأ الكائنات الحالية ببيانات نموذجية واقعية تصلح للعرض التوضيحي.",
|
|
1518
2016
|
},
|
|
1519
2017
|
},
|
|
1520
2018
|
changesTitle: "تأكيد التغييرات",
|
|
1521
2019
|
changesConfirmed: "تم التأكيد",
|
|
1522
2020
|
changesConfirm: "تأكيد",
|
|
1523
2021
|
changesConfirmHint: "أجب لتأكيد هذا التغيير أو تعديله.",
|
|
2022
|
+
changesApplying: "جارٍ التطبيق…",
|
|
2023
|
+
changesApplied: "تم التطبيق",
|
|
2024
|
+
changesDrafted: "حُفظ كمسودة",
|
|
2025
|
+
changesFailed: "لم يُطبَّق",
|
|
2026
|
+
discussing: "قيد المناقشة: {{target}}",
|
|
1524
2027
|
changeVerb: {
|
|
1525
2028
|
createObject: "إنشاء كائن",
|
|
1526
2029
|
addField: "إضافة حقل",
|
|
@@ -1584,13 +2087,20 @@ const ar = {
|
|
|
1584
2087
|
},
|
|
1585
2088
|
},
|
|
1586
2089
|
title: "وحدة تحكم ObjectStack",
|
|
1587
|
-
initializing: "
|
|
2090
|
+
initializing: "جارٍ تهيئة التطبيق…",
|
|
1588
2091
|
loadingHint: "قد يستغرق إعداد بيئة جديدة بعض الوقت.",
|
|
1589
2092
|
breadcrumb: {
|
|
1590
2093
|
dashboards: "لوحات المعلومات",
|
|
1591
2094
|
pages: "الصفحات",
|
|
1592
2095
|
reports: "التقارير",
|
|
1593
2096
|
system: "النظام",
|
|
2097
|
+
marketplace: "السوق",
|
|
2098
|
+
settings: 'الإعدادات',
|
|
2099
|
+
apps: 'التطبيقات',
|
|
2100
|
+
profile: 'الملف الشخصي',
|
|
2101
|
+
approvals: 'الموافقات',
|
|
2102
|
+
aiApprovals: 'موافقات الذكاء الاصطناعي',
|
|
2103
|
+
auditLog: 'سجل التدقيق',
|
|
1594
2104
|
},
|
|
1595
2105
|
// objectui#4024 — the single-namespace settings screen. Its sibling
|
|
1596
2106
|
// `settingsHub` above already resolved through this pack; the view was the
|
|
@@ -1609,8 +2119,12 @@ const ar = {
|
|
|
1609
2119
|
discard: "تجاهل",
|
|
1610
2120
|
saveChanges: "حفظ التغييرات",
|
|
1611
2121
|
unsavedCount: "{{count}} تغيير(تغييرات) غير محفوظ",
|
|
2122
|
+
unsavedCount_zero: "{{count}} تغيير غير محفوظ",
|
|
1612
2123
|
unsavedCount_one: "{{count}} تغيير غير محفوظ",
|
|
1613
|
-
|
|
2124
|
+
unsavedCount_two: "تغييران غير محفوظين ({{count}})",
|
|
2125
|
+
unsavedCount_few: "{{count}} تغييرات غير محفوظة",
|
|
2126
|
+
unsavedCount_many: "{{count}} تغييرًا غير محفوظ",
|
|
2127
|
+
unsavedCount_other: "{{count}} تغيير غير محفوظ",
|
|
1614
2128
|
cryptoRefusalTitle: "لا يمكن لهذا النشر تشفير الأسرار",
|
|
1615
2129
|
cryptoRefusalSubjectSuffix: "معلن كمشفَّر، لذلك لم تتم كتابة أي شيء.",
|
|
1616
2130
|
cryptoRefusalNoSubject: "تم رفض القيمة المعلنة كمشفَّرة، لذلك لم تتم كتابة أي شيء.",
|
|
@@ -1618,9 +2132,9 @@ const ar = {
|
|
|
1618
2132
|
cryptoRefusalToastNoSubject: "تعذّر تشفير الأسرار",
|
|
1619
2133
|
},
|
|
1620
2134
|
loadingSteps: {
|
|
1621
|
-
connecting: "
|
|
1622
|
-
loadingConfig: "
|
|
1623
|
-
preparingWorkspace: "
|
|
2135
|
+
connecting: "جارٍ الاتصال بمصدر البيانات",
|
|
2136
|
+
loadingConfig: "جارٍ تحميل الإعدادات",
|
|
2137
|
+
preparingWorkspace: "جارٍ تجهيز مساحة العمل",
|
|
1624
2138
|
},
|
|
1625
2139
|
error: {
|
|
1626
2140
|
connectionFailed: "تعذّر الاتصال بالخادم",
|
|
@@ -1630,7 +2144,7 @@ const ar = {
|
|
|
1630
2144
|
},
|
|
1631
2145
|
actions: {
|
|
1632
2146
|
retry: "إعادة المحاولة",
|
|
1633
|
-
retrying: "
|
|
2147
|
+
retrying: "جارٍ إعادة المحاولة…",
|
|
1634
2148
|
},
|
|
1635
2149
|
serverAction: {
|
|
1636
2150
|
openingTitle: "جارٍ الفتح…",
|
|
@@ -1682,6 +2196,21 @@ const ar = {
|
|
|
1682
2196
|
records: "السجلات",
|
|
1683
2197
|
recentRecords: "شوهد مؤخراً",
|
|
1684
2198
|
},
|
|
2199
|
+
// objectui#9954 — see the `en` pack for what raises each case.
|
|
2200
|
+
readRate: {
|
|
2201
|
+
ratioTitle: 'حجم قراءة غير معتاد في هذه البيئة',
|
|
2202
|
+
ratio: 'تتم قراءة {{ratio}} صف مقابل كل صف مكتوب. تُعلِّم المنصة كل ما يتجاوز {{threshold}}. لا يتم تقييد أو حظر أي شيء؛ هذا تقرير لمراجعة نمط القراءة.',
|
|
2203
|
+
noWritesTitle: 'قراءات بدون أي كتابة في هذه البيئة',
|
|
2204
|
+
noWrites: 'تتم قراءة صفوف دون كتابة أي صف على الإطلاق، لذا لا يوجد حد أعلى لمعدل القراءة. هذه هي أخطر قراءة. تُعلِّم المنصة كل ما يتجاوز {{threshold}}. لا يتم تقييد أو حظر أي شيء؛ هذا تقرير لمراجعة نمط القراءة.',
|
|
2205
|
+
},
|
|
2206
|
+
// objectui#10439 — see the `en` pack for what raises each case.
|
|
2207
|
+
storageUsage: {
|
|
2208
|
+
warningTitle: 'مساحة التخزين توشك على الامتلاء',
|
|
2209
|
+
warning: 'تم استخدام {{used}} ميغابايت من {{limit}} ميغابايت. يتوقف الرفع والاستيراد مؤقتًا عند امتلاء مساحة التخزين.',
|
|
2210
|
+
blockedTitle: 'مساحة التخزين ممتلئة: الرفع والاستيراد متوقفان مؤقتًا',
|
|
2211
|
+
blocked: 'تم استخدام {{used}} ميغابايت من {{limit}} ميغابايت. البيانات الحالية لم تُمس، ولا تزال القراءة والتصدير وتعديل السجلات الفردية تعمل.',
|
|
2212
|
+
upgrade: 'قم بالترقية للمتابعة',
|
|
2213
|
+
},
|
|
1685
2214
|
errors: {
|
|
1686
2215
|
somethingWentWrong: "حدث خطأ ما",
|
|
1687
2216
|
unexpectedError: "حدث خطأ غير متوقع أثناء عرض هذا المحتوى.",
|
|
@@ -1712,6 +2241,7 @@ const ar = {
|
|
|
1712
2241
|
viewNameInvalid: "استخدم أحرفًا إنجليزية صغيرة وأرقامًا وشرطات سفلية؛ وابدأ بحرف أو شرطة سفلية.",
|
|
1713
2242
|
systemViewReadonly: "عرض النظام معرَّف في الكود — للقراءة فقط.",
|
|
1714
2243
|
cannotEditMetaView: "هذا عرض مدمج معرَّف في الكود — لا يمكن تعديله.",
|
|
2244
|
+
viewConfigPermissionDenied: "تنطبق إعدادات العرض على جميع المستخدمين الذين يستخدمون هذا العرض، لذا يتطلب تغييرها إذن «إدارة البيانات الوصفية». اطلب من المسؤول إجراء هذا التغيير.",
|
|
1715
2245
|
cannotDeleteMetaView: "هذا عرض مدمج معرَّف في الكود — لا يمكن حذفه.",
|
|
1716
2246
|
expandToPage: "فتح كصفحة كاملة",
|
|
1717
2247
|
objectNotFound: "الكائن غير موجود",
|
|
@@ -1720,101 +2250,44 @@ const ar = {
|
|
|
1720
2250
|
filterOrNotSavable: "يستخدم هذا الفلتر «أو» بين الشروط، وهو ما لا يمكن للعرض المحفوظ تخزينه بعد. لا يزال مطبقًا على هذه القائمة — أزل تجميع «أو» لحفظه في العرض.",
|
|
1721
2251
|
filterNestedNotSavable: "يستخدم هذا الفلتر مجموعات شروط متداخلة لا يمكن للعرض المحفوظ تخزينها. حوّله إلى قائمة شروط واحدة لحفظه في العرض.",
|
|
1722
2252
|
allRecords: "جميع السجلات",
|
|
1723
|
-
exitDesignMode: "الخروج من وضع التصميم",
|
|
1724
|
-
enterDesignMode: "الدخول إلى وضع التصميم",
|
|
1725
|
-
metadataInspector: "مفتش البيانات الوصفية",
|
|
1726
|
-
editView: "تعديل العرض",
|
|
1727
|
-
addView: "إضافة عرض",
|
|
1728
|
-
designTools: "أدوات التصميم",
|
|
1729
2253
|
new: "جديد",
|
|
1730
2254
|
configureView: "تكوين العرض",
|
|
1731
|
-
closePanel: "إغلاق اللوحة",
|
|
1732
|
-
page: "الصفحة",
|
|
1733
|
-
pageConfigHint: "شريط الأدوات والتنقل وإعدادات غلاف العرض",
|
|
1734
|
-
listConfigHint: "عرض البيانات والأعمدة والمظهر لهذا النوع من القائمة",
|
|
1735
|
-
general: "عام",
|
|
1736
|
-
generalHint: "عنوان العرض والوصف والنوع",
|
|
1737
|
-
toolbar: "شريط الأدوات",
|
|
1738
|
-
toolbarHint: "البحث والتصفية والفرز والتجميع ومفاتيح الكثافة",
|
|
1739
2255
|
toolbarEnabledCount: "{{count}} من {{total}} مفعّل",
|
|
1740
|
-
navigationSection: "التنقل",
|
|
1741
|
-
navigationHint: "سلوك النقر على الصف وإعدادات العرض التفصيلي",
|
|
1742
|
-
records: "السجلات",
|
|
1743
|
-
recordsHint: "وضع التحديد وإضافة سجل والتحرير المباشر",
|
|
1744
|
-
exportPrint: "التصدير والطباعة",
|
|
1745
|
-
exportPrintHint: "صيغ التصدير والطباعة وعرض عدد السجلات",
|
|
1746
|
-
showAllFields: "إظهار الكل",
|
|
1747
|
-
hideAllFields: "إخفاء الكل",
|
|
1748
2256
|
searchFields: "البحث في الحقول…",
|
|
1749
2257
|
title: "العنوان",
|
|
1750
|
-
description: "الوصف",
|
|
1751
|
-
data: "البيانات",
|
|
1752
|
-
source: "المصدر",
|
|
1753
|
-
columns: "الأعمدة",
|
|
1754
|
-
filterBy: "تصفية حسب",
|
|
1755
|
-
sortBy: "ترتيب حسب",
|
|
1756
|
-
appearance: "المظهر",
|
|
1757
|
-
showDescription: "عرض الوصف",
|
|
1758
2258
|
viewType: "نوع العرض",
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
advanced: "متقدم",
|
|
1770
|
-
allowExport: "السماح بالتصدير",
|
|
1771
|
-
recordCount: "{{count}} سجل",
|
|
1772
|
-
noDescription: "لا يوجد وصف",
|
|
1773
|
-
none: "لا شيء",
|
|
1774
|
-
columnsConfigured: "{{count}} أعمدة",
|
|
2259
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
2260
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
2261
|
+
// without a count.
|
|
2262
|
+
recordCount: "عدد السجلات: {{count}}",
|
|
2263
|
+
recordCount_zero: "{{count}} سجل",
|
|
2264
|
+
recordCount_one: "{{count}} سجل",
|
|
2265
|
+
recordCount_two: "سجلان ({{count}})",
|
|
2266
|
+
recordCount_few: "{{count}} سجلات",
|
|
2267
|
+
recordCount_many: "{{count}} سجلًا",
|
|
2268
|
+
recordCount_other: "{{count}} سجل",
|
|
1775
2269
|
save: "حفظ",
|
|
1776
2270
|
discard: "تجاهل",
|
|
1777
2271
|
createView: "إنشاء عرض",
|
|
1778
2272
|
newView: "عرض جديد",
|
|
1779
|
-
typeOptions: "خيارات النوع",
|
|
1780
2273
|
groupByField: "حقل التجميع",
|
|
1781
2274
|
startDateField: "حقل تاريخ البدء",
|
|
1782
2275
|
titleField: "حقل العنوان",
|
|
1783
2276
|
latitudeField: "حقل خط العرض",
|
|
1784
2277
|
longitudeField: "حقل خط الطول",
|
|
1785
2278
|
imageField: "حقل الصورة",
|
|
1786
|
-
dateField: "حقل التاريخ",
|
|
1787
2279
|
selectField: "اختر حقلاً…",
|
|
1788
|
-
gridOptionsHint: "يستخدم عرض الشبكة الأعمدة المكونة أعلاه.",
|
|
1789
|
-
groupBy: "تجميع حسب",
|
|
1790
|
-
prefixField: "حقل البادئة",
|
|
1791
|
-
fields: "الحقول",
|
|
1792
|
-
fieldsVisible: "{{count}} مرئي",
|
|
1793
|
-
sortsCount: "{{count}} ترتيبات",
|
|
1794
|
-
filtersCount: "{{count}} مرشحات",
|
|
1795
2280
|
endDateField: "حقل تاريخ الانتهاء",
|
|
1796
|
-
color: "اللون",
|
|
1797
|
-
fieldTextColor: "لون نص الحقل",
|
|
1798
|
-
rowHeight: "ارتفاع الصف",
|
|
1799
|
-
wrapHeaders: "التفاف العناوين",
|
|
1800
|
-
showFieldDescriptions: "إظهار أوصاف الحقول",
|
|
1801
|
-
collapseAllByDefault: "طي الكل افتراضياً",
|
|
1802
|
-
striped: "صفوف مخططة",
|
|
1803
|
-
bordered: "خلايا محاطة بحدود",
|
|
1804
|
-
inlineEdit: "تحرير السجلات مباشرة",
|
|
1805
|
-
addDeleteRecordsInline: "إضافة/حذف السجلات مباشرة",
|
|
1806
|
-
clickIntoRecordDetails: "انقر لعرض تفاصيل السجل",
|
|
1807
|
-
navigationMode: "وضع التنقل",
|
|
1808
|
-
navigationWidth: "عرض التنقل",
|
|
1809
|
-
navigationWidthHint: "متاح لأوضاع التنقل: الدرج والنافذة المنبثقة والعرض المقسم",
|
|
1810
|
-
openNewTab: "فتح في علامة تبويب جديدة",
|
|
1811
|
-
openNewTabHint: "متاح لأوضاع التنقل: الصفحة والنافذة الجديدة",
|
|
1812
2281
|
import: "استيراد",
|
|
1813
2282
|
importTitle: "استيراد من CSV",
|
|
1814
2283
|
importedToast: "تم استيراد {{count}} صف(صفوف).",
|
|
2284
|
+
importedToast_zero: "تم استيراد {{count}} صف.",
|
|
2285
|
+
importedToast_one: "تم استيراد {{count}} صف.",
|
|
2286
|
+
importedToast_two: "تم استيراد صفين ({{count}}).",
|
|
2287
|
+
importedToast_few: "تم استيراد {{count}} صفوف.",
|
|
2288
|
+
importedToast_many: "تم استيراد {{count}} صفًا.",
|
|
2289
|
+
importedToast_other: "تم استيراد {{count}} صف.",
|
|
1815
2290
|
importedWithSkipped: "تم استيراد {{ok}} صف(صفوف)؛ تم تخطي {{skipped}}.",
|
|
1816
|
-
showAdvancedSettings: "إظهار الإعدادات المتقدمة",
|
|
1817
|
-
showFewerSettings: "إظهار إعدادات أقل",
|
|
1818
2291
|
createViewDesc: "اختر نوع العرض وأعطه اسماً. يمكن تغيير جميع الإعدادات لاحقاً.",
|
|
1819
2292
|
cancel: "إلغاء",
|
|
1820
2293
|
create: "إنشاء",
|
|
@@ -1822,6 +2295,12 @@ const ar = {
|
|
|
1822
2295
|
deleteViewTitle: "حذف العرض",
|
|
1823
2296
|
deleteViewConfirm: "حذف العرض \"{{name}}\"؟ لا يمكن التراجع عن ذلك.",
|
|
1824
2297
|
bulkDeleteConfirm: "حذف {{count}} سجل(ات) محدد(ة)؟ لا يمكن التراجع عن ذلك.",
|
|
2298
|
+
bulkDeleteConfirm_zero: "حذف {{count}} سجل محدد؟ لا يمكن التراجع عن ذلك.",
|
|
2299
|
+
bulkDeleteConfirm_one: "حذف {{count}} سجل محدد؟ لا يمكن التراجع عن ذلك.",
|
|
2300
|
+
bulkDeleteConfirm_two: "حذف سجلين محددين ({{count}})؟ لا يمكن التراجع عن ذلك.",
|
|
2301
|
+
bulkDeleteConfirm_few: "حذف {{count}} سجلات محددة؟ لا يمكن التراجع عن ذلك.",
|
|
2302
|
+
bulkDeleteConfirm_many: "حذف {{count}} سجلًا محددًا؟ لا يمكن التراجع عن ذلك.",
|
|
2303
|
+
bulkDeleteConfirm_other: "حذف {{count}} سجل محدد؟ لا يمكن التراجع عن ذلك.",
|
|
1825
2304
|
duplicateViewName: "يوجد عرض بهذا الاسم بالفعل.",
|
|
1826
2305
|
viewTypeGrid: "شبكة",
|
|
1827
2306
|
viewTypeGridDesc: "جدول سجلات بأسلوب جدول البيانات.",
|
|
@@ -1858,62 +2337,17 @@ const ar = {
|
|
|
1858
2337
|
chartTypePie: "مخطط دائري",
|
|
1859
2338
|
chartTypeArea: "مخطط مساحة",
|
|
1860
2339
|
chartTypeScatter: "مخطط نقطي",
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
pageSize: "حجم الصفحة",
|
|
1870
|
-
pageSizeOptions: "خيارات حجم الصفحة",
|
|
1871
|
-
exportFormats: "تنسيقات التصدير",
|
|
1872
|
-
exportMaxRecords: "الحد الأقصى للسجلات",
|
|
1873
|
-
exportIncludeHeaders: "تضمين الرؤوس",
|
|
1874
|
-
exportFileNamePrefix: "بادئة اسم الملف",
|
|
1875
|
-
searchableFields: "الحقول القابلة للبحث",
|
|
1876
|
-
filterableFields: "الحقول القابلة للتصفية",
|
|
1877
|
-
resizableColumns: "أعمدة قابلة لتغيير الحجم",
|
|
1878
|
-
densityCompact: "مضغوط",
|
|
1879
|
-
densityComfortable: "عادي",
|
|
1880
|
-
densitySpacious: "فسيح",
|
|
1881
|
-
densityMode: "وضع الكثافة",
|
|
1882
|
-
hiddenFields: "الحقول المخفية",
|
|
1883
|
-
rowActions: "إجراءات الصف",
|
|
1884
|
-
bulkActions: "إجراءات جماعية",
|
|
1885
|
-
sharing: "مشاركة",
|
|
1886
|
-
sharingEnabled: "المشاركة مفعلة",
|
|
1887
|
-
sharingVisibility: "الرؤية",
|
|
1888
|
-
addRecordEnabled: "إضافة سجل مفعلة",
|
|
1889
|
-
addRecordPosition: "الموضع",
|
|
1890
|
-
addRecordMode: "الوضع",
|
|
1891
|
-
addRecordFormView: "عرض النموذج",
|
|
1892
|
-
conditionalFormatting: "التنسيق الشرطي",
|
|
1893
|
-
addRule: "إضافة قاعدة",
|
|
1894
|
-
quickFilters: "فلاتر سريعة",
|
|
1895
|
-
addQuickFilter: "إضافة فلتر سريع",
|
|
1896
|
-
ufElements: "العناصر",
|
|
1897
|
-
ufDropdown: "قائمة منسدلة",
|
|
2340
|
+
dataset: "مجموعة البيانات",
|
|
2341
|
+
datasetHelp: "يقرأ المخطط أرقامه من مجموعة البيانات هذه الخاصة بالكائن.",
|
|
2342
|
+
chartMeasure: "المقياس",
|
|
2343
|
+
chartMeasureHelp: "مقياس مجموعة البيانات المعروض على محور القيم.",
|
|
2344
|
+
chartDimension: "البُعد",
|
|
2345
|
+
chartDimensionHelp: "بُعد مجموعة البيانات الذي تُجمَّع القيم حسبه (اختياري).",
|
|
2346
|
+
viewTypeUnavailableDataset: "لا يوفّر هذا الكائن أي مجموعة بيانات للمخطط.",
|
|
2347
|
+
noDatasetMeasure: "لا تعلن مجموعة البيانات هذه عن أي مقياس للمخطط.",
|
|
1898
2348
|
ufTabs: "علامات تبويب",
|
|
1899
|
-
ufToggle: "تبديل",
|
|
1900
2349
|
ufAddField: "+ إضافة حقل فلتر…",
|
|
1901
|
-
ufNoFields: "لا حقول متاحة",
|
|
1902
|
-
ufAddTab: "+ إضافة علامة تبويب",
|
|
1903
|
-
ufTabLabel: "التسمية",
|
|
1904
2350
|
ufShowAllRecords: "إظهار علامة \"جميع السجلات\"",
|
|
1905
|
-
ufAllowAddTab: "السماح بإضافة علامات تبويب",
|
|
1906
|
-
showRecordCount: "إظهار عدد السجلات",
|
|
1907
|
-
allowPrinting: "السماح بالطباعة",
|
|
1908
|
-
virtualScroll: "التمرير الافتراضي",
|
|
1909
|
-
emptyStateTitle: "عنوان الحالة الفارغة",
|
|
1910
|
-
emptyStateMessage: "رسالة الحالة الفارغة",
|
|
1911
|
-
emptyStateIcon: "رمز الحالة الفارغة",
|
|
1912
|
-
ariaLabel: "تسمية ARIA",
|
|
1913
|
-
ariaDescribedBy: "موصوف بـ ARIA",
|
|
1914
|
-
ariaLive: "ARIA Live",
|
|
1915
|
-
accessibility: "إمكانية الوصول",
|
|
1916
|
-
viewTabs: "علامات تبويب العرض",
|
|
1917
2351
|
},
|
|
1918
2352
|
localeSwitcher: {
|
|
1919
2353
|
label: "اللغة",
|
|
@@ -1924,6 +2358,9 @@ const ar = {
|
|
|
1924
2358
|
unpinItem: "إلغاء تثبيت {{name}}",
|
|
1925
2359
|
dragToReorder: "اسحب لإعادة الترتيب",
|
|
1926
2360
|
favorites: "المفضلة",
|
|
2361
|
+
launcherLabel: "مشغّل التطبيقات",
|
|
2362
|
+
menuLabel: "تنقّل التطبيق",
|
|
2363
|
+
menuEmpty: "لا توجد في هذا التطبيق عناصر تنقّل يمكنك فتحها.",
|
|
1927
2364
|
},
|
|
1928
2365
|
},
|
|
1929
2366
|
auth: {
|
|
@@ -1977,6 +2414,8 @@ const ar = {
|
|
|
1977
2414
|
resendOtpCountdownText: "إعادة الإرسال بعد {seconds} ثانية",
|
|
1978
2415
|
usePhoneOtpText: "تسجيل الدخول برمز التحقق",
|
|
1979
2416
|
usePasswordSignInText: "تسجيل الدخول بكلمة المرور بدلاً من ذلك",
|
|
2417
|
+
socialButton: "المتابعة باستخدام {provider}",
|
|
2418
|
+
orText: "أو تابع باستخدام البريد الإلكتروني",
|
|
1980
2419
|
},
|
|
1981
2420
|
register: {
|
|
1982
2421
|
title: "إنشاء حساب",
|
|
@@ -1995,8 +2434,12 @@ const ar = {
|
|
|
1995
2434
|
submittingButton: "جارٍ إنشاء الحساب…",
|
|
1996
2435
|
hasAccountText: "لديك حساب بالفعل؟",
|
|
1997
2436
|
signInText: "تسجيل الدخول",
|
|
2437
|
+
socialButton: "التسجيل باستخدام {provider}",
|
|
2438
|
+
orText: "أو تابع باستخدام البريد الإلكتروني",
|
|
1998
2439
|
errors: {
|
|
1999
2440
|
userExists: "يوجد حساب بهذا البريد الإلكتروني بالفعل. حاول تسجيل الدخول.",
|
|
2441
|
+
selfRegistrationClosed: "التسجيل الذاتي غير متاح في هذه البيئة. اطلب دعوة من المسؤول.",
|
|
2442
|
+
emailDomainNotAllowed: "نطاق هذا البريد الإلكتروني غير مسموح له بالتسجيل هنا. استخدم البريد الإلكتروني لمؤسستك أو اطلب دعوة من المسؤول.",
|
|
2000
2443
|
},
|
|
2001
2444
|
verifyInbox: {
|
|
2002
2445
|
title: "تحقق من صندوق الوارد",
|
|
@@ -2015,7 +2458,7 @@ const ar = {
|
|
|
2015
2458
|
submitButton: "إرسال رابط إعادة التعيين",
|
|
2016
2459
|
submittingButton: "جارٍ الإرسال…",
|
|
2017
2460
|
successTitle: "تحقق من بريدك الإلكتروني",
|
|
2018
|
-
successDescription: "لقد أرسلنا رابط إعادة تعيين كلمة المرور إلى {
|
|
2461
|
+
successDescription: "لقد أرسلنا رابط إعادة تعيين كلمة المرور إلى {email}. يرجى التحقق من بريدك الوارد.",
|
|
2019
2462
|
backToSignInText: "العودة إلى تسجيل الدخول",
|
|
2020
2463
|
rememberPasswordText: "تتذكر كلمة المرور؟",
|
|
2021
2464
|
signInText: "تسجيل الدخول",
|
|
@@ -2195,6 +2638,15 @@ const ar = {
|
|
|
2195
2638
|
role: "الدور",
|
|
2196
2639
|
save: "حفظ التغييرات",
|
|
2197
2640
|
},
|
|
2641
|
+
language: {
|
|
2642
|
+
title: "اللغة",
|
|
2643
|
+
description: "اللغة المستخدمة في الإشعارات والرسائل المرسلة إليك. أما لغة الواجهة فتُختار بشكل منفصل من قائمة الكرة الأرضية.",
|
|
2644
|
+
label: "اللغة المفضلة",
|
|
2645
|
+
systemDefault: "استخدام الإعداد الافتراضي للنشر",
|
|
2646
|
+
save: "حفظ",
|
|
2647
|
+
saved: "تم تحديث تفضيل اللغة.",
|
|
2648
|
+
readOnly: "يدير المسؤول لغة حسابك.",
|
|
2649
|
+
},
|
|
2198
2650
|
password: {
|
|
2199
2651
|
changeTitle: "تغيير كلمة المرور",
|
|
2200
2652
|
setTitle: "تعيين كلمة مرور محلية",
|
|
@@ -2226,7 +2678,6 @@ const ar = {
|
|
|
2226
2678
|
label: "مساحات العمل",
|
|
2227
2679
|
default: "مساحة العمل الخاصة بي",
|
|
2228
2680
|
switch: "تبديل مساحة العمل",
|
|
2229
|
-
create: "إنشاء مساحة عمل",
|
|
2230
2681
|
createTitle: "إنشاء مساحة عمل",
|
|
2231
2682
|
createDescription: "مساحة العمل هي مساحة مشتركة لفريقك للتعاون.",
|
|
2232
2683
|
createButton: "إنشاء مساحة عمل",
|
|
@@ -2251,7 +2702,6 @@ const ar = {
|
|
|
2251
2702
|
packageManagement: "إدارة الحزم",
|
|
2252
2703
|
searchNavigation: "البحث في التنقل…",
|
|
2253
2704
|
settings: "الإعدادات",
|
|
2254
|
-
help: "المساعدة",
|
|
2255
2705
|
helpTooltip: "المساعدة والوثائق",
|
|
2256
2706
|
activityFeed: "موجز النشاط",
|
|
2257
2707
|
notifications: "الإشعارات",
|
|
@@ -2290,10 +2740,12 @@ const ar = {
|
|
|
2290
2740
|
build: {
|
|
2291
2741
|
title: "إنشاء تطبيق",
|
|
2292
2742
|
subtitle: "ابدأ من الصفر — صمّم الكائنات والنماذج والأتمتة والواجهات.",
|
|
2743
|
+
noCapability: "إنشاء التطبيقات غير متاح في مساحة العمل هذه — فهو يتطلب إذن «إدارة البيانات الوصفية» الذي لا يملكه حسابك.",
|
|
2293
2744
|
},
|
|
2294
2745
|
template: {
|
|
2295
2746
|
title: "ابدأ من قالب",
|
|
2296
2747
|
subtitle: "ثبّت تطبيق قالب من السوق وخصّصه.",
|
|
2748
|
+
marketplaceDisabled: "لا يوجد سوق تطبيقات مُهيّأ لوقت التشغيل هذا، لذا لا توجد قوالب لتثبيتها هنا.",
|
|
2297
2749
|
},
|
|
2298
2750
|
welcomeAdminDescription: "صف نشاطك التجاري في جملة واحدة — وسيولّد الذكاء الاصطناعي الكائنات والشاشات وواجهات البرمجة وأدوات الوكيل. أو أعدّها بنفسك من القائمة على اليسار.",
|
|
2299
2751
|
welcomeAdminDescriptionNoBuild: "أعدّ تطبيقك الأول من قائمة الإدارة على اليسار. وبمجرد توفر البيانات، يمكن لمساعد الذكاء الاصطناعي مساعدتك في استكشافها.",
|
|
@@ -2309,6 +2761,12 @@ const ar = {
|
|
|
2309
2761
|
},
|
|
2310
2762
|
pendingDrafts: {
|
|
2311
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}} من التغييرات غير المنشورة — انشرها لتصبح فعّالة.",
|
|
2312
2770
|
cta: "نشر",
|
|
2313
2771
|
publishing: "جارٍ النشر…",
|
|
2314
2772
|
published: "تم النشر! تغييراتك فعّالة الآن.",
|
|
@@ -2323,7 +2781,6 @@ const ar = {
|
|
|
2323
2781
|
capabilityWarn: "فحص التأليف: {{count}} مرجع(مراجع) قدرات لا تشير إلى شيء.",
|
|
2324
2782
|
},
|
|
2325
2783
|
title: "الرئيسية",
|
|
2326
|
-
subtitle: "لوحة تحكم مساحة العمل",
|
|
2327
2784
|
nav: "الرئيسية",
|
|
2328
2785
|
allApps: "جميع التطبيقات",
|
|
2329
2786
|
yourApps: "تطبيقاتك",
|
|
@@ -2335,8 +2792,6 @@ const ar = {
|
|
|
2335
2792
|
empty: "لقد أنجزت كل شيء",
|
|
2336
2793
|
},
|
|
2337
2794
|
loading: "جارٍ تحميل مساحة العمل…",
|
|
2338
|
-
recent: "الأخيرة",
|
|
2339
|
-
starred: "المميزة بنجمة",
|
|
2340
2795
|
welcome: "مرحباً بك في ObjectUI",
|
|
2341
2796
|
welcomeDescription: "ابدأ بإنشاء تطبيقك الأول أو تكوين إعدادات النظام.",
|
|
2342
2797
|
createFirstApp: "أنشئ أول تطبيق لك",
|
|
@@ -2344,8 +2799,6 @@ const ar = {
|
|
|
2344
2799
|
browseMarketplace: "تصفح متجر التطبيقات",
|
|
2345
2800
|
quickActions: {
|
|
2346
2801
|
title: "إجراءات سريعة",
|
|
2347
|
-
createApp: "إنشاء تطبيق",
|
|
2348
|
-
createAppDesc: "ابدأ بتطبيق جديد",
|
|
2349
2802
|
manageObjects: "إدارة الكائنات",
|
|
2350
2803
|
manageObjectsDesc: "تكوين نماذج البيانات",
|
|
2351
2804
|
systemSettings: "إعدادات النظام",
|
|
@@ -2361,18 +2814,15 @@ const ar = {
|
|
|
2361
2814
|
greetingNight: "وردية الليل",
|
|
2362
2815
|
heroTagline: "استمر من حيث توقفت أو اكتشف شيئاً جديداً.",
|
|
2363
2816
|
open: "فتح",
|
|
2364
|
-
stats: {
|
|
2365
|
-
apps: "التطبيقات",
|
|
2366
|
-
starred: "المميزة",
|
|
2367
|
-
recent: "الأخيرة",
|
|
2368
|
-
},
|
|
2369
2817
|
recentApps: {
|
|
2370
2818
|
title: "فُتح مؤخراً",
|
|
2371
2819
|
itemType: {
|
|
2372
2820
|
object: "كائن",
|
|
2373
2821
|
dashboard: "لوحة تحكم",
|
|
2374
2822
|
page: "صفحة",
|
|
2823
|
+
report: "تقرير",
|
|
2375
2824
|
record: "سجل",
|
|
2825
|
+
metadata: "البيانات الوصفية",
|
|
2376
2826
|
},
|
|
2377
2827
|
},
|
|
2378
2828
|
starredApps: {
|
|
@@ -2394,7 +2844,6 @@ const ar = {
|
|
|
2394
2844
|
organizations: "المؤسسات",
|
|
2395
2845
|
roles: "الأدوار",
|
|
2396
2846
|
configuration: "التهيئة",
|
|
2397
|
-
createApp: "إنشاء تطبيق",
|
|
2398
2847
|
administration: "الإدارة",
|
|
2399
2848
|
datasources: "مصادر البيانات",
|
|
2400
2849
|
documentation: "الوثائق",
|
|
@@ -2419,6 +2868,7 @@ const ar = {
|
|
|
2419
2868
|
typeUpdate: "تحديث",
|
|
2420
2869
|
typeDelete: "حذف",
|
|
2421
2870
|
typeComment: "تعليق",
|
|
2871
|
+
typeSystem: "النظام",
|
|
2422
2872
|
relativeJustNow: "الآن",
|
|
2423
2873
|
relativeSecondsAgo: "منذ {{count}} ث",
|
|
2424
2874
|
relativeMinutesAgo: "منذ {{count}} د",
|
|
@@ -2440,8 +2890,22 @@ const ar = {
|
|
|
2440
2890
|
placeholder: "ابحث في الكائنات، لوحات التحكم، الصفحات، التقارير…",
|
|
2441
2891
|
inputAriaLabel: "ابحث في الكائنات، لوحات التحكم، الصفحات، التقارير",
|
|
2442
2892
|
resultsCount: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
2443
|
-
|
|
2444
|
-
|
|
2893
|
+
resultsCount_zero: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
2894
|
+
resultsCount_one: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
2895
|
+
resultsCount_two: "نتيجتان لـ \"{{query}}\" ({{count}})",
|
|
2896
|
+
resultsCount_few: "{{count}} نتائج لـ \"{{query}}\"",
|
|
2897
|
+
resultsCount_many: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
2898
|
+
resultsCount_other: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
2899
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
2900
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
2901
|
+
// without a count.
|
|
2902
|
+
itemsAvailable: "عدد العناصر المتاحة: {{count}}",
|
|
2903
|
+
itemsAvailable_zero: "{{count}} عنصر متاح",
|
|
2904
|
+
itemsAvailable_one: "{{count}} عنصر متاح",
|
|
2905
|
+
itemsAvailable_two: "عنصران متاحان ({{count}})",
|
|
2906
|
+
itemsAvailable_few: "{{count}} عناصر متاحة",
|
|
2907
|
+
itemsAvailable_many: "{{count}} عنصرًا متاحًا",
|
|
2908
|
+
itemsAvailable_other: "{{count}} عنصر متاح",
|
|
2445
2909
|
noResults: "لم يتم العثور على نتائج",
|
|
2446
2910
|
noResultsHint: "جرب تعديل مصطلحات البحث",
|
|
2447
2911
|
typeObjects: "الكائنات",
|
|
@@ -2466,7 +2930,11 @@ const ar = {
|
|
|
2466
2930
|
noAppsConfigured: "لا تطبيقات مُهيأة",
|
|
2467
2931
|
noAppsConfiguredDescription: "لا تطبيقات مسجلة. أنشئ تطبيقك الأول أو زر إعدادات النظام.",
|
|
2468
2932
|
appNotAvailable: "التطبيق غير متاح",
|
|
2469
|
-
appNotAvailableDescription: "هذا التطبيق غير متاح
|
|
2933
|
+
appNotAvailableDescription: "هذا التطبيق غير متاح — أعد المحاولة بعد لحظات.",
|
|
2934
|
+
appNotFound: "تعذّر فتح هذا التطبيق",
|
|
2935
|
+
appNotFoundDescription: "لم يُرجع الخادم هذا التطبيق لحسابك.",
|
|
2936
|
+
appUnreachable: "تعذّر الوصول إلى الخادم",
|
|
2937
|
+
appUnreachableDescription: "تعذّر التحقق من هذا التطبيق. أعد المحاولة بعد لحظات.",
|
|
2470
2938
|
appAccessDenied: "ليس لديك حق الوصول إلى هذا التطبيق",
|
|
2471
2939
|
appAccessDeniedDescription: "هذا التطبيق موجود، لكن حسابك غير مخوَّل بفتحه. اطلب من المسؤول منحك حق الوصول.",
|
|
2472
2940
|
appAccessDeniedHome: "العودة إلى الرئيسية",
|
|
@@ -2476,31 +2944,16 @@ const ar = {
|
|
|
2476
2944
|
recordNotFound: "السجل غير موجود",
|
|
2477
2945
|
recordNotFoundDescription: "السجل الذي تبحث عنه غير موجود أو ربما تم حذفه.",
|
|
2478
2946
|
},
|
|
2479
|
-
renderer: {
|
|
2480
|
-
noPageSchema: "لم يتم توفير مخطط الصفحة",
|
|
2481
|
-
noFormSchema: "لم يتم توفير مخطط النموذج",
|
|
2482
|
-
noDashboardSchema: "لم يتم توفير مخطط لوحة التحكم",
|
|
2483
|
-
pageRendering: "تصيير الصفحة: {{name}}",
|
|
2484
|
-
dashboardRendering: "تصيير لوحة التحكم: {{name}}",
|
|
2485
|
-
formRenderingMode: "تصيير النموذج في وضع {{mode}}",
|
|
2486
|
-
formRenderingFor: "للسجل {{id}}",
|
|
2487
|
-
createRecord: "إنشاء سجل",
|
|
2488
|
-
editRecord: "تعديل السجل",
|
|
2489
|
-
page: "صفحة",
|
|
2490
|
-
dashboard: "لوحة تحكم",
|
|
2491
|
-
save: "حفظ",
|
|
2492
|
-
cancel: "إلغاء",
|
|
2493
|
-
},
|
|
2494
2947
|
actionDialog: {
|
|
2495
2948
|
title: "معامِلات الإجراء",
|
|
2496
2949
|
description: "يرجى إدخال المعلومات المطلوبة للمتابعة.",
|
|
2497
2950
|
selectPlaceholder: "تحديد {{label}}",
|
|
2498
2951
|
requiredError: "{{label}} مطلوب",
|
|
2952
|
+
unresolvedParam: 'تعذّر عرض هذه المَعلمة: الحقل الذي تستند إليه غير موجود في بيانات تعريف الكائن، لذا يتعذّر إنشاء عنصر التحكم المطلوب. اطلب من المسؤول تصحيح تعريف الإجراء.',
|
|
2953
|
+
carryOverHint: 'يُنقل دون تغيير (للقراءة فقط)',
|
|
2499
2954
|
cancel: "إلغاء",
|
|
2500
2955
|
confirm: "تأكيد",
|
|
2501
2956
|
uploading: "جارٍ الرفع…",
|
|
2502
|
-
defaultActionTitle: "إجراء",
|
|
2503
|
-
ok: "موافق",
|
|
2504
2957
|
lookupPlaceholder: "معرف السجل لـ {{label}}",
|
|
2505
2958
|
lookupHelpText: "لم يتم تكوين كائن مرجعي لهذه المعلمة، لذا فإن أداة اختيار السجلات غير متاحة. أدخل معرف السجل، أو اطلب من المسؤول تصحيح معلمة الإجراء.",
|
|
2506
2959
|
},
|
|
@@ -2509,11 +2962,6 @@ const ar = {
|
|
|
2509
2962
|
confirm: "متابعة",
|
|
2510
2963
|
cancel: "إلغاء",
|
|
2511
2964
|
},
|
|
2512
|
-
rowAction: {
|
|
2513
|
-
openMenu: "فتح القائمة",
|
|
2514
|
-
edit: "تعديل",
|
|
2515
|
-
delete: "حذف",
|
|
2516
|
-
},
|
|
2517
2965
|
navigationSync: {
|
|
2518
2966
|
addedPage: "تم تحديث التنقل: تمت إضافة الصفحة \"{{name}}\"",
|
|
2519
2967
|
addedDashboard: "تم تحديث التنقل: تمت إضافة لوحة التحكم \"{{name}}\"",
|
|
@@ -2534,6 +2982,12 @@ const ar = {
|
|
|
2534
2982
|
noRecordId: "لم يتم توفير معرف سجل",
|
|
2535
2983
|
deleteConfirm: "حذف هذا السجل؟",
|
|
2536
2984
|
bulkDeleteSuccess: "تم حذف {{count}} سجل(ات) {{label}}",
|
|
2985
|
+
bulkDeleteSuccess_zero: "تم حذف {{count}} من سجلات {{label}}",
|
|
2986
|
+
bulkDeleteSuccess_one: "تم حذف {{count}} من سجلات {{label}}",
|
|
2987
|
+
bulkDeleteSuccess_two: "تم حذف {{count}} من سجلات {{label}}",
|
|
2988
|
+
bulkDeleteSuccess_few: "تم حذف {{count}} من سجلات {{label}}",
|
|
2989
|
+
bulkDeleteSuccess_many: "تم حذف {{count}} من سجلات {{label}}",
|
|
2990
|
+
bulkDeleteSuccess_other: "تم حذف {{count}} من سجلات {{label}}",
|
|
2537
2991
|
bulkDeletePartial: "تم حذف {{succeeded}}، فشل {{failed}}",
|
|
2538
2992
|
},
|
|
2539
2993
|
objectViewActions: {
|
|
@@ -2545,15 +2999,6 @@ const ar = {
|
|
|
2545
2999
|
exportFailed: "فشل التصدير: {{message}}",
|
|
2546
3000
|
forecastSoon: "عرض التوقعات قادم قريباً",
|
|
2547
3001
|
},
|
|
2548
|
-
recordDetail: {
|
|
2549
|
-
viewersTooltip: "المستخدمون يشاهدون هذا السجل الآن",
|
|
2550
|
-
},
|
|
2551
|
-
cellRender: {
|
|
2552
|
-
empty: "فارغ",
|
|
2553
|
-
yes: "نعم",
|
|
2554
|
-
no: "لا",
|
|
2555
|
-
systemFields: "النظام",
|
|
2556
|
-
},
|
|
2557
3002
|
user: {
|
|
2558
3003
|
profile: "الملف الشخصي",
|
|
2559
3004
|
settings: "الإعدادات",
|
|
@@ -2590,17 +3035,17 @@ const ar = {
|
|
|
2590
3035
|
},
|
|
2591
3036
|
organizations: {
|
|
2592
3037
|
create: "إنشاء مساحة عمل",
|
|
2593
|
-
mine: "
|
|
2594
|
-
title: "
|
|
2595
|
-
heading: "
|
|
2596
|
-
subtitle: "اختر
|
|
2597
|
-
searchPlaceholder: "ابحث عن
|
|
2598
|
-
new: "
|
|
2599
|
-
current: "
|
|
3038
|
+
mine: "مساحات عملي",
|
|
3039
|
+
title: "مساحات العمل",
|
|
3040
|
+
heading: "مساحات عملك",
|
|
3041
|
+
subtitle: "اختر مساحة عمل للمتابعة، أو أنشئ مساحة عمل جديدة.",
|
|
3042
|
+
searchPlaceholder: "ابحث عن مساحة عمل",
|
|
3043
|
+
new: "مساحة عمل جديدة",
|
|
3044
|
+
current: "مساحة العمل الحالية",
|
|
2600
3045
|
manage: "إدارة",
|
|
2601
|
-
emptyTitle: "لا توجد
|
|
2602
|
-
emptyDescription: "أنشئ
|
|
2603
|
-
noMatches: "لا توجد
|
|
3046
|
+
emptyTitle: "لا توجد مساحات عمل بعد",
|
|
3047
|
+
emptyDescription: "أنشئ مساحة عملك الأولى للبدء.",
|
|
3048
|
+
noMatches: "لا توجد مساحات عمل تطابق بحثك.",
|
|
2604
3049
|
},
|
|
2605
3050
|
organization: {
|
|
2606
3051
|
roles: {
|
|
@@ -2729,6 +3174,9 @@ const ar = {
|
|
|
2729
3174
|
declined: "تم رفض الدعوة",
|
|
2730
3175
|
declineFailed: "فشل رفض الدعوة",
|
|
2731
3176
|
},
|
|
3177
|
+
current: {
|
|
3178
|
+
label: "المؤسسة الحالية",
|
|
3179
|
+
},
|
|
2732
3180
|
switcher: {
|
|
2733
3181
|
label: "تبديل المؤسسة",
|
|
2734
3182
|
groupLabel: "مؤسسة العمل",
|
|
@@ -2740,18 +3188,49 @@ const ar = {
|
|
|
2740
3188
|
regionLabel: "الإشعارات",
|
|
2741
3189
|
groupCount: "{{count}} من الإشعارات",
|
|
2742
3190
|
groupUnread: "{{count}} غير مقروء",
|
|
3191
|
+
groupUnread_zero: "غير المقروءة: {{count}}",
|
|
3192
|
+
groupUnread_one: "غير المقروءة: {{count}}",
|
|
3193
|
+
groupUnread_two: "غير المقروءة: {{count}}",
|
|
3194
|
+
groupUnread_few: "غير المقروءة: {{count}}",
|
|
3195
|
+
groupUnread_many: "غير المقروءة: {{count}}",
|
|
3196
|
+
groupUnread_other: "غير المقروءة: {{count}}",
|
|
2743
3197
|
groupMarkRead: "تعليم كمقروء",
|
|
2744
3198
|
groupMarkReadTitle: "تعليم كل هذا النوع كمقروء",
|
|
2745
3199
|
empty: "لا توجد إشعارات",
|
|
2746
3200
|
markAllRead: "تعليم الكل كمقروء",
|
|
2747
3201
|
viewAll: "عرض جميع الإشعارات",
|
|
2748
3202
|
approvalsPending: "{{count}} موافقات معلقة",
|
|
3203
|
+
approvalsPending_zero: "{{count}} موافقة معلقة",
|
|
3204
|
+
approvalsPending_one: "{{count}} موافقة معلقة",
|
|
3205
|
+
approvalsPending_two: "موافقتان معلقتان ({{count}})",
|
|
3206
|
+
approvalsPending_few: "{{count}} موافقات معلقة",
|
|
3207
|
+
approvalsPending_many: "{{count}} موافقة معلقة",
|
|
3208
|
+
approvalsPending_other: "{{count}} موافقة معلقة",
|
|
2749
3209
|
viewApprovals: "عرض الموافقات",
|
|
2750
3210
|
noPendingApprovals: "لا توجد موافقات معلقة",
|
|
2751
3211
|
openApprovalsInbox: "فتح صندوق الموافقات",
|
|
2752
3212
|
badgeTotal: "{{total}} إجمالاً",
|
|
2753
3213
|
badgeNotifications: "{{unread}} إشعارات",
|
|
2754
3214
|
badgeApprovals: "{{approvals}} موافقات معلقة",
|
|
3215
|
+
arrivalMany: "{{count}} رسائل جديدة",
|
|
3216
|
+
arrivalMany_zero: "{{count}} رسالة جديدة",
|
|
3217
|
+
arrivalMany_one: "{{count}} رسالة جديدة",
|
|
3218
|
+
arrivalMany_two: "رسالتان جديدتان ({{count}})",
|
|
3219
|
+
arrivalMany_few: "{{count}} رسائل جديدة",
|
|
3220
|
+
arrivalMany_many: "{{count}} رسالة جديدة",
|
|
3221
|
+
arrivalMany_other: "{{count}} رسالة جديدة",
|
|
3222
|
+
arrivalRepeats: "{{count}} رسائل جديدة في هذا الموضوع",
|
|
3223
|
+
arrivalRepeats_zero: "{{count}} رسالة جديدة في هذا الموضوع",
|
|
3224
|
+
arrivalRepeats_one: "{{count}} رسالة جديدة في هذا الموضوع",
|
|
3225
|
+
arrivalRepeats_two: "رسالتان جديدتان ({{count}}) في هذا الموضوع",
|
|
3226
|
+
arrivalRepeats_few: "{{count}} رسائل جديدة في هذا الموضوع",
|
|
3227
|
+
arrivalRepeats_many: "{{count}} رسالة جديدة في هذا الموضوع",
|
|
3228
|
+
arrivalRepeats_other: "{{count}} رسالة جديدة في هذا الموضوع",
|
|
3229
|
+
arrivalOpen: "عرض",
|
|
3230
|
+
toastEnabled: "تنبيهات داخل التطبيق",
|
|
3231
|
+
desktopEnabled: "إشعارات سطح المكتب",
|
|
3232
|
+
desktopBlocked: "محظور. اسمح بالإشعارات لهذا الموقع من إعدادات المتصفح.",
|
|
3233
|
+
desktopUnsupported: "هذا المتصفح لا يدعم إشعارات سطح المكتب.",
|
|
2755
3234
|
emptyUnread: "كل شيء مقروء",
|
|
2756
3235
|
filterUnread: "غير مقروء",
|
|
2757
3236
|
filterAll: "الكل",
|
|
@@ -2765,63 +3244,19 @@ const ar = {
|
|
|
2765
3244
|
thankYouTitle: "شكراً!",
|
|
2766
3245
|
thankYouMessage: "تم استلام إرسالك بنجاح.",
|
|
2767
3246
|
redirecting: "إعادة توجيه خلال {{seconds}} ثانية(ثوانٍ)…",
|
|
3247
|
+
redirectPending: "جارٍ إعادة التوجيه…",
|
|
2768
3248
|
unavailableTitle: "النموذج غير متاح",
|
|
2769
3249
|
unavailableDescription: "لا يوجد نموذج عام متاح على هذا الرابط. تأكد من تمكين المشاركة المجهولة للعرض الأساسي.",
|
|
2770
3250
|
tryDemo: "تجربة العرض التوضيحي",
|
|
2771
3251
|
retry: "إعادة المحاولة",
|
|
2772
3252
|
loading: "جارٍ تحميل النموذج…",
|
|
2773
3253
|
requiredHint: "* حقل مطلوب",
|
|
3254
|
+
requiredFields: "الحقول المطلوبة: {{fields}}",
|
|
2774
3255
|
consentLabelDefault: "أوافق على سياسة الخصوصية وأعطي موافقتي على معالجة بياناتي لهذا الطلب.",
|
|
2775
3256
|
consentLink: "سياسة الخصوصية",
|
|
2776
3257
|
consentRequired: "يرجى قبول سياسة الخصوصية للمتابعة.",
|
|
2777
3258
|
rateLimited: "خذ لحظة لمراجعة إجاباتك قبل الإرسال.",
|
|
2778
3259
|
redirectBlocked: "تم قبول الإرسال، لكن رابط إعادة التوجيه تم حظره لأسباب أمنية.",
|
|
2779
|
-
demo: {
|
|
2780
|
-
contactTitle: "تواصل معنا",
|
|
2781
|
-
contactDescription: "أخبرنا عن مشروعك وسيتواصل معك أحد ممثلي المبيعات خلال يوم عمل.",
|
|
2782
|
-
supportTitle: "إرسال طلب دعم",
|
|
2783
|
-
supportDescription: "صف لنا المشكلة وسيرد فريقنا خلال يوم عمل.",
|
|
2784
|
-
thankYouSalesTitle: "شكراً — لقد استلمنا رسالتك!",
|
|
2785
|
-
thankYouSalesMessage: "سيتواصل معك أحد ممثلي المبيعات خلال يوم عمل.",
|
|
2786
|
-
thankYouSupportTitle: "تم — طلبك في قائمة الانتظار.",
|
|
2787
|
-
thankYouSupportMessage: "سيتابع معك مهندس الدعم قريباً. احفظ هذه الصفحة إذا كان لديك لقطات شاشة إضافية.",
|
|
2788
|
-
field: {
|
|
2789
|
-
firstName: "الاسم الأول",
|
|
2790
|
-
lastName: "اسم العائلة",
|
|
2791
|
-
email: "البريد الإلكتروني للعمل",
|
|
2792
|
-
phone: "الهاتف",
|
|
2793
|
-
jobTitle: "المسمى الوظيفي",
|
|
2794
|
-
company: "الشركة",
|
|
2795
|
-
website: "الموقع الإلكتروني",
|
|
2796
|
-
industry: "القطاع",
|
|
2797
|
-
companySize: "حجم الشركة",
|
|
2798
|
-
howCanWeHelp: "كيف يمكننا مساعدتك؟",
|
|
2799
|
-
subject: "الموضوع",
|
|
2800
|
-
description: "الوصف",
|
|
2801
|
-
issueType: "نوع المشكلة",
|
|
2802
|
-
priority: "الأولوية",
|
|
2803
|
-
},
|
|
2804
|
-
industry: {
|
|
2805
|
-
technology: "التكنولوجيا",
|
|
2806
|
-
software: "البرمجيات / SaaS",
|
|
2807
|
-
finance: "المالية",
|
|
2808
|
-
healthcare: "الرعاية الصحية",
|
|
2809
|
-
retail: "التجزئة",
|
|
2810
|
-
other: "أخرى",
|
|
2811
|
-
},
|
|
2812
|
-
issueType: {
|
|
2813
|
-
question: "سؤال",
|
|
2814
|
-
problem: "مشكلة",
|
|
2815
|
-
bug: "خطأ برمجي",
|
|
2816
|
-
feature_request: "طلب ميزة",
|
|
2817
|
-
},
|
|
2818
|
-
priority: {
|
|
2819
|
-
low: "منخفضة",
|
|
2820
|
-
medium: "متوسطة",
|
|
2821
|
-
high: "عالية",
|
|
2822
|
-
critical: "حرجة",
|
|
2823
|
-
},
|
|
2824
|
-
},
|
|
2825
3260
|
},
|
|
2826
3261
|
connectAgent: {
|
|
2827
3262
|
disabled: {
|
|
@@ -2867,6 +3302,12 @@ const ar = {
|
|
|
2867
3302
|
noImportableFields: "لا تحتوي هذه الكائن على حقول قابلة للاستيراد.",
|
|
2868
3303
|
schemaReadFailed: "تعذّرت قراءة مخطط الكائن.",
|
|
2869
3304
|
imported: "تم استيراد {{count}} صف إلى {{object}}.",
|
|
3305
|
+
imported_zero: "تم استيراد {{count}} صف إلى {{object}}.",
|
|
3306
|
+
imported_one: "تم استيراد {{count}} صف إلى {{object}}.",
|
|
3307
|
+
imported_two: "تم استيراد صفين ({{count}}) إلى {{object}}.",
|
|
3308
|
+
imported_few: "تم استيراد {{count}} صفوف إلى {{object}}.",
|
|
3309
|
+
imported_many: "تم استيراد {{count}} صفًا إلى {{object}}.",
|
|
3310
|
+
imported_other: "تم استيراد {{count}} صف إلى {{object}}.",
|
|
2870
3311
|
importFrom: "استيراد الصفوف الفعلية من",
|
|
2871
3312
|
into: "إلى",
|
|
2872
3313
|
opening: "جارٍ الفتح…",
|
|
@@ -2880,6 +3321,84 @@ const ar = {
|
|
|
2880
3321
|
openProduction: "فتح بيئة الإنتاج",
|
|
2881
3322
|
manageEnvironments: "إدارة البيئات",
|
|
2882
3323
|
},
|
|
3324
|
+
cloudPlanStatus: {
|
|
3325
|
+
current: "الخطة الحالية",
|
|
3326
|
+
},
|
|
3327
|
+
ai: {
|
|
3328
|
+
nlQuery: {
|
|
3329
|
+
placeholder: "اطرح سؤالًا حول بياناتك…",
|
|
3330
|
+
ask: "اسأل",
|
|
3331
|
+
results: "النتائج",
|
|
3332
|
+
match: "نسبة التطابق: {{percent}}",
|
|
3333
|
+
simulatedSummary: "نتائج: {{query}}",
|
|
3334
|
+
noResults: "لم يتم العثور على سجلات مطابقة",
|
|
3335
|
+
recentQueries: "الاستعلامات الأخيرة",
|
|
3336
|
+
},
|
|
3337
|
+
formAssist: {
|
|
3338
|
+
title: "اقتراحات الذكاء الاصطناعي",
|
|
3339
|
+
suggestionCount: "عدد الاقتراحات: {{count}}",
|
|
3340
|
+
suggestionCount_zero: "{{count}} اقتراح",
|
|
3341
|
+
suggestionCount_one: "{{count}} اقتراح",
|
|
3342
|
+
suggestionCount_two: "اقتراحان ({{count}})",
|
|
3343
|
+
suggestionCount_few: "{{count}} اقتراحات",
|
|
3344
|
+
suggestionCount_many: "{{count}} اقتراحًا",
|
|
3345
|
+
suggestionCount_other: "{{count}} اقتراح",
|
|
3346
|
+
applyAll: "تطبيق الكل",
|
|
3347
|
+
confidence: "الثقة: {{percent}}",
|
|
3348
|
+
appliedCount: "عدد الاقتراحات المطبّقة: {{count}}",
|
|
3349
|
+
appliedCount_zero: "تم تطبيق {{count}} اقتراح",
|
|
3350
|
+
appliedCount_one: "تم تطبيق {{count}} اقتراح",
|
|
3351
|
+
appliedCount_two: "تم تطبيق اقتراحين ({{count}})",
|
|
3352
|
+
appliedCount_few: "تم تطبيق {{count}} اقتراحات",
|
|
3353
|
+
appliedCount_many: "تم تطبيق {{count}} اقتراحًا",
|
|
3354
|
+
appliedCount_other: "تم تطبيق {{count}} اقتراح",
|
|
3355
|
+
},
|
|
3356
|
+
recommendations: {
|
|
3357
|
+
title: "التوصيات",
|
|
3358
|
+
generating: "جارٍ إنشاء التوصيات…",
|
|
3359
|
+
empty: "لا توجد توصيات متاحة",
|
|
3360
|
+
},
|
|
3361
|
+
},
|
|
3362
|
+
aiApprovals: {
|
|
3363
|
+
title: "موافقات الذكاء الاصطناعي",
|
|
3364
|
+
description: "إجراءات اقترحها وكيل ذكاء اصطناعي وتحتاج إلى مراجعة بشرية قبل تنفيذها.",
|
|
3365
|
+
tabPending: "قيد الانتظار",
|
|
3366
|
+
tabDecided: "تم البت فيها",
|
|
3367
|
+
tabAll: "الكل",
|
|
3368
|
+
statusPending: "قيد الانتظار",
|
|
3369
|
+
statusApproved: "تمت الموافقة",
|
|
3370
|
+
statusExecuted: "تم التنفيذ",
|
|
3371
|
+
statusFailed: "فشل",
|
|
3372
|
+
statusRejected: "مرفوض",
|
|
3373
|
+
colTool: "الأداة",
|
|
3374
|
+
colAction: "الإجراء",
|
|
3375
|
+
colObject: "الكائن",
|
|
3376
|
+
colStatus: "الحالة",
|
|
3377
|
+
colProposed: "وقت الاقتراح",
|
|
3378
|
+
colDecision: "القرار",
|
|
3379
|
+
emptyTitle: "لا توجد إجراءات في الانتظار",
|
|
3380
|
+
emptyDescription: "عندما يقترح الذكاء الاصطناعي إجراءً حساسًا سيظهر هنا للمراجعة.",
|
|
3381
|
+
view: "عرض",
|
|
3382
|
+
approve: "موافقة",
|
|
3383
|
+
reject: "رفض",
|
|
3384
|
+
working: "جارٍ التنفيذ…",
|
|
3385
|
+
approveAndExecute: "الموافقة والتنفيذ",
|
|
3386
|
+
outcomeApprove: "موافقة على {{id}}: {{message}}",
|
|
3387
|
+
outcomeReject: "رفض {{id}}: {{message}}",
|
|
3388
|
+
outcomeExecuteFailed: "فشل الإجراء أثناء التنفيذ",
|
|
3389
|
+
drawerFallbackTitle: "إجراء قيد الانتظار",
|
|
3390
|
+
drawerSubtitle: "الأداة {{tool}} على {{object}}",
|
|
3391
|
+
fieldProposedBy: "اقترحه",
|
|
3392
|
+
fieldDecidedBy: "قرّره",
|
|
3393
|
+
fieldConversation: "المحادثة",
|
|
3394
|
+
fieldToolInput: "مدخلات الأداة",
|
|
3395
|
+
fieldResult: "النتيجة",
|
|
3396
|
+
fieldError: "خطأ",
|
|
3397
|
+
fieldRejectionReason: "سبب الرفض",
|
|
3398
|
+
rejectTitle: "هل تريد رفض هذا الإجراء؟",
|
|
3399
|
+
rejectBody: "يُعاد السبب إلى الذكاء الاصطناعي ليعدّل ردّه التالي.",
|
|
3400
|
+
rejectPlaceholder: "سبب اختياري (مثال: «معرّف السجل غير صحيح — يرجى التأكيد مع المستخدم أولاً.»)",
|
|
3401
|
+
},
|
|
2883
3402
|
aiModelStatus: {
|
|
2884
3403
|
summary: "يستخدم الإنشاء / السؤال {{conversational}} ({{conversationalSource}})؛ ويستخدم الإخراج المهيكل {{structured}} ({{structuredSource}}).",
|
|
2885
3404
|
summaryRouting: "سياسة التوجيه: الخطط المجانية ← {{free}}، الخطط المدفوعة ← {{paid}}.",
|
|
@@ -2897,6 +3416,123 @@ const ar = {
|
|
|
2897
3416
|
sourceInherits: "مثل build/ask",
|
|
2898
3417
|
sourcePinned: "مثبّت بواسطة {{source}}",
|
|
2899
3418
|
},
|
|
3419
|
+
// objectui#7254 — the AI copilot's tool cards. Three families, all of them
|
|
3420
|
+
// English-only until this landed while every other string on the same screen
|
|
3421
|
+
// was translated:
|
|
3422
|
+
//
|
|
3423
|
+
// `tool.*` — one entry per PLATFORM-PROVIDED tool name
|
|
3424
|
+
// (@objectstack/spec `PLATFORM_TOOLS_BY_PACKAGE`, the
|
|
3425
|
+
// closed registry those runtimes are conformance-tested
|
|
3426
|
+
// against). `humanizeToolName` looks each up as
|
|
3427
|
+
// `chatbot.tool.<tool_name>` and falls back to its English
|
|
3428
|
+
// 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.
|
|
3432
|
+
// `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
|
|
3433
|
+
// set for both surfaces (they used to carry separate
|
|
3434
|
+
// tables and disagreed on casing).
|
|
3435
|
+
// `plan.*` — the "N objects · N views · N dashboards" strip. Plural
|
|
3436
|
+
// FAMILIES: one slot per CLDR category the pack's language
|
|
3437
|
+
// selects (objectui#11432), plus the base key for a call
|
|
3438
|
+
// made without a count. `all-locales-key-parity.test.ts`
|
|
3439
|
+
// derives the required slots from `Intl.PluralRules`.
|
|
3440
|
+
//
|
|
3441
|
+
// objectui#7481 — five `tool.*` entries are NEWER than the registry above:
|
|
3442
|
+
// `get_authoring_rules` (cloud#1837), `load_tools`, `open_record`, `test_flow`
|
|
3443
|
+
// and `toggle_flow` are registered by cloud `service-ai-studio` but the pinned
|
|
3444
|
+
// `@objectstack/spec` snapshot does not list them yet. They are kept here on
|
|
3445
|
+
// purpose: a step label the user reads must not wait on a pin bump. When the
|
|
3446
|
+
// pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
|
|
3447
|
+
// against the registry instead of against its own hand-held list.
|
|
3448
|
+
chatbot: {
|
|
3449
|
+
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: "التحقق من البناء",
|
|
3485
|
+
},
|
|
3486
|
+
toolState: {
|
|
3487
|
+
agentActivity: "نشاط الوكيل",
|
|
3488
|
+
pending: "قيد الانتظار",
|
|
3489
|
+
running: "قيد التنفيذ",
|
|
3490
|
+
awaitingApproval: "بانتظار الموافقة",
|
|
3491
|
+
responded: "تمت الاستجابة",
|
|
3492
|
+
completed: "مكتمل",
|
|
3493
|
+
error: "خطأ",
|
|
3494
|
+
denied: "مرفوض",
|
|
3495
|
+
failed: "فشل",
|
|
3496
|
+
},
|
|
3497
|
+
plan: {
|
|
3498
|
+
countObjects: "{{count}} كائنات",
|
|
3499
|
+
countObjects_zero: "{{count}} كائن",
|
|
3500
|
+
countObjects_one: "{{count}} كائن",
|
|
3501
|
+
countObjects_two: "كائنان ({{count}})",
|
|
3502
|
+
countObjects_few: "{{count}} كائنات",
|
|
3503
|
+
countObjects_many: "{{count}} كائنًا",
|
|
3504
|
+
countObjects_other: "{{count}} كائن",
|
|
3505
|
+
countViews: "{{count}} طرق عرض",
|
|
3506
|
+
countViews_zero: "{{count}} طريقة عرض",
|
|
3507
|
+
countViews_one: "{{count}} طريقة عرض",
|
|
3508
|
+
countViews_two: "طريقتا عرض ({{count}})",
|
|
3509
|
+
countViews_few: "{{count}} طرق عرض",
|
|
3510
|
+
countViews_many: "{{count}} طريقة عرض",
|
|
3511
|
+
countViews_other: "{{count}} طريقة عرض",
|
|
3512
|
+
countDashboards: "{{count}} لوحات معلومات",
|
|
3513
|
+
countDashboards_zero: "{{count}} لوحة معلومات",
|
|
3514
|
+
countDashboards_one: "{{count}} لوحة معلومات",
|
|
3515
|
+
countDashboards_two: "لوحتا معلومات ({{count}})",
|
|
3516
|
+
countDashboards_few: "{{count}} لوحات معلومات",
|
|
3517
|
+
countDashboards_many: "{{count}} لوحة معلومات",
|
|
3518
|
+
countDashboards_other: "{{count}} لوحة معلومات",
|
|
3519
|
+
countSeedData: "بيانات تجريبية",
|
|
3520
|
+
},
|
|
3521
|
+
build: {
|
|
3522
|
+
building: "جارٍ إنشاء {{app}}…",
|
|
3523
|
+
built: "تم إنشاء {{app}}",
|
|
3524
|
+
appFallback: "تطبيقك",
|
|
3525
|
+
addingSampleData: "جارٍ إضافة بيانات تجريبية",
|
|
3526
|
+
group: {
|
|
3527
|
+
object: "الكائنات",
|
|
3528
|
+
view: "طرق العرض",
|
|
3529
|
+
dashboard: "لوحات المعلومات",
|
|
3530
|
+
app: "التطبيق",
|
|
3531
|
+
seed: "بيانات تجريبية",
|
|
3532
|
+
},
|
|
3533
|
+
moreArtifacts: "+{{n}} أخرى",
|
|
3534
|
+
},
|
|
3535
|
+
},
|
|
2900
3536
|
chatbotError: {
|
|
2901
3537
|
title: "فشل الرد",
|
|
2902
3538
|
fallbackDetail: "حدث خطأ ما. يرجى المحاولة مرة أخرى.",
|
|
@@ -2934,6 +3570,7 @@ const ar = {
|
|
|
2934
3570
|
retry: "إعادة المحاولة",
|
|
2935
3571
|
errors: {
|
|
2936
3572
|
expired: "انتهت صلاحية الطلب قبل الموافقة عليه. ابدأ من جديد.",
|
|
3573
|
+
accessDenied: "تم رفض طلب الاتصال. ابدأ من جديد.",
|
|
2937
3574
|
bindFailed: "فشل الربط.",
|
|
2938
3575
|
deviceCodeFailed: "فشل طلب رمز الجهاز.",
|
|
2939
3576
|
},
|
|
@@ -2976,7 +3613,7 @@ const ar = {
|
|
|
2976
3613
|
},
|
|
2977
3614
|
title: "سوق التطبيقات",
|
|
2978
3615
|
subtitle: "استعرض التطبيقات المعتمدة المنشورة في كتالوج ObjectStack. انقر على تطبيق لرؤية التفاصيل وتثبيته في أحد بيئاتك.",
|
|
2979
|
-
searchPlaceholder:
|
|
3616
|
+
searchPlaceholder: 'ابحث عن التطبيقات بالاسم أو معرف التطبيق…',
|
|
2980
3617
|
searchAria: "البحث في تطبيقات السوق",
|
|
2981
3618
|
installed: "مثبت",
|
|
2982
3619
|
installedCount: "مثبت ({{count}})",
|
|
@@ -2999,10 +3636,16 @@ const ar = {
|
|
|
2999
3636
|
installedBadge: "مثبت v{{version}}",
|
|
3000
3637
|
load: {
|
|
3001
3638
|
failed: "تعذر تحميل السوق",
|
|
3002
|
-
|
|
3639
|
+
failedHintConfigured: "يصل وقت التشغيل هذا إلى السوق عبر مستوى التحكم على {{url}}. تحقق من أنه متصل بالإنترنت ويمكن الوصول إليه من هنا.",
|
|
3640
|
+
failedHintSameOrigin: "يقدّم وقت التشغيل هذا كتالوج السوق بنفسه. تأكد من أن وقت التشغيل متصل بالإنترنت.",
|
|
3003
3641
|
packageFailed: "تعذر تحميل الحزمة",
|
|
3004
3642
|
notFound: "غير موجود.",
|
|
3005
3643
|
},
|
|
3644
|
+
disabled: {
|
|
3645
|
+
title: "سوق التطبيقات معطّل",
|
|
3646
|
+
description: "لا يوجد سوق مُهيّأ لوقت التشغيل هذا، لذا لا يوجد ما يمكن تصفحه أو تثبيته من هنا.",
|
|
3647
|
+
hint: "هذه هي الحالة المتوقعة عند تشغيل وقت التشغيل باستخدام <code>OS_CLOUD_URL=off</code> (أو <code>none</code> أو <code>local</code> أو <code>disabled</code>). لتفعيل السوق، وجّه <code>OS_CLOUD_URL</code> إلى مستوى تحكم وأعد تشغيل وقت التشغيل.",
|
|
3648
|
+
},
|
|
3006
3649
|
detail: {
|
|
3007
3650
|
homepage: "الصفحة الرئيسية",
|
|
3008
3651
|
installedV: "مثبت · v{{version}}",
|
|
@@ -3018,10 +3661,23 @@ const ar = {
|
|
|
3018
3661
|
purgeSampleData: 'حذف البيانات التجريبية',
|
|
3019
3662
|
purgeConfirm: 'حذف جميع السجلات التجريبية التي أنشأتها هذه الحزمة؟ لن تتأثر السجلات التي أضافها المستخدم.',
|
|
3020
3663
|
purgeSuccess: 'تم حذف {{count}} سجل تجريبي.',
|
|
3664
|
+
purgeSuccess_zero: 'تم حذف {{count}} سجل تجريبي.',
|
|
3665
|
+
purgeSuccess_one: 'تم حذف {{count}} سجل تجريبي.',
|
|
3666
|
+
purgeSuccess_two: 'تم حذف سجلين تجريبيين ({{count}}).',
|
|
3667
|
+
purgeSuccess_few: 'تم حذف {{count}} سجلات تجريبية.',
|
|
3668
|
+
purgeSuccess_many: 'تم حذف {{count}} سجلًا تجريبيًا.',
|
|
3669
|
+
purgeSuccess_other: 'تم حذف {{count}} سجل تجريبي.',
|
|
3021
3670
|
purgeNoData: 'لا توجد سجلات تجريبية للحذف.',
|
|
3022
3671
|
reseedQueued: 'ستتم إعادة تحميل البيانات التجريبية عند الوصول التالي إلى البيئة.',
|
|
3023
3672
|
reseedLocalSuccess: 'تمت إعادة تحميل البيانات التجريبية: {{inserted}} مضافة، {{updated}} محدثة.',
|
|
3024
3673
|
reseedPartialErrors: '(فشل في كتابة {{count}} سجل)',
|
|
3674
|
+
reseedPartialErrors_zero: '(فشل في كتابة {{count}} سجل)',
|
|
3675
|
+
reseedPartialErrors_one: '(فشل في كتابة {{count}} سجل)',
|
|
3676
|
+
reseedPartialErrors_two: '(فشل في كتابة سجلين: {{count}})',
|
|
3677
|
+
reseedPartialErrors_few: '(فشل في كتابة {{count}} سجلات)',
|
|
3678
|
+
reseedPartialErrors_many: '(فشل في كتابة {{count}} سجلًا)',
|
|
3679
|
+
reseedPartialErrors_other: '(فشل في كتابة {{count}} سجل)',
|
|
3680
|
+
sampleDataKernelUnavailable: 'لا يحتوي مستوى التحكم هذا على نواة بيئة، لذا لا يمكن إعادة تحميل البيانات التجريبية أو حذفها من هنا. نفّذ ذلك من وقت التشغيل الخاص بالبيئة نفسها.',
|
|
3025
3681
|
updateAvailable: 'يتوفر تحديث',
|
|
3026
3682
|
},
|
|
3027
3683
|
action: {
|
|
@@ -3074,7 +3730,8 @@ const ar = {
|
|
|
3074
3730
|
reviewed: "تمت المراجعة والموافقة",
|
|
3075
3731
|
unreviewed: "لم تتم المراجعة بعد",
|
|
3076
3732
|
signed: "موقَّع",
|
|
3077
|
-
grantsIntro: "
|
|
3733
|
+
grantsIntro: "تطلب هذه الحزمة:",
|
|
3734
|
+
notEnforced: "تُسجَّل هذه القائمة عند التثبيت ويُعاد تأكيدها إذا طلب إصدار لاحق المزيد، لكن بيئة التشغيل لا تقصر الحزمة على هذه القائمة بعد.",
|
|
3078
3735
|
services: "خدمات المنصة",
|
|
3079
3736
|
hooks: "خطافات دورة الحياة",
|
|
3080
3737
|
network: "الوصول إلى الشبكة",
|
|
@@ -3113,30 +3770,27 @@ const ar = {
|
|
|
3113
3770
|
storage: "التخزين",
|
|
3114
3771
|
other: "أخرى",
|
|
3115
3772
|
},
|
|
3116
|
-
pricing: {
|
|
3117
|
-
free: "مجاني",
|
|
3118
|
-
freemium: "مجاني جزئياً",
|
|
3119
|
-
paid: "مدفوع",
|
|
3120
|
-
subscription: "اشتراك",
|
|
3121
|
-
"usage-based": "حسب الاستخدام",
|
|
3122
|
-
"contact-sales": "تواصل مع المبيعات",
|
|
3123
|
-
},
|
|
3124
3773
|
relativeTime: {
|
|
3125
3774
|
today: "اليوم",
|
|
3126
3775
|
daysAgo: "منذ {{count}} ي",
|
|
3127
3776
|
monthsAgo: "منذ {{count}} شهر(أشهر)",
|
|
3777
|
+
monthsAgo_zero: "منذ {{count}} شهر",
|
|
3778
|
+
monthsAgo_one: "منذ {{count}} شهر",
|
|
3779
|
+
monthsAgo_two: "منذ شهرين ({{count}})",
|
|
3780
|
+
monthsAgo_few: "منذ {{count}} أشهر",
|
|
3781
|
+
monthsAgo_many: "منذ {{count}} شهرًا",
|
|
3782
|
+
monthsAgo_other: "منذ {{count}} شهر",
|
|
3128
3783
|
yearsAgo: "منذ {{count}} سنة(سنوات)",
|
|
3784
|
+
yearsAgo_zero: "منذ {{count}} سنة",
|
|
3785
|
+
yearsAgo_one: "منذ {{count}} سنة",
|
|
3786
|
+
yearsAgo_two: "منذ سنتين ({{count}})",
|
|
3787
|
+
yearsAgo_few: "منذ {{count}} سنوات",
|
|
3788
|
+
yearsAgo_many: "منذ {{count}} سنة",
|
|
3789
|
+
yearsAgo_other: "منذ {{count}} سنة",
|
|
3129
3790
|
},
|
|
3130
3791
|
},
|
|
3131
|
-
approvals: {
|
|
3132
|
-
approve: 'الموافقة',
|
|
3133
|
-
reject: 'رفض',
|
|
3134
|
-
comment: 'تعليق (اختياري)',
|
|
3135
|
-
approveSuccess: 'تمت الموافقة',
|
|
3136
|
-
rejectSuccess: 'تم الرفض',
|
|
3137
|
-
rejectConfirm: 'هل تريد رفض طلب الموافقة هذا؟',
|
|
3138
|
-
},
|
|
3139
3792
|
approvalsInbox: {
|
|
3793
|
+
recordUnresolvable: 'لا يمكن فتح هذا السجل',
|
|
3140
3794
|
loadMore: 'تحميل المزيد',
|
|
3141
3795
|
loadingMore: 'جارٍ التحميل…',
|
|
3142
3796
|
loadedOf: 'تم تحميل {{loaded}} من {{total}}',
|
|
@@ -3155,6 +3809,12 @@ const ar = {
|
|
|
3155
3809
|
requestInfoSent: 'أُعيد إلى مقدم الطلب لاستكمال المعلومات',
|
|
3156
3810
|
remindBtn: 'تذكير',
|
|
3157
3811
|
remindSuccess: 'أُرسل تذكير إلى {{count}} موافق',
|
|
3812
|
+
remindSuccess_zero: 'أُرسل تذكير إلى {{count}} موافق',
|
|
3813
|
+
remindSuccess_one: 'أُرسل تذكير إلى {{count}} موافق',
|
|
3814
|
+
remindSuccess_two: 'أُرسل تذكير إلى موافقَين ({{count}})',
|
|
3815
|
+
remindSuccess_few: 'أُرسل تذكير إلى {{count}} موافقين',
|
|
3816
|
+
remindSuccess_many: 'أُرسل تذكير إلى {{count}} موافقًا',
|
|
3817
|
+
remindSuccess_other: 'أُرسل تذكير إلى {{count}} موافق',
|
|
3158
3818
|
remindThrottled: 'أُرسل تذكير مؤخرًا — حاول لاحقًا.',
|
|
3159
3819
|
replyPlaceholder: 'الرد على هذا الطلب…',
|
|
3160
3820
|
slaRemaining: 'SLA المتبقي {{dur}}',
|
|
@@ -3171,6 +3831,12 @@ const ar = {
|
|
|
3171
3831
|
progressApprovals: 'الموافقات — {{got}} من {{need}}',
|
|
3172
3832
|
progressGroups: 'تقدم التوقيعات — {{got}} من {{need}} مجموعات',
|
|
3173
3833
|
progressEligible: '{{count}} معتمِد مؤهل',
|
|
3834
|
+
progressEligible_zero: '{{count}} معتمِد مؤهل',
|
|
3835
|
+
progressEligible_one: '{{count}} معتمِد مؤهل',
|
|
3836
|
+
progressEligible_two: 'معتمِدان مؤهلان ({{count}})',
|
|
3837
|
+
progressEligible_few: '{{count}} معتمِدين مؤهلين',
|
|
3838
|
+
progressEligible_many: '{{count}} معتمِدًا مؤهلًا',
|
|
3839
|
+
progressEligible_other: '{{count}} معتمِد مؤهل',
|
|
3174
3840
|
progressBar: 'تقدم القرار',
|
|
3175
3841
|
declaredActions: 'الإجراءات',
|
|
3176
3842
|
attachmentChip: 'مرفق',
|
|
@@ -3202,6 +3868,12 @@ const ar = {
|
|
|
3202
3868
|
filterCount: '{{shown}} من {{total}}',
|
|
3203
3869
|
selected: 'محدد',
|
|
3204
3870
|
actionableCount: '({{count}} قابلة للتنفيذ)',
|
|
3871
|
+
actionableCount_zero: '({{count}} قابلة للتنفيذ)',
|
|
3872
|
+
actionableCount_one: '({{count}} قابلة للتنفيذ)',
|
|
3873
|
+
actionableCount_two: '({{count}} قابلة للتنفيذ)',
|
|
3874
|
+
actionableCount_few: '({{count}} قابلة للتنفيذ)',
|
|
3875
|
+
actionableCount_many: '({{count}} قابلة للتنفيذ)',
|
|
3876
|
+
actionableCount_other: '({{count}} قابلة للتنفيذ)',
|
|
3205
3877
|
selectAll: 'تحديد الكل',
|
|
3206
3878
|
selectRow: 'تحديد الطلب',
|
|
3207
3879
|
colRequest: 'الطلب',
|
|
@@ -3242,12 +3914,19 @@ const ar = {
|
|
|
3242
3914
|
submittedAgo: 'قُدِّم {{when}}',
|
|
3243
3915
|
completedAt: 'اكتمل {{when}}',
|
|
3244
3916
|
waitingOn: 'بانتظار',
|
|
3917
|
+
approverNameSeparator: '، ',
|
|
3918
|
+
approverUnstaffed: '{{seat}} (لا يشغلها أحد حاليًا)',
|
|
3245
3919
|
history: 'النشاط',
|
|
3246
3920
|
noActions: 'لا إجراءات بعد.',
|
|
3247
3921
|
actSubmit: 'تقديم',
|
|
3248
3922
|
actApprove: 'موافقة',
|
|
3249
3923
|
actReject: 'رفض',
|
|
3250
3924
|
actRecall: 'سحب',
|
|
3925
|
+
overrideActionLabel: '{{action}} (تجاوز إداري)',
|
|
3926
|
+
overrideNotice: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تُنهى الخطوة فورًا ويُتخطّى كل موافِق لم يتصرف بعد. يُسجَّل القرار بوصفه تجاوزًا إداريًا.',
|
|
3927
|
+
overrideNoticeWho: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تُنهى الخطوة فورًا ويُتخطّى الموافقون الذين لم يتصرفوا بعد — {{who}}. يُسجَّل القرار بوصفه تجاوزًا إداريًا.',
|
|
3928
|
+
viaOverrideChip: 'تجاوز إداري',
|
|
3929
|
+
viaOverrideHint: 'لم يكن للمنفِّذ موقع موافِق في هذه الخطوة — سُمح له عبر مسار التجاوز الإداري.',
|
|
3251
3930
|
rawData: 'البيانات الخام (JSON)',
|
|
3252
3931
|
copy: 'نسخ',
|
|
3253
3932
|
copied: 'تم النسخ',
|
|
@@ -3268,11 +3947,35 @@ const ar = {
|
|
|
3268
3947
|
approveN: 'الموافقة على {{count}}',
|
|
3269
3948
|
rejectN: 'رفض {{count}}',
|
|
3270
3949
|
bulkApproveTitle: 'الموافقة على {{count}} طلبات؟',
|
|
3950
|
+
bulkApproveTitle_zero: 'الموافقة على {{count}} طلب؟',
|
|
3951
|
+
bulkApproveTitle_one: 'الموافقة على {{count}} طلب؟',
|
|
3952
|
+
bulkApproveTitle_two: 'الموافقة على طلبين ({{count}})؟',
|
|
3953
|
+
bulkApproveTitle_few: 'الموافقة على {{count}} طلبات؟',
|
|
3954
|
+
bulkApproveTitle_many: 'الموافقة على {{count}} طلبًا؟',
|
|
3955
|
+
bulkApproveTitle_other: 'الموافقة على {{count}} طلب؟',
|
|
3271
3956
|
bulkApproveBody: 'ستتم الموافقة على كل طلب بهويتك ويتابع التدفق عبر فرع الموافقة.',
|
|
3272
3957
|
bulkRejectTitle: 'رفض {{count}} طلبات؟',
|
|
3958
|
+
bulkRejectTitle_zero: 'رفض {{count}} طلب؟',
|
|
3959
|
+
bulkRejectTitle_one: 'رفض {{count}} طلب؟',
|
|
3960
|
+
bulkRejectTitle_two: 'رفض طلبين ({{count}})؟',
|
|
3961
|
+
bulkRejectTitle_few: 'رفض {{count}} طلبات؟',
|
|
3962
|
+
bulkRejectTitle_many: 'رفض {{count}} طلبًا؟',
|
|
3963
|
+
bulkRejectTitle_other: 'رفض {{count}} طلب؟',
|
|
3273
3964
|
bulkRejectBody: 'سيتم رفض الطلبات المحددة وإخطار مقدميها.',
|
|
3274
3965
|
bulkApproved: 'تمت الموافقة على {{count}} طلبات',
|
|
3966
|
+
bulkApproved_zero: 'تمت الموافقة على {{count}} طلب',
|
|
3967
|
+
bulkApproved_one: 'تمت الموافقة على {{count}} طلب',
|
|
3968
|
+
bulkApproved_two: 'تمت الموافقة على طلبين ({{count}})',
|
|
3969
|
+
bulkApproved_few: 'تمت الموافقة على {{count}} طلبات',
|
|
3970
|
+
bulkApproved_many: 'تمت الموافقة على {{count}} طلبًا',
|
|
3971
|
+
bulkApproved_other: 'تمت الموافقة على {{count}} طلب',
|
|
3275
3972
|
bulkRejected: 'تم رفض {{count}} طلبات',
|
|
3973
|
+
bulkRejected_zero: 'تم رفض {{count}} طلب',
|
|
3974
|
+
bulkRejected_one: 'تم رفض {{count}} طلب',
|
|
3975
|
+
bulkRejected_two: 'تم رفض طلبين ({{count}})',
|
|
3976
|
+
bulkRejected_few: 'تم رفض {{count}} طلبات',
|
|
3977
|
+
bulkRejected_many: 'تم رفض {{count}} طلبًا',
|
|
3978
|
+
bulkRejected_other: 'تم رفض {{count}} طلب',
|
|
3276
3979
|
bulkPartial: 'نجح {{ok}}، فشل {{fail}}: {{which}}',
|
|
3277
3980
|
rejectOneTitle: 'رفض "{{title}}"؟',
|
|
3278
3981
|
rejectOneBody: 'سيتم رفض الطلب وإخطار مقدمه.',
|
|
@@ -3297,8 +4000,26 @@ const ar = {
|
|
|
3297
4000
|
alreadyDecided: 'تم البت في هذا الطلب بالفعل. حدّث القائمة.',
|
|
3298
4001
|
justNow: 'الآن',
|
|
3299
4002
|
minutesAgo: 'قبل {{count}} دقيقة',
|
|
4003
|
+
minutesAgo_zero: 'قبل {{count}} دقيقة',
|
|
4004
|
+
minutesAgo_one: 'قبل {{count}} دقيقة',
|
|
4005
|
+
minutesAgo_two: 'قبل دقيقتين ({{count}})',
|
|
4006
|
+
minutesAgo_few: 'قبل {{count}} دقائق',
|
|
4007
|
+
minutesAgo_many: 'قبل {{count}} دقيقة',
|
|
4008
|
+
minutesAgo_other: 'قبل {{count}} دقيقة',
|
|
3300
4009
|
hoursAgo: 'قبل {{count}} ساعة',
|
|
4010
|
+
hoursAgo_zero: 'قبل {{count}} ساعة',
|
|
4011
|
+
hoursAgo_one: 'قبل {{count}} ساعة',
|
|
4012
|
+
hoursAgo_two: 'قبل ساعتين ({{count}})',
|
|
4013
|
+
hoursAgo_few: 'قبل {{count}} ساعات',
|
|
4014
|
+
hoursAgo_many: 'قبل {{count}} ساعة',
|
|
4015
|
+
hoursAgo_other: 'قبل {{count}} ساعة',
|
|
3301
4016
|
daysAgo: 'قبل {{count}} يوم',
|
|
4017
|
+
daysAgo_zero: 'قبل {{count}} يوم',
|
|
4018
|
+
daysAgo_one: 'قبل {{count}} يوم',
|
|
4019
|
+
daysAgo_two: 'قبل يومين ({{count}})',
|
|
4020
|
+
daysAgo_few: 'قبل {{count}} أيام',
|
|
4021
|
+
daysAgo_many: 'قبل {{count}} يومًا',
|
|
4022
|
+
daysAgo_other: 'قبل {{count}} يوم',
|
|
3302
4023
|
},
|
|
3303
4024
|
preview: {
|
|
3304
4025
|
empty: {
|
|
@@ -3333,7 +4054,24 @@ const ar = {
|
|
|
3333
4054
|
detailNone: 'لم يتم اكتشاف اختلافات — المسودة مطابقة للنسخة المنشورة.',
|
|
3334
4055
|
detailChangedKeys: 'تغييرات أخرى:',
|
|
3335
4056
|
confirmNote: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4057
|
+
confirmNote_zero: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4058
|
+
confirmNote_one: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4059
|
+
confirmNote_two: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4060
|
+
confirmNote_few: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4061
|
+
confirmNote_many: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4062
|
+
confirmNote_other: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
3336
4063
|
publishConfirm: 'نشر الكل',
|
|
4064
|
+
// [`7a90afdf9`] Pre-publish security-posture findings, shown next to
|
|
4065
|
+
// the confirm button so a refusal the door would issue is read BEFORE
|
|
4066
|
+
// the click rather than as a toast after the batch rolled back.
|
|
4067
|
+
securityBlockTitle: 'سيتم رفض النشر — {{count}} عنصر (عناصر) بحاجة إلى قرار أولاً',
|
|
4068
|
+
securityBlockTitle_zero: 'سيتم رفض النشر — {{count}} عنصر بحاجة إلى قرار أولاً',
|
|
4069
|
+
securityBlockTitle_one: 'سيتم رفض النشر — {{count}} عنصر بحاجة إلى قرار أولاً',
|
|
4070
|
+
securityBlockTitle_two: 'سيتم رفض النشر — عنصران ({{count}}) بحاجة إلى قرار أولاً',
|
|
4071
|
+
securityBlockTitle_few: 'سيتم رفض النشر — {{count}} عناصر بحاجة إلى قرار أولاً',
|
|
4072
|
+
securityBlockTitle_many: 'سيتم رفض النشر — {{count}} عنصرًا بحاجة إلى قرار أولاً',
|
|
4073
|
+
securityBlockTitle_other: 'سيتم رفض النشر — {{count}} عنصر بحاجة إلى قرار أولاً',
|
|
4074
|
+
securityBlockWhere: 'أصلحه في الكائن ضمن الإعدادات ← مشاركة السجلات، ثم انشر مرة أخرى.',
|
|
3337
4075
|
},
|
|
3338
4076
|
// ADR-0045 — the materialized-but-unlisted app banner
|
|
3339
4077
|
// (UnpublishedAppBar.tsx), sibling of draftBar above.
|
|
@@ -3357,7 +4095,7 @@ const ar = {
|
|
|
3357
4095
|
revertLabel: 'تم التراجع عن تغيير',
|
|
3358
4096
|
applyLabel: 'تغيير من البناء',
|
|
3359
4097
|
revert: 'تراجع',
|
|
3360
|
-
items: '
|
|
4098
|
+
items: 'العناصر: {{count}}',
|
|
3361
4099
|
revertAction: 'تراجع',
|
|
3362
4100
|
reverted: 'تم التراجع — أُلغي التغيير.',
|
|
3363
4101
|
revertFailed: 'فشل التراجع',
|
|
@@ -3380,22 +4118,33 @@ const ar = {
|
|
|
3380
4118
|
noResults: "لا توجد نتائج",
|
|
3381
4119
|
searchField: "بحث {{label}}…",
|
|
3382
4120
|
enterId: "أدخل معرّف {{label}}",
|
|
4121
|
+
addValue: "أدخل قيمة ثم اضغط Enter",
|
|
4122
|
+
removeValue: "إزالة {{value}}",
|
|
4123
|
+
rangeStart: "من",
|
|
4124
|
+
rangeEnd: "إلى",
|
|
3383
4125
|
operators: {
|
|
3384
4126
|
equals: "يساوي",
|
|
3385
|
-
|
|
4127
|
+
not_equals: "لا يساوي",
|
|
3386
4128
|
contains: "يحتوي",
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
4129
|
+
icontains: "يحتوي (مع تجاهل حالة الأحرف)",
|
|
4130
|
+
not_contains: "لا يحتوي",
|
|
4131
|
+
is_empty: "فارغ",
|
|
4132
|
+
is_not_empty: "غير فارغ",
|
|
4133
|
+
greater_than: "أكبر من",
|
|
4134
|
+
less_than: "أصغر من",
|
|
4135
|
+
greater_than_or_equal: "أكبر من أو يساوي",
|
|
4136
|
+
less_than_or_equal: "أصغر من أو يساوي",
|
|
3394
4137
|
before: "قبل",
|
|
3395
4138
|
after: "بعد",
|
|
3396
4139
|
between: "بين",
|
|
3397
4140
|
in: "ضمن",
|
|
3398
|
-
|
|
4141
|
+
not_in: "ليس ضمن",
|
|
4142
|
+
starts_with: "يبدأ بـ",
|
|
4143
|
+
ends_with: "ينتهي بـ",
|
|
4144
|
+
is_null: "يساوي null",
|
|
4145
|
+
is_not_null: "لا يساوي null",
|
|
4146
|
+
exists: "محدد",
|
|
4147
|
+
notExists: "غير محدد",
|
|
3399
4148
|
},
|
|
3400
4149
|
},
|
|
3401
4150
|
sortBuilder: {
|
|
@@ -3408,8 +4157,16 @@ const ar = {
|
|
|
3408
4157
|
removeSort: "إزالة الترتيب",
|
|
3409
4158
|
},
|
|
3410
4159
|
collaboration: {
|
|
3411
|
-
commentCount
|
|
3412
|
-
|
|
4160
|
+
// objectui#11445 — `commentCount` and `reactionCount` below are count
|
|
4161
|
+
// families: each of the six CLDR slots carries its own noun form, and the
|
|
4162
|
+
// base key, a count label, answers a call made without a count.
|
|
4163
|
+
commentCount: "عدد التعليقات: {{count}}",
|
|
4164
|
+
commentCount_zero: "{{count}} تعليق",
|
|
4165
|
+
commentCount_one: "{{count}} تعليق",
|
|
4166
|
+
commentCount_two: "تعليقان ({{count}})",
|
|
4167
|
+
commentCount_few: "{{count}} تعليقات",
|
|
4168
|
+
commentCount_many: "{{count}} تعليقًا",
|
|
4169
|
+
commentCount_other: "{{count}} تعليق",
|
|
3413
4170
|
resolvedSuffix: " · تم الحل",
|
|
3414
4171
|
sortComments: "ترتيب التعليقات",
|
|
3415
4172
|
sortOldest: "الأقدم أولاً",
|
|
@@ -3418,11 +4175,34 @@ const ar = {
|
|
|
3418
4175
|
reopen: "إعادة الفتح",
|
|
3419
4176
|
justNow: "الآن",
|
|
3420
4177
|
minutesAgo: "قبل {{count}} دقيقة",
|
|
4178
|
+
minutesAgo_zero: "قبل {{count}} دقيقة",
|
|
4179
|
+
minutesAgo_one: "قبل {{count}} دقيقة",
|
|
4180
|
+
minutesAgo_two: "قبل دقيقتين ({{count}})",
|
|
4181
|
+
minutesAgo_few: "قبل {{count}} دقائق",
|
|
4182
|
+
minutesAgo_many: "قبل {{count}} دقيقة",
|
|
4183
|
+
minutesAgo_other: "قبل {{count}} دقيقة",
|
|
3421
4184
|
hoursAgo: "قبل {{count}} ساعة",
|
|
4185
|
+
hoursAgo_zero: "قبل {{count}} ساعة",
|
|
4186
|
+
hoursAgo_one: "قبل {{count}} ساعة",
|
|
4187
|
+
hoursAgo_two: "قبل ساعتين ({{count}})",
|
|
4188
|
+
hoursAgo_few: "قبل {{count}} ساعات",
|
|
4189
|
+
hoursAgo_many: "قبل {{count}} ساعة",
|
|
4190
|
+
hoursAgo_other: "قبل {{count}} ساعة",
|
|
3422
4191
|
daysAgo: "قبل {{count}} يوم",
|
|
4192
|
+
daysAgo_zero: "قبل {{count}} يوم",
|
|
4193
|
+
daysAgo_one: "قبل {{count}} يوم",
|
|
4194
|
+
daysAgo_two: "قبل يومين ({{count}})",
|
|
4195
|
+
daysAgo_few: "قبل {{count}} أيام",
|
|
4196
|
+
daysAgo_many: "قبل {{count}} يومًا",
|
|
4197
|
+
daysAgo_other: "قبل {{count}} يوم",
|
|
3423
4198
|
edited: "(تم التعديل)",
|
|
3424
|
-
reactionCount: "{{count}}
|
|
3425
|
-
|
|
4199
|
+
reactionCount: "عدد التفاعلات: {{count}}",
|
|
4200
|
+
reactionCount_zero: "{{count}} تفاعل",
|
|
4201
|
+
reactionCount_one: "{{count}} تفاعل",
|
|
4202
|
+
reactionCount_two: "تفاعلان ({{count}})",
|
|
4203
|
+
reactionCount_few: "{{count}} تفاعلات",
|
|
4204
|
+
reactionCount_many: "{{count}} تفاعلًا",
|
|
4205
|
+
reactionCount_other: "{{count}} تفاعل",
|
|
3426
4206
|
addThumbsUp: "إضافة إعجاب",
|
|
3427
4207
|
reply: "رد",
|
|
3428
4208
|
reactThumbsUp: "التفاعل بإعجاب",
|
|
@@ -3432,10 +4212,22 @@ const ar = {
|
|
|
3432
4212
|
replyingToComment: "الرد على التعليق…",
|
|
3433
4213
|
commentPlaceholder: "أضف تعليقًا… (استخدم @ للإشارة)",
|
|
3434
4214
|
send: "إرسال",
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
|
|
3438
|
-
|
|
4215
|
+
// objectui#11445 — the presence stack's name and its overflow badge are
|
|
4216
|
+
// count families too.
|
|
4217
|
+
presentUserCount: "عدد المستخدمين المتواجدين: {{count}}",
|
|
4218
|
+
presentUserCount_zero: "{{count}} مستخدم متواجد",
|
|
4219
|
+
presentUserCount_one: "{{count}} مستخدم متواجد",
|
|
4220
|
+
presentUserCount_two: "مستخدمان متواجدان ({{count}})",
|
|
4221
|
+
presentUserCount_few: "{{count}} مستخدمين متواجدين",
|
|
4222
|
+
presentUserCount_many: "{{count}} مستخدمًا متواجدًا",
|
|
4223
|
+
presentUserCount_other: "{{count}} مستخدم متواجد",
|
|
4224
|
+
moreUserCount: "عدد المستخدمين الآخرين: {{count}}",
|
|
4225
|
+
moreUserCount_zero: "{{count}} مستخدم آخر",
|
|
4226
|
+
moreUserCount_one: "{{count}} مستخدم آخر",
|
|
4227
|
+
moreUserCount_two: "مستخدمان آخران ({{count}})",
|
|
4228
|
+
moreUserCount_few: "{{count}} مستخدمين آخرين",
|
|
4229
|
+
moreUserCount_many: "{{count}} مستخدمًا آخر",
|
|
4230
|
+
moreUserCount_other: "{{count}} مستخدم آخر",
|
|
3439
4231
|
userStatusTitle: "{{name}} ({{status}})",
|
|
3440
4232
|
statusActive: "نشط",
|
|
3441
4233
|
statusIdle: "خامل",
|
|
@@ -3443,6 +4235,18 @@ const ar = {
|
|
|
3443
4235
|
},
|
|
3444
4236
|
wizard: {
|
|
3445
4237
|
missingRequired: "يرجى إكمال الحقول المطلوبة: {{fields}}",
|
|
4238
|
+
back: "رجوع",
|
|
4239
|
+
submitting: "جارٍ الإرسال…",
|
|
4240
|
+
stepFallback: "الخطوة {{n}}",
|
|
4241
|
+
progressLabel: "التقدم",
|
|
4242
|
+
emptyStep: "لا توجد حقول مهيأة لهذه الخطوة",
|
|
4243
|
+
},
|
|
4244
|
+
flowRunner: {
|
|
4245
|
+
title: 'إدخال',
|
|
4246
|
+
submitting: 'جارٍ الإرسال…',
|
|
4247
|
+
saveAndContinue: 'حفظ ومتابعة',
|
|
4248
|
+
nextStep: 'تم الحفظ — الخطوة التالية',
|
|
4249
|
+
completed: 'اكتمل التدفق «{{flow}}»',
|
|
3446
4250
|
},
|
|
3447
4251
|
appManagement: {
|
|
3448
4252
|
title: "التطبيقات",
|
|
@@ -3493,5 +4297,49 @@ const ar = {
|
|
|
3493
4297
|
bulkOperationFailed: "فشلت العملية الجماعية: {{reason}}",
|
|
3494
4298
|
},
|
|
3495
4299
|
},
|
|
4300
|
+
// objectui#6301 — الإعداد › أتمتة الحزم (ADR-0126 §7.4). المصطلحات كما في
|
|
4301
|
+
// بقية الحزمة: `common.package` = الحزمة، و`flowRunner.completed` = التدفق،
|
|
4302
|
+
// وعلامات الاقتباس «…». ⛔ لا توجد صياغة عن الأصل أو الانحراف في هذه
|
|
4303
|
+
// المجموعة (§9).
|
|
4304
|
+
packagedAutomation: {
|
|
4305
|
+
title: "أتمتة الحزم",
|
|
4306
|
+
subtitle: "تدفقات وإجراءات تأتي مع الحزم المثبّتة. يمكنك إيقاف أي منها في هذا النشر، أو استنساخ تدفق باسم جديد لتخصيصه. التحرير يتم في Studio.",
|
|
4307
|
+
refresh: "تحديث",
|
|
4308
|
+
flowsHeading: "تدفقات الحزم",
|
|
4309
|
+
actionsHeading: "إجراءات الحزم",
|
|
4310
|
+
colFlow: "التدفق",
|
|
4311
|
+
colActivation: "التفعيل",
|
|
4312
|
+
colActions: "إجراءات",
|
|
4313
|
+
toggleLabel: "تفعيل {{label}}",
|
|
4314
|
+
on: "مفعل",
|
|
4315
|
+
off: "إيقاف",
|
|
4316
|
+
clone: "استنساخ",
|
|
4317
|
+
cloneTitle: "استنساخ تدفق الحزمة",
|
|
4318
|
+
cloneBody: "تحتفظ النسخة بالتعريف كاملاً وتتطلب اسم آلة وتسمية جديدين. حرّر النسخة في Studio.",
|
|
4319
|
+
cloneName: "اسم آلة جديد",
|
|
4320
|
+
cloneLabel: "تسمية جديدة",
|
|
4321
|
+
cancel: "إلغاء",
|
|
4322
|
+
cloneConfirm: "إنشاء نسخة",
|
|
4323
|
+
cloneCreated: "تم إنشاء التدفق «{{name}}».",
|
|
4324
|
+
emptyTitle: "لا توجد تدفقات من الحزم",
|
|
4325
|
+
emptyBody: "لا توجد حزمة مثبّتة توفّر تدفق أتمتة في هذا النشر. التدفقات التي تنشئها بنفسك موجودة في Studio.",
|
|
4326
|
+
loadFailed: "تعذّر تحميل أتمتة الحزم.",
|
|
4327
|
+
toggleFailedHttp: "تعذّر تغيير التفعيل (HTTP {{status}}).",
|
|
4328
|
+
toggleFailed: "تعذّر تغيير التفعيل.",
|
|
4329
|
+
cloneFailedHttp: "تعذّر استنساخ هذا التدفق (HTTP {{status}}).",
|
|
4330
|
+
cloneFailed: "تعذّر استنساخ هذا التدفق.",
|
|
4331
|
+
actionsSubtitle: "إجراءات تأتي مع الحزم المثبّتة. أوقف أحدها في هذا النشر فيتوقف عن العمل في كل مكان يُعرض فيه. ويبقى بإمكانك إنشاء إجراء خاص بك إلى جانبه في Studio.",
|
|
4332
|
+
colAction: "الإجراء",
|
|
4333
|
+
colObject: "الكائن",
|
|
4334
|
+
actionToggleLabel: "تفعيل {{label}} على {{object}}",
|
|
4335
|
+
actionsEmptyTitle: "لا توجد إجراءات من الحزم",
|
|
4336
|
+
actionsEmptyBody: "لا توجد حزمة مثبّتة تعلن عن إجراء في هذا النشر. الإجراءات التي تنشئها بنفسك موجودة في Studio.",
|
|
4337
|
+
actionsLoadFailed: "تعذّر تحميل إجراءات الحزم.",
|
|
4338
|
+
},
|
|
4339
|
+
element: {
|
|
4340
|
+
number: {
|
|
4341
|
+
noObject: "لم يُحدَّد أي كائن: عيّن object أو dataSource.object.",
|
|
4342
|
+
},
|
|
4343
|
+
},
|
|
3496
4344
|
};
|
|
3497
4345
|
export default ar;
|