diff --git a/shared/src/i18n/ar/tours.ts b/shared/src/i18n/ar/tours.ts index f923c5d19..f6697c284 100644 --- a/shared/src/i18n/ar/tours.ts +++ b/shared/src/i18n/ar/tours.ts @@ -75,6 +75,22 @@ const tours: TranslationStrings = { 'tours.durationMinutes.two': '{count} د', 'tours.durationMinutes.few': '{count} د', 'tours.durationMinutes.many': '{count} د', + 'tours.planner.plannedTotalDuration': 'المدة الإجمالية المخططة', + 'tours.planner.plannedDurationHint': 'دقائق كاملة، تشمل الاستراحات والإقامات المخططة (0–1440).', + 'tours.planner.plannedDurationInvalid': 'أدخل مدة بالدقائق الكاملة من 0 إلى 1440.', + 'tours.planner.breaksAdditional': 'استراحات / وقت إضافي', + 'tours.planner.breaksAdditionalHint': 'دقائق كاملة اختيارية تُضاف إلى وقت المشي المحسوب.', + 'tours.planner.breaksAdditionalInfo': 'دقائق كاملة اختيارية تُضاف إلى وقت المشي المحسوب.', + 'tours.planner.breaksAdditionalInfoLabel': 'حول الاستراحات والوقت الإضافي', + 'tours.planner.plannedTotalInfo': 'المدة الإجمالية المخططة المحسوبة.', + 'tours.planner.plannedTotalInfoLabel': 'حول المدة الإجمالية المخططة', + 'tours.planner.plannedTotalAutomatic': 'الإجمالي المحسوب', + 'tours.planner.plannedTotalManual': 'تعديل يدوي', + 'tours.planner.timeValueInvalid': 'أدخل قيمة صحيحة من 0 إلى 1440 دقيقة.', + 'tours.planner.walkingTimeUnknown': 'غير محسوب', + 'tours.planner.walkingShort': 'مشي', + 'tours.planner.breaksShort': 'استراحات', + 'tours.planner.plannedShort': 'مخطط', 'tours.planner.empty': 'أضف نقطتين على الأقل لحساب مسار للمشي.', 'tours.planner.start': 'البداية', 'tours.planner.via': 'المرور عبر', diff --git a/shared/src/i18n/az/tours.ts b/shared/src/i18n/az/tours.ts index 041ae0f96..7c3b34f3c 100644 --- a/shared/src/i18n/az/tours.ts +++ b/shared/src/i18n/az/tours.ts @@ -69,6 +69,23 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Yol nöqtəsi {n}', 'tours.durationMinutes': '{count} dəq.', 'tours.durationMinutes.one': '{count} dəq.', + 'tours.planner.plannedTotalDuration': 'Planlaşdırılmış ümumi müddət', + 'tours.planner.plannedDurationHint': + 'Tam dəqiqələr, fasilələr və planlaşdırılmış dayanacaqlar daxil olmaqla (0–1440).', + 'tours.planner.plannedDurationInvalid': '0 ilə 1440 dəqiqə arasında tam müddət daxil edin.', + 'tours.planner.breaksAdditional': 'Fasilələr / əlavə vaxt', + 'tours.planner.breaksAdditionalHint': 'Hesablanmış gəzinti vaxtına əlavə olunan könüllü tam dəqiqələr.', + 'tours.planner.breaksAdditionalInfo': 'Hesablanmış gəzinti vaxtına əlavə olunan könüllü tam dəqiqələr.', + 'tours.planner.breaksAdditionalInfoLabel': 'Fasilələr və əlavə vaxt haqqında', + 'tours.planner.plannedTotalInfo': 'Hesablanmış planlaşdırılmış ümumi müddət.', + 'tours.planner.plannedTotalInfoLabel': 'Planlaşdırılmış ümumi müddət haqqında', + 'tours.planner.plannedTotalAutomatic': 'Hesablanmış cəm', + 'tours.planner.plannedTotalManual': 'Əl ilə dəyişdirmə', + 'tours.planner.timeValueInvalid': '0 ilə 1440 dəqiqə arasında tam dəyər daxil edin.', + 'tours.planner.walkingTimeUnknown': 'Hesablanmayıb', + 'tours.planner.walkingShort': 'Gəzinti', + 'tours.planner.breaksShort': 'Fasilələr', + 'tours.planner.plannedShort': 'Planlaşdırılıb', 'tours.planner.empty': 'Piyada marşrutunu hesablamaq üçün ən azı iki nöqtə əlavə edin.', 'tours.planner.start': 'Başlanğıc', 'tours.planner.via': 'Aralıq nöqtə', diff --git a/shared/src/i18n/br/tours.ts b/shared/src/i18n/br/tours.ts index cd8d058a4..eac36f464 100644 --- a/shared/src/i18n/br/tours.ts +++ b/shared/src/i18n/br/tours.ts @@ -70,6 +70,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Ponto de passagem {n}', 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', + 'tours.planner.plannedTotalDuration': 'Durada total planejada', + 'tours.planner.plannedDurationHint': 'Minutos inteiros, incluindo pausas e paradas planejadas (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Informe uma duração inteira de 0 a 1440 minutos.', + 'tours.planner.breaksAdditional': 'Pausas / tempo adicional', + 'tours.planner.breaksAdditionalHint': 'Minutos inteiros opcionais adicionados ao tempo de caminhada calculado.', + 'tours.planner.breaksAdditionalInfo': 'Minutos inteiros opcionais adicionados ao tempo de caminhada calculado.', + 'tours.planner.breaksAdditionalInfoLabel': 'Sobre pausas e tempo adicional', + 'tours.planner.plannedTotalInfo': 'Duração total planejada calculada.', + 'tours.planner.plannedTotalInfoLabel': 'Sobre a duração total planejada', + 'tours.planner.plannedTotalAutomatic': 'Total calculado', + 'tours.planner.plannedTotalManual': 'Ajuste manual', + 'tours.planner.timeValueInvalid': 'Informe um valor inteiro de 0 a 1440 minutos.', + 'tours.planner.walkingTimeUnknown': 'Não calculado', + 'tours.planner.walkingShort': 'Caminhada', + 'tours.planner.breaksShort': 'Pausas', + 'tours.planner.plannedShort': 'Planejado', 'tours.planner.empty': 'Adicione pelo menos dois pontos para calcular uma rota a pé.', 'tours.planner.start': 'Partida', 'tours.planner.via': 'Passagem por', diff --git a/shared/src/i18n/ca/tours.ts b/shared/src/i18n/ca/tours.ts index b7e0ef9b2..5fadfb88c 100644 --- a/shared/src/i18n/ca/tours.ts +++ b/shared/src/i18n/ca/tours.ts @@ -69,6 +69,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Punt de pas {n}', 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', + 'tours.planner.plannedTotalDuration': 'Durada total planificada', + 'tours.planner.plannedDurationHint': 'Minuts sencers, incloent pauses i estades planificades (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Introduïu una durada entera de 0 a 1440 minuts.', + 'tours.planner.breaksAdditional': 'Pauses / temps addicional', + 'tours.planner.breaksAdditionalHint': 'Minuts sencers opcionals afegits al temps de caminada calculat.', + 'tours.planner.breaksAdditionalInfo': 'Minuts sencers opcionals afegits al temps de caminada calculat.', + 'tours.planner.breaksAdditionalInfoLabel': 'Sobre les pauses i el temps addicional', + 'tours.planner.plannedTotalInfo': 'Durada total planificada calculada.', + 'tours.planner.plannedTotalInfoLabel': 'Sobre la durada total planificada', + 'tours.planner.plannedTotalAutomatic': 'Total calculat', + 'tours.planner.plannedTotalManual': 'Valor manual', + 'tours.planner.timeValueInvalid': 'Introduïu un valor enter de 0 a 1440 minuts.', + 'tours.planner.walkingTimeUnknown': 'No calculat', + 'tours.planner.walkingShort': 'Caminada', + 'tours.planner.breaksShort': 'Pauses', + 'tours.planner.plannedShort': 'Planificat', 'tours.planner.empty': 'Afegeix almenys dos punts per calcular una ruta a peu.', 'tours.planner.start': 'Inici', 'tours.planner.via': 'Pas per', diff --git a/shared/src/i18n/cs/tours.ts b/shared/src/i18n/cs/tours.ts index 9225c95b5..df583906a 100644 --- a/shared/src/i18n/cs/tours.ts +++ b/shared/src/i18n/cs/tours.ts @@ -69,6 +69,22 @@ const tours: TranslationStrings = { 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', 'tours.durationMinutes.few': '{count} min', + 'tours.planner.plannedTotalDuration': 'Plánovaná celková doba', + 'tours.planner.plannedDurationHint': 'Celé minuty včetně pauz a plánovaných zastávek (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Zadejte celou dobu od 0 do 1440 minut.', + 'tours.planner.breaksAdditional': 'Pauzy / dodatečný čas', + 'tours.planner.breaksAdditionalHint': 'Volitelné celé minuty přičtené k vypočtenému času chůze.', + 'tours.planner.breaksAdditionalInfo': 'Volitelné celé minuty přičtené k vypočtenému času chůze.', + 'tours.planner.breaksAdditionalInfoLabel': 'O pauzách a dodatečném čase', + 'tours.planner.plannedTotalInfo': 'Vypočtená plánovaná celková doba.', + 'tours.planner.plannedTotalInfoLabel': 'O plánované celkové době', + 'tours.planner.plannedTotalAutomatic': 'Vypočtený součet', + 'tours.planner.plannedTotalManual': 'Ruční úprava', + 'tours.planner.timeValueInvalid': 'Zadejte celou hodnotu od 0 do 1440 minut.', + 'tours.planner.walkingTimeUnknown': 'Nevypočteno', + 'tours.planner.walkingShort': 'Chůze', + 'tours.planner.breaksShort': 'Pauzy', + 'tours.planner.plannedShort': 'Plánováno', 'tours.planner.empty': 'Pro výpočet pěší trasy přidejte alespoň dva body.', 'tours.planner.start': 'Start', 'tours.planner.via': 'Přes', diff --git a/shared/src/i18n/es/tours.ts b/shared/src/i18n/es/tours.ts index adf8c33dc..c42c2bc43 100644 --- a/shared/src/i18n/es/tours.ts +++ b/shared/src/i18n/es/tours.ts @@ -69,6 +69,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Punto de paso {n}', 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', + 'tours.planner.plannedTotalDuration': 'Duración total planificada', + 'tours.planner.plannedDurationHint': 'Minutos enteros, incluidas pausas y estancias planificadas (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Introduce una duración entera de 0 a 1440 minutos.', + 'tours.planner.breaksAdditional': 'Pausas / tiempo adicional', + 'tours.planner.breaksAdditionalHint': 'Minutos enteros opcionales que se suman al tiempo de caminata calculado.', + 'tours.planner.breaksAdditionalInfo': 'Minutos enteros opcionales que se suman al tiempo de caminata calculado.', + 'tours.planner.breaksAdditionalInfoLabel': 'Acerca de las pausas y el tiempo adicional', + 'tours.planner.plannedTotalInfo': 'Duración total planificada calculada.', + 'tours.planner.plannedTotalInfoLabel': 'Acerca de la duración total planificada', + 'tours.planner.plannedTotalAutomatic': 'Total calculado', + 'tours.planner.plannedTotalManual': 'Ajuste manual', + 'tours.planner.timeValueInvalid': 'Introduce un valor entero de 0 a 1440 minutos.', + 'tours.planner.walkingTimeUnknown': 'No calculado', + 'tours.planner.walkingShort': 'Caminata', + 'tours.planner.breaksShort': 'Pausas', + 'tours.planner.plannedShort': 'Planificado', 'tours.planner.empty': 'Añade al menos dos puntos para calcular una ruta a pie.', 'tours.planner.start': 'Inicio', 'tours.planner.via': 'Paso por', diff --git a/shared/src/i18n/et/tours.ts b/shared/src/i18n/et/tours.ts index dff6d73e3..0ef897f3b 100644 --- a/shared/src/i18n/et/tours.ts +++ b/shared/src/i18n/et/tours.ts @@ -68,6 +68,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Teekonnapunkt {n}', 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', + 'tours.planner.plannedTotalDuration': 'Planeeritud kogukestus', + 'tours.planner.plannedDurationHint': 'Täisminutid, sh pausid ja planeeritud peatused (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Sisestage täisarvuline kestus vahemikus 0–1440 minutit.', + 'tours.planner.breaksAdditional': 'Pausid / lisaaeg', + 'tours.planner.breaksAdditionalHint': 'Valikulised täisminutid, mis lisatakse arvutatud kõndimisajale.', + 'tours.planner.breaksAdditionalInfo': 'Valikulised täisminutid, mis lisatakse arvutatud kõndimisajale.', + 'tours.planner.breaksAdditionalInfoLabel': 'Pausidest ja lisaajast', + 'tours.planner.plannedTotalInfo': 'Arvutatud planeeritud kogukestus.', + 'tours.planner.plannedTotalInfoLabel': 'Planeeritud kogukestusest', + 'tours.planner.plannedTotalAutomatic': 'Arvutatud kokku', + 'tours.planner.plannedTotalManual': 'Käsitsi määratud', + 'tours.planner.timeValueInvalid': 'Sisestage täisarv vahemikus 0–1440 minutit.', + 'tours.planner.walkingTimeUnknown': 'Arvutamata', + 'tours.planner.walkingShort': 'Kõnd', + 'tours.planner.breaksShort': 'Pausid', + 'tours.planner.plannedShort': 'Planeeritud', 'tours.planner.empty': 'Lisa jalgsimarsruudi arvutamiseks vähemalt kaks punkti.', 'tours.planner.start': 'Algus', 'tours.planner.via': 'Vahepunkt', diff --git a/shared/src/i18n/fr/tours.ts b/shared/src/i18n/fr/tours.ts index a6cb8cb67..3a61e2506 100644 --- a/shared/src/i18n/fr/tours.ts +++ b/shared/src/i18n/fr/tours.ts @@ -71,6 +71,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Point de passage {n}', 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', + 'tours.planner.plannedTotalDuration': 'Durée totale prévue', + 'tours.planner.plannedDurationHint': 'Minutes entières, pauses et arrêts prévus inclus (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Saisissez une durée entière de 0 à 1440 minutes.', + 'tours.planner.breaksAdditional': 'Pauses / temps supplémentaire', + 'tours.planner.breaksAdditionalHint': 'Minutes entières facultatives ajoutées au temps de marche calculé.', + 'tours.planner.breaksAdditionalInfo': 'Minutes entières facultatives ajoutées au temps de marche calculé.', + 'tours.planner.breaksAdditionalInfoLabel': 'À propos des pauses et du temps supplémentaire', + 'tours.planner.plannedTotalInfo': 'Durée totale prévue calculée.', + 'tours.planner.plannedTotalInfoLabel': 'À propos de la durée totale prévue', + 'tours.planner.plannedTotalAutomatic': 'Total calculé', + 'tours.planner.plannedTotalManual': 'Valeur manuelle', + 'tours.planner.timeValueInvalid': 'Saisissez une valeur entière de 0 à 1440 minutes.', + 'tours.planner.walkingTimeUnknown': 'Non calculé', + 'tours.planner.walkingShort': 'Marche', + 'tours.planner.breaksShort': 'Pauses', + 'tours.planner.plannedShort': 'Prévu', 'tours.planner.empty': 'Ajoutez au moins deux points pour calculer un itinéraire à pied.', 'tours.planner.start': 'Départ', 'tours.planner.via': 'Passage par', diff --git a/shared/src/i18n/gr/tours.ts b/shared/src/i18n/gr/tours.ts index 813e8595b..c4f9d6f26 100644 --- a/shared/src/i18n/gr/tours.ts +++ b/shared/src/i18n/gr/tours.ts @@ -71,6 +71,25 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Σημείο διέλευσης {n}', 'tours.durationMinutes': '{count} λεπτά', 'tours.durationMinutes.one': '{count} λεπτό', + 'tours.planner.plannedTotalDuration': 'Συνολική προγραμματισμένη διάρκεια', + 'tours.planner.plannedDurationHint': + 'Ακέραια λεπτά, συμπεριλαμβανομένων των διαλειμμάτων και των προγραμματισμένων στάσεων (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Εισαγάγετε ακέραια διάρκεια από 0 έως 1440 λεπτά.', + 'tours.planner.breaksAdditional': 'Διαλείμματα / πρόσθετος χρόνος', + 'tours.planner.breaksAdditionalHint': + 'Προαιρετικά ακέραια λεπτά που προστίθενται στον υπολογισμένο χρόνο περπατήματος.', + 'tours.planner.breaksAdditionalInfo': + 'Προαιρετικά ακέραια λεπτά που προστίθενται στον υπολογισμένο χρόνο περπατήματος.', + 'tours.planner.breaksAdditionalInfoLabel': 'Σχετικά με τα διαλείμματα και τον πρόσθετο χρόνο', + 'tours.planner.plannedTotalInfo': 'Υπολογισμένη συνολική προγραμματισμένη διάρκεια.', + 'tours.planner.plannedTotalInfoLabel': 'Σχετικά με τη συνολική προγραμματισμένη διάρκεια', + 'tours.planner.plannedTotalAutomatic': 'Υπολογισμένο σύνολο', + 'tours.planner.plannedTotalManual': 'Χειροκίνητη τιμή', + 'tours.planner.timeValueInvalid': 'Εισαγάγετε ακέραια τιμή από 0 έως 1440 λεπτά.', + 'tours.planner.walkingTimeUnknown': 'Δεν έχει υπολογιστεί', + 'tours.planner.walkingShort': 'Περπάτημα', + 'tours.planner.breaksShort': 'Διαλείμματα', + 'tours.planner.plannedShort': 'Προγραμματισμένο', 'tours.planner.empty': 'Προσθέστε τουλάχιστον δύο σημεία για να υπολογιστεί μια διαδρομή πεζοπορίας.', 'tours.planner.start': 'Αφετηρία', 'tours.planner.via': 'Μέσω', diff --git a/shared/src/i18n/hu/tours.ts b/shared/src/i18n/hu/tours.ts index 93c0dab97..7cd20719a 100644 --- a/shared/src/i18n/hu/tours.ts +++ b/shared/src/i18n/hu/tours.ts @@ -68,6 +68,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': '{n}. útvonalpont', 'tours.durationMinutes': '{count} perc', 'tours.durationMinutes.one': '{count} perc', + 'tours.planner.plannedTotalDuration': 'Tervezett teljes időtartam', + 'tours.planner.plannedDurationHint': 'Egész percek, a szüneteket és a tervezett megállókat is beleértve (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Adjon meg egész időtartamot 0 és 1440 perc között.', + 'tours.planner.breaksAdditional': 'Szünetek / további idő', + 'tours.planner.breaksAdditionalHint': 'Opcionális egész percek, amelyek hozzáadódnak a számított gyaloglási időhöz.', + 'tours.planner.breaksAdditionalInfo': 'Opcionális egész percek, amelyek hozzáadódnak a számított gyaloglási időhöz.', + 'tours.planner.breaksAdditionalInfoLabel': 'A szünetekről és a további időről', + 'tours.planner.plannedTotalInfo': 'Számított tervezett teljes időtartam.', + 'tours.planner.plannedTotalInfoLabel': 'A tervezett teljes időtartamról', + 'tours.planner.plannedTotalAutomatic': 'Számított összesen', + 'tours.planner.plannedTotalManual': 'Kézi érték', + 'tours.planner.timeValueInvalid': 'Adjon meg egész értéket 0 és 1440 perc között.', + 'tours.planner.walkingTimeUnknown': 'Nincs kiszámítva', + 'tours.planner.walkingShort': 'Séta', + 'tours.planner.breaksShort': 'Szünetek', + 'tours.planner.plannedShort': 'Tervezett', 'tours.planner.empty': 'Adj hozzá legalább két pontot egy gyalogos útvonal kiszámításához.', 'tours.planner.start': 'Kezdőpont', 'tours.planner.via': 'Köztes pont', diff --git a/shared/src/i18n/id/tours.ts b/shared/src/i18n/id/tours.ts index 9469f99c7..378a9fb36 100644 --- a/shared/src/i18n/id/tours.ts +++ b/shared/src/i18n/id/tours.ts @@ -67,6 +67,22 @@ const tours: TranslationStrings = { 'tours.planner.waypoints': 'Titik lintasan', 'tours.planner.waypointLabel': 'Titik lintasan {n}', 'tours.durationMinutes': '{count} menit', + 'tours.planner.plannedTotalDuration': 'Total durasi yang direncanakan', + 'tours.planner.plannedDurationHint': 'Menit bulat, termasuk istirahat dan perhentian yang direncanakan (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Masukkan durasi bulat dari 0 hingga 1440 menit.', + 'tours.planner.breaksAdditional': 'Istirahat / waktu tambahan', + 'tours.planner.breaksAdditionalHint': 'Menit bulat opsional yang ditambahkan ke waktu jalan kaki yang dihitung.', + 'tours.planner.breaksAdditionalInfo': 'Menit bulat opsional yang ditambahkan ke waktu jalan kaki yang dihitung.', + 'tours.planner.breaksAdditionalInfoLabel': 'Tentang istirahat dan waktu tambahan', + 'tours.planner.plannedTotalInfo': 'Total durasi yang direncanakan, dihitung otomatis.', + 'tours.planner.plannedTotalInfoLabel': 'Tentang total durasi yang direncanakan', + 'tours.planner.plannedTotalAutomatic': 'Total terhitung', + 'tours.planner.plannedTotalManual': 'Penggantian manual', + 'tours.planner.timeValueInvalid': 'Masukkan nilai bulat dari 0 hingga 1440 menit.', + 'tours.planner.walkingTimeUnknown': 'Belum dihitung', + 'tours.planner.walkingShort': 'Jalan kaki', + 'tours.planner.breaksShort': 'Istirahat', + 'tours.planner.plannedShort': 'Direncanakan', 'tours.planner.empty': 'Tambahkan setidaknya dua titik untuk menghitung rute berjalan kaki.', 'tours.planner.start': 'Awal', 'tours.planner.via': 'Melalui', diff --git a/shared/src/i18n/it/tours.ts b/shared/src/i18n/it/tours.ts index cd6b7c99c..c167d96e8 100644 --- a/shared/src/i18n/it/tours.ts +++ b/shared/src/i18n/it/tours.ts @@ -70,6 +70,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Punto di passaggio {n}', 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', + 'tours.planner.plannedTotalDuration': 'Durata totale pianificata', + 'tours.planner.plannedDurationHint': 'Minuti interi, comprese pause e soste pianificate (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Inserisci una durata intera da 0 a 1440 minuti.', + 'tours.planner.breaksAdditional': 'Pause / tempo aggiuntivo', + 'tours.planner.breaksAdditionalHint': 'Minuti interi facoltativi aggiunti al tempo di cammino calcolato.', + 'tours.planner.breaksAdditionalInfo': 'Minuti interi facoltativi aggiunti al tempo di cammino calcolato.', + 'tours.planner.breaksAdditionalInfoLabel': 'Informazioni su pause e tempo aggiuntivo', + 'tours.planner.plannedTotalInfo': 'Durata totale pianificata calcolata.', + 'tours.planner.plannedTotalInfoLabel': 'Informazioni sulla durata totale pianificata', + 'tours.planner.plannedTotalAutomatic': 'Totale calcolato', + 'tours.planner.plannedTotalManual': 'Valore manuale', + 'tours.planner.timeValueInvalid': 'Inserisci un valore intero da 0 a 1440 minuti.', + 'tours.planner.walkingTimeUnknown': 'Non calcolato', + 'tours.planner.walkingShort': 'Cammino', + 'tours.planner.breaksShort': 'Pause', + 'tours.planner.plannedShort': 'Pianificato', 'tours.planner.empty': 'Aggiungi almeno due punti per calcolare un percorso a piedi.', 'tours.planner.start': 'Partenza', 'tours.planner.via': 'Passaggio per', diff --git a/shared/src/i18n/ja/tours.ts b/shared/src/i18n/ja/tours.ts index 27f03adbf..17b85ebe1 100644 --- a/shared/src/i18n/ja/tours.ts +++ b/shared/src/i18n/ja/tours.ts @@ -65,6 +65,22 @@ const tours: TranslationStrings = { 'tours.planner.waypoints': 'ルート上の地点', 'tours.planner.waypointLabel': '地点{n}', 'tours.durationMinutes': '{count}分', + 'tours.planner.plannedTotalDuration': '予定の合計所要時間', + 'tours.planner.plannedDurationHint': '休憩や予定の滞在を含む整数の分(0〜1440)。', + 'tours.planner.plannedDurationInvalid': '0〜1440分の整数で所要時間を入力してください。', + 'tours.planner.breaksAdditional': '休憩/追加時間', + 'tours.planner.breaksAdditionalHint': '計算された歩行時間に加算する任意の整数の分。', + 'tours.planner.breaksAdditionalInfo': '計算された歩行時間に加算する任意の整数の分。', + 'tours.planner.breaksAdditionalInfoLabel': '休憩と追加時間について', + 'tours.planner.plannedTotalInfo': '計算された予定の合計所要時間。', + 'tours.planner.plannedTotalInfoLabel': '予定の合計所要時間について', + 'tours.planner.plannedTotalAutomatic': '計算された合計', + 'tours.planner.plannedTotalManual': '手動で上書き', + 'tours.planner.timeValueInvalid': '0〜1440分の整数を入力してください。', + 'tours.planner.walkingTimeUnknown': '未計算', + 'tours.planner.walkingShort': '徒歩', + 'tours.planner.breaksShort': '休憩', + 'tours.planner.plannedShort': '予定', 'tours.planner.empty': '徒歩ルートを計算するには、2地点以上追加してください。', 'tours.planner.start': '出発地点', 'tours.planner.via': '経由地点', diff --git a/shared/src/i18n/ko/tours.ts b/shared/src/i18n/ko/tours.ts index 01641abaa..43660c27f 100644 --- a/shared/src/i18n/ko/tours.ts +++ b/shared/src/i18n/ko/tours.ts @@ -66,6 +66,22 @@ const tours: TranslationStrings = { 'tours.planner.waypoints': '경로 지점', 'tours.planner.waypointLabel': '지점 {n}', 'tours.durationMinutes': '{count}분', + 'tours.planner.plannedTotalDuration': '예상 총 소요 시간', + 'tours.planner.plannedDurationHint': '휴식과 예정된 체류 시간을 포함한 정수 분 단위입니다(0–1440).', + 'tours.planner.plannedDurationInvalid': '0~1440분 사이의 정수 시간을 입력하세요.', + 'tours.planner.breaksAdditional': '휴식 / 추가 시간', + 'tours.planner.breaksAdditionalHint': '계산된 도보 시간에 더할 선택적 정수 분입니다.', + 'tours.planner.breaksAdditionalInfo': '계산된 도보 시간에 더할 선택적 정수 분입니다.', + 'tours.planner.breaksAdditionalInfoLabel': '휴식 및 추가 시간 정보', + 'tours.planner.plannedTotalInfo': '계산된 예상 총 소요 시간입니다.', + 'tours.planner.plannedTotalInfoLabel': '예상 총 소요 시간 정보', + 'tours.planner.plannedTotalAutomatic': '계산된 합계', + 'tours.planner.plannedTotalManual': '직접 입력', + 'tours.planner.timeValueInvalid': '0~1440분 사이의 정수 값을 입력하세요.', + 'tours.planner.walkingTimeUnknown': '계산되지 않음', + 'tours.planner.walkingShort': '도보', + 'tours.planner.breaksShort': '휴식', + 'tours.planner.plannedShort': '예정', 'tours.planner.empty': '도보 경로를 계산하려면 지점을 두 개 이상 추가하세요.', 'tours.planner.start': '출발', 'tours.planner.via': '경유', diff --git a/shared/src/i18n/nl/tours.ts b/shared/src/i18n/nl/tours.ts index 033f67962..8df187015 100644 --- a/shared/src/i18n/nl/tours.ts +++ b/shared/src/i18n/nl/tours.ts @@ -69,6 +69,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Routepunt {n}', 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', + 'tours.planner.plannedTotalDuration': 'Geplande totale duur', + 'tours.planner.plannedDurationHint': 'Hele minuten, inclusief pauzes en geplande stops (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Voer een gehele duur in van 0 tot 1440 minuten.', + 'tours.planner.breaksAdditional': 'Pauzes / extra tijd', + 'tours.planner.breaksAdditionalHint': 'Optionele hele minuten die bij de berekende wandeltijd worden opgeteld.', + 'tours.planner.breaksAdditionalInfo': 'Optionele hele minuten die bij de berekende wandeltijd worden opgeteld.', + 'tours.planner.breaksAdditionalInfoLabel': 'Over pauzes en extra tijd', + 'tours.planner.plannedTotalInfo': 'Berekende geplande totale duur.', + 'tours.planner.plannedTotalInfoLabel': 'Over de geplande totale duur', + 'tours.planner.plannedTotalAutomatic': 'Berekend totaal', + 'tours.planner.plannedTotalManual': 'Handmatige waarde', + 'tours.planner.timeValueInvalid': 'Voer een geheel getal in van 0 tot 1440 minuten.', + 'tours.planner.walkingTimeUnknown': 'Niet berekend', + 'tours.planner.walkingShort': 'Wandelen', + 'tours.planner.breaksShort': 'Pauzes', + 'tours.planner.plannedShort': 'Gepland', 'tours.planner.empty': 'Voeg minstens twee punten toe om een wandelroute te berekenen.', 'tours.planner.start': 'Vertrek', 'tours.planner.via': 'Via', diff --git a/shared/src/i18n/pl/tours.ts b/shared/src/i18n/pl/tours.ts index d13943e28..19c24ace1 100644 --- a/shared/src/i18n/pl/tours.ts +++ b/shared/src/i18n/pl/tours.ts @@ -73,6 +73,22 @@ const tours: TranslationStrings = { 'tours.durationMinutes.one': '{count} min', 'tours.durationMinutes.few': '{count} min', 'tours.durationMinutes.many': '{count} min', + 'tours.planner.plannedTotalDuration': 'Planowany całkowity czas', + 'tours.planner.plannedDurationHint': 'Pełne minuty, łącznie z przerwami i planowanymi postojami (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Wpisz całkowity czas jako liczbę całkowitą od 0 do 1440 minut.', + 'tours.planner.breaksAdditional': 'Przerwy / dodatkowy czas', + 'tours.planner.breaksAdditionalHint': 'Opcjonalne pełne minuty dodawane do obliczonego czasu marszu.', + 'tours.planner.breaksAdditionalInfo': 'Opcjonalne pełne minuty dodawane do obliczonego czasu marszu.', + 'tours.planner.breaksAdditionalInfoLabel': 'O przerwach i dodatkowym czasie', + 'tours.planner.plannedTotalInfo': 'Obliczony planowany całkowity czas.', + 'tours.planner.plannedTotalInfoLabel': 'O planowanym całkowitym czasie', + 'tours.planner.plannedTotalAutomatic': 'Obliczona suma', + 'tours.planner.plannedTotalManual': 'Wartość ręczna', + 'tours.planner.timeValueInvalid': 'Wpisz liczbę całkowitą od 0 do 1440 minut.', + 'tours.planner.walkingTimeUnknown': 'Nieobliczono', + 'tours.planner.walkingShort': 'Marsz', + 'tours.planner.breaksShort': 'Przerwy', + 'tours.planner.plannedShort': 'Planowano', 'tours.planner.empty': 'Dodaj co najmniej dwa punkty, aby obliczyć trasę pieszą.', 'tours.planner.start': 'Początek', 'tours.planner.via': 'Przez', diff --git a/shared/src/i18n/ru/tours.ts b/shared/src/i18n/ru/tours.ts index a5caae4d8..7f1645406 100644 --- a/shared/src/i18n/ru/tours.ts +++ b/shared/src/i18n/ru/tours.ts @@ -73,6 +73,22 @@ const tours: TranslationStrings = { 'tours.durationMinutes.one': '{count} мин', 'tours.durationMinutes.few': '{count} мин', 'tours.durationMinutes.many': '{count} мин', + 'tours.planner.plannedTotalDuration': 'Запланированная общая длительность', + 'tours.planner.plannedDurationHint': 'Целые минуты, включая перерывы и запланированные остановки (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Введите целую длительность от 0 до 1440 минут.', + 'tours.planner.breaksAdditional': 'Перерывы / дополнительное время', + 'tours.planner.breaksAdditionalHint': 'Необязательные целые минуты, добавляемые к рассчитанному времени ходьбы.', + 'tours.planner.breaksAdditionalInfo': 'Необязательные целые минуты, добавляемые к рассчитанному времени ходьбы.', + 'tours.planner.breaksAdditionalInfoLabel': 'О перерывах и дополнительном времени', + 'tours.planner.plannedTotalInfo': 'Рассчитанная запланированная общая длительность.', + 'tours.planner.plannedTotalInfoLabel': 'О запланированной общей длительности', + 'tours.planner.plannedTotalAutomatic': 'Расчётный итог', + 'tours.planner.plannedTotalManual': 'Ручное значение', + 'tours.planner.timeValueInvalid': 'Введите целое значение от 0 до 1440 минут.', + 'tours.planner.walkingTimeUnknown': 'Не рассчитано', + 'tours.planner.walkingShort': 'Ходьба', + 'tours.planner.breaksShort': 'Перерывы', + 'tours.planner.plannedShort': 'План', 'tours.planner.empty': 'Добавьте хотя бы две точки для расчёта пешего маршрута.', 'tours.planner.start': 'Начало', 'tours.planner.via': 'Через', diff --git a/shared/src/i18n/sk/tours.ts b/shared/src/i18n/sk/tours.ts index 290eff665..b68c704ee 100644 --- a/shared/src/i18n/sk/tours.ts +++ b/shared/src/i18n/sk/tours.ts @@ -69,6 +69,22 @@ const tours: TranslationStrings = { 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', 'tours.durationMinutes.few': '{count} min', + 'tours.planner.plannedTotalDuration': 'Plánovaná celková doba', + 'tours.planner.plannedDurationHint': 'Celé minúty vrátane prestávok a plánovaných zastávok (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Zadajte celú dobu od 0 do 1440 minút.', + 'tours.planner.breaksAdditional': 'Prestávky / dodatočný čas', + 'tours.planner.breaksAdditionalHint': 'Voliteľné celé minúty pripočítané k vypočítanému času chôdze.', + 'tours.planner.breaksAdditionalInfo': 'Voliteľné celé minúty pripočítané k vypočítanému času chôdze.', + 'tours.planner.breaksAdditionalInfoLabel': 'O prestávkach a dodatočnom čase', + 'tours.planner.plannedTotalInfo': 'Vypočítaná plánovaná celková doba.', + 'tours.planner.plannedTotalInfoLabel': 'O plánovanej celkovej dobe', + 'tours.planner.plannedTotalAutomatic': 'Vypočítaný súčet', + 'tours.planner.plannedTotalManual': 'Ručná úprava', + 'tours.planner.timeValueInvalid': 'Zadajte celú hodnotu od 0 do 1440 minút.', + 'tours.planner.walkingTimeUnknown': 'Nevypočítané', + 'tours.planner.walkingShort': 'Chôdza', + 'tours.planner.breaksShort': 'Prestávky', + 'tours.planner.plannedShort': 'Plánované', 'tours.planner.empty': 'Pridajte aspoň dva body na výpočet pešej trasy.', 'tours.planner.start': 'Začiatok', 'tours.planner.via': 'Cez', diff --git a/shared/src/i18n/sv/tours.ts b/shared/src/i18n/sv/tours.ts index 7174e6180..2992a2325 100644 --- a/shared/src/i18n/sv/tours.ts +++ b/shared/src/i18n/sv/tours.ts @@ -68,6 +68,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Ruttpunkt {n}', 'tours.durationMinutes': '{count} min', 'tours.durationMinutes.one': '{count} min', + 'tours.planner.plannedTotalDuration': 'Planerad total tid', + 'tours.planner.plannedDurationHint': 'Hela minuter, inklusive pauser och planerade stopp (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Ange en hel tid från 0 till 1440 minuter.', + 'tours.planner.breaksAdditional': 'Pauser / extra tid', + 'tours.planner.breaksAdditionalHint': 'Valfria hela minuter som läggs till den beräknade gångtiden.', + 'tours.planner.breaksAdditionalInfo': 'Valfria hela minuter som läggs till den beräknade gångtiden.', + 'tours.planner.breaksAdditionalInfoLabel': 'Om pauser och extra tid', + 'tours.planner.plannedTotalInfo': 'Beräknad planerad total tid.', + 'tours.planner.plannedTotalInfoLabel': 'Om planerad total tid', + 'tours.planner.plannedTotalAutomatic': 'Beräknad summa', + 'tours.planner.plannedTotalManual': 'Manuellt värde', + 'tours.planner.timeValueInvalid': 'Ange ett helt värde från 0 till 1440 minuter.', + 'tours.planner.walkingTimeUnknown': 'Inte beräknad', + 'tours.planner.walkingShort': 'Gång', + 'tours.planner.breaksShort': 'Pauser', + 'tours.planner.plannedShort': 'Planerad', 'tours.planner.empty': 'Lägg till minst två punkter för att beräkna en vandringsrutt.', 'tours.planner.start': 'Startpunkt', 'tours.planner.via': 'Via', diff --git a/shared/src/i18n/th/tours.ts b/shared/src/i18n/th/tours.ts index b9f61d756..f2e4cc460 100644 --- a/shared/src/i18n/th/tours.ts +++ b/shared/src/i18n/th/tours.ts @@ -66,6 +66,22 @@ const tours: TranslationStrings = { 'tours.planner.waypoints': 'จุดแวะ', 'tours.planner.waypointLabel': 'จุดแวะ {n}', 'tours.durationMinutes': '{count} นาที', + 'tours.planner.plannedTotalDuration': 'ระยะเวลารวมที่วางแผนไว้', + 'tours.planner.plannedDurationHint': 'จำนวนนาทีเต็ม รวมการพักและจุดแวะที่วางแผนไว้ (0–1440)', + 'tours.planner.plannedDurationInvalid': 'ป้อนระยะเวลาเป็นจำนวนเต็มตั้งแต่ 0 ถึง 1440 นาที', + 'tours.planner.breaksAdditional': 'การพัก / เวลาเพิ่มเติม', + 'tours.planner.breaksAdditionalHint': 'จำนวนนาทีเต็มที่ไม่บังคับ ซึ่งจะบวกเพิ่มกับเวลาเดินที่คำนวณได้', + 'tours.planner.breaksAdditionalInfo': 'จำนวนนาทีเต็มที่ไม่บังคับ ซึ่งจะบวกเพิ่มกับเวลาเดินที่คำนวณได้', + 'tours.planner.breaksAdditionalInfoLabel': 'เกี่ยวกับการพักและเวลาเพิ่มเติม', + 'tours.planner.plannedTotalInfo': 'ระยะเวลารวมที่วางแผนไว้ซึ่งคำนวณแล้ว', + 'tours.planner.plannedTotalInfoLabel': 'เกี่ยวกับระยะเวลารวมที่วางแผนไว้', + 'tours.planner.plannedTotalAutomatic': 'ยอดรวมที่คำนวณ', + 'tours.planner.plannedTotalManual': 'กำหนดเอง', + 'tours.planner.timeValueInvalid': 'ป้อนค่าจำนวนเต็มตั้งแต่ 0 ถึง 1440 นาที', + 'tours.planner.walkingTimeUnknown': 'ยังไม่ได้คำนวณ', + 'tours.planner.walkingShort': 'เดิน', + 'tours.planner.breaksShort': 'การพัก', + 'tours.planner.plannedShort': 'วางแผนไว้', 'tours.planner.empty': 'เพิ่มอย่างน้อยสองจุดเพื่อคำนวณเส้นทางเดิน', 'tours.planner.start': 'เริ่มต้น', 'tours.planner.via': 'ผ่าน', diff --git a/shared/src/i18n/tours-locales.spec.ts b/shared/src/i18n/tours-locales.spec.ts index 30a4f4962..26beab573 100644 --- a/shared/src/i18n/tours-locales.spec.ts +++ b/shared/src/i18n/tours-locales.spec.ts @@ -20,7 +20,7 @@ const tokens = (value: string) => [...value.matchAll(/\{[^{}]+\}/g)].map((match) // placeholder spec; here only the general keys are. const groups = pluralGroups(Object.keys(english)); const generalKeys = (keys: string[]) => keys.filter((key) => !pluralFormOf(key, groups)); -const GENERAL_KEY_COUNT = 117; +const GENERAL_KEY_COUNT = 133; function literalKeys(source: string): string[] { const tree = ts.createSourceFile('locale.ts', source, ts.ScriptTarget.Latest, true); @@ -34,7 +34,7 @@ function literalKeys(source: string): string[] { } describe('Tours locale contracts', () => { - it('covers all 27 supported locales with 117 general source keys', () => { + it('covers all 27 supported locales with 133 general source keys', () => { expect(Object.keys(domains)).toHaveLength(27); expect(Object.keys(domains).sort()).toEqual(SUPPORTED_LANGUAGE_CODES.map((code) => `./${code}/tours.ts`).sort()); expect(generalKeys(Object.keys(english))).toHaveLength(GENERAL_KEY_COUNT); diff --git a/shared/src/i18n/tr/tours.ts b/shared/src/i18n/tr/tours.ts index 94bb66d94..e87d72c10 100644 --- a/shared/src/i18n/tr/tours.ts +++ b/shared/src/i18n/tr/tours.ts @@ -68,6 +68,22 @@ const tours: TranslationStrings = { 'tours.planner.waypointLabel': 'Rota noktası {n}', 'tours.durationMinutes': '{count} dk', 'tours.durationMinutes.one': '{count} dk', + 'tours.planner.plannedTotalDuration': 'Planlanan toplam süre', + 'tours.planner.plannedDurationHint': 'Molalar ve planlanan duraklar dahil tam dakika (0–1440).', + 'tours.planner.plannedDurationInvalid': '0 ile 1440 dakika arasında tam bir süre girin.', + 'tours.planner.breaksAdditional': 'Molalar / ek süre', + 'tours.planner.breaksAdditionalHint': 'Hesaplanan yürüyüş süresine eklenen isteğe bağlı tam dakikalar.', + 'tours.planner.breaksAdditionalInfo': 'Hesaplanan yürüyüş süresine eklenen isteğe bağlı tam dakikalar.', + 'tours.planner.breaksAdditionalInfoLabel': 'Molalar ve ek süre hakkında', + 'tours.planner.plannedTotalInfo': 'Hesaplanan planlı toplam süre.', + 'tours.planner.plannedTotalInfoLabel': 'Planlanan toplam süre hakkında', + 'tours.planner.plannedTotalAutomatic': 'Hesaplanan toplam', + 'tours.planner.plannedTotalManual': 'Elle değiştirilen', + 'tours.planner.timeValueInvalid': '0 ile 1440 dakika arasında tam bir değer girin.', + 'tours.planner.walkingTimeUnknown': 'Hesaplanmadı', + 'tours.planner.walkingShort': 'Yürüyüş', + 'tours.planner.breaksShort': 'Molalar', + 'tours.planner.plannedShort': 'Planlanan', 'tours.planner.empty': 'Yürüyüş rotasını hesaplamak için en az iki nokta ekleyin.', 'tours.planner.start': 'Başlangıç', 'tours.planner.via': 'Ara nokta', diff --git a/shared/src/i18n/uk/tours.ts b/shared/src/i18n/uk/tours.ts index c9b081a63..004f20e44 100644 --- a/shared/src/i18n/uk/tours.ts +++ b/shared/src/i18n/uk/tours.ts @@ -72,6 +72,22 @@ const tours: TranslationStrings = { 'tours.durationMinutes.one': '{count} хв', 'tours.durationMinutes.few': '{count} хв', 'tours.durationMinutes.many': '{count} хв', + 'tours.planner.plannedTotalDuration': 'Запланована загальна тривалість', + 'tours.planner.plannedDurationHint': 'Цілі хвилини, включно з перервами та запланованими зупинками (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Введіть цілу тривалість від 0 до 1440 хвилин.', + 'tours.planner.breaksAdditional': 'Перерви / додатковий час', + 'tours.planner.breaksAdditionalHint': 'Необов’язкові цілі хвилини, що додаються до розрахованого часу ходьби.', + 'tours.planner.breaksAdditionalInfo': 'Необов’язкові цілі хвилини, що додаються до розрахованого часу ходьби.', + 'tours.planner.breaksAdditionalInfoLabel': 'Про перерви та додатковий час', + 'tours.planner.plannedTotalInfo': 'Розрахована запланована загальна тривалість.', + 'tours.planner.plannedTotalInfoLabel': 'Про заплановану загальну тривалість', + 'tours.planner.plannedTotalAutomatic': 'Розрахований підсумок', + 'tours.planner.plannedTotalManual': 'Ручне значення', + 'tours.planner.timeValueInvalid': 'Введіть ціле значення від 0 до 1440 хвилин.', + 'tours.planner.walkingTimeUnknown': 'Не розраховано', + 'tours.planner.walkingShort': 'Ходьба', + 'tours.planner.breaksShort': 'Перерви', + 'tours.planner.plannedShort': 'План', 'tours.planner.empty': 'Додайте щонайменше дві точки для розрахунку пішого маршруту.', 'tours.planner.start': 'Початок', 'tours.planner.via': 'Через', diff --git a/shared/src/i18n/vi/tours.ts b/shared/src/i18n/vi/tours.ts index 9a6a46ed0..b759b49d0 100644 --- a/shared/src/i18n/vi/tours.ts +++ b/shared/src/i18n/vi/tours.ts @@ -67,6 +67,23 @@ const tours: TranslationStrings = { 'tours.planner.waypoints': 'Các điểm trên tuyến', 'tours.planner.waypointLabel': 'Điểm {n}', 'tours.durationMinutes': '{count} phút', + 'tours.planner.plannedTotalDuration': 'Tổng thời lượng dự kiến', + 'tours.planner.plannedDurationHint': + 'Số phút nguyên, bao gồm thời gian nghỉ và các điểm dừng đã lên kế hoạch (0–1440).', + 'tours.planner.plannedDurationInvalid': 'Nhập thời lượng là số nguyên từ 0 đến 1440 phút.', + 'tours.planner.breaksAdditional': 'Nghỉ / thời gian bổ sung', + 'tours.planner.breaksAdditionalHint': 'Số phút nguyên tùy chọn được cộng vào thời gian đi bộ đã tính.', + 'tours.planner.breaksAdditionalInfo': 'Số phút nguyên tùy chọn được cộng vào thời gian đi bộ đã tính.', + 'tours.planner.breaksAdditionalInfoLabel': 'Về thời gian nghỉ và thời gian bổ sung', + 'tours.planner.plannedTotalInfo': 'Tổng thời lượng dự kiến đã được tính.', + 'tours.planner.plannedTotalInfoLabel': 'Về tổng thời lượng dự kiến', + 'tours.planner.plannedTotalAutomatic': 'Tổng đã tính', + 'tours.planner.plannedTotalManual': 'Ghi đè thủ công', + 'tours.planner.timeValueInvalid': 'Nhập giá trị nguyên từ 0 đến 1440 phút.', + 'tours.planner.walkingTimeUnknown': 'Chưa tính', + 'tours.planner.walkingShort': 'Đi bộ', + 'tours.planner.breaksShort': 'Nghỉ', + 'tours.planner.plannedShort': 'Dự kiến', 'tours.planner.empty': 'Thêm ít nhất hai điểm để tính tuyến đi bộ.', 'tours.planner.start': 'Xuất phát', 'tours.planner.via': 'Đi qua', diff --git a/shared/src/i18n/zh-TW/tours.ts b/shared/src/i18n/zh-TW/tours.ts index a926229cb..93ce5409a 100644 --- a/shared/src/i18n/zh-TW/tours.ts +++ b/shared/src/i18n/zh-TW/tours.ts @@ -63,6 +63,22 @@ const tours: TranslationStrings = { 'tours.planner.waypoints': '路線點', 'tours.planner.waypointLabel': '路線點 {n}', 'tours.durationMinutes': '{count} 分鐘', + 'tours.planner.plannedTotalDuration': '預計總時長', + 'tours.planner.plannedDurationHint': '整數分鐘,包含休息與預計停留時間(0–1440)。', + 'tours.planner.plannedDurationInvalid': '請輸入 0 到 1440 分鐘之間的整數時長。', + 'tours.planner.breaksAdditional': '休息 / 額外時間', + 'tours.planner.breaksAdditionalHint': '可選的整數分鐘,會加到計算出的步行時間上。', + 'tours.planner.breaksAdditionalInfo': '可選的整數分鐘,會加到計算出的步行時間上。', + 'tours.planner.breaksAdditionalInfoLabel': '關於休息與額外時間', + 'tours.planner.plannedTotalInfo': '已計算的預計總時長。', + 'tours.planner.plannedTotalInfoLabel': '關於預計總時長', + 'tours.planner.plannedTotalAutomatic': '計算所得總計', + 'tours.planner.plannedTotalManual': '手動覆寫', + 'tours.planner.timeValueInvalid': '請輸入 0 到 1440 分鐘之間的整數。', + 'tours.planner.walkingTimeUnknown': '未計算', + 'tours.planner.walkingShort': '步行', + 'tours.planner.breaksShort': '休息', + 'tours.planner.plannedShort': '預計', 'tours.planner.empty': '至少加入兩個點才能計算步行路線。', 'tours.planner.start': '起點', 'tours.planner.via': '途經', diff --git a/shared/src/i18n/zh/tours.ts b/shared/src/i18n/zh/tours.ts index 9ac55f7ec..d4d9ad017 100644 --- a/shared/src/i18n/zh/tours.ts +++ b/shared/src/i18n/zh/tours.ts @@ -63,6 +63,22 @@ const tours: TranslationStrings = { 'tours.planner.waypoints': '路线点', 'tours.planner.waypointLabel': '路线点 {n}', 'tours.durationMinutes': '{count} 分钟', + 'tours.planner.plannedTotalDuration': '计划总时长', + 'tours.planner.plannedDurationHint': '整数分钟,包含休息和计划停留时间(0–1440)。', + 'tours.planner.plannedDurationInvalid': '请输入 0 到 1440 分钟之间的整数时长。', + 'tours.planner.breaksAdditional': '休息 / 额外时间', + 'tours.planner.breaksAdditionalHint': '可选的整数分钟,将加到计算出的步行时间上。', + 'tours.planner.breaksAdditionalInfo': '可选的整数分钟,将加到计算出的步行时间上。', + 'tours.planner.breaksAdditionalInfoLabel': '关于休息和额外时间', + 'tours.planner.plannedTotalInfo': '已计算的计划总时长。', + 'tours.planner.plannedTotalInfoLabel': '关于计划总时长', + 'tours.planner.plannedTotalAutomatic': '计算所得总计', + 'tours.planner.plannedTotalManual': '手动覆盖', + 'tours.planner.timeValueInvalid': '请输入 0 到 1440 分钟之间的整数。', + 'tours.planner.walkingTimeUnknown': '未计算', + 'tours.planner.walkingShort': '步行', + 'tours.planner.breaksShort': '休息', + 'tours.planner.plannedShort': '计划', 'tours.planner.empty': '至少添加两个点才能计算步行路线。', 'tours.planner.start': '起点', 'tours.planner.via': '途经',