mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-18 21:16:47 +00:00
62cccf32f3
Two boot migrations. The first appends the missing dated days to a trip the old 365-day cap clipped, only where the dated days still run unbroken from the start date, so a trip that was re-dated by hand or lost a day in the middle is left alone; dateless days that hold content stay behind the dated ones as generateDays keeps them. The second rebuilds roadtrip_day_boundaries without the CHECK that held day_number to 366, which would have refused a boundary on a later day of a longer trip. The road-trip contracts follow the same limit: the day boundary and corridor schemas, the set_day_boundary tool and the day window's runaway guard read MAX_TRIP_DAYS instead of their own 365 or 366, and the tooLong message carries the number as a placeholder in all 23 locales.
265 lines
19 KiB
TypeScript
265 lines
19 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
|
|
|
const roadtrip: TranslationStrings = {
|
|
'roadtrip.stay.portals': 'العثور على إقامة',
|
|
'roadtrip.stay.portalHint': 'تحقق من الوجهة والتواريخ والضيوف في الموقع. ابحث يدوياً في CHECK24.',
|
|
'roadtrip.charging.available': 'متاح',
|
|
'roadtrip.charging.unknown': 'لا تتوفر بيانات موثوقة',
|
|
'roadtrip.charging.stale': 'الحالة قديمة',
|
|
'roadtrip.charging.prices': 'التعريفات المنشورة',
|
|
'roadtrip.charging.note': 'تعريفة منشورة؛ قد تُطبق ضرائب وشروط ورسوم إضافية. قد يختلف سعر بطاقة الشحن.',
|
|
'roadtrip.charging.coverage': 'بيانات مفتوحة؛ تختلف التغطية حسب المنطقة والمشغل.',
|
|
'roadtrip.charging.availability': 'التوفر والتعريفات',
|
|
'roadtrip.import.title': 'استيراد مسار Google Maps',
|
|
'roadtrip.import.note': 'تُضاف المحطات إلى اليوم المحدد. يعيد TREK حساب المسار.',
|
|
'roadtrip.import.unresolved': 'تعذر تحديد الموقع؛ سيتم تخطي هذه المحطة.',
|
|
'roadtrip.import.day': 'اليوم',
|
|
'roadtrip.hazards.show': 'عرض مناطق الخطر',
|
|
'roadtrip.hazards.current': 'التحذيرات الحالية',
|
|
'roadtrip.hazards.note': 'التحذيرات لا تعني إغلاق الطرق. يبقى المسار دون تغيير.',
|
|
'roadtrip.hazards.point': 'الموقع فقط؛ المنطقة المتأثرة غير معروفة.',
|
|
'roadtrip.hazards.loading': 'جارٍ تحميل التحذيرات…',
|
|
'roadtrip.hazards.unavailable': 'غير متاح',
|
|
'roadtrip.hazards.offline': 'دون اتصال: التحذيرات الحالية غير متاحة',
|
|
'roadtrip.hazards.partial': 'تغطية محدودة',
|
|
'roadtrip.stops.section': 'توقفات الخدمة',
|
|
'roadtrip.stops.inDays': 'إظهارها في الأيام أيضًا',
|
|
'roadtrip.stops.daysHint':
|
|
'يسري على جميع توقفات الخدمة في هذه الرحلة. عند الإيقاف تظهر فقط في مخطط Roadtrip. أعد التفعيل لإظهارها في الأيام.',
|
|
'roadtrip.window.dragHint':
|
|
'عند الاتصال بالإنترنت، اسحب نهاية اليوم على المسار أو إلى مكان؛ انقر بزر الفأرة الأيمن لاستعادة النهاية التلقائية.',
|
|
'roadtrip.window.resetBoundaries': 'استعادة نهايات الأيام التلقائية',
|
|
'roadtrip.window.endHere': 'إنهاء اليوم هنا',
|
|
'roadtrip.window.endHereHint':
|
|
'يمكنك إنهاء اليوم عند محطة محددة من تفاصيل المكان عندما يكون وضع Roadtrip وأوقات السفر اليومية مفعّلين.',
|
|
'roadtrip.window.endAt': 'نهاية اليوم',
|
|
'roadtrip.window.onRoute': 'على الطريق',
|
|
'roadtrip.window.atStop': 'في آخر مكان',
|
|
'roadtrip.window.routeHint': 'التوقف على الطريق عند بلوغ وقت نهاية اليوم.',
|
|
'roadtrip.window.stopHint': 'البقاء في آخر مكان إذا تعذر الوصول إلى المكان التالي قبل نهاية اليوم.',
|
|
'roadtrip.window.legTooLong':
|
|
'تتجاوز مدة إحدى الرحلات الفترة اليومية. أضف مكانًا في الطريق أو اختر التوقف على الطريق.',
|
|
'roadtrip.window.pointLabel': 'نهاية اليوم {day} عند الساعة {time}',
|
|
'roadtrip.window.title': 'أوقات السفر اليومية',
|
|
'roadtrip.window.start': 'بداية اليوم',
|
|
'roadtrip.window.end': 'نهاية اليوم',
|
|
'roadtrip.window.hint':
|
|
'حدّد الوقتين لتخطيط الاستراحات اليومية. امسح أحدهما لإيقاف الميزة. الأوقات اليدوية لها الأولوية. يتم وصل الأيام تلقائيًا.',
|
|
'roadtrip.window.invalid': 'يجب أن يكون وقت النهاية بعد وقت البداية.',
|
|
'roadtrip.window.stop': 'نهاية اليوم',
|
|
'roadtrip.window.resume': 'متابعة الرحلة',
|
|
'roadtrip.window.pointHint': 'هذه نقطة التوقف الليلية المتوقعة لرحلتك.',
|
|
'roadtrip.window.departure': 'المتابعة بعد بقية الزيارة الساعة {time}',
|
|
'roadtrip.window.showPoint': 'عرض على الخريطة',
|
|
'roadtrip.window.incomplete': 'يلزم توفر جميع المسارات الرابطة لحساب الاستراحات اليومية.',
|
|
'roadtrip.window.conflict':
|
|
'يتعارض وقت ثابت مع القيادة والاستراحات. تبقى الأوقات اليدوية كما هي؛ تم إيقاف التخطيط التلقائي مؤقتًا.',
|
|
'roadtrip.window.tooLong': 'تتطلب هذه الأوقات أكثر من {days} يومًا إضافيًا. اختر فترة يومية أطول.',
|
|
'roadtrip.mode.roadtrip': 'رحلة برية',
|
|
'roadtrip.mode.days': 'الأيام',
|
|
'roadtrip.mode.label': 'عرض الخطة',
|
|
'roadtrip.title': 'رحلة برية',
|
|
'roadtrip.subtitle': 'محطات التوقف وأوقات القيادة وأوقات الوصول لهذه الرحلة',
|
|
'roadtrip.empty.title': 'لا يوجد مسار بعد',
|
|
'roadtrip.stops.label': 'محطات على الطريق',
|
|
'roadtrip.stops.remove': 'إزالة المحطة',
|
|
'roadtrip.poi.title': 'على طول المسار',
|
|
'roadtrip.poi.scope': 'اليوم',
|
|
'roadtrip.poi.looking': 'المطلوب',
|
|
'roadtrip.poi.searchingHint': 'جارٍ البحث على طول المسار…',
|
|
'roadtrip.poi.found': '{count} على الطريق',
|
|
'roadtrip.poi.fuel': 'وقود',
|
|
'roadtrip.poi.charging': 'شحن',
|
|
'roadtrip.stop.offRoad': '{distance} من الطريق',
|
|
'roadtrip.via.plugin': 'توقف في الطريق',
|
|
'roadtrip.limit.title': 'إعدادات القيادة',
|
|
'roadtrip.limit.legLabel': 'أطول قيادة متواصلة',
|
|
'roadtrip.limit.dayLabel': 'القيادة في اليوم',
|
|
'roadtrip.limit.rangeLabel': 'المدى بخزان واحد',
|
|
'roadtrip.limit.fillLabel': 'التعبئة حتى',
|
|
'roadtrip.limit.fillFull': 'ممتلئ',
|
|
'roadtrip.limit.fillBadge': 'يملأ حتى {percent} ٪',
|
|
'roadtrip.limit.wearNote': '{percent} ٪ مفقودة بسبب التقادم',
|
|
'roadtrip.limit.rangeLabelCharge': 'المدى لكل شحنة',
|
|
'roadtrip.limit.sectionTrip': 'هذه الرحلة',
|
|
'roadtrip.limit.sectionDriving': 'القيادة',
|
|
'roadtrip.limit.sectionVehicle': 'المركبة',
|
|
'roadtrip.limit.tankLabel': 'سعة الخزان',
|
|
'roadtrip.limit.batteryLabel': 'البطارية',
|
|
'roadtrip.limit.useLabel': 'الاستهلاك',
|
|
'roadtrip.limit.wearLabel': 'تآكل البطارية',
|
|
'roadtrip.limit.computed': 'محسوب من بيانات المركبة',
|
|
'roadtrip.limit.perFill': 'لكل خزان',
|
|
'roadtrip.limit.perCharge': 'لكل شحنة',
|
|
'roadtrip.limit.afterFill': 'توقف حتى {percent} ٪: {distance}',
|
|
'roadtrip.limit.fullNote': 'التوقف يملأ بالكامل',
|
|
'roadtrip.limit.rangeEmpty': 'لا يوجد مدى',
|
|
'roadtrip.limit.rangeEmptyHint': 'أدخل المدى، أو املأ الحقول ليحسبه TREK.',
|
|
'roadtrip.limit.specHint': 'عند تعبئتها، تحدد هذه الحقول المدى أعلاه.',
|
|
'roadtrip.limit.vehicleHint': 'حدد نوع سيارتك لتُدخل بياناتها بدل المدى.',
|
|
'roadtrip.limit.minutes': 'دقيقة',
|
|
'roadtrip.limit.off': 'معطل',
|
|
'roadtrip.limit.blockNote': 'كتلة واحدة = {distance}',
|
|
'roadtrip.limit.echoOver': '{over} من {days} أيام تتجاوز حدّك.',
|
|
'roadtrip.limit.echoNone': 'كل الأيام {days} ضمن حدودك.',
|
|
'roadtrip.limit.echoDry': '{count} مقاطع بلا محطة يمكن بلوغها.',
|
|
'roadtrip.limit.echoEmpty': 'افتح رحلة برية لترى الأثر.',
|
|
'roadtrip.limit.specToggle': 'احسبها من بيانات السيارة',
|
|
'roadtrip.limit.hint': 'يحسب وقت القيادة فقط. لا يشمل التوقفات والمبيت.',
|
|
'roadtrip.limit.legOver': '{time} فوق أطول قيادة لديك',
|
|
'roadtrip.limit.dayOver': '{time} زيادة',
|
|
'roadtrip.limit.range': '{distance} منذ آخر تعبئة',
|
|
'roadtrip.limit.none': 'غير محددة',
|
|
'roadtrip.line.section': 'خط المسار',
|
|
'roadtrip.line.connect': 'ربط الأيام',
|
|
'roadtrip.line.dayColors': 'لون لكل يوم',
|
|
'roadtrip.line.hint': 'يحسب أيضًا المسافة بين يومين ويحتسبها على يوم الوصول.',
|
|
'roadtrip.avoid.section': 'التجنب قدر الإمكان',
|
|
'roadtrip.avoid.toll': 'الطرق ذات الرسوم',
|
|
'roadtrip.avoid.motorway': 'الطرق السريعة',
|
|
'roadtrip.avoid.ferry': 'العبّارات',
|
|
'roadtrip.avoid.hint': 'هذا ترجيح وليس منعًا. عندما لا تجد الرحلة طريقًا بديلًا فإنها تستخدمه، ويذكر اليوم ذلك.',
|
|
'roadtrip.avoid.unavailable': 'غير متاح: هذه النسخة تستخدم محركها الخاص، وهو لا يستطيع استبعاد فئة طرق.',
|
|
'roadtrip.avoid.badge': 'تجنُّب {count}',
|
|
'roadtrip.avoid.missed': 'لا مفر من {classes}',
|
|
'roadtrip.avoid.missedHint':
|
|
'لا يوجد في هذا اليوم طريق بديل، لذلك تمر الرحلة منه. أما بقية الأيام فتظل تتجنب ما تستطيع.',
|
|
'roadtrip.refuel.dry': 'ينفد الخزان هنا',
|
|
'roadtrip.refuel.after': 'بعد {distance}',
|
|
'roadtrip.limit.vehicleLabel': 'بماذا تقود',
|
|
'roadtrip.limit.vehicleAny': 'كلاهما',
|
|
'roadtrip.limit.vehicleCombustion': 'وقود',
|
|
'roadtrip.limit.vehicleElectric': 'كهرباء',
|
|
'roadtrip.refuel.dryElectric': 'تنفد البطارية هنا',
|
|
'roadtrip.refuel.findElectric': 'البحث عن شحن',
|
|
'roadtrip.refuel.find': 'ابحث عن وقود',
|
|
'roadtrip.refuel.again': 'حاول مجددًا',
|
|
'roadtrip.refuel.looking': 'جارٍ البحث على طول الطريق…',
|
|
'roadtrip.refuel.spare': 'يتبقى {distance}',
|
|
'roadtrip.refuel.add': 'إضافة {name} كمحطة تزود بالوقود',
|
|
'roadtrip.refuel.addElectric': 'إضافة {name} كمحطة شحن',
|
|
'roadtrip.refuel.none': 'لم يُعثر على شيء في المسافة التي يمكن بلوغها.',
|
|
'roadtrip.refuel.incomplete': 'اقتُطع البحث، لذا لم تُفحص هذه المسافة بالكامل.',
|
|
'roadtrip.refuel.failed': 'لم يستجب البحث عن الأماكن.',
|
|
'roadtrip.stop.none': 'وجهة',
|
|
'roadtrip.stay.mode.pause': 'استراحة',
|
|
'roadtrip.stay.mode.night': 'مبيت',
|
|
'roadtrip.stay.nightAdded': 'أُضيف كمبيت',
|
|
'roadtrip.stay.nightAction': 'إضافة كمبيت',
|
|
'roadtrip.stop.makeService': 'اجعله توقفاً في الطريق',
|
|
'roadtrip.stop.changeKind': 'تغيير نوع التوقف',
|
|
'roadtrip.stop.backToDestination': 'العودة إلى وجهة',
|
|
'roadtrip.poi.anySocket': 'أي قابس',
|
|
'roadtrip.poi.anyPower': 'أي قدرة',
|
|
'roadtrip.poi.free': 'مجاني',
|
|
'roadtrip.poi.wholeDay': 'اليوم كله',
|
|
'roadtrip.poi.midLeg': 'في المنتصف، {from} إلى {to}',
|
|
'roadtrip.track.title': 'اليوم {number} يتبع مسارًا',
|
|
'roadtrip.track.hint': 'اجعل هذا اليوم يتبع مسارًا مستوردًا',
|
|
'roadtrip.track.badge': 'مسار',
|
|
'roadtrip.track.untitled': 'مسار بلا اسم',
|
|
'roadtrip.track.empty': 'لا توجد مسارات في هذه الرحلة',
|
|
'roadtrip.track.emptyHint': 'استورد ملف GPX أو KML وستظهر مساراته هنا.',
|
|
'roadtrip.track.length': 'بطول {distance}',
|
|
'roadtrip.track.gap': 'على بعد {distance} من هذا اليوم',
|
|
'roadtrip.track.onDay': 'على امتداد هذا اليوم',
|
|
'roadtrip.track.explain':
|
|
'يُسحب المسار إلى التتبع بواسطة بضع نقاط عبور. تُستبدل نقاط العبور الموجودة على تلك المراحل.',
|
|
'roadtrip.track.action': 'اتبع هذا المسار',
|
|
'roadtrip.track.working': 'يجري ملاءمة المسار مع التتبع، الجولة {round}',
|
|
'roadtrip.track.done': 'تم وضع {count} نقطة عبور. يبقى المسار ضمن {distance} من التتبع.',
|
|
'roadtrip.track.capped': 'تم وضع {count} نقطة عبور. في أوسع نقطة يبتعد المسار {distance} عن التتبع.',
|
|
'roadtrip.track.already': 'كان المسار يتبع هذا التتبع بالفعل.',
|
|
'roadtrip.track.errorRoute': 'لم تستجب خدمة تحديد المسارات.',
|
|
'roadtrip.track.errorSave': 'تعذّر حفظ نقاط العبور.',
|
|
'roadtrip.track.clear': 'إزالة {count} نقطة عبور',
|
|
'roadtrip.track.current': 'يتبع حالياً {name}',
|
|
'roadtrip.poi.rest': 'استراحة',
|
|
'roadtrip.poi.campsite': 'مخيم',
|
|
'roadtrip.poi.food': 'طعام',
|
|
'roadtrip.poi.sights': 'معالم',
|
|
'roadtrip.poi.within': 'ضمن',
|
|
'roadtrip.poi.filter': 'تصفية حسب الاسم',
|
|
'roadtrip.poi.noMatch': 'لا يوجد على الطريق ما يطابق «{name}».',
|
|
'roadtrip.poi.noneMatchFilters': 'لا يوجد شيء على الطريق يطابق عوامل التصفية هذه.',
|
|
'roadtrip.poi.foundFiltered': '{count} من {total} على الطريق',
|
|
'roadtrip.poi.truncated': 'في {count} من المقاطع كان هناك أكثر مما تتسع له استجابة واحدة — قلّص الممر لرؤية البقية.',
|
|
'roadtrip.poi.search': 'بحث',
|
|
'roadtrip.poi.searching': 'جارٍ البحث {done} من {total}',
|
|
'roadtrip.poi.capped': 'المسار طويل — تم البحث في الجزء الأول فقط.',
|
|
'roadtrip.poi.partial': 'تعذّر البحث في {count} من المقاطع — لم يستجب البحث عن الأماكن.',
|
|
'roadtrip.poi.failed': 'البحث عن الأماكن لا يستجيب حاليًا.',
|
|
'roadtrip.poi.empty': 'اختر ما تحتاجه ثم ابحث.',
|
|
'roadtrip.poi.add': 'إضافة',
|
|
'roadtrip.poi.offRoute': '{distance} عن المسار',
|
|
'roadtrip.poi.atStart': 'قرب نقطة البداية',
|
|
'roadtrip.poi.alongRoute': 'بعد {distance}',
|
|
'roadtrip.poi.clearResults': 'مسح النتائج',
|
|
'roadtrip.poi.addManual': 'إضافة يدوية',
|
|
'roadtrip.poi.addManualShort': 'يدوي',
|
|
'roadtrip.poi.manualHint':
|
|
'لا يجد البحث عن الأماكن كل محطة شحن أو وقود. ابحث عن واحدة بالاسم وحدّد موضعها في الرحلة.',
|
|
'roadtrip.poi.addBetween': 'الإضافة بين محطتين',
|
|
'roadtrip.poi.manualOffRoute': '{distance} عن المسار، لذا تحقق من المرحلة التي تناسبها.',
|
|
'roadtrip.poi.manualAppend': 'لا يوجد مسار بعد، لذا تُضاف في نهاية اليوم {number}.',
|
|
'roadtrip.poi.manualNoResults': 'لم يُعثر على أي مكان.',
|
|
'roadtrip.poi.manualNoCoords':
|
|
'بدون موضع، يُضاف هذا إلى أماكن الرحلة بدلاً من إحدى مراحل القيادة. اختر نتيجة من البحث أعلاه، أو أدخل الإحداثيات.',
|
|
'roadtrip.summary.distance': 'المسافة',
|
|
'roadtrip.summary.driving': 'مدة القيادة',
|
|
'roadtrip.alt.ask': 'مسارات أخرى',
|
|
'roadtrip.alt.title': 'طرق قيادة هذه المرحلة',
|
|
'roadtrip.alt.loading': 'يجري سؤال خادم المسارات…',
|
|
'roadtrip.alt.onlyOne': 'لهذه المرحلة طريق معقول واحد فقط.',
|
|
'roadtrip.alt.failed': 'خادم المسارات لا يستجيب حاليًا.',
|
|
'roadtrip.alt.current': 'الحالي',
|
|
'roadtrip.alt.fastest': 'الأسرع',
|
|
'roadtrip.alt.slower': 'أبطأ بـ {time}',
|
|
'roadtrip.alt.quicker': 'أسرع بـ {time}',
|
|
'roadtrip.alt.otherEngine': 'الزمن محسوب بمحرك التجنب، لا بالمحرك الرئيسي.',
|
|
'roadtrip.day': 'اليوم {number}',
|
|
'roadtrip.quietDay.empty': 'لا توجد محطات بعد — أفلِت واحدة هنا',
|
|
'roadtrip.quietDay.one': 'حتى الآن {name} فقط — أفلِت محطة هنا',
|
|
'roadtrip.leg.driveText': '{distance} خلال {time}',
|
|
'roadtrip.day.stopCount': '{count} محطات',
|
|
'roadtrip.day.fold': 'طيّ',
|
|
'roadtrip.day.folded': 'مطوي',
|
|
'roadtrip.stop.stayShort': 'مدة',
|
|
'roadtrip.stop.fillTitle': 'يملأ حتى',
|
|
'roadtrip.stop.fillGives': 'نحو {distance} من هنا',
|
|
'roadtrip.stop.fillNoRange': 'أدخل المدى لترى ما الذي يمنحه ذلك.',
|
|
'roadtrip.stop.fillDefault': 'استخدام الإعداد الافتراضي الخاص بي',
|
|
'roadtrip.stop.fillSet': 'حدد مقدار التعبئة في هذه المحطة',
|
|
'roadtrip.leg.pending': 'لا يوجد مسار',
|
|
'roadtrip.stop.addTitle': 'إضافة كمحطة توقف',
|
|
'roadtrip.stop.kind': 'نوع المحطة',
|
|
'roadtrip.stop.landsOn': 'اليوم {day}، المحطة {position}',
|
|
'roadtrip.stop.duplicate': '«{name}» موجود بالفعل في هذه الرحلة.',
|
|
'roadtrip.stop.moreDetails': 'مزيد من التفاصيل',
|
|
'roadtrip.stop.stay': 'مدة التوقف هنا',
|
|
'roadtrip.stop.pinned': 'الوقت الذي حددته',
|
|
'roadtrip.stop.computed': 'محسوب من زمن القيادة',
|
|
'roadtrip.stop.endIsLeave': 'في الرحلة البرية، تنطلق الرحلة في هذا الوقت.',
|
|
'roadtrip.via.hint': 'اسحب لإعادة تشكيل المسار، وانقر بالزر الأيمن للإزالة',
|
|
'roadtrip.warn.late': 'الوصول بعد {minutes} دقيقة من الوقت المحدد',
|
|
'roadtrip.warn.missedLeave': 'الوصول بعد {minutes} دقيقة من وقت المغادرة المحدد',
|
|
'roadtrip.warn.overnight': 'اليوم التالي',
|
|
'roadtrip.spill.title': 'من اليوم {number}',
|
|
'roadtrip.spill.departs': 'المغادرة {time}',
|
|
'roadtrip.summary.stops': 'محطات التوقف',
|
|
'roadtrip.stay.add': 'تحديد مدة التوقف',
|
|
'roadtrip.stay.none': 'بدون توقف',
|
|
'roadtrip.stay.custom': 'دقائق',
|
|
'roadtrip.stay.arrive': 'الوصول',
|
|
'roadtrip.stay.leave': 'المغادرة',
|
|
'roadtrip.stay.until': 'حتى {time}',
|
|
'roadtrip.stay.leavesAt': 'لهذه الزيارة وقت انتهاء، لذلك تنطلق الرحلة في {time}.',
|
|
'roadtrip.stay.dayEndsFirst': 'ينتهي يوم السفر قبل {time}، لذلك تتابع الرحلة صباح اليوم التالي.',
|
|
'roadtrip.stay.clearLeave': 'إزالة وقت الانتهاء',
|
|
'roadtrip.alt.noMotorway': 'بدون طريق سريع',
|
|
'roadtrip.alt.noToll': 'بدون رسوم',
|
|
'roadtrip.alt.noFerry': 'بدون عبّارة',
|
|
'roadtrip.summary.partial': 'لا يزال يجري حساب بقية الطريق',
|
|
};
|
|
export default roadtrip;
|