feat(roadtrip): say when a drive is longer than you drive

Roel and gfRally asked for three things: how far the car goes on a tank, how
long you are willing to sit behind the wheel in one go, and how much driving
belongs in a day. They are one feature. All three are a threshold, a walk over
the legs, and a finding.

Two things they deliberately are not. They are durations and distances rather
than times of day, because with no stop pinned to a clock the cascade produces
no times at all, for any stop, and a limit on an hour would simply never fire.
And the day limit is called driving time, not travel time, because the figure
it is measured against is exactly that: the badge beside it, which counts no
time spent at stops and no leg to a hotel. The card says so out loud rather
than leaving it to be discovered.

The range budget carries across midnight, since a tank does not empty
overnight, and resets after a finding: without that, 1800 km on a 600 km range
flags every leg after the first overrun. Only fuel and charging reset it, never
the other four service kinds — a two-hour lunch fills nothing, and nobody here
knows whether the restaurant has a charger in its car park.

Kilometres in storage, the traveller's own unit on screen. Skipping that round
trip means an imperial user types 400 meaning miles, 400 km is stored, and the
warnings arrive a third too early from then on.

No stop is suggested and no vehicle is modelled. OSM does not know what car
this is and neither do we, so the range is a number you type. Furkot does the
same, for the same reason.
This commit is contained in:
Maurice
2026-09-04 21:59:15 +02:00
committed by Maurice
parent 56266138c6
commit dfb038d90f
34 changed files with 686 additions and 26 deletions
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'شحن',
'roadtrip.stop.offRoad': '{distance} من الطريق',
'roadtrip.via.plugin': 'توقف في الطريق',
'roadtrip.limit.title': 'حدود القيادة',
'roadtrip.limit.legLabel': 'أطول قيادة متواصلة',
'roadtrip.limit.dayLabel': 'القيادة في اليوم',
'roadtrip.limit.rangeLabel': 'المدى بخزان واحد',
'roadtrip.limit.minutes': 'دقيقة',
'roadtrip.limit.off': 'معطل',
'roadtrip.limit.hint': 'يحسب وقت القيادة فقط. لا يشمل التوقفات والمبيت.',
'roadtrip.limit.legOver': '{time} فوق أطول قيادة لديك',
'roadtrip.limit.dayOver': '{time} زيادة',
'roadtrip.limit.range': '{distance} منذ آخر تعبئة',
'roadtrip.poi.rest': 'استراحة',
'roadtrip.poi.campsite': 'مخيم',
'roadtrip.poi.food': 'طعام',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Carregamento',
'roadtrip.stop.offRoad': '{distance} da estrada',
'roadtrip.via.plugin': 'Parada no caminho',
'roadtrip.limit.title': 'Limites de direção',
'roadtrip.limit.legLabel': 'Trecho mais longo seguido',
'roadtrip.limit.dayLabel': 'Condução por dia',
'roadtrip.limit.rangeLabel': 'Autonomia por tanque',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'desligado',
'roadtrip.limit.hint': 'Conta apenas o tempo de condução. Paradas e pernoites não estão incluídos.',
'roadtrip.limit.legOver': '{time} acima do seu trecho máximo',
'roadtrip.limit.dayOver': '{time} a mais',
'roadtrip.limit.range': '{distance} desde o último abastecimento',
'roadtrip.poi.rest': 'Área de descanso',
'roadtrip.poi.campsite': 'Camping',
'roadtrip.poi.food': 'Comida',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Càrrega',
'roadtrip.stop.offRoad': '{distance} des de la carretera',
'roadtrip.via.plugin': 'Parada al camí',
'roadtrip.limit.title': 'Límits de conducció',
'roadtrip.limit.legLabel': 'Trajecte més llarg seguit',
'roadtrip.limit.dayLabel': 'Conducció per dia',
'roadtrip.limit.rangeLabel': 'Autonomia per dipòsit',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'desactivat',
'roadtrip.limit.hint': 'Només compta el temps de conducció. Les parades i les nits no hi són incloses.',
'roadtrip.limit.legOver': '{time} per sobre del teu trajecte màxim',
'roadtrip.limit.dayOver': '{time} de més',
'roadtrip.limit.range': '{distance} des de l’última càrrega',
'roadtrip.poi.rest': 'Àrea de descans',
'roadtrip.poi.campsite': 'Càmping',
'roadtrip.poi.food': 'Menjar',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Nabíjení',
'roadtrip.stop.offRoad': '{distance} od silnice',
'roadtrip.via.plugin': 'Zastávka po cestě',
'roadtrip.limit.title': 'Limity jízdy',
'roadtrip.limit.legLabel': 'Nejdelší jízda v kuse',
'roadtrip.limit.dayLabel': 'Jízda za den',
'roadtrip.limit.rangeLabel': 'Dojezd na jednu nádrž',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'vypnuto',
'roadtrip.limit.hint': 'Počítá jen čas jízdy. Zastávky a noclehy nejsou zahrnuty.',
'roadtrip.limit.legOver': 'o {time} déle než vaše nejdelší jízda',
'roadtrip.limit.dayOver': 'o {time} více',
'roadtrip.limit.range': '{distance} od posledního tankování',
'roadtrip.poi.rest': 'Odpočívadlo',
'roadtrip.poi.campsite': 'Kemp',
'roadtrip.poi.food': 'Jídlo',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Laden',
'roadtrip.stop.offRoad': '{distance} von der Straße',
'roadtrip.via.plugin': 'Halt unterwegs',
'roadtrip.limit.title': 'Fahrgrenzen',
'roadtrip.limit.legLabel': 'Längste Fahrt am Stück',
'roadtrip.limit.dayLabel': 'Fahrzeit pro Tag',
'roadtrip.limit.rangeLabel': 'Reichweite pro Tankfüllung',
'roadtrip.limit.minutes': 'Min',
'roadtrip.limit.off': 'aus',
'roadtrip.limit.hint': 'Zählt nur Fahrzeit. Standzeiten und Übernachtungen sind nicht enthalten.',
'roadtrip.limit.legOver': '{time} über deiner längsten Fahrt',
'roadtrip.limit.dayOver': '{time} drüber',
'roadtrip.limit.range': '{distance} seit dem letzten Tanken',
'roadtrip.poi.rest': 'Rastplatz',
'roadtrip.poi.campsite': 'Campingplatz',
'roadtrip.poi.food': 'Essen',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Charging',
'roadtrip.stop.offRoad': '{distance} from the road',
'roadtrip.via.plugin': 'Stop on the way',
'roadtrip.limit.title': 'Driving limits',
'roadtrip.limit.legLabel': 'Longest drive at once',
'roadtrip.limit.dayLabel': 'Driving per day',
'roadtrip.limit.rangeLabel': 'Range on one tank',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'off',
'roadtrip.limit.hint': 'Counts driving time only. Time spent at stops and overnight legs are not included.',
'roadtrip.limit.legOver': '{time} over your longest drive',
'roadtrip.limit.dayOver': '{time} over',
'roadtrip.limit.range': '{distance} since the last fill-up',
'roadtrip.poi.rest': 'Rest area',
'roadtrip.poi.campsite': 'Campsite',
'roadtrip.poi.food': 'Food',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Recarga',
'roadtrip.stop.offRoad': '{distance} desde la carretera',
'roadtrip.via.plugin': 'Parada en el camino',
'roadtrip.limit.title': 'Límites de conducción',
'roadtrip.limit.legLabel': 'Trayecto más largo seguido',
'roadtrip.limit.dayLabel': 'Conducción por día',
'roadtrip.limit.rangeLabel': 'Autonomía por depósito',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'desactivado',
'roadtrip.limit.hint': 'Solo cuenta el tiempo de conducción. Las paradas y las noches no se incluyen.',
'roadtrip.limit.legOver': '{time} más que tu trayecto máximo',
'roadtrip.limit.dayOver': '{time} de más',
'roadtrip.limit.range': '{distance} desde el último repostaje',
'roadtrip.poi.rest': 'Área de descanso',
'roadtrip.poi.campsite': 'Camping',
'roadtrip.poi.food': 'Comida',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Recharge',
'roadtrip.stop.offRoad': '{distance} de la route',
'roadtrip.via.plugin': 'Arrêt en chemin',
'roadtrip.limit.title': 'Limites de conduite',
'roadtrip.limit.legLabel': 'Plus long trajet d’affilée',
'roadtrip.limit.dayLabel': 'Conduite par jour',
'roadtrip.limit.rangeLabel': 'Autonomie par plein',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'désactivé',
'roadtrip.limit.hint': 'Compte uniquement le temps de conduite. Les arrêts et les nuits ne sont pas inclus.',
'roadtrip.limit.legOver': '{time} de plus que votre trajet maximal',
'roadtrip.limit.dayOver': '{time} de trop',
'roadtrip.limit.range': '{distance} depuis le dernier plein',
'roadtrip.poi.rest': 'Aire de repos',
'roadtrip.poi.campsite': 'Camping',
'roadtrip.poi.food': 'Restauration',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Φόρτιση',
'roadtrip.stop.offRoad': '{distance} από τον δρόμο',
'roadtrip.via.plugin': 'Στάση στον δρόμο',
'roadtrip.limit.title': 'Όρια οδήγησης',
'roadtrip.limit.legLabel': 'Μεγαλύτερη συνεχής οδήγηση',
'roadtrip.limit.dayLabel': 'Οδήγηση ανά ημέρα',
'roadtrip.limit.rangeLabel': 'Αυτονομία με ένα γέμισμα',
'roadtrip.limit.minutes': 'λεπ',
'roadtrip.limit.off': 'ανενεργό',
'roadtrip.limit.hint': 'Μετρά μόνο τον χρόνο οδήγησης. Οι στάσεις και οι διανυκτερεύσεις δεν περιλαμβάνονται.',
'roadtrip.limit.legOver': '{time} πάνω από τη μέγιστη οδήγησή σας',
'roadtrip.limit.dayOver': '{time} πάνω',
'roadtrip.limit.range': '{distance} από τον τελευταίο ανεφοδιασμό',
'roadtrip.poi.rest': 'Χώρος ανάπαυσης',
'roadtrip.poi.campsite': 'Κάμπινγκ',
'roadtrip.poi.food': 'Φαγητό',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Töltés',
'roadtrip.stop.offRoad': '{distance} az úttól',
'roadtrip.via.plugin': 'Megálló útközben',
'roadtrip.limit.title': 'Vezetési korlátok',
'roadtrip.limit.legLabel': 'Leghosszabb egyhuzamban vezetés',
'roadtrip.limit.dayLabel': 'Vezetés naponta',
'roadtrip.limit.rangeLabel': 'Hatótáv egy tankkal',
'roadtrip.limit.minutes': 'perc',
'roadtrip.limit.off': 'ki',
'roadtrip.limit.hint': 'Csak a vezetési időt számolja. A megállók és az éjszakázások nincsenek benne.',
'roadtrip.limit.legOver': '{time} a leghosszabb vezetésed felett',
'roadtrip.limit.dayOver': '{time} túl',
'roadtrip.limit.range': '{distance} az utolsó tankolás óta',
'roadtrip.poi.rest': 'Pihenőhely',
'roadtrip.poi.campsite': 'Kemping',
'roadtrip.poi.food': 'Étkezés',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Pengisian daya',
'roadtrip.stop.offRoad': '{distance} dari jalan',
'roadtrip.via.plugin': 'Berhenti di jalan',
'roadtrip.limit.title': 'Batas mengemudi',
'roadtrip.limit.legLabel': 'Perjalanan terlama sekali jalan',
'roadtrip.limit.dayLabel': 'Mengemudi per hari',
'roadtrip.limit.rangeLabel': 'Jarak per tangki',
'roadtrip.limit.minutes': 'mnt',
'roadtrip.limit.off': 'mati',
'roadtrip.limit.hint': 'Hanya menghitung waktu mengemudi. Waktu berhenti dan menginap tidak termasuk.',
'roadtrip.limit.legOver': '{time} lebih dari perjalanan terlama',
'roadtrip.limit.dayOver': 'lebih {time}',
'roadtrip.limit.range': '{distance} sejak pengisian terakhir',
'roadtrip.poi.rest': 'Tempat istirahat',
'roadtrip.poi.campsite': 'Perkemahan',
'roadtrip.poi.food': 'Makanan',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Ricarica',
'roadtrip.stop.offRoad': '{distance} dalla strada',
'roadtrip.via.plugin': 'Sosta lungo il percorso',
'roadtrip.limit.title': 'Limiti 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.poi.rest': 'Area di sosta',
'roadtrip.poi.campsite': 'Campeggio',
'roadtrip.poi.food': 'Ristoro',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': '充電',
'roadtrip.stop.offRoad': '道路から{distance}',
'roadtrip.via.plugin': '途中の立ち寄り',
'roadtrip.limit.title': '運転の上限',
'roadtrip.limit.legLabel': '連続運転の上限',
'roadtrip.limit.dayLabel': '1日の運転',
'roadtrip.limit.rangeLabel': '満タンでの航続',
'roadtrip.limit.minutes': '分',
'roadtrip.limit.off': 'なし',
'roadtrip.limit.hint': '運転時間のみを数えます。滞在時間と宿泊は含みません。',
'roadtrip.limit.legOver': '連続運転の上限を{time}超過',
'roadtrip.limit.dayOver': '{time}超過',
'roadtrip.limit.range': '前回の給油から{distance}',
'roadtrip.poi.rest': 'サービスエリア',
'roadtrip.poi.campsite': 'キャンプ場',
'roadtrip.poi.food': '食事',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': '충전',
'roadtrip.stop.offRoad': '도로에서 {distance}',
'roadtrip.via.plugin': '경유 정차',
'roadtrip.limit.title': '운전 한도',
'roadtrip.limit.legLabel': '연속 운전 최대',
'roadtrip.limit.dayLabel': '하루 운전',
'roadtrip.limit.rangeLabel': '1회 주유 주행거리',
'roadtrip.limit.minutes': '분',
'roadtrip.limit.off': '끔',
'roadtrip.limit.hint': '운전 시간만 계산합니다. 정차 시간과 숙박은 포함되지 않습니다.',
'roadtrip.limit.legOver': '연속 운전 한도 {time} 초과',
'roadtrip.limit.dayOver': '{time} 초과',
'roadtrip.limit.range': '마지막 주유 이후 {distance}',
'roadtrip.poi.rest': '휴게소',
'roadtrip.poi.campsite': '캠핑장',
'roadtrip.poi.food': '식사',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Laden',
'roadtrip.stop.offRoad': '{distance} vanaf de weg',
'roadtrip.via.plugin': 'Stop onderweg',
'roadtrip.limit.title': 'Rijlimieten',
'roadtrip.limit.legLabel': 'Langste rit achtereen',
'roadtrip.limit.dayLabel': 'Rijden per dag',
'roadtrip.limit.rangeLabel': 'Bereik per tank',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'uit',
'roadtrip.limit.hint': 'Telt alleen rijtijd. Tijd bij stops en overnachtingen tellen niet mee.',
'roadtrip.limit.legOver': '{time} boven je langste rit',
'roadtrip.limit.dayOver': '{time} te veel',
'roadtrip.limit.range': '{distance} sinds de laatste tankbeurt',
'roadtrip.poi.rest': 'Rustplaats',
'roadtrip.poi.campsite': 'Camping',
'roadtrip.poi.food': 'Eten',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Ładowanie',
'roadtrip.stop.offRoad': '{distance} od drogi',
'roadtrip.via.plugin': 'Postojój po drodze',
'roadtrip.limit.title': 'Limity jazdy',
'roadtrip.limit.legLabel': 'Najdłuższa jazda bez przerwy',
'roadtrip.limit.dayLabel': 'Jazda dziennie',
'roadtrip.limit.rangeLabel': 'Zasięg na jednym baku',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'wył.',
'roadtrip.limit.hint': 'Liczy tylko czas jazdy. Postoje i noclegi nie są wliczane.',
'roadtrip.limit.legOver': '{time} ponad twoją najdłuższą jazdę',
'roadtrip.limit.dayOver': '{time} ponad',
'roadtrip.limit.range': '{distance} od ostatniego tankowania',
'roadtrip.poi.rest': 'Miejsce odpoczynku',
'roadtrip.poi.campsite': 'Kemping',
'roadtrip.poi.food': 'Jedzenie',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Зарядка',
'roadtrip.stop.offRoad': '{distance} от дороги',
'roadtrip.via.plugin': 'Остановка в пути',
'roadtrip.limit.title': 'Пределы вождения',
'roadtrip.limit.legLabel': 'Самый долгий перегон',
'roadtrip.limit.dayLabel': 'Вождение за день',
'roadtrip.limit.rangeLabel': 'Запас хода на баке',
'roadtrip.limit.minutes': 'мин',
'roadtrip.limit.off': 'выкл',
'roadtrip.limit.hint': 'Учитывается только время за рулём. Остановки и ночёвки не входят.',
'roadtrip.limit.legOver': 'на {time} дольше вашего перегона',
'roadtrip.limit.dayOver': 'на {time} больше',
'roadtrip.limit.range': '{distance} с последней заправки',
'roadtrip.poi.rest': 'Зона отдыха',
'roadtrip.poi.campsite': 'Кемпинг',
'roadtrip.poi.food': 'Еда',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Laddning',
'roadtrip.stop.offRoad': '{distance} från vägen',
'roadtrip.via.plugin': 'Stopp på vägen',
'roadtrip.limit.title': 'Körgränser',
'roadtrip.limit.legLabel': 'Längsta körning i sträck',
'roadtrip.limit.dayLabel': 'Körning per dag',
'roadtrip.limit.rangeLabel': 'Räckvidd per tank',
'roadtrip.limit.minutes': 'min',
'roadtrip.limit.off': 'av',
'roadtrip.limit.hint': 'Räknar bara körtid. Tid vid stopp och övernattningar ingår inte.',
'roadtrip.limit.legOver': '{time} över din längsta körning',
'roadtrip.limit.dayOver': '{time} över',
'roadtrip.limit.range': '{distance} sedan senaste tankningen',
'roadtrip.poi.rest': 'Rastplats',
'roadtrip.poi.campsite': 'Campingplats',
'roadtrip.poi.food': 'Mat',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Şarj',
'roadtrip.stop.offRoad': 'yoldan {distance}',
'roadtrip.via.plugin': 'Yol üzerinde mola',
'roadtrip.limit.title': 'Sürüş sınırları',
'roadtrip.limit.legLabel': 'Aralıksız en uzun sürüş',
'roadtrip.limit.dayLabel': 'Günlük sürüş',
'roadtrip.limit.rangeLabel': 'Bir depoyla menzil',
'roadtrip.limit.minutes': 'dk',
'roadtrip.limit.off': 'kapalı',
'roadtrip.limit.hint': 'Yalnızca sürüş süresini sayar. Molalar ve geceleme dahil değildir.',
'roadtrip.limit.legOver': 'en uzun sürüşünüzden {time} fazla',
'roadtrip.limit.dayOver': '{time} fazla',
'roadtrip.limit.range': 'son yakıt alımından beri {distance}',
'roadtrip.poi.rest': 'Dinlenme alanı',
'roadtrip.poi.campsite': 'Kamp alanı',
'roadtrip.poi.food': 'Yemek',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Зарядка',
'roadtrip.stop.offRoad': '{distance} від дороги',
'roadtrip.via.plugin': 'Зупинка в дорозі',
'roadtrip.limit.title': 'Межі водіння',
'roadtrip.limit.legLabel': 'Найдовший перегін',
'roadtrip.limit.dayLabel': 'Водіння за день',
'roadtrip.limit.rangeLabel': 'Запас ходу на баку',
'roadtrip.limit.minutes': 'хв',
'roadtrip.limit.off': 'вимк',
'roadtrip.limit.hint': 'Рахує лише час за кермом. Зупинки та ночівлі не враховано.',
'roadtrip.limit.legOver': 'на {time} довше вашого перегону',
'roadtrip.limit.dayOver': 'на {time} більше',
'roadtrip.limit.range': '{distance} від останньої заправки',
'roadtrip.poi.rest': 'Зона відпочинку',
'roadtrip.poi.campsite': 'Кемпінг',
'roadtrip.poi.food': 'Їжа',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': 'Sạc điện',
'roadtrip.stop.offRoad': '{distance} từ đường',
'roadtrip.via.plugin': 'Dừng chân trên đường',
'roadtrip.limit.title': 'Giới hạn lái xe',
'roadtrip.limit.legLabel': 'Chặng lái dài nhất',
'roadtrip.limit.dayLabel': 'Lái xe mỗi ngày',
'roadtrip.limit.rangeLabel': 'Quãng đường mỗi bình',
'roadtrip.limit.minutes': 'phút',
'roadtrip.limit.off': 'tắt',
'roadtrip.limit.hint': 'Chỉ tính thời gian lái. Thời gian dừng và nghỉ đêm không được tính.',
'roadtrip.limit.legOver': 'vượt {time} so với chặng dài nhất',
'roadtrip.limit.dayOver': 'vượt {time}',
'roadtrip.limit.range': '{distance} kể từ lần đổ nhiên liệu cuối',
'roadtrip.poi.rest': 'Trạm dừng nghỉ',
'roadtrip.poi.campsite': 'Khu cắm trại',
'roadtrip.poi.food': 'Đồ ăn',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': '充電',
'roadtrip.stop.offRoad': '距道路 {distance}',
'roadtrip.via.plugin': '途中停靠',
'roadtrip.limit.title': '駕駛限制',
'roadtrip.limit.legLabel': '單次最長駕駛',
'roadtrip.limit.dayLabel': '每天駕駛',
'roadtrip.limit.rangeLabel': '單箱續航',
'roadtrip.limit.minutes': '分鐘',
'roadtrip.limit.off': '關閉',
'roadtrip.limit.hint': '僅計算駕駛時間,不含停留與過夜。',
'roadtrip.limit.legOver': '超出最長駕駛 {time}',
'roadtrip.limit.dayOver': '超出 {time}',
'roadtrip.limit.range': '距上次加油 {distance}',
'roadtrip.poi.rest': '休息站',
'roadtrip.poi.campsite': '露營地',
'roadtrip.poi.food': '餐飲',
+10
View File
@@ -19,6 +19,16 @@ const roadtrip: TranslationStrings = {
'roadtrip.poi.charging': '充电',
'roadtrip.stop.offRoad': '距道路 {distance}',
'roadtrip.via.plugin': '途中停靠',
'roadtrip.limit.title': '驾驶限制',
'roadtrip.limit.legLabel': '单次最长驾驶',
'roadtrip.limit.dayLabel': '每天驾驶',
'roadtrip.limit.rangeLabel': '单箱续航',
'roadtrip.limit.minutes': '分钟',
'roadtrip.limit.off': '关闭',
'roadtrip.limit.hint': '仅计算驾驶时间,不含停留和过夜。',
'roadtrip.limit.legOver': '超出最长驾驶 {time}',
'roadtrip.limit.dayOver': '超出 {time}',
'roadtrip.limit.range': '距上次加油 {distance}',
'roadtrip.poi.rest': '服务区',
'roadtrip.poi.campsite': '露营地',
'roadtrip.poi.food': '餐饮',