Files
TREK/shared/src/i18n/it/roadtrip.ts
T
Maurice 95d1752a3d feat(roadtrip): suggest where to fill up, not just warn that you cannot
The range budget has always been able to say "you have driven 245 km on this tank" and
never "and here is where to do something about it". The review put it plainly: the value
is in the suggestion, not in the warning.

The warning sits on the stop the car ARRIVES at, which is where somebody finds out. The
fuel runs out earlier, often most of a leg earlier, and a filling station offered at the
warning is one the car cannot reach. So the dry point is computed where it actually is,
a search runs around it on request, and what comes back is filtered to what can be
reached.

Three filters, each one there because its absence gives a wrong answer rather than an
untidy one. Only what lies before the tank empties, because a pump past it is on the far
side of an empty tank. The detour counts double, because 8 km off the road is 16 km of
driving. And a reserve is kept back, because the range figure is a round number from a
manual, not a measurement.

Sorted by the detour rather than by how far it gets. Measured on a real day between
Hamburg and Berlin: the station that got furthest was 9.2 km off the road for one
kilometre more of range, while one 0.9 km off sat almost as late.

Deduplicated by name and half a kilometre, which also came out of that measurement. OSM
maps a charging site as one node per socket: the first three offers were the same
"autostrom plus GmbH" three times over. The four nodes sat in two pairs 6 m and 7 m
apart with 450 m between the pairs, while genuinely different branches of one chain were
18 to 36 km apart — so anything from 500 m upwards separates the two cases.

An empty answer says which kind of empty it is. "Nothing on the reachable stretch" after
a request that failed or was cut short states something that was never checked, and the
server flags both cases itself. Offline it does not offer at all: the place write queues
offline but the day assignment does not, so accepting one would leave an orphan.

Nothing is searched until it is asked for, and one press is one request against a small
circle rather than the sixteen boxes a corridor run costs. Accepting hands the choice to
the same popup a corridor hit goes through, so the stop kind, the dwell time, the
position, the via re-anchoring and the re-route are the paths that already work.

The dry point counts DRIVING metres only. The day's drawn line concatenates every run,
ferries and walks included, while the budget skips those, so walking that line to the
same figure would overshoot by the length of any crossing and put the marker out at sea.
2026-09-10 21:40:51 +02:00

144 lines
8.1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { TranslationStrings } from '../types';
const roadtrip: TranslationStrings = {
'roadtrip.mode.roadtrip': 'Viaggio su strada',
'roadtrip.mode.days': 'Giorni',
'roadtrip.mode.label': 'Vista del piano',
'roadtrip.title': 'Viaggio su strada',
'roadtrip.subtitle': 'Soste, tempi di guida e orari di arrivo di questo viaggio',
'roadtrip.empty.title': 'Nessun percorso',
'roadtrip.stops.label': 'Soste lungo il tragitto',
'roadtrip.stops.remove': 'Rimuovi sosta',
'roadtrip.poi.title': 'Lungo il percorso',
'roadtrip.poi.scope': 'Giorno',
'roadtrip.poi.looking': 'Sto cercando',
'roadtrip.poi.searchingHint': 'Ricerca lungo il percorso…',
'roadtrip.poi.found': '{count} lungo il tragitto',
'roadtrip.poi.fuel': 'Carburante',
'roadtrip.poi.charging': 'Ricarica',
'roadtrip.stop.offRoad': '{distance} dalla strada',
'roadtrip.via.plugin': 'Sosta lungo il percorso',
'roadtrip.limit.title': 'Impostazioni di guida',
'roadtrip.limit.legLabel': 'Tratto più lungo di fila',
'roadtrip.limit.dayLabel': 'Guida al giorno',
'roadtrip.limit.rangeLabel': 'Autonomia con un pieno',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'off',
'roadtrip.limit.hint': 'Conta solo il tempo di guida. Le soste e i pernottamenti non sono inclusi.',
'roadtrip.limit.legOver': '{time} oltre il tuo tratto massimo',
'roadtrip.limit.dayOver': '{time} in più',
'roadtrip.limit.range': '{distance} dall’ultimo rifornimento',
'roadtrip.limit.none': 'Nessuno impostato',
'roadtrip.avoid.section': 'Evita se possibile',
'roadtrip.avoid.toll': 'Strade a pedaggio',
'roadtrip.avoid.motorway': 'Autostrade',
'roadtrip.avoid.ferry': 'Traghetti',
'roadtrip.avoid.hint': 'Vengono penalizzate, non vietate. Quando un percorso non ha alternative, le usa comunque e la giornata lo segnala.',
'roadtrip.avoid.unavailable': 'Non disponibile: questa istanza usa il proprio motore, che non sa escludere una classe di strada.',
'roadtrip.avoid.badge': '{count} evitati',
'roadtrip.avoid.missed': '{classes} inevitabili',
'roadtrip.avoid.missedHint': 'Questa giornata non ha percorsi alternativi, quindi il viaggio li usa. Le altre giornate continuano a evitare quel che possono.',
'roadtrip.refuel.dry': 'Il serbatoio si esaurisce in questa tappa, dopo {distance}',
'roadtrip.refuel.find': 'Cerca carburante',
'roadtrip.refuel.looking': 'Ricerca lungo il percorso…',
'roadtrip.refuel.spare': 'restano {distance}',
'roadtrip.refuel.add': 'Aggiungi {name} come sosta carburante',
'roadtrip.refuel.none': 'Niente trovato nel tratto raggiungibile.',
'roadtrip.refuel.incomplete': 'La ricerca è stata troncata, quindi questo tratto non è stato controllato del tutto.',
'roadtrip.refuel.failed': 'La ricerca dei luoghi non ha risposto.',
'roadtrip.stop.none': 'Una destinazione',
'roadtrip.stay.mode.pause': 'Sosta',
'roadtrip.stay.mode.night': 'Pernottamento',
'roadtrip.stay.checkOutDay': 'Partenza il',
'roadtrip.stay.dayNumber': 'Giorno {number}',
'roadtrip.stay.nightAdded': 'Aggiunto come pernottamento',
'roadtrip.stay.nightAction': 'Aggiungi come pernottamento',
'roadtrip.stop.makeService': 'Trasforma in sosta lungo il percorso',
'roadtrip.stop.changeKind': 'Cambia il tipo di sosta',
'roadtrip.stop.backToDestination': 'Torna a essere una destinazione',
'roadtrip.poi.anySocket': 'Qualsiasi presa',
'roadtrip.poi.anyPower': 'Qualsiasi potenza',
'roadtrip.poi.free': 'Gratuito',
'roadtrip.poi.wholeDay': 'Tutta la giornata',
'roadtrip.poi.midLeg': 'A meta strada, {from} verso {to}',
'roadtrip.track.title': 'Il giorno {number} segue una traccia',
'roadtrip.track.hint': 'Fai seguire a questo giorno una traccia importata',
'roadtrip.track.badge': 'Traccia',
'roadtrip.track.untitled': 'Traccia senza nome',
'roadtrip.track.empty': 'Nessuna traccia in questo viaggio',
'roadtrip.track.emptyHint': 'Importa un file GPX o KML e le sue tracce compaiono qui.',
'roadtrip.track.length': '{distance} di lunghezza',
'roadtrip.track.gap': 'a {distance} da questo giorno',
'roadtrip.track.onDay': 'lungo questo giorno',
'roadtrip.track.explain': 'Il percorso viene portato sulla traccia con alcuni punti di passaggio. Quelli già presenti su quelle tratte vengono sostituiti.',
'roadtrip.track.action': 'Segui questa traccia',
'roadtrip.track.working': 'Adatto il percorso alla traccia, giro {round}',
'roadtrip.track.done': '{count} punti di passaggio posati. Il percorso resta entro {distance} dalla traccia.',
'roadtrip.track.capped': '{count} punti di passaggio posati. Nel punto peggiore il percorso resta a {distance} dalla traccia.',
'roadtrip.track.already': 'Il percorso seguiva già questa traccia.',
'roadtrip.track.errorRoute': 'Il servizio di calcolo percorso non ha risposto.',
'roadtrip.track.errorSave': 'Non è stato possibile salvare i punti di passaggio.',
'roadtrip.track.clear': 'Rimuovi {count} punti di passaggio',
'roadtrip.track.current': 'Attualmente segue {name}',
'roadtrip.poi.rest': 'Area di sosta',
'roadtrip.poi.campsite': 'Campeggio',
'roadtrip.poi.food': 'Ristoro',
'roadtrip.poi.sights': 'Da vedere',
'roadtrip.poi.within': 'Entro',
'roadtrip.poi.filter': 'Filtra per nome',
'roadtrip.poi.noMatch': 'Lungo il percorso non c’è nulla che corrisponda a “{name}”.',
'roadtrip.poi.noneMatchFilters': 'Niente lungo il percorso corrisponde a questi filtri.',
'roadtrip.poi.foundFiltered': '{count} di {total} lungo il percorso',
'roadtrip.poi.truncated': 'Su {count} tratti ce n’erano più di quanti ne stiano in una risposta: restringi il corridoio per vedere il resto.',
'roadtrip.poi.search': 'Cerca',
'roadtrip.poi.searching': 'Ricerca {done} di {total}',
'roadtrip.poi.capped': 'Il percorso è lungo: è stato cercato solo il primo tratto.',
'roadtrip.poi.partial': 'Non è stato possibile cercare in {count} tratti: la ricerca dei luoghi non ha risposto.',
'roadtrip.poi.failed': 'La ricerca dei luoghi non risponde al momento.',
'roadtrip.poi.empty': 'Scegli cosa ti serve e cerca.',
'roadtrip.poi.add': 'Aggiungi',
'roadtrip.poi.offRoute': '{distance} fuori percorso',
'roadtrip.poi.atStart': 'vicino alla partenza',
'roadtrip.poi.alongRoute': 'dopo {distance}',
'roadtrip.summary.distance': 'Distanza',
'roadtrip.summary.driving': 'Tempo di guida',
'roadtrip.alt.ask': 'Altri percorsi',
'roadtrip.alt.title': 'Percorsi per questa tratta',
'roadtrip.alt.loading': 'Interrogazione del router…',
'roadtrip.alt.onlyOne': 'Per questa tratta c’è un solo percorso sensato.',
'roadtrip.alt.failed': 'Il router non risponde al momento.',
'roadtrip.alt.current': 'Attuale',
'roadtrip.alt.fastest': 'La più veloce',
'roadtrip.alt.slower': '{time} in più',
'roadtrip.alt.quicker': '{time} in meno',
'roadtrip.day': 'Giorno {number}',
'roadtrip.quietDay.empty': 'Ancora nessuna sosta: trascinane una qui',
'roadtrip.quietDay.one': 'Finora solo {name}: trascina qui una sosta',
'roadtrip.leg.driveText': '{distance} in {time}',
'roadtrip.day.stopCount': '{count} soste',
'roadtrip.stop.stayShort': 'Sosta',
'roadtrip.leg.pending': 'Nessun percorso',
'roadtrip.stop.addTitle': 'Aggiungi come sosta',
'roadtrip.stop.kind': 'Tipo di sosta',
'roadtrip.stop.landsOn': 'Giorno {day}, come sosta {position}',
'roadtrip.stop.duplicate': '“{name}” è già presente in questo viaggio.',
'roadtrip.stop.moreDetails': 'Altri dettagli',
'roadtrip.stop.stay': 'Tempo alla sosta',
'roadtrip.stop.pinned': 'Orario impostato da te',
'roadtrip.stop.computed': 'Calcolato dal tragitto',
'roadtrip.via.hint': 'Trascina per rimodellare il percorso, clic destro per rimuovere',
'roadtrip.warn.late': 'Arrivo {minutes} min dopo l’orario impostato',
'roadtrip.warn.overnight': 'Giorno successivo',
'roadtrip.summary.stops': 'Soste',
'roadtrip.stay.add': 'Imposta una sosta',
'roadtrip.stay.none': 'Nessuna sosta',
'roadtrip.stay.custom': 'Minuti',
'roadtrip.stay.arrive': 'Arrivo',
'roadtrip.stay.leave': 'Partenza',
'roadtrip.alt.noMotorway': 'Senza autostrada',
'roadtrip.alt.noToll': 'Senza pedaggi',
'roadtrip.alt.noFerry': 'Senza traghetto',
'roadtrip.summary.partial': 'Il resto del percorso è ancora in calcolo',
};
export default roadtrip;