@object-ui/i18n 17.6.0 → 18.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5408 -0
- package/README.md +255 -13
- package/dist/LocalizationContext.d.ts +32 -9
- package/dist/LocalizationContext.js +32 -10
- 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 +27 -1
- package/dist/i18n.js +99 -16
- package/dist/index.d.ts +8 -13
- package/dist/index.js +45 -17
- package/dist/locales/ar.d.ts +1504 -188
- package/dist/locales/ar.js +1711 -281
- package/dist/locales/de.d.ts +1080 -188
- package/dist/locales/de.js +1248 -261
- package/dist/locales/en.d.ts +1141 -249
- package/dist/locales/en.js +1714 -295
- package/dist/locales/es.d.ts +1186 -188
- package/dist/locales/es.js +1350 -255
- package/dist/locales/fr.d.ts +1186 -188
- package/dist/locales/fr.js +1351 -258
- package/dist/locales/index.d.ts +11940 -2033
- package/dist/locales/index.js +48 -9
- package/dist/locales/ja.d.ts +1080 -188
- package/dist/locales/ja.js +1240 -254
- package/dist/locales/ko.d.ts +1080 -188
- package/dist/locales/ko.js +1244 -258
- package/dist/locales/pt.d.ts +1186 -188
- package/dist/locales/pt.js +1350 -255
- 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 +1292 -188
- package/dist/locales/ru.js +1479 -272
- package/dist/locales/zh.d.ts +1144 -252
- package/dist/locales/zh.js +1245 -259
- package/dist/pickLocalized.d.ts +30 -0
- package/dist/pickLocalized.js +39 -0
- package/dist/provider.d.ts +101 -12
- 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 +11 -0
- package/dist/useObjectLabel.d.ts +143 -100
- package/dist/useObjectLabel.js +129 -82
- package/dist/useSafeTranslation.js +40 -42
- package/dist/utils/first-day-of-week.d.ts +71 -0
- package/dist/utils/first-day-of-week.js +61 -0
- package/dist/utils/formatting.d.ts +23 -1
- package/dist/utils/formatting.js +34 -5
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- 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
|
@@ -13,16 +13,19 @@ const ar = {
|
|
|
13
13
|
notRestored: 'قبل الخادم الطلب لكنه لم يستعد جلسة المسؤول — ما زلت تنتحل هوية {{user}}. سجّل الخروج ثم الدخول مرة أخرى لإنهائها.',
|
|
14
14
|
},
|
|
15
15
|
},
|
|
16
|
-
// objectui#2600 B5 — capability picker scope group headers (labels come from the
|
|
16
|
+
// objectui#2600 B5 — capability picker scope group headers (labels come from the capability registry).
|
|
17
17
|
capability: {
|
|
18
18
|
label: {
|
|
19
19
|
manage_users: "إدارة المستخدمين",
|
|
20
20
|
manage_org_users: "إدارة مستخدمي المؤسسة",
|
|
21
21
|
manage_metadata: "إدارة البيانات الوصفية",
|
|
22
|
+
manage_mailboxes: "إدارة صناديق البريد",
|
|
22
23
|
manage_platform_settings: "إدارة إعدادات المنصة",
|
|
23
24
|
setup_access: "الوصول إلى الإعداد",
|
|
24
25
|
setup_write: "كتابة الإعدادات",
|
|
25
26
|
studio_access: "الوصول إلى Studio",
|
|
27
|
+
manage_sharing: "إدارة المشاركة",
|
|
28
|
+
view_all_audit_log: "عرض سجل التدقيق بالكامل",
|
|
26
29
|
},
|
|
27
30
|
group: {
|
|
28
31
|
platform: 'منصة',
|
|
@@ -30,30 +33,6 @@ const ar = {
|
|
|
30
33
|
other: 'أخرى',
|
|
31
34
|
},
|
|
32
35
|
},
|
|
33
|
-
// objectui#3546 slice six — ملخص للقراءة فقط لأوجه التخويل الستة في
|
|
34
|
-
// PermissionFacetLink، مع رابط التصميم في Studio.
|
|
35
|
-
//
|
|
36
|
-
// صيغة العدد تتبع نمط الحزمة نفسه: «{{count}} مفرد(جمع)» كما في
|
|
37
|
-
// appDesigner.objectManager.fieldCount و table.modified. المفتاح الأساسي هو
|
|
38
|
-
// ما تلجأ إليه فئات two/few/many/zero غير المعرّفة، فيظل النص عربيًا.
|
|
39
|
-
// لا نعكس سهم روابط الإجراء: يبقى كما في en، مثل marketplace.browseLink.
|
|
40
|
-
perm: {
|
|
41
|
-
facet: {
|
|
42
|
-
none: "لا شيء",
|
|
43
|
-
more: "+{{count}} المزيد",
|
|
44
|
-
objects: "{{count}} كائن(كائنات)",
|
|
45
|
-
objects_one: "{{count}} كائن",
|
|
46
|
-
fields: "{{count}} قاعدة(قواعد) حقول",
|
|
47
|
-
fields_one: "{{count}} قاعدة حقول",
|
|
48
|
-
rls: "{{count}} سياسة(سياسات) RLS",
|
|
49
|
-
rls_one: "{{count}} سياسة RLS",
|
|
50
|
-
tabs: "{{count}} قاعدة(قواعد) تبويب",
|
|
51
|
-
tabs_one: "{{count}} قاعدة تبويب",
|
|
52
|
-
adminScope: "تم تكوين الإدارة المفوَّضة",
|
|
53
|
-
designInStudio: "التصميم في Studio →",
|
|
54
|
-
designInStudioHint: "التصميم في Studio",
|
|
55
|
-
},
|
|
56
|
-
},
|
|
57
36
|
lookup: {
|
|
58
37
|
recentlyUsed: 'المستخدمة مؤخرًا',
|
|
59
38
|
allResults: 'كل النتائج',
|
|
@@ -66,8 +45,16 @@ const ar = {
|
|
|
66
45
|
remove: 'إزالة {{label}}',
|
|
67
46
|
selectFirst: 'اختر {{fields}} أولاً',
|
|
68
47
|
selectRecord: 'اختيار سجل',
|
|
69
|
-
|
|
70
|
-
|
|
48
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
49
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
50
|
+
// without a count.
|
|
51
|
+
recordCount: 'عدد السجلات: {{count}}',
|
|
52
|
+
recordCount_zero: '{{count}} سجل',
|
|
53
|
+
recordCount_one: '{{count}} سجل',
|
|
54
|
+
recordCount_two: 'سجلان ({{count}})',
|
|
55
|
+
recordCount_few: '{{count}} سجلات',
|
|
56
|
+
recordCount_many: '{{count}} سجلًا',
|
|
57
|
+
recordCount_other: '{{count}} سجل',
|
|
71
58
|
pageOf: 'صفحة {{current}} من {{total}}',
|
|
72
59
|
filters: 'عوامل التصفية',
|
|
73
60
|
clear: 'مسح',
|
|
@@ -84,7 +71,7 @@ const ar = {
|
|
|
84
71
|
common: {
|
|
85
72
|
addToFavorites: "إضافة إلى المفضلة",
|
|
86
73
|
removeFromFavorites: "إزالة من المفضلة",
|
|
87
|
-
loading: "
|
|
74
|
+
loading: "جارٍ التحميل…",
|
|
88
75
|
save: "حفظ",
|
|
89
76
|
discard: "تجاهل",
|
|
90
77
|
cancel: "إلغاء",
|
|
@@ -119,15 +106,34 @@ const ar = {
|
|
|
119
106
|
closeChat: "إغلاق المحادثة",
|
|
120
107
|
closePanel: "إغلاق اللوحة",
|
|
121
108
|
resizeDrawer: "تغيير عرض اللوحة",
|
|
122
|
-
|
|
123
|
-
|
|
109
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
110
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
111
|
+
// without a count.
|
|
112
|
+
itemCount: "عدد العناصر: {{count}}",
|
|
113
|
+
itemCount_zero: "{{count}} عنصر",
|
|
114
|
+
itemCount_one: "{{count}} عنصر",
|
|
115
|
+
itemCount_two: "عنصران ({{count}})",
|
|
116
|
+
itemCount_few: "{{count}} عناصر",
|
|
117
|
+
itemCount_many: "{{count}} عنصرًا",
|
|
118
|
+
itemCount_other: "{{count}} عنصر",
|
|
124
119
|
toggleSidebar: "تبديل الشريط الجانبي",
|
|
120
|
+
breadcrumb: "مسار التنقل",
|
|
125
121
|
package: "الحزمة",
|
|
126
122
|
done: "تم",
|
|
127
123
|
editInStudio: "التعديل في Studio",
|
|
128
124
|
record: "سجل",
|
|
129
125
|
retry: "إعادة المحاولة",
|
|
130
126
|
printDialogHint: "يفتح مربع حوار الطباعة في المتصفح (ليس تصديرًا إلى PDF)",
|
|
127
|
+
// The non-grid row ceiling's footnote (objectui#7210). Two keys because
|
|
128
|
+
// there are two conditions: a reported `total` states the fact with BOTH
|
|
129
|
+
// numbers, a missing one cannot name how many. Kept terse deliberately —
|
|
130
|
+
// this copy is eagerly loaded, and since objectui#7399 these bytes are
|
|
131
|
+
// budgeted by the `i18n-locales` chunk, not `framework`. ⛔ That ceiling's
|
|
132
|
+
// headroom is deliberately NOT restated here — it moves on every
|
|
133
|
+
// re-baseline, and the figure that was here went stale.
|
|
134
|
+
// `pnpm check:eager-closure` prints it.
|
|
135
|
+
rowCeilingNote: "يتم عرض أول {{shown}} من أصل {{total}} سجل. ضيّق عامل التصفية.",
|
|
136
|
+
rowCeilingNoteUnknownTotal: "يتم عرض أول {{shown}} سجل. ضيّق عامل التصفية.",
|
|
131
137
|
},
|
|
132
138
|
actions: {
|
|
133
139
|
decisionOutput: {
|
|
@@ -139,6 +145,15 @@ const ar = {
|
|
|
139
145
|
acknowledge: 'لقد حفظتها',
|
|
140
146
|
copyAll: 'نسخ الكل',
|
|
141
147
|
},
|
|
148
|
+
notAvailableHere: '"{{action}}" غير متاح في الصفحة الحالية.',
|
|
149
|
+
notAvailableForRecord: 'غير متاح لهذا السجل',
|
|
150
|
+
completedSuccessfully: 'اكتمل الإجراء بنجاح',
|
|
151
|
+
failed: 'فشل الإجراء',
|
|
152
|
+
parallelFailed: 'فشل إجراء متوازٍ واحد أو أكثر',
|
|
153
|
+
undo: 'تراجع',
|
|
154
|
+
undone: 'تم التراجع عن التغيير',
|
|
155
|
+
undoneOperation: 'تراجع: {{description}}',
|
|
156
|
+
redoneOperation: 'إعادة: {{description}}',
|
|
142
157
|
},
|
|
143
158
|
validation: {
|
|
144
159
|
required: "{{field}} مطلوب",
|
|
@@ -156,19 +171,47 @@ const ar = {
|
|
|
156
171
|
},
|
|
157
172
|
form: {
|
|
158
173
|
noPermissionToSave: "ليس لديك إذن لحفظ هذا السجل.",
|
|
174
|
+
noPermissionToCreate: "ليس لديك إذن لإنشاء سجلات {{object}}. الحقول للقراءة فقط.",
|
|
175
|
+
noPermissionToEdit: "ليس لديك إذن لتعديل سجلات {{object}}. الحقول للقراءة فقط.",
|
|
159
176
|
submitFailed: "تعذّر الحفظ. يرجى المحاولة مرة أخرى.",
|
|
177
|
+
uploadInFlight: "انتظر حتى ينتهي الرفع قبل الحفظ.",
|
|
178
|
+
clearedOnHide: "تم مسح ما لم يعد ينطبق على القيم الحالية: {{fields}}",
|
|
179
|
+
visibleWhenFaulted: "تعذّر الإرسال: تعذّر تقييم قاعدة visibleWhen لـ {{fields}}. يجب إصلاح القاعدة قبل أن يصبح إرسال هذا النموذج ممكنًا.",
|
|
160
180
|
discardTitle: "تجاهل التغييرات؟",
|
|
161
181
|
discardMessage: "لديك تغييرات غير محفوظة. إذا أغلقت هذا النموذج الآن، ستفقد تعديلاتك.",
|
|
162
182
|
// objectui#4024 — the create/edit dialog's `sr-only` accessible
|
|
163
183
|
// description, used when the form declares no `description` of its own.
|
|
164
184
|
dialogDescriptionFallback: "املأ حقول النموذج ثم أرسل أو ألغِ.",
|
|
185
|
+
deniedDescription: "ليس لديك إذن لتعديل هذا الحقل.",
|
|
186
|
+
serverDefaultHint: "يُعيَّن تلقائيًا عند الحفظ.",
|
|
187
|
+
maxFileSize: "الحجم الأقصى: {{size}}",
|
|
188
|
+
masterDetail: {
|
|
189
|
+
loadingColumns: "جارٍ تحميل الأعمدة…",
|
|
190
|
+
subtotal: "المجموع الفرعي",
|
|
191
|
+
tax: "الضريبة ({{rate}}%)",
|
|
192
|
+
total: "الإجمالي",
|
|
193
|
+
lineItem: "بند",
|
|
194
|
+
rowTitle: "{{title}} — الصف {{row}}",
|
|
195
|
+
applyRow: "تطبيق",
|
|
196
|
+
editorDescription: "أدخل السجل وبنوده ثم احفظ.",
|
|
197
|
+
noChildObject: "لم يُكوَّن كائن فرعي لهذه المجموعة: عيّن {{property}} إلى الكائن الذي تسرد صفوفه.",
|
|
198
|
+
schemaUnavailable: "تعذّر تحميل مخطط {{object}}، لذا لا توجد أعمدة لعرضها في هذه المجموعة. تحقّق من أن الكائن موجود وقابل للقراءة، ثم أعد التحميل.",
|
|
199
|
+
noRelationshipField: "تعذّر تحديد كيفية ارتباط {{object}} بـ {{parent}}: لا يوجد فيه حقل lookup أو master_detail يشير إلى الكائن الأصل. عيّن {{property}} في هذه المجموعة إلى الحقل الذي يحمل السجل الأصل.",
|
|
200
|
+
},
|
|
201
|
+
lineItems: {
|
|
202
|
+
title: "البنود",
|
|
203
|
+
saveRecordFirst: "احفظ السجل أولًا لإضافة البنود.",
|
|
204
|
+
notLoaded: "لم يتم تحميل بنود هذا السجل.",
|
|
205
|
+
loadFailed: "تعذّر تحميل البنود",
|
|
206
|
+
saveFailed: "تعذّر حفظ البنود",
|
|
207
|
+
noChildObject: "لم يُكوَّن كائن فرعي لهذه اللوحة: عيّن {{property}} إلى الكائن الذي تسرد صفوفه.",
|
|
208
|
+
},
|
|
165
209
|
keepEditing: "متابعة التحرير",
|
|
166
210
|
discard: "تجاهل",
|
|
167
211
|
conflictTitle: "تعارض في الحفظ",
|
|
168
212
|
conflictMessage: "قام شخص آخر بتغيير هذا السجل أثناء تحريرك. الكتابة فوقه ستستبدل تغييراته بتغييراتك.",
|
|
169
213
|
conflictLatestVersion: "وقت حفظه: {{time}}",
|
|
170
214
|
conflictOverwrite: "الكتابة فوقه",
|
|
171
|
-
addItem: "إضافة عنصر",
|
|
172
215
|
removeItem: "إزالة عنصر",
|
|
173
216
|
fieldRequired: "هذا الحقل مطلوب",
|
|
174
217
|
invalidFormat: "صيغة غير صالحة",
|
|
@@ -186,6 +229,12 @@ const ar = {
|
|
|
186
229
|
createSuccess: "تم إنشاء {{object}}",
|
|
187
230
|
updateSuccess: "تم تحديث {{object}}",
|
|
188
231
|
deleteSuccess: "تم حذف {{object}}",
|
|
232
|
+
created: "تم الإنشاء",
|
|
233
|
+
saved: "تم الحفظ",
|
|
234
|
+
savedNamed: "تم حفظ {{title}}",
|
|
235
|
+
submitted: "تم الإرسال",
|
|
236
|
+
errorLoading: "خطأ في تحميل النموذج",
|
|
237
|
+
navigateRefused: "تم رفض وجهة `navigateOnSuccess` المعلنة لهذا النموذج، لذلك لم يتم الانتقال.",
|
|
189
238
|
fullscreen: {
|
|
190
239
|
title: "تحرير النص",
|
|
191
240
|
description: "حرّر قيمة النص الكاملة، ثم احفظ التغييرات أو ألغِها.",
|
|
@@ -204,12 +253,22 @@ const ar = {
|
|
|
204
253
|
remove: "إزالة الصورة {{index}}",
|
|
205
254
|
enlarge: "تكبير {{name}}",
|
|
206
255
|
preview: "معاينة الصورة",
|
|
256
|
+
cropPreview: "معاينة قص الصورة",
|
|
207
257
|
previous: "الصورة السابقة",
|
|
208
258
|
next: "الصورة التالية",
|
|
209
259
|
counter: "{{current}} / {{total}}",
|
|
210
260
|
},
|
|
261
|
+
percent: {
|
|
262
|
+
slider: "النسبة المئوية",
|
|
263
|
+
},
|
|
211
264
|
relativeDate: {
|
|
212
265
|
overdue: "متأخر {{count}} يوم",
|
|
266
|
+
overdue_zero: "متأخر {{count}} يوم",
|
|
267
|
+
overdue_one: "متأخر {{count}} يوم",
|
|
268
|
+
overdue_two: "متأخر يومين ({{count}})",
|
|
269
|
+
overdue_few: "متأخر {{count}} أيام",
|
|
270
|
+
overdue_many: "متأخر {{count}} يومًا",
|
|
271
|
+
overdue_other: "متأخر {{count}} يوم",
|
|
213
272
|
},
|
|
214
273
|
file: {
|
|
215
274
|
dragDropHere: 'اسحب الملفات وأفلتها هنا',
|
|
@@ -226,6 +285,9 @@ const ar = {
|
|
|
226
285
|
remove: 'إزالة {{name}}',
|
|
227
286
|
exceedsMaxSize: '"{{name}}" يتجاوز الحجم الأقصى ({{max}} ميغابايت)',
|
|
228
287
|
uploadFailed: 'فشل رفع "{{name}}": {{error}}',
|
|
288
|
+
uploadIncomplete: 'لم يكتمل رفع "{{name}}": لم يتم إرجاع معرّف الملف، ولم يُحفظ شيء',
|
|
289
|
+
restricted: 'ملف مقيد',
|
|
290
|
+
restrictedHint: 'ليس لديك صلاحية الوصول إلى تفاصيل هذا الملف',
|
|
229
291
|
},
|
|
230
292
|
richText: {
|
|
231
293
|
format: "التنسيق: {{format}}",
|
|
@@ -242,6 +304,10 @@ const ar = {
|
|
|
242
304
|
search: "بحث في الكائنات…",
|
|
243
305
|
empty: "لم يتم العثور على كائنات",
|
|
244
306
|
},
|
|
307
|
+
registryRef: {
|
|
308
|
+
loadFailed: "تعذّر تحميل القائمة. لا يزال بإمكانك كتابة الاسم.",
|
|
309
|
+
notFound: "{{name}} (غير موجود)",
|
|
310
|
+
},
|
|
245
311
|
recipient: {
|
|
246
312
|
selectTypeFirst: "اختر نوع المستلم أولاً.",
|
|
247
313
|
loading: "جارٍ التحميل…",
|
|
@@ -253,6 +319,9 @@ const ar = {
|
|
|
253
319
|
selectBusinessUnit: "اختر وحدة عمل",
|
|
254
320
|
selectPosition: "اختر منصباً",
|
|
255
321
|
selectUnitAndSubordinates: "اختر وحدة عمل",
|
|
322
|
+
selectField: "اختر حقل مستخدم",
|
|
323
|
+
noUserFields: "لا توجد حقول مستخدم في هذا الكائن",
|
|
324
|
+
fieldNotUserTyped: "{{name}} — ليس حقل مستخدم",
|
|
256
325
|
},
|
|
257
326
|
filterCondition: {
|
|
258
327
|
selectObjectFirst: "اختر كائناً أولاً.",
|
|
@@ -263,6 +332,33 @@ const ar = {
|
|
|
263
332
|
editAsJson: "التحرير بصيغة JSON",
|
|
264
333
|
useVisualBuilder: "استخدام المُنشئ المرئي",
|
|
265
334
|
},
|
|
335
|
+
object: {
|
|
336
|
+
invalidJson: "JSON غير صالح",
|
|
337
|
+
},
|
|
338
|
+
location: {
|
|
339
|
+
refusedFormat: "لم يتم الحفظ: أدخل زوجًا من خط العرض وخط الطول (مثال: 30.2741, 120.1551).",
|
|
340
|
+
refusedRange: "لم يتم الحفظ: {{detail}}",
|
|
341
|
+
latitude: "خط العرض",
|
|
342
|
+
longitude: "خط الطول",
|
|
343
|
+
refusedResidueOne: "لم يتم الحفظ: {{name}} «{{text}}» ليس رقمًا. أدخل أرقامًا عشرية عادية (مثال: 30.2741, 120.1551).",
|
|
344
|
+
refusedResidue: "لم يتم الحفظ: {{name}} «{{text}}» و{{otherName}} «{{otherText}}» ليسا رقمين. أدخل أرقامًا عشرية عادية (مثال: 30.2741, 120.1551).",
|
|
345
|
+
},
|
|
346
|
+
date: {
|
|
347
|
+
impossibleDay: "القيمة المحفوظة «{{value}}» ليست تاريخًا حقيقيًا. اختر تاريخًا لاستبدالها.",
|
|
348
|
+
},
|
|
349
|
+
dateTime: {
|
|
350
|
+
impossibleDay: "القيمة المحفوظة «{{value}}» ليست تاريخًا حقيقيًا. اختر تاريخًا ووقتًا لاستبدالها.",
|
|
351
|
+
},
|
|
352
|
+
datePicker: {
|
|
353
|
+
today: "اليوم",
|
|
354
|
+
tomorrow: "غدًا",
|
|
355
|
+
clear: "مسح التاريخ",
|
|
356
|
+
openCalendar: "فتح التقويم",
|
|
357
|
+
invalid: "لم يتم الحفظ: «{{value}}» ليس تاريخًا. اكتبه بالصيغة {{format}} أو اختره من التقويم.",
|
|
358
|
+
},
|
|
359
|
+
number: {
|
|
360
|
+
badInput: "لم يتم الحفظ: النص في هذا المربع ليس رقمًا. أدخل رقمًا عشريًا عاديًا (مثال: {{example}}).",
|
|
361
|
+
},
|
|
266
362
|
tags: {
|
|
267
363
|
placeholder: "اكتب واضغط Enter للإضافة…",
|
|
268
364
|
},
|
|
@@ -274,10 +370,25 @@ const ar = {
|
|
|
274
370
|
postalCode: "الرمز البريدي",
|
|
275
371
|
country: "الدولة",
|
|
276
372
|
},
|
|
373
|
+
boolean: {
|
|
374
|
+
offBadge: "{{label}} — إيقاف",
|
|
375
|
+
completed: "مكتمل",
|
|
376
|
+
notCompleted: "غير مكتمل",
|
|
377
|
+
},
|
|
277
378
|
textarea: {
|
|
278
379
|
characterCount: "عدد الأحرف: {{count}} من {{max}}",
|
|
279
380
|
charactersRemaining: "الأحرف المتبقية: {{count}}",
|
|
280
381
|
},
|
|
382
|
+
grid: {
|
|
383
|
+
addLine: "إضافة سطر",
|
|
384
|
+
noItems: "لا توجد عناصر",
|
|
385
|
+
noItemsAddHint: "لا توجد عناصر بعد — انقر على «{{label}}» للبدء.",
|
|
386
|
+
optionalColumns: "أعمدة اختيارية",
|
|
387
|
+
computed: "محسوب",
|
|
388
|
+
openRow: "فتح الصف",
|
|
389
|
+
duplicateRow: "تكرار الصف",
|
|
390
|
+
removeRow: "إزالة الصف",
|
|
391
|
+
},
|
|
281
392
|
},
|
|
282
393
|
table: {
|
|
283
394
|
rowsPerPage: "صفوف في الصفحة",
|
|
@@ -293,10 +404,15 @@ const ar = {
|
|
|
293
404
|
selectAllRows: "تحديد جميع الصفوف",
|
|
294
405
|
expandRow: "توسيع الصف",
|
|
295
406
|
collapseRow: "طي الصف",
|
|
407
|
+
rowActions: "إجراءات الصف",
|
|
296
408
|
hideColumn: "إخفاء العمود",
|
|
297
409
|
freezeColumn: "تجميد العمود",
|
|
298
410
|
unfreezeColumn: "إلغاء تجميد العمود",
|
|
299
411
|
pageInfo: "صفحة {{current}} من {{total}}",
|
|
412
|
+
firstPage: "الصفحة الأولى",
|
|
413
|
+
previousPage: "الصفحة السابقة",
|
|
414
|
+
nextPage: "الصفحة التالية",
|
|
415
|
+
lastPage: "الصفحة الأخيرة",
|
|
300
416
|
totalRecords: "{{count}} إجمالي",
|
|
301
417
|
noResults: "لا نتائج",
|
|
302
418
|
noResultsHint: "حاول تعديل الفلاتر أو مصطلحات البحث.",
|
|
@@ -306,23 +422,67 @@ const ar = {
|
|
|
306
422
|
open: "فتح",
|
|
307
423
|
search: "بحث…",
|
|
308
424
|
modified: "{{count}} صف(صفوف) معدّل(ة)",
|
|
425
|
+
modified_zero: "{{count}} صف معدّل",
|
|
426
|
+
modified_one: "{{count}} صف معدّل",
|
|
427
|
+
modified_two: "صفان معدّلان ({{count}})",
|
|
428
|
+
modified_few: "{{count}} صفوف معدّلة",
|
|
429
|
+
modified_many: "{{count}} صفًا معدّلًا",
|
|
430
|
+
modified_other: "{{count}} صف معدّل",
|
|
431
|
+
saved: "{{count}} صف(صفوف) محفوظ(ة)",
|
|
432
|
+
saved_zero: "{{count}} صف محفوظ",
|
|
433
|
+
saved_one: "{{count}} صف محفوظ",
|
|
434
|
+
saved_two: "صفان محفوظان ({{count}})",
|
|
435
|
+
saved_few: "{{count}} صفوف محفوظة",
|
|
436
|
+
saved_many: "{{count}} صفًا محفوظًا",
|
|
437
|
+
saved_other: "{{count}} صف محفوظ",
|
|
309
438
|
saveFailed: 'فشل الحفظ',
|
|
310
439
|
selected: "{{count}} محدد(ة)",
|
|
440
|
+
selected_zero: "تم تحديد {{count}}",
|
|
441
|
+
selected_one: "تم تحديد {{count}}",
|
|
442
|
+
selected_two: "تم تحديد {{count}}",
|
|
443
|
+
selected_few: "تم تحديد {{count}}",
|
|
444
|
+
selected_many: "تم تحديد {{count}}",
|
|
445
|
+
selected_other: "تم تحديد {{count}}",
|
|
311
446
|
edit: "تعديل",
|
|
312
447
|
delete: "حذف",
|
|
313
448
|
},
|
|
314
449
|
grid: {
|
|
315
450
|
bulkSelected: "تم تحديد {{count}}",
|
|
451
|
+
bulkSelected_zero: "تم تحديد {{count}}",
|
|
452
|
+
bulkSelected_one: "تم تحديد {{count}}",
|
|
453
|
+
bulkSelected_two: "تم تحديد {{count}}",
|
|
454
|
+
bulkSelected_few: "تم تحديد {{count}}",
|
|
455
|
+
bulkSelected_many: "تم تحديد {{count}}",
|
|
456
|
+
bulkSelected_other: "تم تحديد {{count}}",
|
|
316
457
|
bulkSelectedAllMatches: "تم تحديد {{count}} (كل النتائج المطابقة)",
|
|
317
458
|
bulkClear: "إلغاء التحديد",
|
|
318
459
|
bulkAllOnPage: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
460
|
+
bulkAllOnPage_zero: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
461
|
+
bulkAllOnPage_one: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
462
|
+
bulkAllOnPage_two: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
463
|
+
bulkAllOnPage_few: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
464
|
+
bulkAllOnPage_many: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
465
|
+
bulkAllOnPage_other: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
319
466
|
bulkSelectAllMatching: "تحديد كل النتائج المطابقة ({{count}})",
|
|
320
467
|
bulkAllMatchingSelected: "تم تحديد جميع السجلات المطابقة ({{count}}).",
|
|
468
|
+
bulkActions: "إجراءات جماعية",
|
|
321
469
|
bulk: {
|
|
322
470
|
confirmDefault: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
471
|
+
confirmDefault_zero: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
472
|
+
confirmDefault_one: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
473
|
+
confirmDefault_two: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
474
|
+
confirmDefault_few: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
475
|
+
confirmDefault_many: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
476
|
+
confirmDefault_other: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
323
477
|
overLimit: "التحديد ({{count}}) يتجاوز حد الإجراء ({{limit}}). قلّل التحديد للمتابعة.",
|
|
324
478
|
affectedRecords: "السجلات المتأثرة ({{count}}):",
|
|
325
479
|
skippedIneligible: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
480
|
+
skippedIneligible_zero: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
481
|
+
skippedIneligible_one: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
482
|
+
skippedIneligible_two: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
483
|
+
skippedIneligible_few: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
484
|
+
skippedIneligible_many: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
485
|
+
skippedIneligible_other: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
326
486
|
rowFallback: "الصف {{index}}",
|
|
327
487
|
andMore: "… و{{count}} أخرى",
|
|
328
488
|
processed: "تمت معالجة {{count}} / {{total}}",
|
|
@@ -340,7 +500,6 @@ const ar = {
|
|
|
340
500
|
undo: "تراجع",
|
|
341
501
|
undoing: "جارٍ التراجع…",
|
|
342
502
|
done: "تم",
|
|
343
|
-
selectPlaceholder: "اختر…",
|
|
344
503
|
loading: "جارٍ التحميل…",
|
|
345
504
|
},
|
|
346
505
|
actions: "إجراءات",
|
|
@@ -348,22 +507,32 @@ const ar = {
|
|
|
348
507
|
delete: "حذف",
|
|
349
508
|
export: "تصدير",
|
|
350
509
|
exportAs: "تصدير كـ {{format}}",
|
|
351
|
-
loading: "
|
|
510
|
+
loading: "جارٍ تحميل الشبكة…",
|
|
352
511
|
errorLoading: "خطأ في تحميل الشبكة",
|
|
353
512
|
pullToRefresh: "اسحب للتحديث",
|
|
354
|
-
refreshing: "
|
|
513
|
+
refreshing: "جارٍ التحديث…",
|
|
355
514
|
openRecord: "فتح السجل",
|
|
515
|
+
recordUnavailable: "{{object}} · السجل غير متاح",
|
|
356
516
|
rowHeight: "ارتفاع الصف: {{mode}}",
|
|
357
517
|
openMenu: "فتح القائمة",
|
|
358
518
|
empty: "فارغ",
|
|
359
519
|
yes: "نعم",
|
|
360
520
|
no: "لا",
|
|
361
521
|
systemFields: "النظام",
|
|
522
|
+
// objectui#10881 — the grouped grid's two refusals: over a data source
|
|
523
|
+
// that cannot answer the group header query, and over rows a host
|
|
524
|
+
// handed in while declaring them one page of more. `queryGroupHeaders`
|
|
525
|
+
// is the member's name and stays untranslated.
|
|
526
|
+
grouping: {
|
|
527
|
+
needsHeaderQuery: "هذا العرض مُجمَّع، لكن مصدر بياناته لا يطبّق queryGroupHeaders، لذا لا يمكن عدّ المجموعات. أزِل التجميع لعرض السجلات.",
|
|
528
|
+
needsWholeRows: "يتطلب التجميع جميع السجلات، لكن هذه الشبكة تلقّت صفحة واحدة منها فقط، لذا لا يمكن عدّ المجموعات. مرّر جميع السجلات، أو دع الشبكة تجلبها من مصدر بيانات يطبّق queryGroupHeaders.",
|
|
529
|
+
},
|
|
362
530
|
// objectui#4024 — column-footer aggregate prefixes, keyed by the spec's
|
|
363
531
|
// `ColumnSummary` vocabulary. `pattern` owns the label/value join so this
|
|
364
532
|
// pack controls its own separator and word order.
|
|
365
533
|
summary: {
|
|
366
534
|
pattern: "{{label}}: {{value}}",
|
|
535
|
+
pagePattern: "{{label}} (هذه الصفحة): {{value}}",
|
|
367
536
|
count: "العدد",
|
|
368
537
|
countEmpty: "فارغة",
|
|
369
538
|
countFilled: "ممتلئة",
|
|
@@ -385,10 +554,18 @@ const ar = {
|
|
|
385
554
|
},
|
|
386
555
|
import: {
|
|
387
556
|
downloadTemplate: "تنزيل القالب",
|
|
388
|
-
downloadTemplateHint: "احصل على ملف
|
|
557
|
+
downloadTemplateHint: "احصل على ملف Excel بالأعمدة التي يمكنك استيرادها (الحقول المطلوبة معلَّمة بـ *) مع تعليمات التعبئة.",
|
|
389
558
|
templateFileName: "{{object}}-import-template",
|
|
559
|
+
templateDownloadFailed: "تعذّر تنزيل القالب. يرجى المحاولة مرة أخرى.",
|
|
560
|
+
templateNotPermitted: "ليست لديك صلاحية إنشاء سجلات لهذا الكائن، لذا فإن قالب الاستيراد غير متاح.",
|
|
390
561
|
autoMatched: "تمت المطابقة تلقائيًا",
|
|
391
562
|
autoMatchedSummary: "تمت مطابقة {{count}} عمودًا تلقائيًا — راجعها وعدّلها أدناه.",
|
|
563
|
+
autoMatchedSummary_zero: "تمت مطابقة {{count}} عمود تلقائيًا — راجِع وعدِّل أدناه.",
|
|
564
|
+
autoMatchedSummary_one: "تمت مطابقة {{count}} عمود تلقائيًا — راجِع وعدِّل أدناه.",
|
|
565
|
+
autoMatchedSummary_two: "تمت مطابقة عمودين ({{count}}) تلقائيًا — راجِع وعدِّل أدناه.",
|
|
566
|
+
autoMatchedSummary_few: "تمت مطابقة {{count}} أعمدة تلقائيًا — راجِع وعدِّل أدناه.",
|
|
567
|
+
autoMatchedSummary_many: "تمت مطابقة {{count}} عمودًا تلقائيًا — راجِع وعدِّل أدناه.",
|
|
568
|
+
autoMatchedSummary_other: "تمت مطابقة {{count}} عمود تلقائيًا — راجِع وعدِّل أدناه.",
|
|
392
569
|
confidence: {
|
|
393
570
|
high: "ثقة عالية",
|
|
394
571
|
medium: "ثقة متوسطة",
|
|
@@ -401,8 +578,26 @@ const ar = {
|
|
|
401
578
|
cancelImport: "إلغاء الاستيراد",
|
|
402
579
|
importCancelled: "تم إلغاء الاستيراد",
|
|
403
580
|
resultsTruncated: "عرض نتائج أول {{count}} صفًا (من أصل {{total}}).",
|
|
581
|
+
resultsTruncated_zero: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
582
|
+
resultsTruncated_one: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
583
|
+
resultsTruncated_two: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
584
|
+
resultsTruncated_few: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
585
|
+
resultsTruncated_many: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
586
|
+
resultsTruncated_other: "عرض نتائج الصفوف الأولى: {{count}} (من أصل {{total}}).",
|
|
404
587
|
createdCount: "تم إنشاء {{count}}",
|
|
588
|
+
createdCount_zero: "تم إنشاء {{count}}",
|
|
589
|
+
createdCount_one: "تم إنشاء {{count}}",
|
|
590
|
+
createdCount_two: "تم إنشاء {{count}}",
|
|
591
|
+
createdCount_few: "تم إنشاء {{count}}",
|
|
592
|
+
createdCount_many: "تم إنشاء {{count}}",
|
|
593
|
+
createdCount_other: "تم إنشاء {{count}}",
|
|
405
594
|
updatedCount: "تم تحديث {{count}}",
|
|
595
|
+
updatedCount_zero: "تم تحديث {{count}}",
|
|
596
|
+
updatedCount_one: "تم تحديث {{count}}",
|
|
597
|
+
updatedCount_two: "تم تحديث {{count}}",
|
|
598
|
+
updatedCount_few: "تم تحديث {{count}}",
|
|
599
|
+
updatedCount_many: "تم تحديث {{count}}",
|
|
600
|
+
updatedCount_other: "تم تحديث {{count}}",
|
|
406
601
|
downloadFailed: "تنزيل الصفوف الفاشلة",
|
|
407
602
|
options: "خيارات الاستيراد",
|
|
408
603
|
writeMode: "عند تطابق صف مع سجل موجود",
|
|
@@ -417,9 +612,6 @@ const ar = {
|
|
|
417
612
|
needMatchFields: "اختر حقلًا واحدًا على الأقل للمطابقة.",
|
|
418
613
|
matchOnlyField: "(للمطابقة فقط)",
|
|
419
614
|
optCreateOptions: "الاحتفاظ بقيم الخيارات غير المعروفة",
|
|
420
|
-
optRunAutomations: "تشغيل الأتمتة والمشغّلات",
|
|
421
|
-
optTreatHistorical: "الاستيراد كبيانات تاريخية",
|
|
422
|
-
optTreatHistoricalHint: "(استيراد السجلات المكتملة كما هي — تخطي فحوصات آلة الحالات والاحتفاظ بالطوابع الزمنية والمؤلف الأصليين بدل ختمها الآن)",
|
|
423
615
|
optSkipBlankKey: "تخطي الصفوف التي تكون قيمة المطابقة فيها فارغة",
|
|
424
616
|
optBackground: "الاستيراد في الخلفية",
|
|
425
617
|
optBackgroundHint: "(يعمل كمهمة قابلة للتراجع)",
|
|
@@ -434,6 +626,7 @@ const ar = {
|
|
|
434
626
|
invalidBoolean: "«{{value}}» ليست قيمة صواب/خطأ صالحة",
|
|
435
627
|
invalidNumber: "«{{value}}» ليست رقمًا صالحًا",
|
|
436
628
|
invalidDate: "«{{value}}» ليست تاريخًا صالحًا",
|
|
629
|
+
invalidTime: "«{{value}}» ليست وقتًا صالحًا",
|
|
437
630
|
invalidOption: "«{{value}}» ليست ضمن الخيارات المسموح بها",
|
|
438
631
|
requiredValue: "هذا الحقل مطلوب",
|
|
439
632
|
matchAmbiguous: "يطابق أكثر من سجل موجود — استخدم قيمة فريدة أو معرّف السجل",
|
|
@@ -450,10 +643,23 @@ const ar = {
|
|
|
450
643
|
historyColResult: "النتيجة",
|
|
451
644
|
historyColTime: "الوقت",
|
|
452
645
|
errorCount: "{{count}} من الأخطاء",
|
|
646
|
+
errorCount_zero: "{{count}} من الأخطاء",
|
|
647
|
+
errorCount_one: "{{count}} من الأخطاء",
|
|
648
|
+
errorCount_two: "{{count}} من الأخطاء",
|
|
649
|
+
errorCount_few: "{{count}} من الأخطاء",
|
|
650
|
+
errorCount_many: "{{count}} من الأخطاء",
|
|
651
|
+
errorCount_other: "{{count}} من الأخطاء",
|
|
453
652
|
undoImport: "التراجع عن الاستيراد",
|
|
454
653
|
undoing: "جارٍ التراجع…",
|
|
455
654
|
undoConfirm: "هل تريد التراجع عن هذا الاستيراد؟ ستُحذف السجلات التي أنشأها وتُستعاد السجلات التي حدّثها إلى قيمها السابقة.",
|
|
456
655
|
reverted: "تم التراجع",
|
|
656
|
+
undoPartial: "لم يتم التراجع عن {{count}} صف(صفوف). التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
|
|
657
|
+
undoPartial_zero: "لم يتم التراجع عن {{count}} صف. التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
|
|
658
|
+
undoPartial_one: "لم يتم التراجع عن {{count}} صف. التراجع مرة أخرى يعيد محاولة هذا الصف فقط.",
|
|
659
|
+
undoPartial_two: "لم يتم التراجع عن صفّين ({{count}}). التراجع مرة أخرى يعيد محاولة هذين الصفّين فقط.",
|
|
660
|
+
undoPartial_few: "لم يتم التراجع عن {{count}} صفوف. التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
|
|
661
|
+
undoPartial_many: "لم يتم التراجع عن {{count}} صفًا. التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
|
|
662
|
+
undoPartial_other: "لم يتم التراجع عن {{count}} صف. التراجع مرة أخرى يعيد محاولة هذه الصفوف فقط.",
|
|
457
663
|
jobStatus: {
|
|
458
664
|
pending: "قيد الانتظار",
|
|
459
665
|
running: "قيد التنفيذ",
|
|
@@ -510,19 +716,45 @@ const ar = {
|
|
|
510
716
|
mapped: "مُعيَّن",
|
|
511
717
|
skipped: "مُتخطَّى",
|
|
512
718
|
rowsWithErrors: "{{count}} صف(صفوف) بها أخطاء",
|
|
719
|
+
rowsWithErrors_zero: "{{count}} صف بها أخطاء",
|
|
720
|
+
rowsWithErrors_one: "{{count}} صف به أخطاء",
|
|
721
|
+
rowsWithErrors_two: "صفان بهما أخطاء ({{count}})",
|
|
722
|
+
rowsWithErrors_few: "{{count}} صفوف بها أخطاء",
|
|
723
|
+
rowsWithErrors_many: "{{count}} صفًا بها أخطاء",
|
|
724
|
+
rowsWithErrors_other: "{{count}} صف بها أخطاء",
|
|
513
725
|
rowsCorrected: "{{count}} صف(صفوف) تم تصحيحها",
|
|
726
|
+
rowsCorrected_zero: "تم تصحيح {{count}} صف",
|
|
727
|
+
rowsCorrected_one: "تم تصحيح {{count}} صف",
|
|
728
|
+
rowsCorrected_two: "تم تصحيح صفين ({{count}})",
|
|
729
|
+
rowsCorrected_few: "تم تصحيح {{count}} صفوف",
|
|
730
|
+
rowsCorrected_many: "تم تصحيح {{count}} صفًا",
|
|
731
|
+
rowsCorrected_other: "تم تصحيح {{count}} صف",
|
|
514
732
|
clickToFix: "— انقر على خلية مميزة للتعديل.",
|
|
515
733
|
showingRows: "عرض {{shown}} من {{total}} صف",
|
|
516
734
|
importing: "جارٍ الاستيراد… {{progress}}%",
|
|
517
735
|
importComplete: "اكتمل الاستيراد",
|
|
736
|
+
importPartial: "اكتمل الاستيراد مع وجود أخطاء",
|
|
737
|
+
importFailed: "فشل الاستيراد",
|
|
518
738
|
imported: "{{count}} مُستورَد(ة)",
|
|
519
739
|
skippedCount: "{{count}} مُتخطَّى(ة)",
|
|
520
740
|
moreErrors: "…و{{count}} خطأ(أخطاء) أخرى",
|
|
741
|
+
moreErrors_zero: "…و{{count}} خطأ آخر",
|
|
742
|
+
moreErrors_one: "…و{{count}} خطأ آخر",
|
|
743
|
+
moreErrors_two: "…وخطآن آخران ({{count}})",
|
|
744
|
+
moreErrors_few: "…و{{count}} أخطاء أخرى",
|
|
745
|
+
moreErrors_many: "…و{{count}} خطأً آخر",
|
|
746
|
+
moreErrors_other: "…و{{count}} خطأ آخر",
|
|
521
747
|
cancel: "إلغاء",
|
|
522
748
|
back: "رجوع",
|
|
523
749
|
next: "التالي",
|
|
524
750
|
close: "إغلاق",
|
|
525
751
|
importNRows: "استيراد {{count}} صف",
|
|
752
|
+
importNRows_zero: "استيراد {{count}} صف",
|
|
753
|
+
importNRows_one: "استيراد {{count}} صف",
|
|
754
|
+
importNRows_two: "استيراد صفين ({{count}})",
|
|
755
|
+
importNRows_few: "استيراد {{count}} صفوف",
|
|
756
|
+
importNRows_many: "استيراد {{count}} صفًا",
|
|
757
|
+
importNRows_other: "استيراد {{count}} صف",
|
|
526
758
|
importingProgress: "جارٍ الاستيراد…",
|
|
527
759
|
requiredMark: "*",
|
|
528
760
|
required: "مطلوب",
|
|
@@ -534,17 +766,48 @@ const ar = {
|
|
|
534
766
|
month: "شهر",
|
|
535
767
|
week: "أسبوع",
|
|
536
768
|
day: "يوم",
|
|
537
|
-
agenda: "جدول أعمال",
|
|
538
769
|
allDay: "طوال اليوم",
|
|
539
|
-
noEvents: "لا توجد أحداث",
|
|
540
770
|
newEvent: "حدث جديد",
|
|
541
771
|
moreEvents: "+{{count}} المزيد",
|
|
772
|
+
unscheduled: "غير مجدولة ({{count}})",
|
|
773
|
+
loading: "جارٍ تحميل التقويم…",
|
|
774
|
+
loadError: "خطأ: {{message}}",
|
|
775
|
+
configRequired: "إعداد التقويم مطلوب. يُرجى تحديد startDateField، وهو المفتاح المطلوب الوحيد للتقويم؛ ويُحلّ عنوان الحدث دون titleField.",
|
|
776
|
+
configRequiredHint: "هو ينتمي إلى كتلة calendar في العرض. صفحة الواجهة ليس لها فتحة تقويم خاصة بها: وجّه sourceView الخاص بها إلى عرض يعلن واحدة.",
|
|
777
|
+
eventDetails: "تفاصيل الحدث",
|
|
778
|
+
pullToRefresh: "اسحب للتحديث",
|
|
779
|
+
refreshing: "جارٍ التحديث…",
|
|
780
|
+
onDate: "في {{date}}",
|
|
781
|
+
eventTitle: "العنوان",
|
|
782
|
+
eventTitlePlaceholder: "ما موضوع هذا الحدث؟",
|
|
783
|
+
creating: "جارٍ الإنشاء…",
|
|
784
|
+
titleRequired: "العنوان مطلوب",
|
|
785
|
+
a11y: {
|
|
786
|
+
region: "التقويم",
|
|
787
|
+
grid: "شبكة التقويم",
|
|
788
|
+
goToToday: "الانتقال إلى اليوم",
|
|
789
|
+
previousPeriod: "الفترة السابقة",
|
|
790
|
+
nextPeriod: "الفترة التالية",
|
|
791
|
+
currentDate: "التاريخ الحالي: {{date}}",
|
|
792
|
+
dayCell: "{{date}}، عدد الأحداث: {{count}}",
|
|
793
|
+
dayCell_zero: "{{date}}، {{count}} حدث",
|
|
794
|
+
dayCell_one: "{{date}}، {{count}} حدث",
|
|
795
|
+
dayCell_two: "{{date}}، حدثان ({{count}})",
|
|
796
|
+
dayCell_few: "{{date}}، {{count}} أحداث",
|
|
797
|
+
dayCell_many: "{{date}}، {{count}} حدثًا",
|
|
798
|
+
dayCell_other: "{{date}}، عدد الأحداث: {{count}}",
|
|
799
|
+
resizeEventEnd: "تغيير نهاية الحدث",
|
|
800
|
+
resizeEventEndHint: "اسحب لتغيير تاريخ الانتهاء",
|
|
801
|
+
resizeStart: "تغيير وقت البدء",
|
|
802
|
+
resizeEnd: "تغيير وقت الانتهاء",
|
|
803
|
+
},
|
|
542
804
|
},
|
|
543
805
|
list: {
|
|
544
806
|
firstRunTitle: "لا يوجد شيء هنا بعد",
|
|
545
807
|
firstRunMessage: "أنشئ سجلك الأول للبدء.",
|
|
546
808
|
noMatches: "لا توجد سجلات مطابقة",
|
|
547
809
|
noMatchesMessage: "لا توجد سجلات تطابق عوامل التصفية أو البحث الحالية. حاول تعديلها أو مسحها.",
|
|
810
|
+
viewFilterNoMatchesMessage: "لا توجد سجلات تطابق عامل التصفية لطريقة العرض هذه.",
|
|
548
811
|
loadErrorTitle: "تعذّر تحميل السجلات",
|
|
549
812
|
loadErrorMessage: "حدث خطأ أثناء تحميل هذه البيانات. تحقق من اتصالك وحاول مرة أخرى.",
|
|
550
813
|
loadErrorForbiddenTitle: "ليس لديك صلاحية الوصول",
|
|
@@ -580,18 +843,36 @@ const ar = {
|
|
|
580
843
|
},
|
|
581
844
|
refresh: "تحديث",
|
|
582
845
|
loading: "جارٍ تحميل السجلات…",
|
|
583
|
-
|
|
584
|
-
|
|
846
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
847
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
848
|
+
// without a count.
|
|
849
|
+
recordCount: "عدد السجلات: {{count}}",
|
|
850
|
+
recordCount_zero: "{{count}} سجل",
|
|
851
|
+
recordCount_one: "{{count}} سجل",
|
|
852
|
+
recordCount_two: "سجلان ({{count}})",
|
|
853
|
+
recordCount_few: "{{count}} سجلات",
|
|
854
|
+
recordCount_many: "{{count}} سجلًا",
|
|
855
|
+
recordCount_other: "{{count}} سجل",
|
|
585
856
|
addRecord: "إضافة سجل",
|
|
857
|
+
// objectui#12703 — the compact list's footer link to the object's list or the block's view.
|
|
858
|
+
viewAll: "عرض الكل",
|
|
586
859
|
tabs: "علامات التبويب",
|
|
587
860
|
allRecords: "جميع السجلات",
|
|
588
861
|
search: "بحث",
|
|
589
862
|
filter: "تصفية",
|
|
590
863
|
filterRecords: "تصفية السجلات",
|
|
864
|
+
filterActive: "تصفية، عوامل التصفية النشطة: {{count}}",
|
|
865
|
+
filterActive_zero: "تصفية، {{count}} عامل تصفية نشط",
|
|
866
|
+
filterActive_one: "تصفية، {{count}} عامل تصفية نشط",
|
|
867
|
+
filterActive_two: "تصفية، عاملا تصفية نشطان ({{count}})",
|
|
868
|
+
filterActive_few: "تصفية، {{count}} عوامل تصفية نشطة",
|
|
869
|
+
filterActive_many: "تصفية، {{count}} عامل تصفية نشطًا",
|
|
870
|
+
filterActive_other: "تصفية، {{count}} عامل تصفية نشط",
|
|
591
871
|
sort: "ترتيب",
|
|
592
872
|
sortRecords: "ترتيب السجلات",
|
|
593
873
|
sortByIdSuffix: "(حسب المعرّف)",
|
|
594
874
|
sortRelationalHint: "الأعمدة التي تشير إلى سجل آخر غير مدرجة هنا: يمكن ترتيبها حسب المعرّف المخزَّن فقط، وليس حسب الاسم الظاهر في الخلية. للترتيب حسب ذلك الاسم، أضِف الاسم إلى هذا الكائن نفسه (إلغاء التطبيع) كحقل مخزَّن يُكتب عند تغيّر المصدر، ثم رتّب حسبه. وليس حقل صيغة: فهو افتراضي، ولا يُخزَّن له أي عمود، ويرفض الخادم الترتيب حسبه.",
|
|
875
|
+
sortRelationalPicked: "يُرتَّب العمود المرتبط حسب المعرّف المخزَّن، لا حسب الاسم المعروض.",
|
|
595
876
|
resetSortToDefault: "إعادة التعيين إلى الترتيب الافتراضي للعرض",
|
|
596
877
|
group: "تجميع",
|
|
597
878
|
groupBy: "تجميع حسب",
|
|
@@ -612,14 +893,15 @@ const ar = {
|
|
|
612
893
|
print: "طباعة",
|
|
613
894
|
hideFieldsTitle: "إخفاء الحقول",
|
|
614
895
|
dataLimitReached: "يتم عرض أول {{limit}} سجل. قد تتوفر بيانات إضافية.",
|
|
615
|
-
|
|
616
|
-
|
|
896
|
+
display: "العرض",
|
|
897
|
+
layout: "التخطيط",
|
|
898
|
+
rowNumbers: "أرقام الصفوف",
|
|
899
|
+
resetToViewDefault: "إعادة التعيين إلى الإعدادات الافتراضية للعرض",
|
|
617
900
|
addGroup: "إضافة حقل مجموعة",
|
|
618
901
|
collapsedByDefault: "مطوي افتراضياً",
|
|
619
902
|
removeGroup: "إزالة",
|
|
620
903
|
inlineEditShort: "تحرير مضمّن",
|
|
621
904
|
inlineEditLabel: "حرّر السجلات مباشرة (انقر خلية للتحرير)",
|
|
622
|
-
recordEditingTitle: "تحرير السجلات",
|
|
623
905
|
},
|
|
624
906
|
managedByBadge: {
|
|
625
907
|
systemWritable: {
|
|
@@ -650,6 +932,7 @@ const ar = {
|
|
|
650
932
|
},
|
|
651
933
|
kanban: {
|
|
652
934
|
uncategorized: "غير مصنّف",
|
|
935
|
+
loadMore: "تحميل المزيد",
|
|
653
936
|
columns: "أعمدة",
|
|
654
937
|
addCard: "إضافة بطاقة",
|
|
655
938
|
addColumn: "إضافة عمود",
|
|
@@ -657,13 +940,28 @@ const ar = {
|
|
|
657
940
|
deleteCard: "حذف بطاقة",
|
|
658
941
|
deleteColumn: "حذف عمود",
|
|
659
942
|
noCards: "لا بطاقات",
|
|
943
|
+
columnCards: "بطاقات العمود {{column}}",
|
|
944
|
+
laneCards: "بطاقات {{column}} - {{lane}}",
|
|
660
945
|
cardTitlePlaceholder: "أدخل عنوان البطاقة…",
|
|
661
946
|
requiredFieldsTitle: "أكمل الحقول المطلوبة",
|
|
662
947
|
requiredFieldsDescription: "يجعل هذا النقل الحقول أدناه مطلوبة. أكملها للمتابعة.",
|
|
948
|
+
dnd: {
|
|
949
|
+
start: "تم التقاط البطاقة {{card}} في العمود {{column}}.",
|
|
950
|
+
overCard: "البطاقة {{card}} فوق البطاقة {{target}} في العمود {{column}}.",
|
|
951
|
+
overColumn: "البطاقة {{card}} فوق العمود {{column}}.",
|
|
952
|
+
overNone: "البطاقة {{card}} ليست فوق أي عمود.",
|
|
953
|
+
moved: "تم نقل البطاقة {{card}} إلى العمود {{column}}.",
|
|
954
|
+
dropped: "تم إفلات البطاقة {{card}}. لا تزال في العمود {{column}}.",
|
|
955
|
+
cancelled: "تم إلغاء السحب. لا تزال البطاقة {{card}} في العمود {{column}}.",
|
|
956
|
+
untitledCard: "بلا عنوان",
|
|
957
|
+
unnamedColumn: "بلا اسم",
|
|
958
|
+
instructions: "لنقل هذه البطاقة إلى عمود آخر، اسحبها بالمؤشر أو باللمس.",
|
|
959
|
+
dragging: "جارٍ سحب البطاقة {{card}}",
|
|
960
|
+
},
|
|
663
961
|
},
|
|
664
962
|
timeline: {
|
|
665
963
|
bucket: {
|
|
666
|
-
|
|
964
|
+
earlier: "سابقاً",
|
|
667
965
|
today: "اليوم",
|
|
668
966
|
tomorrow: "غداً",
|
|
669
967
|
thisWeek: "هذا الأسبوع",
|
|
@@ -678,6 +976,17 @@ const ar = {
|
|
|
678
976
|
},
|
|
679
977
|
gantt: {
|
|
680
978
|
rowLabel: "العناصر",
|
|
979
|
+
unusableRange: {
|
|
980
|
+
malformedDate: "نطاق تواريخ جانت غير صالح للاستخدام — {{path}} يساوي {{value}}، وهو ليس تاريخًا صالحًا. يجب أن تكون كل تواريخ جانت قابلة للتحليل: startDate و endDate لكل عنصر صف، بالإضافة إلى أي minDate / maxDate مثبّت في المخطط.",
|
|
981
|
+
malformedRow: "صفوف جانت غير صالحة للاستخدام — {{path}} يساوي {{value}}، وهو ليس على شكل صف. يقرأ جانت items كقائمة من الصفوف، وكل صف ككائن يحمل label و items خاصة به، و items كل صف كقائمة من الأشرطة؛ لا يمكن رسم null أو رقم أو سلسلة نصية أو كائن عادي في أي من هذه المواضع.",
|
|
982
|
+
inverted: "نطاق تواريخ جانت غير صالح للاستخدام — minDate {{minDate}} يقع بعد maxDate {{maxDate}}. يتجاوز minDate / maxDate المثبّت النطاق المحسوب من الصفوف، لذلك لا يحتوي هذا المحور على أي أعمدة ولا يمكن وضع أي شريط عليه؛ بدّل القيمتين.",
|
|
983
|
+
},
|
|
984
|
+
},
|
|
985
|
+
unsupported: {
|
|
986
|
+
objectBoundGantt: "النوع \"gantt\" غير مدعوم — المخطط الزمني المرتبط بكائن يعرض أنواع التغذية ({{variants}}). يحتاج مخطط جانت إلى صفوف صريحة، لكل منها عناصر items متداخلة خاصة به، لذلك لا يؤثر محور جانت (scale) هنا.",
|
|
987
|
+
},
|
|
988
|
+
unconfigured: {
|
|
989
|
+
noDateAxis: "محور تواريخ المخطط الزمني مطلوب — هذا العرض لا يعلن أي حقل تاريخ، والمخطط الزمني المرتبط بكائن لا يخترع حقلاً. أعلن أحد الحقول التالية: {{fields}}. الأول هو صيغة المواصفة، والبقية أسماء مستعارة قديمة.",
|
|
681
990
|
},
|
|
682
991
|
},
|
|
683
992
|
gantt: {
|
|
@@ -695,6 +1004,7 @@ const ar = {
|
|
|
695
1004
|
},
|
|
696
1005
|
aria: {
|
|
697
1006
|
taskList: "قائمة المهام",
|
|
1007
|
+
refreshing: "جارٍ التحديث…",
|
|
698
1008
|
},
|
|
699
1009
|
tooltip: {
|
|
700
1010
|
days: "ي",
|
|
@@ -740,13 +1050,31 @@ const ar = {
|
|
|
740
1050
|
conflict: {
|
|
741
1051
|
title: "تعارض في الجدولة",
|
|
742
1052
|
body: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1053
|
+
body_zero: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1054
|
+
body_one: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1055
|
+
body_two: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1056
|
+
body_few: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1057
|
+
body_many: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
1058
|
+
body_other: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
743
1059
|
confirm: "إعادة الجدولة تلقائيًا",
|
|
744
1060
|
cancel: "الإبقاء كما هو",
|
|
745
1061
|
},
|
|
746
1062
|
autoScheduleDlg: {
|
|
747
1063
|
title: "الجدولة التلقائية",
|
|
748
1064
|
body: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1065
|
+
body_zero: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1066
|
+
body_one: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1067
|
+
body_two: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1068
|
+
body_few: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1069
|
+
body_many: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
1070
|
+
body_other: "هل تريد تأخير {{count}} من المهام لتلبية روابط التبعية؟",
|
|
749
1071
|
skipped: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1072
|
+
skipped_zero: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1073
|
+
skipped_one: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1074
|
+
skipped_two: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1075
|
+
skipped_few: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1076
|
+
skipped_many: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
1077
|
+
skipped_other: "{{count}} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
750
1078
|
confirm: "تطبيق",
|
|
751
1079
|
cancel: "إلغاء",
|
|
752
1080
|
none: "جميع التبعيات مستوفاة — لا شيء لإعادة جدولته.",
|
|
@@ -825,10 +1153,14 @@ const ar = {
|
|
|
825
1153
|
tabActionsFor: "إجراءات العرض لـ {{name}}",
|
|
826
1154
|
readonlyAriaLabel: "عرض للقراءة فقط",
|
|
827
1155
|
readonlyTooltip: "عرض النظام — معرَّف في الكود، للقراءة فقط.",
|
|
1156
|
+
malformedFilter: "عامل تصفية طريقة العرض هذه غير صالح، لذا لا تُعرض أي سجلات: يتعذّر تطبيق الشرط {{subject}}.",
|
|
1157
|
+
noObject: "لم يُحدَّد أي كائن: عيّن {{property}} أو dataSource.object.",
|
|
828
1158
|
},
|
|
829
1159
|
designer: {
|
|
830
1160
|
undo: "تراجع",
|
|
831
1161
|
redo: "إعادة",
|
|
1162
|
+
canvasMinimap: "الخريطة المصغرة للوحة",
|
|
1163
|
+
versionHistory: "سجل الإصدارات",
|
|
832
1164
|
},
|
|
833
1165
|
detail: {
|
|
834
1166
|
editInlineHint: "انقر نقرًا مزدوجًا للتحرير",
|
|
@@ -851,8 +1183,16 @@ const ar = {
|
|
|
851
1183
|
addReaction: "إضافة تفاعل",
|
|
852
1184
|
pageHeaderActions: "إجراءات رأس الصفحة",
|
|
853
1185
|
emojiPicker: "منتقي الرموز التعبيرية",
|
|
854
|
-
|
|
855
|
-
|
|
1186
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
1187
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
1188
|
+
// without a count.
|
|
1189
|
+
reactionCount: "{{emoji}} عدد التفاعلات: {{count}}",
|
|
1190
|
+
reactionCount_zero: "{{emoji}} {{count}} تفاعل",
|
|
1191
|
+
reactionCount_one: "{{emoji}} {{count}} تفاعل",
|
|
1192
|
+
reactionCount_two: "{{emoji}} تفاعلان ({{count}})",
|
|
1193
|
+
reactionCount_few: "{{emoji}} {{count}} تفاعلات",
|
|
1194
|
+
reactionCount_many: "{{emoji}} {{count}} تفاعلًا",
|
|
1195
|
+
reactionCount_other: "{{emoji}} {{count}} تفاعل",
|
|
856
1196
|
recordDetail: "تفاصيل السجل",
|
|
857
1197
|
recordDetailWithLabel: "تفاصيل {{label}}",
|
|
858
1198
|
openAsFullPage: "فتح كصفحة كاملة",
|
|
@@ -870,7 +1210,7 @@ const ar = {
|
|
|
870
1210
|
relatedRecords: "{{count}} سجلات",
|
|
871
1211
|
relatedRecordOne: "{{count}} سجل",
|
|
872
1212
|
noRelatedRecords: "لا توجد سجلات ذات صلة",
|
|
873
|
-
loading: "
|
|
1213
|
+
loading: "جارٍ التحميل…",
|
|
874
1214
|
copyToClipboard: "نسخ إلى الحافظة",
|
|
875
1215
|
copied: "تم النسخ!",
|
|
876
1216
|
deleteConfirmation: "هل أنت متأكد أنك تريد حذف هذا السجل؟",
|
|
@@ -879,7 +1219,6 @@ const ar = {
|
|
|
879
1219
|
viewAll: "عرض الكل",
|
|
880
1220
|
new: "جديد",
|
|
881
1221
|
add: "إضافة",
|
|
882
|
-
emptyValue: "—",
|
|
883
1222
|
comments: "التعليقات",
|
|
884
1223
|
searchComments: "البحث في التعليقات…",
|
|
885
1224
|
addCommentPlaceholder: "أضف تعليقاً… (Ctrl+Enter للإرسال)",
|
|
@@ -890,11 +1229,34 @@ const ar = {
|
|
|
890
1229
|
unpin: "إلغاء التثبيت",
|
|
891
1230
|
justNow: "الآن",
|
|
892
1231
|
minutesAgo: "منذ {{count}} دقيقة",
|
|
1232
|
+
minutesAgo_zero: "منذ {{count}} دقيقة",
|
|
1233
|
+
minutesAgo_one: "منذ {{count}} دقيقة",
|
|
1234
|
+
minutesAgo_two: "منذ دقيقتين ({{count}})",
|
|
1235
|
+
minutesAgo_few: "منذ {{count}} دقائق",
|
|
1236
|
+
minutesAgo_many: "منذ {{count}} دقيقة",
|
|
1237
|
+
minutesAgo_other: "منذ {{count}} دقيقة",
|
|
893
1238
|
hoursAgo: "منذ {{count}} ساعة",
|
|
1239
|
+
hoursAgo_zero: "منذ {{count}} ساعة",
|
|
1240
|
+
hoursAgo_one: "منذ {{count}} ساعة",
|
|
1241
|
+
hoursAgo_two: "منذ ساعتين ({{count}})",
|
|
1242
|
+
hoursAgo_few: "منذ {{count}} ساعات",
|
|
1243
|
+
hoursAgo_many: "منذ {{count}} ساعة",
|
|
1244
|
+
hoursAgo_other: "منذ {{count}} ساعة",
|
|
894
1245
|
daysAgo: "منذ {{count}} يوم",
|
|
1246
|
+
daysAgo_zero: "منذ {{count}} يوم",
|
|
1247
|
+
daysAgo_one: "منذ {{count}} يوم",
|
|
1248
|
+
daysAgo_two: "منذ يومين ({{count}})",
|
|
1249
|
+
daysAgo_few: "منذ {{count}} أيام",
|
|
1250
|
+
daysAgo_many: "منذ {{count}} يومًا",
|
|
1251
|
+
daysAgo_other: "منذ {{count}} يوم",
|
|
895
1252
|
dropFilesToUpload: "اسحب الملفات هنا أو انقر للرفع",
|
|
896
1253
|
attachmentCount: "{{count}} مرفق",
|
|
897
|
-
|
|
1254
|
+
attachmentCount_zero: "{{count}} مرفق",
|
|
1255
|
+
attachmentCount_one: "{{count}} مرفق",
|
|
1256
|
+
attachmentCount_two: "مرفقان ({{count}})",
|
|
1257
|
+
attachmentCount_few: "{{count}} مرفقات",
|
|
1258
|
+
attachmentCount_many: "{{count}} مرفقًا",
|
|
1259
|
+
attachmentCount_other: "{{count}} مرفق",
|
|
898
1260
|
removeAttachment: "إزالة المرفق",
|
|
899
1261
|
// Record Attachments panel (enable.files, objectstack#4358)
|
|
900
1262
|
attachments: "المرفقات",
|
|
@@ -903,6 +1265,7 @@ const ar = {
|
|
|
903
1265
|
noAttachments: "لا توجد مرفقات بعد. ارفع ملفًا للبدء.",
|
|
904
1266
|
downloadAttachment: "تنزيل",
|
|
905
1267
|
deleteAttachment: "حذف المرفق",
|
|
1268
|
+
deleteAttachmentConfirm: "هل أنت متأكد أنك تريد حذف المرفق \"{{name}}\"؟",
|
|
906
1269
|
attachmentDeleteDenied: "لا يمكن حذف هذا المرفق إلا لمن رفعه أو لمن يمكنه تعديل هذا السجل.",
|
|
907
1270
|
attachmentParentAccessDenied: "ليس لديك صلاحية إرفاق ملفات بهذا السجل.",
|
|
908
1271
|
attachmentDownloadDenied: "ليس لديك صلاحية تنزيل هذا المرفق.",
|
|
@@ -912,11 +1275,6 @@ const ar = {
|
|
|
912
1275
|
attachmentsLoadFailed: "تعذر تحميل مرفقات هذا السجل.",
|
|
913
1276
|
attachmentsApiUnavailable: "قائمة المرفقات غير متاحة على هذا الكائن.",
|
|
914
1277
|
retryLoadAttachments: "إعادة المحاولة",
|
|
915
|
-
unifiedDiff: "عرض موحد",
|
|
916
|
-
sideBySideDiff: "عرض جنباً إلى جنب",
|
|
917
|
-
noChanges: "لا توجد تغييرات",
|
|
918
|
-
previousVersion: "السابق",
|
|
919
|
-
currentVersion: "الحالي",
|
|
920
1278
|
discussion: "المناقشة",
|
|
921
1279
|
showDiscussion: "إظهار المناقشة ({{count}})",
|
|
922
1280
|
hideDiscussion: "إخفاء المناقشة",
|
|
@@ -931,25 +1289,39 @@ const ar = {
|
|
|
931
1289
|
writeComment: "اكتب تعليقاً…",
|
|
932
1290
|
subscribedTooltip: "مشترك — انقر لإلغاء الاشتراك",
|
|
933
1291
|
unsubscribedTooltip: "الاشتراك في الإشعارات",
|
|
934
|
-
firstRecord: "السجل الأول (Home)",
|
|
935
|
-
previousRecordKey: "السجل السابق (←)",
|
|
936
|
-
nextRecordKey: "السجل التالي (→)",
|
|
937
|
-
lastRecord: "السجل الأخير (End)",
|
|
938
1292
|
noRecords: "لا توجد سجلات",
|
|
939
|
-
searchWhileNavigating: "البحث أثناء التصفح",
|
|
940
|
-
searchRecords: "البحث في السجلات…",
|
|
941
1293
|
allActivity: "كل النشاط",
|
|
942
1294
|
commentsOnly: "التعليقات فقط",
|
|
943
1295
|
fieldChangesFilter: "تغييرات الحقول",
|
|
944
1296
|
tasksOnly: "المهام فقط",
|
|
945
1297
|
leaveCommentPlaceholder: "اترك تعليقاً… (Ctrl+Enter للإرسال)",
|
|
946
1298
|
noActivity: "لا يوجد نشاط مسجل",
|
|
1299
|
+
activityAccessDenied: "ليس لديك صلاحية عرض نشاط هذا السجل.",
|
|
1300
|
+
commentsAccessDenied: "ليس لديك صلاحية عرض التعليقات على هذا السجل.",
|
|
1301
|
+
// objectui#7149 — the rest of `ActivityTimeline`. The four chip labels the
|
|
1302
|
+
// `detail.*` pack did not already name, and the `formatFieldChange`
|
|
1303
|
+
// sentences, which are assembled in code and so need interpolation holes.
|
|
1304
|
+
allFilter: 'الكل',
|
|
1305
|
+
createsFilter: 'عمليات الإنشاء',
|
|
1306
|
+
deletesFilter: 'عمليات الحذف',
|
|
1307
|
+
statusChangesFilter: 'تغييرات الحالة',
|
|
1308
|
+
activityEmptyValue: '(فارغ)',
|
|
1309
|
+
activityFieldChanged: 'غيّر {{field}} من "{{old}}" إلى "{{new}}"',
|
|
1310
|
+
activityCreated: 'أنشأ هذا السجل',
|
|
1311
|
+
activityDeleted: 'حذف هذا السجل',
|
|
1312
|
+
activityStatusChanged: 'غيّر الحالة إلى "{{value}}"',
|
|
1313
|
+
activityUpdated: 'حدّث السجل',
|
|
947
1314
|
loadMore: "تحميل المزيد",
|
|
948
1315
|
edited: "(معدل)",
|
|
949
1316
|
via: "عبر {{source}}",
|
|
950
1317
|
viewSource: "عرض المصدر",
|
|
951
1318
|
replyCount: "{{count}} رد",
|
|
952
|
-
|
|
1319
|
+
replyCount_zero: "{{count}} رد",
|
|
1320
|
+
replyCount_one: "{{count}} رد",
|
|
1321
|
+
replyCount_two: "ردّان ({{count}})",
|
|
1322
|
+
replyCount_few: "{{count}} ردود",
|
|
1323
|
+
replyCount_many: "{{count}} ردًّا",
|
|
1324
|
+
replyCount_other: "{{count}} رد",
|
|
953
1325
|
replyPlaceholder: "رد…",
|
|
954
1326
|
filterActivity: "تصفية النشاط",
|
|
955
1327
|
openDiscussion: "فتح لوحة المناقشة",
|
|
@@ -961,9 +1333,12 @@ const ar = {
|
|
|
961
1333
|
lockedByApproval: "مقفل للموافقة",
|
|
962
1334
|
lockedTooltip: "يحتوي هذا السجل على طلب موافقة معلق؛ التعديل مقفل",
|
|
963
1335
|
writeStrippedTitle: "تم الحفظ، لكن بعض الحقول لم تُطبَّق",
|
|
1336
|
+
writeWarningsTitle: "تم الحفظ، مع تحذيرات",
|
|
964
1337
|
writeStrippedReadonly: "للقراءة فقط، لذلك لم تُطبَّق: {{fields}}",
|
|
965
1338
|
writeStrippedByState: "غير قابلة للتعديل في الحالة الحالية لهذا السجل، لذلك لم تُطبَّق: {{fields}}",
|
|
966
1339
|
writeStrippedPrimaryKey: "معرّف السجل لا يمكن تغييره عند الحفظ، لذلك لم تُطبَّق: {{fields}}",
|
|
1340
|
+
writeStrippedComputed: "يحسبها الخادم بواسطة صيغة، لذلك لم تُطبَّق القيمة المُرسَلة: {{fields}}",
|
|
1341
|
+
writeStrippedStoredExpression: "تُحسب من السجل، لذلك حُفظت القيمة المحسوبة بدلًا من القيمة المُرسَلة: {{fields}}",
|
|
967
1342
|
writeStrippedUnknownReason: "لم تُطبَّق من قِبل الخادم: {{fields}}",
|
|
968
1343
|
approvalPendingEditable: "قيد الموافقة · قابل للتعديل",
|
|
969
1344
|
approvalPendingTooltip: "يحتوي هذا السجل على طلب موافقة معلق، لكن هذه الخطوة لا تزال تسمح بالتعديل",
|
|
@@ -985,6 +1360,13 @@ const ar = {
|
|
|
985
1360
|
pathStageLostUpcoming: '{{stage}}، خاسرة، لم يتم الوصول إليها',
|
|
986
1361
|
pathStageWonUpcoming: '{{stage}}، المرحلة الهدف، لم يتم الوصول إليها',
|
|
987
1362
|
linkCopied: "تم نسخ الرابط إلى الحافظة",
|
|
1363
|
+
commentFailed: "لم يُنشر تعليقك. لم يُحفظ أي شيء — يُرجى المحاولة مرة أخرى.",
|
|
1364
|
+
reactionFailed: "لم يُحفظ تفاعلك. يُرجى المحاولة مرة أخرى.",
|
|
1365
|
+
editComment: "تعديل التعليق",
|
|
1366
|
+
deleteComment: "حذف التعليق",
|
|
1367
|
+
deleteCommentConfirm: "هل أنت متأكد أنك تريد حذف هذا التعليق؟",
|
|
1368
|
+
commentEditFailed: "لم يُحفظ تعديلك. يحتفظ التعليق بنصه السابق.",
|
|
1369
|
+
commentDeleteFailed: "لم يُحذف التعليق. يُرجى المحاولة مرة أخرى.",
|
|
988
1370
|
linkCopyFailed: "فشل نسخ الرابط",
|
|
989
1371
|
cancel: "إلغاء",
|
|
990
1372
|
cancelEdit: "تجاهل التغييرات",
|
|
@@ -1014,40 +1396,81 @@ const ar = {
|
|
|
1014
1396
|
sortBy: "ترتيب حسب",
|
|
1015
1397
|
filterPlaceholder: "تصفية…",
|
|
1016
1398
|
highlightFields: "الحقول الرئيسية",
|
|
1399
|
+
highlightsLabel: "الحقول الرئيسية للسجل",
|
|
1017
1400
|
createdBy: "أنشأه",
|
|
1018
1401
|
updatedBy: "حدّثه",
|
|
1019
|
-
// objectui#3863 — base key,
|
|
1020
|
-
//
|
|
1021
|
-
//
|
|
1022
|
-
//
|
|
1023
|
-
//
|
|
1402
|
+
// objectui#3863 — base key, answering only a call made without a count: since
|
|
1403
|
+
// objectui#11432 every ar category has its own slot — `_zero` and `_other`
|
|
1404
|
+
// (100+) singular, `_two` dual with the numeral in parentheses, `_few` (3-10)
|
|
1405
|
+
// the plural agreement, `_many` (11-99) accusative singular. The adjective
|
|
1406
|
+
// agrees with the masculine noun it stands for, as `_one` does.
|
|
1024
1407
|
showEmptyRelated: "+ {{count}} فارغ(فارغة)",
|
|
1408
|
+
showEmptyRelated_zero: "+ {{count}} فارغ",
|
|
1025
1409
|
showEmptyRelated_one: "+ {{count}} فارغ",
|
|
1026
|
-
|
|
1410
|
+
showEmptyRelated_two: "+ فارغان ({{count}})",
|
|
1411
|
+
showEmptyRelated_few: "+ {{count}} فارغة",
|
|
1412
|
+
showEmptyRelated_many: "+ {{count}} فارغًا",
|
|
1413
|
+
showEmptyRelated_other: "+ {{count}} فارغ",
|
|
1027
1414
|
copyEmail: "نسخ البريد الإلكتروني",
|
|
1028
1415
|
copyPhone: "نسخ الهاتف",
|
|
1029
1416
|
copyRecordId: "نسخ معرف السجل",
|
|
1030
1417
|
showEmptyFields: "إظهار {{count}} حقل(حقول) فارغة",
|
|
1418
|
+
showEmptyFields_zero: "إظهار {{count}} حقل فارغ",
|
|
1419
|
+
showEmptyFields_one: "إظهار {{count}} حقل فارغ",
|
|
1420
|
+
showEmptyFields_two: "إظهار حقلين فارغين ({{count}})",
|
|
1421
|
+
showEmptyFields_few: "إظهار {{count}} حقول فارغة",
|
|
1422
|
+
showEmptyFields_many: "إظهار {{count}} حقلًا فارغًا",
|
|
1423
|
+
showEmptyFields_other: "إظهار {{count}} حقل فارغ",
|
|
1031
1424
|
hideEmptyFields: "إخفاء الحقول الفارغة",
|
|
1032
1425
|
noValue: "لا قيمة",
|
|
1426
|
+
unresolvedReference: "مرجع غير مُحلّل: لم يتم تحويل {{value}} إلى مستخدم",
|
|
1427
|
+
unresolvedLookupReference: "مرجع غير مُحلّل: لم يتم تحويل {{value}} إلى سجل في هذه الشاشة",
|
|
1428
|
+
repeaterItemCount: "{{count}} عنصر (عناصر)",
|
|
1429
|
+
repeaterItemCount_zero: "{{count}} عنصر",
|
|
1430
|
+
repeaterItemCount_one: "{{count}} عنصر",
|
|
1431
|
+
repeaterItemCount_two: "عنصران ({{count}})",
|
|
1432
|
+
repeaterItemCount_few: "{{count}} عناصر",
|
|
1433
|
+
repeaterItemCount_many: "{{count}} عنصرًا",
|
|
1434
|
+
repeaterItemCount_other: "{{count}} عنصر",
|
|
1435
|
+
fileCount: "{{count}} ملف (ملفات)",
|
|
1436
|
+
fileCount_zero: "{{count}} ملف",
|
|
1437
|
+
fileCount_one: "{{count}} ملف",
|
|
1438
|
+
fileCount_two: "ملفان ({{count}})",
|
|
1439
|
+
fileCount_few: "{{count}} ملفات",
|
|
1440
|
+
fileCount_many: "{{count}} ملفًا",
|
|
1441
|
+
fileCount_other: "{{count}} ملف",
|
|
1033
1442
|
},
|
|
1034
1443
|
chart: {
|
|
1035
|
-
|
|
1036
|
-
|
|
1444
|
+
loading: "جارٍ تحميل الرسم البياني…",
|
|
1445
|
+
refreshing: "جارٍ التحديث…",
|
|
1037
1446
|
nullCategory: "(غير محدد)",
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
markersCount: "{{count}} علامة",
|
|
1043
|
-
invalidCoordinates: "{{count}} سجل بإحداثيات مفقودة أو غير صالحة مستبعد من الخريطة.",
|
|
1044
|
-
invalidCoordinatesPlural: "{{count}} سجلات بإحداثيات مفقودة أو غير صالحة مستبعدة من الخريطة.",
|
|
1447
|
+
scatterOneMeasure: "المخطط المبعثر يرسم مقياسًا واحدًا فقط. أبقِ سلسلة واحدة:",
|
|
1448
|
+
unconfigured: {
|
|
1449
|
+
noCategoryAxis: "محور فئات الرسم البياني مطلوب — الرسم البياني المرتبط بكائن لا يخترع محورًا. أعلن أحد التالي:",
|
|
1450
|
+
},
|
|
1045
1451
|
},
|
|
1046
1452
|
dashboard: {
|
|
1047
|
-
|
|
1453
|
+
// objectui#7063 — the DEFAULT empty state every dashboard widget renders
|
|
1454
|
+
// when its query SUCCEEDED and returned nothing. It replaced the terse
|
|
1455
|
+
// per-widget `noRows` / `noDataAvailable` fragments at the render site;
|
|
1456
|
+
// objectui#7125 deleted those two keys from all ten packs once nothing
|
|
1457
|
+
// read them. The copy here has to read as a state rather than a failure,
|
|
1458
|
+
// which is why it says the widget loaded. `sourceLabel` carries its own
|
|
1459
|
+
// punctuation so the call site concatenates no separator (see
|
|
1460
|
+
// `WidgetEmptyState`).
|
|
1461
|
+
empty: {
|
|
1462
|
+
title: "لا توجد بيانات بعد",
|
|
1463
|
+
message: "تم تحميل هذه الأداة بنجاح، لكن الاستعلام لم يُرجع أي سجلات بعد.",
|
|
1464
|
+
sourceLabel: "مصدر البيانات:",
|
|
1465
|
+
},
|
|
1048
1466
|
loading: "جارٍ التحميل…",
|
|
1467
|
+
refreshing: "جارٍ التحديث…",
|
|
1468
|
+
refreshAll: "تحديث الكل",
|
|
1469
|
+
refreshDashboard: "تحديث لوحة القيادة",
|
|
1049
1470
|
pickMeasures: "اختر المقاييس (القيم) لأداة مجموعة البيانات هذه.",
|
|
1050
1471
|
datasetUnsupported: "مصدر البيانات هذا لا يدعم استعلامات مجموعات البيانات.",
|
|
1472
|
+
widgetForbiddenTitle: "لا تملك صلاحية الوصول",
|
|
1473
|
+
widgetForbiddenMessage: "ليست لديك صلاحية لعرض البيانات الخاصة بهذه الأداة.",
|
|
1051
1474
|
details: "التفاصيل",
|
|
1052
1475
|
exportCsv: "تصدير CSV",
|
|
1053
1476
|
openInList: "فتح في القائمة",
|
|
@@ -1075,12 +1498,10 @@ const ar = {
|
|
|
1075
1498
|
},
|
|
1076
1499
|
},
|
|
1077
1500
|
addWidget: "إضافة أداة",
|
|
1078
|
-
removeWidget: "إزالة أداة",
|
|
1079
1501
|
editLayout: "تعديل التخطيط",
|
|
1080
1502
|
saveLayout: "حفظ التخطيط",
|
|
1081
1503
|
resetLayout: "إعادة تعيين التخطيط",
|
|
1082
1504
|
total: "الإجمالي",
|
|
1083
|
-
noDataAvailable: "لا بيانات متاحة",
|
|
1084
1505
|
noDataSourceFor: "لا مصدر بيانات لـ",
|
|
1085
1506
|
config: {
|
|
1086
1507
|
breadcrumb: {
|
|
@@ -1202,10 +1623,6 @@ const ar = {
|
|
|
1202
1623
|
appDescription: "الوصف",
|
|
1203
1624
|
appIcon: "الأيقونة",
|
|
1204
1625
|
template: "القالب",
|
|
1205
|
-
layout: "التخطيط",
|
|
1206
|
-
layoutSidebar: "الشريط الجانبي",
|
|
1207
|
-
layoutHeader: "الرأس",
|
|
1208
|
-
layoutEmpty: "فارغ",
|
|
1209
1626
|
selectObjects: "تحديد الكائنات",
|
|
1210
1627
|
searchObjects: "البحث في الكائنات…",
|
|
1211
1628
|
selectAll: "تحديد الكل",
|
|
@@ -1214,7 +1631,6 @@ const ar = {
|
|
|
1214
1631
|
addGroup: "إضافة مجموعة",
|
|
1215
1632
|
addUrl: "إضافة URL",
|
|
1216
1633
|
addSeparator: "إضافة فاصل",
|
|
1217
|
-
noNavItems: "لا توجد عناصر تنقل بعد.",
|
|
1218
1634
|
logoUrl: "Logo URL",
|
|
1219
1635
|
primaryColor: "اللون الأساسي",
|
|
1220
1636
|
faviconUrl: "Favicon URL",
|
|
@@ -1241,13 +1657,12 @@ const ar = {
|
|
|
1241
1657
|
appearance: "المظهر",
|
|
1242
1658
|
rowHeight: "ارتفاع الصف",
|
|
1243
1659
|
livePreview: "معاينة مباشرة",
|
|
1244
|
-
stepBasicDesc: "الاسم والعنوان
|
|
1660
|
+
stepBasicDesc: "الاسم والعنوان والأيقونة",
|
|
1245
1661
|
stepObjectsDesc: "اختيار كائنات الأعمال",
|
|
1246
1662
|
stepNavigationDesc: "بناء شجرة التنقل",
|
|
1247
1663
|
stepBrandingDesc: "الشعار والألوان والأيقونة",
|
|
1248
1664
|
noObjectsFound: "لم يتم العثور على كائنات.",
|
|
1249
1665
|
noNavItemsHint: "لا توجد عناصر تنقل بعد. حدد كائنات في الخطوة السابقة أو أضف عناصر يدويًا.",
|
|
1250
|
-
separator: "فاصل",
|
|
1251
1666
|
separatorLabel: "— فاصل —",
|
|
1252
1667
|
newGroup: "مجموعة جديدة",
|
|
1253
1668
|
newLink: "رابط جديد",
|
|
@@ -1281,6 +1696,7 @@ const ar = {
|
|
|
1281
1696
|
navTypeSeparator: "فاصل",
|
|
1282
1697
|
navTypeAction: "إجراء",
|
|
1283
1698
|
navTypeComponent: "مكوّن",
|
|
1699
|
+
navTypeDoc: "مستند",
|
|
1284
1700
|
navEditIcon: "تعديل الأيقونة",
|
|
1285
1701
|
navToggleVisible: "تبديل الرؤية",
|
|
1286
1702
|
navHidden: "مخفي",
|
|
@@ -1358,11 +1774,8 @@ const ar = {
|
|
|
1358
1774
|
defaultValue: "القيمة الافتراضية",
|
|
1359
1775
|
placeholder: "نص تلميحي",
|
|
1360
1776
|
referenceTo: "مرجع إلى",
|
|
1361
|
-
formula: "صيغة",
|
|
1362
1777
|
options: "خيارات",
|
|
1363
1778
|
addOption: "إضافة خيار",
|
|
1364
|
-
validationRules: "قواعد التحقق",
|
|
1365
|
-
addRule: "إضافة قاعدة",
|
|
1366
1779
|
systemBadge: "النظام",
|
|
1367
1780
|
ungrouped: "عام",
|
|
1368
1781
|
deleteConfirmTitle: "حذف الحقل؟",
|
|
@@ -1381,16 +1794,39 @@ const ar = {
|
|
|
1381
1794
|
},
|
|
1382
1795
|
},
|
|
1383
1796
|
console: {
|
|
1797
|
+
studio: {
|
|
1798
|
+
title: "Studio",
|
|
1799
|
+
accessRequired: "تحتاج إلى صلاحية الوصول إلى Studio لفتح Studio.",
|
|
1800
|
+
},
|
|
1384
1801
|
saveAdvisoryTitle: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1802
|
+
saveAdvisoryTitle_zero: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1803
|
+
saveAdvisoryTitle_one: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1804
|
+
saveAdvisoryTitle_two: "تم الحفظ — أنتج فحص التأليف ملاحظتين إرشاديتين ({{count}})",
|
|
1805
|
+
saveAdvisoryTitle_few: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظات إرشادية",
|
|
1806
|
+
saveAdvisoryTitle_many: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1807
|
+
saveAdvisoryTitle_other: "تم الحفظ — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1808
|
+
publishAdvisoryTitle: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1809
|
+
publishAdvisoryTitle_zero: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1810
|
+
publishAdvisoryTitle_one: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1811
|
+
publishAdvisoryTitle_two: "تم النشر — أنتج فحص التأليف ملاحظتين إرشاديتين ({{count}})",
|
|
1812
|
+
publishAdvisoryTitle_few: "تم النشر — أنتج فحص التأليف {{count}} ملاحظات إرشادية",
|
|
1813
|
+
publishAdvisoryTitle_many: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1814
|
+
publishAdvisoryTitle_other: "تم النشر — أنتج فحص التأليف {{count}} ملاحظة إرشادية",
|
|
1815
|
+
importMappingsUnavailable: "تعذّر تحميل تعيينات الاستيراد المحفوظة لـ {{object}}",
|
|
1816
|
+
importMappingsRefused: "رفض الخادم هذا الطلب، لذلك فإن هذه القائمة فارغة لأنه تعذّرت قراءتها، لا لأنه لا يوجد شيء مسجَّل. سجّل الدخول مرة أخرى أو اطلب صلاحية الوصول من المسؤول.",
|
|
1817
|
+
importMappingsUnreadable: "هذه القائمة فارغة لأنه تعذّرت قراءتها، لا لأنه لا يوجد شيء مسجَّل. أعد المحاولة، وأبلغ عن المشكلة إذا استمرت.",
|
|
1818
|
+
savedViewsUnavailable: "تعذّر تحميل العروض المحفوظة لـ {{object}}",
|
|
1819
|
+
savedViewsRefused: "رفض الخادم هذا الطلب، لذلك فإن هذه القائمة فارغة لأنه تعذّرت قراءتها، لا لأن هذا الكائن ليس لديه عروض محفوظة. سجّل الدخول مرة أخرى أو اطلب صلاحية الوصول من المسؤول.",
|
|
1820
|
+
savedViewsUnreadable: "هذه القائمة فارغة لأنه تعذّرت قراءتها، لا لأن هذا الكائن ليس لديه عروض محفوظة. أعد المحاولة، وأبلغ عن المشكلة إذا استمرت.",
|
|
1385
1821
|
settingsHub: {
|
|
1386
1822
|
title: "الإعدادات",
|
|
1387
|
-
subtitle: "اضبط
|
|
1823
|
+
subtitle: "اضبط النظام والتكاملات وأعلام الميزات.",
|
|
1388
1824
|
loadError: "تعذّر تحميل الإعدادات",
|
|
1389
1825
|
empty: "لا توجد إعدادات مسجّلة. يمكن للإضافات تسجيل بيانات الإعدادات عبر SettingsService.",
|
|
1390
1826
|
settingsCount: "{{n}} من الإعدادات",
|
|
1391
1827
|
beta: "إصدار تجريبي",
|
|
1392
1828
|
categories: {
|
|
1393
|
-
Workspace: "
|
|
1829
|
+
Workspace: "عام",
|
|
1394
1830
|
Communication: "الاتصالات",
|
|
1395
1831
|
Security: "الأمان",
|
|
1396
1832
|
Infrastructure: "البنية التحتية",
|
|
@@ -1435,13 +1871,26 @@ const ar = {
|
|
|
1435
1871
|
},
|
|
1436
1872
|
usage: {
|
|
1437
1873
|
title: "استخدام الذكاء الاصطناعي",
|
|
1438
|
-
|
|
1439
|
-
meterAsk: "السؤال",
|
|
1874
|
+
poolUsed: "تم استخدام {{percent}}",
|
|
1440
1875
|
statusOk: "المتبقّي وفير",
|
|
1441
1876
|
statusLow: "على وشك النفاد",
|
|
1442
1877
|
statusFull: "تم بلوغ الحد",
|
|
1443
1878
|
resetsDaily: "تُعاد التهيئة الليلة",
|
|
1444
1879
|
resetsMonthly: "تُعاد التهيئة في الدورة القادمة",
|
|
1880
|
+
resetsWeeklyDays: "{{count}} يوم(أيام) حتى إعادة التعيين",
|
|
1881
|
+
resetsWeeklyDays_zero: "{{count}} يوم حتى إعادة التعيين",
|
|
1882
|
+
resetsWeeklyDays_one: "{{count}} يوم حتى إعادة التعيين",
|
|
1883
|
+
resetsWeeklyDays_two: "يومان ({{count}}) حتى إعادة التعيين",
|
|
1884
|
+
resetsWeeklyDays_few: "{{count}} أيام حتى إعادة التعيين",
|
|
1885
|
+
resetsWeeklyDays_many: "{{count}} يومًا حتى إعادة التعيين",
|
|
1886
|
+
resetsWeeklyDays_other: "{{count}} يوم حتى إعادة التعيين",
|
|
1887
|
+
resetsWeeklyHours: "{{count}} ساعة(ساعات) حتى إعادة التعيين",
|
|
1888
|
+
resetsWeeklyHours_zero: "{{count}} ساعة حتى إعادة التعيين",
|
|
1889
|
+
resetsWeeklyHours_one: "{{count}} ساعة حتى إعادة التعيين",
|
|
1890
|
+
resetsWeeklyHours_two: "ساعتان ({{count}}) حتى إعادة التعيين",
|
|
1891
|
+
resetsWeeklyHours_few: "{{count}} ساعات حتى إعادة التعيين",
|
|
1892
|
+
resetsWeeklyHours_many: "{{count}} ساعة حتى إعادة التعيين",
|
|
1893
|
+
resetsWeeklyHours_other: "{{count}} ساعة حتى إعادة التعيين",
|
|
1445
1894
|
ctaUpgrade: "قم بالترقية للمتابعة",
|
|
1446
1895
|
ctaTopUp: "أضف أرصدة للمتابعة",
|
|
1447
1896
|
ariaLabel: "استخدام الذكاء الاصطناعي: {{status}}",
|
|
@@ -1454,6 +1903,31 @@ const ar = {
|
|
|
1454
1903
|
share: "مشاركة",
|
|
1455
1904
|
shareTitle: "مشاركة هذه المحادثة",
|
|
1456
1905
|
shareDisabledTitle: "ابدأ المحادثة لتفعيل المشاركة",
|
|
1906
|
+
buildDoctor: "تشخيص البناء",
|
|
1907
|
+
buildDoctorTitle: "تشخيص البناء — ما الذي طُبِّق فعلًا؟",
|
|
1908
|
+
buildDoctorDisabledTitle: "أرسل رسالة أولًا",
|
|
1909
|
+
buildDoctorDrawer: {
|
|
1910
|
+
description: 'ما ادّعاه الوكيل مقابل ما هو فعّال فعلًا. تشخيص للقراءة فقط.',
|
|
1911
|
+
reconciling: 'جارٍ المطابقة…',
|
|
1912
|
+
notAvailable: 'غير متاح — لم يتم العثور على المحادثة أو ليست لديك صلاحية.',
|
|
1913
|
+
untitled: '(بدون عنوان)',
|
|
1914
|
+
summary: 'الجولات: {{turns}} · الرسائل: {{messages}} · الرموز: {{tokens}} · LLM: {{seconds}} ث',
|
|
1915
|
+
allLive: 'جميع التغييرات التي جرت محاولتها ({{count}}) فعّالة — لم يُفقد شيء.',
|
|
1916
|
+
discrepancies: 'عدد التناقضات: {{count}} — ما قالته المحادثة لا يطابق ما هو فعّال.',
|
|
1917
|
+
orphanedTitle: 'مقترح ولكن لم يُطبَّق أبدًا',
|
|
1918
|
+
orphanedHint: 'بطاقة تأكيد اقترحها الوكيل ولكن لم تطبّقها أي جولة لاحقة — فُقد التغيير بصمت.',
|
|
1919
|
+
missingTitle: 'مُدّعى ولكنه مفقود',
|
|
1920
|
+
missingHint: 'ذكرت نتيجة أداة أنه تم التطبيق، لكن العنصر غير فعّال في sys_metadata.',
|
|
1921
|
+
toolErrorsTitle: 'أخطاء الأدوات',
|
|
1922
|
+
toolErrorsHint: 'استدعاءات الأدوات التي أعادت خطأً أثناء البناء.',
|
|
1923
|
+
verifyTitle: 'فحص البناء (verify_build)',
|
|
1924
|
+
yourApp: 'تطبيقك:',
|
|
1925
|
+
noIssues: 'عدد المشكلات: 0',
|
|
1926
|
+
issueCount: 'عدد المشكلات: {{count}}',
|
|
1927
|
+
platformNoise: 'تم إخفاء {{count}} من نتائج المنصة sys_*',
|
|
1928
|
+
pendingActions: 'الإجراءات المعلّقة',
|
|
1929
|
+
timeline: 'المخطط الزمني ({{count}})',
|
|
1930
|
+
},
|
|
1457
1931
|
newChat: "جديدة",
|
|
1458
1932
|
searchChats: "البحث في المحادثات…",
|
|
1459
1933
|
noChatsYet: "لا توجد محادثات بعد",
|
|
@@ -1476,6 +1950,8 @@ const ar = {
|
|
|
1476
1950
|
liveCanvasUnlisted: "تطبيق حي — {{app}} (غير مُدرج حتى النشر)",
|
|
1477
1951
|
loadingAgents: "جارٍ تحميل الوكلاء…",
|
|
1478
1952
|
askAnything: "اسأل عن أي شيء…",
|
|
1953
|
+
askOrChangeApp: "اسأل عن بياناتك، أو اطلب مني تعديل هذا التطبيق…",
|
|
1954
|
+
describeAppToBuild: "صِف التطبيق الذي تريد إنشاءه، أو ما تريد تغييره…",
|
|
1479
1955
|
emptyTitle: "ابدأ محادثة",
|
|
1480
1956
|
emptyDescription: "اسأل عن أي شيء — يمكن للمساعد الاطلاع على سياق تطبيقك الحالي.",
|
|
1481
1957
|
switchAssistant: "تبديل المساعد",
|
|
@@ -1483,7 +1959,7 @@ const ar = {
|
|
|
1483
1959
|
empty: {
|
|
1484
1960
|
build: {
|
|
1485
1961
|
title: "الإنشاء بالذكاء الاصطناعي",
|
|
1486
|
-
description: "صف تطبيقًا
|
|
1962
|
+
description: "صف تطبيقًا بلغة بسيطة — سأعدّ مسودة الكائنات والشاشات والبيانات النموذجية، ثم تراجعها وتنشرها.",
|
|
1487
1963
|
},
|
|
1488
1964
|
ask: {
|
|
1489
1965
|
title: "اسأل بياناتك",
|
|
@@ -1492,17 +1968,22 @@ const ar = {
|
|
|
1492
1968
|
editApp: {
|
|
1493
1969
|
title: "تحرير «{{app}}»",
|
|
1494
1970
|
titleGeneric: "تحرير هذا التطبيق",
|
|
1495
|
-
description: "ما الذي تريد تغييره؟ سأعدّل هذا التطبيق في مكانه — إضافة حقل أو كائن أو عرض أو
|
|
1971
|
+
description: "ما الذي تريد تغييره؟ سأعدّل هذا التطبيق في مكانه — إضافة حقل أو كائن أو عرض أو لوحة معلومات، أو تعديل ما هو موجود.",
|
|
1496
1972
|
},
|
|
1497
1973
|
},
|
|
1498
1974
|
clearConversation: "مسح",
|
|
1499
1975
|
sendHint: "للإرسال",
|
|
1976
|
+
newlineHint: "لسطر جديد",
|
|
1500
1977
|
agentActivity: "نشاط الوكيل",
|
|
1501
1978
|
toolCompleted: "مكتمل",
|
|
1502
1979
|
toolRunning: "قيد التنفيذ",
|
|
1503
1980
|
toolAwaitingApproval: "بانتظار الموافقة",
|
|
1504
1981
|
toolFailed: "فشل",
|
|
1505
1982
|
toolDetailsHidden: "مدخلات الأدوات والنتائج الخام مخفية في هذا العرض.",
|
|
1983
|
+
toolDenyReason: "رفضه المشغّل من المحادثة",
|
|
1984
|
+
builderHandoffTitle: "الإنشاء في المُنشئ",
|
|
1985
|
+
builderHandoffOpen: "فتح في المُنشئ →",
|
|
1986
|
+
builderHandoffSuperseded: "يتوفر طلب أحدث",
|
|
1506
1987
|
copy: "نسخ",
|
|
1507
1988
|
copied: "تم النسخ",
|
|
1508
1989
|
regenerate: "إعادة التوليد",
|
|
@@ -1517,7 +1998,7 @@ const ar = {
|
|
|
1517
1998
|
publishOk: "تم النشر — الكائنات فعّالة الآن.",
|
|
1518
1999
|
seedWarn: "تم النشر، لكن تعذّر تحميل بعض البيانات التجريبية.",
|
|
1519
2000
|
openBuiltApp: "فتح التطبيق",
|
|
1520
|
-
|
|
2001
|
+
viewBuiltAppInStudio: "العرض في Studio",
|
|
1521
2002
|
previewDraft: "معاينة",
|
|
1522
2003
|
previewApp: "معاينة التطبيق",
|
|
1523
2004
|
resizeSplit: "تغيير حجم المحادثة والمعاينة",
|
|
@@ -1545,23 +2026,41 @@ const ar = {
|
|
|
1545
2026
|
recentRecords: "اذكر أحدث 5 سجلات تم إنشاؤها.",
|
|
1546
2027
|
recordCounts: "احسب عدد السجلات لكل كائن.",
|
|
1547
2028
|
},
|
|
2029
|
+
// cloud#1984 — these five chips are the maker's own recommendations, so
|
|
2030
|
+
// they may only ask for what ADR-0112 v1 BUILDS: objects, fields, views
|
|
2031
|
+
// (grid/kanban/calendar/gallery), pages, dashboards and sample data. No
|
|
2032
|
+
// wording that promises autonomous behaviour (alert / remind / notify /
|
|
2033
|
+
// automate / status workflow) — v1 has no flows, actions or schedules, and
|
|
2034
|
+
// the model silently degrades such a request into a board or a filtered
|
|
2035
|
+
// view, so the chip would promise an alert and deliver a page. REVERT to
|
|
2036
|
+
// the automation wording when ADR-0112 v2 re-adds flows and actions.
|
|
1548
2037
|
metadataAssistant: {
|
|
1549
|
-
buildCrm: "أنشئ نظام إدارة علاقات عملاء للمبيعات — عملاء وجهات اتصال
|
|
1550
|
-
buildApp: "أنشئ متتبّع مشاريع — مشاريع ومهام بمسؤولين وتواريخ
|
|
1551
|
-
buildFlow: "صمّم مكتب دعم — تذاكر
|
|
1552
|
-
buildInventory: "أنشئ تطبيق مخزون — منتجات ومستويات مخزون
|
|
1553
|
-
buildRecruiting: "أنشئ متتبّع متقدمين — مرشحون ووظائف شاغرة
|
|
2038
|
+
buildCrm: "أنشئ نظام إدارة علاقات عملاء للمبيعات — عملاء وجهات اتصال وصفقات بحقل للمرحلة، ولوحة معلومات تجمع قيمة الصفقات حسب المرحلة.",
|
|
2039
|
+
buildApp: "أنشئ متتبّع مشاريع — مشاريع ومهام بمسؤولين وتواريخ استحقاق، ولوحة حسب الحالة، وتقويم لتواريخ الاستحقاق.",
|
|
2040
|
+
buildFlow: "صمّم مكتب دعم — تذاكر بحقلي الأولوية والحالة، ولوحة حسب الحالة، وروابط بالعملاء.",
|
|
2041
|
+
buildInventory: "أنشئ تطبيق مخزون — منتجات ومستويات مخزون وموردين، وعرض يصفّي الأصناف دون حد إعادة الطلب.",
|
|
2042
|
+
buildRecruiting: "أنشئ متتبّع متقدمين — مرشحون ووظائف شاغرة وحقل لمرحلة المقابلة، ولوحة حسب المرحلة.",
|
|
1554
2043
|
},
|
|
1555
2044
|
generic: {
|
|
1556
2045
|
help: "بماذا يمكنك مساعدتي؟",
|
|
1557
2046
|
availableObjects: "اذكر كائنات البيانات المتاحة.",
|
|
1558
2047
|
recentActivity: "لخّص نشاطي الأخير.",
|
|
1559
2048
|
},
|
|
2049
|
+
// objectui#7709 — the edit-mode starters, shown when the maker is bound
|
|
2050
|
+
// to an EXISTING app (`?package=`). Same rule as the five above: they
|
|
2051
|
+
// may only ask for what ADR-0112 v1 BUILDS. The fourth chip used to be
|
|
2052
|
+
// `addAutomation` ("an approval, a status flow, or a notification") and
|
|
2053
|
+
// every capability it named is refused by v1 (cloud#1956 / PR #1970), so
|
|
2054
|
+
// it now asks for sample data — `seed` IS on v1's whitelist, and having
|
|
2055
|
+
// no data is what an existing app most often lacks. REVERT: when
|
|
2056
|
+
// ADR-0112 v2 re-adds flows and actions, THIS chip's automation wording
|
|
2057
|
+
// comes back as `addAutomation`; the retired string is pinned for every
|
|
2058
|
+
// pack in `packages/i18n/src/__tests__/makerEditChips-v1-scope-7709.test.ts`.
|
|
1560
2059
|
editApp: {
|
|
1561
2060
|
addField: "أضف حقلًا إلى أحد الكائنات.",
|
|
1562
2061
|
addObject: "أضف كائنًا جديدًا واربطه بكائن موجود.",
|
|
1563
2062
|
addDashboard: "أضف لوحة معلومات للمؤشرات الرئيسية.",
|
|
1564
|
-
|
|
2063
|
+
addSampleData: "املأ الكائنات الحالية ببيانات نموذجية واقعية تصلح للعرض التوضيحي.",
|
|
1565
2064
|
},
|
|
1566
2065
|
},
|
|
1567
2066
|
changesTitle: "تأكيد التغييرات",
|
|
@@ -1626,6 +2125,7 @@ const ar = {
|
|
|
1626
2125
|
collapse: "طي المحادثة",
|
|
1627
2126
|
maximize: "فتح كصفحة كاملة",
|
|
1628
2127
|
open: "فتح المساعد",
|
|
2128
|
+
planAwaitingApproval: "خطة مقترحة بانتظار موافقتك",
|
|
1629
2129
|
},
|
|
1630
2130
|
group: {
|
|
1631
2131
|
today: "اليوم",
|
|
@@ -1636,13 +2136,17 @@ const ar = {
|
|
|
1636
2136
|
},
|
|
1637
2137
|
},
|
|
1638
2138
|
title: "وحدة تحكم ObjectStack",
|
|
1639
|
-
initializing: "
|
|
1640
|
-
|
|
2139
|
+
initializing: "جارٍ فتح وحدة التحكم…",
|
|
2140
|
+
skipToContent: "الانتقال إلى المحتوى",
|
|
1641
2141
|
breadcrumb: {
|
|
1642
|
-
dashboards: "لوحات المعلومات",
|
|
1643
|
-
pages: "الصفحات",
|
|
1644
|
-
reports: "التقارير",
|
|
1645
2142
|
system: "النظام",
|
|
2143
|
+
marketplace: "السوق",
|
|
2144
|
+
settings: 'الإعدادات',
|
|
2145
|
+
apps: 'التطبيقات',
|
|
2146
|
+
profile: 'الملف الشخصي',
|
|
2147
|
+
approvals: 'الموافقات',
|
|
2148
|
+
aiApprovals: 'موافقات الذكاء الاصطناعي',
|
|
2149
|
+
auditLog: 'سجل التدقيق',
|
|
1646
2150
|
},
|
|
1647
2151
|
// objectui#4024 — the single-namespace settings screen. Its sibling
|
|
1648
2152
|
// `settingsHub` above already resolved through this pack; the view was the
|
|
@@ -1661,18 +2165,40 @@ const ar = {
|
|
|
1661
2165
|
discard: "تجاهل",
|
|
1662
2166
|
saveChanges: "حفظ التغييرات",
|
|
1663
2167
|
unsavedCount: "{{count}} تغيير(تغييرات) غير محفوظ",
|
|
2168
|
+
unsavedCount_zero: "{{count}} تغيير غير محفوظ",
|
|
1664
2169
|
unsavedCount_one: "{{count}} تغيير غير محفوظ",
|
|
1665
|
-
|
|
2170
|
+
unsavedCount_two: "تغييران غير محفوظين ({{count}})",
|
|
2171
|
+
unsavedCount_few: "{{count}} تغييرات غير محفوظة",
|
|
2172
|
+
unsavedCount_many: "{{count}} تغييرًا غير محفوظ",
|
|
2173
|
+
unsavedCount_other: "{{count}} تغيير غير محفوظ",
|
|
2174
|
+
fieldErrorsToast: "إعدادات تحتاج إلى مراجعة ({{count}}): {{settings}}",
|
|
2175
|
+
fieldErrorsToast_zero: "{{count}} إعداد يحتاج إلى مراجعة: {{settings}}",
|
|
2176
|
+
fieldErrorsToast_one: "{{count}} إعداد يحتاج إلى مراجعة: {{settings}}",
|
|
2177
|
+
fieldErrorsToast_two: "إعدادان يحتاجان إلى مراجعة ({{count}}): {{settings}}",
|
|
2178
|
+
fieldErrorsToast_few: "{{count}} إعدادات تحتاج إلى مراجعة: {{settings}}",
|
|
2179
|
+
fieldErrorsToast_many: "{{count}} إعدادًا يحتاج إلى مراجعة: {{settings}}",
|
|
2180
|
+
fieldErrorsToast_other: "{{count}} إعداد يحتاج إلى مراجعة: {{settings}}",
|
|
1666
2181
|
cryptoRefusalTitle: "لا يمكن لهذا النشر تشفير الأسرار",
|
|
1667
2182
|
cryptoRefusalSubjectSuffix: "معلن كمشفَّر، لذلك لم تتم كتابة أي شيء.",
|
|
1668
2183
|
cryptoRefusalNoSubject: "تم رفض القيمة المعلنة كمشفَّرة، لذلك لم تتم كتابة أي شيء.",
|
|
1669
2184
|
cryptoRefusalToast: "تعذّر تشفير الأسرار: {{subject}}",
|
|
1670
2185
|
cryptoRefusalToastNoSubject: "تعذّر تشفير الأسرار",
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
2186
|
+
sourceBadgeInherited: "موروث من {{source}}",
|
|
2187
|
+
sourceBadgeOverrides: "يتجاوز {{source}}",
|
|
2188
|
+
resetToDefault: "إعادة التعيين إلى الافتراضي",
|
|
2189
|
+
envLockBadge: "مقفل بواسطة البيئة",
|
|
2190
|
+
envLockBadgeTitle: "مثبّت بواسطة متغير بيئة — لا يمكن تعديله من الواجهة.",
|
|
2191
|
+
deprecatedBadge: "مهمل",
|
|
2192
|
+
deprecatedBadgeReplacedBy: "مهمل ← {{replacedBy}}",
|
|
2193
|
+
unsupportedSpecifierType: "نوع إعداد غير مدعوم: {{type}}",
|
|
2194
|
+
},
|
|
2195
|
+
workspaceTimezonePrompt: {
|
|
2196
|
+
title: "تعيين المنطقة الزمنية للنظام",
|
|
2197
|
+
description: "لا يزال هذا النظام يستخدم المنطقة الزمنية الافتراضية للمنصة، {{current}}. تحدد المنطقة الزمنية للنظام معنى \"اليوم\" في الصيغ، وكيفية تجميع التقارير حسب التاريخ، وكيفية عرض التواريخ والأوقات، لجميع مستخدمي النظام. تم إدخال المنطقة الزمنية لمتصفحك أدناه.",
|
|
2198
|
+
laterHint: "يمكنك تغييرها في أي وقت من صفحة الإعدادات.",
|
|
2199
|
+
decline: "الإبقاء على الافتراضي",
|
|
2200
|
+
confirm: "تعيين المنطقة الزمنية",
|
|
2201
|
+
saved: "تم تعيين المنطقة الزمنية للنظام إلى {{zone}}",
|
|
1676
2202
|
},
|
|
1677
2203
|
error: {
|
|
1678
2204
|
connectionFailed: "تعذّر الاتصال بالخادم",
|
|
@@ -1682,7 +2208,7 @@ const ar = {
|
|
|
1682
2208
|
},
|
|
1683
2209
|
actions: {
|
|
1684
2210
|
retry: "إعادة المحاولة",
|
|
1685
|
-
retrying: "
|
|
2211
|
+
retrying: "جارٍ إعادة المحاولة…",
|
|
1686
2212
|
},
|
|
1687
2213
|
serverAction: {
|
|
1688
2214
|
openingTitle: "جارٍ الفتح…",
|
|
@@ -1697,27 +2223,28 @@ const ar = {
|
|
|
1697
2223
|
groups: {
|
|
1698
2224
|
general: "عام",
|
|
1699
2225
|
navigation: "التنقل",
|
|
1700
|
-
dataViews: "عروض البيانات",
|
|
1701
2226
|
aiChat: "مساعد الذكاء الاصطناعي",
|
|
1702
|
-
preferences: "التفضيلات",
|
|
1703
2227
|
},
|
|
1704
2228
|
openCommandPalette: "فتح لوحة الأوامر",
|
|
1705
2229
|
showShortcuts: "عرض اختصارات لوحة المفاتيح",
|
|
1706
2230
|
closeDialog: "إغلاق النافذة / اللوحة",
|
|
1707
2231
|
toggleSidebar: "تبديل الشريط الجانبي",
|
|
1708
|
-
focusSearch: "التركيز على البحث",
|
|
1709
|
-
createRecord: "إنشاء سجل جديد",
|
|
1710
|
-
refreshData: "تحديث البيانات",
|
|
1711
|
-
editRecord: "تعديل السجل المحدد",
|
|
1712
2232
|
newChat: "محادثة جديدة",
|
|
1713
2233
|
toggleChatsList: "تبديل قائمة المحادثات",
|
|
1714
|
-
|
|
2234
|
+
goHome: "العودة إلى الرئيسية",
|
|
2235
|
+
},
|
|
2236
|
+
reportIndex: {
|
|
2237
|
+
title: "التقارير",
|
|
2238
|
+
emptyTitle: "لا توجد تقارير",
|
|
2239
|
+
emptyDescription: "لا يحتوي هذا التطبيق على تقارير يمكنك فتحها.",
|
|
1715
2240
|
},
|
|
1716
2241
|
commandPalette: {
|
|
1717
2242
|
title: "لوحة الأوامر",
|
|
1718
2243
|
placeholder: "اكتب أمراً أو ابحث…",
|
|
1719
2244
|
noResults: "لم يتم العثور على نتائج.",
|
|
1720
2245
|
objects: "الكائنات",
|
|
2246
|
+
packages: "الحزم",
|
|
2247
|
+
flows: "التدفقات",
|
|
1721
2248
|
dashboards: "لوحات المعلومات",
|
|
1722
2249
|
pages: "الصفحات",
|
|
1723
2250
|
reports: "التقارير",
|
|
@@ -1734,6 +2261,21 @@ const ar = {
|
|
|
1734
2261
|
records: "السجلات",
|
|
1735
2262
|
recentRecords: "شوهد مؤخراً",
|
|
1736
2263
|
},
|
|
2264
|
+
// objectui#9954 — see the `en` pack for what raises each case.
|
|
2265
|
+
readRate: {
|
|
2266
|
+
ratioTitle: 'حجم قراءة غير معتاد في هذا النظام',
|
|
2267
|
+
ratio: 'تتم قراءة {{ratio}} صف مقابل كل صف مكتوب. تُعلِّم المنصة كل ما يتجاوز {{threshold}}. لا يتم تقييد أو حظر أي شيء؛ هذا تقرير لمراجعة نمط القراءة.',
|
|
2268
|
+
noWritesTitle: 'قراءات بدون أي كتابة في هذا النظام',
|
|
2269
|
+
noWrites: 'تتم قراءة صفوف دون كتابة أي صف على الإطلاق، لذا لا يوجد حد أعلى لمعدل القراءة. هذه هي أخطر قراءة. تُعلِّم المنصة كل ما يتجاوز {{threshold}}. لا يتم تقييد أو حظر أي شيء؛ هذا تقرير لمراجعة نمط القراءة.',
|
|
2270
|
+
},
|
|
2271
|
+
// objectui#10439 — see the `en` pack for what raises each case.
|
|
2272
|
+
storageUsage: {
|
|
2273
|
+
warningTitle: 'مساحة التخزين توشك على الامتلاء',
|
|
2274
|
+
warning: 'تم استخدام {{used}} ميغابايت من {{limit}} ميغابايت. يتوقف الرفع والاستيراد مؤقتًا عند امتلاء مساحة التخزين.',
|
|
2275
|
+
blockedTitle: 'مساحة التخزين ممتلئة: الرفع والاستيراد متوقفان مؤقتًا',
|
|
2276
|
+
blocked: 'تم استخدام {{used}} ميغابايت من {{limit}} ميغابايت. البيانات الحالية لم تُمس، ولا تزال القراءة والتصدير وتعديل السجلات الفردية تعمل.',
|
|
2277
|
+
upgrade: 'قم بالترقية للمتابعة',
|
|
2278
|
+
},
|
|
1737
2279
|
errors: {
|
|
1738
2280
|
somethingWentWrong: "حدث خطأ ما",
|
|
1739
2281
|
unexpectedError: "حدث خطأ غير متوقع أثناء عرض هذا المحتوى.",
|
|
@@ -1764,22 +2306,33 @@ const ar = {
|
|
|
1764
2306
|
viewNameInvalid: "استخدم أحرفًا إنجليزية صغيرة وأرقامًا وشرطات سفلية؛ وابدأ بحرف أو شرطة سفلية.",
|
|
1765
2307
|
systemViewReadonly: "عرض النظام معرَّف في الكود — للقراءة فقط.",
|
|
1766
2308
|
cannotEditMetaView: "هذا عرض مدمج معرَّف في الكود — لا يمكن تعديله.",
|
|
2309
|
+
resetView: "إعادة تعيين العرض",
|
|
2310
|
+
resetViewTitle: "إعادة هذا العرض إلى الفرز وعوامل التصفية وعرض الأعمدة الخاصة به. تتغير إعداداتك فقط.",
|
|
1767
2311
|
cannotDeleteMetaView: "هذا عرض مدمج معرَّف في الكود — لا يمكن حذفه.",
|
|
1768
2312
|
expandToPage: "فتح كصفحة كاملة",
|
|
1769
2313
|
objectNotFound: "الكائن غير موجود",
|
|
1770
2314
|
objectNotFoundDescription: "الكائن \"{{objectName}}\" غير موجود في الإعدادات الحالية.",
|
|
1771
2315
|
objectNotFoundHint: "تحقق من إعدادات التنقل في تطبيقك أو اختر كائنًا آخر من الشريط الجانبي.",
|
|
2316
|
+
objectPackageDisabled: "الكائن \"{{objectName}}\" ينتمي إلى حزمة معطّلة، لذلك لا يتم تقديمه.",
|
|
1772
2317
|
filterOrNotSavable: "يستخدم هذا الفلتر «أو» بين الشروط، وهو ما لا يمكن للعرض المحفوظ تخزينه بعد. لا يزال مطبقًا على هذه القائمة — أزل تجميع «أو» لحفظه في العرض.",
|
|
1773
2318
|
filterNestedNotSavable: "يستخدم هذا الفلتر مجموعات شروط متداخلة لا يمكن للعرض المحفوظ تخزينها. حوّله إلى قائمة شروط واحدة لحفظه في العرض.",
|
|
1774
2319
|
allRecords: "جميع السجلات",
|
|
1775
2320
|
new: "جديد",
|
|
1776
2321
|
configureView: "تكوين العرض",
|
|
1777
|
-
toolbar: "شريط الأدوات",
|
|
1778
2322
|
toolbarEnabledCount: "{{count}} من {{total}} مفعّل",
|
|
1779
2323
|
searchFields: "البحث في الحقول…",
|
|
1780
2324
|
title: "العنوان",
|
|
1781
2325
|
viewType: "نوع العرض",
|
|
1782
|
-
|
|
2326
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
2327
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
2328
|
+
// without a count.
|
|
2329
|
+
recordCount: "عدد السجلات: {{count}}",
|
|
2330
|
+
recordCount_zero: "{{count}} سجل",
|
|
2331
|
+
recordCount_one: "{{count}} سجل",
|
|
2332
|
+
recordCount_two: "سجلان ({{count}})",
|
|
2333
|
+
recordCount_few: "{{count}} سجلات",
|
|
2334
|
+
recordCount_many: "{{count}} سجلًا",
|
|
2335
|
+
recordCount_other: "{{count}} سجل",
|
|
1783
2336
|
save: "حفظ",
|
|
1784
2337
|
discard: "تجاهل",
|
|
1785
2338
|
createView: "إنشاء عرض",
|
|
@@ -1791,11 +2344,16 @@ const ar = {
|
|
|
1791
2344
|
longitudeField: "حقل خط الطول",
|
|
1792
2345
|
imageField: "حقل الصورة",
|
|
1793
2346
|
selectField: "اختر حقلاً…",
|
|
1794
|
-
groupBy: "تجميع حسب",
|
|
1795
2347
|
endDateField: "حقل تاريخ الانتهاء",
|
|
1796
2348
|
import: "استيراد",
|
|
1797
2349
|
importTitle: "استيراد من CSV",
|
|
1798
2350
|
importedToast: "تم استيراد {{count}} صف(صفوف).",
|
|
2351
|
+
importedToast_zero: "تم استيراد {{count}} صف.",
|
|
2352
|
+
importedToast_one: "تم استيراد {{count}} صف.",
|
|
2353
|
+
importedToast_two: "تم استيراد صفين ({{count}}).",
|
|
2354
|
+
importedToast_few: "تم استيراد {{count}} صفوف.",
|
|
2355
|
+
importedToast_many: "تم استيراد {{count}} صفًا.",
|
|
2356
|
+
importedToast_other: "تم استيراد {{count}} صف.",
|
|
1799
2357
|
importedWithSkipped: "تم استيراد {{ok}} صف(صفوف)؛ تم تخطي {{skipped}}.",
|
|
1800
2358
|
createViewDesc: "اختر نوع العرض وأعطه اسماً. يمكن تغيير جميع الإعدادات لاحقاً.",
|
|
1801
2359
|
cancel: "إلغاء",
|
|
@@ -1804,6 +2362,12 @@ const ar = {
|
|
|
1804
2362
|
deleteViewTitle: "حذف العرض",
|
|
1805
2363
|
deleteViewConfirm: "حذف العرض \"{{name}}\"؟ لا يمكن التراجع عن ذلك.",
|
|
1806
2364
|
bulkDeleteConfirm: "حذف {{count}} سجل(ات) محدد(ة)؟ لا يمكن التراجع عن ذلك.",
|
|
2365
|
+
bulkDeleteConfirm_zero: "حذف {{count}} سجل محدد؟ لا يمكن التراجع عن ذلك.",
|
|
2366
|
+
bulkDeleteConfirm_one: "حذف {{count}} سجل محدد؟ لا يمكن التراجع عن ذلك.",
|
|
2367
|
+
bulkDeleteConfirm_two: "حذف سجلين محددين ({{count}})؟ لا يمكن التراجع عن ذلك.",
|
|
2368
|
+
bulkDeleteConfirm_few: "حذف {{count}} سجلات محددة؟ لا يمكن التراجع عن ذلك.",
|
|
2369
|
+
bulkDeleteConfirm_many: "حذف {{count}} سجلًا محددًا؟ لا يمكن التراجع عن ذلك.",
|
|
2370
|
+
bulkDeleteConfirm_other: "حذف {{count}} سجل محدد؟ لا يمكن التراجع عن ذلك.",
|
|
1807
2371
|
duplicateViewName: "يوجد عرض بهذا الاسم بالفعل.",
|
|
1808
2372
|
viewTypeGrid: "شبكة",
|
|
1809
2373
|
viewTypeGridDesc: "جدول سجلات بأسلوب جدول البيانات.",
|
|
@@ -1840,14 +2404,22 @@ const ar = {
|
|
|
1840
2404
|
chartTypePie: "مخطط دائري",
|
|
1841
2405
|
chartTypeArea: "مخطط مساحة",
|
|
1842
2406
|
chartTypeScatter: "مخطط نقطي",
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
2407
|
+
dataset: "مجموعة البيانات",
|
|
2408
|
+
datasetHelp: "يقرأ المخطط أرقامه من مجموعة البيانات هذه الخاصة بالكائن.",
|
|
2409
|
+
chartMeasure: "المقياس",
|
|
2410
|
+
chartMeasureHelp: "مقياس مجموعة البيانات المعروض على محور القيم.",
|
|
2411
|
+
chartDimension: "البُعد",
|
|
2412
|
+
chartDimensionHelp: "بُعد مجموعة البيانات الذي تُجمَّع القيم حسبه (اختياري).",
|
|
2413
|
+
viewTypeUnavailableDataset: "لا يوفّر هذا الكائن أي مجموعة بيانات للمخطط.",
|
|
2414
|
+
noDatasetMeasure: "لا تعلن مجموعة البيانات هذه عن أي مقياس للمخطط.",
|
|
1847
2415
|
ufTabs: "علامات تبويب",
|
|
1848
2416
|
ufAddField: "+ إضافة حقل فلتر…",
|
|
1849
2417
|
ufShowAllRecords: "إظهار علامة \"جميع السجلات\"",
|
|
1850
2418
|
},
|
|
2419
|
+
runtimeDraft: {
|
|
2420
|
+
publishFailed: "فشل النشر",
|
|
2421
|
+
discardFailed: "فشل تجاهل المسودة",
|
|
2422
|
+
},
|
|
1851
2423
|
localeSwitcher: {
|
|
1852
2424
|
label: "اللغة",
|
|
1853
2425
|
},
|
|
@@ -1855,14 +2427,22 @@ const ar = {
|
|
|
1855
2427
|
nav: {
|
|
1856
2428
|
pinItem: "تثبيت {{name}}",
|
|
1857
2429
|
unpinItem: "إلغاء تثبيت {{name}}",
|
|
1858
|
-
dragToReorder: "اسحب لإعادة الترتيب",
|
|
1859
2430
|
favorites: "المفضلة",
|
|
2431
|
+
launcherLabel: "مشغّل التطبيقات",
|
|
2432
|
+
menuLabel: "تنقّل التطبيق",
|
|
2433
|
+
menuEmpty: "لا توجد في هذا التطبيق عناصر تنقّل يمكنك فتحها.",
|
|
2434
|
+
itemMenu: "المزيد من الإجراءات لـ {{name}}",
|
|
2435
|
+
openInNewTab: "فتح في علامة تبويب جديدة",
|
|
2436
|
+
copyLink: "نسخ الرابط",
|
|
2437
|
+
linkCopied: "تم نسخ الرابط إلى الحافظة",
|
|
2438
|
+
linkCopyFailed: "فشل نسخ الرابط",
|
|
2439
|
+
design: "تصميم",
|
|
1860
2440
|
},
|
|
1861
2441
|
},
|
|
1862
2442
|
auth: {
|
|
1863
2443
|
setPassword: {
|
|
1864
2444
|
title: "تعيين كلمة مرور للاسترداد",
|
|
1865
|
-
description: "لقد سجّلت الدخول عبر الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن من الدخول
|
|
2445
|
+
description: "لقد سجّلت الدخول عبر الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن من الدخول مباشرةً إذا أصبح الدخول الموحّد غير متاح.",
|
|
1866
2446
|
email: "البريد الإلكتروني",
|
|
1867
2447
|
newPassword: "كلمة المرور الجديدة",
|
|
1868
2448
|
confirmPassword: "تأكيد كلمة المرور",
|
|
@@ -1878,9 +2458,8 @@ const ar = {
|
|
|
1878
2458
|
signingIn: "جارٍ تسجيل دخولك…",
|
|
1879
2459
|
ssoHandoff: "المتابعة إلى {{target}}",
|
|
1880
2460
|
devAdminHint: {
|
|
1881
|
-
title: "بيئة تطوير",
|
|
1882
|
-
|
|
1883
|
-
dismiss: "تجاهل",
|
|
2461
|
+
title: "بيئة تطوير محلية",
|
|
2462
|
+
signIn: "تسجيل الدخول كمسؤول التطوير",
|
|
1884
2463
|
},
|
|
1885
2464
|
title: "تسجيل الدخول إلى حسابك",
|
|
1886
2465
|
description: "أدخل بريدك الإلكتروني وكلمة المرور للمتابعة",
|
|
@@ -1910,6 +2489,22 @@ const ar = {
|
|
|
1910
2489
|
resendOtpCountdownText: "إعادة الإرسال بعد {seconds} ثانية",
|
|
1911
2490
|
usePhoneOtpText: "تسجيل الدخول برمز التحقق",
|
|
1912
2491
|
usePasswordSignInText: "تسجيل الدخول بكلمة المرور بدلاً من ذلك",
|
|
2492
|
+
socialButton: "المتابعة باستخدام {provider}",
|
|
2493
|
+
orText: "أو تابع باستخدام البريد الإلكتروني",
|
|
2494
|
+
ssoButton: "تسجيل الدخول باستخدام SSO",
|
|
2495
|
+
ssoOnlyDescription: "سجّل الدخول عبر الدخول الموحّد لمؤسستك",
|
|
2496
|
+
usePasswordText: "استخدام كلمة المرور بدلاً من ذلك",
|
|
2497
|
+
backToSsoText: "العودة إلى الدخول الموحّد",
|
|
2498
|
+
// objectui#12600 — the console login card's own header, the password
|
|
2499
|
+
// field's reveal toggle, and the footer's legal links.
|
|
2500
|
+
welcomeTitle: "مرحبًا بعودتك",
|
|
2501
|
+
welcomeDescription: "سجّل الدخول لمتابعة عملك",
|
|
2502
|
+
showPasswordText: "إظهار كلمة المرور",
|
|
2503
|
+
hidePasswordText: "إخفاء كلمة المرور",
|
|
2504
|
+
footer: {
|
|
2505
|
+
privacy: "الخصوصية",
|
|
2506
|
+
terms: "الشروط",
|
|
2507
|
+
},
|
|
1913
2508
|
},
|
|
1914
2509
|
register: {
|
|
1915
2510
|
title: "إنشاء حساب",
|
|
@@ -1928,8 +2523,12 @@ const ar = {
|
|
|
1928
2523
|
submittingButton: "جارٍ إنشاء الحساب…",
|
|
1929
2524
|
hasAccountText: "لديك حساب بالفعل؟",
|
|
1930
2525
|
signInText: "تسجيل الدخول",
|
|
2526
|
+
socialButton: "التسجيل باستخدام {provider}",
|
|
2527
|
+
orText: "أو تابع باستخدام البريد الإلكتروني",
|
|
1931
2528
|
errors: {
|
|
1932
2529
|
userExists: "يوجد حساب بهذا البريد الإلكتروني بالفعل. حاول تسجيل الدخول.",
|
|
2530
|
+
selfRegistrationClosed: "التسجيل الذاتي غير متاح في هذا النظام. اطلب دعوة من المسؤول.",
|
|
2531
|
+
emailDomainNotAllowed: "نطاق هذا البريد الإلكتروني غير مسموح له بالتسجيل هنا. استخدم البريد الإلكتروني لمؤسستك أو اطلب دعوة من المسؤول.",
|
|
1933
2532
|
},
|
|
1934
2533
|
verifyInbox: {
|
|
1935
2534
|
title: "تحقق من صندوق الوارد",
|
|
@@ -2005,7 +2604,7 @@ const ar = {
|
|
|
2005
2604
|
checkSpam: "لم تستلم البريد؟ تحقق من مجلد البريد غير المرغوب أو تواصل مع الدعم.",
|
|
2006
2605
|
or: "أو",
|
|
2007
2606
|
// objectui#3546 slice three.
|
|
2008
|
-
resendUnavailable: "قد يكون إرسال البريد الإلكتروني غير مُهيأ في
|
|
2607
|
+
resendUnavailable: "قد يكون إرسال البريد الإلكتروني غير مُهيأ في هذا النظام. تواصل مع الدعم إذا استمرت المشكلة.",
|
|
2009
2608
|
},
|
|
2010
2609
|
setup: {
|
|
2011
2610
|
welcomeTitle: "مرحباً بك في ObjectStack",
|
|
@@ -2049,7 +2648,7 @@ const ar = {
|
|
|
2049
2648
|
disabledDescription: "لم يتم تمكين تفويض الأجهزة في هذا النشر، لذا لا يمكن الموافقة على هذا الجهاز هنا.",
|
|
2050
2649
|
},
|
|
2051
2650
|
shell: {
|
|
2052
|
-
tenantHostHint: "تسجل الدخول إلى
|
|
2651
|
+
tenantHostHint: "تسجل الدخول إلى هذا النظام",
|
|
2053
2652
|
},
|
|
2054
2653
|
layout: {
|
|
2055
2654
|
headline: "أنشئ تطبيقات أعمال قوية بسرعة أكبر.",
|
|
@@ -2059,6 +2658,7 @@ const ar = {
|
|
|
2059
2658
|
signOut: "تسجيل الخروج بدلاً من ذلك",
|
|
2060
2659
|
password: {
|
|
2061
2660
|
title: "انتهت صلاحية كلمة المرور",
|
|
2661
|
+
resetTitle: "يجب عليك تغيير كلمة المرور",
|
|
2062
2662
|
fallbackMessage: "يرجى تعيين كلمة مرور جديدة للمتابعة.",
|
|
2063
2663
|
current: "كلمة المرور الحالية",
|
|
2064
2664
|
next: "كلمة المرور الجديدة",
|
|
@@ -2084,6 +2684,11 @@ const ar = {
|
|
|
2084
2684
|
verifying: "جارٍ التحقق…",
|
|
2085
2685
|
invalidCode: "رمز غير صالح. حاول مرة أخرى.",
|
|
2086
2686
|
},
|
|
2687
|
+
impersonation: {
|
|
2688
|
+
passwordTitle: "يجب على {{user}} تغيير كلمة المرور",
|
|
2689
|
+
mfaTitle: "يجب على {{user}} إعداد المصادقة الثنائية",
|
|
2690
|
+
body: "أنت تنتحل هوية {{user}}، ولا يمكن لأحد غيره القيام بذلك. أنهِ انتحال الهوية للعودة إلى حسابك.",
|
|
2691
|
+
},
|
|
2087
2692
|
},
|
|
2088
2693
|
},
|
|
2089
2694
|
// objectui#3546 slice three — the /oauth/consent screen.
|
|
@@ -2092,12 +2697,17 @@ const ar = {
|
|
|
2092
2697
|
title: "يطلب {{appName}} الوصول إلى حسابك",
|
|
2093
2698
|
request: "يطلب {{appName}} الإذن{{suffix}}.",
|
|
2094
2699
|
unknownApp: "تطبيق ما",
|
|
2700
|
+
unidentified: "تعذّر التعرّف على هذا التطبيق.",
|
|
2701
|
+
clientId: "معرّف العميل",
|
|
2095
2702
|
willAllow: "سيتمكن هذا التطبيق من:",
|
|
2096
2703
|
scope: {
|
|
2097
2704
|
openid: "تأكيد هويتك",
|
|
2098
2705
|
profile: "قراءة ملفك الشخصي الأساسي (الاسم، الصورة)",
|
|
2099
2706
|
email: "قراءة عنوان بريدك الإلكتروني",
|
|
2100
2707
|
offlineAccess: "البقاء مسجّلاً للدخول (تحديث الوصول)",
|
|
2708
|
+
dataRead: "قراءة السجلات (ضمن صلاحياتك الخاصة)",
|
|
2709
|
+
dataWrite: "إنشاء السجلات وتعديلها وحذفها (ضمن صلاحياتك الخاصة)",
|
|
2710
|
+
actionsExecute: "تنفيذ الإجراءات نيابةً عنك (ضمن صلاحياتك الخاصة)",
|
|
2101
2711
|
},
|
|
2102
2712
|
deny: "رفض",
|
|
2103
2713
|
authorize: "تفويض",
|
|
@@ -2128,11 +2738,20 @@ const ar = {
|
|
|
2128
2738
|
role: "الدور",
|
|
2129
2739
|
save: "حفظ التغييرات",
|
|
2130
2740
|
},
|
|
2741
|
+
language: {
|
|
2742
|
+
title: "اللغة",
|
|
2743
|
+
description: "اللغة المستخدمة في الإشعارات والرسائل المرسلة إليك. أما لغة الواجهة فتُختار بشكل منفصل من قائمة الكرة الأرضية.",
|
|
2744
|
+
label: "اللغة المفضلة",
|
|
2745
|
+
systemDefault: "استخدام الإعداد الافتراضي للنشر",
|
|
2746
|
+
save: "حفظ",
|
|
2747
|
+
saved: "تم تحديث تفضيل اللغة.",
|
|
2748
|
+
readOnly: "يدير المسؤول لغة حسابك.",
|
|
2749
|
+
},
|
|
2131
2750
|
password: {
|
|
2132
2751
|
changeTitle: "تغيير كلمة المرور",
|
|
2133
2752
|
setTitle: "تعيين كلمة مرور محلية",
|
|
2134
|
-
changeDescription: "قم بتحديث كلمة المرور التي تستخدمها لتسجيل
|
|
2135
|
-
setDescription: "لقد سجّلت الدخول عبر تسجيل الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن أيضاً من تسجيل الدخول بالبريد الإلكتروني وكلمة
|
|
2753
|
+
changeDescription: "قم بتحديث كلمة المرور التي تستخدمها لتسجيل الدخول.",
|
|
2754
|
+
setDescription: "لقد سجّلت الدخول عبر تسجيل الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن أيضاً من تسجيل الدخول بالبريد الإلكتروني وكلمة المرور.",
|
|
2136
2755
|
current: "كلمة المرور الحالية",
|
|
2137
2756
|
new: "كلمة المرور الجديدة",
|
|
2138
2757
|
password: "كلمة المرور",
|
|
@@ -2141,7 +2760,7 @@ const ar = {
|
|
|
2141
2760
|
mismatch: "كلمتا المرور غير متطابقتين",
|
|
2142
2761
|
enterCurrent: "أدخل كلمة المرور الحالية",
|
|
2143
2762
|
changed: "تم تغيير كلمة المرور.",
|
|
2144
|
-
localSet: "تم تعيين كلمة المرور المحلية. يمكنك الآن تسجيل الدخول بالبريد الإلكتروني وكلمة
|
|
2763
|
+
localSet: "تم تعيين كلمة المرور المحلية. يمكنك الآن تسجيل الدخول بالبريد الإلكتروني وكلمة المرور.",
|
|
2145
2764
|
changeAction: "تغيير كلمة المرور",
|
|
2146
2765
|
setAction: "تعيين كلمة المرور",
|
|
2147
2766
|
},
|
|
@@ -2156,22 +2775,21 @@ const ar = {
|
|
|
2156
2775
|
unknown: "حدث خطأ غير متوقع.",
|
|
2157
2776
|
},
|
|
2158
2777
|
workspace: {
|
|
2159
|
-
label: "
|
|
2160
|
-
default: "
|
|
2161
|
-
switch: "تبديل
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2166
|
-
nameLabel: "اسم مساحة العمل",
|
|
2778
|
+
label: "المؤسسات",
|
|
2779
|
+
default: "مؤسستي",
|
|
2780
|
+
switch: "تبديل المؤسسة",
|
|
2781
|
+
createTitle: "إنشاء مؤسسة",
|
|
2782
|
+
createDescription: "المؤسسة مكان مشترك يتعاون فيه فريقك.",
|
|
2783
|
+
createButton: "إنشاء مؤسسة",
|
|
2784
|
+
nameLabel: "اسم المؤسسة",
|
|
2167
2785
|
namePlaceholder: "مثلاً، Acme Inc",
|
|
2168
2786
|
slugLabel: "معرف URL",
|
|
2169
2787
|
slugHint: "يستخدم في عناوين URL. أحرف صغيرة وأرقام وشرطات فقط.",
|
|
2170
2788
|
invite: "دعوة عضو",
|
|
2171
2789
|
members: "الأعضاء",
|
|
2172
|
-
settings: "إعدادات
|
|
2790
|
+
settings: "إعدادات المؤسسة",
|
|
2173
2791
|
multiOrgDisabled: "إنشاء مؤسسات جديدة معطّل في هذا النشر.",
|
|
2174
|
-
createFailed: 'تعذّر إنشاء
|
|
2792
|
+
createFailed: 'تعذّر إنشاء المؤسسة',
|
|
2175
2793
|
},
|
|
2176
2794
|
help: {
|
|
2177
2795
|
onThisPage: "في هذه الصفحة",
|
|
@@ -2179,12 +2797,17 @@ const ar = {
|
|
|
2179
2797
|
appDocs: 'وثائق هذا التطبيق',
|
|
2180
2798
|
allDocs: 'كل الوثائق',
|
|
2181
2799
|
onlineDocs: 'الوثائق عبر الإنترنت',
|
|
2800
|
+
loadingDocumentation: 'جارٍ تحميل الوثائق',
|
|
2801
|
+
about: 'حول',
|
|
2802
|
+
aboutTitle: 'حول وحدة التحكم هذه',
|
|
2803
|
+
aboutDescription: 'الإصدار الذي بُنيت منه وحدة التحكم هذه.',
|
|
2804
|
+
aboutBuild: 'إصدار وحدة التحكم',
|
|
2805
|
+
aboutBuildUnknown: 'إصدار غير معروف (لم يُحدَّد أي إصدار عند بناء وحدة التحكم هذه)',
|
|
2182
2806
|
},
|
|
2183
2807
|
sidebar: {
|
|
2184
2808
|
packageManagement: "إدارة الحزم",
|
|
2185
2809
|
searchNavigation: "البحث في التنقل…",
|
|
2186
2810
|
settings: "الإعدادات",
|
|
2187
|
-
help: "المساعدة",
|
|
2188
2811
|
helpTooltip: "المساعدة والوثائق",
|
|
2189
2812
|
activityFeed: "موجز النشاط",
|
|
2190
2813
|
notifications: "الإشعارات",
|
|
@@ -2194,18 +2817,16 @@ const ar = {
|
|
|
2194
2817
|
area: "المنطقة",
|
|
2195
2818
|
scope: "النطاق",
|
|
2196
2819
|
recent: "الأخيرة",
|
|
2197
|
-
favorites: "المفضلة",
|
|
2198
2820
|
starred: "المميزة",
|
|
2199
2821
|
removeFromFavorites: "إزالة {{name}} من المفضلة",
|
|
2822
|
+
allReports: "كل التقارير",
|
|
2200
2823
|
},
|
|
2201
2824
|
topbar: {
|
|
2202
2825
|
openAssistant: "فتح مساعد {{name}}",
|
|
2203
2826
|
offline: "غير متصل",
|
|
2204
2827
|
usersOnline: "المستخدمون المتصلون الآن",
|
|
2205
2828
|
switchView: "تبديل العرض",
|
|
2206
|
-
switchObject: "تبديل الكائن",
|
|
2207
2829
|
connection: {
|
|
2208
|
-
connected: "متصل",
|
|
2209
2830
|
connecting: "جارٍ الاتصال…",
|
|
2210
2831
|
reconnecting: "جارٍ إعادة الاتصال…",
|
|
2211
2832
|
disconnected: "منقطع",
|
|
@@ -2218,23 +2839,22 @@ const ar = {
|
|
|
2218
2839
|
},
|
|
2219
2840
|
aiAssistant: "مساعد الذكاء الاصطناعي",
|
|
2220
2841
|
designInStudio: "التصميم في Studio",
|
|
2842
|
+
editApp: "تعديل التطبيق",
|
|
2221
2843
|
},
|
|
2222
2844
|
home: {
|
|
2223
2845
|
build: {
|
|
2224
2846
|
title: "إنشاء تطبيق",
|
|
2225
|
-
|
|
2226
|
-
noCapability: "إنشاء التطبيقات غير متاح في مساحة العمل هذه — فهو يتطلب إذن «إدارة البيانات الوصفية» الذي لا يملكه حسابك.",
|
|
2847
|
+
noCapability: "إنشاء التطبيقات غير متاح في هذا النظام — فهو يتطلب إذن «إدارة البيانات الوصفية» الذي لا يملكه حسابك.",
|
|
2227
2848
|
},
|
|
2228
2849
|
template: {
|
|
2229
2850
|
title: "ابدأ من قالب",
|
|
2230
|
-
subtitle: "ثبّت تطبيق قالب من السوق وخصّصه.",
|
|
2231
2851
|
marketplaceDisabled: "لا يوجد سوق تطبيقات مُهيّأ لوقت التشغيل هذا، لذا لا توجد قوالب لتثبيتها هنا.",
|
|
2232
2852
|
},
|
|
2233
2853
|
welcomeAdminDescription: "صف نشاطك التجاري في جملة واحدة — وسيولّد الذكاء الاصطناعي الكائنات والشاشات وواجهات البرمجة وأدوات الوكيل. أو أعدّها بنفسك من القائمة على اليسار.",
|
|
2234
2854
|
welcomeAdminDescriptionNoBuild: "أعدّ تطبيقك الأول من قائمة الإدارة على اليسار. وبمجرد توفر البيانات، يمكن لمساعد الذكاء الاصطناعي مساعدتك في استكشافها.",
|
|
2235
2855
|
welcomeAdminDescriptionNoAi: "أعدّ تطبيقك الأول من قائمة الإدارة على اليسار.",
|
|
2236
2856
|
noAppsTitle: "لا توجد تطبيقات بعد",
|
|
2237
|
-
noAppsDescription: "يجري إعداد
|
|
2857
|
+
noAppsDescription: "يجري إعداد النظام — وستظهر هنا التطبيقات التي يشاركها معك المسؤول.",
|
|
2238
2858
|
buildWithAI: "الإنشاء بالذكاء الاصطناعي",
|
|
2239
2859
|
askAI: "اسأل الذكاء الاصطناعي",
|
|
2240
2860
|
recoveryReminder: {
|
|
@@ -2243,7 +2863,19 @@ const ar = {
|
|
|
2243
2863
|
dismiss: "تجاهل",
|
|
2244
2864
|
},
|
|
2245
2865
|
pendingDrafts: {
|
|
2246
|
-
|
|
2866
|
+
// objectui#12602 — the drafts row in Home's "My work" section: the
|
|
2867
|
+
// count, then the first draft names joined by `nameSeparator`, in
|
|
2868
|
+
// their package when they share one.
|
|
2869
|
+
title: "{{count}} من التغييرات غير المنشورة",
|
|
2870
|
+
title_zero: "{{count}} من التغييرات غير المنشورة",
|
|
2871
|
+
title_one: "{{count}} من التغييرات غير المنشورة",
|
|
2872
|
+
title_two: "{{count}} من التغييرات غير المنشورة",
|
|
2873
|
+
title_few: "{{count}} من التغييرات غير المنشورة",
|
|
2874
|
+
title_many: "{{count}} من التغييرات غير المنشورة",
|
|
2875
|
+
title_other: "{{count}} من التغييرات غير المنشورة",
|
|
2876
|
+
inPackage: "{{names}} بانتظار النشر في {{package}}",
|
|
2877
|
+
waiting: "{{names}} بانتظار النشر",
|
|
2878
|
+
nameSeparator: "، ",
|
|
2247
2879
|
cta: "نشر",
|
|
2248
2880
|
publishing: "جارٍ النشر…",
|
|
2249
2881
|
published: "تم النشر! تغييراتك فعّالة الآن.",
|
|
@@ -2258,20 +2890,24 @@ const ar = {
|
|
|
2258
2890
|
capabilityWarn: "فحص التأليف: {{count}} مرجع(مراجع) قدرات لا تشير إلى شيء.",
|
|
2259
2891
|
},
|
|
2260
2892
|
title: "الرئيسية",
|
|
2261
|
-
subtitle: "لوحة تحكم مساحة العمل",
|
|
2262
2893
|
nav: "الرئيسية",
|
|
2263
2894
|
allApps: "جميع التطبيقات",
|
|
2264
2895
|
yourApps: "تطبيقاتك",
|
|
2265
2896
|
showMoreApps: "المزيد",
|
|
2266
2897
|
showLess: "عرض أقل",
|
|
2267
2898
|
continueEmpty: "ستظهر هنا العناصر التي تفتحها.",
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2899
|
+
// objectui#12602 — Home's "My work" section: its heading, the link to the
|
|
2900
|
+
// full inbox, each column's title, "view all" link and empty line.
|
|
2901
|
+
myWork: {
|
|
2902
|
+
title: "عملي",
|
|
2903
|
+
openInbox: "فتح البريد الوارد",
|
|
2904
|
+
viewAll: "عرض الكل",
|
|
2905
|
+
approvals: "بانتظار الموافقة",
|
|
2906
|
+
approvalsEmpty: "لا شيء بانتظار موافقتك",
|
|
2907
|
+
notifications: "الإشعارات",
|
|
2908
|
+
notificationsEmpty: "لا توجد إشعارات غير مقروءة",
|
|
2271
2909
|
},
|
|
2272
|
-
loading: "جارٍ
|
|
2273
|
-
recent: "الأخيرة",
|
|
2274
|
-
starred: "المميزة بنجمة",
|
|
2910
|
+
loading: "جارٍ التحميل…",
|
|
2275
2911
|
welcome: "مرحباً بك في ObjectUI",
|
|
2276
2912
|
welcomeDescription: "ابدأ بإنشاء تطبيقك الأول أو تكوين إعدادات النظام.",
|
|
2277
2913
|
createFirstApp: "أنشئ أول تطبيق لك",
|
|
@@ -2279,12 +2915,10 @@ const ar = {
|
|
|
2279
2915
|
browseMarketplace: "تصفح متجر التطبيقات",
|
|
2280
2916
|
quickActions: {
|
|
2281
2917
|
title: "إجراءات سريعة",
|
|
2282
|
-
createApp: "إنشاء تطبيق",
|
|
2283
|
-
createAppDesc: "ابدأ بتطبيق جديد",
|
|
2284
2918
|
manageObjects: "إدارة الكائنات",
|
|
2285
2919
|
manageObjectsDesc: "تكوين نماذج البيانات",
|
|
2286
2920
|
systemSettings: "إعدادات النظام",
|
|
2287
|
-
systemSettingsDesc: "تكوين
|
|
2921
|
+
systemSettingsDesc: "تكوين النظام",
|
|
2288
2922
|
},
|
|
2289
2923
|
appCard: {
|
|
2290
2924
|
noDescription: "لا يوجد وصف",
|
|
@@ -2294,20 +2928,33 @@ const ar = {
|
|
|
2294
2928
|
greetingAfternoon: "مساء الخير",
|
|
2295
2929
|
greetingEvening: "مساء النور",
|
|
2296
2930
|
greetingNight: "وردية الليل",
|
|
2297
|
-
|
|
2931
|
+
greetingSeparator: "، ",
|
|
2932
|
+
greetingEnd: ".",
|
|
2933
|
+
search: "ابحث في التطبيقات والسجلات والصفحات…",
|
|
2934
|
+
summary: {
|
|
2935
|
+
approvals: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
|
|
2936
|
+
approvals_zero: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
|
|
2937
|
+
approvals_one: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
|
|
2938
|
+
approvals_two: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
|
|
2939
|
+
approvals_few: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
|
|
2940
|
+
approvals_many: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
|
|
2941
|
+
approvals_other: "لديك اليوم {{count}} من طلبات الموافقة المعلّقة",
|
|
2942
|
+
none: "لا شيء بانتظارك اليوم",
|
|
2943
|
+
},
|
|
2944
|
+
addApp: "إضافة تطبيق",
|
|
2945
|
+
appOpened: "فُتح {{time}}",
|
|
2298
2946
|
open: "فتح",
|
|
2299
|
-
stats: {
|
|
2300
|
-
apps: "التطبيقات",
|
|
2301
|
-
starred: "المميزة",
|
|
2302
|
-
recent: "الأخيرة",
|
|
2303
|
-
},
|
|
2304
2947
|
recentApps: {
|
|
2305
2948
|
title: "فُتح مؤخراً",
|
|
2306
2949
|
itemType: {
|
|
2307
2950
|
object: "كائن",
|
|
2308
2951
|
dashboard: "لوحة تحكم",
|
|
2309
2952
|
page: "صفحة",
|
|
2953
|
+
report: "تقرير",
|
|
2954
|
+
package: "حزمة",
|
|
2955
|
+
view: "عرض القائمة",
|
|
2310
2956
|
record: "سجل",
|
|
2957
|
+
metadata: "البيانات الوصفية",
|
|
2311
2958
|
},
|
|
2312
2959
|
},
|
|
2313
2960
|
starredApps: {
|
|
@@ -2329,7 +2976,6 @@ const ar = {
|
|
|
2329
2976
|
organizations: "المؤسسات",
|
|
2330
2977
|
roles: "الأدوار",
|
|
2331
2978
|
configuration: "التهيئة",
|
|
2332
|
-
createApp: "إنشاء تطبيق",
|
|
2333
2979
|
administration: "الإدارة",
|
|
2334
2980
|
datasources: "مصادر البيانات",
|
|
2335
2981
|
documentation: "الوثائق",
|
|
@@ -2344,16 +2990,23 @@ const ar = {
|
|
|
2344
2990
|
manageAllApps: "إدارة جميع التطبيقات",
|
|
2345
2991
|
systemConsole: "وحدة تحكم النظام",
|
|
2346
2992
|
noAppsConfigured: "لا تطبيقات مُهيأة",
|
|
2993
|
+
allApps: "جميع التطبيقات",
|
|
2994
|
+
editAppInStudio: "تعديل {{app}} في Studio",
|
|
2995
|
+
backToHome: "العودة إلى الرئيسية",
|
|
2996
|
+
settings: "الإعدادات",
|
|
2997
|
+
productHome: "الصفحة الرئيسية لـ {{product}}",
|
|
2347
2998
|
},
|
|
2348
2999
|
activityFeed: {
|
|
2349
3000
|
title: "النشاط الأخير",
|
|
2350
3001
|
filter: "تصفية",
|
|
2351
3002
|
empty: "لا نشاط أخير",
|
|
3003
|
+
accessDenied: "ليس لديك صلاحية عرض النشاط.",
|
|
2352
3004
|
ariaLabel: "تغذية النشاط",
|
|
2353
3005
|
typeCreate: "إنشاء",
|
|
2354
3006
|
typeUpdate: "تحديث",
|
|
2355
3007
|
typeDelete: "حذف",
|
|
2356
3008
|
typeComment: "تعليق",
|
|
3009
|
+
typeSystem: "النظام",
|
|
2357
3010
|
relativeJustNow: "الآن",
|
|
2358
3011
|
relativeSecondsAgo: "منذ {{count}} ث",
|
|
2359
3012
|
relativeMinutesAgo: "منذ {{count}} د",
|
|
@@ -2375,8 +3028,22 @@ const ar = {
|
|
|
2375
3028
|
placeholder: "ابحث في الكائنات، لوحات التحكم، الصفحات، التقارير…",
|
|
2376
3029
|
inputAriaLabel: "ابحث في الكائنات، لوحات التحكم، الصفحات، التقارير",
|
|
2377
3030
|
resultsCount: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
2378
|
-
|
|
2379
|
-
|
|
3031
|
+
resultsCount_zero: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
3032
|
+
resultsCount_one: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
3033
|
+
resultsCount_two: "نتيجتان لـ \"{{query}}\" ({{count}})",
|
|
3034
|
+
resultsCount_few: "{{count}} نتائج لـ \"{{query}}\"",
|
|
3035
|
+
resultsCount_many: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
3036
|
+
resultsCount_other: "{{count}} نتيجة لـ \"{{query}}\"",
|
|
3037
|
+
// objectui#11445 — a count family: each of the six CLDR slots carries its
|
|
3038
|
+
// own noun form. The base key, a count-invariant form, answers a call made
|
|
3039
|
+
// without a count.
|
|
3040
|
+
itemsAvailable: "عدد العناصر المتاحة: {{count}}",
|
|
3041
|
+
itemsAvailable_zero: "{{count}} عنصر متاح",
|
|
3042
|
+
itemsAvailable_one: "{{count}} عنصر متاح",
|
|
3043
|
+
itemsAvailable_two: "عنصران متاحان ({{count}})",
|
|
3044
|
+
itemsAvailable_few: "{{count}} عناصر متاحة",
|
|
3045
|
+
itemsAvailable_many: "{{count}} عنصرًا متاحًا",
|
|
3046
|
+
itemsAvailable_other: "{{count}} عنصر متاح",
|
|
2380
3047
|
noResults: "لم يتم العثور على نتائج",
|
|
2381
3048
|
noResultsHint: "جرب تعديل مصطلحات البحث",
|
|
2382
3049
|
typeObjects: "الكائنات",
|
|
@@ -2401,26 +3068,38 @@ const ar = {
|
|
|
2401
3068
|
noAppsConfigured: "لا تطبيقات مُهيأة",
|
|
2402
3069
|
noAppsConfiguredDescription: "لا تطبيقات مسجلة. أنشئ تطبيقك الأول أو زر إعدادات النظام.",
|
|
2403
3070
|
appNotAvailable: "التطبيق غير متاح",
|
|
2404
|
-
appNotAvailableDescription: "هذا التطبيق غير متاح
|
|
3071
|
+
appNotAvailableDescription: "هذا التطبيق غير متاح — أعد المحاولة بعد لحظات.",
|
|
3072
|
+
appNotFound: "تعذّر فتح هذا التطبيق",
|
|
3073
|
+
appNotFoundDescription: "لم يُرجع الخادم هذا التطبيق لحسابك.",
|
|
3074
|
+
appUnreachable: "تعذّر الوصول إلى الخادم",
|
|
3075
|
+
appUnreachableDescription: "تعذّر التحقق من هذا التطبيق. أعد المحاولة بعد لحظات.",
|
|
2405
3076
|
appAccessDenied: "ليس لديك حق الوصول إلى هذا التطبيق",
|
|
2406
3077
|
appAccessDeniedDescription: "هذا التطبيق موجود، لكن حسابك غير مخوَّل بفتحه. اطلب من المسؤول منحك حق الوصول.",
|
|
2407
3078
|
appAccessDeniedHome: "العودة إلى الرئيسية",
|
|
3079
|
+
appNothingAvailable: "لا يتوفر لك أي شيء في {{app}} بعد",
|
|
3080
|
+
appNothingAvailableDescription: "لا يحتوي هذا التطبيق على صفحات يمكن لحسابك فتحها. اطلب من المسؤول منحك حق الوصول.",
|
|
3081
|
+
appNothingAvailableGrantDescription: "لا يحتوي هذا التطبيق على صفحات يمكن لحسابك فتحها. يمكنك منح حق الوصول من الإعداد.",
|
|
3082
|
+
openSetup: "فتح الإعداد",
|
|
2408
3083
|
createFirstApp: "إنشاء أول تطبيق",
|
|
2409
3084
|
systemSettings: "إعدادات النظام",
|
|
2410
3085
|
back: "رجوع",
|
|
2411
3086
|
recordNotFound: "السجل غير موجود",
|
|
2412
3087
|
recordNotFoundDescription: "السجل الذي تبحث عنه غير موجود أو ربما تم حذفه.",
|
|
3088
|
+
recordAccessDenied: "ليس لديك صلاحية الوصول إلى سجلات {{object}}",
|
|
3089
|
+
recordAccessDeniedDescription: "ليس لديك إذن لعرض السجلات من هذا النوع. تواصل مع المسؤول إذا كنت تعتقد أنه يجب أن يكون لديك وصول.",
|
|
3090
|
+
recordLoadFailed: "تعذّر تحميل هذا السجل",
|
|
3091
|
+
recordLoadFailedDescription: "حدث خطأ أثناء التحميل. تحقق من اتصالك وحاول مرة أخرى.",
|
|
2413
3092
|
},
|
|
2414
3093
|
actionDialog: {
|
|
2415
3094
|
title: "معامِلات الإجراء",
|
|
2416
3095
|
description: "يرجى إدخال المعلومات المطلوبة للمتابعة.",
|
|
2417
3096
|
selectPlaceholder: "تحديد {{label}}",
|
|
2418
3097
|
requiredError: "{{label}} مطلوب",
|
|
3098
|
+
unresolvedParam: 'تعذّر عرض هذه المَعلمة: الحقل الذي تستند إليه غير موجود في بيانات تعريف الكائن، لذا يتعذّر إنشاء عنصر التحكم المطلوب. اطلب من المسؤول تصحيح تعريف الإجراء.',
|
|
3099
|
+
carryOverHint: 'يُنقل دون تغيير (للقراءة فقط)',
|
|
2419
3100
|
cancel: "إلغاء",
|
|
2420
3101
|
confirm: "تأكيد",
|
|
2421
3102
|
uploading: "جارٍ الرفع…",
|
|
2422
|
-
defaultActionTitle: "إجراء",
|
|
2423
|
-
ok: "موافق",
|
|
2424
3103
|
lookupPlaceholder: "معرف السجل لـ {{label}}",
|
|
2425
3104
|
lookupHelpText: "لم يتم تكوين كائن مرجعي لهذه المعلمة، لذا فإن أداة اختيار السجلات غير متاحة. أدخل معرف السجل، أو اطلب من المسؤول تصحيح معلمة الإجراء.",
|
|
2426
3105
|
},
|
|
@@ -2429,11 +3108,6 @@ const ar = {
|
|
|
2429
3108
|
confirm: "متابعة",
|
|
2430
3109
|
cancel: "إلغاء",
|
|
2431
3110
|
},
|
|
2432
|
-
rowAction: {
|
|
2433
|
-
openMenu: "فتح القائمة",
|
|
2434
|
-
edit: "تعديل",
|
|
2435
|
-
delete: "حذف",
|
|
2436
|
-
},
|
|
2437
3111
|
navigationSync: {
|
|
2438
3112
|
addedPage: "تم تحديث التنقل: تمت إضافة الصفحة \"{{name}}\"",
|
|
2439
3113
|
addedDashboard: "تم تحديث التنقل: تمت إضافة لوحة التحكم \"{{name}}\"",
|
|
@@ -2447,13 +3121,26 @@ const ar = {
|
|
|
2447
3121
|
updateFailed: "تعذر تحديث التنقل",
|
|
2448
3122
|
},
|
|
2449
3123
|
objectActions: {
|
|
2450
|
-
resetPackageSetConfirm: "مجموعة الأذونات هذه تأتي ضمن حزمة مثبَّتة ولا يمكن إزالتها. الحذف يعيدها إلى الحالة الأصلية المرفقة بالحزمة ويتجاهل تخصيصاتك في هذه البيئة. هل تريد المتابعة؟",
|
|
2451
|
-
resetPackageSetSuccess: "تمت إعادة مجموعة الأذونات إلى حالتها الأصلية المرفقة بالحزمة",
|
|
2452
3124
|
deleteSuccess: "تم حذف {{label}} بنجاح",
|
|
2453
3125
|
deleteFailed: "تعذر حذف {{label}}",
|
|
2454
3126
|
noRecordId: "لم يتم توفير معرف سجل",
|
|
2455
3127
|
deleteConfirm: "حذف هذا السجل؟",
|
|
3128
|
+
deleteConfirmTitle: "حذف {{label}} \"{{name}}\"؟",
|
|
3129
|
+
bulkDeleteConfirmTitle: "حذف {{count}} سجل(ات) {{label}}؟",
|
|
3130
|
+
bulkDeleteConfirmTitle_zero: "حذف {{count}} من سجلات {{label}}؟",
|
|
3131
|
+
bulkDeleteConfirmTitle_one: "حذف {{count}} من سجلات {{label}}؟",
|
|
3132
|
+
bulkDeleteConfirmTitle_two: "حذف {{count}} من سجلات {{label}}؟",
|
|
3133
|
+
bulkDeleteConfirmTitle_few: "حذف {{count}} من سجلات {{label}}؟",
|
|
3134
|
+
bulkDeleteConfirmTitle_many: "حذف {{count}} من سجلات {{label}}؟",
|
|
3135
|
+
bulkDeleteConfirmTitle_other: "حذف {{count}} من سجلات {{label}}؟",
|
|
3136
|
+
deleteConfirmButton: "حذف",
|
|
2456
3137
|
bulkDeleteSuccess: "تم حذف {{count}} سجل(ات) {{label}}",
|
|
3138
|
+
bulkDeleteSuccess_zero: "تم حذف {{count}} من سجلات {{label}}",
|
|
3139
|
+
bulkDeleteSuccess_one: "تم حذف {{count}} من سجلات {{label}}",
|
|
3140
|
+
bulkDeleteSuccess_two: "تم حذف {{count}} من سجلات {{label}}",
|
|
3141
|
+
bulkDeleteSuccess_few: "تم حذف {{count}} من سجلات {{label}}",
|
|
3142
|
+
bulkDeleteSuccess_many: "تم حذف {{count}} من سجلات {{label}}",
|
|
3143
|
+
bulkDeleteSuccess_other: "تم حذف {{count}} من سجلات {{label}}",
|
|
2457
3144
|
bulkDeletePartial: "تم حذف {{succeeded}}، فشل {{failed}}",
|
|
2458
3145
|
},
|
|
2459
3146
|
objectViewActions: {
|
|
@@ -2465,15 +3152,6 @@ const ar = {
|
|
|
2465
3152
|
exportFailed: "فشل التصدير: {{message}}",
|
|
2466
3153
|
forecastSoon: "عرض التوقعات قادم قريباً",
|
|
2467
3154
|
},
|
|
2468
|
-
recordDetail: {
|
|
2469
|
-
viewersTooltip: "المستخدمون يشاهدون هذا السجل الآن",
|
|
2470
|
-
},
|
|
2471
|
-
cellRender: {
|
|
2472
|
-
empty: "فارغ",
|
|
2473
|
-
yes: "نعم",
|
|
2474
|
-
no: "لا",
|
|
2475
|
-
systemFields: "النظام",
|
|
2476
|
-
},
|
|
2477
3155
|
user: {
|
|
2478
3156
|
profile: "الملف الشخصي",
|
|
2479
3157
|
settings: "الإعدادات",
|
|
@@ -2495,6 +3173,7 @@ const ar = {
|
|
|
2495
3173
|
loading: "جارٍ التحميل…",
|
|
2496
3174
|
failedToLoad: "فشل تحميل المصفوفة: {{message}}",
|
|
2497
3175
|
needsAcross: "يتطلب تقرير المصفوفة حقل `groupingsAcross` واحداً على الأقل.",
|
|
3176
|
+
forbiddenMessage: "ليست لديك صلاحية لعرض البيانات الخاصة بهذا التقرير.",
|
|
2498
3177
|
aggregate: {
|
|
2499
3178
|
count: "عدد",
|
|
2500
3179
|
countDistinct: "عدد الفريد",
|
|
@@ -2509,18 +3188,18 @@ const ar = {
|
|
|
2509
3188
|
},
|
|
2510
3189
|
},
|
|
2511
3190
|
organizations: {
|
|
2512
|
-
create: "إنشاء
|
|
2513
|
-
mine: "
|
|
2514
|
-
title: "
|
|
2515
|
-
heading: "
|
|
2516
|
-
subtitle: "اختر
|
|
2517
|
-
searchPlaceholder: "ابحث عن
|
|
2518
|
-
new: "
|
|
2519
|
-
current: "
|
|
3191
|
+
create: "إنشاء مؤسسة",
|
|
3192
|
+
mine: "مؤسساتي",
|
|
3193
|
+
title: "المؤسسات",
|
|
3194
|
+
heading: "مؤسساتك",
|
|
3195
|
+
subtitle: "اختر مؤسسة للمتابعة، أو أنشئ مؤسسة جديدة.",
|
|
3196
|
+
searchPlaceholder: "ابحث عن مؤسسة",
|
|
3197
|
+
new: "مؤسسة جديدة",
|
|
3198
|
+
current: "المؤسسة الحالية",
|
|
2520
3199
|
manage: "إدارة",
|
|
2521
|
-
emptyTitle: "لا توجد
|
|
2522
|
-
emptyDescription: "أنشئ
|
|
2523
|
-
noMatches: "لا توجد
|
|
3200
|
+
emptyTitle: "لا توجد مؤسسات بعد",
|
|
3201
|
+
emptyDescription: "أنشئ مؤسستك الأولى للبدء.",
|
|
3202
|
+
noMatches: "لا توجد مؤسسات تطابق بحثك.",
|
|
2524
3203
|
},
|
|
2525
3204
|
organization: {
|
|
2526
3205
|
roles: {
|
|
@@ -2605,6 +3284,7 @@ const ar = {
|
|
|
2605
3284
|
readOnlyNote: "يمكن للمالكين فقط تغيير الإعدادات.",
|
|
2606
3285
|
nameLabel: "اسم المؤسسة",
|
|
2607
3286
|
slugLabel: "المعرف",
|
|
3287
|
+
slugLockedNote: "لدى هذه المؤسسة بيئات نشطة، لذا لا يمكن تغيير المعرف هنا: إعادة التسمية تنقل أيضًا نطاقاتها الفرعية.",
|
|
2608
3288
|
logoLabel: "الشعار",
|
|
2609
3289
|
logoUpload: "رفع",
|
|
2610
3290
|
logoReplace: "استبدال",
|
|
@@ -2663,18 +3343,61 @@ const ar = {
|
|
|
2663
3343
|
regionLabel: "الإشعارات",
|
|
2664
3344
|
groupCount: "{{count}} من الإشعارات",
|
|
2665
3345
|
groupUnread: "{{count}} غير مقروء",
|
|
3346
|
+
groupUnread_zero: "غير المقروءة: {{count}}",
|
|
3347
|
+
groupUnread_one: "غير المقروءة: {{count}}",
|
|
3348
|
+
groupUnread_two: "غير المقروءة: {{count}}",
|
|
3349
|
+
groupUnread_few: "غير المقروءة: {{count}}",
|
|
3350
|
+
groupUnread_many: "غير المقروءة: {{count}}",
|
|
3351
|
+
groupUnread_other: "غير المقروءة: {{count}}",
|
|
2666
3352
|
groupMarkRead: "تعليم كمقروء",
|
|
2667
3353
|
groupMarkReadTitle: "تعليم كل هذا النوع كمقروء",
|
|
2668
3354
|
empty: "لا توجد إشعارات",
|
|
2669
3355
|
markAllRead: "تعليم الكل كمقروء",
|
|
2670
3356
|
viewAll: "عرض جميع الإشعارات",
|
|
2671
3357
|
approvalsPending: "{{count}} موافقات معلقة",
|
|
3358
|
+
approvalsPending_zero: "{{count}} موافقة معلقة",
|
|
3359
|
+
approvalsPending_one: "{{count}} موافقة معلقة",
|
|
3360
|
+
approvalsPending_two: "موافقتان معلقتان ({{count}})",
|
|
3361
|
+
approvalsPending_few: "{{count}} موافقات معلقة",
|
|
3362
|
+
approvalsPending_many: "{{count}} موافقة معلقة",
|
|
3363
|
+
approvalsPending_other: "{{count}} موافقة معلقة",
|
|
2672
3364
|
viewApprovals: "عرض الموافقات",
|
|
2673
3365
|
noPendingApprovals: "لا توجد موافقات معلقة",
|
|
2674
3366
|
openApprovalsInbox: "فتح صندوق الموافقات",
|
|
2675
3367
|
badgeTotal: "{{total}} إجمالاً",
|
|
2676
|
-
badgeNotifications: "{{
|
|
2677
|
-
|
|
3368
|
+
badgeNotifications: "{{count}} إشعارات",
|
|
3369
|
+
badgeNotifications_zero: "{{count}} إشعار",
|
|
3370
|
+
badgeNotifications_one: "{{count}} إشعار",
|
|
3371
|
+
badgeNotifications_two: "إشعاران ({{count}})",
|
|
3372
|
+
badgeNotifications_few: "{{count}} إشعارات",
|
|
3373
|
+
badgeNotifications_many: "{{count}} إشعار",
|
|
3374
|
+
badgeNotifications_other: "{{count}} إشعار",
|
|
3375
|
+
badgeApprovals: "{{count}} موافقات معلقة",
|
|
3376
|
+
badgeApprovals_zero: "{{count}} موافقة معلقة",
|
|
3377
|
+
badgeApprovals_one: "{{count}} موافقة معلقة",
|
|
3378
|
+
badgeApprovals_two: "موافقتان معلقتان ({{count}})",
|
|
3379
|
+
badgeApprovals_few: "{{count}} موافقات معلقة",
|
|
3380
|
+
badgeApprovals_many: "{{count}} موافقة معلقة",
|
|
3381
|
+
badgeApprovals_other: "{{count}} موافقة معلقة",
|
|
3382
|
+
arrivalMany: "{{count}} رسائل جديدة",
|
|
3383
|
+
arrivalMany_zero: "{{count}} رسالة جديدة",
|
|
3384
|
+
arrivalMany_one: "{{count}} رسالة جديدة",
|
|
3385
|
+
arrivalMany_two: "رسالتان جديدتان ({{count}})",
|
|
3386
|
+
arrivalMany_few: "{{count}} رسائل جديدة",
|
|
3387
|
+
arrivalMany_many: "{{count}} رسالة جديدة",
|
|
3388
|
+
arrivalMany_other: "{{count}} رسالة جديدة",
|
|
3389
|
+
arrivalRepeats: "{{count}} رسائل جديدة في هذا الموضوع",
|
|
3390
|
+
arrivalRepeats_zero: "{{count}} رسالة جديدة في هذا الموضوع",
|
|
3391
|
+
arrivalRepeats_one: "{{count}} رسالة جديدة في هذا الموضوع",
|
|
3392
|
+
arrivalRepeats_two: "رسالتان جديدتان ({{count}}) في هذا الموضوع",
|
|
3393
|
+
arrivalRepeats_few: "{{count}} رسائل جديدة في هذا الموضوع",
|
|
3394
|
+
arrivalRepeats_many: "{{count}} رسالة جديدة في هذا الموضوع",
|
|
3395
|
+
arrivalRepeats_other: "{{count}} رسالة جديدة في هذا الموضوع",
|
|
3396
|
+
arrivalOpen: "عرض",
|
|
3397
|
+
toastEnabled: "تنبيهات داخل التطبيق",
|
|
3398
|
+
desktopEnabled: "إشعارات سطح المكتب",
|
|
3399
|
+
desktopBlocked: "محظور. اسمح بالإشعارات لهذا الموقع من إعدادات المتصفح.",
|
|
3400
|
+
desktopUnsupported: "هذا المتصفح لا يدعم إشعارات سطح المكتب.",
|
|
2678
3401
|
emptyUnread: "كل شيء مقروء",
|
|
2679
3402
|
filterUnread: "غير مقروء",
|
|
2680
3403
|
filterAll: "الكل",
|
|
@@ -2688,12 +3411,14 @@ const ar = {
|
|
|
2688
3411
|
thankYouTitle: "شكراً!",
|
|
2689
3412
|
thankYouMessage: "تم استلام إرسالك بنجاح.",
|
|
2690
3413
|
redirecting: "إعادة توجيه خلال {{seconds}} ثانية(ثوانٍ)…",
|
|
3414
|
+
redirectPending: "جارٍ إعادة التوجيه…",
|
|
2691
3415
|
unavailableTitle: "النموذج غير متاح",
|
|
2692
3416
|
unavailableDescription: "لا يوجد نموذج عام متاح على هذا الرابط. تأكد من تمكين المشاركة المجهولة للعرض الأساسي.",
|
|
2693
3417
|
tryDemo: "تجربة العرض التوضيحي",
|
|
2694
3418
|
retry: "إعادة المحاولة",
|
|
2695
3419
|
loading: "جارٍ تحميل النموذج…",
|
|
2696
3420
|
requiredHint: "* حقل مطلوب",
|
|
3421
|
+
requiredFields: "الحقول المطلوبة: {{fields}}",
|
|
2697
3422
|
consentLabelDefault: "أوافق على سياسة الخصوصية وأعطي موافقتي على معالجة بياناتي لهذا الطلب.",
|
|
2698
3423
|
consentLink: "سياسة الخصوصية",
|
|
2699
3424
|
consentRequired: "يرجى قبول سياسة الخصوصية للمتابعة.",
|
|
@@ -2706,10 +3431,10 @@ const ar = {
|
|
|
2706
3431
|
body: 'واجهة MCP متوقفة (OS_MCP_SERVER_ENABLED=false). اطلب من المشغّل إعادة تفعيلها.',
|
|
2707
3432
|
},
|
|
2708
3433
|
url: {
|
|
2709
|
-
title: 'نقطة نهاية MCP
|
|
3434
|
+
title: 'نقطة نهاية MCP لهذا النظام',
|
|
2710
3435
|
body: 'أي عميل ذكاء اصطناعي يدعم MCP يتصل عبر هذا العنوان. الهوية ذاتية الخدمة: النشر هو خادم تفويض OAuth 2.1 الخاص به — تسجّل الدخول بهويتك، وكل استدعاء يخضع لصلاحياتك وأمان مستوى الصفوف.',
|
|
2711
3436
|
downloadSkill: 'تنزيل SKILL.md',
|
|
2712
|
-
skillHint: 'مهارة الوكيل المحمولة: تعلّم أي وكيل داعم للمهارات كيفية العمل مع
|
|
3437
|
+
skillHint: 'مهارة الوكيل المحمولة: تعلّم أي وكيل داعم للمهارات كيفية العمل مع هذا النظام.',
|
|
2713
3438
|
},
|
|
2714
3439
|
claude: {
|
|
2715
3440
|
body: 'الإعدادات ← الموصلات ← إضافة موصل مخصص، الصق هذا العنوان وسجّل الدخول عبر المتصفح.',
|
|
@@ -2744,18 +3469,95 @@ const ar = {
|
|
|
2744
3469
|
noImportableFields: "لا تحتوي هذه الكائن على حقول قابلة للاستيراد.",
|
|
2745
3470
|
schemaReadFailed: "تعذّرت قراءة مخطط الكائن.",
|
|
2746
3471
|
imported: "تم استيراد {{count}} صف إلى {{object}}.",
|
|
3472
|
+
imported_zero: "تم استيراد {{count}} صف إلى {{object}}.",
|
|
3473
|
+
imported_one: "تم استيراد {{count}} صف إلى {{object}}.",
|
|
3474
|
+
imported_two: "تم استيراد صفين ({{count}}) إلى {{object}}.",
|
|
3475
|
+
imported_few: "تم استيراد {{count}} صفوف إلى {{object}}.",
|
|
3476
|
+
imported_many: "تم استيراد {{count}} صفًا إلى {{object}}.",
|
|
3477
|
+
imported_other: "تم استيراد {{count}} صف إلى {{object}}.",
|
|
2747
3478
|
importFrom: "استيراد الصفوف الفعلية من",
|
|
2748
3479
|
into: "إلى",
|
|
2749
3480
|
opening: "جارٍ الفتح…",
|
|
2750
3481
|
importAction: "استيراد",
|
|
2751
3482
|
dismiss: "تجاهل",
|
|
2752
3483
|
},
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
3484
|
+
cloudWorkspaceTimezoneNotice: {
|
|
3485
|
+
seeded: "تم تعيين المنطقة الزمنية للبيئة إلى {{zone}} وفقًا لمتصفحك عند إنشائها. يمكنك تغييرها من الإعدادات → التوطين.",
|
|
3486
|
+
},
|
|
3487
|
+
ai: {
|
|
3488
|
+
nlQuery: {
|
|
3489
|
+
placeholder: "اطرح سؤالًا حول بياناتك…",
|
|
3490
|
+
ask: "اسأل",
|
|
3491
|
+
results: "النتائج",
|
|
3492
|
+
match: "نسبة التطابق: {{percent}}",
|
|
3493
|
+
simulatedSummary: "نتائج: {{query}}",
|
|
3494
|
+
noResults: "لم يتم العثور على سجلات مطابقة",
|
|
3495
|
+
recentQueries: "الاستعلامات الأخيرة",
|
|
3496
|
+
},
|
|
3497
|
+
formAssist: {
|
|
3498
|
+
title: "اقتراحات الذكاء الاصطناعي",
|
|
3499
|
+
suggestionCount: "عدد الاقتراحات: {{count}}",
|
|
3500
|
+
suggestionCount_zero: "{{count}} اقتراح",
|
|
3501
|
+
suggestionCount_one: "{{count}} اقتراح",
|
|
3502
|
+
suggestionCount_two: "اقتراحان ({{count}})",
|
|
3503
|
+
suggestionCount_few: "{{count}} اقتراحات",
|
|
3504
|
+
suggestionCount_many: "{{count}} اقتراحًا",
|
|
3505
|
+
suggestionCount_other: "{{count}} اقتراح",
|
|
3506
|
+
applyAll: "تطبيق الكل",
|
|
3507
|
+
confidence: "الثقة: {{percent}}",
|
|
3508
|
+
appliedCount: "عدد الاقتراحات المطبّقة: {{count}}",
|
|
3509
|
+
appliedCount_zero: "تم تطبيق {{count}} اقتراح",
|
|
3510
|
+
appliedCount_one: "تم تطبيق {{count}} اقتراح",
|
|
3511
|
+
appliedCount_two: "تم تطبيق اقتراحين ({{count}})",
|
|
3512
|
+
appliedCount_few: "تم تطبيق {{count}} اقتراحات",
|
|
3513
|
+
appliedCount_many: "تم تطبيق {{count}} اقتراحًا",
|
|
3514
|
+
appliedCount_other: "تم تطبيق {{count}} اقتراح",
|
|
3515
|
+
},
|
|
3516
|
+
recommendations: {
|
|
3517
|
+
title: "التوصيات",
|
|
3518
|
+
generating: "جارٍ إنشاء التوصيات…",
|
|
3519
|
+
empty: "لا توجد توصيات متاحة",
|
|
3520
|
+
},
|
|
3521
|
+
},
|
|
3522
|
+
aiApprovals: {
|
|
3523
|
+
title: "موافقات الذكاء الاصطناعي",
|
|
3524
|
+
description: "إجراءات اقترحها وكيل ذكاء اصطناعي وتحتاج إلى مراجعة بشرية قبل تنفيذها.",
|
|
3525
|
+
tabPending: "قيد الانتظار",
|
|
3526
|
+
tabDecided: "تم البت فيها",
|
|
3527
|
+
tabAll: "الكل",
|
|
3528
|
+
statusPending: "قيد الانتظار",
|
|
3529
|
+
statusApproved: "تمت الموافقة",
|
|
3530
|
+
statusExecuted: "تم التنفيذ",
|
|
3531
|
+
statusFailed: "فشل",
|
|
3532
|
+
statusRejected: "مرفوض",
|
|
3533
|
+
colTool: "الأداة",
|
|
3534
|
+
colAction: "الإجراء",
|
|
3535
|
+
colObject: "الكائن",
|
|
3536
|
+
colStatus: "الحالة",
|
|
3537
|
+
colProposed: "وقت الاقتراح",
|
|
3538
|
+
colDecision: "القرار",
|
|
3539
|
+
emptyTitle: "لا توجد إجراءات في الانتظار",
|
|
3540
|
+
emptyDescription: "عندما يقترح الذكاء الاصطناعي إجراءً حساسًا سيظهر هنا للمراجعة.",
|
|
3541
|
+
view: "عرض",
|
|
3542
|
+
approve: "موافقة",
|
|
3543
|
+
reject: "رفض",
|
|
3544
|
+
working: "جارٍ التنفيذ…",
|
|
3545
|
+
approveAndExecute: "الموافقة والتنفيذ",
|
|
3546
|
+
outcomeApprove: "موافقة على {{id}}: {{message}}",
|
|
3547
|
+
outcomeReject: "رفض {{id}}: {{message}}",
|
|
3548
|
+
outcomeExecuteFailed: "فشل الإجراء أثناء التنفيذ",
|
|
3549
|
+
drawerFallbackTitle: "إجراء قيد الانتظار",
|
|
3550
|
+
drawerSubtitle: "الأداة {{tool}} على {{object}}",
|
|
3551
|
+
fieldProposedBy: "اقترحه",
|
|
3552
|
+
fieldDecidedBy: "قرّره",
|
|
3553
|
+
fieldConversation: "المحادثة",
|
|
3554
|
+
fieldToolInput: "مدخلات الأداة",
|
|
3555
|
+
fieldResult: "النتيجة",
|
|
3556
|
+
fieldError: "خطأ",
|
|
3557
|
+
fieldRejectionReason: "سبب الرفض",
|
|
3558
|
+
rejectTitle: "هل تريد رفض هذا الإجراء؟",
|
|
3559
|
+
rejectBody: "يُعاد السبب إلى الذكاء الاصطناعي ليعدّل ردّه التالي.",
|
|
3560
|
+
rejectPlaceholder: "سبب اختياري (مثال: «معرّف السجل غير صحيح — يرجى التأكيد مع المستخدم أولاً.»)",
|
|
2759
3561
|
},
|
|
2760
3562
|
aiModelStatus: {
|
|
2761
3563
|
summary: "يستخدم الإنشاء / السؤال {{conversational}} ({{conversationalSource}})؛ ويستخدم الإخراج المهيكل {{structured}} ({{structuredSource}}).",
|
|
@@ -2765,8 +3567,8 @@ const ar = {
|
|
|
2765
3567
|
rowConversational: "نموذج Build / Ask",
|
|
2766
3568
|
rowStructured: "مُهيكل (blueprint / seed)",
|
|
2767
3569
|
rowReasoning: "مستوى الاستدلال",
|
|
2768
|
-
readFailed: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال. قد لا
|
|
2769
|
-
readFailedWithStatus: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال (HTTP {{status}}). قد لا
|
|
3570
|
+
readFailed: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال. قد لا يُشغّل هذا النظام خدمة ذكاء اصطناعي، أو قد لا تملك صلاحية ai:read.",
|
|
3571
|
+
readFailedWithStatus: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال (HTTP {{status}}). قد لا يُشغّل هذا النظام خدمة ذكاء اصطناعي، أو قد لا تملك صلاحية ai:read.",
|
|
2770
3572
|
overridesInEffect: "التجاوزات السارية: ",
|
|
2771
3573
|
noOverrides: "لا شيء — يجري تشغيل القيم الافتراضية للكود المنشور.",
|
|
2772
3574
|
adapter: "المحوّل: ",
|
|
@@ -2774,6 +3576,202 @@ const ar = {
|
|
|
2774
3576
|
sourceInherits: "مثل build/ask",
|
|
2775
3577
|
sourcePinned: "مثبّت بواسطة {{source}}",
|
|
2776
3578
|
},
|
|
3579
|
+
// objectui#7254 — the AI copilot's tool cards. Three families, all of them
|
|
3580
|
+
// English-only until this landed while every other string on the same screen
|
|
3581
|
+
// was translated:
|
|
3582
|
+
//
|
|
3583
|
+
// `tool.*` — one entry per PLATFORM-PROVIDED tool name
|
|
3584
|
+
// (@objectstack/spec `PLATFORM_TOOLS_BY_PACKAGE`, the
|
|
3585
|
+
// closed registry those runtimes are conformance-tested
|
|
3586
|
+
// against). `humanizeToolName` looks each up as
|
|
3587
|
+
// `chatbot.tool.<tool_name>` and falls back to its English
|
|
3588
|
+
// title-caser for a custom / third-party tool, so a name
|
|
3589
|
+
// missing here is degraded, never broken. Every value, `en`
|
|
3590
|
+
// included, is a short sentence in the pack's language
|
|
3591
|
+
// saying what the step does (cloud#2927 Target 3, ruled
|
|
3592
|
+
// 「同意」; objectui#12724): never the tool id, and never
|
|
3593
|
+
// the title-caser's output for it, which is how the step
|
|
3594
|
+
// reads for a tool the pack has no entry for.
|
|
3595
|
+
// `toolLabels-locale-parity-7481` holds both.
|
|
3596
|
+
// `toolState.*` — the card-header badge + activity-chip vocabulary. ONE
|
|
3597
|
+
// set for both surfaces (they used to carry separate
|
|
3598
|
+
// tables and disagreed on casing).
|
|
3599
|
+
// `plan.*` — the "N objects · N views · N dashboards" strip. Plural
|
|
3600
|
+
// FAMILIES: one slot per CLDR category the pack's language
|
|
3601
|
+
// selects (objectui#11432), plus the base key for a call
|
|
3602
|
+
// made without a count. `all-locales-key-parity.test.ts`
|
|
3603
|
+
// derives the required slots from `Intl.PluralRules`.
|
|
3604
|
+
//
|
|
3605
|
+
// objectui#7481 — five `tool.*` entries are NEWER than the registry above:
|
|
3606
|
+
// `get_authoring_rules` (cloud#1837), `load_tools`, `open_record`, `test_flow`
|
|
3607
|
+
// and `toggle_flow` are registered by cloud `service-ai-studio` but the pinned
|
|
3608
|
+
// `@objectstack/spec` snapshot does not list them yet. They are kept here on
|
|
3609
|
+
// purpose: a step label the user reads must not wait on a pin bump. When the
|
|
3610
|
+
// pin advances, `chatbotToolLabels-locale-parity-7481` starts checking them
|
|
3611
|
+
// against the registry instead of against its own hand-held list.
|
|
3612
|
+
chatbot: {
|
|
3613
|
+
answer: {
|
|
3614
|
+
showFull: 'عرض الإجابة كاملة',
|
|
3615
|
+
collapse: 'طي',
|
|
3616
|
+
expandTable: 'توسيع',
|
|
3617
|
+
exitExpandedTable: 'إغلاق',
|
|
3618
|
+
},
|
|
3619
|
+
tool: {
|
|
3620
|
+
aggregate_data: "تجميع البيانات ذات الصلة",
|
|
3621
|
+
get_record: "قراءة هذا السجل",
|
|
3622
|
+
query_data: "الاستعلام عن البيانات المطلوبة",
|
|
3623
|
+
query_records: "البحث عن السجلات المطابقة",
|
|
3624
|
+
search_knowledge: "البحث في قاعدة المعرفة عن معلومات",
|
|
3625
|
+
visualize_data: "عرض البيانات في رسم بياني",
|
|
3626
|
+
add_field: "إضافة حقل إلى الكائن",
|
|
3627
|
+
apply_blueprint: "بناء التطبيق وفق الخطة",
|
|
3628
|
+
apply_edit: "تطبيق هذا التغيير",
|
|
3629
|
+
create_metadata: "إنشاء عنصر بيانات وصفية",
|
|
3630
|
+
create_object: "إنشاء كائن جديد",
|
|
3631
|
+
create_package: "إنشاء حزمة جديدة",
|
|
3632
|
+
create_seed: "توليد بيانات تجريبية للكائنات",
|
|
3633
|
+
delete_field: "حذف أحد الحقول",
|
|
3634
|
+
describe_metadata: "مراجعة البيانات الوصفية",
|
|
3635
|
+
describe_object: "مراجعة بنية الكائن",
|
|
3636
|
+
get_active_package: "التحقق من الحزمة النشطة",
|
|
3637
|
+
get_authoring_rules: "الاطلاع على قواعد التأليف",
|
|
3638
|
+
get_metadata_schema: "الاطلاع على تنسيق البيانات الوصفية",
|
|
3639
|
+
get_package: "مراجعة معلومات الحزمة",
|
|
3640
|
+
list_metadata: "سرد البيانات الوصفية الموجودة",
|
|
3641
|
+
list_objects: "سرد الكائنات الموجودة",
|
|
3642
|
+
list_packages: "سرد الحزم الموجودة",
|
|
3643
|
+
load_tools: "تحميل أدوات إضافية",
|
|
3644
|
+
modify_field: "تعديل أحد الحقول",
|
|
3645
|
+
open_record: "فتح هذا السجل",
|
|
3646
|
+
propose_blueprint: "صياغة خطة التطبيق",
|
|
3647
|
+
set_active_package: "الانتقال إلى الحزمة المطلوبة",
|
|
3648
|
+
suggest_builder: "اقتراح البناء بالذكاء الاصطناعي",
|
|
3649
|
+
test_flow: "تشغيل تجريبي للتدفق",
|
|
3650
|
+
todo_write: "تدوين ما يجب التحقق منه لاحقًا",
|
|
3651
|
+
toggle_flow: "تشغيل التدفق أو إيقافه",
|
|
3652
|
+
update_metadata: "تحديث عنصر بيانات وصفية",
|
|
3653
|
+
validate_expression: "التحقق من صحة التعبير",
|
|
3654
|
+
verify_build: "مطابقة نتيجة البناء",
|
|
3655
|
+
},
|
|
3656
|
+
toolState: {
|
|
3657
|
+
agentActivity: "نشاط الوكيل",
|
|
3658
|
+
pending: "قيد الانتظار",
|
|
3659
|
+
running: "قيد التنفيذ",
|
|
3660
|
+
awaitingApproval: "بانتظار الموافقة",
|
|
3661
|
+
responded: "تمت الاستجابة",
|
|
3662
|
+
completed: "مكتمل",
|
|
3663
|
+
error: "خطأ",
|
|
3664
|
+
denied: "مرفوض",
|
|
3665
|
+
failed: "فشل",
|
|
3666
|
+
},
|
|
3667
|
+
phase: {
|
|
3668
|
+
build: "الإنشاء",
|
|
3669
|
+
design: "تصميم الخطة",
|
|
3670
|
+
stepCount: "{{count}} خطوات",
|
|
3671
|
+
stepCount_zero: "{{count}} خطوة",
|
|
3672
|
+
stepCount_one: "{{count}} خطوة",
|
|
3673
|
+
stepCount_two: "خطوتان ({{count}})",
|
|
3674
|
+
stepCount_few: "{{count}} خطوات",
|
|
3675
|
+
stepCount_many: "{{count}} خطوة",
|
|
3676
|
+
stepCount_other: "{{count}} خطوة",
|
|
3677
|
+
expand: "إظهار الخطوات",
|
|
3678
|
+
collapse: "إخفاء الخطوات",
|
|
3679
|
+
},
|
|
3680
|
+
plan: {
|
|
3681
|
+
countObjects: "{{count}} كائنات",
|
|
3682
|
+
countObjects_zero: "{{count}} كائن",
|
|
3683
|
+
countObjects_one: "{{count}} كائن",
|
|
3684
|
+
countObjects_two: "كائنان ({{count}})",
|
|
3685
|
+
countObjects_few: "{{count}} كائنات",
|
|
3686
|
+
countObjects_many: "{{count}} كائنًا",
|
|
3687
|
+
countObjects_other: "{{count}} كائن",
|
|
3688
|
+
countViews: "{{count}} طرق عرض",
|
|
3689
|
+
countViews_zero: "{{count}} طريقة عرض",
|
|
3690
|
+
countViews_one: "{{count}} طريقة عرض",
|
|
3691
|
+
countViews_two: "طريقتا عرض ({{count}})",
|
|
3692
|
+
countViews_few: "{{count}} طرق عرض",
|
|
3693
|
+
countViews_many: "{{count}} طريقة عرض",
|
|
3694
|
+
countViews_other: "{{count}} طريقة عرض",
|
|
3695
|
+
countDashboards: "{{count}} لوحات معلومات",
|
|
3696
|
+
countDashboards_zero: "{{count}} لوحة معلومات",
|
|
3697
|
+
countDashboards_one: "{{count}} لوحة معلومات",
|
|
3698
|
+
countDashboards_two: "لوحتا معلومات ({{count}})",
|
|
3699
|
+
countDashboards_few: "{{count}} لوحات معلومات",
|
|
3700
|
+
countDashboards_many: "{{count}} لوحة معلومات",
|
|
3701
|
+
countDashboards_other: "{{count}} لوحة معلومات",
|
|
3702
|
+
countSeedData: "بيانات تجريبية",
|
|
3703
|
+
extendTarget: "إضافة إلى التطبيق الحالي: {{app}}",
|
|
3704
|
+
awaitingConfirm: "بانتظار التأكيد",
|
|
3705
|
+
objectsAndFields: "الكائنات والحقول",
|
|
3706
|
+
views: "طرق العرض",
|
|
3707
|
+
suggestedField: "مقترح",
|
|
3708
|
+
nameField: "الاسم: {{field}}",
|
|
3709
|
+
},
|
|
3710
|
+
build: {
|
|
3711
|
+
building: "جارٍ إنشاء {{app}}…",
|
|
3712
|
+
built: "تم إنشاء {{app}}",
|
|
3713
|
+
builtAndLive: "تم الإنشاء والنشر · {{app}}",
|
|
3714
|
+
appFallback: "تطبيقك",
|
|
3715
|
+
addingSampleData: "جارٍ إضافة بيانات تجريبية",
|
|
3716
|
+
group: {
|
|
3717
|
+
object: "الكائنات",
|
|
3718
|
+
view: "طرق العرض",
|
|
3719
|
+
dashboard: "لوحات المعلومات",
|
|
3720
|
+
app: "التطبيق",
|
|
3721
|
+
seed: "بيانات تجريبية",
|
|
3722
|
+
},
|
|
3723
|
+
moreArtifacts: "+{{n}} أخرى",
|
|
3724
|
+
verifying: "جارٍ التحقق من التغيير…",
|
|
3725
|
+
verifyStep: "الخطوة {{n}}",
|
|
3726
|
+
verified: "تم التحقق من التغيير",
|
|
3727
|
+
unknownPhase: "مرحلة إنشاء غير معروفة",
|
|
3728
|
+
nextStepsLead: "بعد ذلك يمكنك أن تقول: {{steps}}",
|
|
3729
|
+
nextStepQuote: "«{{step}}»",
|
|
3730
|
+
draftPosture: "تُحفظ التغييرات اللاحقة كمسودات، وأنت من ينشرها في Studio.",
|
|
3731
|
+
checksPassed: "اجتازت الفحوصات {{passed}}/{{total}}",
|
|
3732
|
+
},
|
|
3733
|
+
changes: {
|
|
3734
|
+
planTitle: "خطة التغييرات · {{count}} تغييرات",
|
|
3735
|
+
planTitle_zero: "خطة التغييرات · {{count}} تغيير",
|
|
3736
|
+
planTitle_one: "خطة التغييرات · {{count}} تغيير",
|
|
3737
|
+
planTitle_two: "خطة التغييرات · تغييران ({{count}})",
|
|
3738
|
+
planTitle_few: "خطة التغييرات · {{count}} تغييرات",
|
|
3739
|
+
planTitle_many: "خطة التغييرات · {{count}} تغييرًا",
|
|
3740
|
+
planTitle_other: "خطة التغييرات · {{count}} تغيير",
|
|
3741
|
+
saveDraft: "حفظ كمسودة",
|
|
3742
|
+
reviewAndPublish: "مراجعة التغييرات ونشرها",
|
|
3743
|
+
undo: "تراجع",
|
|
3744
|
+
undoWithOthers: "تراجع (مع {{count}} مسودات أخرى)",
|
|
3745
|
+
undoWithOthers_zero: "تراجع (مع {{count}} مسودة أخرى)",
|
|
3746
|
+
undoWithOthers_one: "تراجع (مع {{count}} مسودة أخرى)",
|
|
3747
|
+
undoWithOthers_two: "تراجع (مع مسودتين أخريين: {{count}})",
|
|
3748
|
+
undoWithOthers_few: "تراجع (مع {{count}} مسودات أخرى)",
|
|
3749
|
+
undoWithOthers_many: "تراجع (مع {{count}} مسودة أخرى)",
|
|
3750
|
+
undoWithOthers_other: "تراجع (مع {{count}} مسودة أخرى)",
|
|
3751
|
+
undoConfirm: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
|
|
3752
|
+
undoConfirm_zero: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
|
|
3753
|
+
undoConfirm_one: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
|
|
3754
|
+
undoConfirm_two: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
|
|
3755
|
+
undoConfirm_few: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
|
|
3756
|
+
undoConfirm_many: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
|
|
3757
|
+
undoConfirm_other: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة وعددها {{total}}، منها {{count}} لا تخص هذا التغيير.",
|
|
3758
|
+
undoConfirmUnknown: "يؤدي التراجع إلى حذف جميع المسودات غير المنشورة في هذه الحزمة، وليس هذا التغيير فقط.",
|
|
3759
|
+
undoConfirmAction: "تراجع عن الكل",
|
|
3760
|
+
undoCancel: "إلغاء",
|
|
3761
|
+
undoing: "جارٍ التراجع…",
|
|
3762
|
+
undone: "تم التراجع",
|
|
3763
|
+
undoFailed: "تعذّر التراجع",
|
|
3764
|
+
kind: {
|
|
3765
|
+
field: "حقل",
|
|
3766
|
+
object: "كائن",
|
|
3767
|
+
view: "طريقة عرض",
|
|
3768
|
+
dashboard: "لوحة معلومات",
|
|
3769
|
+
app: "تطبيق",
|
|
3770
|
+
seed: "بيانات تجريبية",
|
|
3771
|
+
package: "حزمة التطبيق",
|
|
3772
|
+
},
|
|
3773
|
+
},
|
|
3774
|
+
},
|
|
2777
3775
|
chatbotError: {
|
|
2778
3776
|
title: "فشل الرد",
|
|
2779
3777
|
fallbackDetail: "حدث خطأ ما. يرجى المحاولة مرة أخرى.",
|
|
@@ -2787,10 +3785,13 @@ const ar = {
|
|
|
2787
3785
|
buyCredits: "شراء باقة أرصدة",
|
|
2788
3786
|
upgradePlan: "ترقية الخطة",
|
|
2789
3787
|
},
|
|
3788
|
+
planTier: {
|
|
3789
|
+
teamAndUp: "خطة Team وما فوقها",
|
|
3790
|
+
},
|
|
2790
3791
|
environment: {
|
|
2791
|
-
addEnvironment: "إضافة بيئة",
|
|
2792
3792
|
setUpProduction: "إعداد بيئة الإنتاج",
|
|
2793
3793
|
addDevelopment: "إضافة بيئة تطوير",
|
|
3794
|
+
developmentLocked: "بيئات التطوير · {{tier}}",
|
|
2794
3795
|
// Plan/capacity dialog (EnvironmentEntitlementDialog) — cloud#959.
|
|
2795
3796
|
entitlement: {
|
|
2796
3797
|
productionLimitTitle: "لديك بالفعل بيئة الإنتاج الخاصة بك",
|
|
@@ -2838,7 +3839,7 @@ const ar = {
|
|
|
2838
3839
|
},
|
|
2839
3840
|
unbound: {
|
|
2840
3841
|
title: "غير متصل",
|
|
2841
|
-
body: "
|
|
3842
|
+
body: "بيئة التشغيل هذه غير متصلة بأي مستوى تحكم. يفتح «اتصال» حسابك السحابي في نافذة جديدة، حيث تتم الموافقة على الربط بنقرة واحدة — دون إدخال أي معرّفات أو بيانات اعتماد في هذه الصفحة.",
|
|
2842
3843
|
connect: "اتصال",
|
|
2843
3844
|
},
|
|
2844
3845
|
},
|
|
@@ -2851,10 +3852,17 @@ const ar = {
|
|
|
2851
3852
|
dismiss: "تجاهل",
|
|
2852
3853
|
confirmedToast: "تم الآن منح «{{set}}» إلى {{anchor}}.",
|
|
2853
3854
|
dismissedToast: "تم تجاهل اقتراح «{{set}}».",
|
|
3855
|
+
guestUnsupported: "لا يمكن المنح هنا: لا تُشتق مجموعات موضع Guest من الاقتراحات المقبولة.",
|
|
3856
|
+
acceptedState: "تم قبول «{{set}}» لجميع المستخدمين المسجّلين (موضع Everyone).",
|
|
3857
|
+
notInForceState: "تم قبول «{{set}}»، لكنه لم يسرِ بعد: لم يتغير موضع Everyone في هذا الطلب. يوضّح سجل الخادم السبب.",
|
|
3858
|
+
dismissedState: "«{{set}}» غير ممنوح: تم تجاهل الاقتراح أو إلغاؤه.",
|
|
3859
|
+
revoke: "إلغاء",
|
|
3860
|
+
revoking: "جارٍ الإلغاء…",
|
|
3861
|
+
revokedToast: "تم إلغاء قبول «{{set}}».",
|
|
2854
3862
|
},
|
|
2855
3863
|
title: "سوق التطبيقات",
|
|
2856
3864
|
subtitle: "استعرض التطبيقات المعتمدة المنشورة في كتالوج ObjectStack. انقر على تطبيق لرؤية التفاصيل وتثبيته في أحد بيئاتك.",
|
|
2857
|
-
searchPlaceholder:
|
|
3865
|
+
searchPlaceholder: 'ابحث عن التطبيقات بالاسم أو معرف التطبيق…',
|
|
2858
3866
|
searchAria: "البحث في تطبيقات السوق",
|
|
2859
3867
|
installed: "مثبت",
|
|
2860
3868
|
installedCount: "مثبت ({{count}})",
|
|
@@ -2864,21 +3872,26 @@ const ar = {
|
|
|
2864
3872
|
noMatchFilters: "لا توجد تطبيقات تطابق الفلاتر.",
|
|
2865
3873
|
noDescription: "لا وصف متاح.",
|
|
2866
3874
|
back: "العودة إلى السوق",
|
|
2867
|
-
installedTitle: "التطبيقات المثبتة",
|
|
2868
|
-
installedSubtitle: "حزم السوق المثبتة حالياً في نواة هذا الوقت التشغيل.",
|
|
2869
|
-
installedEmpty: "لا توجد تطبيقات سوق مثبتة في هذا الوقت التشغيل بعد.",
|
|
2870
3875
|
browseLink: "استعراض السوق →",
|
|
2871
|
-
installedAdditiveNote: "
|
|
2872
|
-
installedAt: "تم التثبيت {{when}}",
|
|
2873
|
-
installedBy: "بواسطة {{user}}",
|
|
2874
|
-
installedPackageId: "الحزمة",
|
|
2875
|
-
cachedAs: "مخزن مؤقتاً كـ <code>{{path}}</code>",
|
|
3876
|
+
installedAdditiveNote: "يزيل إلغاء التثبيت التطبيق من النواة الجارية فوراً، ومعه مجموعات الأذونات الخاصة به وتعييناتها، ويحذف المانيفست المخزن مؤقتاً لكي لا يتم تحميل الحزمة عند التشغيل التالي. تبقى السجلات المخزنة في كائناته في قاعدة البيانات.",
|
|
2876
3877
|
versionBadge: "v{{version}}",
|
|
2877
3878
|
installedBadge: "مثبت v{{version}}",
|
|
3879
|
+
// objectui#11645 — an install-local entry this runtime refused to load at
|
|
3880
|
+
// startup (the listing's `notLoaded` marker), read on Installed Apps.
|
|
3881
|
+
notLoaded: {
|
|
3882
|
+
badge: "غير محمّل",
|
|
3883
|
+
protocolIncompatible: "لم يقم وقت التشغيل هذا بتحميل هذه الحزمة: فهي تستهدف البروتوكول {{requiredRange}}، وهو بروتوكول لا يدعمه وقت التشغيل هذا.",
|
|
3884
|
+
otherReason: "لم يقم وقت التشغيل هذا بتحميل هذه الحزمة ({{code}}).",
|
|
3885
|
+
},
|
|
2878
3886
|
load: {
|
|
2879
3887
|
failed: "تعذر تحميل السوق",
|
|
2880
3888
|
failedHintConfigured: "يصل وقت التشغيل هذا إلى السوق عبر مستوى التحكم على {{url}}. تحقق من أنه متصل بالإنترنت ويمكن الوصول إليه من هنا.",
|
|
2881
|
-
failedHintSameOrigin: "
|
|
3889
|
+
failedHintSameOrigin: "يتم الوصول إلى كتالوج السوق عبر وقت التشغيل هذا. تأكد من أن وقت التشغيل متصل بالإنترنت ويمكنه الوصول إلى الكتالوج.",
|
|
3890
|
+
loading: "جارٍ تحميل كتالوج السوق…",
|
|
3891
|
+
slow: "لا يزال التحميل جاريًا — كتالوج السوق بطيء في الاستجابة.",
|
|
3892
|
+
retry: "إعادة المحاولة",
|
|
3893
|
+
unreachable: "تعذر الوصول إلى كتالوج السوق.",
|
|
3894
|
+
answeredError: "استجاب كتالوج السوق بخطأ (HTTP {{status}}).",
|
|
2882
3895
|
packageFailed: "تعذر تحميل الحزمة",
|
|
2883
3896
|
notFound: "غير موجود.",
|
|
2884
3897
|
},
|
|
@@ -2902,10 +3915,23 @@ const ar = {
|
|
|
2902
3915
|
purgeSampleData: 'حذف البيانات التجريبية',
|
|
2903
3916
|
purgeConfirm: 'حذف جميع السجلات التجريبية التي أنشأتها هذه الحزمة؟ لن تتأثر السجلات التي أضافها المستخدم.',
|
|
2904
3917
|
purgeSuccess: 'تم حذف {{count}} سجل تجريبي.',
|
|
3918
|
+
purgeSuccess_zero: 'تم حذف {{count}} سجل تجريبي.',
|
|
3919
|
+
purgeSuccess_one: 'تم حذف {{count}} سجل تجريبي.',
|
|
3920
|
+
purgeSuccess_two: 'تم حذف سجلين تجريبيين ({{count}}).',
|
|
3921
|
+
purgeSuccess_few: 'تم حذف {{count}} سجلات تجريبية.',
|
|
3922
|
+
purgeSuccess_many: 'تم حذف {{count}} سجلًا تجريبيًا.',
|
|
3923
|
+
purgeSuccess_other: 'تم حذف {{count}} سجل تجريبي.',
|
|
2905
3924
|
purgeNoData: 'لا توجد سجلات تجريبية للحذف.',
|
|
2906
3925
|
reseedQueued: 'ستتم إعادة تحميل البيانات التجريبية عند الوصول التالي إلى البيئة.',
|
|
2907
3926
|
reseedLocalSuccess: 'تمت إعادة تحميل البيانات التجريبية: {{inserted}} مضافة، {{updated}} محدثة.',
|
|
2908
3927
|
reseedPartialErrors: '(فشل في كتابة {{count}} سجل)',
|
|
3928
|
+
reseedPartialErrors_zero: '(فشل في كتابة {{count}} سجل)',
|
|
3929
|
+
reseedPartialErrors_one: '(فشل في كتابة {{count}} سجل)',
|
|
3930
|
+
reseedPartialErrors_two: '(فشل في كتابة سجلين: {{count}})',
|
|
3931
|
+
reseedPartialErrors_few: '(فشل في كتابة {{count}} سجلات)',
|
|
3932
|
+
reseedPartialErrors_many: '(فشل في كتابة {{count}} سجلًا)',
|
|
3933
|
+
reseedPartialErrors_other: '(فشل في كتابة {{count}} سجل)',
|
|
3934
|
+
sampleDataKernelUnavailable: 'لا يحتوي مستوى التحكم هذا على نواة بيئة، لذا لا يمكن إعادة تحميل البيانات التجريبية أو حذفها من هنا. نفّذ ذلك من وقت التشغيل الخاص بالبيئة نفسها.',
|
|
2909
3935
|
updateAvailable: 'يتوفر تحديث',
|
|
2910
3936
|
},
|
|
2911
3937
|
action: {
|
|
@@ -2915,6 +3941,7 @@ const ar = {
|
|
|
2915
3941
|
working: "جارٍ المعالجة…",
|
|
2916
3942
|
installToCloud: "تثبيت في السحابة…",
|
|
2917
3943
|
installing: "جارٍ التثبيت…",
|
|
3944
|
+
updating: "جارٍ التحديث…",
|
|
2918
3945
|
uninstall: "إلغاء التثبيت",
|
|
2919
3946
|
uninstalling: "جارٍ إلغاء التثبيت…",
|
|
2920
3947
|
details: "التفاصيل",
|
|
@@ -2932,15 +3959,45 @@ const ar = {
|
|
|
2932
3959
|
environmentPlaceholder: "تحديد بيئة",
|
|
2933
3960
|
includeSampleData: "تضمين بيانات نموذجية",
|
|
2934
3961
|
noEnvs: "لم يتم العثور على بيئات في مؤسستك النشطة.",
|
|
2935
|
-
noPermission: "ليس لديك إذن لتثبيت التطبيقات. فقط مالكو المؤسسة والمشرفون يمكنهم
|
|
3962
|
+
noPermission: "ليس لديك إذن لتثبيت التطبيقات. فقط مالكو المؤسسة والمشرفون يمكنهم التثبيت — تواصل مع مشرف مؤسستك.",
|
|
2936
3963
|
signInFirst: "يجب عليك أولاً تسجيل الدخول إلى ObjectStack Cloud.",
|
|
2937
3964
|
success: "تم التثبيت بنجاح. افتح البيئة لرؤية التطبيق الجديد.",
|
|
2938
3965
|
localSuccess: "تم تثبيت v{{version}} في هذا الوقت التشغيل. يجب أن يظهر \"{{name}}\" الآن في مبدّل التطبيقات.",
|
|
3966
|
+
localLoadsAtRestart: "تم تثبيت v{{version}} في وقت التشغيل هذا. سيُحمَّل \"{{name}}\" عند إعادة التشغيل التالية لوقت التشغيل، ولن يظهر في مبدّل التطبيقات قبل ذلك.",
|
|
2939
3967
|
localManifestConflict: "{{message}}\nملاحظة: تطبيق محلي يمتلك بالفعل هذا المعرف. أزله أولاً من objectstack.config.ts.",
|
|
2940
3968
|
localUnauthorized: "سجل الدخول إلى هذا الوقت التشغيل أولاً.",
|
|
2941
3969
|
localMarketplaceUnavailable: "هذا الوقت التشغيل لا يحتوي على OS_CLOUD_URL مُهيأ.",
|
|
2942
3970
|
updateTo: "تحديث → v{{version}}",
|
|
2943
3971
|
installedVersion: "مثبت v{{version}}",
|
|
3972
|
+
deploying: "جارٍ نشر التطبيق…",
|
|
3973
|
+
deployed: "تم نشر التطبيق وهو جاهز.",
|
|
3974
|
+
openApp: "فتح {{name}}",
|
|
3975
|
+
deployTimeout: "تم تسجيل التثبيت، لكن هذه البيئة لا تقدّم التطبيق بعد. قد يكون النشر لا يزال جاريًا — تحقّق مرة أخرى بعد قليل. إذا لم يظهر أبدًا، فربما لم تُحمَّل الحزمة، أو لا تتضمن أي تطبيق، أو يتطلب تطبيقها إذنًا لا تملكه.",
|
|
3976
|
+
checkAgain: "تحقّق مرة أخرى",
|
|
3977
|
+
// ADR-0131 D6 — the install modes a package's manifest permits, and
|
|
3978
|
+
// what an unmanaged install answers (MarketplacePackagePage).
|
|
3979
|
+
mode: {
|
|
3980
|
+
label: "طريقة التثبيت",
|
|
3981
|
+
managed: "مُدار",
|
|
3982
|
+
managedHint: "تبقى الحزمة هي المرجع: تُسجَّل كتعليمات برمجية وتتلقى ترقياتها، ولا تُحرَّر عناصرها هنا.",
|
|
3983
|
+
unmanaged: "نسخة غير مُدارة",
|
|
3984
|
+
unmanagedHint: "تُنسخ مرة واحدة إلى وقت التشغيل هذا كبيانات وصفية خاصة به: كل عنصر قابل للتحرير هنا، ولا تتلقى النسخة أي ترقية.",
|
|
3985
|
+
required: "اختر طريقة التثبيت لتثبيت هذه الحزمة.",
|
|
3986
|
+
},
|
|
3987
|
+
unmanagedSuccess: "تم نسخ v{{version}} من \"{{name}}\" إلى وقت التشغيل هذا كبيانات وصفية خاصة به، في القاعدة {{base}}. النسخة قابلة للتحرير ولا تتلقى أي ترقية.",
|
|
3988
|
+
unmanagedStrippedLocks: "كانت الحزمة تقفل هذه العناصر. النسخة قابلة للتحرير، لذلك لم تُنسخ أقفالها:",
|
|
3989
|
+
unmanagedIgnored: "لا يدعم وقت التشغيل هذا التثبيت غير المُدار، لذلك ثُبّت \"{{name}}\" كحزمة مُدارة (مسجّلة كتعليمات برمجية) بدلاً من نسخه. رقِّ وقت التشغيل، ثم ألغِ تثبيت الحزمة وثبّتها مرة أخرى كنسخة غير مُدارة.",
|
|
3990
|
+
},
|
|
3991
|
+
// objectui#12146 — the install dialog opened as an UPDATE of the copy
|
|
3992
|
+
// this environment holds (MarketplacePackagePage).
|
|
3993
|
+
update: {
|
|
3994
|
+
dialogTitle: "تحديث {{name}}",
|
|
3995
|
+
dialogDescCurrent: "تحديث النسخة المثبتة في هذه البيئة ({{host}}).",
|
|
3996
|
+
dialogDescPicker: "اختر البيئة التي تريد تحديث النسخة المثبتة فيها. يجب أن تكون مسجلاً في ObjectStack Cloud.",
|
|
3997
|
+
majorNotice: "هذا تحديث إلى إصدار رئيسي جديد (v{{fromMajor}} → v{{toMajor}})، وقد يتضمن تغييرات غير متوافقة.",
|
|
3998
|
+
releaseNotes: "اقرأ ملاحظات الإصدار v{{version}}",
|
|
3999
|
+
success: "تم التحديث إلى v{{version}}.",
|
|
4000
|
+
deployTimeout: "تم تسجيل التحديث، لكن هذه البيئة لا تقدّم v{{version}} بعد. قد يكون النشر لا يزال جاريًا — تحقّق مرة أخرى بعد قليل.",
|
|
2944
4001
|
},
|
|
2945
4002
|
// objectui#3546 — the MarketplacePage "Your organization" strip.
|
|
2946
4003
|
org: {
|
|
@@ -2958,7 +4015,8 @@ const ar = {
|
|
|
2958
4015
|
reviewed: "تمت المراجعة والموافقة",
|
|
2959
4016
|
unreviewed: "لم تتم المراجعة بعد",
|
|
2960
4017
|
signed: "موقَّع",
|
|
2961
|
-
grantsIntro: "
|
|
4018
|
+
grantsIntro: "تطلب هذه الحزمة:",
|
|
4019
|
+
notEnforced: "تُسجَّل هذه القائمة عند التثبيت ويُعاد تأكيدها إذا طلب إصدار لاحق المزيد، لكن بيئة التشغيل لا تقصر الحزمة على هذه القائمة بعد.",
|
|
2962
4020
|
services: "خدمات المنصة",
|
|
2963
4021
|
hooks: "خطافات دورة الحياة",
|
|
2964
4022
|
network: "الوصول إلى الشبكة",
|
|
@@ -2972,9 +4030,11 @@ const ar = {
|
|
|
2972
4030
|
},
|
|
2973
4031
|
},
|
|
2974
4032
|
uninstall: {
|
|
2975
|
-
confirm: "إلغاء تثبيت {{manifestId}} v{{version}} من
|
|
2976
|
-
successInList: "
|
|
2977
|
-
successInDetail: "
|
|
4033
|
+
confirm: "إلغاء تثبيت {{manifestId}} v{{version}} من وقت التشغيل هذا؟\n\nستتم إزالة التطبيق من النواة الجارية فوراً، ومعه مجموعات الأذونات الخاصة به وتعييناتها، وستتم إزالة المانيفست المخزن مؤقتاً. تبقى السجلات المخزنة في كائناته في قاعدة البيانات.",
|
|
4034
|
+
successInList: "تمت إزالة {{manifestId}}: خرج التطبيق من النواة الجارية، ومعه مجموعات الأذونات الخاصة به وتعييناتها. تبقى السجلات المخزنة في كائناته في قاعدة البيانات.",
|
|
4035
|
+
successInDetail: "تمت إزالة {{manifestId}} والمانيفست المخزن مؤقتاً الخاص به: خرج التطبيق من النواة الجارية، ومعه مجموعات الأذونات الخاصة به وتعييناتها. تبقى السجلات المخزنة في كائناته في قاعدة البيانات.",
|
|
4036
|
+
confirmNotLoaded: "إلغاء تثبيت {{manifestId}} v{{version}} من وقت التشغيل هذا؟\n\nسيتم إزالة المانيفست المخزن مؤقتاً. لم يقم وقت التشغيل هذا بتحميل الحزمة، لذا لا يعمل أي جزء منها.",
|
|
4037
|
+
successNotLoaded: "تمت إزالة {{manifestId}}. لم تكن الحزمة محمّلة، لذا لا حاجة لإعادة التشغيل.",
|
|
2978
4038
|
},
|
|
2979
4039
|
accessDenied: {
|
|
2980
4040
|
title: "سوق التطبيقات للمشرفين فقط",
|
|
@@ -2997,30 +4057,27 @@ const ar = {
|
|
|
2997
4057
|
storage: "التخزين",
|
|
2998
4058
|
other: "أخرى",
|
|
2999
4059
|
},
|
|
3000
|
-
pricing: {
|
|
3001
|
-
free: "مجاني",
|
|
3002
|
-
freemium: "مجاني جزئياً",
|
|
3003
|
-
paid: "مدفوع",
|
|
3004
|
-
subscription: "اشتراك",
|
|
3005
|
-
"usage-based": "حسب الاستخدام",
|
|
3006
|
-
"contact-sales": "تواصل مع المبيعات",
|
|
3007
|
-
},
|
|
3008
4060
|
relativeTime: {
|
|
3009
4061
|
today: "اليوم",
|
|
3010
4062
|
daysAgo: "منذ {{count}} ي",
|
|
3011
4063
|
monthsAgo: "منذ {{count}} شهر(أشهر)",
|
|
4064
|
+
monthsAgo_zero: "منذ {{count}} شهر",
|
|
4065
|
+
monthsAgo_one: "منذ {{count}} شهر",
|
|
4066
|
+
monthsAgo_two: "منذ شهرين ({{count}})",
|
|
4067
|
+
monthsAgo_few: "منذ {{count}} أشهر",
|
|
4068
|
+
monthsAgo_many: "منذ {{count}} شهرًا",
|
|
4069
|
+
monthsAgo_other: "منذ {{count}} شهر",
|
|
3012
4070
|
yearsAgo: "منذ {{count}} سنة(سنوات)",
|
|
4071
|
+
yearsAgo_zero: "منذ {{count}} سنة",
|
|
4072
|
+
yearsAgo_one: "منذ {{count}} سنة",
|
|
4073
|
+
yearsAgo_two: "منذ سنتين ({{count}})",
|
|
4074
|
+
yearsAgo_few: "منذ {{count}} سنوات",
|
|
4075
|
+
yearsAgo_many: "منذ {{count}} سنة",
|
|
4076
|
+
yearsAgo_other: "منذ {{count}} سنة",
|
|
3013
4077
|
},
|
|
3014
4078
|
},
|
|
3015
|
-
approvals: {
|
|
3016
|
-
approve: 'الموافقة',
|
|
3017
|
-
reject: 'رفض',
|
|
3018
|
-
comment: 'تعليق (اختياري)',
|
|
3019
|
-
approveSuccess: 'تمت الموافقة',
|
|
3020
|
-
rejectSuccess: 'تم الرفض',
|
|
3021
|
-
rejectConfirm: 'هل تريد رفض طلب الموافقة هذا؟',
|
|
3022
|
-
},
|
|
3023
4079
|
approvalsInbox: {
|
|
4080
|
+
recordUnresolvable: 'لا يمكن فتح هذا السجل',
|
|
3024
4081
|
loadMore: 'تحميل المزيد',
|
|
3025
4082
|
loadingMore: 'جارٍ التحميل…',
|
|
3026
4083
|
loadedOf: 'تم تحميل {{loaded}} من {{total}}',
|
|
@@ -3039,6 +4096,12 @@ const ar = {
|
|
|
3039
4096
|
requestInfoSent: 'أُعيد إلى مقدم الطلب لاستكمال المعلومات',
|
|
3040
4097
|
remindBtn: 'تذكير',
|
|
3041
4098
|
remindSuccess: 'أُرسل تذكير إلى {{count}} موافق',
|
|
4099
|
+
remindSuccess_zero: 'أُرسل تذكير إلى {{count}} موافق',
|
|
4100
|
+
remindSuccess_one: 'أُرسل تذكير إلى {{count}} موافق',
|
|
4101
|
+
remindSuccess_two: 'أُرسل تذكير إلى موافقَين ({{count}})',
|
|
4102
|
+
remindSuccess_few: 'أُرسل تذكير إلى {{count}} موافقين',
|
|
4103
|
+
remindSuccess_many: 'أُرسل تذكير إلى {{count}} موافقًا',
|
|
4104
|
+
remindSuccess_other: 'أُرسل تذكير إلى {{count}} موافق',
|
|
3042
4105
|
remindThrottled: 'أُرسل تذكير مؤخرًا — حاول لاحقًا.',
|
|
3043
4106
|
replyPlaceholder: 'الرد على هذا الطلب…',
|
|
3044
4107
|
slaRemaining: 'SLA المتبقي {{dur}}',
|
|
@@ -3055,8 +4118,15 @@ const ar = {
|
|
|
3055
4118
|
progressApprovals: 'الموافقات — {{got}} من {{need}}',
|
|
3056
4119
|
progressGroups: 'تقدم التوقيعات — {{got}} من {{need}} مجموعات',
|
|
3057
4120
|
progressEligible: '{{count}} معتمِد مؤهل',
|
|
4121
|
+
progressEligible_zero: '{{count}} معتمِد مؤهل',
|
|
4122
|
+
progressEligible_one: '{{count}} معتمِد مؤهل',
|
|
4123
|
+
progressEligible_two: 'معتمِدان مؤهلان ({{count}})',
|
|
4124
|
+
progressEligible_few: '{{count}} معتمِدين مؤهلين',
|
|
4125
|
+
progressEligible_many: '{{count}} معتمِدًا مؤهلًا',
|
|
4126
|
+
progressEligible_other: '{{count}} معتمِد مؤهل',
|
|
3058
4127
|
progressBar: 'تقدم القرار',
|
|
3059
4128
|
declaredActions: 'الإجراءات',
|
|
4129
|
+
decisionPanelOffRequestPage: 'لوحة قرار الموافقة تعمل فقط في صفحات طلبات الموافقة.',
|
|
3060
4130
|
attachmentChip: 'مرفق',
|
|
3061
4131
|
attachmentOpenFailed: 'تعذّر فتح المرفق — يرجى المحاولة مرة أخرى',
|
|
3062
4132
|
approveOneTitle: 'الموافقة على "{{title}}"؟',
|
|
@@ -3086,6 +4156,12 @@ const ar = {
|
|
|
3086
4156
|
filterCount: '{{shown}} من {{total}}',
|
|
3087
4157
|
selected: 'محدد',
|
|
3088
4158
|
actionableCount: '({{count}} قابلة للتنفيذ)',
|
|
4159
|
+
actionableCount_zero: '({{count}} قابلة للتنفيذ)',
|
|
4160
|
+
actionableCount_one: '({{count}} قابلة للتنفيذ)',
|
|
4161
|
+
actionableCount_two: '({{count}} قابلة للتنفيذ)',
|
|
4162
|
+
actionableCount_few: '({{count}} قابلة للتنفيذ)',
|
|
4163
|
+
actionableCount_many: '({{count}} قابلة للتنفيذ)',
|
|
4164
|
+
actionableCount_other: '({{count}} قابلة للتنفيذ)',
|
|
3089
4165
|
selectAll: 'تحديد الكل',
|
|
3090
4166
|
selectRow: 'تحديد الطلب',
|
|
3091
4167
|
colRequest: 'الطلب',
|
|
@@ -3120,6 +4196,13 @@ const ar = {
|
|
|
3120
4196
|
emptyPending: 'كل شيء منجز — لا يوجد ما ينتظر موافقتك.',
|
|
3121
4197
|
emptyOther: 'لا يوجد شيء هنا بعد.',
|
|
3122
4198
|
emptyViewAll: 'عرض كل الطلبات',
|
|
4199
|
+
waitingOnOthers: "{{count}} طلب ينتظر موافقين آخرين",
|
|
4200
|
+
waitingOnOthers_zero: "{{count}} طلب ينتظر موافقين آخرين",
|
|
4201
|
+
waitingOnOthers_one: "طلب واحد ({{count}}) ينتظر موافقين آخرين",
|
|
4202
|
+
waitingOnOthers_two: "طلبان ({{count}}) ينتظران موافقين آخرين",
|
|
4203
|
+
waitingOnOthers_few: "{{count}} طلبات تنتظر موافقين آخرين",
|
|
4204
|
+
waitingOnOthers_many: "{{count}} طلبًا ينتظر موافقين آخرين",
|
|
4205
|
+
waitingOnOthers_other: "{{count}} طلب ينتظر موافقين آخرين",
|
|
3123
4206
|
noMatches: 'لا نتائج مطابقة للمرشحات الحالية.',
|
|
3124
4207
|
keyboardHint: 'لوحة المفاتيح: j/k تنقل · Enter فتح · x تحديد · a موافقة · r رفض',
|
|
3125
4208
|
drawerTitle: 'طلب موافقة',
|
|
@@ -3137,12 +4220,12 @@ const ar = {
|
|
|
3137
4220
|
overrideActionLabel: '{{action}} (تجاوز إداري)',
|
|
3138
4221
|
overrideNotice: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تُنهى الخطوة فورًا ويُتخطّى كل موافِق لم يتصرف بعد. يُسجَّل القرار بوصفه تجاوزًا إداريًا.',
|
|
3139
4222
|
overrideNoticeWho: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تُنهى الخطوة فورًا ويُتخطّى الموافقون الذين لم يتصرفوا بعد — {{who}}. يُسجَّل القرار بوصفه تجاوزًا إداريًا.',
|
|
4223
|
+
overrideReassignNotice: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تنتقل الخطوة إلى الموافق الجديد الذي تختاره، ويحلّ محلّ كل موافِق لم يتصرف بعد. يبقى الطلب قيد الانتظار وينتظر الموافق الجديد. تُسجَّل إعادة الإسناد بوصفها تجاوزًا إداريًا.',
|
|
4224
|
+
overrideReassignNoticeWho: 'لا تشغل أي موقع موافِق في هذه الخطوة. المتابعة تستخدم تجاوزك الإداري: تنتقل الخطوة إلى الموافق الجديد الذي تختاره، ويحلّ محلّ الموافقين الذين لم يتصرفوا بعد — {{who}}. يبقى الطلب قيد الانتظار وينتظر الموافق الجديد. تُسجَّل إعادة الإسناد بوصفها تجاوزًا إداريًا.',
|
|
4225
|
+
overrideRecallNotice: 'لم تقدم هذا الطلب. المتابعة تستخدم تجاوزك الإداري: يُسحب الطلب، ولن يتمكن أي موافِق لم يتصرف بعد من التصرف فيه، ويُفتح قفل السجل.',
|
|
4226
|
+
overrideRecallNoticeWho: 'لم تقدم هذا الطلب. المتابعة تستخدم تجاوزك الإداري: يُسحب الطلب، ويُفتح قفل السجل، ولن يتمكن الموافقون الذين لم يتصرفوا بعد من التصرف فيه — {{who}}.',
|
|
3140
4227
|
viaOverrideChip: 'تجاوز إداري',
|
|
3141
4228
|
viaOverrideHint: 'لم يكن للمنفِّذ موقع موافِق في هذه الخطوة — سُمح له عبر مسار التجاوز الإداري.',
|
|
3142
|
-
rawData: 'البيانات الخام (JSON)',
|
|
3143
|
-
copy: 'نسخ',
|
|
3144
|
-
copied: 'تم النسخ',
|
|
3145
|
-
copyFailed: 'فشل النسخ',
|
|
3146
4229
|
overrideActor: 'التصرف بهوية أخرى (مسؤول)',
|
|
3147
4230
|
actor: 'الهوية',
|
|
3148
4231
|
auto: 'تلقائي',
|
|
@@ -3159,11 +4242,35 @@ const ar = {
|
|
|
3159
4242
|
approveN: 'الموافقة على {{count}}',
|
|
3160
4243
|
rejectN: 'رفض {{count}}',
|
|
3161
4244
|
bulkApproveTitle: 'الموافقة على {{count}} طلبات؟',
|
|
4245
|
+
bulkApproveTitle_zero: 'الموافقة على {{count}} طلب؟',
|
|
4246
|
+
bulkApproveTitle_one: 'الموافقة على {{count}} طلب؟',
|
|
4247
|
+
bulkApproveTitle_two: 'الموافقة على طلبين ({{count}})؟',
|
|
4248
|
+
bulkApproveTitle_few: 'الموافقة على {{count}} طلبات؟',
|
|
4249
|
+
bulkApproveTitle_many: 'الموافقة على {{count}} طلبًا؟',
|
|
4250
|
+
bulkApproveTitle_other: 'الموافقة على {{count}} طلب؟',
|
|
3162
4251
|
bulkApproveBody: 'ستتم الموافقة على كل طلب بهويتك ويتابع التدفق عبر فرع الموافقة.',
|
|
3163
4252
|
bulkRejectTitle: 'رفض {{count}} طلبات؟',
|
|
4253
|
+
bulkRejectTitle_zero: 'رفض {{count}} طلب؟',
|
|
4254
|
+
bulkRejectTitle_one: 'رفض {{count}} طلب؟',
|
|
4255
|
+
bulkRejectTitle_two: 'رفض طلبين ({{count}})؟',
|
|
4256
|
+
bulkRejectTitle_few: 'رفض {{count}} طلبات؟',
|
|
4257
|
+
bulkRejectTitle_many: 'رفض {{count}} طلبًا؟',
|
|
4258
|
+
bulkRejectTitle_other: 'رفض {{count}} طلب؟',
|
|
3164
4259
|
bulkRejectBody: 'سيتم رفض الطلبات المحددة وإخطار مقدميها.',
|
|
3165
4260
|
bulkApproved: 'تمت الموافقة على {{count}} طلبات',
|
|
4261
|
+
bulkApproved_zero: 'تمت الموافقة على {{count}} طلب',
|
|
4262
|
+
bulkApproved_one: 'تمت الموافقة على {{count}} طلب',
|
|
4263
|
+
bulkApproved_two: 'تمت الموافقة على طلبين ({{count}})',
|
|
4264
|
+
bulkApproved_few: 'تمت الموافقة على {{count}} طلبات',
|
|
4265
|
+
bulkApproved_many: 'تمت الموافقة على {{count}} طلبًا',
|
|
4266
|
+
bulkApproved_other: 'تمت الموافقة على {{count}} طلب',
|
|
3166
4267
|
bulkRejected: 'تم رفض {{count}} طلبات',
|
|
4268
|
+
bulkRejected_zero: 'تم رفض {{count}} طلب',
|
|
4269
|
+
bulkRejected_one: 'تم رفض {{count}} طلب',
|
|
4270
|
+
bulkRejected_two: 'تم رفض طلبين ({{count}})',
|
|
4271
|
+
bulkRejected_few: 'تم رفض {{count}} طلبات',
|
|
4272
|
+
bulkRejected_many: 'تم رفض {{count}} طلبًا',
|
|
4273
|
+
bulkRejected_other: 'تم رفض {{count}} طلب',
|
|
3167
4274
|
bulkPartial: 'نجح {{ok}}، فشل {{fail}}: {{which}}',
|
|
3168
4275
|
rejectOneTitle: 'رفض "{{title}}"؟',
|
|
3169
4276
|
rejectOneBody: 'سيتم رفض الطلب وإخطار مقدمه.',
|
|
@@ -3188,8 +4295,26 @@ const ar = {
|
|
|
3188
4295
|
alreadyDecided: 'تم البت في هذا الطلب بالفعل. حدّث القائمة.',
|
|
3189
4296
|
justNow: 'الآن',
|
|
3190
4297
|
minutesAgo: 'قبل {{count}} دقيقة',
|
|
4298
|
+
minutesAgo_zero: 'قبل {{count}} دقيقة',
|
|
4299
|
+
minutesAgo_one: 'قبل {{count}} دقيقة',
|
|
4300
|
+
minutesAgo_two: 'قبل دقيقتين ({{count}})',
|
|
4301
|
+
minutesAgo_few: 'قبل {{count}} دقائق',
|
|
4302
|
+
minutesAgo_many: 'قبل {{count}} دقيقة',
|
|
4303
|
+
minutesAgo_other: 'قبل {{count}} دقيقة',
|
|
3191
4304
|
hoursAgo: 'قبل {{count}} ساعة',
|
|
4305
|
+
hoursAgo_zero: 'قبل {{count}} ساعة',
|
|
4306
|
+
hoursAgo_one: 'قبل {{count}} ساعة',
|
|
4307
|
+
hoursAgo_two: 'قبل ساعتين ({{count}})',
|
|
4308
|
+
hoursAgo_few: 'قبل {{count}} ساعات',
|
|
4309
|
+
hoursAgo_many: 'قبل {{count}} ساعة',
|
|
4310
|
+
hoursAgo_other: 'قبل {{count}} ساعة',
|
|
3192
4311
|
daysAgo: 'قبل {{count}} يوم',
|
|
4312
|
+
daysAgo_zero: 'قبل {{count}} يوم',
|
|
4313
|
+
daysAgo_one: 'قبل {{count}} يوم',
|
|
4314
|
+
daysAgo_two: 'قبل يومين ({{count}})',
|
|
4315
|
+
daysAgo_few: 'قبل {{count}} أيام',
|
|
4316
|
+
daysAgo_many: 'قبل {{count}} يومًا',
|
|
4317
|
+
daysAgo_other: 'قبل {{count}} يوم',
|
|
3193
4318
|
},
|
|
3194
4319
|
preview: {
|
|
3195
4320
|
empty: {
|
|
@@ -3210,6 +4335,13 @@ const ar = {
|
|
|
3210
4335
|
publishing: 'جارٍ النشر…',
|
|
3211
4336
|
exit: 'إنهاء المعاينة',
|
|
3212
4337
|
changes: 'التغييرات',
|
|
4338
|
+
pendingHere: 'معاينة المسودة · {{count}} تغيير غير منشور في هذه الصفحة',
|
|
4339
|
+
pendingHere_zero: 'معاينة المسودة · {{count}} تغيير غير منشور في هذه الصفحة',
|
|
4340
|
+
pendingHere_one: 'معاينة المسودة · تغيير واحد غير منشور في هذه الصفحة ({{count}})',
|
|
4341
|
+
pendingHere_two: 'معاينة المسودة · تغييران غير منشورين في هذه الصفحة ({{count}})',
|
|
4342
|
+
pendingHere_few: 'معاينة المسودة · {{count}} تغييرات غير منشورة في هذه الصفحة',
|
|
4343
|
+
pendingHere_many: 'معاينة المسودة · {{count}} تغييرًا غير منشور في هذه الصفحة',
|
|
4344
|
+
pendingHere_other: 'معاينة المسودة · {{count}} تغيير غير منشور في هذه الصفحة',
|
|
3213
4345
|
},
|
|
3214
4346
|
changes: {
|
|
3215
4347
|
title: 'التغييرات المعلّقة',
|
|
@@ -3224,11 +4356,129 @@ const ar = {
|
|
|
3224
4356
|
detailNone: 'لم يتم اكتشاف اختلافات — المسودة مطابقة للنسخة المنشورة.',
|
|
3225
4357
|
detailChangedKeys: 'تغييرات أخرى:',
|
|
3226
4358
|
confirmNote: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4359
|
+
confirmNote_zero: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4360
|
+
confirmNote_one: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4361
|
+
confirmNote_two: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4362
|
+
confirmNote_few: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4363
|
+
confirmNote_many: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4364
|
+
confirmNote_other: 'النشر يُصدر كل المسودات المعلقة ({{count}}) لهذه الحزمة دفعة واحدة.',
|
|
4365
|
+
// objectui#11591 — the package-less sheet: no package to batch, so each
|
|
4366
|
+
// draft publishes by itself and one that fails stays pending.
|
|
4367
|
+
confirmNoteSeparate: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
|
|
4368
|
+
confirmNoteSeparate_zero: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
|
|
4369
|
+
confirmNoteSeparate_one: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
|
|
4370
|
+
confirmNoteSeparate_two: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
|
|
4371
|
+
confirmNoteSeparate_few: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
|
|
4372
|
+
confirmNoteSeparate_many: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
|
|
4373
|
+
confirmNoteSeparate_other: 'النشر يُصدر المسودات المعلقة ({{count}}) كلًّا على حدة: المسودة التي يتعذّر نشرها تبقى معلقة، وتُنشر البقية.',
|
|
3227
4374
|
publishConfirm: 'نشر الكل',
|
|
3228
|
-
|
|
4375
|
+
summaryItems: '{{count}} عنصر',
|
|
4376
|
+
summaryItems_zero: '{{count}} عنصر',
|
|
4377
|
+
summaryItems_one: 'عنصر واحد ({{count}})',
|
|
4378
|
+
summaryItems_two: 'عنصران ({{count}})',
|
|
4379
|
+
summaryItems_few: '{{count}} عناصر',
|
|
4380
|
+
summaryItems_many: '{{count}} عنصرًا',
|
|
4381
|
+
summaryItems_other: '{{count}} عنصر',
|
|
4382
|
+
summaryType: '{{type}} {{n}}',
|
|
4383
|
+
typeCount: {
|
|
4384
|
+
object: 'كائنات {{count}}',
|
|
4385
|
+
object_zero: 'كائنات {{count}}',
|
|
4386
|
+
object_one: 'كائن {{count}}',
|
|
4387
|
+
object_two: 'كائنات {{count}}',
|
|
4388
|
+
object_few: 'كائنات {{count}}',
|
|
4389
|
+
object_many: 'كائنات {{count}}',
|
|
4390
|
+
object_other: 'كائنات {{count}}',
|
|
4391
|
+
view: 'طرق عرض {{count}}',
|
|
4392
|
+
view_zero: 'طرق عرض {{count}}',
|
|
4393
|
+
view_one: 'عرض {{count}}',
|
|
4394
|
+
view_two: 'طرق عرض {{count}}',
|
|
4395
|
+
view_few: 'طرق عرض {{count}}',
|
|
4396
|
+
view_many: 'طرق عرض {{count}}',
|
|
4397
|
+
view_other: 'طرق عرض {{count}}',
|
|
4398
|
+
page: 'صفحات {{count}}',
|
|
4399
|
+
page_zero: 'صفحات {{count}}',
|
|
4400
|
+
page_one: 'صفحة {{count}}',
|
|
4401
|
+
page_two: 'صفحات {{count}}',
|
|
4402
|
+
page_few: 'صفحات {{count}}',
|
|
4403
|
+
page_many: 'صفحات {{count}}',
|
|
4404
|
+
page_other: 'صفحات {{count}}',
|
|
4405
|
+
dashboard: 'لوحات معلومات {{count}}',
|
|
4406
|
+
dashboard_zero: 'لوحات معلومات {{count}}',
|
|
4407
|
+
dashboard_one: 'لوحة معلومات {{count}}',
|
|
4408
|
+
dashboard_two: 'لوحات معلومات {{count}}',
|
|
4409
|
+
dashboard_few: 'لوحات معلومات {{count}}',
|
|
4410
|
+
dashboard_many: 'لوحات معلومات {{count}}',
|
|
4411
|
+
dashboard_other: 'لوحات معلومات {{count}}',
|
|
4412
|
+
app: 'تطبيقات {{count}}',
|
|
4413
|
+
app_zero: 'تطبيقات {{count}}',
|
|
4414
|
+
app_one: 'تطبيق {{count}}',
|
|
4415
|
+
app_two: 'تطبيقات {{count}}',
|
|
4416
|
+
app_few: 'تطبيقات {{count}}',
|
|
4417
|
+
app_many: 'تطبيقات {{count}}',
|
|
4418
|
+
app_other: 'تطبيقات {{count}}',
|
|
4419
|
+
action: 'إجراءات {{count}}',
|
|
4420
|
+
action_zero: 'إجراءات {{count}}',
|
|
4421
|
+
action_one: 'إجراء {{count}}',
|
|
4422
|
+
action_two: 'إجراءات {{count}}',
|
|
4423
|
+
action_few: 'إجراءات {{count}}',
|
|
4424
|
+
action_many: 'إجراءات {{count}}',
|
|
4425
|
+
action_other: 'إجراءات {{count}}',
|
|
4426
|
+
report: 'تقارير {{count}}',
|
|
4427
|
+
report_zero: 'تقارير {{count}}',
|
|
4428
|
+
report_one: 'تقرير {{count}}',
|
|
4429
|
+
report_two: 'تقارير {{count}}',
|
|
4430
|
+
report_few: 'تقارير {{count}}',
|
|
4431
|
+
report_many: 'تقارير {{count}}',
|
|
4432
|
+
report_other: 'تقارير {{count}}',
|
|
4433
|
+
flow: 'تدفقات {{count}}',
|
|
4434
|
+
flow_zero: 'تدفقات {{count}}',
|
|
4435
|
+
flow_one: 'تدفق {{count}}',
|
|
4436
|
+
flow_two: 'تدفقات {{count}}',
|
|
4437
|
+
flow_few: 'تدفقات {{count}}',
|
|
4438
|
+
flow_many: 'تدفقات {{count}}',
|
|
4439
|
+
flow_other: 'تدفقات {{count}}',
|
|
4440
|
+
permission: 'مجموعات أذونات {{count}}',
|
|
4441
|
+
permission_zero: 'مجموعات أذونات {{count}}',
|
|
4442
|
+
permission_one: 'مجموعة أذونات {{count}}',
|
|
4443
|
+
permission_two: 'مجموعات أذونات {{count}}',
|
|
4444
|
+
permission_few: 'مجموعات أذونات {{count}}',
|
|
4445
|
+
permission_many: 'مجموعات أذونات {{count}}',
|
|
4446
|
+
permission_other: 'مجموعات أذونات {{count}}',
|
|
4447
|
+
agent: 'وكلاء {{count}}',
|
|
4448
|
+
agent_zero: 'وكلاء {{count}}',
|
|
4449
|
+
agent_one: 'وكيل {{count}}',
|
|
4450
|
+
agent_two: 'وكلاء {{count}}',
|
|
4451
|
+
agent_few: 'وكلاء {{count}}',
|
|
4452
|
+
agent_many: 'وكلاء {{count}}',
|
|
4453
|
+
agent_other: 'وكلاء {{count}}',
|
|
4454
|
+
email_template: 'قوالب بريد إلكتروني {{count}}',
|
|
4455
|
+
email_template_zero: 'قوالب بريد إلكتروني {{count}}',
|
|
4456
|
+
email_template_one: 'قالب بريد إلكتروني {{count}}',
|
|
4457
|
+
email_template_two: 'قوالب بريد إلكتروني {{count}}',
|
|
4458
|
+
email_template_few: 'قوالب بريد إلكتروني {{count}}',
|
|
4459
|
+
email_template_many: 'قوالب بريد إلكتروني {{count}}',
|
|
4460
|
+
email_template_other: 'قوالب بريد إلكتروني {{count}}',
|
|
4461
|
+
},
|
|
4462
|
+
// objectui#12929 — the unchecked choice under an added object field whose
|
|
4463
|
+
// literal default the batch publish can write into the existing records.
|
|
4464
|
+
backfillOption: 'تعبئة القيمة الافتراضية — {{count}} سجل موجود',
|
|
4465
|
+
backfillOption_zero: 'تعبئة القيمة الافتراضية — {{count}} سجل موجود',
|
|
4466
|
+
backfillOption_one: 'تعبئة القيمة الافتراضية — سجل واحد موجود ({{count}})',
|
|
4467
|
+
backfillOption_two: 'تعبئة القيمة الافتراضية — سجلان موجودان ({{count}})',
|
|
4468
|
+
backfillOption_few: 'تعبئة القيمة الافتراضية — {{count}} سجلات موجودة',
|
|
4469
|
+
backfillOption_many: 'تعبئة القيمة الافتراضية — {{count}} سجلًا موجودًا',
|
|
4470
|
+
backfillOption_other: 'تعبئة القيمة الافتراضية — {{count}} سجل موجود',
|
|
4471
|
+
backfillOptionNoCount: 'تعبئة القيمة الافتراضية',
|
|
4472
|
+
// [`7a90afdf9`] Pre-publish security-posture findings, shown next to
|
|
3229
4473
|
// the confirm button so a refusal the door would issue is read BEFORE
|
|
3230
4474
|
// the click rather than as a toast after the batch rolled back.
|
|
3231
4475
|
securityBlockTitle: 'سيتم رفض النشر — {{count}} عنصر (عناصر) بحاجة إلى قرار أولاً',
|
|
4476
|
+
securityBlockTitle_zero: 'سيتم رفض النشر — {{count}} عنصر بحاجة إلى قرار أولاً',
|
|
4477
|
+
securityBlockTitle_one: 'سيتم رفض النشر — {{count}} عنصر بحاجة إلى قرار أولاً',
|
|
4478
|
+
securityBlockTitle_two: 'سيتم رفض النشر — عنصران ({{count}}) بحاجة إلى قرار أولاً',
|
|
4479
|
+
securityBlockTitle_few: 'سيتم رفض النشر — {{count}} عناصر بحاجة إلى قرار أولاً',
|
|
4480
|
+
securityBlockTitle_many: 'سيتم رفض النشر — {{count}} عنصرًا بحاجة إلى قرار أولاً',
|
|
4481
|
+
securityBlockTitle_other: 'سيتم رفض النشر — {{count}} عنصر بحاجة إلى قرار أولاً',
|
|
3232
4482
|
securityBlockWhere: 'أصلحه في الكائن ضمن الإعدادات ← مشاركة السجلات، ثم انشر مرة أخرى.',
|
|
3233
4483
|
},
|
|
3234
4484
|
// ADR-0045 — the materialized-but-unlisted app banner
|
|
@@ -3253,7 +4503,7 @@ const ar = {
|
|
|
3253
4503
|
revertLabel: 'تم التراجع عن تغيير',
|
|
3254
4504
|
applyLabel: 'تغيير من البناء',
|
|
3255
4505
|
revert: 'تراجع',
|
|
3256
|
-
items: '
|
|
4506
|
+
items: 'العناصر: {{count}}',
|
|
3257
4507
|
revertAction: 'تراجع',
|
|
3258
4508
|
reverted: 'تم التراجع — أُلغي التغيير.',
|
|
3259
4509
|
revertFailed: 'فشل التراجع',
|
|
@@ -3282,28 +4532,32 @@ const ar = {
|
|
|
3282
4532
|
rangeEnd: "إلى",
|
|
3283
4533
|
operators: {
|
|
3284
4534
|
equals: "يساوي",
|
|
3285
|
-
|
|
4535
|
+
not_equals: "لا يساوي",
|
|
3286
4536
|
contains: "يحتوي",
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
4537
|
+
icontains: "يحتوي (مع تجاهل حالة الأحرف)",
|
|
4538
|
+
not_contains: "لا يحتوي",
|
|
4539
|
+
is_empty: "فارغ",
|
|
4540
|
+
is_not_empty: "غير فارغ",
|
|
4541
|
+
greater_than: "أكبر من",
|
|
4542
|
+
less_than: "أصغر من",
|
|
4543
|
+
greater_than_or_equal: "أكبر من أو يساوي",
|
|
4544
|
+
less_than_or_equal: "أصغر من أو يساوي",
|
|
3295
4545
|
before: "قبل",
|
|
3296
4546
|
after: "بعد",
|
|
3297
4547
|
between: "بين",
|
|
3298
4548
|
in: "ضمن",
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
4549
|
+
not_in: "ليس ضمن",
|
|
4550
|
+
starts_with: "يبدأ بـ",
|
|
4551
|
+
ends_with: "ينتهي بـ",
|
|
4552
|
+
is_null: "يساوي null",
|
|
4553
|
+
is_not_null: "لا يساوي null",
|
|
3304
4554
|
exists: "محدد",
|
|
3305
4555
|
notExists: "غير محدد",
|
|
3306
4556
|
},
|
|
4557
|
+
emptyCheckHint: {
|
|
4558
|
+
text: '"{{isEmpty}}" يطابق أيضًا النص الفارغ؛ "{{isNull}}" يطابق القيمة المفقودة فقط.',
|
|
4559
|
+
list: '"{{isEmpty}}" يطابق أيضًا القائمة الفارغة؛ "{{isNull}}" يطابق القيمة المفقودة فقط.',
|
|
4560
|
+
},
|
|
3307
4561
|
},
|
|
3308
4562
|
sortBuilder: {
|
|
3309
4563
|
sortBy: "ترتيب حسب",
|
|
@@ -3315,8 +4569,16 @@ const ar = {
|
|
|
3315
4569
|
removeSort: "إزالة الترتيب",
|
|
3316
4570
|
},
|
|
3317
4571
|
collaboration: {
|
|
3318
|
-
commentCount
|
|
3319
|
-
|
|
4572
|
+
// objectui#11445 — `commentCount` and `reactionCount` below are count
|
|
4573
|
+
// families: each of the six CLDR slots carries its own noun form, and the
|
|
4574
|
+
// base key, a count label, answers a call made without a count.
|
|
4575
|
+
commentCount: "عدد التعليقات: {{count}}",
|
|
4576
|
+
commentCount_zero: "{{count}} تعليق",
|
|
4577
|
+
commentCount_one: "{{count}} تعليق",
|
|
4578
|
+
commentCount_two: "تعليقان ({{count}})",
|
|
4579
|
+
commentCount_few: "{{count}} تعليقات",
|
|
4580
|
+
commentCount_many: "{{count}} تعليقًا",
|
|
4581
|
+
commentCount_other: "{{count}} تعليق",
|
|
3320
4582
|
resolvedSuffix: " · تم الحل",
|
|
3321
4583
|
sortComments: "ترتيب التعليقات",
|
|
3322
4584
|
sortOldest: "الأقدم أولاً",
|
|
@@ -3325,11 +4587,34 @@ const ar = {
|
|
|
3325
4587
|
reopen: "إعادة الفتح",
|
|
3326
4588
|
justNow: "الآن",
|
|
3327
4589
|
minutesAgo: "قبل {{count}} دقيقة",
|
|
4590
|
+
minutesAgo_zero: "قبل {{count}} دقيقة",
|
|
4591
|
+
minutesAgo_one: "قبل {{count}} دقيقة",
|
|
4592
|
+
minutesAgo_two: "قبل دقيقتين ({{count}})",
|
|
4593
|
+
minutesAgo_few: "قبل {{count}} دقائق",
|
|
4594
|
+
minutesAgo_many: "قبل {{count}} دقيقة",
|
|
4595
|
+
minutesAgo_other: "قبل {{count}} دقيقة",
|
|
3328
4596
|
hoursAgo: "قبل {{count}} ساعة",
|
|
4597
|
+
hoursAgo_zero: "قبل {{count}} ساعة",
|
|
4598
|
+
hoursAgo_one: "قبل {{count}} ساعة",
|
|
4599
|
+
hoursAgo_two: "قبل ساعتين ({{count}})",
|
|
4600
|
+
hoursAgo_few: "قبل {{count}} ساعات",
|
|
4601
|
+
hoursAgo_many: "قبل {{count}} ساعة",
|
|
4602
|
+
hoursAgo_other: "قبل {{count}} ساعة",
|
|
3329
4603
|
daysAgo: "قبل {{count}} يوم",
|
|
4604
|
+
daysAgo_zero: "قبل {{count}} يوم",
|
|
4605
|
+
daysAgo_one: "قبل {{count}} يوم",
|
|
4606
|
+
daysAgo_two: "قبل يومين ({{count}})",
|
|
4607
|
+
daysAgo_few: "قبل {{count}} أيام",
|
|
4608
|
+
daysAgo_many: "قبل {{count}} يومًا",
|
|
4609
|
+
daysAgo_other: "قبل {{count}} يوم",
|
|
3330
4610
|
edited: "(تم التعديل)",
|
|
3331
|
-
reactionCount: "{{count}}
|
|
3332
|
-
|
|
4611
|
+
reactionCount: "عدد التفاعلات: {{count}}",
|
|
4612
|
+
reactionCount_zero: "{{count}} تفاعل",
|
|
4613
|
+
reactionCount_one: "{{count}} تفاعل",
|
|
4614
|
+
reactionCount_two: "تفاعلان ({{count}})",
|
|
4615
|
+
reactionCount_few: "{{count}} تفاعلات",
|
|
4616
|
+
reactionCount_many: "{{count}} تفاعلًا",
|
|
4617
|
+
reactionCount_other: "{{count}} تفاعل",
|
|
3333
4618
|
addThumbsUp: "إضافة إعجاب",
|
|
3334
4619
|
reply: "رد",
|
|
3335
4620
|
reactThumbsUp: "التفاعل بإعجاب",
|
|
@@ -3339,10 +4624,22 @@ const ar = {
|
|
|
3339
4624
|
replyingToComment: "الرد على التعليق…",
|
|
3340
4625
|
commentPlaceholder: "أضف تعليقًا… (استخدم @ للإشارة)",
|
|
3341
4626
|
send: "إرسال",
|
|
3342
|
-
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
4627
|
+
// objectui#11445 — the presence stack's name and its overflow badge are
|
|
4628
|
+
// count families too.
|
|
4629
|
+
presentUserCount: "عدد المستخدمين المتواجدين: {{count}}",
|
|
4630
|
+
presentUserCount_zero: "{{count}} مستخدم متواجد",
|
|
4631
|
+
presentUserCount_one: "{{count}} مستخدم متواجد",
|
|
4632
|
+
presentUserCount_two: "مستخدمان متواجدان ({{count}})",
|
|
4633
|
+
presentUserCount_few: "{{count}} مستخدمين متواجدين",
|
|
4634
|
+
presentUserCount_many: "{{count}} مستخدمًا متواجدًا",
|
|
4635
|
+
presentUserCount_other: "{{count}} مستخدم متواجد",
|
|
4636
|
+
moreUserCount: "عدد المستخدمين الآخرين: {{count}}",
|
|
4637
|
+
moreUserCount_zero: "{{count}} مستخدم آخر",
|
|
4638
|
+
moreUserCount_one: "{{count}} مستخدم آخر",
|
|
4639
|
+
moreUserCount_two: "مستخدمان آخران ({{count}})",
|
|
4640
|
+
moreUserCount_few: "{{count}} مستخدمين آخرين",
|
|
4641
|
+
moreUserCount_many: "{{count}} مستخدمًا آخر",
|
|
4642
|
+
moreUserCount_other: "{{count}} مستخدم آخر",
|
|
3346
4643
|
userStatusTitle: "{{name}} ({{status}})",
|
|
3347
4644
|
statusActive: "نشط",
|
|
3348
4645
|
statusIdle: "خامل",
|
|
@@ -3350,6 +4647,11 @@ const ar = {
|
|
|
3350
4647
|
},
|
|
3351
4648
|
wizard: {
|
|
3352
4649
|
missingRequired: "يرجى إكمال الحقول المطلوبة: {{fields}}",
|
|
4650
|
+
back: "رجوع",
|
|
4651
|
+
submitting: "جارٍ الإرسال…",
|
|
4652
|
+
stepFallback: "الخطوة {{n}}",
|
|
4653
|
+
progressLabel: "التقدم",
|
|
4654
|
+
emptyStep: "لا توجد حقول مهيأة لهذه الخطوة",
|
|
3353
4655
|
},
|
|
3354
4656
|
flowRunner: {
|
|
3355
4657
|
title: 'إدخال',
|
|
@@ -3399,6 +4701,8 @@ const ar = {
|
|
|
3399
4701
|
setDefaultFailed: "فشل تعيين التطبيق الافتراضي: {{reason}}",
|
|
3400
4702
|
appDeleted: "تم حذف {{name}}",
|
|
3401
4703
|
deleteFailed: "فشل حذف التطبيق: {{reason}}",
|
|
4704
|
+
nothingToDelete: "لا يوجد ما يُحذف لـ {{name}}: {{reason}}",
|
|
4705
|
+
alreadyAtDefault: "إنه بالفعل على الإعداد الافتراضي لحزمته",
|
|
3402
4706
|
bulkEnabled: "تم تفعيل {{n}} تطبيقات",
|
|
3403
4707
|
bulkDisabled: "تم تعطيل {{n}} تطبيقات",
|
|
3404
4708
|
bulkFailed: "فشل لـ {{n}}: {{details}}",
|
|
@@ -3407,5 +4711,131 @@ const ar = {
|
|
|
3407
4711
|
bulkOperationFailed: "فشلت العملية الجماعية: {{reason}}",
|
|
3408
4712
|
},
|
|
3409
4713
|
},
|
|
4714
|
+
// objectui#6301 — الإعداد › أتمتة الحزم (ADR-0126 §7.4). المصطلحات كما في
|
|
4715
|
+
// بقية الحزمة: `common.package` = الحزمة، و`flowRunner.completed` = التدفق،
|
|
4716
|
+
// وعلامات الاقتباس «…». ⛔ لا توجد صياغة عن الأصل أو الانحراف في هذه
|
|
4717
|
+
// المجموعة (§9).
|
|
4718
|
+
packagedAutomation: {
|
|
4719
|
+
title: "أتمتة الحزم",
|
|
4720
|
+
subtitle: "تدفقات وإجراءات تأتي مع الحزم المثبّتة. يمكنك إيقاف أي منها في هذا النشر، أو استنساخ تدفق باسم جديد لتخصيصه. التحرير يتم في Studio.",
|
|
4721
|
+
refresh: "تحديث",
|
|
4722
|
+
flowsHeading: "تدفقات الحزم",
|
|
4723
|
+
actionsHeading: "إجراءات الحزم",
|
|
4724
|
+
colFlow: "التدفق",
|
|
4725
|
+
colActivation: "التفعيل",
|
|
4726
|
+
colActions: "إجراءات",
|
|
4727
|
+
toggleLabel: "تفعيل {{label}}",
|
|
4728
|
+
on: "مفعل",
|
|
4729
|
+
off: "إيقاف",
|
|
4730
|
+
notRunning: "لا يعمل هنا",
|
|
4731
|
+
clone: "استنساخ",
|
|
4732
|
+
cloneTitle: "استنساخ تدفق الحزمة",
|
|
4733
|
+
cloneBody: "تحتفظ النسخة بالتعريف كاملاً وتتطلب اسم آلة وتسمية جديدين. حرّر النسخة في Studio.",
|
|
4734
|
+
cloneName: "اسم آلة جديد",
|
|
4735
|
+
cloneLabel: "تسمية جديدة",
|
|
4736
|
+
cancel: "إلغاء",
|
|
4737
|
+
cloneConfirm: "إنشاء نسخة",
|
|
4738
|
+
cloneCreated: "تم إنشاء التدفق «{{name}}».",
|
|
4739
|
+
cloneSwitchSourceOff: "إيقاف «{{label}}»",
|
|
4740
|
+
cloneSourceOff: "التدفق المضمّن «{{label}}» متوقف.",
|
|
4741
|
+
cloneOpen: "فتح النسخة في Studio",
|
|
4742
|
+
emptyTitle: "لا توجد تدفقات من الحزم",
|
|
4743
|
+
emptyBody: "لا توجد حزمة مثبّتة توفّر تدفق أتمتة في هذا النشر. التدفقات التي تنشئها بنفسك موجودة في Studio.",
|
|
4744
|
+
loadFailed: "تعذّر تحميل أتمتة الحزم.",
|
|
4745
|
+
toggleFailedHttp: "تعذّر تغيير التفعيل (HTTP {{status}}).",
|
|
4746
|
+
toggleFailed: "تعذّر تغيير التفعيل.",
|
|
4747
|
+
cloneFailedHttp: "تعذّر استنساخ هذا التدفق (HTTP {{status}}).",
|
|
4748
|
+
cloneFailed: "تعذّر استنساخ هذا التدفق.",
|
|
4749
|
+
reasonDetails: "التفاصيل",
|
|
4750
|
+
actionsSubtitle: "إجراءات تأتي مع الحزم المثبّتة. أوقف أحدها في هذا النشر فيتوقف عن العمل في كل مكان يُعرض فيه. ويبقى بإمكانك إنشاء إجراء خاص بك إلى جانبه في Studio.",
|
|
4751
|
+
colAction: "الإجراء",
|
|
4752
|
+
colObject: "الكائن",
|
|
4753
|
+
actionToggleLabel: "تفعيل {{label}} على {{object}}",
|
|
4754
|
+
actionsEmptyTitle: "لا توجد إجراءات من الحزم",
|
|
4755
|
+
actionsEmptyBody: "لا توجد حزمة مثبّتة تعلن عن إجراء في هذا النشر. الإجراءات التي تنشئها بنفسك موجودة في Studio.",
|
|
4756
|
+
actionsLoadFailed: "تعذّر تحميل إجراءات الحزم.",
|
|
4757
|
+
},
|
|
4758
|
+
element: {
|
|
4759
|
+
number: {
|
|
4760
|
+
noObject: "لم يُحدَّد أي كائن: عيّن dataSource.object.",
|
|
4761
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا المقياس",
|
|
4762
|
+
},
|
|
4763
|
+
image: {
|
|
4764
|
+
noSource: "لا يوجد مصدر للصورة",
|
|
4765
|
+
},
|
|
4766
|
+
recordPicker: {
|
|
4767
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات منتقي السجلات هذا",
|
|
4768
|
+
},
|
|
4769
|
+
calendar: {
|
|
4770
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا التقويم",
|
|
4771
|
+
},
|
|
4772
|
+
chart: {
|
|
4773
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا المخطط",
|
|
4774
|
+
},
|
|
4775
|
+
pivotTable: {
|
|
4776
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا الجدول المحوري",
|
|
4777
|
+
},
|
|
4778
|
+
detailView: {
|
|
4779
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات عرض التفاصيل هذا",
|
|
4780
|
+
},
|
|
4781
|
+
relatedList: {
|
|
4782
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذه القائمة المرتبطة",
|
|
4783
|
+
parentUnreadable: "تعذّرت قراءة السجل الأصل لهذه القائمة المرتبطة",
|
|
4784
|
+
},
|
|
4785
|
+
form: {
|
|
4786
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا النموذج",
|
|
4787
|
+
},
|
|
4788
|
+
lineItems: {
|
|
4789
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات لوحة البنود هذه",
|
|
4790
|
+
},
|
|
4791
|
+
gantt: {
|
|
4792
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات مخطط جانت هذا",
|
|
4793
|
+
},
|
|
4794
|
+
grid: {
|
|
4795
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذه الشبكة",
|
|
4796
|
+
},
|
|
4797
|
+
board: {
|
|
4798
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذه اللوحة",
|
|
4799
|
+
},
|
|
4800
|
+
listView: {
|
|
4801
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات عرض القائمة هذا",
|
|
4802
|
+
},
|
|
4803
|
+
map: {
|
|
4804
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذه الخريطة",
|
|
4805
|
+
},
|
|
4806
|
+
timeline: {
|
|
4807
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا المخطط الزمني",
|
|
4808
|
+
},
|
|
4809
|
+
component: {
|
|
4810
|
+
sourceUnresolved: "تعذّر تحديد مصدر بيانات هذا المكوّن",
|
|
4811
|
+
noDataSource: "لم يُحدَّد أي مصدر بيانات",
|
|
4812
|
+
apiRefused: "تم رفض مصدر بيانات API لهذا المكوّن",
|
|
4813
|
+
apiUnreadable: "تعذّرت قراءة مصدر بيانات API لهذا المكوّن",
|
|
4814
|
+
},
|
|
4815
|
+
metadataViewer: {
|
|
4816
|
+
missingKey: "{{key}} مفقود لهذا العرض.",
|
|
4817
|
+
loading: "جارٍ تحميل {{name}}…",
|
|
4818
|
+
loadFailed: "تعذّر تحميل {{name}}: {{message}}",
|
|
4819
|
+
notFound: "لم يُعثر على {{name}}.",
|
|
4820
|
+
stateMachine: "آلة الحالات",
|
|
4821
|
+
flow: "التدفق",
|
|
4822
|
+
permission: "الإذن",
|
|
4823
|
+
noStateMachine: "لا توجد آلة حالات على {{object}}.",
|
|
4824
|
+
noStateMachineNamed: "لا توجد آلة حالات باسم «{{name}}» على {{object}}.",
|
|
4825
|
+
lifecycle: "دورة حياة {{object}}",
|
|
4826
|
+
field: "الحقل {{field}}",
|
|
4827
|
+
initial: "البداية",
|
|
4828
|
+
final: "النهاية",
|
|
4829
|
+
steps: "الخطوات: {{count}}",
|
|
4830
|
+
noSteps: "لا توجد خطوات لعرضها.",
|
|
4831
|
+
untitledStep: "(خطوة)",
|
|
4832
|
+
hiddenSteps: "الخطوات التقنية المخفية: {{count}} · عيّن {{setting}} لعرضها كلها",
|
|
4833
|
+
objectAccess: "الوصول إلى الكائنات: {{count}}",
|
|
4834
|
+
noPermissions: "لم تُعلَن أي أذونات للكائنات.",
|
|
4835
|
+
object: "الكائن",
|
|
4836
|
+
unknownType: "نوع عرض بيانات وصفية غير معروف. المتوقع {{a}} أو {{b}} أو {{c}}.",
|
|
4837
|
+
unknownTypeNamed: "نوع عرض بيانات وصفية غير معروف «{{type}}». المتوقع {{a}} أو {{b}} أو {{c}}.",
|
|
4838
|
+
},
|
|
4839
|
+
},
|
|
3410
4840
|
};
|
|
3411
4841
|
export default ar;
|