File size: 24,663 Bytes
98fbc6d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
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': 'لم يُستخدم قط',
  'settings.mapPoiPill': 'استكشاف الأماكن على الخريطة',
  'settings.mapPoiPillHint': 'أظهر شريط فئات على خريطة الرحلة للعثور على المطاعم والفنادق والمزيد القريبة من OpenStreetMap.',
  'settings.airtrail.title': 'AirTrail',
  'settings.airtrail.hint': 'اربط نسخة AirTrail المُستضافة ذاتيًا لاستيراد الرحلات ومزامنتها. أنشئ مفتاح API في AirTrail ضمن الإعدادات ← الأمان.',
  'settings.airtrail.url': 'رابط النسخة',
  'settings.airtrail.apiKey': 'مفتاح API',
  'settings.airtrail.apiKeyPlaceholder': 'مفتاح API من نوع Bearer',
  'settings.airtrail.apiKeyHint': 'يُنشأ في AirTrail ضمن الإعدادات ← الأمان. يُخزَّن مشفّرًا.',
  'settings.airtrail.allowInsecureTls': 'السماح بالشهادات الموقّعة ذاتيًا',
  'settings.airtrail.allowInsecureTlsHint': 'فعّل هذا فقط لنسخة موثوقة على شبكتك الخاصة.',
  'settings.airtrail.connected': 'متصل',
  'settings.airtrail.notConnected': 'غير متصل',
  'settings.airtrail.toast.saved': 'تم حفظ اتصال AirTrail',
  'settings.airtrail.toast.saveError': 'تعذّر حفظ الاتصال',
  'settings.airtrail.test.button': 'اختبار الاتصال',
  'settings.airtrail.test.success': 'متصل — تم العثور على {count} رحلة/رحلات',
  'settings.airtrail.test.failed': 'فشل الاتصال',
};

export default settings;