import en from './en'

const ar: Record<string, string | { name: string; category: string }[]> = {
  ...en,

  // Common
  'common.save': 'حفظ',
  'common.showMore': 'عرض المزيد',
  'common.showLess': 'عرض أقل',
  'common.cancel': 'إلغاء',
  'common.clear': 'مسح',
  'common.delete': 'حذف',
  'common.edit': 'تعديل',
  'common.add': 'إضافة',
  'common.loading': 'جارٍ التحميل...',
  'common.import': 'استيراد',
  'common.select': 'تحديد',
  'common.selectAll': 'تحديد الكل',
  'common.deselectAll': 'إلغاء تحديد الكل',
  'common.error': 'خطأ',
  'common.unknownError': 'خطأ غير معروف',
  'common.tooManyAttempts': 'محاولات كثيرة جدًا. يرجى المحاولة لاحقًا.',
  'common.back': 'رجوع',
  'common.all': 'الكل',
  'common.close': 'إغلاق',
  'common.open': 'فتح',
  'common.upload': 'رفع',
  'common.search': 'بحث',
  'common.confirm': 'تأكيد',
  'common.ok': 'حسنًا',
  'common.yes': 'نعم',
  'common.no': 'لا',
  'common.or': 'أو',
  'common.none': 'لا شيء',
  'common.date': 'التاريخ',
  'common.rename': 'إعادة تسمية',
  'common.discardChanges': 'تجاهل التغييرات',
  'common.discard': 'تجاهل',
  'common.name': 'الاسم',
  'common.email': 'البريد الإلكتروني',
  'common.password': 'كلمة المرور',
  'common.saving': 'جارٍ الحفظ...',
  'common.saved': 'تم الحفظ',
  'common.expand': 'توسيع',
  'common.collapse': 'طي',
  'trips.memberRemoved': '{username} تمت إزالته',
  'trips.memberRemoveError': 'فشل في الإزالة',
  'trips.memberAdded': '{username} تمت إضافته',
  'trips.memberAddError': 'فشل في الإضافة',
  'trips.reminder': 'تذكير',
  'trips.reminderNone': 'بدون',
  'trips.reminderDay': 'يوم',
  'trips.reminderDays': 'أيام',
  'trips.reminderCustom': 'مخصص',
  'trips.reminderDaysBefore': 'أيام قبل المغادرة',
  'trips.reminderDisabledHint': 'تذكيرات الرحلة معطلة. قم بتفعيلها من الإدارة > الإعدادات > الإشعارات.',
  'common.update': 'تحديث',
  'common.change': 'تغيير',
  'common.uploading': 'جارٍ الرفع...',
  'common.backToPlanning': 'العودة إلى التخطيط',
  'common.reset': 'إعادة تعيين',

  // Navbar
  'nav.trip': 'الرحلة',
  'nav.share': 'مشاركة',
  'nav.settings': 'الإعدادات',
  'nav.admin': 'الإدارة',
  'nav.logout': 'تسجيل الخروج',
  'nav.lightMode': 'الوضع الفاتح',
  'nav.darkMode': 'الوضع الداكن',
  'nav.autoMode': 'الوضع التلقائي',
  'nav.administrator': 'المسؤول',
  'nav.myTrips': 'رحلاتي',

  // Dashboard
  'dashboard.title': 'رحلاتي',
  'dashboard.subtitle.loading': 'جارٍ تحميل الرحلات...',
  'dashboard.subtitle.trips': '{count} رحلة ({archived} مؤرشفة)',
  'dashboard.subtitle.empty': 'ابدأ رحلتك الأولى',
  'dashboard.subtitle.activeOne': '{count} رحلة نشطة',
  'dashboard.subtitle.activeMany': '{count} رحلات نشطة',
  'dashboard.subtitle.archivedSuffix': ' · {count} مؤرشفة',
  'dashboard.newTrip': 'رحلة جديدة',
  'dashboard.gridView': 'عرض شبكي',
  'dashboard.listView': 'عرض قائمة',
  'dashboard.currency': 'العملة',
  'dashboard.timezone': 'المناطق الزمنية',
  'dashboard.localTime': 'المحلي',
  'dashboard.timezoneCustomTitle': 'منطقة زمنية مخصصة',
  'dashboard.timezoneCustomLabelPlaceholder': 'الاسم (اختياري)',
  'dashboard.timezoneCustomTzPlaceholder': 'مثال: Asia/Riyadh',
  'dashboard.timezoneCustomAdd': 'إضافة',
  'dashboard.timezoneCustomErrorEmpty': 'أدخل معرّف منطقة زمنية',
  'dashboard.timezoneCustomErrorInvalid': 'منطقة زمنية غير صالحة. استخدم صيغة مثل Asia/Riyadh',
  'dashboard.timezoneCustomErrorDuplicate': 'مضافة بالفعل',
  'dashboard.emptyTitle': 'لا توجد رحلات بعد',
  'dashboard.emptyText': 'أنشئ رحلتك الأولى وابدأ التخطيط',
  'dashboard.emptyButton': 'إنشاء أول رحلة',
  'dashboard.nextTrip': 'الرحلة القادمة',
  'dashboard.shared': 'مشتركة',
  'dashboard.sharedBy': 'شاركها {name}',
  'dashboard.days': 'الأيام',
  'dashboard.places': 'الأماكن',
  'dashboard.members': 'ال חברים',
  'dashboard.archive': 'أرشفة',
  'dashboard.copyTrip': 'نسخ',
  'dashboard.copySuffix': 'نسخة',
  'dashboard.restore': 'استعادة',
  'dashboard.archived': 'مؤرشفة',
  'dashboard.status.ongoing': 'جارية',
  'dashboard.status.today': 'اليوم',
  'dashboard.status.tomorrow': 'غدًا',
  'dashboard.status.past': 'منتهية',
  'dashboard.status.daysLeft': 'متبقي {count} يوم',
  'dashboard.toast.loadError': 'فشل تحميل الرحلات',
  'dashboard.toast.created': 'تم إنشاء الرحلة بنجاح',
  'dashboard.toast.createError': 'فشل إنشاء الرحلة',
  'dashboard.toast.updated': 'تم تحديث الرحلة',
  'dashboard.toast.updateError': 'فشل تحديث الرحلة',
  'dashboard.toast.deleted': 'تم حذف الرحلة',
  'dashboard.toast.deleteError': 'فشل حذف الرحلة',
  'dashboard.toast.archived': 'تمت أرشفة الرحلة',
  'dashboard.toast.archiveError': 'فشل الأرشفة',
  'dashboard.toast.restored': 'تمت استعادة الرحلة',
  'dashboard.toast.restoreError': 'فشل الاستعادة',
  'dashboard.toast.copied': 'تم نسخ الرحلة!',
  'dashboard.toast.copyError': 'فشل نسخ الرحلة',
  'dashboard.confirm.delete': 'حذف الرحلة "{title}"؟ سيتم حذف جميع الأماكن والخطط نهائيًا.',
  'dashboard.editTrip': 'تعديل الرحلة',
  'dashboard.createTrip': 'إنشاء رحلة جديدة',
  'dashboard.tripTitle': 'العنوان',
  'dashboard.tripTitlePlaceholder': 'مثال: صيف في اليابان',
  'dashboard.tripDescription': 'الوصف',
  'dashboard.tripDescriptionPlaceholder': 'عمّ تتحدث هذه الرحلة؟',
  'dashboard.startDate': 'تاريخ البداية',
  'dashboard.endDate': 'تاريخ النهاية',
  'dashboard.dayCount': 'عدد الأيام',
  'dashboard.dayCountHint': 'عدد الأيام المراد التخطيط لها عندما لا يتم تحديد تواريخ السفر.',
  'dashboard.noDateHint': 'لا يوجد تاريخ محدد. سيتم إنشاء 7 أيام افتراضية ويمكنك تغيير ذلك لاحقًا.',
  'dashboard.coverImage': 'صورة الغلاف',
  'dashboard.addCoverImage': 'إضافة صورة غلاف',
  'dashboard.addMembers': 'رفاق السفر',
  'dashboard.addMember': 'إضافة عضو',
  'dashboard.coverSaved': 'تم حفظ صورة الغلاف',
  'dashboard.coverUploadError': 'فشل الرفع',
  'dashboard.coverRemoveError': 'فشل الإزالة',
  'dashboard.titleRequired': 'العنوان مطلوب',
  'dashboard.endDateError': 'يجب أن يكون تاريخ النهاية بعد البداية',

  // Settings
  'settings.title': 'الإعدادات',
  'settings.subtitle': 'ضبط إعداداتك الشخصية',
  'settings.tabs.display': 'العرض',
  'settings.tabs.map': 'الخريطة',
  'settings.tabs.notifications': 'الإشعارات',
  'settings.tabs.integrations': 'التكاملات',
  'settings.tabs.account': 'الحساب',
  'settings.tabs.offline': 'Offline',
  'settings.tabs.about': 'حول',
  'settings.map': 'الخريطة',
  'settings.mapTemplate': 'قالب الخريطة',
  'settings.mapTemplatePlaceholder.select': 'اختر قالبًا...',
  'settings.mapDefaultHint': 'اتركه فارغًا لاستخدام OpenStreetMap افتراضيًا',
  'settings.mapTemplatePlaceholder': 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
  'settings.mapHint': 'قالب URL لبلاطات الخريطة',
  'settings.mapProvider': 'مزود الخريطة',
  'settings.mapProviderHint': 'يؤثر على خرائط Trip Planner و Journey. يستخدم Atlas دائمًا Leaflet.',
  'settings.mapLeafletSubtitle': '2D كلاسيكي، أي بلاطات نقطية',
  'settings.mapMapboxSubtitle': 'بلاطات متجهية ومبانٍ ثلاثية الأبعاد وتضاريس',
  'settings.mapExperimental': 'تجريبي',
  'settings.mapMapboxToken': 'رمز وصول Mapbox',
  'settings.mapMapboxTokenHint': 'الرمز العام (pk.*) من',
  'settings.mapMapboxTokenLink': 'mapbox.com ← رموز الوصول',
  'settings.mapStyle': 'نمط الخريطة',
  'settings.mapStylePlaceholder': 'اختر نمط Mapbox',
  'settings.mapStyleHint': 'إعداد مسبق أو عنوان URL mapbox://styles/USER/ID خاص بك',
  'settings.map3dBuildings': 'مبانٍ ثلاثية الأبعاد وتضاريس',
  'settings.map3dHint': 'إمالة + مبانٍ ثلاثية الأبعاد حقيقية — يعمل مع كل نمط بما في ذلك الأقمار الصناعية.',
  'settings.mapHighQuality': 'وضع الجودة العالية',
  'settings.mapHighQualityHint': 'تحسين الحواف + إسقاط كروي لحواف أكثر حدة وعرض واقعي للعالم.',
  'settings.mapHighQualityWarning': 'قد يؤثر على الأداء في الأجهزة الأقل قدرة.',
  'settings.mapTipLabel': 'نصيحة:',
  'settings.mapTip': 'انقر بزر الماوس الأيمن واسحب لتدوير/إمالة الخريطة. النقر الأوسط لإضافة مكان (النقر الأيمن مخصص للتدوير).',
  'settings.latitude': 'خط العرض',
  'settings.longitude': 'خط الطول',
  'settings.saveMap': 'حفظ الخريطة',
  'settings.apiKeys': 'مفاتيح API',
  'settings.mapsKey': 'مفتاح Google Maps API',
  'settings.mapsKeyHint': 'للبحث عن الأماكن. يتطلب Places API (New).',
  'settings.weatherKey': 'مفتاح OpenWeatherMap API',
  'settings.weatherKeyHint': 'لبيانات الطقس.',
  'settings.keyPlaceholder': 'أدخل المفتاح...',
  'settings.configured': 'مُعدّ',
  'settings.saveKeys': 'حفظ المفاتيح',
  'settings.display': 'العرض',
  'settings.colorMode': 'نمط الألوان',
  'settings.light': 'فاتح',
  'settings.dark': 'داكن',
  'settings.auto': 'تلقائي',
  'settings.language': 'اللغة',
  'settings.temperature': 'وحدة الحرارة',
  'settings.timeFormat': 'تنسيق الوقت',
  'settings.routeCalculation': 'حساب المسار',
  'settings.blurBookingCodes': 'إخفاء رموز الحجز',
  'settings.notifications': 'الإشعارات',
  'settings.notifyTripInvite': 'دعوات الرحلات',
  'settings.notifyBookingChange': 'تغييرات الحجز',
  'settings.notifyTripReminder': 'تذكيرات الرحلات',
  'settings.notifyTodoDue': 'مهمة مستحقة',
  'settings.notifyVacayInvite': 'دعوات دمج الإجازات',
  'settings.notifyPhotosShared': 'صور مشتركة (Immich)',
  'settings.notifyCollabMessage': 'رسائل الدردشة (Collab)',
  'settings.notifyPackingTagged': 'قائمة الأمتعة: التعيينات',
  'settings.notifyWebhook': 'إشعارات Webhook',
  'settings.notificationsDisabled': 'الإشعارات غير مكوّنة. اطلب من المسؤول تفعيل إشعارات البريد الإلكتروني أو Webhook.',
  'settings.notificationsActive': 'القناة النشطة',
  'settings.notificationsManagedByAdmin': 'يتم تكوين أحداث الإشعارات بواسطة المسؤول.',
  'admin.notifications.title': 'الإشعارات',
  'admin.notifications.hint': 'اختر قناة إشعارات واحدة. يمكن تفعيل واحدة فقط في كل مرة.',
  'admin.notifications.none': 'معطّل',
  'admin.notifications.email': 'البريد الإلكتروني (SMTP)',
  'admin.notifications.webhook': 'Webhook',
  'admin.notifications.save': 'حفظ إعدادات الإشعارات',
  'admin.notifications.saved': 'تم حفظ إعدادات الإشعارات',
  'admin.notifications.testWebhook': 'إرسال webhook تجريبي',
  'admin.notifications.testWebhookSuccess': 'تم إرسال webhook التجريبي بنجاح',
  'admin.notifications.testWebhookFailed': 'فشل إرسال webhook التجريبي',
  'admin.smtp.title': 'البريد والإشعارات',
  'admin.smtp.hint': 'تكوين SMTP لإرسال إشعارات البريد الإلكتروني.',
  'admin.smtp.testButton': 'إرسال بريد تجريبي',
  'admin.webhook.hint': 'إرسال الإشعارات إلى webhook خارجي (Discord، Slack، إلخ).',
  'admin.smtp.testSuccess': 'تم إرسال البريد التجريبي بنجاح',
  'admin.smtp.testFailed': 'فشل إرسال البريد التجريبي',
  'dayplan.icsTooltip': 'تصدير التقويم (ICS)',
  'share.linkTitle': 'رابط عام',
  'share.linkHint': 'أنشئ رابطًا يمكن لأي شخص استخدامه لعرض هذه الرحلة بدون تسجيل الدخول. للقراءة فقط — لا يمكن التعديل.',
  'share.createLink': 'إنشاء رابط',
  'share.deleteLink': 'حذف الرابط',
  'share.createError': 'تعذر إنشاء الرابط',
  'common.copy': 'نسخ',
  'common.copied': 'تم النسخ',
  'share.permMap': 'الخريطة والخطة',
  'share.permBookings': 'الحجوزات',
  'share.permPacking': 'الأمتعة',
  'shared.expired': 'الرابط منتهي أو غير صالح',
  'shared.expiredHint': 'رابط الرحلة المشترك لم يعد نشطًا.',
  'shared.readOnly': 'عرض للقراءة فقط',
  'shared.tabPlan': 'الخطة',
  'shared.tabBookings': 'الحجوزات',
  'shared.tabPacking': 'قائمة التعبئة',
  'shared.tabBudget': 'الميزانية',
  'shared.tabChat': 'الدردشة',
  'shared.days': 'أيام',
  'shared.places': 'أماكن',
  'shared.other': 'أخرى',
  'shared.totalBudget': 'إجمالي الميزانية',
  'shared.messages': 'رسائل',
  'shared.sharedVia': 'تمت المشاركة عبر',
  'shared.confirmed': 'مؤكد',
  'shared.pending': 'قيد الانتظار',
  'share.permBudget': 'الميزانية',
  'share.permCollab': 'الدردشة',
  'settings.on': 'تشغيل',
  'settings.off': 'إيقاف',
  'settings.mcp.title': 'إعداد MCP',
  'settings.mcp.endpoint': 'نقطة نهاية MCP',
  'settings.mcp.clientConfig': 'إعداد العميل',
  'settings.mcp.clientConfigHint': 'استبدل <your_token> برمز API من القائمة أدناه. قد يحتاج مسار npx إلى ضبط وفق نظامك (مثلاً C:\\PROGRA~1\\nodejs\\npx.cmd على Windows).',
  'settings.mcp.clientConfigHintOAuth': 'استبدل <your_client_id> و<your_client_secret> ببيانات الاعتماد المعروضة في عميل OAuth 2.1 الذي أنشأته أعلاه. سيفتح mcp-remote متصفحك لإتمام التفويض في أول اتصال. قد يحتاج مسار npx إلى تعديل حسب نظامك (مثال: C:\PROGRA~1\nodejs\npx.cmd على Windows).',
  'settings.mcp.copy': 'نسخ',
  'settings.mcp.copied': 'تم النسخ!',
  'settings.mcp.apiTokens': 'رموز API',
  'settings.mcp.createToken': 'إنشاء رمز جديد',
  'settings.mcp.noTokens': 'لا توجد رموز بعد. أنشئ رمزاً للاتصال بعملاء MCP.',
  'settings.mcp.tokenCreatedAt': 'أُنشئ',
  'settings.mcp.tokenUsedAt': 'استُخدم',
  'settings.mcp.deleteTokenTitle': 'حذف الرمز',
  'settings.mcp.deleteTokenMessage': 'سيتوقف هذا الرمز عن العمل فوراً. أي عميل MCP يستخدمه سيفقد الوصول.',
  'settings.mcp.modal.createTitle': 'إنشاء رمز API',
  'settings.mcp.modal.tokenName': 'اسم الرمز',
  'settings.mcp.modal.tokenNamePlaceholder': 'مثال: Claude Desktop، حاسوب العمل',
  'settings.mcp.modal.creating': 'جارٍ الإنشاء…',
  'settings.mcp.modal.create': 'إنشاء الرمز',
  'settings.mcp.modal.createdTitle': 'تم إنشاء الرمز',
  'settings.mcp.modal.createdWarning': 'سيُعرض هذا الرمز مرة واحدة فقط. انسخه واحفظه الآن — لا يمكن استرداده.',
  'settings.mcp.modal.done': 'تم',
  'settings.mcp.toast.created': 'تم إنشاء الرمز',
  'settings.mcp.toast.createError': 'فشل إنشاء الرمز',
  'settings.mcp.toast.deleted': 'تم حذف الرمز',
  'settings.mcp.toast.deleteError': 'فشل حذف الرمز',
  'settings.mcp.apiTokensDeprecated': 'رموز API قديمة وستُزال في إصدار مستقبلي. يُرجى استخدام عملاء OAuth 2.1 بدلاً منها.',
  'settings.oauth.clients': 'عملاء OAuth 2.1',
  'settings.oauth.clientsHint': 'سجّل عملاء OAuth 2.1 للسماح لتطبيقات MCP الخارجية (Claude Web وCursor وغيرها) بالاتصال دون رموز ثابتة.',
  'settings.oauth.createClient': 'عميل جديد',
  'settings.oauth.noClients': 'لا يوجد عملاء OAuth مسجلون.',
  'settings.oauth.clientId': 'معرّف العميل',
  'settings.oauth.clientSecret': 'سر العميل',
  'settings.oauth.deleteClient': 'حذف العميل',
  'settings.oauth.deleteClientMessage': 'سيتم حذف هذا العميل وجميع الجلسات النشطة بشكل دائم. ستفقد أي تطبيق يستخدمه وصوله فوراً.',
  'settings.oauth.rotateSecret': 'تجديد السر',
  'settings.oauth.rotateSecretMessage': 'سيتم إنشاء سر عميل جديد وإبطال جميع الجلسات الحالية فوراً. حدّث تطبيقك قبل إغلاق هذا الحوار.',
  'settings.oauth.rotateSecretConfirm': 'تجديد',
  'settings.oauth.rotateSecretConfirming': 'جارٍ التجديد…',
  'settings.oauth.rotateSecretDoneTitle': 'تم إنشاء سر جديد',
  'settings.oauth.rotateSecretDoneWarning': 'يُعرض هذا السر مرة واحدة فقط. انسخه الآن وحدّث تطبيقك — تم إبطال جميع الجلسات السابقة.',
  'settings.oauth.activeSessions': 'جلسات OAuth النشطة',
  'settings.oauth.sessionScopes': 'النطاقات',
  'settings.oauth.sessionExpires': 'تنتهي',
  'settings.oauth.revoke': 'إلغاء',
  'settings.oauth.revokeSession': 'إلغاء الجلسة',
  'settings.oauth.revokeSessionMessage': 'سيؤدي هذا إلى إلغاء الوصول لهذه الجلسة OAuth فوراً.',
  'settings.oauth.modal.createTitle': 'تسجيل عميل OAuth',
  'settings.oauth.modal.presets': 'إعدادات سريعة',
  'settings.oauth.modal.clientName': 'اسم التطبيق',
  'settings.oauth.modal.clientNamePlaceholder': 'مثال: Claude Web، تطبيق MCP الخاص بي',
  'settings.oauth.modal.redirectUris': 'عناوين URI لإعادة التوجيه',
  'settings.oauth.modal.redirectUrisPlaceholder': 'https://your-app.com/callback\nhttps://your-app.com/auth',
  'settings.oauth.modal.redirectUrisHint': 'عنوان URI واحد لكل سطر. يُطلب HTTPS (localhost مستثنى). يُطبق تطابق دقيق.',
  'settings.oauth.modal.scopes': 'النطاقات المسموح بها',
  'settings.oauth.modal.scopesHint': 'list_trips وget_trip_summary متاحان دائماً — لا يُطلب نطاق. يساعدان الذكاء الاصطناعي في اكتشاف معرّفات الرحلات.',
  'settings.oauth.modal.selectAll': 'تحديد الكل',
  'settings.oauth.modal.deselectAll': 'إلغاء تحديد الكل',
  'settings.oauth.modal.creating': 'جارٍ التسجيل…',
  'settings.oauth.modal.create': 'تسجيل العميل',
  'settings.oauth.modal.createdTitle': 'تم تسجيل العميل',
  'settings.oauth.modal.createdWarning': 'يُعرض سر العميل مرة واحدة فقط. انسخه الآن — لا يمكن استرداده.',
  'settings.oauth.toast.createError': 'فشل تسجيل عميل OAuth',
  'settings.oauth.toast.deleted': 'تم حذف عميل OAuth',
  'settings.oauth.toast.deleteError': 'فشل حذف عميل OAuth',
  'settings.oauth.toast.revoked': 'تم إلغاء الجلسة',
  'settings.oauth.toast.revokeError': 'فشل إلغاء الجلسة',
  'settings.oauth.toast.rotateError': 'فشل تجديد سر العميل',
  'settings.account': 'الحساب',
  'settings.about': 'حول',
  'settings.about.reportBug': 'الإبلاغ عن خطأ',
  'settings.about.reportBugHint': 'وجدت مشكلة؟ أخبرنا',
  'settings.about.featureRequest': 'اقتراح ميزة',
  'settings.about.featureRequestHint': 'اقترح ميزة جديدة',
  'settings.about.wikiHint': 'التوثيق والأدلة',
  'settings.about.supporters.badge': 'الداعمون الشهريون',
  'settings.about.supporters.title': 'رفاق رحلة TREK',
  'settings.about.supporters.subtitle': 'بينما تخطّط لمسارك التالي، يساعد هؤلاء الأشخاص في التخطيط لمستقبل TREK. تذهب مساهمتهم الشهرية مباشرةً إلى التطوير والساعات الفعلية المبذولة — حتى يظلّ TREK مفتوح المصدر.',
  'settings.about.supporters.since': 'داعم منذ {date}',
  'settings.about.supporters.tierEmpty': 'كن الأول',
  'settings.about.supporter.tier.noReturnTicket': 'No Return Ticket',
  'settings.about.supporter.tier.lostLuggageVip': 'Lost Luggage VIP',
  'settings.about.supporter.tier.businessClassDreamer': 'Business Class Dreamer',
  'settings.about.supporter.tier.budgetTraveller': 'Budget Traveller',
  'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate',
  'settings.about.description': 'TREK هو مخطط سفر مستضاف ذاتيًا يساعدك على تنظيم رحلاتك من أول فكرة حتى آخر ذكرى. تخطيط يومي، ميزانية، قوائم تعبئة، صور والمزيد — كل شيء في مكان واحد، على خادمك الخاص.',
  'settings.about.madeWith': 'صُنع بـ',
  'settings.about.madeBy': 'بواسطة موريس ومجتمع مفتوح المصدر متنامٍ.',
  'settings.username': 'اسم المستخدم',
  'settings.email': 'البريد الإلكتروني',
  'settings.role': 'الدور',
  'settings.roleAdmin': 'مسؤول',
  'settings.oidcLinked': 'مرتبط مع',
  'settings.changePassword': 'تغيير كلمة المرور',
  'settings.mustChangePassword': 'يجب عليك تغيير كلمة المرور قبل المتابعة. يرجى تعيين كلمة مرور جديدة أدناه.',
  'settings.currentPassword': 'كلمة المرور الحالية',
  'settings.currentPasswordRequired': 'كلمة المرور الحالية مطلوبة',
  'settings.newPassword': 'كلمة المرور الجديدة',
  'settings.confirmPassword': 'تأكيد كلمة المرور الجديدة',
  'settings.updatePassword': 'تحديث كلمة المرور',
  'settings.passwordRequired': 'أدخل كلمة المرور الحالية والجديدة',
  'settings.passwordTooShort': 'يجب أن تتكون كلمة المرور من 8 أحرف على الأقل',
  'settings.passwordMismatch': 'كلمتا المرور غير متطابقتين',
  'settings.passwordWeak': 'يجب أن تحتوي كلمة المرور على حرف كبير وحرف صغير ورقم ورمز خاص',
  'settings.passwordChanged': 'تم تغيير كلمة المرور بنجاح',
  'settings.deleteAccount': 'حذف الحساب',
  'settings.deleteAccountTitle': 'هل تريد حذف حسابك؟',
  'settings.deleteAccountWarning': 'سيتم حذف حسابك وجميع رحلاتك وأماكنك وملفاتك نهائيًا. لا يمكن التراجع عن ذلك.',
  'settings.deleteAccountConfirm': 'حذف نهائي',
  'settings.deleteBlockedTitle': 'الحذف غير ممكن',
  'settings.deleteBlockedMessage': 'أنت المسؤول الوحيد. قم بترقية مستخدم آخر إلى مسؤول قبل حذف حسابك.',
  'settings.roleUser': 'مستخدم',
  'settings.saveProfile': 'حفظ الملف الشخصي',
  'settings.toast.mapSaved': 'تم حفظ إعدادات الخريطة',
  'settings.toast.keysSaved': 'تم حفظ مفاتيح API',
  'settings.toast.displaySaved': 'تم حفظ إعدادات العرض',
  'settings.toast.profileSaved': 'تم حفظ الملف الشخصي',
  'settings.uploadAvatar': 'رفع صورة الملف الشخصي',
  'settings.removeAvatar': 'إزالة صورة الملف الشخصي',
  'settings.avatarUploaded': 'تم تحديث صورة الملف الشخصي',
  'settings.avatarRemoved': 'تمت إزالة صورة الملف الشخصي',
  'settings.avatarError': 'فشل الرفع',
  'settings.mfa.title': 'المصادقة الثنائية (2FA)',
  'settings.mfa.description': 'تضيف خطوة ثانية عند تسجيل الدخول. استخدم تطبيق مصادقة (Google Authenticator، Authy، إلخ).',
  'settings.mfa.requiredByPolicy': 'المسؤول يتطلب المصادقة الثنائية. اضبط تطبيق المصادقة أدناه قبل المتابعة.',
  'settings.mfa.backupTitle': 'رموز النسخ الاحتياطي',
  'settings.mfa.backupDescription': 'استخدم هذه الرموز لمرة واحدة إذا فقدت الوصول إلى تطبيق المصادقة.',
  'settings.mfa.backupWarning': 'احفظ هذه الرموز الآن. كل رمز يمكن استخدامه مرة واحدة فقط.',
  'settings.mfa.backupCopy': 'نسخ الرموز',
  'settings.mfa.backupDownload': 'تنزيل TXT',
  'settings.mfa.backupPrint': 'طباعة / PDF',
  'settings.mfa.backupCopied': 'تم نسخ رموز النسخ الاحتياطي',
  'settings.mfa.enabled': 'المصادقة الثنائية مفعّلة على حسابك.',
  'settings.mfa.disabled': 'المصادقة الثنائية غير مفعّلة.',
  'settings.mfa.setup': 'إعداد المصادقة',
  'settings.mfa.scanQr': 'امسح رمز QR بتطبيقك أو أدخل المفتاح يدويًا.',
  'settings.mfa.secretLabel': 'المفتاح السري (إدخال يدوي)',
  'settings.mfa.codePlaceholder': 'رمز من 6 أرقام',
  'settings.mfa.enable': 'تفعيل 2FA',
  'settings.mfa.cancelSetup': 'إلغاء',
  'settings.mfa.disableTitle': 'تعطيل 2FA',
  'settings.mfa.disableHint': 'أدخل كلمة مرور حسابك ورمزًا حاليًا من المصادقة.',
  'settings.mfa.disable': 'تعطيل 2FA',
  'settings.mfa.toastEnabled': 'تم تفعيل المصادقة الثنائية',
  'settings.mfa.toastDisabled': 'تم تعطيل المصادقة الثنائية',
  'settings.mfa.demoBlocked': 'غير متاح في الوضع التجريبي',

  // Login
  'login.error': 'فشل تسجيل الدخول. يرجى التحقق من بياناتك.',
  'login.tagline': 'رحلاتك.\nخطتك.',
  'login.description': 'خطط لرحلاتك بشكل تعاوني مع خرائط تفاعلية وميزانيات ومزامنة لحظية.',
  'login.features.maps': 'خرائط تفاعلية',
  'login.features.mapsDesc': 'Google Places ومسارات وتجميع',
  'login.features.realtime': 'مزامنة فورية',
  'login.features.realtimeDesc': 'خططوا معًا عبر WebSocket',
  'login.features.budget': 'تتبع الميزانية',
  'login.features.budgetDesc': 'فئات ورسوم وتقسيم لكل شخص',
  'login.features.collab': 'تعاون',
  'login.features.collabDesc': 'عدة مستخدمين مع رحلات مشتركة',
  'login.features.packing': 'قوائم تجهيز',
  'login.features.packingDesc': 'فئات وتقدم واقتراحات',
  'login.features.bookings': 'الحجوزات',
  'login.features.bookingsDesc': 'رحلات وفنادق ومطاعم وغير ذلك',
  'login.features.files': 'المستندات',
  'login.features.filesDesc': 'رفع الملفات وإدارتها',
  'login.features.routes': 'مسارات ذكية',
  'login.features.routesDesc': 'تحسين تلقائي وتصدير إلى Google Maps',
  'login.selfHosted': 'استضافة ذاتية · مفتوح المصدر · بياناتك تبقى ملكك',
  'login.title': 'تسجيل الدخول',
  'login.subtitle': 'مرحبًا بعودتك',
  'login.signingIn': 'جارٍ تسجيل الدخول…',
  'login.signIn': 'دخول',
  'login.createAdmin': 'إنشاء حساب مسؤول',
  'login.createAdminHint': 'أعد إعداد أول حساب مسؤول لـ TREK.',
  'login.setNewPassword': 'تعيين كلمة مرور جديدة',
  'login.setNewPasswordHint': 'يجب عليك تغيير كلمة المرور قبل المتابعة.',
  'login.createAccount': 'إنشاء حساب',
  'login.createAccountHint': 'سجّل حسابًا جديدًا.',
  'login.creating': 'جارٍ الإنشاء…',
  'login.noAccount': 'ليس لديك حساب؟',
  'login.hasAccount': 'لديك حساب بالفعل؟',
  'login.register': 'تسجيل',
  'login.emailPlaceholder': 'your@email.com',
  'login.username': 'اسم المستخدم',
  'login.oidc.registrationDisabled': 'التسجيل معطّل. تواصل مع المسؤول.',
  'login.oidc.noEmail': 'لم يتم استلام بريد إلكتروني من المزوّد.',
  'login.oidc.tokenFailed': 'فشلت المصادقة.',
  'login.oidc.invalidState': 'جلسة غير صالحة. حاول مرة أخرى.',
  'login.demoFailed': 'فشل الدخول إلى العرض التجريبي',
  'login.oidcSignIn': 'تسجيل الدخول عبر {name}',
  'login.oidcOnly': 'تم تعطيل المصادقة بكلمة المرور. يرجى تسجيل الدخول عبر مزود SSO.',
  'login.oidcLoggedOut': 'تم تسجيل خروجك. سجّل الدخول مجدداً عبر مزود SSO.',
  'login.demoHint': 'جرّب العرض التجريبي دون الحاجة للتسجيل',
  'login.mfaTitle': 'المصادقة الثنائية',
  'login.mfaSubtitle': 'أدخل الرمز المكون من 6 أرقام من تطبيق المصادقة.',
  'login.mfaCodeLabel': 'رمز التحقق',
  'login.mfaCodeRequired': 'أدخل الرمز من تطبيق المصادقة.',
  'login.mfaHint': 'افتح Google Authenticator أو Authy أو أي تطبيق TOTP آخر.',
  'login.mfaBack': '← العودة لتسجيل الدخول',
  'login.mfaVerify': 'تحقق',
  'login.invalidInviteLink': 'رابط الدعوة غير صالح أو منتهي الصلاحية',
  'login.oidcFailed': 'فشل تسجيل الدخول عبر OIDC',
  'login.usernameRequired': 'اسم المستخدم مطلوب',
  'login.passwordMinLength': 'يجب أن تكون كلمة المرور 8 أحرف على الأقل',
  'login.forgotPassword': 'نسيت كلمة المرور؟',
  'login.forgotPasswordTitle': 'إعادة تعيين كلمة المرور',
  'login.forgotPasswordBody': 'أدخل عنوان البريد الإلكتروني المسجَّل. إذا كان الحساب موجودًا، سنرسل رابط إعادة التعيين.',
  'login.forgotPasswordSubmit': 'إرسال الرابط',
  'login.forgotPasswordSentTitle': 'تحقق من بريدك',
  'login.forgotPasswordSentBody': 'إذا كان هناك حساب مرتبط بهذا البريد، فإن الرابط في الطريق. تنتهي صلاحيته خلال 60 دقيقة.',
  'login.forgotPasswordSmtpHintOff': 'ملاحظة: لم يقم المسؤول بتكوين SMTP، لذا سيتم كتابة رابط إعادة التعيين في وحدة تحكم الخادم بدلاً من إرساله عبر البريد الإلكتروني.',
  'login.backToLogin': 'العودة إلى تسجيل الدخول',
  'login.newPassword': 'كلمة المرور الجديدة',
  'login.confirmPassword': 'تأكيد كلمة المرور الجديدة',
  'login.passwordsDontMatch': 'كلمتا المرور غير متطابقتين',
  'login.mfaCode': 'رمز 2FA',
  'login.resetPasswordTitle': 'ضبط كلمة مرور جديدة',
  'login.resetPasswordBody': 'اختر كلمة مرور قوية لم تستخدمها هنا من قبل. 8 أحرف على الأقل.',
  'login.resetPasswordMfaBody': 'أدخل رمز 2FA أو رمز النسخ الاحتياطي لإتمام إعادة التعيين.',
  'login.resetPasswordSubmit': 'إعادة تعيين كلمة المرور',
  'login.resetPasswordVerify': 'تحقق وأعد التعيين',
  'login.resetPasswordSuccessTitle': 'تم تحديث كلمة المرور',
  'login.resetPasswordSuccessBody': 'يمكنك الآن تسجيل الدخول بكلمة المرور الجديدة.',
  'login.resetPasswordInvalidLink': 'رابط إعادة تعيين غير صالح',
  'login.resetPasswordInvalidLinkBody': 'هذا الرابط مفقود أو تالف. اطلب رابطًا جديدًا للمتابعة.',
  'login.resetPasswordFailed': 'فشلت إعادة التعيين. ربما انتهت صلاحية الرابط.',

  // Register
  'register.passwordMismatch': 'كلمتا المرور غير متطابقتين',
  'register.passwordTooShort': 'يجب أن تتكون كلمة المرور من 8 أحرف على الأقل',
  'register.failed': 'فشل التسجيل',
  'register.getStarted': 'ابدأ الآن',
  'register.subtitle': 'أنشئ حسابًا وابدأ التخطيط لرحلات أحلامك.',
  'register.feature1': 'خطط رحلات غير محدودة',
  'register.feature2': 'عرض خريطة تفاعلي',
  'register.feature3': 'إدارة الأماكن والفئات',
  'register.feature4': 'تتبع الحجوزات',
  'register.feature5': 'إنشاء قوائم تجهيز',
  'register.feature6': 'حفظ الصور والملفات',
  'register.createAccount': 'إنشاء حساب',
  'register.startPlanning': 'ابدأ تخطيط رحلتك',
  'register.minChars': '6 أحرف على الأقل',
  'register.confirmPassword': 'تأكيد كلمة المرور',
  'register.repeatPassword': 'إعادة كلمة المرور',
  'register.registering': 'جارٍ التسجيل...',
  'register.register': 'تسجيل',
  'register.hasAccount': 'لديك حساب بالفعل؟',
  'register.signIn': 'تسجيل الدخول',

  // Admin
  'admin.title': 'الإدارة',
  'admin.subtitle': 'إدارة المستخدمين وإعدادات النظام',
  'admin.tabs.users': 'المستخدمون',
  'admin.tabs.categories': 'الفئات',
  'admin.tabs.backup': 'النسخ الاحتياطي',
  'admin.tabs.audit': 'تدقيق',
  'admin.tabs.settings': 'الإعدادات',
  'admin.tabs.config': 'التخصيص',
  'admin.tabs.defaults': 'الإعدادات الافتراضية',
  'admin.defaultSettings.title': 'إعدادات المستخدم الافتراضية',
  'admin.defaultSettings.description': 'تعيين الإعدادات الافتراضية على مستوى النظام. سيرى المستخدمون الذين لم يغيروا إعدادًا هذه القيم. تحظى تغييراتهم دائمًا بالأولوية.',
  'admin.defaultSettings.saved': 'تم حفظ الإعداد الافتراضي',
  'admin.defaultSettings.reset': 'إعادة التعيين إلى الإعداد الافتراضي المدمج',
  'admin.defaultSettings.resetToBuiltIn': 'إعادة تعيين',
  'admin.tabs.templates': 'قوالب التعبئة',
  'admin.tabs.addons': 'الإضافات',
  'admin.tabs.mcpTokens': 'وصول MCP',
  'admin.mcpTokens.title': 'وصول MCP',
  'admin.mcpTokens.subtitle': 'إدارة جلسات OAuth ورموز API لجميع المستخدمين',
  'admin.mcpTokens.sectionTitle': 'رموز API',
  'admin.mcpTokens.owner': 'المالك',
  'admin.mcpTokens.tokenName': 'اسم الرمز',
  'admin.mcpTokens.created': 'تاريخ الإنشاء',
  'admin.mcpTokens.lastUsed': 'آخر استخدام',
  'admin.mcpTokens.never': 'أبداً',
  'admin.mcpTokens.empty': 'لم يتم إنشاء أي رموز MCP بعد',
  'admin.mcpTokens.deleteTitle': 'حذف الرمز',
  'admin.mcpTokens.deleteMessage': 'سيتم إلغاء هذا الرمز فوراً. سيفقد المستخدم وصوله إلى MCP عبر هذا الرمز.',
  'admin.mcpTokens.deleteSuccess': 'تم حذف الرمز',
  'admin.mcpTokens.deleteError': 'فشل حذف الرمز',
  'admin.mcpTokens.loadError': 'فشل تحميل الرموز',
  'admin.oauthSessions.sectionTitle': 'جلسات OAuth',
  'admin.oauthSessions.clientName': 'العميل',
  'admin.oauthSessions.owner': 'المالك',
  'admin.oauthSessions.scopes': 'الصلاحيات',
  'admin.oauthSessions.created': 'تاريخ الإنشاء',
  'admin.oauthSessions.empty': 'لا توجد جلسات OAuth نشطة',
  'admin.oauthSessions.revokeTitle': 'إلغاء الجلسة',
  'admin.oauthSessions.revokeMessage': 'سيتم إلغاء جلسة OAuth هذه فوراً. سيفقد العميل وصوله إلى MCP.',
  'admin.oauthSessions.revokeSuccess': 'تم إلغاء الجلسة',
  'admin.oauthSessions.revokeError': 'فشل إلغاء الجلسة',
  'admin.oauthSessions.loadError': 'فشل تحميل جلسات OAuth',
  'admin.tabs.github': 'GitHub',
  'admin.stats.users': 'المستخدمون',
  'admin.stats.trips': 'الرحلات',
  'admin.stats.places': 'الأماكن',
  'admin.stats.photos': 'الصور',
  'admin.stats.files': 'الملفات',
  'admin.table.user': 'المستخدم',
  'admin.table.email': 'البريد الإلكتروني',
  'admin.table.role': 'الدور',
  'admin.table.created': 'تم الإنشاء',
  'admin.table.lastLogin': 'آخر تسجيل دخول',
  'admin.table.actions': 'الإجراءات',
  'admin.you': '(أنت)',
  'admin.editUser': 'تعديل المستخدم',
  'admin.newPassword': 'كلمة مرور جديدة',
  'admin.newPasswordHint': 'اتركه فارغًا للاحتفاظ بالحالية',
  'admin.deleteUser': 'حذف المستخدم "{name}"؟ سيتم حذف جميع الرحلات نهائيًا.',
  'admin.deleteUserTitle': 'حذف المستخدم',
  'admin.newPasswordPlaceholder': 'أدخل كلمة مرور جديدة…',
  'admin.toast.loadError': 'فشل تحميل بيانات الإدارة',
  'admin.toast.userUpdated': 'تم تحديث المستخدم',
  'admin.toast.updateError': 'فشل التحديث',
  'admin.toast.userDeleted': 'تم حذف المستخدم',
  'admin.toast.deleteError': 'فشل الحذف',
  'admin.toast.cannotDeleteSelf': 'لا يمكنك حذف حسابك الخاص',
  'admin.toast.userCreated': 'تم إنشاء المستخدم',
  'admin.toast.createError': 'فشل إنشاء المستخدم',
  'admin.toast.fieldsRequired': 'اسم المستخدم والبريد الإلكتروني وكلمة المرور مطلوبة',
  'admin.createUser': 'إنشاء مستخدم',
  'admin.invite.title': 'روابط الدعوة',
  'admin.invite.subtitle': 'إنشاء روابط تسجيل للاستخدام المحدود',
  'admin.invite.create': 'إنشاء رابط',
  'admin.invite.createAndCopy': 'إنشاء ونسخ',
  'admin.invite.empty': 'لم يتم إنشاء روابط دعوة بعد',
  'admin.invite.maxUses': 'الحد الأقصى للاستخدام',
  'admin.invite.expiry': 'تنتهي بعد',
  'admin.invite.uses': 'مستخدم',
  'admin.invite.expiresAt': 'تنتهي في',
  'admin.invite.createdBy': 'بواسطة',
  'admin.invite.active': 'نشط',
  'admin.invite.expired': 'منتهي',
  'admin.invite.usedUp': 'مستنفد',
  'admin.invite.copied': 'تم نسخ رابط الدعوة',
  'admin.invite.copyLink': 'نسخ الرابط',
  'admin.invite.deleted': 'تم حذف رابط الدعوة',
  'admin.invite.createError': 'فشل إنشاء رابط الدعوة',
  'admin.invite.deleteError': 'فشل حذف رابط الدعوة',
  'admin.allowRegistration': 'السماح بالتسجيل',
  'admin.allowRegistrationHint': 'يمكن للمستخدمين الجدد التسجيل بأنفسهم',
  'admin.authMethods': 'Authentication Methods',
  'admin.passwordLogin': 'Password Login',
  'admin.passwordLoginHint': 'Allow users to sign in with email and password',
  'admin.passwordRegistration': 'Password Registration',
  'admin.passwordRegistrationHint': 'Allow new users to register with email and password',
  'admin.oidcLogin': 'SSO Login',
  'admin.oidcLoginHint': 'Allow users to sign in with SSO',
  'admin.oidcRegistration': 'SSO Auto-Provisioning',
  'admin.oidcRegistrationHint': 'Automatically create accounts for new SSO users',
  'admin.envOverrideHint': 'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.',
  'admin.lockoutWarning': 'At least one login method must remain enabled',
  'admin.requireMfa': 'فرض المصادقة الثنائية (2FA)',
  'admin.requireMfaHint': 'يجب على المستخدمين الذين لا يملكون 2FA إكمال الإعداد في الإعدادات قبل استخدام التطبيق.',
  'admin.apiKeys': 'مفاتيح API',
  'admin.apiKeysHint': 'اختياري. يُفعّل بيانات الأماكن الموسعة مثل الصور والطقس.',
  'admin.mapsKey': 'مفتاح Google Maps API',
  'admin.mapsKeyHint': 'مطلوب للبحث عن الأماكن. احصل عليه من console.cloud.google.com',
  'admin.mapsKeyHintLong': 'بدون مفتاح API، يُستخدم OpenStreetMap للبحث. مع مفتاح Google يمكن تحميل الصور والتقييمات وساعات العمل أيضًا. احصل عليه من console.cloud.google.com.',
  'admin.recommended': 'مُوصى به',
  'admin.weatherKey': 'مفتاح OpenWeatherMap API',
  'admin.weatherKeyHint': 'لبيانات الطقس. مجاني من openweathermap.org',
  'admin.validateKey': 'اختبار',
  'admin.keyValid': 'متصل',
  'admin.keyInvalid': 'غير صالح',
  'admin.keySaved': 'تم حفظ مفاتيح API',
  'admin.oidcTitle': 'تسجيل الدخول الموحد (OIDC)',
  'admin.oidcSubtitle': 'السماح بتسجيل الدخول عبر مزودين خارجيين مثل Google أو Apple أو Authentik أو Keycloak.',
  'admin.oidcDisplayName': 'الاسم المعروض',
  'admin.oidcIssuer': 'عنوان URL للمُصدر',
  'admin.oidcIssuerHint': 'عنوان OpenID Connect Issuer URL للمزود. مثال: https://accounts.google.com',
  'admin.oidcSaved': 'تم حفظ إعدادات OIDC',
  'admin.oidcOnlyMode': 'تعطيل المصادقة بكلمة المرور',
  'admin.oidcOnlyModeHint': 'عند التفعيل، يُسمح فقط بتسجيل الدخول عبر SSO. سيتم حظر تسجيل الدخول والتسجيل بكلمة المرور.',

  // File Types
  'admin.fileTypes': 'أنواع الملفات المسموح بها',
  'admin.fileTypesHint': 'حدد أنواع الملفات التي يمكن للمستخدمين رفعها.',
  'admin.fileTypesFormat': 'امتدادات مفصولة بفواصل (مثل jpg,png,pdf,doc). استخدم * للسماح بجميع الأنواع.',
  'admin.fileTypesSaved': 'تم حفظ إعدادات أنواع الملفات',

  // Packing Templates & Bag Tracking
  'admin.placesPhotos.title': 'صور الأماكن',
  'admin.placesPhotos.subtitle': 'جلب الصور من Google Places API. عطّلها للحفاظ على حصة API. صور Wikimedia غير متأثرة.',
  'admin.placesAutocomplete.title': 'الإكمال التلقائي للأماكن',
  'admin.placesAutocomplete.subtitle': 'استخدام Google Places API لاقتراحات البحث. عطّلها للحفاظ على حصة API.',
  'admin.placesDetails.title': 'تفاصيل الأماكن',
  'admin.placesDetails.subtitle': 'جلب معلومات تفصيلية عن الأماكن (الساعات، التقييم، الموقع) من Google Places API. عطّلها للحفاظ على حصة API.',
  'admin.bagTracking.title': 'تتبع الأمتعة',
  'admin.bagTracking.subtitle': 'تفعيل الوزن وتعيين الأمتعة للعناصر',
  'admin.collab.chat.title': 'الدردشة',
  'admin.collab.chat.subtitle': 'المراسلة في الوقت الفعلي للتعاون',
  'admin.collab.notes.title': 'الملاحظات',
  'admin.collab.notes.subtitle': 'ملاحظات ومستندات مشتركة',
  'admin.collab.polls.title': 'الاستطلاعات',
  'admin.collab.polls.subtitle': 'استطلاعات وتصويت جماعي',
  'admin.collab.whatsnext.title': 'ما التالي',
  'admin.collab.whatsnext.subtitle': 'اقتراحات الأنشطة والخطوات التالية',
  'admin.packingTemplates.title': 'قوالب التعبئة',
  'admin.packingTemplates.subtitle': 'إنشاء قوائم تعبئة قابلة لإعادة الاستخدام',
  'admin.packingTemplates.create': 'قالب جديد',
  'admin.packingTemplates.namePlaceholder': 'اسم القالب (مثال: عطلة شاطئية)',
  'admin.packingTemplates.empty': 'لم يتم إنشاء قوالب بعد',
  'admin.packingTemplates.items': 'عناصر',
  'admin.packingTemplates.categories': 'فئات',
  'admin.packingTemplates.itemName': 'اسم العنصر',
  'admin.packingTemplates.itemCategory': 'الفئة',
  'admin.packingTemplates.categoryName': 'اسم الفئة (مثال: ملابس)',
  'admin.packingTemplates.addCategory': 'إضافة فئة',
  'admin.packingTemplates.created': 'تم إنشاء القالب',
  'admin.packingTemplates.deleted': 'تم حذف القالب',
  'admin.packingTemplates.loadError': 'فشل تحميل القوالب',
  'admin.packingTemplates.createError': 'فشل إنشاء القالب',
  'admin.packingTemplates.deleteError': 'فشل حذف القالب',
  'admin.packingTemplates.saveError': 'فشل الحفظ',

  // Addons
  'admin.addons.title': 'الإضافات',
  'admin.addons.subtitle': 'فعّل أو عطّل الميزات لتخصيص تجربة TREK.',
  'admin.addons.catalog.memories.name': 'صور (Immich)',
  'admin.addons.catalog.memories.description': 'شارك صور رحلتك عبر Immich',
  'admin.addons.catalog.mcp.name': 'MCP',
  'admin.addons.catalog.mcp.description': 'بروتوكول سياق النموذج لتكامل مساعد الذكاء الاصطناعي',
  'admin.addons.catalog.packing.name': 'القوائم',
  'admin.addons.catalog.packing.description': 'قوائم التعبئة والمهام لرحلاتك',
  'admin.addons.catalog.budget.name': 'الميزانية',
  'admin.addons.catalog.budget.description': 'تتبع النفقات وخطط ميزانية الرحلة',
  'admin.addons.catalog.documents.name': 'المستندات',
  'admin.addons.catalog.documents.description': 'حفظ وإدارة وثائق السفر',
  'admin.addons.catalog.vacay.name': 'الإجازة',
  'admin.addons.catalog.vacay.description': 'مخطط إجازات شخصي مع عرض تقويم',
  'admin.addons.catalog.atlas.name': 'الأطلس',
  'admin.addons.catalog.atlas.description': 'خريطة العالم مع الدول التي تمت زيارتها وإحصائيات السفر',
  'admin.addons.catalog.collab.name': 'التعاون',
  'admin.addons.catalog.collab.description': 'ملاحظات واستطلاعات ودردشة لحظية لتخطيط الرحلة',
  'admin.addons.subtitleBefore': 'فعّل أو عطّل الميزات لتخصيص تجربة ',
  'admin.addons.subtitleAfter': '.',
  'admin.addons.enabled': 'مفعّل',
  'admin.addons.disabled': 'معطّل',
  'admin.addons.type.trip': 'رحلة',
  'admin.addons.type.global': 'عام',
  'admin.addons.type.integration': 'تكامل',
  'admin.addons.tripHint': 'متاح كعلامة تبويب داخل كل رحلة',
  'admin.addons.globalHint': 'متاح كقسم مستقل في التنقل الرئيسي',
  'admin.addons.integrationHint': 'خدمات الواجهة الخلفية وتكاملات API بدون صفحة مخصصة',
  'admin.addons.toast.updated': 'تم تحديث الإضافة',
  'admin.addons.toast.error': 'فشل تحديث الإضافة',
  'admin.addons.noAddons': 'لا توجد إضافات متاحة',

  // Weather info
  'admin.weather.title': 'بيانات الطقس',
  'admin.weather.badge': 'منذ 24 مارس 2026',
  'admin.weather.description': 'يستخدم TREK خدمة Open-Meteo كمصدر لبيانات الطقس. وهي خدمة مجانية ومفتوحة المصدر ولا تتطلب مفتاح API.',
  'admin.weather.forecast': 'توقعات 16 يومًا',
  'admin.weather.forecastDesc': 'سابقًا 5 أيام (OpenWeatherMap)',
  'admin.weather.climate': 'بيانات المناخ التاريخية',
  'admin.weather.climateDesc': 'متوسطات آخر 85 سنة للأيام بعد توقعات الـ 16 يومًا',
  'admin.weather.requests': '10,000 طلب / يوم',
  'admin.weather.requestsDesc': 'مجاني، بدون مفتاح API',
  'admin.weather.locationHint': 'يعتمد الطقس على أول مكان بإحداثيات في كل يوم. إذا لم يكن هناك مكان مخصص ليوم ما، يُستخدم أي مكان من قائمة الأماكن كمرجع.',

  // GitHub
  'admin.audit.subtitle': 'أحداث الأمان والإدارة (النسخ الاحتياطية، المستخدمون، المصادقة الثنائية، الإعدادات).',
  'admin.audit.empty': 'لا توجد سجلات تدقيق بعد.',
  'admin.audit.refresh': 'تحديث',
  'admin.audit.loadMore': 'تحميل المزيد',
  'admin.audit.showing': 'تم تحميل {count} · الإجمالي {total}',
  'admin.audit.col.time': 'الوقت',
  'admin.audit.col.user': 'المستخدم',
  'admin.audit.col.action': 'الإجراء',
  'admin.audit.col.resource': 'المورد',
  'admin.audit.col.ip': 'عنوان IP',
  'admin.audit.col.details': 'التفاصيل',

  'admin.github.title': 'سجل الإصدارات',
  'admin.github.subtitle': 'آخر التحديثات من {repo}',
  'admin.github.latest': 'الأحدث',
  'admin.github.prerelease': 'إصدار تجريبي',
  'admin.github.showDetails': 'إظهار التفاصيل',
  'admin.github.hideDetails': 'إخفاء التفاصيل',
  'admin.github.loadMore': 'تحميل المزيد',
  'admin.github.loading': 'جارٍ التحميل...',
  'admin.github.error': 'فشل تحميل الإصدارات',
  'admin.github.by': 'بواسطة',
  'admin.github.support': 'يساعدني في تطوير TREK',

  'admin.update.available': 'يتوفر تحديث',
  'admin.update.text': 'TREK {version} متوفر. أنت تستخدم {current}.',
  'admin.update.button': 'عرض على GitHub',
  'admin.update.install': 'تثبيت التحديث',
  'admin.update.confirmTitle': 'تثبيت التحديث؟',
  'admin.update.confirmText': 'سيتم تحديث TREK من {current} إلى {version}. سيُعاد تشغيل الخادم تلقائيًا بعد ذلك.',
  'admin.update.dataInfo': 'جميع بياناتك (الرحلات، المستخدمون، مفاتيح API، المرفوعات، الإجازة، الأطلس، الميزانيات) ستبقى محفوظة.',
  'admin.update.warning': 'سيكون التطبيق غير متاح لفترة وجيزة أثناء إعادة التشغيل.',
  'admin.update.confirm': 'حدّث الآن',
  'admin.update.installing': 'جارٍ التحديث…',
  'admin.update.success': 'تم تثبيت التحديث. ستتم إعادة تشغيل الخادم…',
  'admin.update.failed': 'فشل التحديث',
  'admin.update.backupHint': 'نوصي بإنشاء نسخة احتياطية قبل التحديث.',
  'admin.update.backupLink': 'الذهاب إلى النسخ الاحتياطي',
  'admin.update.howTo': 'كيفية التحديث',
  'admin.update.dockerText': 'يعمل TREK الخاص بك في Docker. للتحديث إلى {version}، نفّذ الأوامر التالية على الخادم:',
  'admin.update.reloadHint': 'يرجى إعادة تحميل الصفحة بعد بضع ثوانٍ.',

  // Vacay addon
  'vacay.subtitle': 'خطط وأدر أيام الإجازة',
  'vacay.settings': 'الإعدادات',
  'vacay.year': 'السنة',
  'vacay.addYear': 'إضافة السنة التالية',
  'vacay.addPrevYear': 'إضافة السنة السابقة',
  'vacay.removeYear': 'إزالة السنة',
  'vacay.removeYearConfirm': 'إزالة {year}؟',
  'vacay.removeYearHint': 'سيتم حذف كل إدخالات الإجازات والعطل الخاصة بهذه السنة نهائيًا.',
  'vacay.remove': 'إزالة',
  'vacay.persons': 'الأشخاص',
  'vacay.noPersons': 'لم تتم إضافة أشخاص بعد',
  'vacay.addPerson': 'إضافة شخص',
  'vacay.editPerson': 'تعديل الشخص',
  'vacay.removePerson': 'إزالة الشخص',
  'vacay.removePersonConfirm': 'إزالة {name}؟',
  'vacay.removePersonHint': 'سيتم حذف جميع إدخالات الإجازة لهذا الشخص نهائيًا.',
  'vacay.personName': 'الاسم',
  'vacay.personNamePlaceholder': 'أدخل الاسم',
  'vacay.color': 'اللون',
  'vacay.add': 'إضافة',
  'vacay.legend': 'المفتاح',
  'vacay.publicHoliday': 'عطلة رسمية',
  'vacay.companyHoliday': 'عطلة شركة',
  'vacay.weekend': 'نهاية الأسبوع',
  'vacay.modeVacation': 'إجازة',
  'vacay.modeCompany': 'عطلة شركة',
  'vacay.entitlement': 'الاستحقاق',
  'vacay.entitlementDays': 'الأيام',
  'vacay.used': 'المستخدم',
  'vacay.remaining': 'المتبقي',
  'vacay.carriedOver': 'من {year}',
  'vacay.blockWeekends': 'حظر عطلة نهاية الأسبوع',
  'vacay.blockWeekendsHint': 'منع إدخالات الإجازة يومي السبت والأحد',
  'vacay.weekendDays': 'أيام عطلة نهاية الأسبوع',
  'vacay.mon': 'الاثنين',
  'vacay.tue': 'الثلاثاء',
  'vacay.wed': 'الأربعاء',
  'vacay.thu': 'الخميس',
  'vacay.fri': 'الجمعة',
  'vacay.sat': 'السبت',
  'vacay.sun': 'الأحد',
  'vacay.publicHolidays': 'العطل الرسمية',
  'vacay.publicHolidaysHint': 'وضع علامة على العطل الرسمية في التقويم',
  'vacay.selectCountry': 'اختر الدولة',
  'vacay.selectRegion': 'اختر المنطقة (اختياري)',
  'vacay.addCalendar': 'إضافة تقويم',
  'vacay.calendarLabel': 'التسمية',
  'vacay.calendarColor': 'اللون',
  'vacay.noCalendars': 'لا توجد تقويمات',
  'vacay.companyHolidays': 'عطل الشركة',
  'vacay.companyHolidaysHint': 'السماح بوضع علامة على أيام عطلات الشركة',
  'vacay.companyHolidaysNoDeduct': 'لا تُخصم عطل الشركة من أيام الإجازة.',
  'vacay.weekStart': 'يبدأ الأسبوع في',
  'vacay.weekStartHint': 'اختر ما إذا كان الأسبوع يبدأ يوم الاثنين أو الأحد',
  'vacay.carryOver': 'الترحيل',
  'vacay.carryOverHint': 'ترحيل أيام الإجازة المتبقية تلقائيًا إلى السنة التالية',
  'vacay.sharing': 'المشاركة',
  'vacay.sharingHint': 'شارك خطة إجازاتك مع مستخدمي TREK الآخرين',
  'vacay.owner': 'المالك',
  'vacay.shareEmailPlaceholder': 'البريد الإلكتروني لمستخدم TREK',
  'vacay.shareSuccess': 'تمت مشاركة الخطة بنجاح',
  'vacay.shareError': 'تعذرت مشاركة الخطة',
  'vacay.dissolve': 'فك الدمج',
  'vacay.dissolveHint': 'افصل التقويمات مرة أخرى. سيتم الاحتفاظ بإدخالاتك.',
  'vacay.dissolveAction': 'فك',
  'vacay.dissolved': 'تم فصل التقويم',
  'vacay.fusedWith': 'مُدمج مع',
  'vacay.you': 'أنت',
  'vacay.noData': 'لا توجد بيانات',
  'vacay.changeColor': 'تغيير اللون',
  'vacay.inviteUser': 'دعوة مستخدم',
  'vacay.inviteHint': 'ادعُ مستخدم TREK آخرًا لمشاركة تقويم إجازة مشترك.',
  'vacay.selectUser': 'اختر مستخدمًا',
  'vacay.sendInvite': 'إرسال الدعوة',
  'vacay.inviteSent': 'تم إرسال الدعوة',
  'vacay.inviteError': 'تعذر إرسال الدعوة',
  'vacay.pending': 'قيد الانتظار',
  'vacay.noUsersAvailable': 'لا يوجد مستخدمون متاحون',
  'vacay.accept': 'قبول',
  'vacay.decline': 'رفض',
  'vacay.acceptFusion': 'قبول ودمج',
  'vacay.inviteTitle': 'طلب دمج',
  'vacay.inviteWantsToFuse': 'يريد مشاركة تقويم إجازة معك.',
  'vacay.fuseInfo1': 'سيرى كلاكما جميع إدخالات الإجازة في تقويم مشترك واحد.',
  'vacay.fuseInfo2': 'يمكن لكلا الطرفين إنشاء وتعديل الإدخالات لبعضهما البعض.',
  'vacay.fuseInfo3': 'يمكن لكلا الطرفين حذف الإدخالات وتغيير مستحقات الإجازة.',
  'vacay.fuseInfo4': 'تتم مشاركة الإعدادات مثل العطل الرسمية وعطل الشركة.',
  'vacay.fuseInfo5': 'يمكن فك الدمج في أي وقت من قبل أي طرف. ستبقى إدخالاتك محفوظة.',

  // Atlas addon
  'atlas.subtitle': 'بصمتك السفرية حول العالم',
  'atlas.countries': 'الدول',
  'atlas.trips': 'الرحلات',
  'atlas.places': 'الأماكن',
  'atlas.unmark': 'إزالة',
  'atlas.confirmMark': 'تعيين هذا البلد كمُزار؟',
  'atlas.confirmUnmark': 'إزالة هذا البلد من قائمة المُزارة؟',
  'atlas.confirmUnmarkRegion': 'إزالة هذه المنطقة من قائمة المُزارة؟',
  'atlas.markVisited': 'تعيين كمُزار',
  'atlas.markVisitedHint': 'إضافة هذا البلد إلى قائمة المُزارة',
  'atlas.markRegionVisitedHint': 'إضافة هذه المنطقة إلى قائمة المُزارة',
  'atlas.addToBucket': 'إضافة إلى قائمة الأمنيات',
  'atlas.addPoi': 'إضافة مكان',
  'atlas.searchCountry': 'ابحث عن دولة...',
  'atlas.bucketNamePlaceholder': 'الاسم (بلد، مدينة، مكان…)',
  'atlas.month': 'الشهر',
  'atlas.year': 'السنة',
  'atlas.addToBucketHint': 'حفظ كمكان تريد زيارته',
  'atlas.bucketWhen': 'متى تخطط للزيارة؟',
  'atlas.statsTab': 'الإحصائيات',
  'atlas.bucketTab': 'قائمة الأمنيات',
  'atlas.addBucket': 'إضافة إلى قائمة الأمنيات',
  'atlas.bucketNotesPlaceholder': 'ملاحظات (اختياري)',
  'atlas.bucketEmpty': 'قائمة أمنياتك فارغة',
  'atlas.bucketEmptyHint': 'أضف أماكن تحلم بزيارتها',
  'atlas.days': 'الأيام',
  'atlas.visitedCountries': 'الدول التي تمت زيارتها',
  'atlas.cities': 'المدن',
  'atlas.noData': 'لا توجد بيانات سفر بعد',
  'atlas.noDataHint': 'أنشئ رحلة وأضف أماكن لرؤية خريطتك العالمية',
  'atlas.lastTrip': 'آخر رحلة',
  'atlas.nextTrip': 'الرحلة القادمة',
  'atlas.daysLeft': 'يوم متبقٍ',
  'atlas.streak': 'سلسلة',
  'atlas.years': 'سنوات',
  'atlas.yearInRow': 'سنة متتالية',
  'atlas.yearsInRow': 'سنوات متتالية',
  'atlas.tripIn': 'رحلة في',
  'atlas.tripsIn': 'رحلات في',
  'atlas.since': 'منذ',
  'atlas.europe': 'أوروبا',
  'atlas.asia': 'آسيا',
  'atlas.northAmerica': 'أمريكا الشمالية',
  'atlas.southAmerica': 'أمريكا الجنوبية',
  'atlas.africa': 'أفريقيا',
  'atlas.oceania': 'أوقيانوسيا',
  'atlas.other': 'أخرى',
  'atlas.firstVisit': 'أول رحلة',
  'atlas.lastVisitLabel': 'آخر رحلة',
  'atlas.tripSingular': 'رحلة',
  'atlas.tripPlural': 'رحلات',
  'atlas.placeVisited': 'مكان تمت زيارته',
  'atlas.placesVisited': 'أماكن تمت زيارتها',

  // Trip Planner
  'trip.tabs.plan': 'الخطة',
  'trip.tabs.transports': 'المواصلات',
  'trip.tabs.reservations': 'الحجوزات',
  'trip.tabs.reservationsShort': 'حجز',
  'trip.tabs.packing': 'قائمة التجهيز',
  'trip.tabs.packingShort': 'تجهيز',
  'trip.tabs.lists': 'القوائم',
  'trip.tabs.listsShort': 'القوائم',
  'trip.tabs.budget': 'الميزانية',
  'trip.tabs.files': 'الملفات',
  'trip.loading': 'جارٍ تحميل الرحلة...',
  'trip.loadingPhotos': 'جارٍ تحميل صور الأماكن...',
  'trip.mobilePlan': 'الخطة',
  'trip.mobilePlaces': 'الأماكن',
  'trip.toast.placeUpdated': 'تم تحديث المكان',
  'trip.toast.placeAdded': 'تمت إضافة المكان',
  'trip.toast.placeDeleted': 'تم حذف المكان',
  'trip.toast.selectDay': 'يرجى اختيار يوم أولًا',
  'trip.toast.assignedToDay': 'تم إسناد المكان إلى اليوم',
  'trip.toast.reorderError': 'فشل إعادة الترتيب',
  'trip.toast.reservationUpdated': 'تم تحديث الحجز',
  'trip.toast.reservationAdded': 'تمت إضافة الحجز',
  'trip.toast.deleted': 'تم الحذف',
  'trip.confirm.deletePlace': 'هل تريد حذف هذا المكان؟',
  'trip.confirm.deletePlaces': 'حذف {count} أماكن؟',
  'trip.toast.placesDeleted': 'تم حذف {count} أماكن',

  // Day Plan Sidebar
  'dayplan.emptyDay': 'لا توجد أماكن مخططة لهذا اليوم',
  'dayplan.addNote': 'إضافة ملاحظة',
  'dayplan.editNote': 'تعديل الملاحظة',
  'dayplan.noteAdd': 'إضافة ملاحظة',
  'dayplan.noteEdit': 'تعديل الملاحظة',
  'dayplan.noteTitle': 'ملاحظة',
  'dayplan.noteSubtitle': 'ملاحظة يومية',
  'dayplan.totalCost': 'إجمالي التكلفة',
  'dayplan.days': 'الأيام',
  'dayplan.dayN': 'اليوم {n}',
  'dayplan.calculating': 'جارٍ الحساب...',
  'dayplan.route': 'المسار',
  'dayplan.optimize': 'تحسين',
  'dayplan.optimized': 'تم تحسين المسار',
  'dayplan.routeError': 'فشل حساب المسار',
  'dayplan.toast.needTwoPlaces': 'يلزم مكانان على الأقل لتحسين المسار',
  'dayplan.toast.routeOptimized': 'تم تحسين المسار',
  'dayplan.toast.noGeoPlaces': 'لم يتم العثور على أماكن بإحداثيات لحساب المسار',
  'dayplan.confirmed': 'مؤكد',
  'dayplan.pendingRes': 'قيد الانتظار',
  'dayplan.pdf': 'PDF',
  'dayplan.pdfTooltip': 'تصدير خطة اليوم بصيغة PDF',
  'dayplan.pdfError': 'فشل تصدير PDF',
  'dayplan.cannotReorderTransport': 'لا يمكن إعادة ترتيب الحجوزات ذات الوقت الثابت',
  'dayplan.confirmRemoveTimeTitle': 'إزالة الوقت؟',
  'dayplan.confirmRemoveTimeBody': 'هذا المكان له وقت ثابت ({time}). نقله سيزيل الوقت ويسمح بالترتيب الحر.',
  'dayplan.confirmRemoveTimeAction': 'إزالة الوقت ونقل',
  'dayplan.cannotDropOnTimed': 'لا يمكن وضع العناصر بين الإدخالات المرتبطة بوقت',
  'dayplan.cannotBreakChronology': 'سيؤدي هذا إلى كسر الترتيب الزمني للعناصر والحجوزات المجدولة',

  // Places Sidebar
  'places.addPlace': 'إضافة مكان/نشاط',
  'places.importFile': 'استيراد ملف',
  'places.sidebarDrop': 'أفلت للاستيراد',
  'places.importFileHint': 'استورد ملفات .gpx أو .kml أو .kmz من أدوات مثل Google My Maps وGoogle Earth أو جهاز تتبع GPS.',
  'places.importFileDropHere': 'انقر لاختيار ملف أو اسحبه وأفلته هنا',
  'places.importFileDropActive': 'أفلت الملف للاختيار',
  'places.importFileUnsupported': 'نوع الملف غير مدعوم. استخدم .gpx أو .kml أو .kmz.',
  'places.importFileTooLarge': 'الملف كبير جدًا. الحد الأقصى لحجم الرفع هو {maxMb} MB.',
  'places.importFileError': 'فشل الاستيراد',
  'places.importAllSkipped': 'جميع الأماكن موجودة بالفعل في الرحلة.',
  'places.gpxImported': 'تم استيراد {count} مكان من GPX',
  'places.gpxImportTypes': 'ما الذي تريد استيراده؟',
  'places.gpxImportWaypoints': 'نقاط الطريق',
  'places.gpxImportRoutes': 'المسارات',
  'places.gpxImportTracks': 'المسارات (مع هندسة الطريق)',
  'places.gpxImportNoneSelected': 'اختر نوعاً واحداً على الأقل للاستيراد.',
  'places.kmlImportTypes': 'ما الذي تريد استيراده؟',
  'places.kmlImportPoints': 'نقاط (Placemarks)',
  'places.kmlImportPaths': 'مسارات (LineStrings)',
  'places.kmlImportNoneSelected': 'اختر نوعًا واحدًا على الأقل.',
  'places.selectionCount': '{count} محدد',
  'places.deleteSelected': 'حذف المحدد',
  'places.kmlKmzImported': 'تم استيراد {count} مكان من KMZ/KML',
  'places.urlResolved': 'تم استيراد المكان من الرابط',
  'places.importList': 'استيراد قائمة',
  'places.kmlKmzSummaryValues': 'علامات المواضع: {total} • تم الاستيراد: {created} • تم التجاوز: {skipped}',
  'places.importGoogleList': 'قائمة Google',
  'places.importNaverList': 'قائمة Naver',
  'places.googleListHint': 'الصق رابط قائمة Google Maps المشتركة لاستيراد جميع الأماكن.',
  'places.googleListImported': 'تم استيراد {count} أماكن من "{list}"',
  'places.googleListError': 'فشل استيراد قائمة Google Maps',
  'places.naverListHint': 'الصق رابط قائمة Naver Maps مشتركة لاستيراد جميع الأماكن.',
  'places.naverListImported': 'تم استيراد {count} مكان من "{list}"',
  'places.naverListError': 'فشل استيراد قائمة Naver Maps',
  'places.viewDetails': 'عرض التفاصيل',
  'places.assignToDay': 'إلى أي يوم تريد الإضافة؟',
  'places.all': 'الكل',
  'places.unplanned': 'غير مخطط',
  'places.filterTracks': 'المسارات',
  'places.search': 'ابحث عن أماكن...',
  'places.allCategories': 'كل الفئات',
  'places.categoriesSelected': 'فئات',
  'places.clearFilter': 'مسح الفلتر',
  'places.count': '{count} أماكن',
  'places.countSingular': 'مكان واحد',
  'places.allPlanned': 'تم تخطيط جميع الأماكن',
  'places.noneFound': 'لم يتم العثور على أماكن',
  'places.editPlace': 'تعديل المكان',
  'places.formName': 'الاسم',
  'places.formNamePlaceholder': 'مثال: برج إيفل',
  'places.formDescription': 'الوصف',
  'places.formDescriptionPlaceholder': 'وصف مختصر...',
  'places.formAddress': 'العنوان',
  'places.formAddressPlaceholder': 'الشارع، المدينة، البلد',
  'places.formLat': 'خط العرض (مثال: 48.8566)',
  'places.formLng': 'خط الطول (مثال: 2.3522)',
  'places.formCategory': 'الفئة',
  'places.noCategory': 'بلا فئة',
  'places.categoryNamePlaceholder': 'اسم الفئة',
  'places.formTime': 'الوقت',
  'places.startTime': 'البداية',
  'places.endTime': 'النهاية',
  'places.endTimeBeforeStart': 'وقت النهاية قبل وقت البداية',
  'places.timeCollision': 'تداخل في الوقت مع:',
  'places.formWebsite': 'الموقع الإلكتروني',
  'places.formNotes': 'ملاحظات',
  'places.formNotesPlaceholder': 'ملاحظات شخصية...',
  'places.formReservation': 'حجز',
  'places.reservationNotesPlaceholder': 'ملاحظات الحجز، رقم التأكيد...',
  'places.mapsSearchPlaceholder': 'ابحث عن أماكن...',
  'places.mapsSearchError': 'فشل البحث عن المكان.',
  'places.loadingDetails': 'جارٍ تحميل تفاصيل المكان…',
  'places.osmHint': 'يتم البحث عبر OpenStreetMap (بدون صور أو ساعات عمل أو تقييمات). أضف مفتاح Google API في الإعدادات للحصول على جميع التفاصيل.',
  'places.osmActive': 'البحث عبر OpenStreetMap (بدون صور أو تقييمات أو ساعات عمل). أضف مفتاح Google API في الإعدادات لبيانات موسعة.',
  'places.categoryCreateError': 'فشل إنشاء الفئة',
  'places.nameRequired': 'يرجى إدخال اسم',
  'places.saveError': 'فشل الحفظ',

  // Place Inspector
  'inspector.opened': 'مفتوح',
  'inspector.closed': 'مغلق',
  'inspector.openingHours': 'ساعات العمل',
  'inspector.showHours': 'عرض ساعات العمل',
  'inspector.files': 'الملفات',
  'inspector.filesCount': '{count} ملفات',
  'inspector.removeFromDay': 'إزالة من اليوم',
  'inspector.remove': 'إزالة',
  'inspector.addToDay': 'إضافة إلى اليوم',
  'inspector.confirmedRes': 'حجز مؤكد',
  'inspector.pendingRes': 'حجز قيد الانتظار',
  'inspector.google': 'فتح في Google Maps',
  'inspector.website': 'فتح الموقع الإلكتروني',
  'inspector.addRes': 'حجز',
  'inspector.editRes': 'تعديل الحجز',
  'inspector.participants': 'المشاركون',
  'inspector.trackStats': 'بيانات المسار',

  // Reservations
  'reservations.title': 'الحجوزات',
  'reservations.empty': 'لا توجد حجوزات بعد',
  'reservations.emptyHint': 'أضف حجوزات للرحلات الجوية والفنادق وغير ذلك',
  'reservations.add': 'إضافة حجز',
  'reservations.addManual': 'حجز يدوي',
  'reservations.placeHint': 'نصيحة: يُفضل إنشاء الحجوزات مباشرة من مكان لربطها بخطة اليوم.',
  'reservations.confirmed': 'مؤكد',
  'reservations.pending': 'قيد الانتظار',
  'reservations.summary': '{confirmed} مؤكدة، {pending} قيد الانتظار',
  'reservations.fromPlan': 'من الخطة',
  'reservations.showFiles': 'عرض الملفات',
  'reservations.editTitle': 'تعديل الحجز',
  'reservations.status': 'الحالة',
  'reservations.datetime': 'التاريخ والوقت',
  'reservations.startTime': 'وقت البداية',
  'reservations.endTime': 'وقت النهاية',
  'reservations.date': 'التاريخ',
  'reservations.time': 'الوقت',
  'reservations.timeAlt': 'الوقت (بديل، مثل 19:30)',
  'reservations.notes': 'ملاحظات',
  'reservations.notesPlaceholder': 'ملاحظات إضافية...',
  'reservations.meta.airline': 'شركة الطيران',
  'reservations.meta.flightNumber': 'رقم الرحلة',
  'reservations.meta.from': 'من',
  'reservations.meta.to': 'إلى',
  'reservations.needsReview': 'مراجعة',
  'reservations.needsReviewHint': 'تعذّر مطابقة المطار تلقائياً — يرجى تأكيد الموقع.',
  'reservations.searchLocation': 'ابحث عن محطة، ميناء، عنوان...',
  'airport.searchPlaceholder': 'رمز المطار أو المدينة (مثل FRA)',
  'map.connections': 'الاتصالات',
  'map.showConnections': 'عرض مسارات الحجوزات',
  'map.hideConnections': 'إخفاء مسارات الحجوزات',
  'settings.bookingLabels': 'تسميات مسارات الحجوزات',
  'settings.bookingLabelsHint': 'عرض أسماء المحطات/المطارات على الخريطة. عند الإيقاف، يتم عرض الرمز فقط.',
  'reservations.meta.trainNumber': 'رقم القطار',
  'reservations.meta.platform': 'المنصة',
  'reservations.meta.seat': 'المقعد',
  'reservations.meta.checkIn': 'تسجيل الوصول',
  'reservations.meta.checkInUntil': 'تسجيل الدخول حتى',
  'reservations.meta.checkOut': 'تسجيل المغادرة',
  'reservations.meta.linkAccommodation': 'الإقامة',
  'reservations.meta.pickAccommodation': 'ربط بالإقامة',
  'reservations.meta.noAccommodation': 'لا يوجد',
  'reservations.meta.hotelPlace': 'الإقامة',
  'reservations.meta.pickHotel': 'اختر الإقامة',
  'reservations.meta.fromDay': 'من',
  'reservations.meta.toDay': 'إلى',
  'reservations.meta.selectDay': 'اختر يومًا',
  'reservations.type.flight': 'رحلة جوية',
  'reservations.type.hotel': 'إقامة',
  'reservations.type.restaurant': 'مطعم',
  'reservations.type.train': 'قطار',
  'reservations.type.car': 'سيارة',
  'reservations.type.cruise': 'رحلة بحرية',
  'reservations.type.event': 'فعالية',
  'reservations.type.tour': 'جولة',
  'reservations.type.other': 'أخرى',
  'reservations.confirm.delete': 'هل تريد حذف الحجز "{name}"؟',
  'reservations.confirm.deleteTitle': 'حذف الحجز؟',
  'reservations.confirm.deleteBody': 'سيتم حذف "{name}" نهائيًا.',
  'reservations.toast.updated': 'تم تحديث الحجز',
  'reservations.toast.removed': 'تم حذف الحجز',
  'reservations.toast.fileUploaded': 'تم رفع الملف',
  'reservations.toast.uploadError': 'فشل الرفع',
  'reservations.newTitle': 'حجز جديد',
  'reservations.bookingType': 'نوع الحجز',
  'reservations.titleLabel': 'العنوان',
  'reservations.titlePlaceholder': 'مثال: Lufthansa LH123، فندق أدلون، ...',
  'reservations.locationAddress': 'الموقع / العنوان',
  'reservations.locationPlaceholder': 'العنوان، المطار، الفندق...',
  'reservations.confirmationCode': 'رمز الحجز',
  'reservations.confirmationPlaceholder': 'مثال: ABC12345',
  'reservations.day': 'اليوم',
  'reservations.noDay': 'بلا يوم',
  'reservations.place': 'المكان',
  'reservations.noPlace': 'بلا مكان',
  'reservations.pendingSave': 'سيتم الحفظ…',
  'reservations.uploading': 'جارٍ الرفع...',
  'reservations.attachFile': 'إرفاق ملف',
  'reservations.linkExisting': 'ربط ملف موجود',
  'reservations.toast.saveError': 'فشل الحفظ',
  'reservations.toast.updateError': 'فشل التحديث',
  'reservations.toast.deleteError': 'فشل الحذف',
  'reservations.confirm.remove': 'إزالة الحجز "{name}"؟',
  'reservations.linkAssignment': 'ربط بخطة اليوم',
  'reservations.pickAssignment': 'اختر عنصرًا من خطتك...',
  'reservations.noAssignment': 'بلا ربط',
  'reservations.price': 'السعر',
  'reservations.budgetCategory': 'فئة الميزانية',
  'reservations.budgetCategoryPlaceholder': 'مثال: المواصلات، الإقامة',
  'reservations.budgetCategoryAuto': 'تلقائي (حسب نوع الحجز)',
  'reservations.budgetHint': 'سيتم إنشاء إدخال في الميزانية تلقائيًا عند الحفظ.',
  'reservations.departureDate': 'المغادرة',
  'reservations.arrivalDate': 'الوصول',
  'reservations.departureTime': 'وقت المغادرة',
  'reservations.arrivalTime': 'وقت الوصول',
  'reservations.pickupDate': 'الاستلام',
  'reservations.returnDate': 'الإرجاع',
  'reservations.pickupTime': 'وقت الاستلام',
  'reservations.returnTime': 'وقت الإرجاع',
  'reservations.endDate': 'تاريخ الانتهاء',
  'reservations.meta.departureTimezone': 'TZ المغادرة',
  'reservations.meta.arrivalTimezone': 'TZ الوصول',
  'reservations.span.departure': 'المغادرة',
  'reservations.span.arrival': 'الوصول',
  'reservations.span.inTransit': 'في الطريق',
  'reservations.span.pickup': 'الاستلام',
  'reservations.span.return': 'الإرجاع',
  'reservations.span.active': 'نشط',
  'reservations.span.start': 'البداية',
  'reservations.span.end': 'النهاية',
  'reservations.span.ongoing': 'جارٍ',
  'reservations.validation.endBeforeStart': 'يجب أن يكون تاريخ/وقت الانتهاء بعد تاريخ/وقت البدء',
  'reservations.addBooking': 'إضافة حجز',

  // Budget
  'budget.title': 'الميزانية',
  'budget.exportCsv': 'تصدير CSV',
  'budget.emptyTitle': 'لم يتم إنشاء ميزانية بعد',
  'budget.emptyText': 'أنشئ فئات وإدخالات لتخطيط ميزانية سفرك',
  'budget.emptyPlaceholder': 'أدخل اسم الفئة...',
  'budget.createCategory': 'إنشاء فئة',
  'budget.category': 'الفئة',
  'budget.categoryName': 'اسم الفئة',
  'budget.table.name': 'الاسم',
  'budget.table.total': 'الإجمالي',
  'budget.table.persons': 'الأشخاص',
  'budget.table.days': 'الأيام',
  'budget.table.perPerson': 'لكل شخص',
  'budget.table.perDay': 'لكل يوم',
  'budget.table.perPersonDay': 'لكل شخص / يوم',
  'budget.table.note': 'ملاحظة',
  'budget.table.date': 'التاريخ',
  'budget.newEntry': 'إدخال جديد',
  'budget.defaultEntry': 'إدخال جديد',
  'budget.defaultCategory': 'فئة جديدة',
  'budget.total': 'الإجمالي',
  'budget.totalBudget': 'إجمالي الميزانية',
  'budget.byCategory': 'حسب الفئة',
  'budget.editTooltip': 'انقر للتعديل',
  'budget.linkedToReservation': 'مرتبط بحجز — عدّل الاسم هناك',
  'budget.confirm.deleteCategory': 'هل تريد حذف الفئة "{name}" مع {count} إدخالات؟',
  'budget.deleteCategory': 'حذف الفئة',
  'budget.perPerson': 'لكل شخص',
  'budget.paid': 'مدفوع',
  'budget.open': 'مفتوح',
  'budget.noMembers': 'لا أعضاء معينون',
  'budget.settlement': 'التسوية',
  'budget.settlementInfo': 'انقر على صورة العضو في بند الميزانية لتحديده باللون الأخضر — وهذا يعني أنه دفع. ثم تُظهر التسوية من يدين لمن وبكم.',
  'budget.netBalances': 'الأرصدة الصافية',

  // Files
  'files.title': 'الملفات',
  'files.pageTitle': 'الملفات والمستندات',
  'files.subtitle': '{count} ملف لـ {trip}',
  'files.download': 'تنزيل',
  'files.openError': 'تعذر فتح الملف',
  'files.downloadPdf': 'تنزيل PDF',
  'files.count': '{count} ملفات',
  'files.countSingular': 'ملف واحد',
  'files.uploaded': 'تم رفع {count}',
  'files.uploadError': 'فشل الرفع',
  'files.dropzone': 'أسقط الملفات هنا',
  'files.dropzoneHint': 'أو انقر للتصفح',
  'files.allowedTypes': 'صور، PDF، DOC، DOCX، XLS، XLSX، TXT، CSV · حد أقصى 50 ميغابايت',
  'files.uploading': 'جارٍ الرفع...',
  'files.filterAll': 'الكل',
  'files.filterPdf': 'ملفات PDF',
  'files.filterImages': 'الصور',
  'files.filterDocs': 'المستندات',
  'files.filterCollab': 'ملاحظات Collab',
  'files.sourceCollab': 'من ملاحظات Collab',
  'files.empty': 'لا توجد ملفات بعد',
  'files.emptyHint': 'ارفع ملفات لإرفاقها برحلتك',
  'files.openTab': 'فتح في تبويب جديد',
  'files.confirm.delete': 'هل تريد حذف هذا الملف؟',
  'files.toast.deleted': 'تم حذف الملف',
  'files.toast.deleteError': 'فشل حذف الملف',
  'files.sourcePlan': 'خطة اليوم',
  'files.sourceBooking': 'الحجز',
  'files.sourceTransport': 'النقل',
  'files.attach': 'إرفاق',
  'files.pasteHint': 'يمكنك أيضًا لصق الصور من الحافظة (Ctrl+V)',
  'files.trash': 'سلة المهملات',
  'files.trashEmpty': 'سلة المهملات فارغة',
  'files.emptyTrash': 'إفراغ السلة',
  'files.restore': 'استعادة',
  'files.star': 'تمييز',
  'files.unstar': 'إلغاء التمييز',
  'files.assign': 'إسناد',
  'files.assignTitle': 'إسناد ملف',
  'files.assignPlace': 'المكان',
  'files.assignBooking': 'الحجز',
  'files.assignTransport': 'النقل',
  'files.unassigned': 'غير مسند',
  'files.unlink': 'إزالة الرابط',
  'files.toast.trashed': 'تم النقل إلى سلة المهملات',
  'files.toast.restored': 'تمت استعادة الملف',
  'files.toast.trashEmptied': 'تم إفراغ سلة المهملات',
  'files.toast.assigned': 'تم إسناد الملف',
  'files.toast.assignError': 'فشل الإسناد',
  'files.toast.restoreError': 'فشلت الاستعادة',
  'files.confirm.permanentDelete': 'حذف هذا الملف نهائيًا؟ لا يمكن التراجع عن ذلك.',
  'files.confirm.emptyTrash': 'حذف جميع ملفات سلة المهملات نهائيًا؟ لا يمكن التراجع عن ذلك.',
  'files.noteLabel': 'ملاحظة',
  'files.notePlaceholder': 'أضف ملاحظة...',

  // Packing
  'packing.title': 'قائمة التجهيز',
  'packing.empty': 'قائمة التجهيز فارغة',
  'packing.import': 'استيراد',
  'packing.importTitle': 'استيراد قائمة التعبئة',
  'packing.importHint': 'عنصر واحد لكل سطر. يمكن إضافة الفئة والكمية مفصولة بفاصلة أو فاصلة منقوطة أو علامة تبويب: الاسم، الفئة، الكمية',
  'packing.importPlaceholder': 'فرشاة أسنان\nواقي شمس، نظافة\nقمصان، ملابس، 5\nجواز سفر، مستندات',
  'packing.importCsv': 'تحميل CSV/TXT',
  'packing.importAction': 'استيراد {count}',
  'packing.importSuccess': 'تم استيراد {count} عنصر',
  'packing.importError': 'فشل الاستيراد',
  'packing.importEmpty': 'لا توجد عناصر للاستيراد',
  'packing.progress': '{packed} من {total} جُهّز ({percent}%)',
  'packing.clearChecked': 'إزالة {count} محدد',
  'packing.clearCheckedShort': 'إزالة {count}',
  'packing.suggestions': 'اقتراحات',
  'packing.suggestionsTitle': 'إضافة اقتراحات',
  'packing.allSuggested': 'تمت إضافة جميع الاقتراحات',
  'packing.allPacked': 'تم تجهيز الكل!',
  'packing.addPlaceholder': 'إضافة عنصر جديد...',
  'packing.categoryPlaceholder': 'الفئة...',
  'packing.filterAll': 'الكل',
  'packing.filterOpen': 'مفتوح',
  'packing.filterDone': 'تم',
  'packing.emptyTitle': 'قائمة التجهيز فارغة',
  'packing.emptyHint': 'أضف عناصر أو استخدم الاقتراحات',
  'packing.emptyFiltered': 'لا توجد عناصر مطابقة لهذا الفلتر',
  'packing.menuRename': 'إعادة تسمية',
  'packing.menuCheckAll': 'تحديد الكل',
  'packing.menuUncheckAll': 'إلغاء تحديد الكل',
  'packing.menuDeleteCat': 'حذف الفئة',
  'packing.noMembers': 'لا أعضاء',
  'packing.addItem': 'إضافة عنصر',
  'packing.addItemPlaceholder': 'اسم العنصر...',
  'packing.addCategory': 'إضافة فئة',
  'packing.newCategoryPlaceholder': 'اسم الفئة (مثال: ملابس)',
  'packing.applyTemplate': 'تطبيق قالب',
  'packing.template': 'قالب',
  'packing.templateApplied': 'تمت إضافة {count} عنصر من القالب',
  'packing.templateError': 'فشل تطبيق القالب',
  'packing.saveAsTemplate': 'حفظ كقالب',
  'packing.templateName': 'اسم القالب',
  'packing.templateSaved': 'تم حفظ قائمة الحقائب كقالب',
  'packing.bags': 'أمتعة',
  'packing.noBag': 'غير معيّن',
  'packing.totalWeight': 'الوزن الإجمالي',
  'packing.bagName': 'الاسم...',
  'packing.addBag': 'إضافة أمتعة',
  'packing.changeCategory': 'تغيير الفئة',
  'packing.confirm.clearChecked': 'هل تريد إزالة {count} عنصر محدد؟',
  'packing.confirm.deleteCat': 'هل تريد حذف الفئة "{name}" مع {count} عنصر؟',
  'packing.defaultCategory': 'أخرى',
  'packing.toast.saveError': 'فشل الحفظ',
  'packing.toast.deleteError': 'فشل الحذف',
  'packing.toast.renameError': 'فشلت إعادة التسمية',
  'packing.toast.addError': 'فشلت الإضافة',

  // Packing suggestions
  'packing.suggestions.items': [
    { name: 'جواز السفر', category: 'المستندات' },
    { name: 'بطاقة الهوية', category: 'المستندات' },
    { name: 'تأمين السفر', category: 'المستندات' },
    { name: 'تذاكر الطيران', category: 'المستندات' },
    { name: 'بطاقة ائتمان', category: 'المالية' },
    { name: 'نقد', category: 'المالية' },
    { name: 'تأشيرة', category: 'المستندات' },
    { name: 'قمصان', category: 'الملابس' },
    { name: 'بنطلونات', category: 'الملابس' },
    { name: 'ملابس داخلية', category: 'الملابس' },
    { name: 'جوارب', category: 'الملابس' },
    { name: 'جاكيت', category: 'الملابس' },
    { name: 'ملابس نوم', category: 'الملابس' },
    { name: 'ملابس سباحة', category: 'الملابس' },
    { name: 'معطف مطر', category: 'الملابس' },
    { name: 'أحذية مريحة', category: 'الملابس' },
    { name: 'فرشاة أسنان', category: 'أدوات العناية' },
    { name: 'معجون أسنان', category: 'أدوات العناية' },
    { name: 'شامبو', category: 'أدوات العناية' },
    { name: 'مزيل عرق', category: 'أدوات العناية' },
    { name: 'واقي شمس', category: 'أدوات العناية' },
    { name: 'شفرة حلاقة', category: 'أدوات العناية' },
    { name: 'شاحن', category: 'الإلكترونيات' },
    { name: 'بطارية محمولة', category: 'الإلكترونيات' },
    { name: 'سماعات', category: 'الإلكترونيات' },
    { name: 'محول سفر', category: 'الإلكترونيات' },
    { name: 'كاميرا', category: 'الإلكترونيات' },
    { name: 'مسكنات ألم', category: 'الصحة' },
    { name: 'لاصقات جروح', category: 'الصحة' },
    { name: 'مطهر', category: 'الصحة' },
  ],

  // Members / Sharing
  'members.shareTrip': 'مشاركة الرحلة',
  'members.inviteUser': 'دعوة مستخدم',
  'members.selectUser': 'اختر مستخدمًا…',
  'members.invite': 'دعوة',
  'members.allHaveAccess': 'جميع المستخدمين لديهم صلاحية الوصول بالفعل.',
  'members.access': 'الصلاحية',
  'members.person': 'شخص',
  'members.persons': 'أشخاص',
  'members.you': 'أنت',
  'members.owner': 'المالك',
  'members.leaveTrip': 'مغادرة الرحلة',
  'members.removeAccess': 'إزالة الصلاحية',
  'members.confirmLeave': 'مغادرة الرحلة؟ ستفقد صلاحية الوصول.',
  'members.confirmRemove': 'إزالة صلاحية هذا المستخدم؟',
  'members.loadError': 'فشل تحميل الأعضاء',
  'members.added': 'تمت الإضافة',
  'members.addError': 'فشلت الإضافة',
  'members.removed': 'تمت إزالة العضو',
  'members.removeError': 'فشلت الإزالة',

  // Categories (Admin)
  'categories.title': 'الفئات',
  'categories.subtitle': 'إدارة فئات الأماكن',
  'categories.new': 'فئة جديدة',
  'categories.empty': 'لا توجد فئات بعد',
  'categories.namePlaceholder': 'اسم الفئة',
  'categories.icon': 'الأيقونة',
  'categories.color': 'اللون',
  'categories.customColor': 'اختيار لون مخصص',
  'categories.preview': 'معاينة',
  'categories.defaultName': 'فئة',
  'categories.update': 'تحديث',
  'categories.create': 'إنشاء',
  'categories.confirm.delete': 'حذف الفئة؟ لن يتم حذف الأماكن التابعة لهذه الفئة.',
  'categories.toast.loadError': 'فشل تحميل الفئات',
  'categories.toast.nameRequired': 'يرجى إدخال اسم',
  'categories.toast.updated': 'تم تحديث الفئة',
  'categories.toast.created': 'تم إنشاء الفئة',
  'categories.toast.saveError': 'فشل الحفظ',
  'categories.toast.deleted': 'تم حذف الفئة',
  'categories.toast.deleteError': 'فشل الحذف',

  // Backup (Admin)
  'backup.title': 'النسخ الاحتياطي',
  'backup.subtitle': 'قاعدة البيانات وجميع الملفات المرفوعة',
  'backup.refresh': 'تحديث',
  'backup.upload': 'رفع نسخة احتياطية',
  'backup.uploading': 'جارٍ الرفع…',
  'backup.create': 'إنشاء نسخة',
  'backup.creating': 'جارٍ الإنشاء…',
  'backup.empty': 'لا توجد نسخ احتياطية بعد',
  'backup.createFirst': 'إنشاء أول نسخة',
  'backup.download': 'تنزيل',
  'backup.restore': 'استعادة',
  'backup.confirm.restore': 'استعادة النسخة "{name}"؟\n\nسيتم استبدال جميع البيانات الحالية بالنسخة.',
  'backup.confirm.uploadRestore': 'رفع واستعادة النسخة "{name}"؟\n\nسيتم الكتابة فوق جميع البيانات الحالية.',
  'backup.confirm.delete': 'حذف النسخة "{name}"؟',
  'backup.toast.loadError': 'فشل تحميل النسخ الاحتياطية',
  'backup.toast.created': 'تم إنشاء النسخة الاحتياطية بنجاح',
  'backup.toast.createError': 'فشل إنشاء النسخة',
  'backup.toast.restored': 'تمت الاستعادة. ستُعاد تحميل الصفحة…',
  'backup.toast.restoreError': 'فشلت الاستعادة',
  'backup.toast.uploadError': 'فشل الرفع',
  'backup.toast.deleted': 'تم حذف النسخة',
  'backup.toast.deleteError': 'فشل الحذف',
  'backup.toast.downloadError': 'فشل التنزيل',
  'backup.toast.settingsSaved': 'تم حفظ إعدادات النسخ الاحتياطي التلقائي',
  'backup.toast.settingsError': 'فشل حفظ الإعدادات',
  'backup.auto.title': 'النسخ الاحتياطي التلقائي',
  'backup.auto.subtitle': 'نسخ احتياطي تلقائي وفق جدول زمني',
  'backup.auto.enable': 'تفعيل النسخ التلقائي',
  'backup.auto.enableHint': 'سيتم إنشاء نسخ احتياطية تلقائيًا وفق الجدول المختار',
  'backup.auto.interval': 'الفترة',
  'backup.auto.hour': 'التنفيذ في الساعة',
  'backup.auto.hourHint': 'التوقيت المحلي للخادم (تنسيق {format})',
  'backup.auto.dayOfWeek': 'يوم الأسبوع',
  'backup.auto.dayOfMonth': 'يوم الشهر',
  'backup.auto.dayOfMonthHint': 'محدود بين 1–28 للتوافق مع جميع الأشهر',
  'backup.auto.scheduleSummary': 'الجدول',
  'backup.auto.summaryDaily': 'كل يوم الساعة {hour}:00',
  'backup.auto.summaryWeekly': 'كل {day} الساعة {hour}:00',
  'backup.auto.summaryMonthly': 'اليوم {day} من كل شهر الساعة {hour}:00',
  'backup.auto.envLocked': 'Docker',
  'backup.auto.envLockedHint': 'النسخ الاحتياطي التلقائي مُعدّ عبر متغيرات بيئة Docker. لتعديل الإعدادات، حدّث docker-compose.yml وأعد تشغيل الحاوية.',
  'backup.auto.copyEnv': 'نسخ متغيرات بيئة Docker',
  'backup.auto.envCopied': 'تم نسخ متغيرات بيئة Docker إلى الحافظة',
  'backup.auto.keepLabel': 'حذف النسخ القديمة بعد',
  'backup.dow.sunday': 'أحد',
  'backup.dow.monday': 'إثن',
  'backup.dow.tuesday': 'ثلا',
  'backup.dow.wednesday': 'أرب',
  'backup.dow.thursday': 'خمي',
  'backup.dow.friday': 'جمع',
  'backup.dow.saturday': 'سبت',
  'backup.interval.hourly': 'كل ساعة',
  'backup.interval.daily': 'يوميًا',
  'backup.interval.weekly': 'أسبوعيًا',
  'backup.interval.monthly': 'شهريًا',
  'backup.keep.1day': 'يوم واحد',
  'backup.keep.3days': '3 أيام',
  'backup.keep.7days': '7 أيام',
  'backup.keep.14days': '14 يومًا',
  'backup.keep.30days': '30 يومًا',
  'backup.keep.forever': 'الاحتفاظ للأبد',

  // Photos
  'photos.title': 'صور',
  'photos.subtitle': '{count} صورة لـ {trip}',
  'photos.dropHere': 'أسقط الصور هنا...',
  'photos.dropHereActive': 'أسقط الصور هنا',
  'photos.captionForAll': 'تعليق (للجميع)',
  'photos.captionPlaceholder': 'تعليق اختياري...',
  'photos.addCaption': 'إضافة تعليق...',
  'photos.allDays': 'كل الأيام',
  'photos.noPhotos': 'لا توجد صور بعد',
  'photos.uploadHint': 'ارفع صور رحلتك',
  'photos.clickToSelect': 'أو انقر للاختيار',
  'photos.linkPlace': 'ربط بمكان',
  'photos.noPlace': 'بلا مكان',
  'photos.uploadN': 'رفع {n} صورة',
  'photos.linkDay': 'ربط اليوم',
  'photos.noDay': 'لا يوم',
  'photos.dayLabel': 'اليوم {number}',
  'photos.photoSelected': 'صورة محددة',
  'photos.photosSelected': 'صور محددة',
  'photos.fileTypeHint': 'JPG, PNG, WebP · الحد الأقصى 10 ميغابايت · حتى 30 صورة',

  // Backup restore modal
  'backup.restoreConfirmTitle': 'استعادة النسخة الاحتياطية؟',
  'backup.restoreWarning': 'سيتم استبدال جميع البيانات الحالية (الرحلات، الأماكن، المستخدمون، المرفوعات) بالنسخة نهائيًا. لا يمكن التراجع عن ذلك.',
  'backup.restoreTip': 'نصيحة: أنشئ نسخة احتياطية للحالة الحالية قبل الاستعادة.',
  'backup.restoreConfirm': 'نعم، استعادة',

  // PDF
  'pdf.travelPlan': 'خطة السفر',
  'pdf.planned': 'مخطط',
  'pdf.costLabel': 'التكلفة EUR',
  'pdf.preview': 'معاينة PDF',
  'pdf.saveAsPdf': 'حفظ كـ PDF',

  // Planner
  'planner.places': 'الأماكن',
  'planner.bookings': 'الحجوزات',
  'planner.packingList': 'قائمة التجهيز',
  'planner.documents': 'المستندات',
  'planner.dayPlan': 'خطة اليوم',
  'planner.reservations': 'الحجوزات',
  'planner.minTwoPlaces': 'يلزم مكانان على الأقل مع إحداثيات',
  'planner.noGeoPlaces': 'لا توجد أماكن بإحداثيات',
  'planner.routeCalculated': 'تم حساب المسار',
  'planner.routeCalcFailed': 'تعذر حساب المسار',
  'planner.routeError': 'خطأ أثناء حساب المسار',
  'planner.icsExportFailed': 'فشل تصدير ICS',
  'planner.routeOptimized': 'تم تحسين المسار',
  'planner.reservationUpdated': 'تم تحديث الحجز',
  'planner.reservationAdded': 'تمت إضافة الحجز',
  'planner.confirmDeleteReservation': 'حذف الحجز؟',
  'planner.reservationDeleted': 'تم حذف الحجز',
  'planner.days': 'الأيام',
  'planner.allPlaces': 'كل الأماكن',
  'planner.totalPlaces': 'إجمالي {n} أماكن',
  'planner.noDaysPlanned': 'لا توجد أيام مخططة بعد',
  'planner.editTrip': 'تعديل الرحلة ←',
  'planner.placeOne': 'مكان واحد',
  'planner.placeN': '{n} أماكن',
  'planner.addNote': 'إضافة ملاحظة',
  'planner.noEntries': 'لا توجد عناصر لهذا اليوم',
  'planner.addPlace': 'إضافة مكان/نشاط',
  'planner.addPlaceShort': '+ إضافة مكان/نشاط',
  'planner.resPending': 'حجز قيد الانتظار · ',
  'planner.resConfirmed': 'حجز مؤكد · ',
  'planner.notePlaceholder': 'ملاحظة…',
  'planner.noteTimePlaceholder': 'الوقت (اختياري)',
  'planner.noteExamplePlaceholder': 'مثال: S3 الساعة 14:30 من المحطة المركزية، عبّارة من الرصيف 7، استراحة غداء…',
  'planner.totalCost': 'إجمالي التكلفة',
  'planner.searchPlaces': 'ابحث عن أماكن…',
  'planner.allCategories': 'كل الفئات',
  'planner.noPlacesFound': 'لم يتم العثور على أماكن',
  'planner.addFirstPlace': 'أضف أول مكان',
  'planner.noReservations': 'لا توجد حجوزات',
  'planner.addFirstReservation': 'أضف أول حجز',
  'planner.new': 'جديد',
  'planner.addToDay': '+ يوم',
  'planner.calculating': 'جارٍ الحساب…',
  'planner.route': 'المسار',
  'planner.optimize': 'تحسين',
  'planner.openGoogleMaps': 'فتح في Google Maps',
  'planner.selectDayHint': 'اختر يومًا من القائمة اليسرى لعرض خطة اليوم',
  'planner.noPlacesForDay': 'لا توجد أماكن لهذا اليوم بعد',
  'planner.addPlacesLink': 'إضافة أماكن ←',
  'planner.minTotal': 'دقيقة إجمالًا',
  'planner.noReservation': 'لا يوجد حجز',
  'planner.removeFromDay': 'إزالة من اليوم',
  'planner.addToThisDay': 'إضافة إلى اليوم',
  'planner.overview': 'نظرة عامة',
  'planner.noDays': 'لا توجد أيام بعد',
  'planner.editTripToAddDays': 'عدّل الرحلة لإضافة أيام',
  'planner.dayCount': '{n} أيام',
  'planner.clickToUnlock': 'انقر لفتح القفل',
  'planner.keepPosition': 'الحفاظ على الموضع أثناء تحسين المسار',
  'planner.dayDetails': 'تفاصيل اليوم',
  'planner.dayN': 'اليوم {n}',

  // Dashboard Stats
  'stats.countries': 'الدول',
  'stats.cities': 'المدن',
  'stats.trips': 'الرحلات',
  'stats.places': 'الأماكن',
  'stats.worldProgress': 'التقدم حول العالم',
  'stats.visited': 'تمت زيارتها',
  'stats.remaining': 'المتبقية',
  'stats.visitedCountries': 'الدول التي تمت زيارتها',

  // Day Detail Panel
  'day.precipProb': 'احتمال هطول الأمطار',
  'day.precipitation': 'الهطول',
  'day.wind': 'الرياح',
  'day.sunrise': 'شروق الشمس',
  'day.sunset': 'غروب الشمس',
  'day.hourlyForecast': 'التوقعات بالساعة',
  'day.climateHint': 'متوسطات تاريخية — التوقعات الفعلية متاحة خلال 16 يومًا من هذا التاريخ.',
  'day.noWeather': 'لا تتوفر بيانات طقس. أضف مكانًا بإحداثيات.',
  'day.overview': 'ملخص اليوم',
  'day.accommodation': 'الإقامة',
  'day.addAccommodation': 'إضافة إقامة',
  'day.hotelDayRange': 'تطبيق على الأيام',
  'day.noPlacesForHotel': 'أضف أماكن إلى رحلتك أولًا',
  'day.allDays': 'الكل',
  'day.checkIn': 'تسجيل الوصول',
  'day.checkInUntil': 'حتى',
  'day.checkOut': 'تسجيل المغادرة',
  'day.confirmation': 'التأكيد',
  'day.editAccommodation': 'تعديل الإقامة',
  'day.reservations': 'الحجوزات',

  // Memories / Immich
  'memories.title': 'صور',
  'memories.notConnected': 'Immich غير متصل',
  'memories.notConnectedHint': 'قم بتوصيل Immich في الإعدادات لعرض صور رحلتك هنا.',
  'memories.notConnectedMultipleHint': 'قم بتوصيل أحد موفري الصور هؤلاء: {provider_names} في الإعدادات لتتمكن من إضافة صور إلى هذه الرحلة.',
  'memories.noDates': 'أضف تواريخ لرحلتك لتحميل الصور.',
  'memories.noPhotos': 'لم يتم العثور على صور',
  'memories.noPhotosHint': 'لم يتم العثور على صور في Immich لفترة هذه الرحلة.',
  'memories.photosFound': 'صور',
  'memories.fromOthers': 'من آخرين',
  'memories.sharePhotos': 'مشاركة الصور',
  'memories.sharing': 'مشترك',
  'memories.reviewTitle': 'مراجعة صورك',
  'memories.reviewHint': 'انقر على الصور لاستبعادها من المشاركة.',
  'memories.shareCount': 'مشاركة {count} صور',
  'memories.providerUrl': 'عنوان URL للخادم',
  'memories.providerApiKey': 'مفتاح API',
  'memories.providerUsername': 'اسم المستخدم',
  'memories.providerPassword': 'كلمة المرور',
  'memories.providerOTP': 'رمز MFA (إذا كان مفعلاً)',
  'memories.skipSSLVerification': 'تخطي التحقق من شهادة SSL',
  'memories.immichAutoUpload': 'نسخ صور الرحلة إلى Immich عند الرفع',
  'memories.providerUrlHintSynology': 'أدرج مسار تطبيق Photos في URL، مثل https://nas:5001/photo',
  'memories.testConnection': 'اختبار الاتصال',
  'memories.testShort': 'اختبار',
  'memories.testFirst': 'اختبر الاتصال أولاً',
  'memories.connected': 'متصل',
  'memories.disconnected': 'غير متصل',
  'memories.connectionSuccess': 'تم الاتصال بـ Immich',
  'memories.connectionError': 'تعذر الاتصال بـ Immich',
  'memories.saved': 'تم حفظ إعدادات {provider_name}',
  'memories.providerDisconnectedBanner': 'اتصالك بـ {provider_name} مفقود. أعد الاتصال في الإعدادات لعرض الصور.',
  'memories.saveError': 'تعذّر حفظ إعدادات {provider_name}',
  'memories.saveRouteNotConfigured': 'مسار الحفظ غير مهيأ لهذا المزود',
  'memories.testRouteNotConfigured': 'مسار الاختبار غير مهيأ لهذا المزود',
  'memories.fillRequiredFields': 'يرجى ملء جميع الحقول المطلوبة',
  'memories.oldest': 'الأقدم أولاً',
  'memories.newest': 'الأحدث أولاً',
  'memories.allLocations': 'جميع المواقع',
  'memories.addPhotos': 'إضافة صور',
  'memories.linkAlbum': 'ربط ألبوم',
  'memories.selectAlbum': 'اختيار ألبوم Immich',
  'memories.selectAlbumMultiple': 'اختيار ألبوم',
  'memories.noAlbums': 'لم يتم العثور على ألبومات',
  'memories.syncAlbum': 'مزامنة الألبوم',
  'memories.unlinkAlbum': 'إلغاء الربط',
  'memories.photos': 'صور',
  'memories.selectPhotos': 'اختيار صور من Immich',
  'memories.selectPhotosMultiple': 'اختيار الصور',
  'memories.selectHint': 'انقر على الصور لتحديدها.',
  'memories.selected': 'محدد',
  'memories.addSelected': 'إضافة {count} صور',
  'memories.alreadyAdded': 'تمت الإضافة',
  'memories.private': 'خاص',
  'memories.stopSharing': 'إيقاف المشاركة',
  'memories.tripDates': 'تواريخ الرحلة',
  'memories.allPhotos': 'جميع الصور',
  'memories.confirmShareTitle': 'مشاركة مع أعضاء الرحلة؟',
  'memories.confirmShareHint': '{count} صور ستكون مرئية لجميع أعضاء هذه الرحلة. يمكنك جعل الصور الفردية خاصة لاحقًا.',
  'memories.confirmShareButton': 'مشاركة الصور',
  'journey.search.placeholder': 'البحث في الرحلات…',
  'journey.search.noResults': 'لا توجد رحلات تطابق "{query}"',
  'journey.status.archived': 'مؤرشف',
  'journey.settings.endJourney': 'أرشفة الرحلة',
  'journey.settings.reopenJourney': 'استعادة الرحلة',
  'journey.settings.archived': 'تم أرشفة الرحلة',
  'journey.settings.reopened': 'تمت إعادة فتح الرحلة',
  'journey.settings.endDescription': 'يخفي شارة البث المباشر. يمكنك إعادة الفتح في أي وقت.',
  'journey.settings.failedToDelete': 'فشل في الحذف',
  'journey.entries.deleteTitle': 'حذف الإدخال',
  'journey.photosUploaded': 'تم رفع {count} صورة',
  'journey.photosAdded': 'تمت إضافة {count} صورة',
  'journey.picker.tripPeriod': 'فترة الرحلة',
  'journey.picker.dateRange': 'نطاق التاريخ',
  'journey.picker.allPhotos': 'كل الصور',
  'journey.picker.albums': 'ألبومات',
  'journey.picker.selected': 'محدد',
  'journey.picker.addTo': 'إضافة إلى',
  'journey.picker.newGallery': 'معرض جديد',
  'journey.picker.selectAll': 'تحديد الكل',
  'journey.picker.deselectAll': 'إلغاء تحديد الكل',
  'journey.picker.noAlbums': 'لم يتم العثور على ألبومات',
  'journey.picker.selectDate': 'اختر تاريخ',
  'journey.picker.search': 'بحث',

  // Journey Detail
  'journey.detail.photos': 'صور',
  'journey.detail.backToJourney': 'العودة للمجلة',
  'journey.detail.day': 'اليوم {number}',
  'journey.detail.places': 'أماكن',
  'journey.skeletons.show': 'إظهار الاقتراحات',
  'journey.skeletons.hide': 'إخفاء الاقتراحات',

  // Journey — Invite
  'journey.invite.role': 'الدور',
  'journey.invite.viewer': 'مشاهد',
  'journey.invite.editor': 'محرر',
  'journey.invite.invite': 'دعوة',
  'journey.invite.inviting': 'جارٍ الدعوة...',

  // Journey Entry Editor
  'journey.editor.discardChangesConfirm': 'لديك تغييرات غير محفوظة. هل تريد تجاهلها؟',
  'journey.editor.uploadPhotos': 'رفع صور',
  'journey.editor.uploading': '...جارٍ الرفع',
  'journey.editor.fromGallery': 'من المعرض',
  'journey.editor.addAnother': 'إضافة آخر',
  'journey.editor.makeFirst': 'جعله الأول',
  'journey.editor.searching': 'جارٍ البحث...',

  // Journey — Share
  'journey.share.copy': 'نسخ',
  'journey.share.copied': 'تم النسخ!',

  // Collab Addon
  'collab.tabs.chat': 'الدردشة',
  'collab.tabs.notes': 'الملاحظات',
  'collab.tabs.polls': 'الاستطلاعات',
  'collab.whatsNext.title': 'ما التالي',
  'collab.whatsNext.today': 'اليوم',
  'collab.whatsNext.tomorrow': 'غدًا',
  'collab.whatsNext.empty': 'لا توجد أنشطة قادمة',
  'collab.whatsNext.until': 'إلى',
  'collab.whatsNext.emptyHint': 'ستظهر الأنشطة التي لها وقت هنا',
  'collab.chat.send': 'إرسال',
  'collab.chat.placeholder': 'اكتب رسالة...',
  'collab.chat.empty': 'ابدأ المحادثة',
  'collab.chat.emptyHint': 'تتم مشاركة الرسائل مع جميع أعضاء الرحلة',
  'collab.chat.emptyDesc': 'شارك الأفكار والخطط والتحديثات مع مجموعة السفر',
  'collab.chat.today': 'اليوم',
  'collab.chat.yesterday': 'أمس',
  'collab.chat.deletedMessage': 'حذف رسالة',
  'collab.chat.reply': 'رد',
  'collab.chat.loadMore': 'تحميل الرسائل الأقدم',
  'collab.chat.justNow': 'الآن',
  'collab.chat.minutesAgo': 'منذ {n} د',
  'collab.chat.hoursAgo': 'منذ {n} س',
  'collab.notes.title': 'الملاحظات',
  'collab.notes.new': 'ملاحظة جديدة',
  'collab.notes.empty': 'لا توجد ملاحظات بعد',
  'collab.notes.emptyHint': 'ابدأ بتسجيل الأفكار والخطط',
  'collab.notes.all': 'الكل',
  'collab.notes.titlePlaceholder': 'عنوان الملاحظة',
  'collab.notes.contentPlaceholder': 'اكتب شيئًا...',
  'collab.notes.categoryPlaceholder': 'الفئة',
  'collab.notes.newCategory': 'فئة جديدة...',
  'collab.notes.category': 'الفئة',
  'collab.notes.noCategory': 'بلا فئة',
  'collab.notes.color': 'اللون',
  'collab.notes.save': 'حفظ',
  'collab.notes.cancel': 'إلغاء',
  'collab.notes.edit': 'تعديل',
  'collab.notes.delete': 'حذف',
  'collab.notes.pin': 'تثبيت',
  'collab.notes.unpin': 'إلغاء التثبيت',
  'collab.notes.daysAgo': 'منذ {n} يوم',
  'collab.notes.categorySettings': 'إدارة الفئات',
  'collab.notes.create': 'إنشاء',
  'collab.notes.website': 'الموقع الإلكتروني',
  'collab.notes.websitePlaceholder': 'https://...',
  'collab.notes.attachFiles': 'إرفاق ملفات',
  'collab.notes.noCategoriesYet': 'لا توجد فئات بعد',
  'collab.notes.emptyDesc': 'أنشئ ملاحظة للبدء',
  'collab.polls.title': 'الاستطلاعات',
  'collab.polls.new': 'استطلاع جديد',
  'collab.polls.empty': 'لا توجد استطلاعات بعد',
  'collab.polls.emptyHint': 'اسأل المجموعة وصوّتوا معًا',
  'collab.polls.question': 'السؤال',
  'collab.polls.questionPlaceholder': 'ماذا ينبغي أن نفعل؟',
  'collab.polls.addOption': '+ إضافة خيار',
  'collab.polls.optionPlaceholder': 'الخيار {n}',
  'collab.polls.create': 'إنشاء استطلاع',
  'collab.polls.close': 'إغلاق',
  'collab.polls.closed': 'مغلق',
  'collab.polls.votes': '{n} أصوات',
  'collab.polls.vote': '{n} صوت',
  'collab.polls.multipleChoice': 'اختيار متعدد',
  'collab.polls.multiChoice': 'اختيار متعدد',
  'collab.polls.deadline': 'الموعد النهائي',
  'collab.polls.option': 'خيار',
  'collab.polls.options': 'الخيارات',
  'collab.polls.delete': 'حذف',
  'collab.polls.closedSection': 'مغلق',

  // Permissions
  'admin.tabs.permissions': 'الصلاحيات',
  'perm.title': 'إعدادات الصلاحيات',
  'perm.subtitle': 'التحكم في من يمكنه تنفيذ الإجراءات عبر التطبيق',
  'perm.saved': 'تم حفظ إعدادات الصلاحيات',
  'perm.resetDefaults': 'إعادة التعيين إلى الافتراضي',
  'perm.customized': 'مخصص',
  'perm.level.admin': 'المسؤول فقط',
  'perm.level.tripOwner': 'مالك الرحلة',
  'perm.level.tripMember': 'أعضاء الرحلة',
  'perm.level.everybody': 'الجميع',
  'perm.cat.trip': 'إدارة الرحلات',
  'perm.cat.members': 'إدارة الأعضاء',
  'perm.cat.files': 'الملفات',
  'perm.cat.content': 'المحتوى والجدول الزمني',
  'perm.cat.extras': 'الميزانية والتعبئة والتعاون',
  'perm.action.trip_create': 'إنشاء رحلات',
  'perm.action.trip_edit': 'تعديل تفاصيل الرحلة',
  'perm.action.trip_delete': 'حذف الرحلات',
  'perm.action.trip_archive': 'أرشفة / إلغاء أرشفة الرحلات',
  'perm.action.trip_cover_upload': 'رفع صورة الغلاف',
  'perm.action.member_manage': 'إضافة / إزالة الأعضاء',
  'perm.action.file_upload': 'رفع الملفات',
  'perm.action.file_edit': 'تعديل بيانات الملف',
  'perm.action.file_delete': 'حذف الملفات',
  'perm.action.place_edit': 'إضافة / تعديل / حذف الأماكن',
  'perm.action.day_edit': 'تعديل الأيام والملاحظات والتعيينات',
  'perm.action.reservation_edit': 'إدارة الحجوزات',
  'perm.action.budget_edit': 'إدارة الميزانية',
  'perm.action.packing_edit': 'إدارة قوائم التعبئة',
  'perm.action.collab_edit': 'التعاون (ملاحظات، استطلاعات، دردشة)',
  'perm.action.share_manage': 'إدارة روابط المشاركة',
  'perm.actionHint.trip_create': 'من يمكنه إنشاء رحلات جديدة',
  'perm.actionHint.trip_edit': 'من يمكنه تغيير اسم الرحلة والتواريخ والوصف والعملة',
  'perm.actionHint.trip_delete': 'من يمكنه حذف رحلة نهائياً',
  'perm.actionHint.trip_archive': 'من يمكنه أرشفة أو إلغاء أرشفة رحلة',
  'perm.actionHint.trip_cover_upload': 'من يمكنه رفع أو تغيير صورة الغلاف',
  'perm.actionHint.member_manage': 'من يمكنه دعوة أو إزالة أعضاء الرحلة',
  'perm.actionHint.file_upload': 'من يمكنه رفع ملفات إلى رحلة',
  'perm.actionHint.file_edit': 'من يمكنه تعديل أوصاف الملفات والروابط',
  'perm.actionHint.file_delete': 'من يمكنه نقل الملفات إلى سلة المهملات أو حذفها نهائياً',
  'perm.actionHint.place_edit': 'من يمكنه إضافة أو تعديل أو حذف الأماكن',
  'perm.actionHint.day_edit': 'من يمكنه تعديل الأيام وملاحظات الأيام وتعيينات الأماكن',
  'perm.actionHint.reservation_edit': 'من يمكنه إنشاء أو تعديل أو حذف الحجوزات',
  'perm.actionHint.budget_edit': 'من يمكنه إنشاء أو تعديل أو حذف عناصر الميزانية',
  'perm.actionHint.packing_edit': 'من يمكنه إدارة عناصر التعبئة والحقائب',
  'perm.actionHint.collab_edit': 'من يمكنه إنشاء ملاحظات واستطلاعات وإرسال رسائل',
  'perm.actionHint.share_manage': 'من يمكنه إنشاء أو حذف روابط المشاركة العامة',
  // Undo
  'undo.button': 'تراجع',
  'undo.tooltip': 'تراجع: {action}',
  'undo.assignPlace': 'تم تعيين المكان لليوم',
  'undo.removeAssignment': 'تم إزالة المكان من اليوم',
  'undo.reorder': 'تمت إعادة ترتيب الأماكن',
  'undo.optimize': 'تم تحسين المسار',
  'undo.deletePlace': 'تم حذف المكان',
  'undo.deletePlaces': 'تم حذف الأماكن',
  'undo.moveDay': 'تم نقل المكان إلى يوم آخر',
  'undo.lock': 'تم تبديل قفل المكان',
  'undo.importGpx': 'استيراد GPX',
  'undo.importKeyholeMarkup': 'استيراد KMZ/KML',
  'undo.importGoogleList': 'استيراد خرائط Google',
  'undo.importNaverList': 'استيراد خرائط Naver',

  // Notifications
  'notifications.title': 'الإشعارات',
  'notifications.markAllRead': 'تحديد الكل كمقروء',
  'notifications.deleteAll': 'حذف الكل',
  'notifications.showAll': 'عرض جميع الإشعارات',
  'notifications.empty': 'لا توجد إشعارات',
  'notifications.emptyDescription': 'لقد اطلعت على كل شيء!',
  'notifications.all': 'الكل',
  'notifications.unreadOnly': 'غير مقروء',
  'notifications.markRead': 'تحديد كمقروء',
  'notifications.markUnread': 'تحديد كغير مقروء',
  'notifications.delete': 'حذف',
  'notifications.system': 'النظام',
  'notifications.synologySessionCleared.title': 'تم قطع اتصال Synology Photos',
  'notifications.synologySessionCleared.text': 'تغير خادمك أو حسابك — انتقل إلى الإعدادات لاختبار اتصالك مرة أخرى.',
  'memories.error.loadAlbums': 'فشل تحميل الألبومات',
  'memories.error.linkAlbum': 'فشل ربط الألبوم',
  'memories.error.unlinkAlbum': 'فشل إلغاء ربط الألبوم',
  'memories.error.syncAlbum': 'فشل مزامنة الألبوم',
  'memories.error.loadPhotos': 'فشل تحميل الصور',
  'memories.error.addPhotos': 'فشل إضافة الصور',
  'memories.error.removePhoto': 'فشل حذف الصورة',
  'memories.error.toggleSharing': 'فشل تحديث إعدادات المشاركة',
  'undo.addPlace': 'تمت إضافة المكان',
  'undo.done': 'تم التراجع: {action}',
  'notifications.test.title': 'إشعار تجريبي من {actor}',
  'notifications.test.text': 'هذا إشعار تجريبي بسيط.',
  'notifications.test.booleanTitle': 'يطلب منك {actor} الموافقة',
  'notifications.test.booleanText': 'إشعار تجريبي يتطلب إجابة.',
  'notifications.test.accept': 'موافقة',
  'notifications.test.decline': 'رفض',
  'notifications.test.navigateTitle': 'تحقق من شيء ما',
  'notifications.test.navigateText': 'إشعار تجريبي للتنقل.',
  'notifications.test.goThere': 'اذهب إلى هناك',
  'notifications.test.adminTitle': 'إذاعة المسؤول',
  'notifications.test.adminText': 'أرسل {actor} إشعاراً تجريبياً لجميع المسؤولين.',
  'notifications.test.tripTitle': 'نشر {actor} في رحلتك',
  'notifications.test.tripText': 'إشعار تجريبي للرحلة "{trip}".',

  // Todo
  'todo.subtab.packing': 'قائمة الأمتعة',
  'todo.subtab.todo': 'المهام',
  'todo.completed': 'مكتمل',
  'todo.filter.all': 'الكل',
  'todo.filter.open': 'مفتوح',
  'todo.filter.done': 'منجز',
  'todo.uncategorized': 'بدون تصنيف',
  'todo.namePlaceholder': 'اسم المهمة',
  'todo.descriptionPlaceholder': 'وصف (اختياري)',
  'todo.unassigned': 'غير مُسنَد',
  'todo.noCategory': 'بدون فئة',
  'todo.hasDescription': 'له وصف',
  'todo.addItem': 'إضافة مهمة جديدة',
  'todo.sidebar.sortBy': 'ترتيب حسب',
  'todo.priority': 'الأولوية',
  'todo.newCategoryLabel': 'جديد',
  'budget.categoriesLabel': 'فئات',
  'todo.newCategory': 'اسم الفئة',
  'todo.addCategory': 'إضافة فئة',
  'todo.newItem': 'مهمة جديدة',
  'todo.empty': 'لا توجد مهام بعد. أضف مهمة للبدء!',
  'todo.filter.my': 'مهامي',
  'todo.filter.overdue': 'متأخرة',
  'todo.sidebar.tasks': 'المهام',
  'todo.sidebar.categories': 'الفئات',
  'todo.detail.title': 'مهمة',
  'todo.detail.description': 'وصف',
  'todo.detail.category': 'فئة',
  'todo.detail.dueDate': 'تاريخ الاستحقاق',
  'todo.detail.assignedTo': 'مسند إلى',
  'todo.detail.delete': 'حذف',
  'todo.detail.save': 'حفظ التغييرات',
  'todo.detail.create': 'إنشاء مهمة',
  'todo.detail.priority': 'الأولوية',
  'todo.detail.noPriority': 'لا شيء',
  'todo.sortByPrio': 'الأولوية',

  // Notification system (added from feat/notification-system)
  'settings.notifyVersionAvailable': 'إصدار جديد متاح',
  'settings.notificationPreferences.noChannels': 'لم يتم تكوين قنوات إشعارات. اطلب من المسؤول إعداد إشعارات البريد الإلكتروني أو webhook.',
  'settings.webhookUrl.label': 'رابط Webhook',
  'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...',
  'settings.webhookUrl.hint': 'أدخل رابط Webhook الخاص بـ Discord أو Slack أو المخصص لتلقي الإشعارات.',
  'settings.webhookUrl.saved': 'تم حفظ رابط Webhook',
  'settings.webhookUrl.test': 'اختبار',
  'settings.webhookUrl.testSuccess': 'تم إرسال Webhook الاختباري بنجاح',
  'settings.webhookUrl.testFailed': 'فشل إرسال Webhook الاختباري',
  'settings.ntfyUrl.topicLabel': 'موضوع Ntfy',
  'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts',
  'settings.ntfyUrl.serverLabel': 'عنوان URL خادم Ntfy (اختياري)',
  'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh',
  'settings.ntfyUrl.hint': 'أدخل موضوع Ntfy الخاص بك لتلقي الإشعارات الفورية. اترك حقل الخادم فارغاً لاستخدام الإعداد الافتراضي الذي حدده المسؤول.',
  'settings.ntfyUrl.tokenLabel': 'رمز الوصول (اختياري)',
  'settings.ntfyUrl.tokenHint': 'مطلوب للمواضيع المحمية بكلمة مرور.',
  'settings.ntfyUrl.saved': 'تم حفظ إعدادات Ntfy',
  'settings.ntfyUrl.test': 'اختبار',
  'settings.ntfyUrl.testSuccess': 'تم إرسال إشعار Ntfy التجريبي بنجاح',
  'settings.ntfyUrl.testFailed': 'فشل إشعار Ntfy التجريبي',
  'settings.ntfyUrl.tokenCleared': 'تم مسح رمز الوصول',
  'settings.notificationPreferences.inapp': 'In-App',
  'settings.notificationPreferences.webhook': 'Webhook',
  'settings.notificationPreferences.email': 'Email',
  'settings.notificationPreferences.ntfy': 'Ntfy',
  'admin.notifications.emailPanel.title': 'Email (SMTP)',
  'admin.notifications.webhookPanel.title': 'Webhook',
  'admin.notifications.inappPanel.title': 'In-App',
  'admin.notifications.inappPanel.hint': 'الإشعارات داخل التطبيق نشطة دائمًا ولا يمكن تعطيلها بشكل عام.',
  'admin.notifications.adminWebhookPanel.title': 'Webhook المسؤول',
  'admin.notifications.adminWebhookPanel.hint': 'يُستخدم هذا الـ Webhook حصريًا لإشعارات المسؤول (مثل تنبيهات الإصدارات). وهو مستقل عن Webhooks المستخدمين ويُرسل تلقائيًا عند تعيين رابط URL.',
  'admin.notifications.adminWebhookPanel.saved': 'تم حفظ رابط Webhook المسؤول',
  'admin.notifications.adminWebhookPanel.testSuccess': 'تم إرسال Webhook الاختباري بنجاح',
  'admin.notifications.adminWebhookPanel.testFailed': 'فشل إرسال Webhook الاختباري',
  'admin.notifications.adminWebhookPanel.alwaysOnHint': 'يُرسل Webhook المسؤول تلقائيًا عند تعيين رابط URL',
  'admin.notifications.ntfy': 'Ntfy',
  'admin.ntfy.hint': 'تسمح للمستخدمين بإعداد موضوعات ntfy الخاصة لتلقي إشعارات الدفع. قم بتعيين الخادم الافتراضي أدناه لملء إعدادات المستخدم مسبقًا.',
  'admin.notifications.testNtfy': 'إرسال Ntfy تجريبي',
  'admin.notifications.testNtfySuccess': 'تم إرسال Ntfy التجريبي بنجاح',
  'admin.notifications.testNtfyFailed': 'فشل إرسال Ntfy التجريبي',
  'admin.notifications.adminNtfyPanel.title': 'Ntfy المسؤول',
  'admin.notifications.adminNtfyPanel.hint': 'يُستخدم موضوع Ntfy هذا حصريًا لإشعارات المسؤول (مثل تنبيهات الإصدارات). وهو مستقل عن مواضيع المستخدمين ويُرسل دائمًا عند تهيئته.',
  'admin.notifications.adminNtfyPanel.serverLabel': 'عنوان URL خادم Ntfy',
  'admin.notifications.adminNtfyPanel.serverHint': 'يُستخدم أيضًا كخادم افتراضي لإشعارات ntfy للمستخدمين. اتركه فارغًا لاستخدام ntfy.sh. يمكن للمستخدمين تغييره في إعداداتهم الخاصة.',
  'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh',
  'admin.notifications.adminNtfyPanel.topicLabel': 'موضوع المسؤول',
  'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts',
  'admin.notifications.adminNtfyPanel.tokenLabel': 'رمز الوصول (اختياري)',
  'admin.notifications.adminNtfyPanel.tokenCleared': 'تم مسح رمز وصول المسؤول',
  'admin.notifications.adminNtfyPanel.saved': 'تم حفظ إعدادات Ntfy للمسؤول',
  'admin.notifications.adminNtfyPanel.test': 'إرسال Ntfy تجريبي',
  'admin.notifications.adminNtfyPanel.testSuccess': 'تم إرسال Ntfy التجريبي بنجاح',
  'admin.notifications.adminNtfyPanel.testFailed': 'فشل إرسال Ntfy التجريبي',
  'admin.notifications.adminNtfyPanel.alwaysOnHint': 'يُرسل Ntfy للمسؤول دائمًا عند تهيئة موضوع',
  'admin.notifications.adminNotificationsHint': 'حدد القنوات التي تُسلّم إشعارات المسؤول (مثل تنبيهات الإصدارات). يُرسل الـ Webhook تلقائيًا عند تعيين رابط URL لـ Webhook المسؤول.',
  'admin.notifications.tripReminders.title': 'تذكيرات الرحلات',
  'admin.notifications.tripReminders.hint': 'إرسال تذكير قبل بدء الرحلة (يتطلب تعيين أيام التذكير على الرحلة).',
  'admin.notifications.tripReminders.enabled': 'تم تفعيل تذكيرات الرحلات',
  'admin.notifications.tripReminders.disabled': 'تم تعطيل تذكيرات الرحلات',
  'admin.tabs.notifications': 'الإشعارات',
  'notifications.versionAvailable.title': 'تحديث متاح',
  'notifications.versionAvailable.text': 'TREK {version} متاح الآن.',
  'notifications.versionAvailable.button': 'عرض التفاصيل',
  'notif.test.title': '[اختبار] إشعار',
  'notif.test.simple.text': 'هذا إشعار اختبار بسيط.',
  'notif.test.boolean.text': 'هل تقبل هذا الإشعار الاختباري؟',
  'notif.test.navigate.text': 'انقر أدناه للانتقال إلى لوحة التحكم.',

  // Notifications
  'notif.trip_invite.title': 'دعوة للرحلة',
  'notif.trip_invite.text': '{actor} دعاك إلى {trip}',
  'notif.booking_change.title': 'تم تحديث الحجز',
  'notif.booking_change.text': '{actor} حدّث حجزاً في {trip}',
  'notif.trip_reminder.title': 'تذكير بالرحلة',
  'notif.trip_reminder.text': 'رحلتك {trip} تقترب!',
  'notif.todo_due.title': 'مهمة مستحقة',
  'notif.todo_due.text': '{todo} في {trip} مستحقة في {due}',
  'notif.vacay_invite.title': 'دعوة دمج الإجازة',
  'notif.vacay_invite.text': '{actor} يدعوك لدمج خطط الإجازة',
  'notif.photos_shared.title': 'تمت مشاركة الصور',
  'notif.photos_shared.text': '{actor} شارك {count} صورة في {trip}',
  'notif.collab_message.title': 'رسالة جديدة',
  'notif.collab_message.text': '{actor} أرسل رسالة في {trip}',
  'notif.packing_tagged.title': 'مهمة التعبئة',
  'notif.packing_tagged.text': '{actor} عيّنك في {category} في {trip}',
  'notif.version_available.title': 'إصدار جديد متاح',
  'notif.version_available.text': 'TREK {version} متاح الآن',
  'notif.action.view_trip': 'عرض الرحلة',
  'notif.action.view_collab': 'عرض الرسائل',
  'notif.action.view_packing': 'عرض التعبئة',
  'notif.action.view_photos': 'عرض الصور',
  'notif.action.view_vacay': 'عرض Vacay',
  'notif.action.view_admin': 'الذهاب للإدارة',
  'notif.action.view': 'عرض',
  'notif.action.accept': 'قبول',
  'notif.action.decline': 'رفض',
  'notif.generic.title': 'إشعار',
  'notif.generic.text': 'لديك إشعار جديد',
  'notif.dev.unknown_event.title': '[DEV] حدث غير معروف',
  'notif.dev.unknown_event.text': 'نوع الحدث "{event}" غير مسجل في EVENT_NOTIFICATION_CONFIG',

  // OAuth scope groups
  'oauth.scope.group.trips': 'الرحلات',
  'oauth.scope.group.places': 'الأماكن',
  'oauth.scope.group.atlas': 'Atlas',
  'oauth.scope.group.packing': 'الأمتعة',
  'oauth.scope.group.todos': 'المهام',
  'oauth.scope.group.budget': 'الميزانية',
  'oauth.scope.group.reservations': 'الحجوزات',
  'oauth.scope.group.collab': 'التعاون',
  'oauth.scope.group.notifications': 'الإشعارات',
  'oauth.scope.group.vacay': 'الإجازة',
  'oauth.scope.group.geo': 'Geo',
  'oauth.scope.group.weather': 'الطقس',
  'oauth.scope.group.journey': 'مذكرة السفر',

  // OAuth scope labels & descriptions
  'oauth.scope.trips:read.label': 'عرض الرحلات وخطط السفر',
  'oauth.scope.trips:read.description': 'قراءة الرحلات والأيام والملاحظات والأعضاء',
  'oauth.scope.trips:write.label': 'تحرير الرحلات وخطط السفر',
  'oauth.scope.trips:write.description': 'إنشاء وتحديث الرحلات والأيام والملاحظات وإدارة الأعضاء',
  'oauth.scope.trips:delete.label': 'حذف الرحلات',
  'oauth.scope.trips:delete.description': 'حذف الرحلات بأكملها نهائياً — هذا الإجراء لا يمكن التراجع عنه',
  'oauth.scope.trips:share.label': 'إدارة روابط المشاركة',
  'oauth.scope.trips:share.description': 'إنشاء روابط مشاركة عامة وتحديثها وإلغاؤها',
  'oauth.scope.places:read.label': 'عرض الأماكن وبيانات الخريطة',
  'oauth.scope.places:read.description': 'قراءة الأماكن وتعيينات الأيام والعلامات والفئات',
  'oauth.scope.places:write.label': 'إدارة الأماكن',
  'oauth.scope.places:write.description': 'إنشاء وتحديث وحذف الأماكن والتعيينات والعلامات',
  'oauth.scope.atlas:read.label': 'عرض Atlas',
  'oauth.scope.atlas:read.description': 'قراءة الدول والمناطق المزارة وقائمة الأمنيات',
  'oauth.scope.atlas:write.label': 'إدارة Atlas',
  'oauth.scope.atlas:write.description': 'تعليم الدول والمناطق كمزارة، وإدارة قائمة الأمنيات',
  'oauth.scope.packing:read.label': 'عرض قوائم الأمتعة',
  'oauth.scope.packing:read.description': 'قراءة عناصر الأمتعة والحقائب ومُسنَدي الفئات',
  'oauth.scope.packing:write.label': 'إدارة قوائم الأمتعة',
  'oauth.scope.packing:write.description': 'إضافة وتحديث وحذف وتبديل وإعادة ترتيب عناصر الأمتعة والحقائب',
  'oauth.scope.todos:read.label': 'عرض قوائم المهام',
  'oauth.scope.todos:read.description': 'قراءة مهام الرحلة ومُسنَدي الفئات',
  'oauth.scope.todos:write.label': 'إدارة قوائم المهام',
  'oauth.scope.todos:write.description': 'إنشاء وتحديث وتبديل وحذف وإعادة ترتيب المهام',
  'oauth.scope.budget:read.label': 'عرض الميزانية',
  'oauth.scope.budget:read.description': 'قراءة بنود الميزانية وتفاصيل النفقات',
  'oauth.scope.budget:write.label': 'إدارة الميزانية',
  'oauth.scope.budget:write.description': 'إنشاء وتحديث وحذف بنود الميزانية',
  'oauth.scope.reservations:read.label': 'عرض الحجوزات',
  'oauth.scope.reservations:read.description': 'قراءة الحجوزات وتفاصيل الإقامة',
  'oauth.scope.reservations:write.label': 'إدارة الحجوزات',
  'oauth.scope.reservations:write.description': 'إنشاء وتحديث وحذف وإعادة ترتيب الحجوزات',
  'oauth.scope.collab:read.label': 'عرض التعاون',
  'oauth.scope.collab:read.description': 'قراءة ملاحظات التعاون والاستطلاعات والرسائل',
  'oauth.scope.collab:write.label': 'إدارة التعاون',
  'oauth.scope.collab:write.description': 'إنشاء وتحديث وحذف الملاحظات والاستطلاعات والرسائل التعاونية',
  'oauth.scope.notifications:read.label': 'عرض الإشعارات',
  'oauth.scope.notifications:read.description': 'قراءة إشعارات التطبيق وأعداد غير المقروءة',
  'oauth.scope.notifications:write.label': 'إدارة الإشعارات',
  'oauth.scope.notifications:write.description': 'تعليم الإشعارات كمقروءة والرد عليها',
  'oauth.scope.vacay:read.label': 'عرض خطط الإجازة',
  'oauth.scope.vacay:read.description': 'قراءة بيانات تخطيط الإجازة والإدخالات والإحصاءات',
  'oauth.scope.vacay:write.label': 'إدارة خطط الإجازة',
  'oauth.scope.vacay:write.description': 'إنشاء وإدارة إدخالات الإجازة والعطلات وخطط الفريق',
  'oauth.scope.geo:read.label': 'الخرائط والترميز الجغرافي',
  'oauth.scope.geo:read.description': 'البحث عن مواقع وحل عناوين الخرائط والترميز الجغرافي العكسي للإحداثيات',
  'oauth.scope.weather:read.label': 'توقعات الطقس',
  'oauth.scope.weather:read.description': 'جلب توقعات الطقس لمواقع الرحلة وتواريخها',
  'oauth.scope.journey:read.label': 'عرض مذكرات السفر',
  'oauth.scope.journey:read.description': 'قراءة مذكرات السفر والمدخلات وقائمة المساهمين',
  'oauth.scope.journey:write.label': 'إدارة مذكرات السفر',
  'oauth.scope.journey:write.description': 'إنشاء مذكرات السفر وتحديثها وحذفها وإدخالاتها',
  'oauth.scope.journey:share.label': 'إدارة روابط مذكرات السفر',
  'oauth.scope.journey:share.description': 'إنشاء روابط مشاركة عامة لمذكرات السفر وتحديثها وإلغاؤها',

  // System notices
  'system_notice.welcome_v1.title': 'مرحبًا بك في TREK',
  'system_notice.welcome_v1.body': 'مخطط رحلاتك الشامل. أنشئ جداول السفر، وشارك رحلاتك مع الأصدقاء، وابقَ منظمًا — سواء كنت متصلاً بالإنترنت أم لا.',
  'system_notice.welcome_v1.cta_label': 'خطط لرحلة',
  'system_notice.welcome_v1.hero_alt': 'وجهة سفر خلابة مع واجهة تطبيق TREK',
  'system_notice.welcome_v1.highlight_plan': 'جداول رحلات يومية لكل سفرة',
  'system_notice.welcome_v1.highlight_share': 'تعاون مع شركاء السفر',
  'system_notice.welcome_v1.highlight_offline': 'يعمل بلا إنترنت على الهاتف',
  'system_notice.dev_test_modal.title': '[Dev] Test notice',
  'system_notice.dev_test_modal.body': 'This is a dev-only test notice.',
  'system_notice.pager.prev': 'الإشعار السابق',
  'system_notice.pager.next': 'الإشعار التالي',
  'system_notice.pager.counter': '{current} / {total}',
  'system_notice.pager.goto': 'الانتقال إلى الإشعار {n}',
  'system_notice.pager.position': 'الإشعار {current} من {total}',
  // System notices — 3.0.0 upgrade
  'system_notice.v3_photos.title': 'تم نقل الصور في الإصدار 3.0',
  'system_notice.v3_photos.body': 'تمت إزالة تبويب ​**الصور**​ من مخطط الرحلة. صورك آمنة — لم يعدّل TREK مكتبتك على Immich أو Synology قطّ.\n\nتعيش الصور الآن في إضافة **Journey**. Journey اختيارية — إن لم تكن متاحة بعد، اطلب من المسؤول تفعيلها عبر Admin ← الإضافات.',
  'system_notice.v3_journey.title': 'تعرّف على Journey — مذكرة سفر',
  'system_notice.v3_journey.body': 'وثّق رحلاتك كقصص غنية بخطوط زمنية ومعارض صور وخرائط تفاعلية.',
  'system_notice.v3_journey.cta_label': 'فتح Journey',
  'system_notice.v3_journey.highlight_timeline': 'جدول زمني يومي ومعرض',
  'system_notice.v3_journey.highlight_photos': 'استيراد من Immich أو Synology',
  'system_notice.v3_journey.highlight_share': 'مشاركة علنية — دون تسجيل دخول',
  'system_notice.v3_journey.highlight_export': 'تصدير كألبوم صور PDF',
  'system_notice.v3_features.title': 'مزيد من مميزات 3.0',
  'system_notice.v3_features.body': 'بعض الجديد الآخر الجدير بالمعرفة في هذا الإصدار.',
  'system_notice.v3_features.highlight_dashboard': 'إعادة تصميم لوحة التحكم mobile-first',
  'system_notice.v3_features.highlight_offline': 'وضع لا اتصال كامل كتطبيق PWA',
  'system_notice.v3_features.highlight_search': 'إكمال تلقائي في الوقت الفعلي',
  'system_notice.v3_features.highlight_import': 'استيراد أماكن من ملفات KMZ/KML',

  // System notices — MCP OAuth 2.1 upgrade
  'system_notice.v3_mcp.title': 'MCP: ترقية OAuth 2.1',
  'system_notice.v3_mcp.body': 'تمت إعادة تصميم تكامل MCP بالكامل. OAuth 2.1 هو الآن طريقة المصادقة الموصى بها. الرموز الثابتة (trek_…) مهملة وستُزال في إصدار مستقبلي.',
  'system_notice.v3_mcp.highlight_oauth':      'OAuth 2.1 موصى به (mcp-remote)',
  'system_notice.v3_mcp.highlight_scopes':     '24 نطاق أذونات دقيق',
  'system_notice.v3_mcp.highlight_deprecated': 'الرموز الثابتة trek_ مهملة',
  'system_notice.v3_mcp.highlight_tools':      'مجموعة أدوات وإرشادات موسعة',

  // System notices — personal thank you
  'system_notice.v3_thankyou.title': 'كلمة شخصية مني',
  'system_notice.v3_thankyou.body': 'قبل أن تمضي — أريد أن أتوقف لحظة.\n\nبدأ TREK كمشروع جانبي بنيته لرحلاتي الخاصة. لم أتخيل يومًا أنه سيكبر ليصبح شيئًا يعتمد عليه 4,000 منكم لتخطيط مغامراتهم. كل نجمة، كل مشكلة، كل طلب ميزة — أقرأها جميعًا، وهي ما يبقيني مستمرًا في الليالي المتأخرة بين عمل بدوام كامل والجامعة.\n\nأريدكم أن تعرفوا: TREK سيبقى دائمًا مفتوح المصدر، دائمًا مستضافًا ذاتيًا، دائمًا ملككم. لا تتبع، لا اشتراكات، لا شروط خفية. مجرد أداة بناها شخص يحب السفر بقدر ما تحبونه.\n\nشكر خاص لـ [jubnl](https://github.com/jubnl) — لقد أصبحت متعاونًا رائعًا. الكثير مما يجعل الإصدار 3.0 عظيمًا يحمل بصماتك. شكرًا لإيمانك بهذا المشروع عندما كان لا يزال في بداياته.\n\nولكل واحد منكم ممن أبلغ عن خطأ، أو ترجم نصًا، أو شارك TREK مع صديق، أو ببساطة استخدمه لتخطيط رحلة — **شكرًا لكم**. أنتم السبب في وجود هذا.\n\nإلى المزيد من المغامرات معًا.\n\n— Maurice\n\n---\n\n[انضم إلى المجتمع على Discord](https://discord.gg/7Q6M6jDwzf)\n\nإذا جعل TREK رحلاتك أفضل، [فنجان قهوة صغير](https://ko-fi.com/mauriceboe) يبقي الأضواء مشتعلة.',
  // System notices — 3.0.14
  'system_notice.v3014_whitespace_collision.title': 'إجراء مطلوب: تعارض في حسابات المستخدمين',
  'system_notice.v3014_whitespace_collision.body': 'اكتشف ترقية 3.0.14 تعارضًا في أسماء مستخدمين أو بريد إلكتروني ناتجًا عن مسافات بيضاء في بداية أو نهاية القيم المخزنة. تمت إعادة تسمية الحسابات المتأثرة تلقائيًا. تحقق من سجلات الخادم بحثًا عن أسطر تبدأ بـ **[migration] WHITESPACE COLLISION** لتحديد الحسابات التي تحتاج إلى مراجعة.',
  'transport.addTransport': 'إضافة وسيلة نقل',
  'transport.modalTitle.create': 'إضافة وسيلة نقل',
  'transport.modalTitle.edit': 'تعديل وسيلة النقل',
  'transport.title': 'المواصلات',
  'transport.addManual': 'نقل يدوي',
}

export default ar

