mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-18 21:16:47 +00:00
bdb031a1e9
A hire car is no seam, but its desks are where the drive starts and ends: the pick-up opens its day when nothing timed comes first, the return closes the day it is handed back on, the road runs through both and the range budget starts from a full tank at the pick-up. The return is only placed when the booking names a return day and a located return desk. A table, tickets or a tour on the day hang under the stop they are pinned to or booked at as chips that open the booking; one for no stop is listed under the day. A ride that leaves and lands on the same day is one block on the rail and in the phone chain, not two terminal rows and a band. Both shells read the same helpers (carrierRide, stopBookings, roadtripRowModel). Server reads car bookings into the plan context; the MCP descriptions say so. The pt-BR locale had the three ride strings in Breton, fixed alongside. Refs #2428
275 lines
15 KiB
TypeScript
275 lines
15 KiB
TypeScript
import type { TranslationStrings } from '../types';
|
||
|
||
const roadtrip: TranslationStrings = {
|
||
'roadtrip.stay.portals': 'Find accommodation',
|
||
'roadtrip.stay.portalHint': 'Check destination, dates and guests on the portal. CHECK24 requires a manual search.',
|
||
'roadtrip.charging.available': 'available',
|
||
'roadtrip.charging.unknown': 'No reliable data available',
|
||
'roadtrip.charging.stale': 'Status outdated',
|
||
'roadtrip.charging.prices': 'Published tariffs',
|
||
'roadtrip.charging.note':
|
||
'Published tariff; taxes, conditions and extra fees may apply. Your charging-card price can differ.',
|
||
'roadtrip.charging.coverage': 'Open data; coverage varies by region and operator.',
|
||
'roadtrip.charging.availability': 'Availability and prices',
|
||
'roadtrip.import.title': 'Import Google Maps route',
|
||
'roadtrip.import.note': 'Stops are appended to the selected day. TREK recalculates the route.',
|
||
'roadtrip.import.unresolved': 'Location unresolved; this stop will be skipped.',
|
||
'roadtrip.import.day': 'Day',
|
||
'roadtrip.hazards.show': 'Show hazard areas',
|
||
'roadtrip.hazards.current': 'Current warnings',
|
||
'roadtrip.hazards.note': 'Warnings are not road closures. Routes stay unchanged.',
|
||
'roadtrip.hazards.point': 'Location only; affected area unknown.',
|
||
'roadtrip.hazards.loading': 'Loading warnings…',
|
||
'roadtrip.hazards.unavailable': 'Unavailable',
|
||
'roadtrip.hazards.offline': 'Offline: live warnings unavailable',
|
||
'roadtrip.hazards.partial': 'Limited coverage',
|
||
'roadtrip.stops.section': 'Service stops',
|
||
'roadtrip.stops.inDays': 'Show in Days too',
|
||
'roadtrip.stops.daysHint': 'Off keeps all service stops in Roadtrip only.',
|
||
'roadtrip.window.dragHint':
|
||
'While online, drag a day ending along the route or onto a place; right-click it to restore the automatic ending.',
|
||
'roadtrip.window.resetBoundaries': 'Restore automatic day endings',
|
||
'roadtrip.window.endHere': 'End the day here',
|
||
'roadtrip.window.endHereHint':
|
||
'You can end a day at a specific stop in its place details while Roadtrip mode and daily travel times are active.',
|
||
'roadtrip.window.endAt': 'End the day',
|
||
'roadtrip.window.onRoute': 'Along the route',
|
||
'roadtrip.window.atStop': 'At the last place',
|
||
'roadtrip.window.routeHint': 'Pause on the route at the end time.',
|
||
'roadtrip.window.stopHint': 'Stop before the next place would exceed the end time.',
|
||
'roadtrip.window.legTooLong':
|
||
'A drive exceeds the daily travel window. Add a place along the way or choose to pause along the route.',
|
||
'roadtrip.window.pointLabel': 'End of day {day} at {time}',
|
||
'roadtrip.window.title': 'Daily travel times',
|
||
'roadtrip.window.start': 'Day start time',
|
||
'roadtrip.window.end': 'Day end time',
|
||
'roadtrip.window.hint': 'Set both times to enable. Manual times take priority.',
|
||
'roadtrip.window.invalid': 'The end time must be later than the start time.',
|
||
'roadtrip.window.stop': 'End of day',
|
||
'roadtrip.window.resume': 'Continue journey',
|
||
'roadtrip.window.pointHint': 'This is your estimated overnight pause point.',
|
||
'roadtrip.window.departure': 'Continue after the remaining visit at {time}',
|
||
'roadtrip.window.showPoint': 'Show on map',
|
||
'roadtrip.window.incomplete': 'Daily breaks cannot be calculated until all connecting routes are available.',
|
||
'roadtrip.window.conflict':
|
||
'A fixed time conflicts with the drive and daily breaks. Manual times are unchanged; automatic scheduling is paused.',
|
||
'roadtrip.window.tooLong':
|
||
'These travel times would require more than {days} extra days. Choose a longer daily window.',
|
||
'roadtrip.mode.roadtrip': 'Road trip',
|
||
'roadtrip.mode.days': 'Days',
|
||
'roadtrip.mode.label': 'Plan view',
|
||
'roadtrip.title': 'Road trip',
|
||
'roadtrip.subtitle': 'Stops, driving times and arrival times for this trip',
|
||
'roadtrip.empty.title': 'No route yet',
|
||
'roadtrip.stops.label': 'Stops along the way',
|
||
'roadtrip.stops.remove': 'Remove stop',
|
||
'roadtrip.poi.title': 'Along the route',
|
||
'roadtrip.poi.scope': 'Day',
|
||
'roadtrip.poi.looking': 'Looking for',
|
||
'roadtrip.poi.searchingHint': 'Searching the route…',
|
||
'roadtrip.poi.found': '{count} on the way',
|
||
'roadtrip.poi.fuel': 'Fuel',
|
||
'roadtrip.poi.charging': 'Charging',
|
||
'roadtrip.stop.offRoad': '{distance} from the road',
|
||
'roadtrip.via.plugin': 'Stop on the way',
|
||
'roadtrip.limit.title': 'Driving settings',
|
||
'roadtrip.limit.legLabel': 'Longest drive at once',
|
||
'roadtrip.limit.dayLabel': 'Driving per day',
|
||
'roadtrip.limit.rangeLabel': 'Range on one tank',
|
||
'roadtrip.limit.fillLabel': 'Fill up to',
|
||
'roadtrip.limit.fillFull': 'full',
|
||
'roadtrip.limit.fillBadge': 'fills to {percent} %',
|
||
'roadtrip.limit.wearNote': '{percent} % lost to age',
|
||
'roadtrip.limit.rangeLabelCharge': 'Range on one charge',
|
||
'roadtrip.limit.sectionTrip': 'This trip',
|
||
'roadtrip.limit.sectionDriving': 'Driving',
|
||
'roadtrip.limit.sectionVehicle': 'Vehicle',
|
||
'roadtrip.limit.tankLabel': 'Tank size',
|
||
'roadtrip.limit.batteryLabel': 'Battery',
|
||
'roadtrip.limit.useLabel': 'Consumption',
|
||
'roadtrip.limit.wearLabel': 'Battery wear',
|
||
'roadtrip.limit.computed': 'Worked out from the vehicle’s figures',
|
||
'roadtrip.limit.perFill': 'per tank',
|
||
'roadtrip.limit.perCharge': 'per charge',
|
||
'roadtrip.limit.afterFill': 'A {percent} % stop gives {distance}',
|
||
'roadtrip.limit.fullNote': 'A stop fills right up',
|
||
'roadtrip.limit.rangeEmpty': 'No range set',
|
||
'roadtrip.limit.rangeEmptyHint': 'Type a range, or fill in the figures below and TREK works it out.',
|
||
'roadtrip.limit.specHint': 'Vehicle details determine the range.',
|
||
'roadtrip.limit.vehicleHint': 'Choose a vehicle to calculate its range.',
|
||
'roadtrip.limit.minutes': 'min',
|
||
'roadtrip.limit.off': 'off',
|
||
'roadtrip.limit.blockNote': 'One block = {distance}',
|
||
'roadtrip.limit.echoOver': '{over} of {days} days over your limit.',
|
||
'roadtrip.limit.echoNone': 'All {days} days within your limits.',
|
||
'roadtrip.limit.echoDry': '{count} stretches with no reachable stop.',
|
||
'roadtrip.limit.echoEmpty': 'Open a road trip to see what these do to it.',
|
||
'roadtrip.limit.specToggle': 'Work it out from the car',
|
||
'roadtrip.limit.hint': 'Driving only, excluding stays and overnight legs.',
|
||
'roadtrip.limit.legOver': '{time} over your longest drive',
|
||
'roadtrip.limit.dayOver': '{time} over',
|
||
'roadtrip.limit.range': '{distance} since the last fill-up',
|
||
'roadtrip.limit.none': 'None set',
|
||
'roadtrip.line.section': 'Route line',
|
||
'roadtrip.line.connect': 'Connect the days',
|
||
'roadtrip.line.dayColors': 'A colour per day',
|
||
'roadtrip.line.hint': 'Connecting drives count toward the arrival day.',
|
||
'roadtrip.avoid.section': 'Avoid where possible',
|
||
'roadtrip.avoid.toll': 'Toll roads',
|
||
'roadtrip.avoid.motorway': 'Motorways',
|
||
'roadtrip.avoid.ferry': 'Ferries',
|
||
'roadtrip.avoid.hint': 'Avoids where possible; exceptions are flagged.',
|
||
'roadtrip.avoid.unavailable': 'Your routing provider does not support avoidance.',
|
||
'roadtrip.avoid.badge': '{count} avoided',
|
||
'roadtrip.avoid.missed': '{classes} unavoidable',
|
||
'roadtrip.avoid.missedHint':
|
||
'This day has no route around it, so the drive uses it. Every other day still avoids what it can.',
|
||
'roadtrip.refuel.dry': 'Tank runs out here',
|
||
'roadtrip.refuel.after': 'after {distance}',
|
||
'roadtrip.limit.vehicleLabel': 'What you drive',
|
||
'roadtrip.limit.vehicleAny': 'Either',
|
||
'roadtrip.limit.vehicleCombustion': 'Petrol',
|
||
'roadtrip.limit.vehicleElectric': 'Electric',
|
||
'roadtrip.refuel.dryElectric': 'Battery runs out here',
|
||
'roadtrip.refuel.findElectric': 'Find charging',
|
||
'roadtrip.refuel.find': 'Find fuel',
|
||
'roadtrip.refuel.again': 'Try again',
|
||
'roadtrip.refuel.looking': 'Looking along the route…',
|
||
'roadtrip.refuel.spare': '{distance} to spare',
|
||
'roadtrip.refuel.add': 'Add {name} as a fuel stop',
|
||
'roadtrip.refuel.addElectric': 'Add {name} as a charging stop',
|
||
'roadtrip.refuel.none': 'Nothing found on the reachable stretch.',
|
||
'roadtrip.refuel.incomplete': 'The search was cut short, so this stretch was not fully checked.',
|
||
'roadtrip.refuel.failed': 'The place search did not answer.',
|
||
'roadtrip.stop.none': 'A destination',
|
||
'roadtrip.stay.mode.pause': 'Pause',
|
||
'roadtrip.stay.mode.night': 'Overnight',
|
||
'roadtrip.stay.nightAdded': 'Added as an overnight stay',
|
||
'roadtrip.stay.nightAction': 'Add as an overnight stay',
|
||
'roadtrip.stop.makeService': 'Make it a stop on the way',
|
||
'roadtrip.stop.changeKind': 'Change what kind of stop this is',
|
||
'roadtrip.stop.backToDestination': 'Back to a destination',
|
||
'roadtrip.poi.anySocket': 'Any plug',
|
||
'roadtrip.poi.anyPower': 'Any power',
|
||
'roadtrip.poi.free': 'Free',
|
||
'roadtrip.poi.wholeDay': 'The whole day',
|
||
'roadtrip.poi.midLeg': 'Halfway, {from} to {to}',
|
||
'roadtrip.track.title': 'Day {number} follows a track',
|
||
'roadtrip.track.hint': 'Make this day follow an imported track',
|
||
'roadtrip.track.badge': 'Track',
|
||
'roadtrip.track.untitled': 'Unnamed track',
|
||
'roadtrip.track.empty': 'No tracks in this trip',
|
||
'roadtrip.track.emptyHint': 'Import a GPX or KML file and its tracks land here.',
|
||
'roadtrip.track.length': '{distance} long',
|
||
'roadtrip.track.gap': '{distance} off this day',
|
||
'roadtrip.track.onDay': 'along this day',
|
||
'roadtrip.track.explain':
|
||
'The drive is pulled onto the track with a handful of via points. Existing via points on those legs are replaced.',
|
||
'roadtrip.track.action': 'Follow this track',
|
||
'roadtrip.track.working': 'Fitting the drive to the track, round {round}',
|
||
'roadtrip.track.done': '{count} via points placed. The drive stays within {distance} of the track.',
|
||
'roadtrip.track.capped': '{count} via points placed. The drive gets no closer than {distance} at its widest.',
|
||
'roadtrip.track.already': 'The drive already followed this track.',
|
||
'roadtrip.track.errorRoute': 'The routing service did not answer.',
|
||
'roadtrip.track.errorSave': 'The via points could not be saved.',
|
||
'roadtrip.track.clear': 'Drop {count} via points',
|
||
'roadtrip.track.current': 'Currently following {name}',
|
||
'roadtrip.poi.rest': 'Rest area',
|
||
'roadtrip.poi.campsite': 'Campsite',
|
||
'roadtrip.poi.food': 'Food',
|
||
'roadtrip.poi.sights': 'Sights',
|
||
'roadtrip.poi.within': 'Within',
|
||
'roadtrip.poi.filter': 'Filter by name',
|
||
'roadtrip.poi.noMatch': 'Nothing on the way matches “{name}”.',
|
||
'roadtrip.poi.noneMatchFilters': 'Nothing on the way matches these filters.',
|
||
'roadtrip.poi.foundFiltered': '{count} of {total} on the way',
|
||
'roadtrip.poi.truncated': '{count} stretches had more than fits in one answer — narrow the corridor to see the rest.',
|
||
'roadtrip.poi.search': 'Search',
|
||
'roadtrip.poi.searching': 'Searching {done} of {total}',
|
||
'roadtrip.poi.capped': 'The route is long — only the first stretch was searched.',
|
||
'roadtrip.poi.partial': '{count} stretches could not be searched — the place search did not answer.',
|
||
'roadtrip.poi.failed': 'The place search is not answering right now.',
|
||
'roadtrip.poi.empty': 'Pick what you need and search.',
|
||
'roadtrip.poi.add': 'Add',
|
||
'roadtrip.poi.offRoute': '{distance} off the route',
|
||
'roadtrip.poi.atStart': 'near the start',
|
||
'roadtrip.poi.alongRoute': 'after {distance}',
|
||
'roadtrip.poi.clearResults': 'Clear results',
|
||
'roadtrip.poi.addManual': 'Add manually',
|
||
'roadtrip.poi.addManualShort': 'Manual',
|
||
'roadtrip.poi.manualHint':
|
||
'The place search does not find every charger or pump. Look one up by name and say where on the drive it goes.',
|
||
'roadtrip.poi.addBetween': 'Add between',
|
||
'roadtrip.poi.manualOffRoute': '{distance} from the route, so check which leg it belongs on.',
|
||
'roadtrip.poi.manualAppend': 'Nothing has routed yet, so it goes at the end of day {number}.',
|
||
'roadtrip.poi.manualNoResults': 'No places found.',
|
||
'roadtrip.poi.manualNoCoords':
|
||
'Without a position this goes to the trip\'s places rather than onto a drive. Pick one from the search above, or fill in the coordinates.',
|
||
'roadtrip.summary.distance': 'Distance',
|
||
'roadtrip.summary.driving': 'Driving time',
|
||
'roadtrip.alt.ask': 'Other ways',
|
||
'roadtrip.alt.title': 'Ways to drive this leg',
|
||
'roadtrip.alt.loading': 'Asking the router…',
|
||
'roadtrip.alt.onlyOne': 'Only one sensible way to drive this one.',
|
||
'roadtrip.alt.failed': 'The router is not answering right now.',
|
||
'roadtrip.alt.current': 'Current',
|
||
'roadtrip.alt.fastest': 'Fastest',
|
||
'roadtrip.alt.slower': '{time} slower',
|
||
'roadtrip.alt.quicker': '{time} quicker',
|
||
'roadtrip.alt.otherEngine': 'Timed by the avoidance router, not the main one.',
|
||
'roadtrip.day': 'Day {number}',
|
||
'roadtrip.quietDay.empty': 'No stops yet — drop one here',
|
||
'roadtrip.quietDay.one': 'Only {name} so far — drop a stop here',
|
||
'roadtrip.leg.driveText': '{distance} in {time}',
|
||
'roadtrip.day.stopCount': '{count} stops',
|
||
'roadtrip.day.fold': 'Fold',
|
||
'roadtrip.day.folded': 'Folded',
|
||
'roadtrip.stop.stayShort': 'Stay',
|
||
'roadtrip.stop.fillTitle': 'Fills to',
|
||
'roadtrip.stop.fillGives': 'about {distance} from here',
|
||
'roadtrip.stop.fillNoRange': 'Set a range to see what that buys.',
|
||
'roadtrip.stop.fillDefault': 'Use my default',
|
||
'roadtrip.stop.fillSet': 'Set how full this stop fills',
|
||
'roadtrip.leg.pending': 'No route',
|
||
'roadtrip.stop.addTitle': 'Add as a stop',
|
||
'roadtrip.stop.kind': 'Kind of stop',
|
||
'roadtrip.stop.landsOn': 'Day {day}, as stop {position}',
|
||
'roadtrip.stop.duplicate': '“{name}” is already on this trip.',
|
||
'roadtrip.stop.moreDetails': 'More details',
|
||
'roadtrip.stop.stay': 'Time at this stop',
|
||
'roadtrip.stop.pinned': 'Time you set',
|
||
'roadtrip.stop.computed': 'Calculated from the drive',
|
||
'roadtrip.stop.endIsLeave': 'On the road trip, the drive leaves at this time.',
|
||
'roadtrip.via.hint': 'Drag to reshape the route, right-click to remove',
|
||
'roadtrip.warn.late': 'Arrives {minutes} min after the time you set',
|
||
'roadtrip.warn.missedLeave': 'Arrives {minutes} min after the time you set to leave',
|
||
'roadtrip.warn.overnight': 'Next day',
|
||
'roadtrip.spill.title': 'From day {number}',
|
||
'roadtrip.spill.departs': 'leaves {time}',
|
||
'roadtrip.summary.stops': 'Stops',
|
||
'roadtrip.stay.add': 'Add a stay',
|
||
'roadtrip.stay.none': 'No stay',
|
||
'roadtrip.stay.custom': 'Minutes',
|
||
'roadtrip.stay.arrive': 'Arrive',
|
||
'roadtrip.stay.leave': 'Leave',
|
||
'roadtrip.stay.until': 'until {time}',
|
||
'roadtrip.stay.leavesAt': 'This visit has an end time, so the drive leaves at {time}.',
|
||
'roadtrip.stay.dayEndsFirst': 'The travel day ends before {time}, so the drive goes on the next morning.',
|
||
'roadtrip.stay.clearLeave': 'Remove end time',
|
||
'roadtrip.alt.noMotorway': 'No motorway',
|
||
'roadtrip.alt.noToll': 'No tolls',
|
||
'roadtrip.alt.noFerry': 'No ferry',
|
||
'roadtrip.summary.partial': 'Still working out the rest of the drive',
|
||
'roadtrip.stay.releaseTitle': 'Drop the overnight stay?',
|
||
'roadtrip.stay.releaseBody': 'The night at “{name}” will be removed. The stop stays on the drive as a pause.',
|
||
'roadtrip.stay.releaseBookedBody': 'The night at “{name}” will be removed together with the booking “{booking}” and any expense linked to it. The stop stays on the drive as a pause.',
|
||
'roadtrip.stay.releaseAction': 'Make it a pause',
|
||
'roadtrip.ride.departure': 'Departure {time}',
|
||
'roadtrip.ride.arrival': 'Arrival {time}',
|
||
'roadtrip.ride.pickup': 'Pick-up {time}',
|
||
'roadtrip.ride.return': 'Return {time}',
|
||
'roadtrip.ride.open': 'Open booking',
|
||
'roadtrip.bookings.loose': 'Also booked this day',
|
||
};
|
||
export default roadtrip;
|