mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-19 13:21:46 +00:00
49b3af8b0d
Optimize day routes around the accommodation
When a day has an accommodation set, the route optimizer now treats it as
the day's home base: it optimizes a loop that leaves the hotel and returns
to it, so the stop nearest the hotel comes first. On a transfer day -
checking out of one hotel and into another - the route runs from the first
hotel to the second instead.
The optimizer also gained a 2-opt pass on top of the nearest-neighbor
ordering, which removes the crossings the greedy pass used to leave behind.
A new display setting ("optimize route from accommodation", on by default)
lets you turn the anchoring off.
Confirm before deleting notes
Deleting a plan note or a collab note now asks for confirmation first. On
phones and tablets the edit and delete icons sit close together and were
easy to mis-tap, which deleted notes with no way back.
323 lines
23 KiB
TypeScript
323 lines
23 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
|
|
|
const settings: TranslationStrings = {
|
|
'settings.title': 'الإعدادات',
|
|
'settings.subtitle': 'ضبط إعداداتك الشخصية',
|
|
'settings.tabs.display': 'العرض',
|
|
'settings.tabs.map': 'الخريطة',
|
|
'settings.tabs.notifications': 'الإشعارات',
|
|
'settings.tabs.integrations': 'التكاملات',
|
|
'settings.tabs.account': 'الحساب',
|
|
'settings.tabs.about': 'حول',
|
|
'settings.map': 'الخريطة',
|
|
'settings.mapTemplate': 'قالب الخريطة',
|
|
'settings.mapTemplatePlaceholder.select': 'اختر قالبًا...',
|
|
'settings.mapDefaultHint': 'اتركه فارغًا لاستخدام OpenStreetMap افتراضيًا',
|
|
'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.bookingLabels': 'تسميات مسارات الحجوزات',
|
|
'settings.bookingLabelsHint':
|
|
'عرض أسماء المحطات/المطارات على الخريطة. عند الإيقاف، يتم عرض الرمز فقط.',
|
|
'settings.blurBookingCodes': 'إخفاء رموز الحجز',
|
|
'settings.optimizeFromAccommodation': 'تحسين المسار انطلاقًا من مكان الإقامة',
|
|
'settings.optimizeFromAccommodationHint':
|
|
'عند تحسين يوم ما، يبدأ المسار من الفندق الذي تستيقظ فيه وينتهي عند الفندق الذي تسجّل الوصول إليه في تلك الليلة.',
|
|
'settings.notifications': 'الإشعارات',
|
|
'settings.notifyTripInvite': 'دعوات الرحلات',
|
|
'settings.notifyBookingChange': 'تغييرات الحجز',
|
|
'settings.notifyTripReminder': 'تذكيرات الرحلات',
|
|
'settings.notifyTodoDue': 'مهمة مستحقة',
|
|
'settings.notifyVacayInvite': 'دعوات دمج الإجازات',
|
|
'settings.notifyPhotosShared': 'صور مشتركة (Immich)',
|
|
'settings.notifyCollabMessage': 'رسائل الدردشة (Collab)',
|
|
'settings.notifyPackingTagged': 'قائمة الأمتعة: التعيينات',
|
|
'settings.notifyWebhook': 'إشعارات Webhook',
|
|
'settings.notifyVersionAvailable': 'إصدار جديد متاح',
|
|
'settings.notificationPreferences.noChannels':
|
|
'لم يتم تكوين قنوات إشعارات. اطلب من المسؤول إعداد إشعارات البريد الإلكتروني أو webhook.',
|
|
'settings.webhookUrl.label': 'رابط Webhook',
|
|
'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.serverLabel': 'عنوان URL خادم Ntfy (اختياري)',
|
|
'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.notificationsDisabled':
|
|
'الإشعارات غير مكوّنة. اطلب من المسؤول تفعيل إشعارات البريد الإلكتروني أو Webhook.',
|
|
'settings.notificationsActive': 'القناة النشطة',
|
|
'settings.notificationsManagedByAdmin':
|
|
'يتم تكوين أحداث الإشعارات بواسطة المسؤول.',
|
|
'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.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.oauth.modal.machineClient':
|
|
'عميل آلي (بدون تسجيل دخول عبر المتصفح)',
|
|
'settings.oauth.modal.machineClientHint':
|
|
'استخدام منحة client_credentials — لا تحتاج إلى عناوين إعادة التوجيه. يُصدر الرمز المميز مباشرةً عبر client_id + client_secret ويعمل بصلاحياتك ضمن النطاقات المحددة.',
|
|
'settings.oauth.modal.machineClientUsage':
|
|
'للحصول على رمز مميز: POST /oauth/token مع grant_type=client_credentials وclient_id وclient_secret. بدون متصفح، بدون رمز تحديث.',
|
|
'settings.oauth.badge.machine': 'آلي',
|
|
'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.description':
|
|
'TREK هو مخطط سفر مستضاف ذاتيًا يساعدك على تنظيم رحلاتك من أول فكرة حتى آخر ذكرى. تخطيط يومي، ميزانية، قوائم تعبئة، صور والمزيد — كل شيء في مكان واحد، على خادمك الخاص.',
|
|
'settings.about.madeWith': 'صُنع بـ',
|
|
'settings.about.madeBy': 'بواسطة موريس ومجتمع مفتوح المصدر متنامٍ.',
|
|
'settings.username': 'اسم المستخدم',
|
|
'settings.email': 'البريد الإلكتروني',
|
|
'settings.role': 'الدور',
|
|
'settings.roleAdmin': 'مسؤول',
|
|
'settings.oidcLinked': 'مرتبط مع',
|
|
'settings.changePassword': 'تغيير كلمة المرور',
|
|
'settings.currentPassword': 'كلمة المرور الحالية',
|
|
'settings.currentPasswordRequired': 'كلمة المرور الحالية مطلوبة',
|
|
'settings.newPassword': 'كلمة المرور الجديدة',
|
|
'settings.confirmPassword': 'تأكيد كلمة المرور الجديدة',
|
|
'settings.updatePassword': 'تحديث كلمة المرور',
|
|
'settings.passwordRequired': 'أدخل كلمة المرور الحالية والجديدة',
|
|
'settings.passwordTooShort': 'يجب أن تتكون كلمة المرور من 8 أحرف على الأقل',
|
|
'settings.passwordMismatch': 'كلمتا المرور غير متطابقتين',
|
|
'settings.passwordWeak':
|
|
'يجب أن تحتوي كلمة المرور على حرف كبير وحرف صغير ورقم ورمز خاص',
|
|
'settings.passwordChanged': 'تم تغيير كلمة المرور بنجاح',
|
|
'settings.mustChangePassword':
|
|
'يجب عليك تغيير كلمة المرور قبل المتابعة. يرجى تعيين كلمة مرور جديدة أدناه.',
|
|
'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': 'غير متاح في الوضع التجريبي',
|
|
'settings.tabs.offline': 'Offline', // en-fallback
|
|
'settings.mapTemplatePlaceholder':
|
|
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', // en-fallback
|
|
'settings.notificationPreferences.email': 'Email', // en-fallback
|
|
'settings.notificationPreferences.webhook': 'Webhook', // en-fallback
|
|
'settings.notificationPreferences.inapp': 'In-App', // en-fallback
|
|
'settings.notificationPreferences.ntfy': 'Ntfy', // en-fallback
|
|
'settings.webhookUrl.placeholder': 'https://discord.com/api/webhooks/...', // en-fallback
|
|
'settings.ntfyUrl.topicPlaceholder': 'my-trek-alerts', // en-fallback
|
|
'settings.ntfyUrl.serverPlaceholder': 'https://ntfy.sh', // en-fallback
|
|
'settings.oauth.modal.redirectUrisPlaceholder':
|
|
'https://your-app.com/callback\nhttps://your-app.com/auth', // en-fallback
|
|
'settings.about.supporter.tier.noReturnTicket': 'No Return Ticket', // en-fallback
|
|
'settings.about.supporter.tier.lostLuggageVip': 'Lost Luggage VIP', // en-fallback
|
|
'settings.about.supporter.tier.businessClassDreamer':
|
|
'Business Class Dreamer', // en-fallback
|
|
'settings.about.supporter.tier.budgetTraveller': 'Budget Traveller', // en-fallback
|
|
'settings.about.supporter.tier.hostelBunkmate': 'Hostel Bunkmate', // en-fallback
|
|
"settings.currency": "Currency",
|
|
"settings.currencyHint": "All amounts in Costs are converted to and shown in this currency.",
|
|
'settings.passkey.title': 'مفاتيح المرور',
|
|
'settings.passkey.description':
|
|
'سجّل الدخول بشكل أسرع وأكثر مقاومة للتصيّد باستخدام مفتاح مرور — ببصمة إصبعك أو وجهك أو رمز PIN أو مفتاح أمان مادي. تبقى كلمة المرور كنسخة احتياطية.',
|
|
'settings.passkey.notConfigured':
|
|
'مفاتيح المرور مفعّلة لكنها لم تُهيّأ بالكامل على هذا الخادم بعد. اطلب من المسؤول تعيين نطاق WebAuthn.',
|
|
'settings.passkey.add': 'إضافة مفتاح مرور',
|
|
'settings.passkey.addTitle': 'إضافة مفتاح مرور',
|
|
'settings.passkey.passwordPrompt':
|
|
'أكّد كلمة المرور الحالية، ثم اتبع التعليمات على جهازك.',
|
|
'settings.passkey.passwordRequired': 'كلمة المرور الحالية مطلوبة.',
|
|
'settings.passkey.namePlaceholder': 'الاسم (اختياري، مثل "iPhone")',
|
|
'settings.passkey.addedToast': 'تمت إضافة مفتاح المرور',
|
|
'settings.passkey.added': 'تمت الإضافة',
|
|
'settings.passkey.addError': 'تعذّرت إضافة مفتاح المرور',
|
|
'settings.passkey.cancelled': 'تم إلغاء إعداد مفتاح المرور',
|
|
'settings.passkey.deleted': 'تمت إزالة مفتاح المرور',
|
|
'settings.passkey.deleteConfirm':
|
|
'إزالة مفتاح المرور هذا؟ أكّد بكلمة المرور الخاصة بك.',
|
|
'settings.passkey.rename': 'إعادة التسمية',
|
|
'settings.passkey.defaultName': 'مفتاح المرور',
|
|
'settings.passkey.synced': 'متزامن',
|
|
'settings.passkey.deviceBound': 'هذا الجهاز',
|
|
'settings.passkey.lastUsed': 'آخر استخدام',
|
|
'settings.passkey.neverUsed': 'لم يُستخدم قط',
|
|
};
|
|
|
|
export default settings;
|