@object-ui/i18n 16.1.0 → 17.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1133 -0
- package/dist/locales/ar.d.ts +825 -2
- package/dist/locales/ar.js +829 -5
- package/dist/locales/de.d.ts +823 -2
- package/dist/locales/de.js +827 -5
- package/dist/locales/en.d.ts +380 -6
- package/dist/locales/en.js +395 -8
- package/dist/locales/es.d.ts +823 -2
- package/dist/locales/es.js +827 -5
- package/dist/locales/fr.d.ts +825 -2
- package/dist/locales/fr.js +829 -5
- package/dist/locales/index.d.ts +7322 -76
- package/dist/locales/ja.d.ts +823 -2
- package/dist/locales/ja.js +827 -5
- package/dist/locales/ko.d.ts +823 -2
- package/dist/locales/ko.js +827 -5
- package/dist/locales/pt.d.ts +825 -2
- package/dist/locales/pt.js +829 -5
- package/dist/locales/ru.d.ts +825 -2
- package/dist/locales/ru.js +829 -5
- package/dist/locales/zh.d.ts +301 -5
- package/dist/locales/zh.js +303 -5
- package/dist/useObjectLabel.d.ts +24 -12
- package/dist/useObjectLabel.js +50 -41
- package/dist/useSafeTranslation.d.ts +2 -0
- package/dist/useSafeTranslation.js +7 -2
- package/package.json +3 -3
package/dist/locales/ar.js
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
const ar = {
|
|
2
2
|
// objectui#2600 B5 — capability picker scope group headers (labels come from the sys_capability registry).
|
|
3
3
|
capability: {
|
|
4
|
+
label: {
|
|
5
|
+
manage_users: "إدارة المستخدمين",
|
|
6
|
+
manage_org_users: "إدارة مستخدمي المؤسسة",
|
|
7
|
+
manage_metadata: "إدارة البيانات الوصفية",
|
|
8
|
+
manage_platform_settings: "إدارة إعدادات المنصة",
|
|
9
|
+
setup_access: "الوصول إلى الإعداد",
|
|
10
|
+
setup_write: "كتابة الإعدادات",
|
|
11
|
+
studio_access: "الوصول إلى Studio",
|
|
12
|
+
},
|
|
4
13
|
group: {
|
|
5
14
|
platform: 'منصة',
|
|
6
15
|
org: 'منظمة',
|
|
@@ -74,6 +83,10 @@ const ar = {
|
|
|
74
83
|
package: "الحزمة",
|
|
75
84
|
},
|
|
76
85
|
actions: {
|
|
86
|
+
decisionOutput: {
|
|
87
|
+
help: 'يُمرَّر إلى التدفق كمخرج للقرار.',
|
|
88
|
+
helpMultiValue: 'يُمرَّر إلى التدفق كمخرج للقرار. افصل بين القيم المتعددة بفواصل.',
|
|
89
|
+
},
|
|
77
90
|
resultDialog: {
|
|
78
91
|
defaultTitle: 'احفظ هذه القيمة الآن',
|
|
79
92
|
acknowledge: 'لقد حفظتها',
|
|
@@ -94,6 +107,16 @@ const ar = {
|
|
|
94
107
|
type: "{{field}} يجب أن يكون {{type}} صالحاً",
|
|
95
108
|
},
|
|
96
109
|
form: {
|
|
110
|
+
noPermissionToSave: "ليس لديك إذن لحفظ هذا السجل.",
|
|
111
|
+
submitFailed: "تعذّر الحفظ. يرجى المحاولة مرة أخرى.",
|
|
112
|
+
discardTitle: "تجاهل التغييرات؟",
|
|
113
|
+
discardMessage: "لديك تغييرات غير محفوظة. إذا أغلقت هذا النموذج الآن، ستفقد تعديلاتك.",
|
|
114
|
+
keepEditing: "متابعة التحرير",
|
|
115
|
+
discard: "تجاهل",
|
|
116
|
+
conflictTitle: "تعارض في الحفظ",
|
|
117
|
+
conflictMessage: "قام شخص آخر بتغيير هذا السجل أثناء تحريرك. الكتابة فوقه ستستبدل تغييراته بتغييراتك.",
|
|
118
|
+
conflictLatestVersion: "وقت حفظه: {{time}}",
|
|
119
|
+
conflictOverwrite: "الكتابة فوقه",
|
|
97
120
|
addItem: "إضافة عنصر",
|
|
98
121
|
removeItem: "إزالة عنصر",
|
|
99
122
|
fieldRequired: "هذا الحقل مطلوب",
|
|
@@ -104,8 +127,6 @@ const ar = {
|
|
|
104
127
|
stepOf: "الخطوة {{current}} من {{total}}",
|
|
105
128
|
createTitle: "إنشاء {{object}}",
|
|
106
129
|
editTitle: "تعديل {{object}}",
|
|
107
|
-
createDescription: "إضافة {{object}} جديد إلى قاعدة البيانات.",
|
|
108
|
-
editDescription: "تحديث تفاصيل {{object}}",
|
|
109
130
|
saveRecord: "حفظ السجل",
|
|
110
131
|
create: "إنشاء",
|
|
111
132
|
update: "تحديث",
|
|
@@ -114,14 +135,70 @@ const ar = {
|
|
|
114
135
|
deleteSuccess: "تم حذف {{object}}",
|
|
115
136
|
},
|
|
116
137
|
fields: {
|
|
138
|
+
image: {
|
|
139
|
+
upload: "رفع صورة",
|
|
140
|
+
addMore: "إضافة المزيد من الصور",
|
|
141
|
+
uploading: "جارٍ الرفع…",
|
|
142
|
+
imageAlt: "صورة {{index}}",
|
|
143
|
+
crop: "قص الصورة {{index}}",
|
|
144
|
+
remove: "إزالة الصورة {{index}}",
|
|
145
|
+
enlarge: "تكبير {{name}}",
|
|
146
|
+
preview: "معاينة الصورة",
|
|
147
|
+
previous: "الصورة السابقة",
|
|
148
|
+
next: "الصورة التالية",
|
|
149
|
+
counter: "{{current}} / {{total}}",
|
|
150
|
+
},
|
|
117
151
|
relativeDate: {
|
|
118
152
|
overdue: "متأخر {{count}} يوم",
|
|
119
153
|
},
|
|
154
|
+
file: {
|
|
155
|
+
dragDropHere: 'اسحب الملفات وأفلتها هنا',
|
|
156
|
+
dropFilesHere: 'أفلت الملفات هنا',
|
|
157
|
+
browseHint: 'أو انقر للتصفح',
|
|
158
|
+
browseHintCamera: 'أو انقر للتصفح • استخدم زر الكاميرا أدناه',
|
|
159
|
+
takePhoto: 'التقاط صورة',
|
|
160
|
+
takeSelfie: 'التقاط صورة ذاتية',
|
|
161
|
+
cameraCapture: 'التقاط بالكاميرا',
|
|
162
|
+
uploading: 'جارٍ الرفع…',
|
|
163
|
+
uploadingPct: 'جارٍ الرفع… ({{pct}}%)',
|
|
164
|
+
fileFallback: 'ملف',
|
|
165
|
+
upload: 'رفع',
|
|
166
|
+
remove: 'إزالة {{name}}',
|
|
167
|
+
exceedsMaxSize: '"{{name}}" يتجاوز الحجم الأقصى ({{max}} ميغابايت)',
|
|
168
|
+
uploadFailed: 'فشل رفع "{{name}}": {{error}}',
|
|
169
|
+
},
|
|
120
170
|
richText: {
|
|
121
171
|
format: "التنسيق: {{format}}",
|
|
122
172
|
basicEditorHint: "محرر النص الغني (أساسي)",
|
|
123
173
|
placeholder: "اكتب شيئاً...",
|
|
124
174
|
},
|
|
175
|
+
objectRef: {
|
|
176
|
+
loading: "جارٍ تحميل الكائنات…",
|
|
177
|
+
placeholder: "اختر كائناً",
|
|
178
|
+
search: "بحث في الكائنات…",
|
|
179
|
+
empty: "لم يتم العثور على كائنات",
|
|
180
|
+
},
|
|
181
|
+
recipient: {
|
|
182
|
+
selectTypeFirst: "اختر نوع المستلم أولاً.",
|
|
183
|
+
loading: "جارٍ التحميل…",
|
|
184
|
+
search: "بحث…",
|
|
185
|
+
empty: "لا توجد نتائج مطابقة",
|
|
186
|
+
select: "اختر مستلماً",
|
|
187
|
+
selectUser: "اختر مستخدماً",
|
|
188
|
+
selectTeam: "اختر فريقاً",
|
|
189
|
+
selectBusinessUnit: "اختر وحدة عمل",
|
|
190
|
+
selectPosition: "اختر منصباً",
|
|
191
|
+
selectUnitAndSubordinates: "اختر وحدة عمل",
|
|
192
|
+
},
|
|
193
|
+
filterCondition: {
|
|
194
|
+
selectObjectFirst: "اختر كائناً أولاً.",
|
|
195
|
+
noCriteria: "لا توجد معايير — لا تشارك هذه القاعدة أي شيء",
|
|
196
|
+
criteriaRequired: "أضف شرطًا واحدًا على الأقل. القاعدة بدون معايير ستشارك كل السجلات، لذا لا يمكن حفظها.",
|
|
197
|
+
invalidJson: "JSON غير صالح — لن تطابق القاعدة أي سجل حتى يتم إصلاحه.",
|
|
198
|
+
jsonOnly: "لا يمكن تحرير هذا المعيار إلا بصيغة JSON",
|
|
199
|
+
editAsJson: "التحرير بصيغة JSON",
|
|
200
|
+
useVisualBuilder: "استخدام المُنشئ المرئي",
|
|
201
|
+
},
|
|
125
202
|
},
|
|
126
203
|
table: {
|
|
127
204
|
rowsPerPage: "صفوف في الصفحة",
|
|
@@ -156,6 +233,37 @@ const ar = {
|
|
|
156
233
|
delete: "حذف",
|
|
157
234
|
},
|
|
158
235
|
grid: {
|
|
236
|
+
bulkSelected: "تم تحديد {{count}}",
|
|
237
|
+
bulkSelectedAllMatches: "تم تحديد {{count}} (كل النتائج المطابقة)",
|
|
238
|
+
bulkClear: "إلغاء التحديد",
|
|
239
|
+
bulkAllOnPage: "تم تحديد جميع العناصر ({{count}}) في هذه الصفحة.",
|
|
240
|
+
bulkSelectAllMatching: "تحديد كل النتائج المطابقة ({{count}})",
|
|
241
|
+
bulkAllMatchingSelected: "تم تحديد جميع السجلات المطابقة ({{count}}).",
|
|
242
|
+
bulk: {
|
|
243
|
+
confirmDefault: "سيُطبَّق هذا على {{count}} من السجلات.",
|
|
244
|
+
overLimit: "التحديد ({{count}}) يتجاوز حد الإجراء ({{limit}}). قلّل التحديد للمتابعة.",
|
|
245
|
+
affectedRecords: "السجلات المتأثرة ({{count}}):",
|
|
246
|
+
skippedIneligible: '{{count}} من السجلات المحددة غير مؤهلة لهذا الإجراء وسيتم تخطيها.',
|
|
247
|
+
rowFallback: "الصف {{index}}",
|
|
248
|
+
andMore: "… و{{count}} أخرى",
|
|
249
|
+
processed: "تمت معالجة {{count}} / {{total}}",
|
|
250
|
+
processedFailed: " · فشل {{count}}",
|
|
251
|
+
undonePrefix: "تم التراجع — ",
|
|
252
|
+
succeeded: "نجح {{count}} / {{total}}",
|
|
253
|
+
resultFailed: " · فشل {{count}}",
|
|
254
|
+
retry: "إعادة المحاولة",
|
|
255
|
+
downloadErrorCsv: "تنزيل ملف CSV للأخطاء",
|
|
256
|
+
cancel: "إلغاء",
|
|
257
|
+
back: "رجوع",
|
|
258
|
+
next: "التالي",
|
|
259
|
+
run: "تشغيل",
|
|
260
|
+
running: "قيد التشغيل…",
|
|
261
|
+
undo: "تراجع",
|
|
262
|
+
undoing: "جارٍ التراجع…",
|
|
263
|
+
done: "تم",
|
|
264
|
+
selectPlaceholder: "اختر…",
|
|
265
|
+
loading: "جارٍ التحميل…",
|
|
266
|
+
},
|
|
159
267
|
actions: "إجراءات",
|
|
160
268
|
edit: "تعديل",
|
|
161
269
|
delete: "حذف",
|
|
@@ -181,7 +289,88 @@ const ar = {
|
|
|
181
289
|
densityCycleShortHint: "انقر للتغيير",
|
|
182
290
|
},
|
|
183
291
|
import: {
|
|
292
|
+
downloadTemplate: "تنزيل القالب",
|
|
293
|
+
downloadTemplateHint: "احصل على ملف CSV بالأعمدة الصحيحة (الحقول المطلوبة معلَّمة بـ *).",
|
|
294
|
+
templateFileName: "{{object}}-import-template",
|
|
295
|
+
autoMatched: "تمت المطابقة تلقائيًا",
|
|
296
|
+
autoMatchedSummary: "تمت مطابقة {{count}} عمودًا تلقائيًا — راجعها وعدّلها أدناه.",
|
|
297
|
+
confidence: {
|
|
298
|
+
high: "ثقة عالية",
|
|
299
|
+
medium: "ثقة متوسطة",
|
|
300
|
+
low: "ثقة منخفضة",
|
|
301
|
+
},
|
|
302
|
+
asyncQueued: "في الانتظار — يجري تجهيز الاستيراد…",
|
|
303
|
+
asyncProcessing: "جارٍ استيراد {{processed}} من {{total}} صفًا… {{progress}}%",
|
|
304
|
+
asyncLargeHint: "هذا الملف كبير، لذلك سيتم استيراده في الخلفية.",
|
|
305
|
+
largeSampleNotice: "معاينة أول {{shown}} صفًا من أصل {{total}}.",
|
|
306
|
+
cancelImport: "إلغاء الاستيراد",
|
|
307
|
+
importCancelled: "تم إلغاء الاستيراد",
|
|
308
|
+
resultsTruncated: "عرض نتائج أول {{count}} صفًا (من أصل {{total}}).",
|
|
309
|
+
createdCount: "تم إنشاء {{count}}",
|
|
310
|
+
updatedCount: "تم تحديث {{count}}",
|
|
311
|
+
downloadFailed: "تنزيل الصفوف الفاشلة",
|
|
312
|
+
options: "خيارات الاستيراد",
|
|
313
|
+
writeMode: "عند تطابق صف مع سجل موجود",
|
|
314
|
+
writeModeOpt: {
|
|
315
|
+
insert: "إنشاء سجل جديد دائمًا",
|
|
316
|
+
update: "تحديث الموجود (تخطٍّ عند عدم التطابق)",
|
|
317
|
+
upsert: "التحديث عند التطابق، وإلا الإنشاء",
|
|
318
|
+
},
|
|
319
|
+
matchFields: "المطابقة حسب",
|
|
320
|
+
matchFieldsPlaceholder: "اختر حقول المطابقة…",
|
|
321
|
+
matchFieldsHint: "تتم مطابقة الصفوف بالسجلات الموجودة عبر هذه الحقول.",
|
|
322
|
+
needMatchFields: "اختر حقلًا واحدًا على الأقل للمطابقة.",
|
|
323
|
+
matchOnlyField: "(للمطابقة فقط)",
|
|
324
|
+
optCreateOptions: "الاحتفاظ بقيم الخيارات غير المعروفة",
|
|
325
|
+
optRunAutomations: "تشغيل الأتمتة والمشغّلات",
|
|
326
|
+
optTreatHistorical: "الاستيراد كبيانات تاريخية",
|
|
327
|
+
optTreatHistoricalHint: "(استيراد السجلات المكتملة كما هي — تخطي فحوصات آلة الحالات والاحتفاظ بالطوابع الزمنية والمؤلف الأصليين بدل ختمها الآن)",
|
|
328
|
+
optSkipBlankKey: "تخطي الصفوف التي تكون قيمة المطابقة فيها فارغة",
|
|
329
|
+
optBackground: "الاستيراد في الخلفية",
|
|
330
|
+
optBackgroundHint: "(يعمل كمهمة قابلة للتراجع)",
|
|
331
|
+
validate: "التحقق من البيانات",
|
|
332
|
+
validating: "جارٍ التحقق…",
|
|
333
|
+
validateHint: "التحقق من كل صف على الخادم قبل الاستيراد.",
|
|
334
|
+
validatePassed: "جميع الصفوف ({{ok}}) صالحة.",
|
|
335
|
+
validateFailed: "{{ok}} صالحة، و{{errors}} بها أخطاء.",
|
|
336
|
+
errorRowPrefix: "الصف {{row}}: ",
|
|
337
|
+
referenceNotFound: "لا يوجد سجل مطابق لـ «{{value}}»",
|
|
338
|
+
referenceAmbiguous: "«{{value}}» يطابق أكثر من سجل — استخدم قيمة فريدة أو معرّف السجل",
|
|
339
|
+
invalidBoolean: "«{{value}}» ليست قيمة صواب/خطأ صالحة",
|
|
340
|
+
invalidNumber: "«{{value}}» ليست رقمًا صالحًا",
|
|
341
|
+
invalidDate: "«{{value}}» ليست تاريخًا صالحًا",
|
|
342
|
+
invalidOption: "«{{value}}» ليست ضمن الخيارات المسموح بها",
|
|
343
|
+
requiredValue: "هذا الحقل مطلوب",
|
|
344
|
+
matchAmbiguous: "يطابق أكثر من سجل موجود — استخدم قيمة فريدة أو معرّف السجل",
|
|
345
|
+
history: "السجل",
|
|
346
|
+
historyBack: "العودة إلى الاستيراد",
|
|
347
|
+
historyDescription: "عمليات الاستيراد الأخيرة لهذا الكائن.",
|
|
348
|
+
historyHint: "مهام الاستيراد في الخلفية، الأحدث أولًا.",
|
|
349
|
+
historyRefresh: "تحديث",
|
|
350
|
+
historyLoading: "جارٍ التحميل…",
|
|
351
|
+
historyEmpty: "لا توجد عمليات استيراد بعد.",
|
|
352
|
+
historyUnsupported: "سجل الاستيراد غير متاح لمصدر البيانات هذا.",
|
|
353
|
+
historyColStatus: "الحالة",
|
|
354
|
+
historyColRows: "الصفوف",
|
|
355
|
+
historyColResult: "النتيجة",
|
|
356
|
+
historyColTime: "الوقت",
|
|
357
|
+
errorCount: "{{count}} من الأخطاء",
|
|
358
|
+
undoImport: "التراجع عن الاستيراد",
|
|
359
|
+
undoing: "جارٍ التراجع…",
|
|
360
|
+
undoConfirm: "هل تريد التراجع عن هذا الاستيراد؟ ستُحذف السجلات التي أنشأها وتُستعاد السجلات التي حدّثها إلى قيمها السابقة.",
|
|
361
|
+
reverted: "تم التراجع",
|
|
362
|
+
jobStatus: {
|
|
363
|
+
pending: "قيد الانتظار",
|
|
364
|
+
running: "قيد التنفيذ",
|
|
365
|
+
succeeded: "نجح",
|
|
366
|
+
failed: "فشل",
|
|
367
|
+
cancelled: "أُلغي",
|
|
368
|
+
},
|
|
369
|
+
legacyReferenceBlocked: "تم حظر الاستيراد: {{fields}} حقول علاقات تحتاج إلى مسار الاستيراد على الخادم لتحويل الأسماء إلى معرّفات سجلات، وهذا الاتصال لا يدعم ذلك. استيرادها كنص عادي سيُفسد البيانات. حدّث الخادم/العميل، أو ألغِ ربط هذه الأعمدة واستوردها على حدة.",
|
|
370
|
+
missingRequiredHint: "لا يمكن المتابعة — حقول مطلوبة غير مرتبطة: {{fields}}. أضف عمودًا مطابقًا إلى ملفك، أو ارجع وارفع ملفًا يتضمنه.",
|
|
371
|
+
legacyFallbackNotice: "تم الاستيراد عبر وضع توافقي: هذا الاتصال لا يدعم مسار الاستيراد على الخادم، لذلك حُفظت القيم كنص دون تحويل للأنواع على الخادم. حدّث الخادم/العميل للحصول على دعم الاستيراد الكامل (تحويل الأنواع والبحث عن العلاقات).",
|
|
184
372
|
title: "استيراد {{object}}",
|
|
373
|
+
notAllowed: "هذا الكائن غير متاح للاستيراد.",
|
|
185
374
|
stepUpload: "رفع",
|
|
186
375
|
stepMapping: "تعيين",
|
|
187
376
|
stepPreview: "معاينة",
|
|
@@ -257,6 +446,42 @@ const ar = {
|
|
|
257
446
|
moreEvents: "+{{count}} المزيد",
|
|
258
447
|
},
|
|
259
448
|
list: {
|
|
449
|
+
firstRunTitle: "لا يوجد شيء هنا بعد",
|
|
450
|
+
firstRunMessage: "أنشئ سجلك الأول للبدء.",
|
|
451
|
+
noMatches: "لا توجد سجلات مطابقة",
|
|
452
|
+
noMatchesMessage: "لا توجد سجلات تطابق عوامل التصفية أو البحث الحالية. حاول تعديلها أو مسحها.",
|
|
453
|
+
loadErrorTitle: "تعذّر تحميل السجلات",
|
|
454
|
+
loadErrorMessage: "حدث خطأ أثناء تحميل هذه البيانات. تحقق من اتصالك وحاول مرة أخرى.",
|
|
455
|
+
loadErrorForbiddenTitle: "ليس لديك صلاحية الوصول",
|
|
456
|
+
loadErrorForbiddenMessage: "ليس لديك إذن لعرض هذه السجلات. تواصل مع المسؤول إذا كنت تعتقد أنه يجب أن يكون لديك وصول.",
|
|
457
|
+
loadErrorUnauthorizedTitle: "يلزم تسجيل الدخول",
|
|
458
|
+
loadErrorUnauthorizedMessage: "انتهت صلاحية جلستك أو تم تسجيل خروجك. سجّل الدخول مرة أخرى لعرض هذه السجلات.",
|
|
459
|
+
loadErrorRejectedTitle: "تم رفض استعلام طريقة العرض هذه",
|
|
460
|
+
loadErrorRejectedMessage: "تعذّر على الخادم معالجة عامل التصفية أو خيارات الاستعلام لطريقة العرض هذه. مسح عوامل التصفية يحل المشكلة عادةً؛ وإذا كانت طريقة العرض محفوظة بهذا الشكل، فيجب على المسؤول تصحيحها.",
|
|
461
|
+
retry: "إعادة المحاولة",
|
|
462
|
+
managedBy: {
|
|
463
|
+
system: {
|
|
464
|
+
title: "لا يوجد شيء هنا بعد",
|
|
465
|
+
message: "تظهر الإدخالات تلقائيًا عند تنفيذ الإجراء المصدر (مثل إرسال للموافقة، أو المشاركة، أو الدعوة). نفّذ أحدها على سجل مصدر لإنشاء صف.",
|
|
466
|
+
},
|
|
467
|
+
appendOnly: {
|
|
468
|
+
title: "لم تُسجَّل أي أحداث",
|
|
469
|
+
message: "هذا سجل تدقيق غير قابل للتعديل. تكتب المنصة الصفوف عند وقوع الأحداث — يمكنك تصدير السجل لكن لا يمكنك إنشاء إدخالات من هنا.",
|
|
470
|
+
},
|
|
471
|
+
betterAuth: {
|
|
472
|
+
title: "لا توجد سجلات هوية",
|
|
473
|
+
message: "ينشئ مزوّد المصادقة هذه السجلات — من خلال تسجيل الدخول والتزويد وإجراءات الأمان — ولا تُضاف يدويًا من هنا.",
|
|
474
|
+
},
|
|
475
|
+
betterAuthUser: {
|
|
476
|
+
title: "لا يوجد مستخدمون بعد",
|
|
477
|
+
message: "يزوّد مزوّد المصادقة حسابات المستخدمين، ولا تُنشأ من هنا. ادعُ زملاءك إلى مؤسستك وسيظهرون تلقائيًا عند أول تسجيل دخول (التزويد الفوري عبر SSO). أما مستخدمو التطبيق النهائيون فيُضافون عند تسجيلهم عبر تطبيقك.",
|
|
478
|
+
},
|
|
479
|
+
betterAuthTeam: {
|
|
480
|
+
title: "لا توجد فرق بعد",
|
|
481
|
+
message: "تجمع الفرق الأعضاء داخل المؤسسة. أنشئ فريقًا عبر «إنشاء فريق»، أو تأتي الفرق من خلال إجراءات تزويد المؤسسات و SSO لدى مزوّد المصادقة.",
|
|
482
|
+
},
|
|
483
|
+
},
|
|
484
|
+
refresh: "تحديث",
|
|
260
485
|
loading: 'Loading records...',
|
|
261
486
|
recordCount: "{{count}} سجلات",
|
|
262
487
|
recordCountOne: "{{count}} سجل",
|
|
@@ -268,6 +493,8 @@ const ar = {
|
|
|
268
493
|
filterRecords: "تصفية السجلات",
|
|
269
494
|
sort: "ترتيب",
|
|
270
495
|
sortRecords: "ترتيب السجلات",
|
|
496
|
+
sortByIdSuffix: "(حسب المعرّف)",
|
|
497
|
+
sortRelationalHint: "الأعمدة التي تشير إلى سجل آخر غير مدرجة هنا: يمكن ترتيبها حسب المعرّف المخزَّن فقط، وليس حسب الاسم الظاهر في الخلية. للترتيب حسب ذلك الاسم، أضف حقل صيغة يحتوي عليه.",
|
|
271
498
|
group: "تجميع",
|
|
272
499
|
groupBy: "تجميع حسب",
|
|
273
500
|
export: "تصدير",
|
|
@@ -297,6 +524,11 @@ const ar = {
|
|
|
297
524
|
recordEditingTitle: "تحرير السجلات",
|
|
298
525
|
},
|
|
299
526
|
managedByBadge: {
|
|
527
|
+
systemWritable: {
|
|
528
|
+
short: "مخطط المنصة",
|
|
529
|
+
title: "تحدده المنصة وقابل للكتابة من المسؤول",
|
|
530
|
+
body: "تحدد المنصة مخطط هذا الكائن، لكن صفوفه لك تنشئها وتحررها هنا. ومن يحق له الكتابة تحدده الإدارة المفوَّضة والأمان على مستوى السجل، لا هذه الشارة.",
|
|
531
|
+
},
|
|
300
532
|
config: {
|
|
301
533
|
short: "إعدادات المسؤول",
|
|
302
534
|
title: "تكوين المسؤول",
|
|
@@ -319,6 +551,7 @@ const ar = {
|
|
|
319
551
|
},
|
|
320
552
|
},
|
|
321
553
|
kanban: {
|
|
554
|
+
uncategorized: "غير مصنّف",
|
|
322
555
|
addCard: "إضافة بطاقة",
|
|
323
556
|
addColumn: "إضافة عمود",
|
|
324
557
|
moveCard: "نقل بطاقة",
|
|
@@ -340,12 +573,92 @@ const ar = {
|
|
|
340
573
|
},
|
|
341
574
|
},
|
|
342
575
|
gantt: {
|
|
576
|
+
viewMode: {
|
|
577
|
+
day: "يوم",
|
|
578
|
+
week: "أسبوع",
|
|
579
|
+
month: "شهر",
|
|
580
|
+
quarter: "ربع سنة",
|
|
581
|
+
year: "سنة",
|
|
582
|
+
},
|
|
583
|
+
row: {
|
|
584
|
+
expand: "توسيع",
|
|
585
|
+
collapse: "طي",
|
|
586
|
+
open: "فتح التفاصيل",
|
|
587
|
+
},
|
|
588
|
+
aria: {
|
|
589
|
+
taskList: "قائمة المهام",
|
|
590
|
+
},
|
|
591
|
+
tooltip: {
|
|
592
|
+
days: "ي",
|
|
593
|
+
},
|
|
594
|
+
menu: {
|
|
595
|
+
view: "عرض التفاصيل",
|
|
596
|
+
edit: "تحرير مباشر",
|
|
597
|
+
delete: "حذف",
|
|
598
|
+
addPredecessor: "إضافة مهمة سابقة…",
|
|
599
|
+
addSuccessor: "إضافة مهمة لاحقة…",
|
|
600
|
+
removeDependency: "إزالة التبعية",
|
|
601
|
+
noCandidates: "لا توجد مهام متاحة",
|
|
602
|
+
searchTasks: "البحث في المهام…",
|
|
603
|
+
},
|
|
604
|
+
delete: {
|
|
605
|
+
title: "حذف هذه المهمة؟",
|
|
606
|
+
body: "ستُحذف «{{title}}» نهائيًا. لا يمكن التراجع عن هذا الإجراء.",
|
|
607
|
+
cancel: "إلغاء",
|
|
608
|
+
confirm: "حذف",
|
|
609
|
+
deleting: "جارٍ الحذف…",
|
|
610
|
+
},
|
|
611
|
+
drawer: {
|
|
612
|
+
fallbackTitle: "تفاصيل المهمة",
|
|
613
|
+
},
|
|
614
|
+
linkType: {
|
|
615
|
+
fs: "نهاية → بداية",
|
|
616
|
+
ss: "بداية → بداية",
|
|
617
|
+
ff: "نهاية → نهاية",
|
|
618
|
+
sf: "بداية → نهاية",
|
|
619
|
+
},
|
|
620
|
+
conflict: {
|
|
621
|
+
title: "تعارض في الجدولة",
|
|
622
|
+
body: "يتعارض هذا النقل مع قيود التبعية. هل تريد إعادة جدولة {{count}} من المهام المتأثرة تلقائيًا؟",
|
|
623
|
+
confirm: "إعادة الجدولة تلقائيًا",
|
|
624
|
+
cancel: "الإبقاء كما هو",
|
|
625
|
+
},
|
|
626
|
+
autoScheduleDlg: {
|
|
627
|
+
title: "الجدولة التلقائية",
|
|
628
|
+
body: "هل تريد تأخير {count} من المهام لتلبية روابط التبعية؟",
|
|
629
|
+
skipped: "{count} من المهام المقفلة تخالف الروابط أيضًا وقد تم تخطيها.",
|
|
630
|
+
confirm: "تطبيق",
|
|
631
|
+
cancel: "إلغاء",
|
|
632
|
+
none: "جميع التبعيات مستوفاة — لا شيء لإعادة جدولته.",
|
|
633
|
+
},
|
|
634
|
+
resource: {
|
|
635
|
+
header: "المورد",
|
|
636
|
+
peak: "الذروة",
|
|
637
|
+
over: "محمّل بإفراط",
|
|
638
|
+
empty: "لا توجد مهام لتخصيصها.",
|
|
639
|
+
},
|
|
640
|
+
readOnly: "للقراءة فقط",
|
|
641
|
+
readOnlyHint: "التحرير معطّل في هذا العرض.",
|
|
642
|
+
lockedHint: "لا توجد صلاحية تحرير",
|
|
643
|
+
writeFailed: "فشل الحفظ — تم التراجع عن التغيير",
|
|
343
644
|
column: {
|
|
344
645
|
taskName: "اسم المهمة",
|
|
345
646
|
start: "البداية",
|
|
346
647
|
end: "النهاية",
|
|
347
648
|
},
|
|
348
649
|
toolbar: {
|
|
650
|
+
thisWeek: "هذا الأسبوع",
|
|
651
|
+
thisMonth: "هذا الشهر",
|
|
652
|
+
viewMode: "دقة الخط الزمني",
|
|
653
|
+
enterFullscreen: "ملء الشاشة",
|
|
654
|
+
exitFullscreen: "إنهاء ملء الشاشة",
|
|
655
|
+
criticalPath: "إبراز المسار الحرج",
|
|
656
|
+
autoSchedule: "جدولة التبعيات تلقائيًا",
|
|
657
|
+
exportPng: "تصدير بصيغة PNG",
|
|
658
|
+
exportPdf: "تصدير PDF",
|
|
659
|
+
saveLayout: "حفظ التخطيط",
|
|
660
|
+
undo: "تراجع",
|
|
661
|
+
redo: "إعادة",
|
|
349
662
|
prevPeriod: "الفترة السابقة",
|
|
350
663
|
nextPeriod: "الفترة التالية",
|
|
351
664
|
zoomIn: "تكبير",
|
|
@@ -391,6 +704,11 @@ const ar = {
|
|
|
391
704
|
redo: 'Redo',
|
|
392
705
|
},
|
|
393
706
|
detail: {
|
|
707
|
+
editInlineHint: "انقر نقرًا مزدوجًا للتحرير",
|
|
708
|
+
systemActor: "النظام",
|
|
709
|
+
unknownUser: "غير معروف",
|
|
710
|
+
created: "أُنشئ",
|
|
711
|
+
updated: "حُدِّث",
|
|
394
712
|
back: "رجوع",
|
|
395
713
|
edit: "تحرير",
|
|
396
714
|
editInline: "تحرير",
|
|
@@ -440,6 +758,18 @@ const ar = {
|
|
|
440
758
|
attachmentCount: "{{count}} مرفق",
|
|
441
759
|
attachmentCountPlural: "{{count}} مرفقات",
|
|
442
760
|
removeAttachment: "إزالة المرفق",
|
|
761
|
+
// Record Attachments panel (enable.files, objectstack#4358)
|
|
762
|
+
attachments: "المرفقات",
|
|
763
|
+
uploadAttachment: "رفع",
|
|
764
|
+
loadingAttachments: "جارٍ تحميل المرفقات…",
|
|
765
|
+
noAttachments: "لا توجد مرفقات بعد. ارفع ملفًا للبدء.",
|
|
766
|
+
downloadAttachment: "تنزيل",
|
|
767
|
+
deleteAttachment: "حذف المرفق",
|
|
768
|
+
attachmentDeleteDenied: "لا يمكن حذف هذا المرفق إلا لمن رفعه أو لمن يمكنه تعديل هذا السجل.",
|
|
769
|
+
attachmentParentAccessDenied: "ليس لديك صلاحية إرفاق ملفات بهذا السجل.",
|
|
770
|
+
attachmentDownloadDenied: "ليس لديك صلاحية تنزيل هذا المرفق.",
|
|
771
|
+
attachmentAuthRequired: "يرجى تسجيل الدخول لتنزيل هذا المرفق.",
|
|
772
|
+
attachmentPermissionDenied: "ليس لديك إذن للقيام بذلك.",
|
|
443
773
|
unifiedDiff: "عرض موحد",
|
|
444
774
|
sideBySideDiff: "عرض جنباً إلى جنب",
|
|
445
775
|
noChanges: "لا توجد تغييرات",
|
|
@@ -487,9 +817,15 @@ const ar = {
|
|
|
487
817
|
saving: "جارٍ الحفظ…",
|
|
488
818
|
lockedByApproval: "مقفل للموافقة",
|
|
489
819
|
lockedTooltip: "يحتوي هذا السجل على طلب موافقة معلق؛ التعديل مقفل",
|
|
820
|
+
writeStrippedTitle: "لم يتم حفظ بعض الحقول",
|
|
821
|
+
writeStrippedReadonly: "للقراءة فقط، لذلك لم يتم حفظها: {{fields}}",
|
|
822
|
+
writeStrippedByState: "غير قابلة للتعديل في الحالة الحالية لهذا السجل، لذلك لم يتم حفظها: {{fields}}",
|
|
823
|
+
approvalPendingEditable: "قيد الموافقة · قابل للتعديل",
|
|
824
|
+
approvalPendingTooltip: "يحتوي هذا السجل على طلب موافقة معلق، لكن هذه الخطوة لا تزال تسمح بالتعديل",
|
|
490
825
|
cancelApproval: "إلغاء الموافقة",
|
|
491
826
|
cancelApprovalInFlight: "جارٍ الإلغاء…",
|
|
492
827
|
cancelApprovalTooltip: "إلغاء طلب الموافقة المعلق لفتح قفل السجل",
|
|
828
|
+
cancelApprovalTooltipUnlocked: "إلغاء طلب الموافقة المعلق",
|
|
493
829
|
cancelApprovalFailed: "فشل إلغاء الموافقة",
|
|
494
830
|
cancelApprovalUnavailable: "إلغاء الموافقات غير مدعوم من مصدر البيانات هذا",
|
|
495
831
|
linkCopied: "تم نسخ الرابط إلى الحافظة",
|
|
@@ -603,6 +939,35 @@ const ar = {
|
|
|
603
939
|
resetZoom: "إعادة تعيين التكبير",
|
|
604
940
|
},
|
|
605
941
|
dashboard: {
|
|
942
|
+
noRows: "لا توجد صفوف",
|
|
943
|
+
pickMeasures: "اختر المقاييس (القيم) لأداة مجموعة البيانات هذه.",
|
|
944
|
+
datasetUnsupported: "مصدر البيانات هذا لا يدعم استعلامات مجموعات البيانات.",
|
|
945
|
+
details: "التفاصيل",
|
|
946
|
+
exportCsv: "تصدير CSV",
|
|
947
|
+
openInList: "فتح في القائمة",
|
|
948
|
+
filters: {
|
|
949
|
+
label: "عوامل تصفية لوحة المعلومات",
|
|
950
|
+
dateRange: "النطاق الزمني",
|
|
951
|
+
allTime: "كل الأوقات",
|
|
952
|
+
custom: "مخصص…",
|
|
953
|
+
all: "الكل",
|
|
954
|
+
reset: "إعادة تعيين",
|
|
955
|
+
range: {
|
|
956
|
+
today: "اليوم",
|
|
957
|
+
yesterday: "أمس",
|
|
958
|
+
this_week: "هذا الأسبوع",
|
|
959
|
+
last_week: "الأسبوع الماضي",
|
|
960
|
+
this_month: "هذا الشهر",
|
|
961
|
+
last_month: "الشهر الماضي",
|
|
962
|
+
this_quarter: "هذا الربع",
|
|
963
|
+
last_quarter: "الربع الماضي",
|
|
964
|
+
this_year: "هذه السنة",
|
|
965
|
+
last_year: "السنة الماضية",
|
|
966
|
+
last_7_days: "آخر 7 أيام",
|
|
967
|
+
last_30_days: "آخر 30 يومًا",
|
|
968
|
+
last_90_days: "آخر 90 يومًا",
|
|
969
|
+
},
|
|
970
|
+
},
|
|
606
971
|
addWidget: "إضافة أداة",
|
|
607
972
|
removeWidget: "إزالة أداة",
|
|
608
973
|
editLayout: "تعديل التخطيط",
|
|
@@ -730,6 +1095,7 @@ const ar = {
|
|
|
730
1095
|
navTypeGroup: "مجموعة",
|
|
731
1096
|
navTypeSeparator: "فاصل",
|
|
732
1097
|
navTypeAction: "إجراء",
|
|
1098
|
+
navTypeComponent: "مكوّن",
|
|
733
1099
|
navEditIcon: "تعديل الأيقونة",
|
|
734
1100
|
navToggleVisible: "تبديل الرؤية",
|
|
735
1101
|
navHidden: "مخفي",
|
|
@@ -831,8 +1197,199 @@ const ar = {
|
|
|
831
1197
|
},
|
|
832
1198
|
},
|
|
833
1199
|
console: {
|
|
1200
|
+
settingsHub: {
|
|
1201
|
+
title: "الإعدادات",
|
|
1202
|
+
subtitle: "اضبط مساحة العمل والتكاملات وأعلام الميزات.",
|
|
1203
|
+
loadError: "تعذّر تحميل الإعدادات",
|
|
1204
|
+
empty: "لا توجد إعدادات مسجّلة. يمكن للإضافات تسجيل بيانات الإعدادات عبر SettingsService.",
|
|
1205
|
+
settingsCount: "{{n}} من الإعدادات",
|
|
1206
|
+
beta: "إصدار تجريبي",
|
|
1207
|
+
categories: {
|
|
1208
|
+
Workspace: "مساحة العمل",
|
|
1209
|
+
Communication: "الاتصالات",
|
|
1210
|
+
Security: "الأمان",
|
|
1211
|
+
Infrastructure: "البنية التحتية",
|
|
1212
|
+
Beta: "إصدار تجريبي",
|
|
1213
|
+
Other: "أخرى",
|
|
1214
|
+
},
|
|
1215
|
+
},
|
|
1216
|
+
objectData: {
|
|
1217
|
+
badge: "البيانات",
|
|
1218
|
+
description: "شريحة بيانات محددة عبر الرابط — غير مرتبطة بأي عرض محفوظ.",
|
|
1219
|
+
filteredBy: "مُرشَّح حسب",
|
|
1220
|
+
removeFilter: "إزالة عامل التصفية {{field}}",
|
|
1221
|
+
saveAsView: "الحفظ كعرض",
|
|
1222
|
+
noAccessTitle: "تم رفض الوصول",
|
|
1223
|
+
noAccess: "ليس لديك إذن لعرض هذه البيانات.",
|
|
1224
|
+
},
|
|
1225
|
+
identityImport: {
|
|
1226
|
+
policyTitle: "إعداد تسجيل الدخول للمستخدمين المستوردين",
|
|
1227
|
+
policy: {
|
|
1228
|
+
auto: "تلقائي (موصى به)",
|
|
1229
|
+
invite: "إرسال دعوات",
|
|
1230
|
+
temporary: "كلمات مرور مؤقتة",
|
|
1231
|
+
none: "بدون كلمة مرور (هوية فقط)",
|
|
1232
|
+
},
|
|
1233
|
+
policyHint: {
|
|
1234
|
+
auto: "يتلقى المستخدمون الذين يمكن الوصول إليهم دعوة (بريد إلكتروني أو رسالة نصية)؛ ومن يتعذّر الوصول إليه يحصل على كلمة مرور لمرة واحدة تُعرض مرة واحدة فقط في شاشة النتائج. تعمل مع خدمة البريد/الرسائل أو بدونها.",
|
|
1235
|
+
invite: "يتلقى كل مستخدم يتم إنشاؤه بريدًا لتعيين كلمة المرور (أو رسالة دعوة نصية للصفوف التي تحتوي على هاتف فقط). يتطلب خدمة بريد/رسائل مُهيّأة — وتفشل الصفوف التي يتعذّر الوصول إليها.",
|
|
1236
|
+
temporary: "للتنصيبات التي لا تتوفر فيها خدمة بريد/رسائل: يحصل كل مستخدم يتم إنشاؤه على كلمة مرور لمرة واحدة تُعرض مرة واحدة فقط في شاشة النتائج. ويفرض تسجيل الدخول الأول تغييرها.",
|
|
1237
|
+
none: "يسجّل المستخدمون الدخول أولًا برمز لمرة واحدة عبر الهاتف أو برابط سحري أو برابط إعادة تعيين كلمة المرور، ثم يعيّنون كلمة المرور الخاصة بهم.",
|
|
1238
|
+
},
|
|
1239
|
+
passwordsNote: "كلمات مرور مؤقتة — تُعرض مرة واحدة ولا تُخزَّن أبدًا. احفظها الآن؛ وعلى كل مستخدم تغيير كلمته عند أول تسجيل دخول.",
|
|
1240
|
+
passwordsMore: "تم حذف إدخالات إضافية — استخدم التنزيل.",
|
|
1241
|
+
passwordsDownload: "تنزيل ملف CSV",
|
|
1242
|
+
},
|
|
1243
|
+
ai: {
|
|
1244
|
+
usage: {
|
|
1245
|
+
title: "استخدام الذكاء الاصطناعي",
|
|
1246
|
+
meterBuild: "الإنشاء",
|
|
1247
|
+
meterAsk: "السؤال",
|
|
1248
|
+
statusOk: "المتبقّي وفير",
|
|
1249
|
+
statusLow: "على وشك النفاد",
|
|
1250
|
+
statusFull: "تم بلوغ الحد",
|
|
1251
|
+
resetsDaily: "تُعاد التهيئة الليلة",
|
|
1252
|
+
resetsMonthly: "تُعاد التهيئة في الدورة القادمة",
|
|
1253
|
+
ctaUpgrade: "قم بالترقية للمتابعة",
|
|
1254
|
+
ctaTopUp: "أضف أرصدة للمتابعة",
|
|
1255
|
+
ariaLabel: "استخدام الذكاء الاصطناعي: {{status}}",
|
|
1256
|
+
},
|
|
1257
|
+
workspaceTitle: "مساحة عمل الذكاء الاصطناعي",
|
|
1258
|
+
workspaceSubtitle: "اسأل وافحص واستأنف المحادثات",
|
|
1259
|
+
openChats: "فتح المحادثات",
|
|
1260
|
+
chats: "المحادثات",
|
|
1261
|
+
chatsDescription: "تصفّح محادثات الذكاء الاصطناعي وأدرها.",
|
|
1262
|
+
share: "مشاركة",
|
|
1263
|
+
shareTitle: "مشاركة هذه المحادثة",
|
|
1264
|
+
shareDisabledTitle: "ابدأ المحادثة لتفعيل المشاركة",
|
|
1265
|
+
newChat: "جديدة",
|
|
1266
|
+
searchChats: "البحث في المحادثات...",
|
|
1267
|
+
noChatsYet: "لا توجد محادثات بعد",
|
|
1268
|
+
noChatsDescription: "ابدأ محادثة جديدة لتظهر هنا.",
|
|
1269
|
+
noMatchingChats: "لا توجد محادثات مطابقة.",
|
|
1270
|
+
newConversation: "محادثة جديدة",
|
|
1271
|
+
renameConversation: "إعادة تسمية المحادثة",
|
|
1272
|
+
deleteConversation: "حذف المحادثة",
|
|
1273
|
+
saveRename: "حفظ الاسم",
|
|
1274
|
+
cancelRename: "إلغاء إعادة التسمية",
|
|
1275
|
+
loadingHistory: "جارٍ تحميل سجل المحادثة...",
|
|
1276
|
+
conversationReady: "المحادثة جاهزة",
|
|
1277
|
+
preparingConversation: "جارٍ تجهيز محادثة جديدة",
|
|
1278
|
+
offlineDemoMode: "وضع العرض دون اتصال — قائمة الوكلاء غير متاحة",
|
|
1279
|
+
sendFailedRateLimited: "أنت ترسل الرسائل بسرعة كبيرة. رسالتك محفوظة بالأسفل — انتظر لحظة ثم أعد المحاولة.",
|
|
1280
|
+
sendFailedGeneric: "تعذّر إرسال رسالتك. وهي محفوظة بالأسفل — يرجى إعادة المحاولة.",
|
|
1281
|
+
askAgent: "اسأل {{agent}}...",
|
|
1282
|
+
assistant: "المساعد",
|
|
1283
|
+
liveCanvas: "معاينة حية — {{app}} (مسودة)",
|
|
1284
|
+
liveCanvasUnlisted: "تطبيق حي — {{app}} (غير مُدرج حتى النشر)",
|
|
1285
|
+
loadingAgents: "جارٍ تحميل الوكلاء...",
|
|
1286
|
+
askAnything: "اسأل عن أي شيء...",
|
|
1287
|
+
emptyTitle: "ابدأ محادثة",
|
|
1288
|
+
emptyDescription: "اسأل عن أي شيء — يمكن للمساعد الاطلاع على سياق تطبيقك الحالي.",
|
|
1289
|
+
switchAssistant: "تبديل المساعد",
|
|
1290
|
+
chooseAgent: "اختر مساعدًا…",
|
|
1291
|
+
empty: {
|
|
1292
|
+
build: {
|
|
1293
|
+
title: "الإنشاء بالذكاء الاصطناعي",
|
|
1294
|
+
description: "صف تطبيقًا أو سير عمل بلغة بسيطة — سأعدّ مسودة الكائنات والشاشات والأتمتة، ثم تراجعها وتنشرها.",
|
|
1295
|
+
},
|
|
1296
|
+
ask: {
|
|
1297
|
+
title: "اسأل بياناتك",
|
|
1298
|
+
description: "اطرح أسئلة عن سجلاتك — أعداد وقوائم وملخصات للبيانات التي يمكنك الوصول إليها.",
|
|
1299
|
+
},
|
|
1300
|
+
editApp: {
|
|
1301
|
+
title: "تحرير «{{app}}»",
|
|
1302
|
+
titleGeneric: "تحرير هذا التطبيق",
|
|
1303
|
+
description: "ما الذي تريد تغييره؟ سأعدّل هذا التطبيق في مكانه — إضافة حقل أو كائن أو عرض أو أتمتة، أو تعديل ما هو موجود.",
|
|
1304
|
+
},
|
|
1305
|
+
},
|
|
1306
|
+
clearConversation: "مسح",
|
|
1307
|
+
sendHint: "للإرسال",
|
|
1308
|
+
agentActivity: "نشاط الوكيل",
|
|
1309
|
+
toolCompleted: "مكتمل",
|
|
1310
|
+
toolRunning: "قيد التنفيذ",
|
|
1311
|
+
toolAwaitingApproval: "بانتظار الموافقة",
|
|
1312
|
+
toolFailed: "فشل",
|
|
1313
|
+
toolDetailsHidden: "مدخلات الأدوات والنتائج الخام مخفية في هذا العرض.",
|
|
1314
|
+
copy: "نسخ",
|
|
1315
|
+
copied: "تم النسخ",
|
|
1316
|
+
regenerate: "إعادة التوليد",
|
|
1317
|
+
model: "النموذج",
|
|
1318
|
+
submit: "إرسال",
|
|
1319
|
+
uploadFiles: "رفع الملفات",
|
|
1320
|
+
stopResponse: "إيقاف الرد",
|
|
1321
|
+
trace: "التتبّع",
|
|
1322
|
+
viewTrace: "عرض التتبّع",
|
|
1323
|
+
nextSteps: "الخطوة التالية",
|
|
1324
|
+
publishDrafts: "نشر",
|
|
1325
|
+
publishOk: "تم النشر — الكائنات فعّالة الآن.",
|
|
1326
|
+
seedWarn: "تم النشر، لكن تعذّر تحميل بعض البيانات التجريبية.",
|
|
1327
|
+
openBuiltApp: "فتح التطبيق",
|
|
1328
|
+
designBuiltApp: "التصميم في Studio",
|
|
1329
|
+
previewDraft: "معاينة",
|
|
1330
|
+
previewApp: "معاينة التطبيق",
|
|
1331
|
+
resizeSplit: "تغيير حجم المحادثة والمعاينة",
|
|
1332
|
+
hideChats: "إخفاء المحادثات",
|
|
1333
|
+
showChats: "إظهار المحادثات",
|
|
1334
|
+
planTitle: "الخطة المقترحة",
|
|
1335
|
+
planQuestions: "التأكيد قبل الإنشاء",
|
|
1336
|
+
planAssumptions: "الافتراضات",
|
|
1337
|
+
planApproveHint: "أجب للموافقة على هذه الخطة أو تعديلها.",
|
|
1338
|
+
planApprove: "ابدأ الإنشاء",
|
|
1339
|
+
planAdjust: "تعديل",
|
|
1340
|
+
justNow: "الآن",
|
|
1341
|
+
minutesAgo: "قبل {{count}} د",
|
|
1342
|
+
hoursAgo: "قبل {{count}} س",
|
|
1343
|
+
daysAgo: "قبل {{count}} ي",
|
|
1344
|
+
agentLabels: {
|
|
1345
|
+
ask: "السؤال",
|
|
1346
|
+
build: "الإنشاء",
|
|
1347
|
+
dataChat: "المساعد",
|
|
1348
|
+
metadataAssistant: "مساعد البيانات الوصفية",
|
|
1349
|
+
},
|
|
1350
|
+
suggestions: {
|
|
1351
|
+
dataChat: {
|
|
1352
|
+
userCount: "كم عدد المستخدمين في النظام؟ اذكر عناوين بريدهم الإلكتروني.",
|
|
1353
|
+
recentRecords: "اذكر أحدث 5 سجلات تم إنشاؤها.",
|
|
1354
|
+
recordCounts: "احسب عدد السجلات لكل كائن.",
|
|
1355
|
+
},
|
|
1356
|
+
metadataAssistant: {
|
|
1357
|
+
buildCrm: "أنشئ نظام إدارة علاقات عملاء للمبيعات — عملاء وجهات اتصال ومسار صفقات يمكنني تجميعه حسب المرحلة.",
|
|
1358
|
+
buildApp: "أنشئ متتبّع مشاريع — مشاريع ومهام بمسؤولين وتواريخ استحقاق ولوحة حسب الحالة.",
|
|
1359
|
+
buildFlow: "صمّم مكتب دعم — تذاكر بأولوية وسير عمل للحالات وروابط بالعملاء.",
|
|
1360
|
+
buildInventory: "أنشئ تطبيق مخزون — منتجات ومستويات مخزون وموردين وتنبيه لانخفاض المخزون.",
|
|
1361
|
+
buildRecruiting: "أنشئ متتبّع متقدمين — مرشحون ووظائف شاغرة ومراحل مقابلات وملاحظات.",
|
|
1362
|
+
},
|
|
1363
|
+
generic: {
|
|
1364
|
+
help: "بماذا يمكنك مساعدتي؟",
|
|
1365
|
+
availableObjects: "اذكر كائنات البيانات المتاحة.",
|
|
1366
|
+
recentActivity: "لخّص نشاطي الأخير.",
|
|
1367
|
+
},
|
|
1368
|
+
editApp: {
|
|
1369
|
+
addField: "أضف حقلًا إلى أحد الكائنات.",
|
|
1370
|
+
addObject: "أضف كائنًا جديدًا واربطه بكائن موجود.",
|
|
1371
|
+
addDashboard: "أضف لوحة معلومات للمؤشرات الرئيسية.",
|
|
1372
|
+
addAutomation: "أضف أتمتة — موافقة أو سير حالات أو إشعارًا.",
|
|
1373
|
+
},
|
|
1374
|
+
},
|
|
1375
|
+
changesTitle: "تأكيد التغييرات",
|
|
1376
|
+
changesConfirmed: "تم التأكيد",
|
|
1377
|
+
changesConfirm: "تأكيد",
|
|
1378
|
+
changesConfirmHint: "أجب لتأكيد هذا التغيير أو تعديله.",
|
|
1379
|
+
changeVerb: {
|
|
1380
|
+
createObject: "إنشاء كائن",
|
|
1381
|
+
addField: "إضافة حقل",
|
|
1382
|
+
modifyField: "تعديل حقل",
|
|
1383
|
+
deleteField: "حذف حقل",
|
|
1384
|
+
createMetadata: "إنشاء",
|
|
1385
|
+
updateMetadata: "تعديل",
|
|
1386
|
+
createSeed: "إنشاء بيانات تجريبية",
|
|
1387
|
+
createPackage: "إنشاء حزمة تطبيق",
|
|
1388
|
+
},
|
|
1389
|
+
},
|
|
834
1390
|
title: "وحدة تحكم ObjectStack",
|
|
835
1391
|
initializing: "جاري تهيئة التطبيق...",
|
|
1392
|
+
loadingHint: "قد يستغرق إعداد بيئة جديدة بعض الوقت.",
|
|
836
1393
|
breadcrumb: {
|
|
837
1394
|
dashboards: "لوحات المعلومات",
|
|
838
1395
|
pages: "الصفحات",
|
|
@@ -874,6 +1431,7 @@ const ar = {
|
|
|
874
1431
|
toggleDarkMode: "تبديل الوضع الداكن",
|
|
875
1432
|
},
|
|
876
1433
|
commandPalette: {
|
|
1434
|
+
title: "لوحة الأوامر",
|
|
877
1435
|
placeholder: "اكتب أمراً أو ابحث...",
|
|
878
1436
|
noResults: "لم يتم العثور على نتائج.",
|
|
879
1437
|
objects: "الكائنات",
|
|
@@ -907,6 +1465,14 @@ const ar = {
|
|
|
907
1465
|
system: "النظام",
|
|
908
1466
|
},
|
|
909
1467
|
objectView: {
|
|
1468
|
+
viewTypeTree: "شجرة",
|
|
1469
|
+
viewTypeTreeDesc: "يرتّب السجلات ذاتية المرجعية في تسلسل هرمي عبر حقل أب.",
|
|
1470
|
+
parentField: "الحقل الأب",
|
|
1471
|
+
parentFieldHelp: "الحقل الذي يشير إلى السجل الأب (الكائن نفسه) ويحدد التسلسل الهرمي. الحقول ذاتية المرجعية فقط هي المؤهلة.",
|
|
1472
|
+
viewName: "الاسم",
|
|
1473
|
+
viewNameHelp: "مفتاح برمجي (snake_case). يُملأ تلقائيًا من العنوان — عدّله إن أردت.",
|
|
1474
|
+
viewNameRequired: "أدخل مفتاحًا (أحرف إنجليزية صغيرة وأرقام وشرطة سفلية). لا يُملأ تلقائيًا للعناوين غير اللاتينية.",
|
|
1475
|
+
viewNameInvalid: "استخدم أحرفًا إنجليزية صغيرة وأرقامًا وشرطات سفلية؛ وابدأ بحرف أو شرطة سفلية.",
|
|
910
1476
|
systemViewReadonly: 'System view defined in code - duplicate to customize.',
|
|
911
1477
|
expandToPage: 'Open as full page',
|
|
912
1478
|
objectNotFound: "الكائن غير موجود",
|
|
@@ -1120,7 +1686,28 @@ const ar = {
|
|
|
1120
1686
|
},
|
|
1121
1687
|
},
|
|
1122
1688
|
auth: {
|
|
1689
|
+
setPassword: {
|
|
1690
|
+
title: "تعيين كلمة مرور للاسترداد",
|
|
1691
|
+
description: "لقد سجّلت الدخول عبر الدخول الموحّد. عيّن كلمة مرور محلية لتتمكن من الدخول إلى هذه البيئة مباشرةً إذا أصبح الدخول الموحّد غير متاح.",
|
|
1692
|
+
email: "البريد الإلكتروني",
|
|
1693
|
+
newPassword: "كلمة المرور الجديدة",
|
|
1694
|
+
confirmPassword: "تأكيد كلمة المرور",
|
|
1695
|
+
submit: "تعيين كلمة المرور",
|
|
1696
|
+
submitting: "جارٍ الحفظ…",
|
|
1697
|
+
success: "تم تعيين كلمة المرور المحلية",
|
|
1698
|
+
failed: "تعذّر تعيين كلمة المرور",
|
|
1699
|
+
passwordsMismatch: "كلمتا المرور غير متطابقتين",
|
|
1700
|
+
noSession: "انتهت صلاحية جلستك.",
|
|
1701
|
+
backToSignIn: "تسجيل الدخول مرة أخرى",
|
|
1702
|
+
},
|
|
1123
1703
|
login: {
|
|
1704
|
+
signingIn: "جارٍ تسجيل دخولك…",
|
|
1705
|
+
ssoHandoff: "المتابعة إلى {{target}}",
|
|
1706
|
+
devAdminHint: {
|
|
1707
|
+
title: "بيئة تطوير",
|
|
1708
|
+
body: "سجّل الدخول بحساب مسؤول التطوير المهيأ مسبقًا:",
|
|
1709
|
+
dismiss: "تجاهل",
|
|
1710
|
+
},
|
|
1124
1711
|
title: "تسجيل الدخول إلى حسابك",
|
|
1125
1712
|
description: "أدخل بريدك الإلكتروني وكلمة المرور للمتابعة",
|
|
1126
1713
|
emailLabel: "البريد الإلكتروني",
|
|
@@ -1133,6 +1720,7 @@ const ar = {
|
|
|
1133
1720
|
noAccountText: "ليس لديك حساب؟",
|
|
1134
1721
|
signUpText: "إنشاء حساب",
|
|
1135
1722
|
errors: {
|
|
1723
|
+
oauthCallbackFailed: "تعذّر إكمال الدخول الموحّد — انتهت صلاحية رابط تسجيل الدخول أو سبق استخدامه. يرجى المحاولة مرة أخرى.",
|
|
1136
1724
|
invalidCredentials: "بريد إلكتروني أو كلمة مرور غير صحيحة. يرجى المحاولة مرة أخرى.",
|
|
1137
1725
|
emailNotVerified: "يرجى التحقق من بريدك الإلكتروني قبل تسجيل الدخول.",
|
|
1138
1726
|
},
|
|
@@ -1258,6 +1846,40 @@ const ar = {
|
|
|
1258
1846
|
shell: {
|
|
1259
1847
|
tenantHostHint: "تسجل الدخول إلى مساحة العمل هذه",
|
|
1260
1848
|
},
|
|
1849
|
+
layout: {
|
|
1850
|
+
headline: "أنشئ تطبيقات أعمال قوية بسرعة أكبر.",
|
|
1851
|
+
subhead: "المنصة الموحدة لإدارة بيانات المؤسسات وسير العمل والتحليلات.",
|
|
1852
|
+
},
|
|
1853
|
+
remediation: {
|
|
1854
|
+
signOut: "تسجيل الخروج بدلاً من ذلك",
|
|
1855
|
+
password: {
|
|
1856
|
+
title: "انتهت صلاحية كلمة المرور",
|
|
1857
|
+
fallbackMessage: "يرجى تعيين كلمة مرور جديدة للمتابعة.",
|
|
1858
|
+
current: "كلمة المرور الحالية",
|
|
1859
|
+
next: "كلمة المرور الجديدة",
|
|
1860
|
+
confirm: "تأكيد كلمة المرور الجديدة",
|
|
1861
|
+
submit: "تغيير كلمة المرور والمتابعة",
|
|
1862
|
+
submitting: "جارٍ التحديث…",
|
|
1863
|
+
mismatch: "كلمتا المرور الجديدتان غير متطابقتين.",
|
|
1864
|
+
failed: "تعذّر تغيير كلمة المرور.",
|
|
1865
|
+
},
|
|
1866
|
+
mfa: {
|
|
1867
|
+
title: "إعداد المصادقة الثنائية",
|
|
1868
|
+
fallbackMessage: "تتطلب مؤسستك تطبيق مصادقة للمتابعة.",
|
|
1869
|
+
confirmPassword: "أكّد كلمة المرور",
|
|
1870
|
+
continue: "متابعة",
|
|
1871
|
+
preparing: "جارٍ التحضير…",
|
|
1872
|
+
enrollFailed: "تعذّر بدء التسجيل.",
|
|
1873
|
+
scanTitle: "امسح الرمز بتطبيق المصادقة",
|
|
1874
|
+
scanBody: "امسح رمز QR هذا باستخدام Google Authenticator أو 1Password أو Authy وغيرها، ثم أدخل الرمز المكوّن من 6 أرقام.",
|
|
1875
|
+
backupTitle: "احفظ رموز النسخ الاحتياطي",
|
|
1876
|
+
backupBody: "احتفظ بها في مكان آمن — يمكن استخدام كل رمز مرة واحدة إذا فقدت جهازك.",
|
|
1877
|
+
codeLabel: "رمز مكوّن من 6 أرقام",
|
|
1878
|
+
verify: "تحقّق وتابع",
|
|
1879
|
+
verifying: "جارٍ التحقق…",
|
|
1880
|
+
invalidCode: "رمز غير صالح. حاول مرة أخرى.",
|
|
1881
|
+
},
|
|
1882
|
+
},
|
|
1261
1883
|
},
|
|
1262
1884
|
profile: {
|
|
1263
1885
|
title: "الملف الشخصي",
|
|
@@ -1322,11 +1944,15 @@ const ar = {
|
|
|
1322
1944
|
settings: "إعدادات مساحة العمل",
|
|
1323
1945
|
},
|
|
1324
1946
|
help: {
|
|
1947
|
+
onThisPage: "في هذه الصفحة",
|
|
1948
|
+
keyboardShortcuts: "اختصارات لوحة المفاتيح",
|
|
1325
1949
|
appDocs: 'وثائق هذا التطبيق',
|
|
1326
1950
|
allDocs: 'كل الوثائق',
|
|
1327
1951
|
onlineDocs: 'الوثائق عبر الإنترنت',
|
|
1328
1952
|
},
|
|
1329
1953
|
sidebar: {
|
|
1954
|
+
packageManagement: "إدارة الحزم",
|
|
1955
|
+
searchNavigation: "البحث في التنقل...",
|
|
1330
1956
|
settings: "الإعدادات",
|
|
1331
1957
|
help: "المساعدة",
|
|
1332
1958
|
helpTooltip: "المساعدة والوثائق",
|
|
@@ -1343,14 +1969,66 @@ const ar = {
|
|
|
1343
1969
|
removeFromFavorites: "إزالة {{name}} من المفضلة",
|
|
1344
1970
|
},
|
|
1345
1971
|
topbar: {
|
|
1972
|
+
openAssistant: "فتح مساعد {{name}}",
|
|
1973
|
+
offline: "غير متصل",
|
|
1974
|
+
usersOnline: "المستخدمون المتصلون الآن",
|
|
1975
|
+
switchView: "تبديل العرض",
|
|
1976
|
+
switchObject: "تبديل الكائن",
|
|
1977
|
+
connection: {
|
|
1978
|
+
connected: "متصل",
|
|
1979
|
+
connecting: "جارٍ الاتصال...",
|
|
1980
|
+
reconnecting: "جارٍ إعادة الاتصال...",
|
|
1981
|
+
disconnected: "منقطع",
|
|
1982
|
+
error: "خطأ في الاتصال",
|
|
1983
|
+
},
|
|
1984
|
+
stage: {
|
|
1985
|
+
preview: "معاينة",
|
|
1986
|
+
beta: "إصدار تجريبي",
|
|
1987
|
+
tooltip: "هذه المنصة في مرحلة المعاينة — وقد تتغير الميزات.",
|
|
1988
|
+
},
|
|
1346
1989
|
aiAssistant: "مساعد الذكاء الاصطناعي",
|
|
1347
1990
|
designInStudio: "التصميم في Studio",
|
|
1348
1991
|
},
|
|
1349
1992
|
home: {
|
|
1993
|
+
build: {
|
|
1994
|
+
title: "إنشاء تطبيق",
|
|
1995
|
+
subtitle: "ابدأ من الصفر — صمّم الكائنات والنماذج والأتمتة والواجهات.",
|
|
1996
|
+
},
|
|
1997
|
+
template: {
|
|
1998
|
+
title: "ابدأ من قالب",
|
|
1999
|
+
subtitle: "ثبّت تطبيق قالب من السوق وخصّصه.",
|
|
2000
|
+
},
|
|
2001
|
+
welcomeAdminDescription: "صف نشاطك التجاري في جملة واحدة — وسيولّد الذكاء الاصطناعي الكائنات والشاشات وواجهات البرمجة وأدوات الوكيل. أو أعدّها بنفسك من القائمة على اليسار.",
|
|
2002
|
+
welcomeAdminDescriptionNoBuild: "أعدّ تطبيقك الأول من قائمة الإدارة على اليسار. وبمجرد توفر البيانات، يمكن لمساعد الذكاء الاصطناعي مساعدتك في استكشافها.",
|
|
2003
|
+
welcomeAdminDescriptionNoAi: "أعدّ تطبيقك الأول من قائمة الإدارة على اليسار.",
|
|
2004
|
+
noAppsTitle: "لا توجد تطبيقات بعد",
|
|
2005
|
+
noAppsDescription: "يجري إعداد مساحة عملك — وستظهر هنا التطبيقات التي يشاركها معك المسؤول.",
|
|
2006
|
+
buildWithAI: "الإنشاء بالذكاء الاصطناعي",
|
|
2007
|
+
askAI: "اسأل الذكاء الاصطناعي",
|
|
2008
|
+
recoveryReminder: {
|
|
2009
|
+
message: "عيّن كلمة مرور للاسترداد كي تتمكن من تسجيل الدخول إذا تعذّر الدخول الموحّد في أي وقت.",
|
|
2010
|
+
cta: "تعيين كلمة المرور",
|
|
2011
|
+
dismiss: "تجاهل",
|
|
2012
|
+
},
|
|
2013
|
+
pendingDrafts: {
|
|
2014
|
+
message: "لديك {{count}} من التغييرات غير المنشورة — انشرها لتصبح فعّالة.",
|
|
2015
|
+
cta: "نشر",
|
|
2016
|
+
publishing: "جارٍ النشر…",
|
|
2017
|
+
published: "تم النشر! تغييراتك فعّالة الآن.",
|
|
2018
|
+
publishFailed: "فشل النشر",
|
|
2019
|
+
},
|
|
1350
2020
|
title: "الرئيسية",
|
|
1351
2021
|
subtitle: "لوحة تحكم مساحة العمل",
|
|
1352
2022
|
nav: "الرئيسية",
|
|
1353
2023
|
allApps: "جميع التطبيقات",
|
|
2024
|
+
yourApps: "تطبيقاتك",
|
|
2025
|
+
showMoreApps: "المزيد",
|
|
2026
|
+
showLess: "عرض أقل",
|
|
2027
|
+
continueEmpty: "ستظهر هنا العناصر التي تفتحها.",
|
|
2028
|
+
actionCenter: {
|
|
2029
|
+
title: "يتطلب انتباهك",
|
|
2030
|
+
empty: "لقد أنجزت كل شيء",
|
|
2031
|
+
},
|
|
1354
2032
|
loading: "جارٍ تحميل مساحة العمل...",
|
|
1355
2033
|
recent: "الأخيرة",
|
|
1356
2034
|
starred: "المميزة بنجمة",
|
|
@@ -1402,7 +2080,21 @@ const ar = {
|
|
|
1402
2080
|
},
|
|
1403
2081
|
},
|
|
1404
2082
|
layout: {
|
|
2083
|
+
systemNav: {
|
|
2084
|
+
systemSettings: "إعدادات النظام",
|
|
2085
|
+
applications: "التطبيقات",
|
|
2086
|
+
appMarketplace: "سوق التطبيقات",
|
|
2087
|
+
objectManager: "مدير الكائنات",
|
|
2088
|
+
users: "المستخدمون",
|
|
2089
|
+
organizations: "المؤسسات",
|
|
2090
|
+
roles: "الأدوار",
|
|
2091
|
+
configuration: "التهيئة",
|
|
2092
|
+
createApp: "إنشاء تطبيق",
|
|
2093
|
+
},
|
|
1405
2094
|
appSwitcher: {
|
|
2095
|
+
switchApplication: "تبديل التطبيق",
|
|
2096
|
+
appsAvailable: "{{count}} من التطبيقات المتاحة",
|
|
2097
|
+
editNavigation: "تحرير التنقل",
|
|
1406
2098
|
home: "الرئيسية",
|
|
1407
2099
|
addApp: "إضافة تطبيق",
|
|
1408
2100
|
editApp: "تعديل التطبيق",
|
|
@@ -1495,8 +2187,8 @@ const ar = {
|
|
|
1495
2187
|
uploading: "جارٍ الرفع…",
|
|
1496
2188
|
defaultActionTitle: "إجراء",
|
|
1497
2189
|
ok: "موافق",
|
|
1498
|
-
lookupPlaceholder: "
|
|
1499
|
-
lookupHelpText: "
|
|
2190
|
+
lookupPlaceholder: "معرف السجل لـ {{label}}",
|
|
2191
|
+
lookupHelpText: "لم يتم تكوين كائن مرجعي لهذه المعلمة، لذا فإن أداة اختيار السجلات غير متاحة. أدخل معرف السجل، أو اطلب من المسؤول تصحيح معلمة الإجراء.",
|
|
1500
2192
|
},
|
|
1501
2193
|
actionConfirm: {
|
|
1502
2194
|
title: "تأكيد الإجراء",
|
|
@@ -1521,6 +2213,8 @@ const ar = {
|
|
|
1521
2213
|
updateFailed: "تعذر تحديث التنقل",
|
|
1522
2214
|
},
|
|
1523
2215
|
objectActions: {
|
|
2216
|
+
resetPackageSetConfirm: "مجموعة الأذونات هذه تأتي ضمن حزمة مثبَّتة ولا يمكن إزالتها. الحذف يعيدها إلى الحالة الأصلية المرفقة بالحزمة ويتجاهل تخصيصاتك في هذه البيئة. هل تريد المتابعة؟",
|
|
2217
|
+
resetPackageSetSuccess: "تمت إعادة مجموعة الأذونات إلى حالتها الأصلية المرفقة بالحزمة",
|
|
1524
2218
|
deleteSuccess: "تم حذف {{label}} بنجاح",
|
|
1525
2219
|
deleteFailed: "تعذر حذف {{label}}",
|
|
1526
2220
|
noRecordId: "لم يتم توفير معرف سجل",
|
|
@@ -1685,6 +2379,7 @@ const ar = {
|
|
|
1685
2379
|
},
|
|
1686
2380
|
},
|
|
1687
2381
|
organizations: {
|
|
2382
|
+
create: "إنشاء مساحة عمل",
|
|
1688
2383
|
mine: "مؤسساتي",
|
|
1689
2384
|
title: "المؤسسات",
|
|
1690
2385
|
heading: "مؤسساتك",
|
|
@@ -1698,6 +2393,11 @@ const ar = {
|
|
|
1698
2393
|
noMatches: "لا توجد مؤسسات تطابق بحثك.",
|
|
1699
2394
|
},
|
|
1700
2395
|
notifications: {
|
|
2396
|
+
regionLabel: "الإشعارات",
|
|
2397
|
+
groupCount: "{{count}} من الإشعارات",
|
|
2398
|
+
groupUnread: "{{count}} غير مقروء",
|
|
2399
|
+
groupMarkRead: "تعليم كمقروء",
|
|
2400
|
+
groupMarkReadTitle: "تعليم كل هذا النوع كمقروء",
|
|
1701
2401
|
empty: "لا توجد إشعارات",
|
|
1702
2402
|
markAllRead: "تعليم الكل كمقروء",
|
|
1703
2403
|
viewAll: "عرض جميع الإشعارات",
|
|
@@ -1816,7 +2516,103 @@ const ar = {
|
|
|
1816
2516
|
done: 'تم — إخفاء',
|
|
1817
2517
|
},
|
|
1818
2518
|
},
|
|
2519
|
+
excelImport: {
|
|
2520
|
+
noImportableFields: "لا تحتوي هذه الكائن على حقول قابلة للاستيراد.",
|
|
2521
|
+
schemaReadFailed: "تعذّرت قراءة مخطط الكائن.",
|
|
2522
|
+
imported: "تم استيراد {{count}} صف إلى {{object}}.",
|
|
2523
|
+
importFrom: "استيراد الصفوف الفعلية من",
|
|
2524
|
+
into: "إلى",
|
|
2525
|
+
opening: "جارٍ الفتح…",
|
|
2526
|
+
importAction: "استيراد",
|
|
2527
|
+
dismiss: "تجاهل",
|
|
2528
|
+
},
|
|
2529
|
+
cloudOnboarding: {
|
|
2530
|
+
hintCreate: "أنشئ بيئتك الأولى — مساحة عمل خاصة لها رابطها وقاعدة بياناتها وخطتها. يجري بناء التطبيقات داخلها.",
|
|
2531
|
+
hintReady: "بيئة الإنتاج جاهزة. افتحها لبناء تطبيقاتك وتشغيلها — كل ذلك يحدث داخل البيئة.",
|
|
2532
|
+
createEnvironment: "أنشئ بيئتك",
|
|
2533
|
+
openProduction: "فتح بيئة الإنتاج",
|
|
2534
|
+
manageEnvironments: "إدارة البيئات",
|
|
2535
|
+
},
|
|
2536
|
+
aiModelStatus: {
|
|
2537
|
+
summary: "يستخدم الإنشاء / السؤال {{conversational}} ({{conversationalSource}})؛ ويستخدم الإخراج المهيكل {{structured}} ({{structuredSource}}).",
|
|
2538
|
+
summaryRouting: "سياسة التوجيه: الخطط المجانية ← {{free}}، الخطط المدفوعة ← {{paid}}.",
|
|
2539
|
+
modelUnknown: "غير معروف",
|
|
2540
|
+
sourceUnknown: "لم يبلّغ عنه المحوّل",
|
|
2541
|
+
rowConversational: "نموذج Build / Ask",
|
|
2542
|
+
rowStructured: "مُهيكل (blueprint / seed)",
|
|
2543
|
+
rowReasoning: "مستوى الاستدلال",
|
|
2544
|
+
readFailed: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال. قد لا تُشغّل هذه البيئة خدمة ذكاء اصطناعي، أو قد لا تملك صلاحية ai:read.",
|
|
2545
|
+
readFailedWithStatus: "تعذّرت قراءة نموذج الذكاء الاصطناعي الفعّال (HTTP {{status}}). قد لا تُشغّل هذه البيئة خدمة ذكاء اصطناعي، أو قد لا تملك صلاحية ai:read.",
|
|
2546
|
+
overridesInEffect: "التجاوزات السارية: ",
|
|
2547
|
+
noOverrides: "لا شيء — يجري تشغيل القيم الافتراضية للكود المنشور.",
|
|
2548
|
+
adapter: "المحوّل: ",
|
|
2549
|
+
sourceCodeDefault: "القيمة الافتراضية في الكود (بدون تجاوز env)",
|
|
2550
|
+
sourceInherits: "مثل build/ask",
|
|
2551
|
+
sourcePinned: "مثبّت بواسطة {{source}}",
|
|
2552
|
+
},
|
|
2553
|
+
chatbotError: {
|
|
2554
|
+
title: "فشل الرد",
|
|
2555
|
+
fallbackDetail: "حدث خطأ ما. يرجى المحاولة مرة أخرى.",
|
|
2556
|
+
details: "التفاصيل",
|
|
2557
|
+
hide: "إخفاء",
|
|
2558
|
+
retry: "إعادة المحاولة",
|
|
2559
|
+
},
|
|
2560
|
+
chatbotQuota: {
|
|
2561
|
+
title: "الترقية مطلوبة",
|
|
2562
|
+
fallbackMessage: "لقد بلغت حصتك من الذكاء الاصطناعي.",
|
|
2563
|
+
buyCredits: "شراء باقة أرصدة",
|
|
2564
|
+
upgradePlan: "ترقية الخطة",
|
|
2565
|
+
},
|
|
2566
|
+
environment: {
|
|
2567
|
+
addEnvironment: "إضافة بيئة",
|
|
2568
|
+
setUpProduction: "إعداد بيئة الإنتاج",
|
|
2569
|
+
addDevelopment: "إضافة بيئة تطوير",
|
|
2570
|
+
},
|
|
2571
|
+
cloudConnection: {
|
|
2572
|
+
checking: "جارٍ التحقق من الاتصال…",
|
|
2573
|
+
retry: "إعادة المحاولة",
|
|
2574
|
+
errors: {
|
|
2575
|
+
expired: "انتهت صلاحية الطلب قبل الموافقة عليه. ابدأ من جديد.",
|
|
2576
|
+
bindFailed: "فشل الربط.",
|
|
2577
|
+
deviceCodeFailed: "فشل طلب رمز الجهاز.",
|
|
2578
|
+
},
|
|
2579
|
+
waiting: {
|
|
2580
|
+
popupOpened: "وافق على الاتصال في النافذة التي فُتحت للتو — سيتم تحديث هذه الصفحة تلقائيًا.",
|
|
2581
|
+
polling: "في انتظار الموافقة في وحدة التحكم السحابية…",
|
|
2582
|
+
openApproval: "فتح صفحة الموافقة",
|
|
2583
|
+
copy: "نسخ",
|
|
2584
|
+
copied: "تم النسخ",
|
|
2585
|
+
codePrefilled: "الرمز مُعبَّأ مسبقًا في صفحة الموافقة.",
|
|
2586
|
+
openItHere: "لم تظهر النافذة؟ افتحها من هنا",
|
|
2587
|
+
cancel: "إلغاء",
|
|
2588
|
+
},
|
|
2589
|
+
bound: {
|
|
2590
|
+
title: "متصل بـ ObjectStack Cloud",
|
|
2591
|
+
runtime: "بيئة التشغيل",
|
|
2592
|
+
organization: "المؤسسة",
|
|
2593
|
+
approvedBy: "تمت الموافقة بواسطة",
|
|
2594
|
+
runtimeId: "معرّف بيئة التشغيل",
|
|
2595
|
+
environment: "البيئة",
|
|
2596
|
+
since: "متصل منذ",
|
|
2597
|
+
privatePackages: "تظهر الآن الحزم الخاصة بمؤسستك في السوق ضمن «مؤسستك».",
|
|
2598
|
+
disconnect: "قطع الاتصال",
|
|
2599
|
+
},
|
|
2600
|
+
unbound: {
|
|
2601
|
+
title: "غير متصل",
|
|
2602
|
+
body: "اربط بيئة التشغيل هذه بمستوى تحكم ObjectStack لتصفّح الحزم الخاصة بمؤسستك وتثبيتها هنا. الموافقة بنقرة واحدة في حسابك السحابي — دون إدخال أي معرّفات أو بيانات اعتماد في هذه الصفحة.",
|
|
2603
|
+
connect: "اتصال",
|
|
2604
|
+
},
|
|
2605
|
+
},
|
|
1819
2606
|
marketplace: {
|
|
2607
|
+
suggestedBindings: {
|
|
2608
|
+
promptEveryone: "يقترح هذا التطبيق منح «{{set}}» لجميع المستخدمين المسجّلين (موضع Everyone).",
|
|
2609
|
+
promptGuest: "يقترح هذا التطبيق منح «{{set}}» للزوار غير المصادَق عليهم (موضع Guest).",
|
|
2610
|
+
confirm: "منح",
|
|
2611
|
+
confirming: "جارٍ المنح…",
|
|
2612
|
+
dismiss: "تجاهل",
|
|
2613
|
+
confirmedToast: "تم الآن منح «{{set}}» إلى {{anchor}}.",
|
|
2614
|
+
dismissedToast: "تم تجاهل اقتراح «{{set}}».",
|
|
2615
|
+
},
|
|
1820
2616
|
title: "سوق التطبيقات",
|
|
1821
2617
|
subtitle: "استعرض التطبيقات المعتمدة المنشورة في كتالوج ObjectStack. انقر على تطبيق لرؤية التفاصيل وتثبيته في أحد بيئاتك.",
|
|
1822
2618
|
searchPlaceholder: "ابحث عن التطبيقات بالاسم أو معرف المانيفست…",
|
|
@@ -1868,6 +2664,7 @@ const ar = {
|
|
|
1868
2664
|
updateAvailable: 'يتوفر تحديث',
|
|
1869
2665
|
},
|
|
1870
2666
|
action: {
|
|
2667
|
+
installed: "مثبَّت",
|
|
1871
2668
|
install: "تثبيت",
|
|
1872
2669
|
reinstall: "إعادة التثبيت",
|
|
1873
2670
|
working: "جارٍ المعالجة…",
|
|
@@ -1938,6 +2735,14 @@ const ar = {
|
|
|
1938
2735
|
yearsAgo: "منذ {{count}} سنة(سنوات)",
|
|
1939
2736
|
},
|
|
1940
2737
|
},
|
|
2738
|
+
approvals: {
|
|
2739
|
+
approve: 'الموافقة',
|
|
2740
|
+
reject: 'رفض',
|
|
2741
|
+
comment: 'تعليق (اختياري)',
|
|
2742
|
+
approveSuccess: 'تمت الموافقة',
|
|
2743
|
+
rejectSuccess: 'تم الرفض',
|
|
2744
|
+
rejectConfirm: 'هل تريد رفض طلب الموافقة هذا؟',
|
|
2745
|
+
},
|
|
1941
2746
|
approvalsInbox: {
|
|
1942
2747
|
loadMore: 'تحميل المزيد',
|
|
1943
2748
|
loadingMore: 'جارٍ التحميل…',
|
|
@@ -1962,13 +2767,28 @@ const ar = {
|
|
|
1962
2767
|
slaRemaining: 'SLA المتبقي {{dur}}',
|
|
1963
2768
|
slaOverdue: 'SLA متأخر {{dur}}',
|
|
1964
2769
|
actReassign: 'إعادة إسناد',
|
|
2770
|
+
reassignFromTo: 'من {{from}} إلى {{to}}',
|
|
1965
2771
|
actRemind: 'تذكير',
|
|
1966
2772
|
actRequestInfo: 'طلب معلومات',
|
|
1967
2773
|
actComment: 'تعليق',
|
|
1968
2774
|
stepProgress: 'خطوات الموافقة',
|
|
1969
2775
|
prevRequest: 'السابق',
|
|
1970
2776
|
nextRequest: 'التالي',
|
|
1971
|
-
positionOf: '{{index}} من {{total}}',
|
|
2777
|
+
positionOf: 'الطلب {{index}} من {{total}}',
|
|
2778
|
+
progressApprovals: 'الموافقات — {{got}} من {{need}}',
|
|
2779
|
+
progressGroups: 'تقدم التوقيعات — {{got}} من {{need}} مجموعات',
|
|
2780
|
+
progressEligible: '{{count}} معتمِد مؤهل',
|
|
2781
|
+
progressBar: 'تقدم القرار',
|
|
2782
|
+
declaredActions: 'الإجراءات',
|
|
2783
|
+
attachmentChip: 'مرفق',
|
|
2784
|
+
attachmentOpenFailed: 'تعذّر فتح المرفق — يرجى المحاولة مرة أخرى',
|
|
2785
|
+
approveOneTitle: 'الموافقة على "{{title}}"؟',
|
|
2786
|
+
approveOneBody: 'ستتم الموافقة على الطلب بهويتك. لإضافة تعليق أو مرفق، افتح الطلب.',
|
|
2787
|
+
flowOrigin: 'بدأها التدفق',
|
|
2788
|
+
sortBy: 'ترتيب',
|
|
2789
|
+
sortRecent: 'الأحدث أولاً',
|
|
2790
|
+
sortOldest: 'الأقدم أولاً',
|
|
2791
|
+
sortAmount: 'المبلغ (تنازلي)',
|
|
1972
2792
|
quickPhrase1: 'موافق — مستوفٍ للمتطلبات.',
|
|
1973
2793
|
quickPhrase2: 'موافقة مشروطة — يرجى متابعة التنفيذ.',
|
|
1974
2794
|
quickPhrase3: 'يرجى إضافة مستندات داعمة وإعادة التقديم.',
|
|
@@ -2097,6 +2917,10 @@ const ar = {
|
|
|
2097
2917
|
retry: 'إعادة المحاولة',
|
|
2098
2918
|
},
|
|
2099
2919
|
draftBar: {
|
|
2920
|
+
messageClean: "معاينة المسودة — لا توجد تغييرات غير منشورة؛ كل ما هنا منشور بالفعل.",
|
|
2921
|
+
sampleDataTitle: "تظهر البيانات التجريبية بعد النشر",
|
|
2922
|
+
sampleDataBody: "أنت تعاين بنية تطبيقك. انشره لتحميل سجلات تجريبية وتفعيله.",
|
|
2923
|
+
publishCta: "انشر لتراه مباشرةً",
|
|
2100
2924
|
message: 'معاينة المسودة — أنت ترى تغييرات غير منشورة. لن يصبح أي شيء فعليًا حتى تنشر.',
|
|
2101
2925
|
publish: 'نشر',
|
|
2102
2926
|
publishing: 'جارٍ النشر…',
|