Files
TX/artifacts/tx-os/src/locales/ar.json
T
Riyadh 7bfb4afd1a #635: External meetings + auto-numbering
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.
2026-05-25 11:59:54 +00:00

1661 lines
84 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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": "إعادة الافتراضي"
}
}
}