7bfb4afd1a
User asked for three things in the executive-meetings module:
1. Remove the "daily number" input from the add/edit dialog — numbering
is auto-assigned by the server already, so the field was just noise.
2. Add an "اجتماع خارجي" (external meeting) toggle. When ON, the row
is force-tinted red in the schedule grid.
3. External meetings must be excluded from the auto-postpone flow:
the alert "Postpone" button is disabled, and the cascade shift
skips them as followers.
Changes
- lib/db/src/schema/executive-meetings.ts
+ `is_external boolean not null default false` column. Pushed via
drizzle-kit (no destructive migration; defaults backfill).
- artifacts/api-server/src/routes/executive-meetings.ts
+ `isExternal` added to base zod fields, POST insert, PATCH update.
+ POST/PATCH force `rowColor='red'` when `isExternal=true`.
+ POST /:id/postpone-minutes rejects external meetings with
HTTP 409 + code `external_meeting_no_auto_postpone`.
+ `computeCascadeShift` filters out external followers (preview +
writer stay in lockstep, as the comment promises).
- artifacts/tx-os/src/pages/executive-meetings.tsx
+ Meeting type + MeetingFormState gain `isExternal`; dropped the
`dailyNumber` field from the form state entirely.
+ `emptyMeetingForm` / `openEdit` updated; ManageSection.save() and
the inline ScheduleSection save body now send `isExternal` and
never send `dailyNumber`.
+ MeetingFormDialog: removed the daily-number FormRow and added a
Switch-based external-meeting FormRow with localized hint.
+ `rowColors` memo coerces to "red" whenever `m.isExternal`.
+ Audit-diff "interesting" list now includes `isExternal`.
- artifacts/tx-os/src/components/executive-meetings/upcoming-meeting-alert.tsx
+ Meeting type gains optional `isExternal`.
+ "Postpone" button disabled + tooltip when meeting is external.
- locales: added `field.isExternal`, `field.isExternalHint`,
`field.isExternalOn/Off`, and `alert.externalCannotPostpone` in
both ar.json and en.json. Existing dailyNumber keys kept (still
referenced by the manage-table column header / cell display).
Post-review hardening (from architect pass)
- PATCH now coerces rowColor → 'red' for any PATCH that touches a row
that is (or becomes) external. Prevents PDF/export paths that read
raw rowColor from showing a non-red tint for externals.
- Schedule row quick-actions popover: the "Postpone" button is now
disabled with a localized tooltip when the meeting is external,
matching the upcoming-meeting alert behavior.
- PostponeDialog.handleErr maps the 409 code
`external_meeting_no_auto_postpone` to the localized
`alert.externalCannotPostpone` toast so users see a real reason
instead of the raw English error string.
Notes
- The `dailyNumber` column stays in DB (heavily used for slot
persistence and the unique index); only the form input was removed.
Server's `nextDailyNumber()` already auto-assigns when the field is
absent on POST, and PATCH leaves it untouched when absent.
- Two pre-existing TS errors remain in api-server (`isHighlighted`
type-inference quirk on `z.union(...).transform(...)` and a
font_settings comparison) — not in scope for this task.
- Tests not added; verification by typecheck on changed surfaces and
workflow-restart smoke. No e2e harness was wired.
1661 lines
84 KiB
JSON
1661 lines
84 KiB
JSON
{
|
||
"nav": {
|
||
"home": "الرئيسية",
|
||
"services": "الخدمات",
|
||
"notifications": "الإشعارات",
|
||
"admin": "لوحة التحكم",
|
||
"logout": "تسجيل الخروج"
|
||
},
|
||
"auth": {
|
||
"login": "تسجيل الدخول",
|
||
"register": "إنشاء حساب",
|
||
"username": "اسم المستخدم",
|
||
"email": "البريد الإلكتروني",
|
||
"password": "كلمة المرور",
|
||
"loginButton": "دخول",
|
||
"registerButton": "تسجيل",
|
||
"welcomeBack": "مرحباً بعودتك",
|
||
"createAccount": "حساب جديد",
|
||
"registrationClosed": "إنشاء الحسابات العامة مغلق حالياً. تواصل مع مدير النظام.",
|
||
"displayNameAr": "الاسم (عربي)",
|
||
"displayNameEn": "الاسم (إنجليزي)",
|
||
"subtitle": "سجّل دخولك للمتابعة",
|
||
"signingIn": "جارٍ الدخول...",
|
||
"noAccount": "ليس لديك حساب؟",
|
||
"showPassword": "إظهار كلمة المرور",
|
||
"hidePassword": "إخفاء كلمة المرور",
|
||
"errRequired": "الرجاء إدخال اسم المستخدم وكلمة المرور.",
|
||
"errInvalid": "اسم مستخدم أو كلمة مرور غير صحيحة.",
|
||
"forgotPassword": "نسيت كلمة المرور؟",
|
||
"forgot": {
|
||
"title": "إعادة تعيين كلمة المرور",
|
||
"subtitle": "أدخل اسم المستخدم أو البريد الإلكتروني وسنرسل لك رابطاً لإعادة تعيين كلمة المرور.",
|
||
"identifier": "اسم المستخدم أو البريد الإلكتروني",
|
||
"identifierPlaceholder": "you@example.com",
|
||
"submit": "إرسال رابط الاستعادة",
|
||
"sending": "جارٍ الإرسال...",
|
||
"errRequired": "الرجاء إدخال اسم المستخدم أو البريد الإلكتروني.",
|
||
"errGeneric": "حدث خطأ ما. حاول مرة أخرى.",
|
||
"successMessage": "تم استلام طلبك. سيقوم المسؤول بمشاركة رابط إعادة التعيين معك قريباً.",
|
||
"adminNotice": "إرسال البريد الإلكتروني غير مفعّل بعد لهذه المساحة، لذا سيصدر المسؤول رابط إعادة تعيين لمرة واحدة يدوياً.",
|
||
"backToLogin": "العودة إلى تسجيل الدخول"
|
||
},
|
||
"reset": {
|
||
"title": "تعيين كلمة مرور جديدة",
|
||
"subtitle": "اختر كلمة مرور جديدة لحسابك.",
|
||
"newPassword": "كلمة المرور الجديدة",
|
||
"confirmPassword": "تأكيد كلمة المرور",
|
||
"submit": "تحديث كلمة المرور",
|
||
"saving": "جارٍ الحفظ...",
|
||
"errMinLength": "يجب أن تكون كلمة المرور ٦ أحرف على الأقل.",
|
||
"errMismatch": "كلمتا المرور غير متطابقتين.",
|
||
"errGeneric": "تعذّر إعادة تعيين كلمة المرور. قد يكون الرابط منتهي الصلاحية.",
|
||
"invalidToken": "رابط إعادة التعيين غير صالح أو منتهي الصلاحية.",
|
||
"requestNew": "طلب رابط جديد",
|
||
"successMessage": "تم تحديث كلمة المرور بنجاح. يمكنك تسجيل الدخول بكلمة المرور الجديدة.",
|
||
"goToLogin": "الذهاب لتسجيل الدخول"
|
||
},
|
||
"heroTitle": "مرحباً بك في منصتك الموحدة.",
|
||
"heroSubtitle": "سجّل دخولك لإدارة كل شيء من مكان واحد.",
|
||
"feat1": "كل أدواتك في لوحة تحكم واحدة",
|
||
"feat2": "تحديثات لحظية",
|
||
"feat3": "وصول آمن بالجلسات",
|
||
"rights": "جميع الحقوق محفوظة."
|
||
},
|
||
"home": {
|
||
"myApps": "تطبيقاتي",
|
||
"noApps": "لا توجد تطبيقات بعد",
|
||
"noAppsHint": "ستظهر هنا التطبيقات التي تملك صلاحية الوصول إليها.",
|
||
"greeting": {
|
||
"morning": "صباح الخير، {{name}}",
|
||
"afternoon": "مساء الخير، {{name}}",
|
||
"evening": "مساء الخير، {{name}}"
|
||
},
|
||
"stats": {
|
||
"apps": "التطبيقات",
|
||
"services": "الخدمات",
|
||
"alerts": "التنبيهات"
|
||
},
|
||
"clockStyle": {
|
||
"label": "نمط الساعة",
|
||
"showWidget": "إظهار ساعة الحائط في الشاشة الرئيسية",
|
||
"showTopbar": "إظهار الساعة في الشريط العلوي",
|
||
"hideWidget": "إخفاء الساعة",
|
||
"hourFormat": {
|
||
"label": "صيغة الساعة",
|
||
"h12": "12 ساعة (ص/م)",
|
||
"h24": "24 ساعة"
|
||
},
|
||
"options": {
|
||
"full": "كامل (الوقت واليوم والتقويمان الهجري والميلادي)",
|
||
"digital": "رقمي مع الثواني",
|
||
"digital-no-seconds": "رقمي بدون ثواني",
|
||
"analog": "ساعة عقاربية",
|
||
"minimal": "مبسّط (الوقت فقط)"
|
||
}
|
||
}
|
||
},
|
||
"services": {
|
||
"title": "الخدمات",
|
||
"available": "متاح",
|
||
"unavailable": "غير متاح",
|
||
"price": "السعر",
|
||
"noServices": "لا توجد خدمات متاحة",
|
||
"category": "التصنيف",
|
||
"free": "مجاني",
|
||
"order": "اطلب",
|
||
"orderModalTitle": "تأكيد الطلب",
|
||
"orderNotes": "ملاحظات (اختياري)",
|
||
"orderNotesPlaceholder": "أي ملاحظات إضافية؟",
|
||
"orderNotesCounter": "{{count}}/500",
|
||
"addNotes": "إضافة ملاحظات",
|
||
"hideNotes": "إخفاء",
|
||
"placeOrder": "إرسال",
|
||
"placing": "جارٍ الإرسال...",
|
||
"orderPlaced": "تم إرسال طلبك",
|
||
"orderFailed": "تعذّر إرسال الطلب",
|
||
"myOrdersLink": "طلباتي",
|
||
"editMode": {
|
||
"hint": "اسحب لإعادة الترتيب",
|
||
"done": "تم",
|
||
"saveFailed": "تعذّر حفظ الترتيب الجديد"
|
||
}
|
||
},
|
||
"myOrders": {
|
||
"title": "طلباتي",
|
||
"loadError": "تعذّر تحميل الطلبات. حاول مرة أخرى.",
|
||
"retry": "إعادة المحاولة",
|
||
"back": "رجوع",
|
||
"empty": "لا توجد طلبات بعد",
|
||
"emptyHint": "ابدأ من كتالوج الخدمات.",
|
||
"browseServices": "تصفّح الخدمات",
|
||
"notesLabel": "ملاحظات:",
|
||
"cancel": "إلغاء الطلب",
|
||
"cancelConfirmTitle": "إلغاء هذا الطلب؟",
|
||
"cancelConfirm": "نعم، إلغاء",
|
||
"keep": "احتفظ به",
|
||
"cancelled": "تم إلغاء الطلب",
|
||
"cancelFailed": "تعذّر إلغاء الطلب",
|
||
"restoreFailed": "تعذّر استعادة الطلب",
|
||
"delete": "حذف",
|
||
"reorder": "اطلب مجددًا",
|
||
"deleteFailed": "تعذّر حذف الطلب",
|
||
"undo": "تراجع",
|
||
"undone": "تمت الاستعادة"
|
||
},
|
||
"orderStatus": {
|
||
"pending": "بانتظار المستلِم",
|
||
"received": "تم الاستلام",
|
||
"preparing": "قيد التحضير",
|
||
"completed": "مكتمل",
|
||
"cancelled": "ملغى"
|
||
},
|
||
"incomingOrders": {
|
||
"title": "الطلبات الواردة",
|
||
"linkLabel": "الطلبات الواردة",
|
||
"subtitleUnclaimed": "طلبات بانتظار الاستلام",
|
||
"subtitleMine": "طلباتي الجارية",
|
||
"empty": "ما في طلبات حالياً",
|
||
"emptyHint": "ستظهر هنا الطلبات الجديدة فور وصولها.",
|
||
"loadError": "تعذّر تحميل الطلبات الواردة.",
|
||
"retry": "إعادة المحاولة",
|
||
"noAccess": "ليس لديك صلاحية لاستلام الطلبات.",
|
||
"back": "رجوع",
|
||
"ageJustNow": "الآن",
|
||
"ageMinutes": "منذ {{count}} د",
|
||
"ageHours": "منذ {{count}} س",
|
||
"ageDays": "منذ {{count}} يوم",
|
||
"from": "من",
|
||
"confirmReceipt": "استلام الطلب",
|
||
"confirming": "جارٍ التأكيد...",
|
||
"markPreparing": "بدء التحضير",
|
||
"markCompleted": "إنجاز",
|
||
"cancel": "إلغاء",
|
||
"alreadyClaimed": "استلمه شخص آخر قبلك",
|
||
"orderUnavailable": "هذا الطلب لم يعد متاحاً",
|
||
"actionFailed": "تعذّر تنفيذ الإجراء",
|
||
"claimed": "تم استلام الطلب",
|
||
"marked": "تم تحديث الحالة",
|
||
"cancelled": "تم إلغاء الطلب",
|
||
"undo": "تراجع",
|
||
"undone": "تمت الاستعادة",
|
||
"restoreFailed": "تعذّر استعادة الطلب",
|
||
"select": "تحديد",
|
||
"selectAll": "تحديد الكل",
|
||
"clearSelection": "إلغاء التحديد",
|
||
"selectedCount_one": "تم تحديد طلب واحد",
|
||
"selectedCount_other": "تم تحديد {{count}} طلبات",
|
||
"delete": "حذف",
|
||
"deleteConfirmTitle_one": "حذف طلب واحد؟",
|
||
"deleteConfirmTitle_other": "حذف {{count}} طلبات؟",
|
||
"deleteConfirmBody_one": "سيتم حذف طلب واحد نهائياً. لا يمكن التراجع.",
|
||
"deleteConfirmBody_other": "سيتم حذف {{count}} طلبات نهائياً. لا يمكن التراجع.",
|
||
"deleted_one": "تم حذف طلب واحد",
|
||
"deleted_other": "تم حذف {{count}} طلبات",
|
||
"deleteFailed": "تعذّر حذف الطلبات",
|
||
"deletePartial": "تم حذف {{deleted}} من {{total}}، تعذّر حذف الباقي"
|
||
},
|
||
"settingsPanel": {
|
||
"title": "الإعدادات",
|
||
"section": {
|
||
"dock": "شريط التطبيقات",
|
||
"language": "اللغة",
|
||
"notifications": "الإشعارات",
|
||
"sound": "الصوت",
|
||
"clock": "الساعة"
|
||
},
|
||
"lang": {
|
||
"ar": "العربية",
|
||
"en": "English"
|
||
},
|
||
"sound": {
|
||
"master": "تشغيل أصوات الإشعارات"
|
||
},
|
||
"dock": {
|
||
"show": "إظهار شريط التطبيقات السفلي"
|
||
}
|
||
},
|
||
"notifSettings": {
|
||
"title": "أصوات الإشعارات",
|
||
"mute": "كتم الإشعارات",
|
||
"unmute": "إلغاء كتم الإشعارات",
|
||
"globalSound": "تشغيل صوت عند التنبيه",
|
||
"volume": "مستوى الصوت",
|
||
"ordersEnabled": "صوت للطلبات الجديدة",
|
||
"meetingsEnabled": "صوت لتذكيرات الاجتماعات",
|
||
"notesEnabled": "صوت للملاحظات الواردة",
|
||
"vibrationOrder": "اهتزاز عند الطلبات الجديدة",
|
||
"vibrationMeeting": "اهتزاز عند تذكيرات الاجتماعات",
|
||
"vibrationNote": "اهتزاز عند الملاحظات الواردة",
|
||
"preview": "تجربة",
|
||
"quickMute": "كتم الإشعارات",
|
||
"quickUnmute": "إلغاء كتم الإشعارات",
|
||
"mutedToast": "تم كتم الإشعارات",
|
||
"unmutedToast": "تم إلغاء كتم الإشعارات",
|
||
"autoplayHintTitle": "تحتاج الأصوات إلى نقرة",
|
||
"autoplayHint": "انقر في أي مكان لتفعيل أصوات الإشعارات.",
|
||
"autoplayHintIos": "اضغط في أي مكان لتفعيل الأصوات. إذا ما زلت لا تسمعها، تأكد إن مستوى صوت الوسائط مرفوع (نفس الصوت اللي يشغّل اليوتيوب).",
|
||
"push": {
|
||
"title": "إشعارات شاشة القفل",
|
||
"desc": "استقبل التنبيهات على الشاشة الرئيسية أو شاشة القفل حتى لو كان Tx مغلقاً.",
|
||
"enable": "تفعيل",
|
||
"disable": "إيقاف",
|
||
"enabled": "مفعّل",
|
||
"denied": "محظور — فعّله من إعدادات الجهاز",
|
||
"unsupported": "غير مدعوم على هذا الجهاز. على الآيباد، أضف Tx إلى الشاشة الرئيسية أولاً.",
|
||
"enableFailed": "تعذّر تفعيل الإشعارات. حاول مرة أخرى.",
|
||
"enableSuccess": "تم تفعيل الإشعارات",
|
||
"iosInstall": {
|
||
"title": "ثبّت Tx على الشاشة الرئيسية لاستقبال الإشعارات",
|
||
"desc": "الآيفون والآيباد لا يوصّلان الإشعارات إلا لما يكون Tx مفتوحاً من أيقونة الشاشة الرئيسية، مو من تبويب Safari.",
|
||
"step1": "اضغط زر المشاركة في أسفل Safari.",
|
||
"step2": "اسحب لأسفل واضغط \"إضافة إلى الشاشة الرئيسية\".",
|
||
"step3": "افتح Tx من الأيقونة الجديدة، ثم فعّل الإشعارات من هنا."
|
||
},
|
||
"errors": {
|
||
"unsupported": "هذا المتصفح لا يدعم إشعارات شاشة القفل.",
|
||
"unsupported_ios_safari": "على الآيفون/الآيباد، افتح Tx من أيقونة الشاشة الرئيسية أولاً (مشاركة → إضافة إلى الشاشة الرئيسية)، ثم فعّل الإشعارات من داخل التطبيق.",
|
||
"permission_denied": "أذِن المتصفح للإشعارات مرفوض. افتح إعدادات الجهاز ← Tx وفعّل الإشعارات يدوياً.",
|
||
"permission_dismissed": "لم يتم منح الإذن بعد. اضغط \"تفعيل\" مرة أخرى واختر \"السماح\" في نافذة المتصفح.",
|
||
"vapid_unavailable": "تعذّر الاتصال بخادم الإشعارات. تأكّد من اتصالك ثم حاول مرة أخرى.",
|
||
"subscribe_failed": "تعذّر تسجيل الجهاز لاستقبال الإشعارات. حاول مرة أخرى.",
|
||
"server_rejected": "رفض الخادم تسجيل هذا الجهاز. حاول مرة أخرى أو أعد تسجيل الدخول."
|
||
}
|
||
},
|
||
"slot": {
|
||
"order": "الطلبات",
|
||
"meeting": "الاجتماعات",
|
||
"note": "الملاحظات"
|
||
},
|
||
"sounds": {
|
||
"ding": "رنين",
|
||
"chime": "نغمة",
|
||
"bell": "جرس",
|
||
"knock": "طرق",
|
||
"pop": "نقرة",
|
||
"alert": "تنبيه",
|
||
"beep": "صفير",
|
||
"soft": "هادئ"
|
||
}
|
||
},
|
||
"notifications": {
|
||
"title": "الإشعارات",
|
||
"markAllRead": "تحديد الكل كمقروء",
|
||
"noNotifications": "لا توجد إشعارات جديدة",
|
||
"unread": "غير مقروء"
|
||
},
|
||
"admin": {
|
||
"title": "لوحة التحكم",
|
||
"manageApps": "إدارة التطبيقات",
|
||
"manageServices": "إدارة الخدمات",
|
||
"manageUsers": "إدارة المستخدمين",
|
||
"appDisabled": "معطّل",
|
||
"addApp": "إضافة تطبيق",
|
||
"addService": "إضافة خدمة",
|
||
"addUser": "إضافة مستخدم",
|
||
"editApp": "تعديل التطبيق",
|
||
"editService": "تعديل الخدمة",
|
||
"editUser": "تعديل المستخدم",
|
||
"deleteConfirm": "هل أنت متأكد من الحذف؟",
|
||
"deleteApp": {
|
||
"title": "حذف التطبيق \"{{name}}\"؟",
|
||
"warning": "هذا التطبيق لا يزال قيد الاستخدام. حذفه سيؤثر على ما يلي:",
|
||
"forceHint": "سيؤدي ذلك إلى إلغاء وصول كل من يستخدمه وإزالة سجلّه. لا يمكن التراجع عن هذا الإجراء.",
|
||
"emptyBody": "هل أنت متأكد من حذف هذا التطبيق؟",
|
||
"groupCount": "{{count}} مجموعة تمنح هذا التطبيق حالياً",
|
||
"restrictionCount": "{{count}} قاعدة صلاحيات تقيّده",
|
||
"openCount": "{{count}} مرة فتح في السجل",
|
||
"confirm": "حذف",
|
||
"anyway": "حذف رغم ذلك"
|
||
},
|
||
"deleteService": {
|
||
"title": "حذف الخدمة \"{{name}}\"؟",
|
||
"warning": "هذه الخدمة لا تزال مرتبطة بطلبات. حذفها سيؤثر على ما يلي:",
|
||
"forceHint": "سيؤدي ذلك إلى حذف كل الطلبات المرتبطة نهائياً. لا يمكن التراجع عن هذا الإجراء.",
|
||
"emptyBody": "هل أنت متأكد من حذف هذه الخدمة؟",
|
||
"orderCount": "{{count}} طلب",
|
||
"confirm": "حذف",
|
||
"anyway": "حذف رغم ذلك"
|
||
},
|
||
"deleteUser": {
|
||
"title": "حذف المستخدم \"{{name}}\"؟",
|
||
"warning": "هذا المستخدم لديه بيانات. حذفه سيؤثر على ما يلي:",
|
||
"forceHint": "سيؤدي ذلك إلى حذف ملاحظاته وطلباته بشكل نهائي. لا يمكن التراجع عن هذا الإجراء.",
|
||
"emptyBody": "هل أنت متأكد من حذف هذا المستخدم؟",
|
||
"noteCount": "{{count}} ملاحظة",
|
||
"orderCount": "{{count}} طلب",
|
||
"confirm": "حذف",
|
||
"anyway": "حذف رغم ذلك"
|
||
},
|
||
"activate": "تفعيل",
|
||
"deactivate": "تعطيل",
|
||
"appName": "اسم التطبيق",
|
||
"appNameAr": "اسم التطبيق (عربي)",
|
||
"appNameEn": "اسم التطبيق (إنجليزي)",
|
||
"appSlug": "المعرف",
|
||
"appRoute": "المسار",
|
||
"appIcon": "الأيقونة",
|
||
"appColor": "اللون",
|
||
"appImage": "صورة",
|
||
"appExternalUrl": "رابط خارجي",
|
||
"appOpenMode": {
|
||
"label": "طريقة الفتح",
|
||
"internal": "صفحة داخلية (افتراضي)",
|
||
"external_tab": "فتح الرابط في تبويب جديد",
|
||
"external_iframe": "فتح الرابط داخل التطبيق"
|
||
},
|
||
"builtinPathLocked": "لا يمكن تغيير مسار التطبيقات المدمجة.",
|
||
"appSortOrder": "الترتيب",
|
||
"appPermissions": {
|
||
"title": "الصلاحيات المطلوبة",
|
||
"help": "يجب أن يمتلك المستخدم على الأقل واحدة منها ليرى التطبيق. اتركها فارغة لإلغاء التقييد.",
|
||
"none": "لا توجد صلاحيات مطلوبة — التطبيق ظاهر للجميع.",
|
||
"selectPlaceholder": "اختر صلاحية…",
|
||
"add": "إضافة",
|
||
"removeAria": "إزالة الصلاحية {{name}}",
|
||
"impactTitle": "معاينة الأثر",
|
||
"impactLoading": "جارٍ حساب الأثر…",
|
||
"impactError": "تعذّر تحميل معاينة الأثر. حاول مرة أخرى.",
|
||
"impactNone": "لن يفقد أي مستخدم حق الوصول. {{visible}} مستخدمًا يرون هذا التطبيق حاليًا.",
|
||
"impactSummary": "{{affected}} من أصل {{visible}} مستخدمًا يرون هذا التطبيق حاليًا سيفقدون حق الوصول.",
|
||
"impactViaGroups": "أعضاء هذه المجموعات يحتفظون بحق الوصول بغض النظر عن التغيير: {{groups}}.",
|
||
"confirmTitle": "تأكيد تغيير الصلاحيات",
|
||
"confirmBody": "إضافة هذا الاشتراط ستخفي التطبيق عن {{affected}} من أصل {{visible}} مستخدمًا يرونه حاليًا. يمكن التراجع عن هذا التغيير.",
|
||
"confirmAction": "إضافة على أي حال"
|
||
},
|
||
"serviceName": "اسم الخدمة",
|
||
"serviceNameAr": "اسم الخدمة (عربي)",
|
||
"serviceNameEn": "اسم الخدمة (إنجليزي)",
|
||
"serviceDescriptionAr": "الوصف (عربي)",
|
||
"serviceDescriptionEn": "الوصف (إنجليزي)",
|
||
"serviceAvailable": "متاح؟",
|
||
"serviceImageUrl": "رابط الصورة",
|
||
"serviceImage": "صورة الخدمة",
|
||
"uploadImage": "رفع صورة",
|
||
"replaceImage": "استبدال الصورة",
|
||
"uploading": "جاري الرفع...",
|
||
"uploadFailed": "فشل رفع الصورة",
|
||
"users": {
|
||
"searchPlaceholder": "ابحث باسم المستخدم أو البريد...",
|
||
"allGroups": "كل المجموعات",
|
||
"allStatuses": "كل الحالات",
|
||
"statusActive": "نشط",
|
||
"statusInactive": "موقوف",
|
||
"showing": "عرض {{count}} من أصل {{total}}",
|
||
"empty": "لا يوجد مستخدمون يطابقون الفلاتر.",
|
||
"editGroups": "تعديل المجموعات",
|
||
"editUserGroups": "تعديل مجموعات {{username}}",
|
||
"col": {
|
||
"username": "اسم المستخدم",
|
||
"email": "البريد",
|
||
"displayNameAr": "الاسم (عربي)",
|
||
"displayNameEn": "الاسم (إنجليزي)",
|
||
"language": "اللغة",
|
||
"createdAt": "تاريخ الإنشاء",
|
||
"groups": "المجموعات",
|
||
"actions": "إجراءات"
|
||
},
|
||
"review": {
|
||
"title": "مراجعة التغييرات",
|
||
"subtitle": "أكّد ما سيتم حفظه للمستخدم {{username}}.",
|
||
"noChanges": "لا توجد تغييرات للحفظ",
|
||
"groupsAdded": "مجموعات مُضافة",
|
||
"groupsRemoved": "مجموعات مُزالة",
|
||
"back": "رجوع للتعديل",
|
||
"confirm": "تأكيد وحفظ"
|
||
},
|
||
"counts": {
|
||
"notes": "{{count}} ملاحظة",
|
||
"orders": "{{count}} طلب"
|
||
},
|
||
"historyTitle": "سجل الصلاحيات",
|
||
"historyHint": "الأدوار والمجموعات المسندة لهذا المستخدم. صفِّ بحسب من غيّر أو متى.",
|
||
"historyEmpty": "لم تُسجَّل تغييرات صلاحيات لهذا المستخدم بعد.",
|
||
"historyEmptyFiltered": "لا توجد تغييرات صلاحيات تطابق الفلاتر الحالية.",
|
||
"historyAdded_zero": "أُضيف ({{count}}):",
|
||
"historyAdded_one": "أُضيف ({{count}}):",
|
||
"historyAdded_two": "أُضيف ({{count}}):",
|
||
"historyAdded_few": "أُضيف ({{count}}):",
|
||
"historyAdded_many": "أُضيف ({{count}}):",
|
||
"historyAdded_other": "أُضيف ({{count}}):",
|
||
"historyRemoved_zero": "أُزيل ({{count}}):",
|
||
"historyRemoved_one": "أُزيل ({{count}}):",
|
||
"historyRemoved_two": "أُزيل ({{count}}):",
|
||
"historyRemoved_few": "أُزيل ({{count}}):",
|
||
"historyRemoved_many": "أُزيل ({{count}}):",
|
||
"historyRemoved_other": "أُزيل ({{count}}):",
|
||
"historyTotal_zero": "{{count}} عنصر بعد التغيير",
|
||
"historyTotal_one": "{{count}} عنصر بعد التغيير",
|
||
"historyTotal_two": "{{count}} عنصران بعد التغيير",
|
||
"historyTotal_few": "{{count}} عناصر بعد التغيير",
|
||
"historyTotal_many": "{{count}} عنصراً بعد التغيير",
|
||
"historyTotal_other": "{{count}} عنصر بعد التغيير",
|
||
"history": {
|
||
"kind": {
|
||
"roles": "الأدوار",
|
||
"groups": "المجموعات"
|
||
}
|
||
}
|
||
},
|
||
"username": "اسم المستخدم",
|
||
"email": "البريد الإلكتروني",
|
||
"password": "كلمة المرور",
|
||
"roles": {
|
||
"searchPlaceholder": "ابحث في الأدوار...",
|
||
"addRole": "إضافة دور",
|
||
"editRole": "تعديل الدور",
|
||
"name": "الاسم",
|
||
"namePlaceholder": "مثال: content_editor",
|
||
"nameHint": "حروف وأرقام وشرطات سفلية فقط.",
|
||
"descriptionAr": "الوصف (عربي)",
|
||
"descriptionEn": "الوصف (إنجليزي)",
|
||
"system": "نظامي",
|
||
"empty": "لا توجد أدوار بعد.",
|
||
"edit": "تعديل الدور",
|
||
"delete": "حذف الدور",
|
||
"editSystemNameHint": "لا يمكن تغيير اسم الأدوار النظامية.",
|
||
"deleteTitle": "حذف الدور \"{{name}}\"؟",
|
||
"deleteEmptyBody": "هذا الدور غير مُعيَّن لأي مستخدم. هل تريد المتابعة؟",
|
||
"deleteConflict": "هذا الدور قيد الاستخدام ولا يمكن حذفه.",
|
||
"deleteConflictHint": "أزل هذا الدور من المستخدمين والمجموعات قبل حذفه.",
|
||
"deleteConfirm": "حذف",
|
||
"usersCount": "{{count}} مستخدم",
|
||
"groupsCount": "{{count}} مجموعة",
|
||
"errorNameTaken": "يوجد دور بنفس الاسم.",
|
||
"errorInvalidName": "يجب أن يبدأ اسم الدور بحرف ويحتوي على حروف وأرقام وشرطات سفلية فقط.",
|
||
"errorSystemRename": "لا يمكن تغيير اسم الأدوار النظامية.",
|
||
"renameWarningTitle": "إعادة تسمية \"{{from}}\" إلى \"{{to}}\"",
|
||
"renameWarningBody": "قد يُشار إلى اسم هذا الدور في الشيفرة أو التكاملات أو استعلامات سجل التدقيق. إعادة التسمية قد تُعطّل هذه التدفقات بصمت. حدّث جميع المراجع قبل الحفظ.",
|
||
"renameUsage": "مستخدم حالياً من قِبل {{users}} مستخدم و{{groups}} مجموعة.",
|
||
"permissions": "الصلاحيات",
|
||
"permissionsHint": "اختر الصلاحيات التي يمنحها هذا الدور.",
|
||
"permissionsSystemHint": "صلاحيات الأدوار النظامية للقراءة فقط.",
|
||
"permissionsEmpty": "لا توجد صلاحيات معرّفة.",
|
||
"errorSystemPermissions": "لا يمكن تغيير صلاحيات الأدوار النظامية.",
|
||
"errorPermissionsSave": "تعذّر حفظ صلاحيات الدور.",
|
||
"impactTitle_one": "إزالة {{count}} صلاحية",
|
||
"impactTitle_other": "إزالة {{count}} صلاحيات",
|
||
"impactLoading": "جارٍ احتساب الأثر...",
|
||
"impactNoUsers": "لا يحصل أي مستخدم حالياً على هذه الصلاحيات عبر هذا الدور.",
|
||
"impactError": "تعذّر حساب المستخدمين المتأثرين. يرجى تعديل اختيارك أو المحاولة مرة أخرى.",
|
||
"impactPerPermission": "{{users}} مستخدم سيفقد هذه الصلاحية ({{groups}} مجموعة تمنح الدور)",
|
||
"impactViaGroups": "عبر المجموعات: {{groups}}",
|
||
"impactTotal_one": "{{count}} مستخدم في المجموع سيفقد صلاحية واحدة على الأقل.",
|
||
"impactTotal_other": "{{count}} مستخدم في المجموع سيفقدون صلاحية واحدة على الأقل.",
|
||
"confirmRemovalTitle": "تأكيد إزالة الصلاحيات",
|
||
"confirmRemovalBody_one": "سيؤدي الحفظ إلى إزالة الصلاحيات من {{count}} مستخدم. قد يُلغى وصوله فوراً. هل تريد المتابعة؟",
|
||
"confirmRemovalBody_other": "سيؤدي الحفظ إلى إزالة الصلاحيات من {{count}} مستخدماً. قد يُلغى وصولهم فوراً. هل تريد المتابعة؟",
|
||
"confirmRemovalAction": "إزالة الصلاحيات",
|
||
"historyTitle": "السجل",
|
||
"historyHint": "تغييرات صلاحيات هذا الدور. استخدم عوامل التصفية لتحديد من قام بالتغيير أو متى.",
|
||
"historyEmpty": "لم تُسجَّل أي تغييرات على صلاحيات هذا الدور بعد.",
|
||
"historyEmptyFiltered": "لا توجد تغييرات تطابق عوامل التصفية الحالية.",
|
||
"historyActorUnknown": "مستخدم غير معروف",
|
||
"historyAdded_zero": "أُضيفت (0):",
|
||
"historyAdded_one": "أُضيفت (1):",
|
||
"historyAdded_two": "أُضيفت (2):",
|
||
"historyAdded_few": "أُضيفت ({{count}}):",
|
||
"historyAdded_many": "أُضيفت ({{count}}):",
|
||
"historyAdded_other": "أُضيفت ({{count}}):",
|
||
"historyRemoved_zero": "أُزيلت (0):",
|
||
"historyRemoved_one": "أُزيلت (1):",
|
||
"historyRemoved_two": "أُزيلت (2):",
|
||
"historyRemoved_few": "أُزيلت ({{count}}):",
|
||
"historyRemoved_many": "أُزيلت ({{count}}):",
|
||
"historyRemoved_other": "أُزيلت ({{count}}):",
|
||
"historyTotal_zero": "بدون صلاحيات بعد التغيير",
|
||
"historyTotal_one": "صلاحية واحدة بعد التغيير",
|
||
"historyTotal_two": "صلاحيتان بعد التغيير",
|
||
"historyTotal_few": "{{count}} صلاحيات بعد التغيير",
|
||
"historyTotal_many": "{{count}} صلاحية بعد التغيير",
|
||
"historyTotal_other": "{{count}} صلاحية بعد التغيير",
|
||
"historyShowing": "يظهر {{shown}} من أصل {{total}}",
|
||
"historyLoadMore": "عرض المزيد",
|
||
"historyDownloadCsv": "تنزيل CSV",
|
||
"historyDownloadCsvError": "تعذّر تنزيل ملف CSV. حاول مرة أخرى.",
|
||
"historyFilters": {
|
||
"actor": "غُيّرت بواسطة",
|
||
"allActors": "أي شخص",
|
||
"from": "من",
|
||
"to": "إلى",
|
||
"apply": "تطبيق",
|
||
"reset": "إعادة تعيين"
|
||
},
|
||
"historyErrors": {
|
||
"invalidDate": "يجب أن تكون التواريخ بصيغة YYYY-MM-DD.",
|
||
"invertedDates": "يجب أن يكون \"من\" قبل \"إلى\" أو في نفس اليوم.",
|
||
"fixFiltersFirst": "صحّح عوامل التصفية أعلاه لتحميل السجل."
|
||
}
|
||
},
|
||
"active": "نشط",
|
||
"issueResetLink": "إصدار رابط إعادة تعيين كلمة المرور",
|
||
"orderReceiverRole": "مستلم الطلبات",
|
||
"roleInheritedFromGroup": "موروث من المجموعة",
|
||
"resetLinkModal": {
|
||
"title": "رابط إعادة تعيين كلمة المرور للمستخدم {{username}}",
|
||
"description": "شارك هذا الرابط لمرة واحدة مع المستخدم. يمكن استخدامه مرة واحدة فقط.",
|
||
"expires": "تنتهي الصلاحية: {{time}}",
|
||
"copy": "نسخ الرابط",
|
||
"copied": "تم نسخ الرابط"
|
||
},
|
||
"siteSettings": "إعدادات الموقع",
|
||
"siteNameAr": "اسم الموقع (عربي)",
|
||
"siteNameEn": "اسم الموقع (إنجليزي)",
|
||
"registrationOpen": "السماح بإنشاء حسابات",
|
||
"registrationOpenHint": "عند الإيقاف، الأدمن فقط يقدر ينشئ مستخدمين جدد.",
|
||
"footerTextAr": "نص التذييل (عربي)",
|
||
"footerTextEn": "نص التذييل (إنجليزي)",
|
||
"nav": {
|
||
"dashboard": "الرئيسية",
|
||
"apps": "التطبيقات",
|
||
"services": "الخدمات",
|
||
"users": "المستخدمين",
|
||
"groups": "المجموعات",
|
||
"roles": "الأدوار",
|
||
"auditLog": "سجل التدقيق",
|
||
"userManagement": "إدارة المستخدمين",
|
||
"settings": "الإعدادات",
|
||
"systemUpdates": "تحديثات النظام",
|
||
"menu": "القائمة"
|
||
},
|
||
"systemUpdates": {
|
||
"title": "تحديثات النظام",
|
||
"subtitle": "تحقّق فقط من توفر إصدار أحدث — لا يقوم النظام بتثبيت أي تحديث.",
|
||
"currentVersion": "الإصدار الحالي",
|
||
"buildNumber": "رقم البناء",
|
||
"latestVersion": "أحدث إصدار",
|
||
"updateStatus": "حالة التحديث",
|
||
"statusUpToDate": "النظام محدّث",
|
||
"statusUpdateAvailable": "يتوفّر تحديث جديد",
|
||
"statusNotConfigured": "لم يتم تهيئة مصدر التحديثات",
|
||
"statusError": "تعذّر التحقق من التحديثات",
|
||
"notConfiguredHint": "اطلب من المسؤول ضبط متغيّر البيئة LATEST_VERSION_URL على رابط ملف latest.json الخارجي لتفعيل التحقق.",
|
||
"checkNow": "تحقّق الآن",
|
||
"loading": "جاري التحقق من الإصدار…",
|
||
"lastChecked": "آخر تحقق",
|
||
"serverStartedAt": "بدأ تشغيل الخادم",
|
||
"toastErrorTitle": "تعذّر التحقق",
|
||
"toastErrorDesc": "لم نتمكن من الوصول إلى مصدر التحديثات. حاول مرة أخرى لاحقاً."
|
||
},
|
||
"apps": {
|
||
"counts": {
|
||
"groups": "{{count}} مجموعة",
|
||
"restrictions": "{{count}} قيد",
|
||
"opens": "{{count}} فتحة"
|
||
},
|
||
"historyTitle": "سجل الصلاحيات",
|
||
"historyHint": "الصلاحيات المطلوبة لاستخدام هذا التطبيق. صفِّ بحسب من غيّر أو متى.",
|
||
"historyEmpty": "لم تُسجَّل تغييرات صلاحيات لهذا التطبيق بعد.",
|
||
"historyEmptyFiltered": "لا توجد تغييرات صلاحيات تطابق الفلاتر الحالية.",
|
||
"historyAdded_zero": "أُضيف ({{count}}):",
|
||
"historyAdded_one": "أُضيف ({{count}}):",
|
||
"historyAdded_two": "أُضيف ({{count}}):",
|
||
"historyAdded_few": "أُضيف ({{count}}):",
|
||
"historyAdded_many": "أُضيف ({{count}}):",
|
||
"historyAdded_other": "أُضيف ({{count}}):",
|
||
"historyRemoved_zero": "أُزيل ({{count}}):",
|
||
"historyRemoved_one": "أُزيل ({{count}}):",
|
||
"historyRemoved_two": "أُزيل ({{count}}):",
|
||
"historyRemoved_few": "أُزيل ({{count}}):",
|
||
"historyRemoved_many": "أُزيل ({{count}}):",
|
||
"historyRemoved_other": "أُزيل ({{count}}):",
|
||
"historyTotal_zero": "{{count}} صلاحية بعد التغيير",
|
||
"historyTotal_one": "{{count}} صلاحية بعد التغيير",
|
||
"historyTotal_two": "{{count}} صلاحيتان بعد التغيير",
|
||
"historyTotal_few": "{{count}} صلاحيات بعد التغيير",
|
||
"historyTotal_many": "{{count}} صلاحية بعد التغيير",
|
||
"historyTotal_other": "{{count}} صلاحية بعد التغيير"
|
||
},
|
||
"services": {
|
||
"counts": {
|
||
"orders": "{{count}} طلب"
|
||
}
|
||
},
|
||
"groups": {
|
||
"searchPlaceholder": "ابحث في المجموعات...",
|
||
"addGroup": "إضافة مجموعة",
|
||
"editGroup": "تعديل المجموعة",
|
||
"name": "الاسم",
|
||
"descriptionAr": "الوصف (عربي)",
|
||
"descriptionEn": "الوصف (إنجليزي)",
|
||
"system": "نظامية",
|
||
"empty": "لا توجد مجموعات بعد.",
|
||
"members": "{{count}} عضو",
|
||
"appsCount": "{{count}} تطبيق",
|
||
"rolesCount": "{{count}} دور",
|
||
"appsHint": "أعضاء هذه المجموعة سيرون هذه التطبيقات.",
|
||
"usersHint": "أعضاء هذه المجموعة.",
|
||
"rolesHint": "يحصل أعضاء هذه المجموعة تلقائياً على هذه الأدوار.",
|
||
"rolesEmpty": "لا توجد أدوار متاحة.",
|
||
"deleteTitle": "حذف المجموعة \"{{name}}\"؟",
|
||
"deleteWarning": "هذه المجموعة لا تزال قيد الاستخدام. حذفها سيلغي الوصول لما يلي:",
|
||
"deleteForceHint": "سيؤدي الحذف إلى فصل الأعضاء وإلغاء التطبيقات والأدوار الممنوحة عبر المجموعة. لا يمكن التراجع عن هذا الإجراء.",
|
||
"deleteEmptyBody": "لا تحتوي هذه المجموعة على أعضاء أو تطبيقات أو أدوار. هل تريد المتابعة؟",
|
||
"deleteConfirm": "حذف",
|
||
"deleteAnyway": "حذف رغم ذلك",
|
||
"tab": {
|
||
"info": "المعلومات",
|
||
"apps": "التطبيقات",
|
||
"users": "المستخدمون",
|
||
"roles": "الأدوار",
|
||
"history": "السجل"
|
||
},
|
||
"historyTitle": "سجل الصلاحيات",
|
||
"historyHint": "الأعضاء والأدوار والتطبيقات المرتبطة بهذه المجموعة. صفِّ بحسب من غيّر أو متى.",
|
||
"historyEmpty": "لم تُسجَّل تغييرات صلاحيات لهذه المجموعة بعد.",
|
||
"historyEmptyFiltered": "لا توجد تغييرات صلاحيات تطابق الفلاتر الحالية.",
|
||
"historyAdded_zero": "أُضيف ({{count}}):",
|
||
"historyAdded_one": "أُضيف ({{count}}):",
|
||
"historyAdded_two": "أُضيف ({{count}}):",
|
||
"historyAdded_few": "أُضيف ({{count}}):",
|
||
"historyAdded_many": "أُضيف ({{count}}):",
|
||
"historyAdded_other": "أُضيف ({{count}}):",
|
||
"historyRemoved_zero": "أُزيل ({{count}}):",
|
||
"historyRemoved_one": "أُزيل ({{count}}):",
|
||
"historyRemoved_two": "أُزيل ({{count}}):",
|
||
"historyRemoved_few": "أُزيل ({{count}}):",
|
||
"historyRemoved_many": "أُزيل ({{count}}):",
|
||
"historyRemoved_other": "أُزيل ({{count}}):",
|
||
"historyTotal_zero": "{{count}} عنصر بعد التغيير",
|
||
"historyTotal_one": "{{count}} عنصر بعد التغيير",
|
||
"historyTotal_two": "{{count}} عنصران بعد التغيير",
|
||
"historyTotal_few": "{{count}} عناصر بعد التغيير",
|
||
"historyTotal_many": "{{count}} عنصراً بعد التغيير",
|
||
"historyTotal_other": "{{count}} عنصر بعد التغيير",
|
||
"history": {
|
||
"kind": {
|
||
"users": "المستخدمون",
|
||
"roles": "الأدوار",
|
||
"apps": "التطبيقات"
|
||
}
|
||
}
|
||
},
|
||
"audit": {
|
||
"filters": {
|
||
"action": "الإجراء",
|
||
"allActions": "كل الإجراءات",
|
||
"actor": "المنفّذ",
|
||
"allActors": "كل المنفّذين",
|
||
"actorSearch": "ابحث بالاسم أو @المعرّف",
|
||
"actorEmpty": "لا يوجد مستخدمون مطابقون.",
|
||
"actorWithName": "المنفّذ: {{name}}",
|
||
"actorWithId": "المنفّذ: #{{id}}",
|
||
"clearActorFilter": "مسح فلتر المنفّذ",
|
||
"from": "من",
|
||
"to": "إلى",
|
||
"apply": "تطبيق",
|
||
"reset": "إعادة ضبط",
|
||
"forcedOnly": "عمليات الحذف القسري فقط",
|
||
"forcedOnlyHint": "عرض إدخالات الحذف القسري للمجموعات والمستخدمين والتطبيقات والخدمات فقط.",
|
||
"targetType": "نوع الهدف: {{type}}",
|
||
"targetWithId": "الهدف: {{type}} #{{id}}",
|
||
"clearTargetFilter": "مسح فلتر الهدف"
|
||
},
|
||
"actorPivotAria": "تصفية سجل التدقيق على الإجراءات التي قام بها {{name}}",
|
||
"target": "الهدف: {{type}} #{{id}}",
|
||
"targetWithName": "الهدف: {{type}} #{{id}} · {{name}}",
|
||
"showing": "عرض {{shown}} من أصل {{total}}",
|
||
"empty": "لا توجد إدخالات في سجل التدقيق تطابق الفلاتر.",
|
||
"loadMore": "عرض المزيد",
|
||
"export": {
|
||
"button": "تصدير CSV",
|
||
"failed": "تعذّر تصدير سجل التدقيق. يُرجى المحاولة مرة أخرى."
|
||
},
|
||
"errors": {
|
||
"invalidDate": "يجب أن تكون التواريخ بصيغة YYYY-MM-DD.",
|
||
"invertedDates": "تاريخ \"من\" يجب أن يكون قبل أو يساوي تاريخ \"إلى\".",
|
||
"fixFiltersFirst": "عدّل الفلاتر لتحميل الإدخالات."
|
||
},
|
||
"unit": {
|
||
"member_zero": "بدون أعضاء",
|
||
"member_one": "عضو واحد",
|
||
"member_two": "عضوان",
|
||
"member_few": "{{count}} أعضاء",
|
||
"member_many": "{{count}} عضواً",
|
||
"member_other": "{{count}} عضو",
|
||
"app_zero": "بدون تطبيقات",
|
||
"app_one": "تطبيق واحد",
|
||
"app_two": "تطبيقان",
|
||
"app_few": "{{count}} تطبيقات",
|
||
"app_many": "{{count}} تطبيقاً",
|
||
"app_other": "{{count}} تطبيق",
|
||
"role_zero": "بدون أدوار",
|
||
"role_one": "دور واحد",
|
||
"role_two": "دوران",
|
||
"role_few": "{{count}} أدوار",
|
||
"role_many": "{{count}} دوراً",
|
||
"role_other": "{{count}} دور",
|
||
"group_zero": "بدون مجموعات",
|
||
"group_one": "مجموعة واحدة",
|
||
"group_two": "مجموعتان",
|
||
"group_few": "{{count}} مجموعات",
|
||
"group_many": "{{count}} مجموعةً",
|
||
"group_other": "{{count}} مجموعة",
|
||
"order_zero": "بدون طلبات",
|
||
"order_one": "طلب واحد",
|
||
"order_two": "طلبان",
|
||
"order_few": "{{count}} طلبات",
|
||
"order_many": "{{count}} طلباً",
|
||
"order_other": "{{count}} طلب",
|
||
"change_zero": "بدون تغييرات",
|
||
"change_one": "تغيير واحد",
|
||
"change_two": "تغييران",
|
||
"change_few": "{{count}} تغييرات",
|
||
"change_many": "{{count}} تغييراً",
|
||
"change_other": "{{count}} تغيير",
|
||
"permission_zero": "بدون صلاحيات",
|
||
"permission_one": "صلاحية واحدة",
|
||
"permission_two": "صلاحيتان",
|
||
"permission_few": "{{count}} صلاحيات",
|
||
"permission_many": "{{count}} صلاحيةً",
|
||
"permission_other": "{{count}} صلاحية",
|
||
"restriction_zero": "بدون قيود",
|
||
"restriction_one": "قيد واحد",
|
||
"restriction_two": "قيدان",
|
||
"restriction_few": "{{count}} قيود",
|
||
"restriction_many": "{{count}} قيداً",
|
||
"restriction_other": "{{count}} قيد",
|
||
"note_zero": "بدون ملاحظات",
|
||
"note_one": "ملاحظة واحدة",
|
||
"note_two": "ملاحظتان",
|
||
"note_few": "{{count}} ملاحظات",
|
||
"note_many": "{{count}} ملاحظةً",
|
||
"note_other": "{{count}} ملاحظة",
|
||
"open_zero": "بدون فتحات",
|
||
"open_one": "فتحة واحدة",
|
||
"open_two": "فتحتان",
|
||
"open_few": "{{count}} فتحات",
|
||
"open_many": "{{count}} فتحةً",
|
||
"open_other": "{{count}} فتحة"
|
||
},
|
||
"dependencies": {
|
||
"label": "التبعيات المُزالة",
|
||
"chipAriaTargetType": "{{label}} — فتح سجل التدقيق مفلتراً حسب نوع الهدف \"{{type}}\"",
|
||
"chipAriaParent": "{{label}} — فتح سجل التدقيق لـ {{type}} #{{id}}"
|
||
},
|
||
"recent": {
|
||
"title": "آخر النشاطات",
|
||
"loading": "جارٍ تحميل آخر النشاطات…",
|
||
"empty": "لا توجد نشاطات حديثة لهذا السجل بعد.",
|
||
"viewAll": "عرض السجل الكامل",
|
||
"viewAllAria": "فتح سجل التدقيق مفلتراً على هذا الـ {{type}}"
|
||
},
|
||
"summary": {
|
||
"app": {
|
||
"create": "تم إنشاء التطبيق '{{name}}'",
|
||
"update": "تم تعديل التطبيق '{{name}}' ({{changes}})",
|
||
"rename": "تمت إعادة تسمية التطبيق من '{{previousName}}' إلى '{{name}}'",
|
||
"delete": "تم حذف التطبيق '{{name}}'",
|
||
"forceDelete": "تم حذف التطبيق '{{name}}' قسراً (تأثرت {{groups}})",
|
||
"permissionAdd": "تمت إضافة الصلاحية '{{permission}}' إلى التطبيق '{{name}}'",
|
||
"permissionRemove": "تمت إزالة الصلاحية '{{permission}}' من التطبيق '{{name}}'"
|
||
},
|
||
"auth": {
|
||
"issueResetLink": "تم إصدار رابط إعادة تعيين كلمة المرور للمستخدم @{{username}}"
|
||
},
|
||
"group": {
|
||
"create": "تم إنشاء المجموعة '{{name}}' ({{members}}، {{apps}})",
|
||
"update": "تم تعديل المجموعة '{{name}}' ({{changes}})",
|
||
"rename": "تمت إعادة تسمية المجموعة من '{{previousName}}' إلى '{{name}}'",
|
||
"delete": "تم حذف المجموعة '{{name}}'",
|
||
"forceDelete": "تم حذف المجموعة '{{name}}' قسراً ({{members}})",
|
||
"userAdd": "تمت إضافة المستخدم @{{username}} إلى المجموعة '{{name}}'",
|
||
"userAddById": "تمت إضافة المستخدم #{{userId}} إلى المجموعة '{{name}}'",
|
||
"userRemove": "تمت إزالة المستخدم @{{username}} من المجموعة '{{name}}'",
|
||
"userRemoveById": "تمت إزالة المستخدم #{{userId}} من المجموعة '{{name}}'",
|
||
"appAdd": "تمت إضافة التطبيق '{{appName}}' إلى المجموعة '{{name}}'",
|
||
"appAddById": "تمت إضافة التطبيق #{{appId}} إلى المجموعة '{{name}}'",
|
||
"appRemove": "تمت إزالة التطبيق '{{appName}}' من المجموعة '{{name}}'",
|
||
"appRemoveById": "تمت إزالة التطبيق #{{appId}} من المجموعة '{{name}}'",
|
||
"roleAdd": "تمت إضافة الدور '{{roleName}}' إلى المجموعة '{{name}}'",
|
||
"roleAddById": "تمت إضافة الدور #{{roleId}} إلى المجموعة '{{name}}'",
|
||
"roleRemove": "تمت إزالة الدور '{{roleName}}' من المجموعة '{{name}}'",
|
||
"roleRemoveById": "تمت إزالة الدور #{{roleId}} من المجموعة '{{name}}'"
|
||
},
|
||
"role": {
|
||
"create": "تم إنشاء الدور '{{name}}'",
|
||
"update": "تم تعديل الدور '{{name}}' ({{changes}})",
|
||
"rename": "تمت إعادة تسمية الدور من '{{previousName}}' إلى '{{name}}'",
|
||
"delete": "تم حذف الدور '{{name}}'",
|
||
"permissionsReplace": "تم تحديث صلاحيات الدور '{{name}}' (أُضيفت {{added}}، حُذفت {{removed}})",
|
||
"permissionAdd": "تمت إضافة الصلاحية '{{permission}}' إلى الدور '{{name}}'",
|
||
"permissionRemove": "تمت إزالة الصلاحية '{{permission}}' من الدور '{{name}}'"
|
||
},
|
||
"service": {
|
||
"delete": "تم حذف الخدمة '{{name}}'",
|
||
"deleteId": "تم حذف الخدمة رقم {{id}}",
|
||
"forceDelete": "تم حذف الخدمة '{{name}}' قسراً (تأثرت {{orders}})"
|
||
},
|
||
"settings": {
|
||
"update": "تم تحديث إعدادات النظام ({{changes}})",
|
||
"registrationOpened": "تم فتح التسجيل العام",
|
||
"registrationClosed": "تم إغلاق التسجيل العام",
|
||
"registrationOpenedWith": "تم فتح التسجيل العام و{{others}}",
|
||
"registrationClosedWith": "تم إغلاق التسجيل العام و{{others}}"
|
||
},
|
||
"user": {
|
||
"delete": "تم حذف المستخدم @{{username}}",
|
||
"deleteWithName": "تم حذف المستخدم @{{username}} ({{displayName}})",
|
||
"forceDelete": "تم حذف المستخدم @{{username}} قسراً",
|
||
"forceDeleteWithName": "تم حذف المستخدم @{{username}} ({{displayName}}) قسراً"
|
||
}
|
||
}
|
||
},
|
||
"dashboardSoon": "إحصائيات اللوحة قريباً.",
|
||
"dashboard": {
|
||
"totalApps": "إجمالي التطبيقات",
|
||
"totalServices": "إجمالي الخدمات",
|
||
"totalUsers": "إجمالي المستخدمين",
|
||
"registration": "التسجيل",
|
||
"open": "مفتوح",
|
||
"closed": "مغلق",
|
||
"recentActivity": "آخر النشاطات",
|
||
"latestUser": "آخر مستخدم",
|
||
"latestApp": "آخر تطبيق",
|
||
"none": "—",
|
||
"newUsers7d": "مستخدمون جدد (٧ أيام)",
|
||
"vsPrev7d": "الأسبوع السابق: {{count}}",
|
||
"newUsersInRange": "مستخدمون جدد · {{range}}",
|
||
"vsPrevRange": "{{range}}: {{count}}",
|
||
"activeServices": "الخدمات النشطة",
|
||
"inactiveServices": "غير نشطة: {{count}}",
|
||
"signupsTrend": "التسجيلات",
|
||
"last7Days": "آخر ٧ أيام",
|
||
"appOpensTrend": "فتح التطبيقات",
|
||
"appOpensSummary": "{{count}} إجمالاً · {{delta}}",
|
||
"appOpensSummaryRanged": "{{count}} في {{range}} · {{delta}}",
|
||
"servicesCreatedTrend": "خدمات جديدة",
|
||
"servicesCreatedSummary": "{{count}} مضافة",
|
||
"servicesCreatedSummaryRanged": "{{count}} في {{range}}",
|
||
"trends": "الاتجاهات",
|
||
"rangeSelector": "المدى الزمني",
|
||
"range": {
|
||
"7d": "آخر ٧ أيام",
|
||
"30d": "آخر ٣٠ يومًا",
|
||
"90d": "آخر ٩٠ يومًا",
|
||
"custom": "مدى مخصص",
|
||
"customLabel": "{{from}} – {{to}}"
|
||
},
|
||
"prevRange": {
|
||
"7d": "الأيام ٧ السابقة",
|
||
"30d": "الأيام ٣٠ السابقة",
|
||
"90d": "الأيام ٩٠ السابقة",
|
||
"custom": "الـ {{count}} أيام السابقة"
|
||
},
|
||
"customRange": {
|
||
"from": "من",
|
||
"to": "إلى",
|
||
"apply": "تطبيق",
|
||
"invalid": "اختر نطاقًا صحيحًا",
|
||
"loadError": "تعذّر تحميل الإحصائيات للنطاق المحدّد. يرجى التحقق من التواريخ والمحاولة مرة أخرى."
|
||
},
|
||
"topApps": "أكثر التطبيقات استخدامًا",
|
||
"topAppsSubtitle": "حسب الفتح في {{range}}",
|
||
"mostActiveUsers": "أكثر المستخدمين نشاطًا",
|
||
"mostActiveUsersSubtitle": "حسب فتح التطبيقات في {{range}}",
|
||
"leaderboardEmpty": "لا يوجد نشاط بعد",
|
||
"openCount": "{{count}} فتحة",
|
||
"viewAppDetails": "عرض تفاصيل {{name}}",
|
||
"viewUserDetails": "عرض تفاصيل {{name}}",
|
||
"drillIn": {
|
||
"loading": "جارٍ التحميل…",
|
||
"appTitle": "آخر الفتحات · {{name}}",
|
||
"userTitle": "آخر الفتحات · {{name}}",
|
||
"subtitle": "{{count}} فتحة في {{range}}",
|
||
"empty": "لا توجد فتحات في هذا النطاق",
|
||
"loadError": "تعذّر تحميل آخر الفتحات.",
|
||
"editApp": "تعديل التطبيق",
|
||
"viewUser": "عرض المستخدم",
|
||
"loadMore": "تحميل المزيد",
|
||
"loadMoreError": "تعذّر تحميل المزيد من الفتحات.",
|
||
"shownOf": "عرض {{shown}} من {{total}}"
|
||
}
|
||
},
|
||
"dependents": {
|
||
"openLabel": "عرض {{count}}",
|
||
"loadError": "تعذّر تحميل العناصر.",
|
||
"empty": "لا يوجد ما يُعرض.",
|
||
"appGroups": {
|
||
"title": "المجموعات · {{name}}",
|
||
"subtitle": "{{count}} مجموعة تمنح صلاحية الوصول"
|
||
},
|
||
"appRestrictions": {
|
||
"title": "القيود · {{name}}",
|
||
"subtitle": "{{count}} صلاحية مطلوبة",
|
||
"noRoles": "لا توجد أدوار تشمل هذه الصلاحية"
|
||
},
|
||
"appOpens": {
|
||
"title": "الفتحات · {{name}}",
|
||
"subtitle": "{{count}} فتحة إجمالاً"
|
||
},
|
||
"serviceOrders": {
|
||
"title": "الطلبات · {{name}}",
|
||
"subtitle": "{{count}} طلب"
|
||
},
|
||
"userNotes": {
|
||
"title": "الملاحظات · {{name}}",
|
||
"subtitle": "{{count}} ملاحظة",
|
||
"untitled": "(بدون عنوان)",
|
||
"pinned": "مثبّتة",
|
||
"archived": "مؤرشفة"
|
||
},
|
||
"userOrders": {
|
||
"title": "الطلبات · {{name}}",
|
||
"subtitle": "{{count}} طلب"
|
||
},
|
||
"orderStatus": {
|
||
"pending": "قيد الانتظار",
|
||
"received": "مستلم",
|
||
"preparing": "قيد التحضير",
|
||
"completed": "مكتمل",
|
||
"cancelled": "ملغى"
|
||
}
|
||
}
|
||
},
|
||
"notFound": {
|
||
"title": "404 — الصفحة غير موجودة",
|
||
"description": "الصفحة التي تبحث عنها غير موجودة."
|
||
},
|
||
"common": {
|
||
"save": "حفظ",
|
||
"cancel": "إلغاء",
|
||
"delete": "حذف",
|
||
"edit": "تعديل",
|
||
"add": "إضافة",
|
||
"close": "إغلاق",
|
||
"later": "لاحقاً",
|
||
"loading": "جاري التحميل...",
|
||
"error": "حدث خطأ",
|
||
"success": "تمت العملية بنجاح",
|
||
"language": "English",
|
||
"appName": "نظام Tx",
|
||
"previous": "السابق",
|
||
"next": "التالي",
|
||
"empty": "(فارغ)"
|
||
},
|
||
"embeddedFrame": {
|
||
"title": "تطبيق مدمج",
|
||
"back": "العودة للرئيسية",
|
||
"openInNewTab": "فتح في تبويب جديد",
|
||
"loadError": "تعذّر تحميل التطبيق.",
|
||
"notFound": "التطبيق غير موجود.",
|
||
"notEmbeddable": "هذا التطبيق غير مهيّأ للعرض المدمج."
|
||
},
|
||
"notes": {
|
||
"title": "الملاحظات",
|
||
"searchPlaceholder": "ابحث في الملاحظات",
|
||
"labels": "التصنيفات",
|
||
"manageLabels": "إدارة التصنيفات",
|
||
"newLabel": "تصنيف جديد",
|
||
"noLabelsYet": "لا توجد تصنيفات بعد",
|
||
"allLabels": "الكل",
|
||
"folders": {
|
||
"title": "المجلدات",
|
||
"myFolders": "مجلداتي",
|
||
"new": "مجلد جديد",
|
||
"namePlaceholder": "اسم المجلد",
|
||
"all": "كل الملاحظات",
|
||
"unfiled": "بدون مجلد",
|
||
"rename": "إعادة تسمية المجلد",
|
||
"delete": "حذف المجلد",
|
||
"deleteTitle": "حذف هذا المجلد؟",
|
||
"deleteAction": "حذف",
|
||
"deleteConfirm": "حذف هذا المجلد؟ ستنتقل الملاحظات بداخله إلى \"بدون مجلد\".",
|
||
"deleteFailed": "تعذّر حذف المجلد",
|
||
"dragHint": "اسحب ملاحظة إلى هنا",
|
||
"moved": "تم نقل الملاحظة",
|
||
"actions": "خيارات المجلد",
|
||
"renameFailed": "تعذّر إعادة تسمية المجلد",
|
||
"itemCountOne": "مجلد واحد",
|
||
"itemCount": "{{count}} مجلدات",
|
||
"select": "تحديد المجلد",
|
||
"bulkSelected": "تم تحديد {{count}}",
|
||
"bulkDeleteTitle": "حذف المجلدات المحددة؟",
|
||
"bulkDeleteConfirm": "ستنتقل الملاحظات داخل هذه المجلدات إلى \"بدون مجلد\".",
|
||
"bulkDeleteFailed": "تعذّر حذف بعض المجلدات",
|
||
"backToFolders": "العودة إلى المجلدات",
|
||
"share": "مشاركة المجلد",
|
||
"shareTitle": "مشاركة المجلد",
|
||
"shareDescription": "يمكن للمستلمين عرض الملاحظات في هذا المجلد دون تعديلها.",
|
||
"shareDescriptionPerm": "اختر عرض أو تعديل لكل مستلم.",
|
||
"permissionView": "عرض",
|
||
"permissionEdit": "تعديل",
|
||
"canEdit": "يمكنك التعديل",
|
||
"shareSaved": "تم تحديث المشاركة",
|
||
"shareFailed": "تعذّر تحديث المشاركة",
|
||
"shareRevoked": "لم يعد هذا المجلد مشاركاً معك",
|
||
"sharedEmpty": "لا توجد ملاحظات في هذا المجلد بعد",
|
||
"sharedWithMe": "مشاركة معي",
|
||
"sharedBy": "مشاركة من",
|
||
"sharedByName": "بواسطة {{name}}",
|
||
"sharedWithCount_zero": "غير مشارك",
|
||
"sharedWithCount_one": "مشاركة مع شخص واحد",
|
||
"sharedWithCount_two": "مشاركة مع شخصين",
|
||
"sharedWithCount_few": "مشاركة مع {{count}} أشخاص",
|
||
"sharedWithCount_many": "مشاركة مع {{count}} شخصاً",
|
||
"sharedWithCount_other": "مشاركة مع {{count}} شخص",
|
||
"sharedWithCount": "مشاركة مع {{count}} أشخاص",
|
||
"readOnly": "للقراءة فقط"
|
||
},
|
||
"tabs": {
|
||
"active": "ملاحظاتي",
|
||
"archived": "الأرشيف",
|
||
"received": "الوارد",
|
||
"sent": "المُرسلة"
|
||
},
|
||
"pinned": "مثبّتة",
|
||
"others": "أخرى",
|
||
"viewGrid": "عرض شبكي",
|
||
"viewList": "عرض قائمة",
|
||
"select": "تحديد",
|
||
"untitled": "بدون عنوان",
|
||
"untitledChecklist": "قائمة مهام",
|
||
"itemCountOne": "عنصر واحد",
|
||
"itemCount": "{{count}} عنصراً",
|
||
"selectedCount": "تم تحديد {{count}}",
|
||
"deleteSelectedConfirm": "حذف الملاحظات المحددة؟",
|
||
"bulkSelect": "تحديد",
|
||
"bulkCancel": "إلغاء",
|
||
"bulkSelectAll": "تحديد الكل",
|
||
"bulkClear": "إلغاء التحديد",
|
||
"bulkCount": "{{n}} محدد",
|
||
"bulkDelete": "حذف",
|
||
"bulkConfirmTitle": "حذف {{n}} ملاحظة مرسلة؟",
|
||
"bulkConfirmTitle_one": "حذف ملاحظة مرسلة واحدة؟",
|
||
"bulkConfirmBody": "سيتم حذف الملاحظات وجميع ردودها نهائياً. لا يمكن التراجع.",
|
||
"bulkDeleting": "جارٍ الحذف...",
|
||
"bulkResultAll": "تم حذف {{n}} ملاحظة",
|
||
"bulkResultAll_one": "تم حذف ملاحظة واحدة",
|
||
"bulkResultPartial": "تم حذف {{ok}} من {{total}}، فشل {{failed}}",
|
||
"bulkResultNone": "تعذّر حذف الملاحظات المحددة",
|
||
"bulkArchive": "أرشفة",
|
||
"bulkArchiving": "جارٍ الأرشفة...",
|
||
"bulkArchiveConfirmTitle": "أرشفة {{n}} ملاحظة من الوارد؟",
|
||
"bulkArchiveConfirmTitle_one": "أرشفة ملاحظة واحدة من الوارد؟",
|
||
"bulkArchiveConfirmBody": "سيتم نقل هذه الملاحظات إلى الأرشيف. يمكنك إيجادها لاحقاً في تبويب المؤرشفة.",
|
||
"bulkArchivedAll": "تمت أرشفة {{n}} ملاحظة",
|
||
"bulkArchivedAll_one": "تمت أرشفة ملاحظة واحدة",
|
||
"bulkArchivePartial": "تمت أرشفة {{ok}} من {{total}}، فشل {{failed}}",
|
||
"bulkArchiveNone": "تعذّر أرشفة الملاحظات المحددة",
|
||
"bulkDeleteInboxConfirmTitle": "حذف {{n}} ملاحظة من الوارد؟",
|
||
"bulkDeleteInboxConfirmTitle_one": "حذف ملاحظة واحدة من الوارد؟",
|
||
"bulkDeleteInboxConfirmBody": "سيتم حذف الملاحظات من الوارد والأرشيف لديك. تبقى لدى المرسل نسخته.",
|
||
"bulkDeletedInboxAll": "تم حذف {{n}} ملاحظة من الوارد",
|
||
"bulkDeletedInboxAll_one": "تم حذف ملاحظة واحدة من الوارد",
|
||
"bulkDeleteInboxPartial": "تم حذف {{ok}} من {{total}}، و{{failed}} لم تعد موجودة",
|
||
"bulkDeleteInboxNone": "تعذّر حذف الملاحظات المحددة",
|
||
"deleteInboxConfirmTitle": "حذف هذه الملاحظة من الوارد؟",
|
||
"deletedInboxOne": "تم حذف الملاحظة من الوارد",
|
||
"moreActions": "خيارات أخرى",
|
||
"empty": "ستظهر ملاحظاتك هنا",
|
||
"emptyArchived": "لا توجد ملاحظات في الأرشيف",
|
||
"emptyReceived": "لم تصلك أي ملاحظة بعد",
|
||
"emptySent": "لم ترسل أي ملاحظة بعد",
|
||
"takeNote": "اكتب ملاحظة...",
|
||
"titlePlaceholder": "العنوان",
|
||
"contentPlaceholder": "اكتب ملاحظة...",
|
||
"save": "حفظ",
|
||
"pin": "تثبيت",
|
||
"archive": "أرشفة",
|
||
"unarchive": "إلغاء الأرشفة",
|
||
"delete": "حذف",
|
||
"deleteConfirm": "حذف هذه الملاحظة؟",
|
||
"deleteLabelConfirm": "حذف هذا التصنيف؟",
|
||
"editTitle": "تعديل ملاحظة",
|
||
"send": "إرسال",
|
||
"sendNote": "إرسال الملاحظة",
|
||
"sendNoteTo": "إرسال إلى…",
|
||
"recipientsPlaceholder": "ابحث عن شخص…",
|
||
"selectAtLeastOne": "اختر مستلماً واحداً على الأقل",
|
||
"sendSuccess": "تم إرسال الملاحظة",
|
||
"sendFailed": "تعذّر إرسال الملاحظة",
|
||
"from": "من:",
|
||
"to": "إلى:",
|
||
"reply": "رد",
|
||
"replyPlaceholder": "اكتب رداً…",
|
||
"sendReply": "إرسال الرد",
|
||
"replies": "الردود",
|
||
"noRepliesYet": "لا توجد ردود بعد",
|
||
"status": {
|
||
"unread": "غير مقروءة",
|
||
"read": "مقروءة",
|
||
"replied": "تم الرد",
|
||
"archived": "مؤرشفة"
|
||
},
|
||
"toast": {
|
||
"received": {
|
||
"title": "ملاحظة جديدة",
|
||
"desc": "تحقق من بريد الملاحظات الوارد لقراءتها."
|
||
},
|
||
"replied": {
|
||
"title": "رد جديد على ملاحظة",
|
||
"desc": "افتح الملاحظة لمتابعة المحادثة."
|
||
}
|
||
},
|
||
"popup": {
|
||
"heading": "ملاحظة جديدة من {{name}}",
|
||
"headingNoSender": "وصلتك ملاحظة جديدة",
|
||
"replyHeading": "{{name}} ردّ على ملاحظتك",
|
||
"replyHeadingNoSender": "وصلك رد جديد على ملاحظتك",
|
||
"untitled": "(بدون عنوان)",
|
||
"queueMore_one": "ملاحظة أخرى بالانتظار",
|
||
"queueMore_other": "{{count}} ملاحظات أخرى بالانتظار",
|
||
"reply": "رد",
|
||
"replyBack": "رد",
|
||
"markRead": "تم",
|
||
"openInNotes": "فتح الملاحظة",
|
||
"openThread": "فتح الملاحظة",
|
||
"openNote": "فتح الملاحظة",
|
||
"done": "تم",
|
||
"dismiss": "إغلاق",
|
||
"dragHint": "اسحب للتحريك",
|
||
"inlineReplyPlaceholder": "اكتب رداً…",
|
||
"sendReply": "إرسال",
|
||
"cancelReply": "إلغاء",
|
||
"replySending": "جاري الإرسال…",
|
||
"replySent": "تم إرسال الرد",
|
||
"replyFailed": "تعذّر إرسال الرد"
|
||
},
|
||
"confirmSendTitle": "إرسال هذه الملاحظة؟",
|
||
"confirmSendBody_one": "سيتم إرسال هذه الملاحظة إلى شخص واحد.",
|
||
"confirmSendBody_other": "سيتم إرسال هذه الملاحظة إلى {{count}} أشخاص.",
|
||
"confirmSendCta": "إرسال",
|
||
"archivedSection": {
|
||
"myNotes": "ملاحظاتي المؤرشفة",
|
||
"inbox": "البريد الوارد المؤرشف"
|
||
},
|
||
"conversationWith": "محادثة مع {{name}}",
|
||
"ownerReplies": "ردودك",
|
||
"noConversationsYet": "لا توجد محادثات بعد",
|
||
"recipientsCount_one": "مستلم واحد",
|
||
"recipientsCount_other": "{{count}} مستلمين",
|
||
"repliesCount_one": "رد واحد",
|
||
"repliesCount_other": "{{count}} ردود",
|
||
"openThread": "فتح",
|
||
"checklist": {
|
||
"toggle": "قائمة مهام",
|
||
"addItem": "إضافة عنصر",
|
||
"itemPlaceholder": "عنصر القائمة",
|
||
"emptyHint": "لا توجد عناصر بعد — أضف عنصراً أدناه.",
|
||
"removeItem": "حذف العنصر",
|
||
"progress": "{{done}} / {{total}}"
|
||
}
|
||
},
|
||
"executiveMeetings": {
|
||
"title": "قائمة الاجتماعات",
|
||
"scheduleHeading": "قائمة بأسماء حضور الاجتماعات",
|
||
"date": "التاريخ:",
|
||
"exportPdf": "تصدير PDF",
|
||
"fullscreen": {
|
||
"enter": "تكبير ملء الشاشة",
|
||
"exit": "الخروج من ملء الشاشة"
|
||
},
|
||
"quickNote": {
|
||
"label": "ملاحظة",
|
||
"placeholder": "اكتب ملاحظة سريعة…",
|
||
"send": "إرسال"
|
||
},
|
||
"noMeetings": "لا توجد اجتماعات في هذا اليوم",
|
||
"virtual": "اتصال مرئي",
|
||
"virtualAttendance": "الحضور عبر الاتصال المرئي",
|
||
"internalAttendance": "الحضور الداخلي",
|
||
"externalAttendance": "حضور خارجي",
|
||
"placeholderBody": "هذا القسم قيد التطوير في المراحل القادمة. ستتوفر إدارته الكاملة قريباً.",
|
||
"col": {
|
||
"number": "#",
|
||
"meeting": "الاجتماع",
|
||
"attendees": "الحضور",
|
||
"time": "الوقت"
|
||
},
|
||
"customize": {
|
||
"title": "تخصيص الجدول",
|
||
"hint": "أظهر أو أخفِ الأعمدة. اسحب رؤوس الأعمدة لإعادة الترتيب.",
|
||
"reset": "إعادة التعيين",
|
||
"dragHint": "اسحب حد العمود لتغيير عرضه"
|
||
},
|
||
"highlight": {
|
||
"title": "تمييز الاجتماع الحالي",
|
||
"hint": "",
|
||
"reset": "إعادة إلى الافتراضي"
|
||
},
|
||
"dragRow": "اسحب لإعادة الترتيب",
|
||
"editMeetingTitle": "تعديل عنوان الاجتماع",
|
||
"alertPrefs": {
|
||
"title": "تنبيه الاجتماع القادم",
|
||
"hint": "",
|
||
"enabledLabel": "عرض تنبيه الاجتماع القادم",
|
||
"colorTitle": "لون النافذة",
|
||
"reset": "إعادة إلى الافتراضي",
|
||
"preset": {
|
||
"amber": "كهرماني (افتراضي)",
|
||
"blue": "أزرق",
|
||
"green": "أخضر",
|
||
"slate": "رمادي",
|
||
"rose": "وردي"
|
||
}
|
||
},
|
||
"alert": {
|
||
"title": "الاجتماع التالي",
|
||
"minutesAway_zero": "يبدأ الآن",
|
||
"minutesAway_one": "يبدأ بعد دقيقة",
|
||
"minutesAway_two": "يبدأ بعد دقيقتين",
|
||
"minutesAway_few": "يبدأ بعد {{count}} دقائق",
|
||
"minutesAway_many": "يبدأ بعد {{count}} دقيقة",
|
||
"minutesAway_other": "يبدأ بعد {{count}} دقيقة",
|
||
"startsNow": "يبدأ الآن",
|
||
"atTime": "في {{time}}",
|
||
"done": "تم",
|
||
"postpone": "تأجيل",
|
||
"externalCannotPostpone": "لا يمكن تأجيل اجتماع خارجي تلقائياً.",
|
||
"dismiss": "تجاهل التنبيه",
|
||
"dragHandle": "اسحب للتحريك",
|
||
"dismissToast": "تم تجاهل التنبيه",
|
||
"openMeetings": "فتح الاجتماعات",
|
||
"details": "تفاصيل",
|
||
"detailsClose": "إخفاء التفاصيل",
|
||
"detailsUrl": "رابط الاجتماع",
|
||
"detailsTime": "الوقت",
|
||
"detailsLocation": "المكان",
|
||
"detailsAttendees": "الحضور ({{n}})",
|
||
"detailsNoAttendees": "لا يوجد حضور بعد.",
|
||
"detailsGroup": {
|
||
"internal": "داخلي",
|
||
"external": "خارجي",
|
||
"virtual": "افتراضي"
|
||
},
|
||
"postponeTitle": "تأجيل الاجتماع",
|
||
"postponeIntro": "«{{title}}»",
|
||
"tabPostpone": "تأجيل",
|
||
"tabReschedule": "إعادة الجدولة",
|
||
"tabCancel": "إلغاء",
|
||
"postponeMinutesPlaceholder": "دقائق",
|
||
"postponeMinutesApply_zero": "تأجيل",
|
||
"postponeMinutesApply_one": "تأجيل دقيقة",
|
||
"postponeMinutesApply_two": "تأجيل دقيقتين",
|
||
"postponeMinutesApply_few": "تأجيل {{count}} دقائق",
|
||
"postponeMinutesApply_many": "تأجيل {{count}} دقيقة",
|
||
"postponeMinutesApply_other": "تأجيل {{count}} دقيقة",
|
||
"postponeConfirmPrompt_zero": "هل تريد تأجيل الاجتماع؟",
|
||
"postponeConfirmPrompt_one": "هل تريد تأجيل الاجتماع دقيقة واحدة؟",
|
||
"postponeConfirmPrompt_two": "هل تريد تأجيل الاجتماع دقيقتين؟",
|
||
"postponeConfirmPrompt_few": "هل تريد تأجيل الاجتماع {{count}} دقائق؟",
|
||
"postponeConfirmPrompt_many": "هل تريد تأجيل الاجتماع {{count}} دقيقة؟",
|
||
"postponeConfirmPrompt_other": "هل تريد تأجيل الاجتماع {{count}} دقيقة؟",
|
||
"postponeConfirmYes_zero": "نعم، أجّل",
|
||
"postponeConfirmYes_one": "نعم، أجّل دقيقة",
|
||
"postponeConfirmYes_two": "نعم، أجّل دقيقتين",
|
||
"postponeConfirmYes_few": "نعم، أجّل {{count}} دقائق",
|
||
"postponeConfirmYes_many": "نعم، أجّل {{count}} دقيقة",
|
||
"postponeConfirmYes_other": "نعم، أجّل {{count}} دقيقة",
|
||
"rescheduleHint": "نقل الاجتماع إلى تاريخ أو وقت جديد.",
|
||
"rescheduleDate": "التاريخ",
|
||
"rescheduleStart": "البداية",
|
||
"rescheduleEnd": "النهاية",
|
||
"rescheduleNote": "ملاحظة (اختياري)",
|
||
"rescheduleApply": "إعادة الجدولة",
|
||
"cancelApply": "إلغاء الاجتماع",
|
||
"cancelConfirmPrompt": "هل أنت متأكد؟ سيتم وضع الاجتماع كمُلغى.",
|
||
"cancelConfirmYes": "نعم، إلغاء",
|
||
"back": "رجوع",
|
||
"saved": "تم الحفظ",
|
||
"saveFailed": "تعذّر حفظ التغييرات",
|
||
"conflictWarning": "تنبيه: الوقت الجديد يتداخل مع اجتماع آخر في نفس اليوم.",
|
||
"noTimeWindow": "هذا الاجتماع بدون وقت محدد، لا يمكن تأجيله بدقائق.",
|
||
"staleMeetingTitle": "تم تعديل هذا الاجتماع للتو من قبل مستخدم آخر.",
|
||
"staleMeetingByUser": "{{name}} عدّل هذا الاجتماع للتو.",
|
||
"staleMeetingCurrentTime": "الوقت الحالي: {{start}} – {{end}}.",
|
||
"staleMeetingApplyAnyway_zero": "أضف وقتاً إضافياً على أي حال",
|
||
"staleMeetingApplyAnyway_one": "أضف دقيقة إضافية على أي حال",
|
||
"staleMeetingApplyAnyway_two": "أضف دقيقتين إضافيتين على أي حال",
|
||
"staleMeetingApplyAnyway_few": "أضف {{count}} دقائق إضافية على أي حال",
|
||
"staleMeetingApplyAnyway_many": "أضف {{count}} دقيقة إضافية على أي حال",
|
||
"staleMeetingApplyAnyway_other": "أضف {{count}} دقيقة إضافية على أي حال",
|
||
"cascadeLoading": "جارٍ التحقق من الاجتماعات اللاحقة…",
|
||
"cascadeMinutesUnit_zero": "بدون دقائق",
|
||
"cascadeMinutesUnit_one": "دقيقة واحدة",
|
||
"cascadeMinutesUnit_two": "دقيقتين",
|
||
"cascadeMinutesUnit_few": "{{count}} دقائق",
|
||
"cascadeMinutesUnit_many": "{{count}} دقيقة",
|
||
"cascadeMinutesUnit_other": "{{count}} دقيقة",
|
||
"cascadePromptHeader_zero": "لا توجد اجتماعات لاحقة في هذا اليوم.",
|
||
"cascadePromptHeader_one": "سيتأثر اجتماع واحد لاحق في هذا اليوم. هل تريد تأجيله أيضاً بـ {{minutesText}}؟",
|
||
"cascadePromptHeader_two": "سيتأثر اجتماعان لاحقان في هذا اليوم. هل تريد تأجيلهما أيضاً بـ {{minutesText}}؟",
|
||
"cascadePromptHeader_few": "سيتأثر {{count}} اجتماعات لاحقة في هذا اليوم. هل تريد تأجيلها أيضاً بـ {{minutesText}}؟",
|
||
"cascadePromptHeader_many": "سيتأثر {{count}} اجتماعاً لاحقاً في هذا اليوم. هل تريد تأجيلها أيضاً بـ {{minutesText}}؟",
|
||
"cascadePromptHeader_other": "سيتأثر {{count}} اجتماع لاحق في هذا اليوم. هل تريد تأجيلها أيضاً بـ {{minutesText}}؟",
|
||
"cascadeListTitle": "الاجتماعات المتأثرة:",
|
||
"cascadeColMeetingNumber": "رقم الاجتماع",
|
||
"cascadeColTitle": "العنوان",
|
||
"cascadeColTimes": "من ← إلى",
|
||
"_cascadeListItemNote": "#480: cascadeListItem لم يعد يُستخدم (قائمة الاجتماعات المتأثرة أصبحت جدولاً)؛ احتُفظ به لتفادي تغييرات في أدوات أخرى قد تشير إليه.",
|
||
"cascadeListItem": "{{title}} — {{oldStart}} ← {{newStart}}",
|
||
"cascadeShift_zero": "تأجيل الاجتماعات اللاحقة",
|
||
"cascadeShift_one": "تأجيل اجتماع واحد لاحق",
|
||
"cascadeShift_two": "تأجيل اجتماعين لاحقين",
|
||
"cascadeShift_few": "تأجيل {{count}} اجتماعات لاحقة",
|
||
"cascadeShift_many": "تأجيل {{count}} اجتماعاً لاحقاً",
|
||
"cascadeShift_other": "تأجيل {{count}} اجتماع لاحق",
|
||
"cascadeKeep": "إبقاء أوقاتها كما هي",
|
||
"cascadeMidnightError": "لا يمكن تأجيل اليوم: \"{{title}}\" سينتقل إلى {{projectedStart}}، بعد منتصف الليل.",
|
||
"cascadeAuditDescription": "تم التأجيل التلقائي بمقدار {{minutes}} دقيقة بعد تأجيل الاجتماع رقم {{triggerMeetingId}}."
|
||
},
|
||
"timeEditor": {
|
||
"am": "ص",
|
||
"pm": "م",
|
||
"periodGroupStart": "ص أو م لوقت البدء",
|
||
"periodGroupEnd": "ص أو م لوقت الانتهاء"
|
||
},
|
||
"schedule": {
|
||
"addRow": "أضف اجتماع",
|
||
"newMeetingDefaultAr": "اجتماع جديد",
|
||
"newMeetingDefaultEn": "New meeting",
|
||
"timeStart": "وقت البداية",
|
||
"timeEnd": "وقت النهاية",
|
||
"timeStartShort": "البدء",
|
||
"timeEndShort": "الانتهاء",
|
||
"timeOrderError": "وقت النهاية قبل وقت البداية",
|
||
"timeParseError": "صيغة الوقت غير صحيحة. اكتب الوقت مثل: 09:30 أو 9:30 ص",
|
||
"timeAmbiguousError": "اختر ص أو م للوقت",
|
||
"addAttendee": "أضف حاضر",
|
||
"addSubheading": "+ عنوان فرعي",
|
||
"addVirtualAttendee": "+ حاضر عبر الاتصال المرئي",
|
||
"addInternalAttendee": "+ حاضر داخلي",
|
||
"addExternalAttendee": "+ حاضر خارجي",
|
||
"newAttendeeAria": "اسم الحاضر الجديد",
|
||
"editAttendeeAria": "تعديل اسم الحاضر",
|
||
"newSubheadingAria": "نص العنوان الفرعي الجديد",
|
||
"editSubheadingAria": "تعديل نص العنوان الفرعي",
|
||
"deleteRow": "حذف الاجتماع",
|
||
"deleteRowConfirm": "حذف هذا الاجتماع؟\n\n\"{{title}}\"\n\nلا يمكن التراجع عن هذا الإجراء.",
|
||
"deleted": "تم حذف الاجتماع",
|
||
"editToggle": "تعديل",
|
||
"editToggleAria": "تبديل وضع التعديل",
|
||
"editToggleOn": "وضع التعديل مفعّل",
|
||
"editToggleOff": "وضع التعديل معطّل",
|
||
"saveToggle": "حفظ",
|
||
"saveToggleAria": "إنهاء التعديل وحفظ التغييرات",
|
||
"saveToggleOn": "وضع التعديل مفعّل — انقر للحفظ والخروج",
|
||
"saveToggleOff": "وضع التعديل معطّل — انقر للبدء بالتعديل",
|
||
"bulkSelectRow": "تحديد الاجتماع",
|
||
"bulkSelectAll": "تحديد الكل",
|
||
"bulkSelectionCount": "محدد: {{n}} من {{total}}",
|
||
"bulkClearSelection": "إلغاء التحديد",
|
||
"bulkDeleteSelected": "حذف المحدد",
|
||
"bulkDeleteConfirm": "حذف {{n}}؟",
|
||
"bulkDeleteResultAll": "تم حذف {{n}}",
|
||
"bulkDeletePartial": "تم حذف {{ok}} من {{total}}، فشل {{failed}}",
|
||
"bulkDeleteResultNone": "فشل حذف الاجتماعات المحددة",
|
||
"bulkDeleteUndo": "تراجع",
|
||
"bulkDeleteUndone": "تمت استعادة {{n}}",
|
||
"bulkDeleteUndoPartial": "تمت استعادة {{ok}} من {{total}}",
|
||
"bulkDeleteProgress": "جارٍ الحذف... {{current}} من {{total}} ({{percent}}%)",
|
||
"bulkDeleteUndoFailed": "تعذرت استعادة الاجتماعات",
|
||
"searchPlaceholder": "ابحث عن اجتماع…",
|
||
"searchAria": "ابحث في اجتماعات اليوم",
|
||
"searchClear": "مسح البحث",
|
||
"searchNoMatches": "لا توجد اجتماعات تطابق البحث.",
|
||
"bulkDuplicateSelected": "تكرار إلى تاريخ…",
|
||
"bulkDuplicateTitle": "تكرار {{n}} اجتماع إلى تاريخ",
|
||
"bulkDuplicateConfirm": "تكرار",
|
||
"bulkDuplicating": "جارٍ التكرار…",
|
||
"bulkDuplicateProgress": "جارٍ التكرار... {{current}} من {{total}} ({{percent}}%)",
|
||
"bulkDuplicateResultAll": "تم تكرار {{n}} اجتماع",
|
||
"bulkDuplicatePartial": "تم تكرار {{ok}} من {{total}} وفشل {{failed}}",
|
||
"bulkDuplicateNone": "تعذّر تكرار الاجتماعات المحددة"
|
||
},
|
||
"rowColor": {
|
||
"label": "لون الصف"
|
||
},
|
||
"rowActions": {
|
||
"label": "إجراءات الصف",
|
||
"back": "رجوع"
|
||
},
|
||
"quickActions": {
|
||
"label": "إجراءات سريعة",
|
||
"moveUp": "نقل لأعلى",
|
||
"moveDown": "نقل لأسفل",
|
||
"postpone": "تأجيل",
|
||
"edit": "تعديل"
|
||
},
|
||
"merge": {
|
||
"label": "دمج الخلايا",
|
||
"editLabel": "تعديل الخلية المدموجة",
|
||
"placeholder": "اضغط لإضافة نص",
|
||
"meetingAttendees": "دمج الاجتماع + الحضور",
|
||
"meetingTime": "دمج الاجتماع + الحضور + الوقت",
|
||
"all": "دمج الصف بالكامل",
|
||
"unmerge": "إلغاء الدمج",
|
||
"activeBadge": "مدموج: {{cols}}"
|
||
},
|
||
"nav": {
|
||
"schedule": "جدول الاجتماعات اليومي",
|
||
"manage": "إدارة الاجتماعات",
|
||
"notifications": "التنبيهات",
|
||
"audit": "سجل التعديلات",
|
||
"pdf": "تصدير PDF",
|
||
"settings": "الإعدادات"
|
||
},
|
||
"common": {
|
||
"save": "حفظ",
|
||
"cancel": "إلغاء",
|
||
"delete": "حذف",
|
||
"edit": "تعديل",
|
||
"add": "إضافة",
|
||
"submit": "إرسال",
|
||
"close": "إغلاق",
|
||
"loading": "جارٍ التحميل...",
|
||
"saved": "تم الحفظ",
|
||
"saveFailed": "تعذر الحفظ",
|
||
"actions": "إجراءات",
|
||
"noPermission": "ليست لديك صلاحية لتنفيذ هذا الإجراء",
|
||
"yes": "نعم",
|
||
"no": "لا",
|
||
"all": "الكل",
|
||
"filter": "تصفية",
|
||
"confirm": "تأكيد",
|
||
"confirmTitle": "تأكيد"
|
||
},
|
||
"manage": {
|
||
"heading": "إدارة الاجتماعات",
|
||
"addMeeting": "إضافة اجتماع",
|
||
"editMeeting": "تعديل الاجتماع",
|
||
"deleteMeeting": "حذف الاجتماع",
|
||
"deleteConfirm": "حذف هذا الاجتماع نهائياً؟",
|
||
"noMeetings": "لا توجد اجتماعات لهذا اليوم. اضغط \"إضافة اجتماع\" لإنشاء واحد.",
|
||
"field": {
|
||
"titleAr": "العنوان",
|
||
"titleEn": "العنوان (إنجليزي)",
|
||
"meetingDate": "التاريخ",
|
||
"dailyNumber": "الرقم اليومي",
|
||
"dailyNumberHint": "اتركه فارغاً ليتم الترقيم تلقائياً",
|
||
"startTime": "وقت البدء",
|
||
"endTime": "وقت الانتهاء",
|
||
"location": "المكان",
|
||
"meetingUrl": "رابط الاجتماع",
|
||
"platform": "المنصة",
|
||
"status": "الحالة",
|
||
"isHighlighted": "تمييز (لون أحمر)",
|
||
"notes": "ملاحظات",
|
||
"isExternal": "اجتماع خارجي",
|
||
"isExternalHint": "يصبح صف الاجتماع باللون الأحمر تلقائياً، ولا يدخل في التأجيل التلقائي.",
|
||
"isExternalOn": "نعم",
|
||
"isExternalOff": "لا"
|
||
},
|
||
"attendees": {
|
||
"label": "قائمة الحضور",
|
||
"name": "الاسم",
|
||
"title": "المسمى",
|
||
"id": "رقم الحاضر",
|
||
"type": "نوع الحضور",
|
||
"add": "إضافة عضو",
|
||
"addSubheading": "إضافة عنوان فرعي",
|
||
"subheadingName": "نص العنوان الفرعي",
|
||
"subheadingBadge": "عنوان فرعي",
|
||
"remove": "إزالة",
|
||
"moveUp": "تحريك للأعلى",
|
||
"moveDown": "تحريك للأسفل",
|
||
"dragHandle": "اسحب لإعادة الترتيب",
|
||
"removeAll": "حذف جميع الحضور",
|
||
"removeAllConfirm": "حذف جميع الحضور ({{count}})؟\n\nسيتم تطبيق التغيير عند حفظ الاجتماع."
|
||
},
|
||
"duplicate": "تكرار",
|
||
"duplicateToDate": "تكرار إلى تاريخ",
|
||
"duplicated": "تم تكرار الاجتماع",
|
||
"duplicateFailed": "تعذر تكرار الاجتماع",
|
||
"platform": {
|
||
"none": "بدون",
|
||
"webex": "Webex",
|
||
"teams": "Teams",
|
||
"zoom": "Zoom",
|
||
"other": "أخرى"
|
||
},
|
||
"attendanceType": {
|
||
"internal": "داخلي",
|
||
"virtual": "افتراضي",
|
||
"external": "خارجي"
|
||
},
|
||
"status": {
|
||
"scheduled": "مجدول",
|
||
"cancelled": "ملغى",
|
||
"completed": "منتهٍ",
|
||
"postponed": "مؤجل"
|
||
},
|
||
"errors": {
|
||
"titleRequired": "العنوان بالعربية مطلوب",
|
||
"dateRequired": "التاريخ مطلوب",
|
||
"duplicateNumber": "هذا الرقم اليومي مستخدم بالفعل في هذا التاريخ",
|
||
"saveFailed": "تعذر حفظ الاجتماع",
|
||
"endTimeBeforeStart": "وقت الانتهاء يجب أن يكون بعد وقت البدء"
|
||
}
|
||
},
|
||
"audit": {
|
||
"heading": "سجل التعديلات",
|
||
"empty": "لا توجد قيود في السجل.",
|
||
"filterDate": "تصفية بالتاريخ",
|
||
"filterEntity": "النوع",
|
||
"filter": {
|
||
"from": "من",
|
||
"to": "إلى",
|
||
"actorId": "معرّف المنفّذ",
|
||
"actorPlaceholder": "كل المستخدمين",
|
||
"actorSearch": "ابحث بالاسم...",
|
||
"actorEmpty": "ما فيه نتائج"
|
||
},
|
||
"pageInfo": "عرض",
|
||
"all": "الكل",
|
||
"col": {
|
||
"when": "الوقت",
|
||
"actor": "المستخدم",
|
||
"action": "الإجراء",
|
||
"entity": "النوع",
|
||
"entityId": "المعرف",
|
||
"diff": "التفاصيل",
|
||
"changes": "التغييرات"
|
||
},
|
||
"created": "تم إنشاء",
|
||
"removed": "تم حذف",
|
||
"moreChanges": "تغييرات أخرى",
|
||
"field": {
|
||
"titleAr": "العنوان",
|
||
"titleEn": "العنوان (إنجليزي)",
|
||
"meetingDate": "التاريخ",
|
||
"dailyNumber": "الرقم اليومي",
|
||
"startTime": "وقت البدء",
|
||
"endTime": "وقت الانتهاء",
|
||
"location": "المكان",
|
||
"meetingUrl": "رابط الاجتماع",
|
||
"platform": "المنصة",
|
||
"status": "الحالة",
|
||
"isHighlighted": "مميّز",
|
||
"notes": "ملاحظات",
|
||
"assignedTo": "المُسند إليه",
|
||
"taskType": "نوع المهمة",
|
||
"dueAt": "موعد الاستحقاق",
|
||
"reviewDecision": "قرار المراجعة",
|
||
"reviewNotes": "ملاحظات المراجعة"
|
||
},
|
||
"entity": {
|
||
"meeting": "اجتماع",
|
||
"attendee": "حاضر",
|
||
"request": "طلب",
|
||
"task": "مهمة",
|
||
"font_settings": "إعدادات الخط",
|
||
"pdf_archive": "أرشيف PDF"
|
||
},
|
||
"action": {
|
||
"create": "إنشاء",
|
||
"update": "تعديل",
|
||
"delete": "حذف",
|
||
"approve": "اعتماد",
|
||
"approved": "تم الاعتماد",
|
||
"reject": "رفض",
|
||
"rejected": "تم الرفض",
|
||
"needs_edit": "إعادة للتعديل",
|
||
"withdraw": "سحب",
|
||
"submit": "إرسال",
|
||
"apply": "تطبيق",
|
||
"duplicate": "تكرار",
|
||
"replace_attendees": "تحديث الحضور",
|
||
"done": "تم",
|
||
"meeting_cascade_shift": "تأجيل تلقائي بالتسلسل"
|
||
}
|
||
},
|
||
"pdf": {
|
||
"heading": "تصدير PDF",
|
||
"intro": "",
|
||
"downloadPdf": "تنزيل PDF",
|
||
"downloadHint": "",
|
||
"downloaded": "بدأ تنزيل ملف PDF",
|
||
"selectDate": "تاريخ الجدول",
|
||
"archivesHeading": "ملفات PDF المؤرشفة",
|
||
"noArchives": "لا توجد ملفات PDF مؤرشفة لهذا التاريخ بعد.",
|
||
"downloadArchive": "تنزيل",
|
||
"legacyArchive": "نسخة قديمة",
|
||
"title": "قائمة بأسماء حضور الاجتماعات",
|
||
"no": "م",
|
||
"meeting": "الاجتماع",
|
||
"attendees": "الحضور",
|
||
"time": "الوقت",
|
||
"none": "لا توجد اجتماعات في هذا اليوم.",
|
||
"recordedBy": "مقيد"
|
||
},
|
||
"fontSettingsPage": {
|
||
"heading": "إعدادات الخط",
|
||
"intro": "",
|
||
"scope": "النطاق",
|
||
"scopeUser": "تفضيلي الشخصي",
|
||
"scopeGlobal": "عام (جميع المستخدمين)",
|
||
"fontFamily": "نوع الخط",
|
||
"fontSize": "حجم الخط",
|
||
"fontWeight": "السماكة",
|
||
"alignment": "المحاذاة",
|
||
"fontColor": "لون الخط",
|
||
"logo": {
|
||
"label": "شعار المؤسسة (يظهر أعلى ملف PDF)",
|
||
"upload": "رفع الشعار",
|
||
"replace": "استبدال الشعار",
|
||
"remove": "إزالة الشعار",
|
||
"uploading": "جاري الرفع...",
|
||
"uploadFailed": "فشل رفع الشعار",
|
||
"globalOnly": "يحفظ الشعار للمؤسسة بأكملها."
|
||
},
|
||
"weight": {
|
||
"regular": "عادي",
|
||
"medium": "متوسط",
|
||
"semibold": "نصف عريض",
|
||
"bold": "عريض"
|
||
},
|
||
"align": {
|
||
"start": "بداية",
|
||
"center": "وسط",
|
||
"end": "نهاية"
|
||
},
|
||
"preview": "معاينة",
|
||
"previewText": "نص تجريبي ١٢٣ Sample 123",
|
||
"save": "حفظ الإعدادات",
|
||
"saved": "تم الحفظ",
|
||
"reset": "إعادة الافتراضي"
|
||
}
|
||
}
|
||
}
|