Files
TREK/shared/src/i18n/pl/trip.ts
T
Maurice 45f1ff7799 feat(planner): public transit routing via Transitous (#1065)
Each day header gets a transit button (replacing the rename pencil, which
moved next to the day name in the day detail panel). It opens a route search
backed by Transitous/MOTIS — free, open data, no paid provider: from/to stop
search with the day's own places as quick picks, depart/arrive time, mode
filters (train, subway, tram, bus, ferry, cable car) and ranking by best
route, fewer transfers or less walking. Results show local times, duration,
transfers, walking time and line badges in their official colors, with a
stop-by-stop breakdown per connection.

Adding a connection saves it as a regular transport reservation — typed by
its dominant leg, timed from the itinerary's wall-clock departure/arrival
converted to station-local time (tz-lookup), with the origin, transfer stops
and destination as endpoints and the compact legs in metadata.transit. It
slots into the day timeline by time and inherits editing, deletion and
drag-reordering from the existing transport machinery; the transport detail
view renders the full itinerary. Re-saving a transit transport through the
edit modal preserves the stored itinerary while the route is unchanged.

The server proxies the Transitous API (JWT-guarded, rate-limited, identifying
User-Agent, short response cache, strict mode whitelist); TRANSIT_API_URL
lets self-hosters use their own MOTIS instance. New i18n keys in every
locale, wiki page updated.

Discussion #1065
2026-07-03 15:06:31 +02:00

74 lines
3.3 KiB
TypeScript

import type { TranslationStrings } from '../types';
const trip: TranslationStrings = {
'trip.tabs.plan': 'Plan',
'trip.tabs.transports': 'Transport',
'trip.tabs.reservations': 'Rezerwacje',
'trip.tabs.reservationsShort': 'Rezerwacje',
'trip.tabs.packing': 'Lista pakowania',
'trip.tabs.packingShort': 'Pakowanie',
'trip.tabs.lists': 'Listy',
'trip.tabs.listsShort': 'Listy',
'trip.tabs.budget': 'Costs',
'trip.tabs.files': 'Pliki',
'trip.loading': 'Ładowanie podróży...',
'trip.mobilePlan': 'Plan',
'trip.mobilePlaces': 'Miejsca',
'trip.toast.placeUpdated': 'Miejsce zostało zaktualizowane',
'trip.toast.placeAdded': 'Miejsce zostało dodane',
'trip.toast.placeDeleted': 'Miejsce zostało usunięte',
'trip.toast.selectDay': 'Proszę najpierw wybrać dzień',
'trip.toast.assignedToDay': 'Miejsce przypisane do dnia',
'trip.toast.reorderError': 'Nie udało się zmienić kolejności',
'trip.toast.reservationUpdated': 'Rezerwacja została zaktualizowana',
'trip.toast.reservationAdded': 'Rezerwacja została dodana',
'trip.toast.deleted': 'Usunięto',
'trip.confirm.deletePlace': 'Czy na pewno chcesz usunąć to miejsce?',
'trip.confirm.deletePlaces': 'Usunąć {count} miejsc?',
'trip.toast.placesDeleted': '{count} miejsc usunięto',
'trip.loadingPhotos': 'Ładowanie zdjęć...',
'trip.invite.linkTitle': 'Link zaproszenia do podróży',
'trip.invite.linkHint': 'Każda osoba z kontem TREK, która otworzy ten link, dołączy do podróży jako członek. Wygeneruj ponownie, aby unieważnić stary link.',
'trip.invite.create': 'Utwórz link zaproszenia',
'trip.invite.regenerate': 'Wygeneruj ponownie',
'trip.invite.disable': 'Wyłącz',
'trip.invite.joinHeading': 'Dołącz do tej podróży',
'trip.invite.joinPrompt': 'Zaproszono Cię do dołączenia do „{title}”.',
'trip.invite.joinCta': 'Dołącz do podróży',
'trip.invite.joining': 'Dołączanie…',
'trip.invite.invalidTitle': 'Zaproszenie niedostępne',
'trip.invite.invalid': 'Ten link zaproszenia jest nieprawidłowy lub wygasł.',
'trip.invite.backToDashboard': 'Powrót do panelu',
'transit.title': 'Transport publiczny',
'transit.from': 'Skąd',
'transit.to': 'Dokąd',
'transit.searchStop': 'Szukaj przystanku lub stacji…',
'transit.swap': 'Zamień',
'transit.depart': 'Odjazd',
'transit.arrive': 'Przyjazd',
'transit.mode.rail': 'Pociąg',
'transit.mode.subway': 'Metro',
'transit.mode.tram': 'Tramwaj',
'transit.mode.bus': 'Autobus',
'transit.mode.ferry': 'Prom',
'transit.mode.cable': 'Kolej linowa',
'transit.pref.best': 'Najlepsza trasa',
'transit.pref.transfers': 'Mniej przesiadek',
'transit.pref.walking': 'Mniej pieszo',
'transit.search': 'Szukaj',
'transit.searching': 'Wyszukiwanie…',
'transit.searchError': 'Wyszukiwanie trasy nie powiodło się. Spróbuj ponownie.',
'transit.noResults': 'Nie znaleziono połączeń. Zmień godzinę lub filtry.',
'transit.direct': 'Bezpośrednio',
'transit.transfers': 'Przesiadki: {count}',
'transit.min': '{count} min',
'transit.stops': 'Przystanki: {count}',
'transit.walkTo': 'Idź pieszo do {name}',
'transit.platform': 'Peron {track}',
'transit.adding': 'Dodawanie…',
'transit.addToDay': 'Dodaj do dnia',
'transit.itinerary': 'Plan podróży',
'transit.attribution': 'Dane tras z',
};
export default trip;