diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index bed6a5ba84b..c232ca6e3d3 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -12,3 +12,6 @@
# Make OTP a multi-module project
ead33ffe280dd7caf72cae5ff7a41542e8427636
+
+# json file reformatting with prettier
+c287575df6798810a69fafc54c8c4e1867b71367
diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md
index cf3efcd84a3..36ab454789a 100644
--- a/ARCHITECTURE.md
+++ b/ARCHITECTURE.md
@@ -55,7 +55,7 @@ Used to import NeTEx transit data files.
### Transit Routing
-#### [Raptor transit routing](application/src/main/java/org/opentripplanner/raptor/package.md)
+#### [Raptor transit routing](raptor/src/main/java/org/opentripplanner/raptor/package.md)
This is the OTP2 new transit routing engine implemented using the Raptor algorithm. It explains how
Raptor works, the important concepts and the design. It might be worth reading even if you are not a
@@ -71,9 +71,9 @@ implementation is highly critical code, hence we set the bar higher with respect
OTP provides transit data to Raptor by implementing the _raptor/spi_. The
[RoutingService](application/src/main/java/org/opentripplanner/routing/service/DefaultRoutingService.java)
is responsible for mapping from the OTP context to a
-[RaptorRequest](application/src/main/java/org/opentripplanner/raptor/api/request/RaptorRequest.java)
+[RaptorRequest](raptor/src/main/java/org/opentripplanner/raptor/api/request/RaptorRequest.java)
and then map the
-result, [Raptor Path](application/src/main/java/org/opentripplanner/raptor/api/path/RaptorPath.java), back to
+result, [Raptor Path](raptor/src/main/java/org/opentripplanner/raptor/api/path/RaptorPath.java), back to
the OTP internal domain. This might seem like a lot of unnecessary mapping, but mapping is simple -
routing is not.
diff --git a/DEVELOPMENT_DECISION_RECORDS.md b/DEVELOPMENT_DECISION_RECORDS.md
index 44aa031954f..2625be325e8 100644
--- a/DEVELOPMENT_DECISION_RECORDS.md
+++ b/DEVELOPMENT_DECISION_RECORDS.md
@@ -19,6 +19,12 @@ Use established terminology from GTFS, NeTEx or the existing OTP code. Make sure
to read and understand. [Follow naming conventions](doc/dev/decisionrecords/NamingConventions.md#naming-conventions) .
+## Do Analysis-and-design if needed
+
+Be prepared to provide [analyses and/or design documentation](doc/dev/decisionrecords/AnalysesAndDesign.md)
+if a task is complex, changes the core model and/or the main APIs.
+
+
## Write-Code-Documentation - Use JavaDoc
Document the business intention and decisions in the relevant code. Do not repeat the logic
diff --git a/application/pom.xml b/application/pom.xml
index 3fc0193d0af..4b11f1f6527 100644
--- a/application/pom.xml
+++ b/application/pom.xml
@@ -8,7 +8,7 @@
otp-root2.7.0-SNAPSHOT
- otp
+ applicationOpenTripPlanner - Application
@@ -20,12 +20,12 @@
${project.groupId}
- otp-utils
+ utils${project.version}${project.groupId}
- otp-raptor
+ raptor${project.version}
@@ -456,81 +456,6 @@
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.6.0
-
-
- package
-
- shade
-
-
-
-
-
- *:*
-
- META-INF/*.SF
- META-INF/*.DSA
- META-INF/*.RSA
-
-
-
-
- true
- shaded
- false
-
-
-
-
-
-
- org.opentripplanner.standalone.OTPMain
-
- Java Advanced Imaging Image I/O
- Tools
-
- 1.1
- Sun Microsystems, Inc.
- com.sun.media.imageio
- 1.1
- Sun Microsystems, Inc.
- com.sun.media.imageio
-
-
-
-
-
-
- com.github.bohnmanpackage-info-maven-plugin
diff --git a/application/src/client/classic-debug/js/otp/locale/ca_ES.json b/application/src/client/classic-debug/js/otp/locale/ca_ES.json
index e0bc0c5e3ba..e730a986359 100644
--- a/application/src/client/classic-debug/js/otp/locale/ca_ES.json
+++ b/application/src/client/classic-debug/js/otp/locale/ca_ES.json
@@ -1,238 +1,238 @@
{
- "Transit": "Transport públic",
- "Bus Only": "Només bus",
- "Rail Only": "Només tren",
- "Airplane Only": "",
- "Transit, No Airplane": "",
- "Bicycle Only": "Bicicleta",
- "Bicycle & Transit": "Transport públic i bicicleta",
- "Walk Only": "Només a peu",
- "Car Only": "",
- "Taxi": "",
- "Park and Ride": "",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "",
- "Rented Bicycle": "",
- "Transit & Rented Bicycle": "",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Centrar mapa aquí",
- "Zoom In": "Apropar",
- "Zoom Out": "Allunyar",
- "Minimize all": "",
- "Unminimize all": "",
- "Stop Viewer": "",
- "Plan Trip": "",
- "From Stop": "",
- "To Stop": "",
- "Routes Serving Stop": "",
- "Bike Share Planner": "",
- "Trip Options": "",
- "PICK UP BIKE": "",
- "ALTERNATE PICKUP": "",
- "DROP OFF BIKE": "",
- "ALTERNATE DROP OFF": "",
- "BIKE STATION": "",
- "Station:": "",
- "%d bike available": "",
- "%d bike available_plural": "",
- "%d dock available": "",
- "%d dock available_plural": "",
- "Recommended Pick Up:": "",
- "Bicycle rental": "",
- "Recommended Drop Off:": "",
- "Multimodal Trip Planner": "",
- "Itineraries": "",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned": "",
- "%d Itinerary Returned_plural": "",
- "Link to search": "",
- "Previous Page": "",
- "Next Page": "",
- "CONTINUES AS": "",
- "%d min late": "",
- "%d min late_plural": "",
- "%d min early": "",
- "%d min early_plural": "",
- "on time": "",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "",
- "Trip Summary": "",
- "Travel": "Hora de sortida",
- "Time": "Temps",
- "GenCost": "",
- "Total Walk": "",
- "Total Bike": "",
- "Total drive": "",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "transbords",
- "Fare": "Tarifa",
- "Valid": "Hora actual",
- "Link to Itinerary": "",
- "Print": "Imprimir",
- "Your Trip": "",
- "Email": "",
- "every %d min": "",
- "every %d min_plural": "",
- "Board at ": "",
- "Stop": "",
- "Time in transit": "",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "",
- "late as": "",
- "Stay on board": "stay on board",
- "Alight": "",
- "at": "a",
- "%(currency)s %(price)s": "",
- "Start: %(location)s at %(time_date)s": "",
- "Board": "",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "",
- "End: %(location)s at %(time_date)s": "",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "",
- "The trip planner is taking way too long to process your request. Please try again later.": "",
- "The request has errors that the server is not willing or able to process.": "",
- "Origin is unknown. Can you be a bit more descriptive?": "",
- "Destination is unknown. Can you be a bit more descriptive?": "",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "",
- "Both origin and destination are not wheelchair accessible": "",
- "Origin is within a trivial distance of the destination.": "",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "",
- "Set as Start Location": "",
- "Set as End Location": "",
- "Destination": "",
- "Error %(error_id)d": "",
- "No Trip Found": "",
- "Your %(bike_share_name)s route": "",
- "Your bike route": "",
- "Walk to the %(bike_share_name)s dock.": "",
- "Walk from the %(bike_share_name)s dock to your destination.": "",
- "Your walk route": "",
- "Your route using the scooter": "",
- "Your driving route": "",
- "north": "nord",
- "northeast": "nord-est",
- "east": "est",
- "southeast": "sud-est",
- "south": "sud",
- "southwest": "sud-oest",
- "west": "oest",
- "northwest": "nord-oest",
- "hard left": "gira completament a la esquerra",
- "left": "gira a la esquerra",
- "slight left": "gira lleugerament a la esquerra",
- "continue": "",
- "slight right": "gira lleugerament a la dreta",
- "right": "gira a la dreta",
- "hard right": "gira completament a la dreta",
- "elevator": "",
- "U-turn left": "",
- "U-turn right": "",
- "Walk": "A peu",
- "Cycle": "Bicicleta",
- "Car": "Cotxe",
- "Bus": "AUTOBÚS",
- "Subway": "METRO",
- "Train": "Tren",
- "Ferry": "BOT",
- "Light Rail": "",
- "Cable Car": "PONT PENJANT",
- "Funicular": "FUNICULAR",
- "Aerial Tram": "",
- "Airplane": "",
- "Bicycle rental station": "",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
- "Start on": "",
- " heading ": "",
- "to continue on": "per a continuar a",
- "on to": "",
- "first": "",
- "second": "",
- "third": "",
- "fourth": "",
- "fifth": "",
- "sixth": "",
- "seventh": "",
- "eight": "",
- "ninth": "",
- "tenth": "",
- "%d hr": "",
- "%d hr_plural": "",
- "%d min": "",
- "%d min_plural": "",
- "%d sec": "",
- "%d sec_plural": "",
- "OK": "OK",
- "Minimize": "",
- "Bring to front": "",
- "Send to back": "",
- "Route:": "",
- "Variant:": "",
- "Stop Finder": "",
- "Feed": "Agency",
- "By ID": "",
- "By Name": "",
- "Search": "",
- "No Stops Found": "",
- "Date": "Data",
- "Find Stops": "",
- "(No Stop Selected)": "",
- "Block": "",
- "Recenter": "",
- "Viewer": "",
- "Quick": "",
- "Flat": "",
- "Bike Friendly": "",
- "B": "",
- "F": "",
- "Q": "",
- "All Routes": "",
- "Save": "",
- "Close": "",
- "Travel Options": "",
- "Geocoder": "",
- "Arrive": "Arribada a",
- "Now": "",
- "Wheelchair accessible trip:": "Viatge amb accessibilitat:",
- "Show Filtered Itineraries:": "",
- "Travel by": "Mode de viatge",
- "Preferred Routes": "",
- "Edit": "Editar",
- "None": "",
- "Weight": "",
- "Banned routes": "",
- "Use": "",
- "My Own Bike": "",
- "A Shared Bike": "",
- "Plan Your Trip": "Planificar el viatge",
- "Additional parameters": "",
- " to _direction": "",
- " to _bus_direction": "",
- "Start_template": "",
- "Depart_itinerary": "Sortida des de",
- "depart_itinerary": "Sortida des de",
- "Start_popup": "",
- "Depart_tripoptions": "Sortida des de"
-}
\ No newline at end of file
+ "Transit": "Transport públic",
+ "Bus Only": "Només bus",
+ "Rail Only": "Només tren",
+ "Airplane Only": "",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "Bicicleta",
+ "Bicycle & Transit": "Transport públic i bicicleta",
+ "Walk Only": "Només a peu",
+ "Car Only": "",
+ "Taxi": "",
+ "Park and Ride": "",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "",
+ "Rented Bicycle": "",
+ "Transit & Rented Bicycle": "",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Centrar mapa aquí",
+ "Zoom In": "Apropar",
+ "Zoom Out": "Allunyar",
+ "Minimize all": "",
+ "Unminimize all": "",
+ "Stop Viewer": "",
+ "Plan Trip": "",
+ "From Stop": "",
+ "To Stop": "",
+ "Routes Serving Stop": "",
+ "Bike Share Planner": "",
+ "Trip Options": "",
+ "PICK UP BIKE": "",
+ "ALTERNATE PICKUP": "",
+ "DROP OFF BIKE": "",
+ "ALTERNATE DROP OFF": "",
+ "BIKE STATION": "",
+ "Station:": "",
+ "%d bike available": "",
+ "%d bike available_plural": "",
+ "%d dock available": "",
+ "%d dock available_plural": "",
+ "Recommended Pick Up:": "",
+ "Bicycle rental": "",
+ "Recommended Drop Off:": "",
+ "Multimodal Trip Planner": "",
+ "Itineraries": "",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned": "",
+ "%d Itinerary Returned_plural": "",
+ "Link to search": "",
+ "Previous Page": "",
+ "Next Page": "",
+ "CONTINUES AS": "",
+ "%d min late": "",
+ "%d min late_plural": "",
+ "%d min early": "",
+ "%d min early_plural": "",
+ "on time": "",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "",
+ "Trip Summary": "",
+ "Travel": "Hora de sortida",
+ "Time": "Temps",
+ "GenCost": "",
+ "Total Walk": "",
+ "Total Bike": "",
+ "Total drive": "",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "transbords",
+ "Fare": "Tarifa",
+ "Valid": "Hora actual",
+ "Link to Itinerary": "",
+ "Print": "Imprimir",
+ "Your Trip": "",
+ "Email": "",
+ "every %d min": "",
+ "every %d min_plural": "",
+ "Board at ": "",
+ "Stop": "",
+ "Time in transit": "",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "",
+ "late as": "",
+ "Stay on board": "stay on board",
+ "Alight": "",
+ "at": "a",
+ "%(currency)s %(price)s": "",
+ "Start: %(location)s at %(time_date)s": "",
+ "Board": "",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "",
+ "End: %(location)s at %(time_date)s": "",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "",
+ "The trip planner is taking way too long to process your request. Please try again later.": "",
+ "The request has errors that the server is not willing or able to process.": "",
+ "Origin is unknown. Can you be a bit more descriptive?": "",
+ "Destination is unknown. Can you be a bit more descriptive?": "",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "",
+ "Both origin and destination are not wheelchair accessible": "",
+ "Origin is within a trivial distance of the destination.": "",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "",
+ "Set as Start Location": "",
+ "Set as End Location": "",
+ "Destination": "",
+ "Error %(error_id)d": "",
+ "No Trip Found": "",
+ "Your %(bike_share_name)s route": "",
+ "Your bike route": "",
+ "Walk to the %(bike_share_name)s dock.": "",
+ "Walk from the %(bike_share_name)s dock to your destination.": "",
+ "Your walk route": "",
+ "Your route using the scooter": "",
+ "Your driving route": "",
+ "north": "nord",
+ "northeast": "nord-est",
+ "east": "est",
+ "southeast": "sud-est",
+ "south": "sud",
+ "southwest": "sud-oest",
+ "west": "oest",
+ "northwest": "nord-oest",
+ "hard left": "gira completament a la esquerra",
+ "left": "gira a la esquerra",
+ "slight left": "gira lleugerament a la esquerra",
+ "continue": "",
+ "slight right": "gira lleugerament a la dreta",
+ "right": "gira a la dreta",
+ "hard right": "gira completament a la dreta",
+ "elevator": "",
+ "U-turn left": "",
+ "U-turn right": "",
+ "Walk": "A peu",
+ "Cycle": "Bicicleta",
+ "Car": "Cotxe",
+ "Bus": "AUTOBÚS",
+ "Subway": "METRO",
+ "Train": "Tren",
+ "Ferry": "BOT",
+ "Light Rail": "",
+ "Cable Car": "PONT PENJANT",
+ "Funicular": "FUNICULAR",
+ "Aerial Tram": "",
+ "Airplane": "",
+ "Bicycle rental station": "",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
+ "Start on": "",
+ " heading ": "",
+ "to continue on": "per a continuar a",
+ "on to": "",
+ "first": "",
+ "second": "",
+ "third": "",
+ "fourth": "",
+ "fifth": "",
+ "sixth": "",
+ "seventh": "",
+ "eight": "",
+ "ninth": "",
+ "tenth": "",
+ "%d hr": "",
+ "%d hr_plural": "",
+ "%d min": "",
+ "%d min_plural": "",
+ "%d sec": "",
+ "%d sec_plural": "",
+ "OK": "OK",
+ "Minimize": "",
+ "Bring to front": "",
+ "Send to back": "",
+ "Route:": "",
+ "Variant:": "",
+ "Stop Finder": "",
+ "Feed": "Agency",
+ "By ID": "",
+ "By Name": "",
+ "Search": "",
+ "No Stops Found": "",
+ "Date": "Data",
+ "Find Stops": "",
+ "(No Stop Selected)": "",
+ "Block": "",
+ "Recenter": "",
+ "Viewer": "",
+ "Quick": "",
+ "Flat": "",
+ "Bike Friendly": "",
+ "B": "",
+ "F": "",
+ "Q": "",
+ "All Routes": "",
+ "Save": "",
+ "Close": "",
+ "Travel Options": "",
+ "Geocoder": "",
+ "Arrive": "Arribada a",
+ "Now": "",
+ "Wheelchair accessible trip:": "Viatge amb accessibilitat:",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Mode de viatge",
+ "Preferred Routes": "",
+ "Edit": "Editar",
+ "None": "",
+ "Weight": "",
+ "Banned routes": "",
+ "Use": "",
+ "My Own Bike": "",
+ "A Shared Bike": "",
+ "Plan Your Trip": "Planificar el viatge",
+ "Additional parameters": "",
+ " to _direction": "",
+ " to _bus_direction": "",
+ "Start_template": "",
+ "Depart_itinerary": "Sortida des de",
+ "depart_itinerary": "Sortida des de",
+ "Start_popup": "",
+ "Depart_tripoptions": "Sortida des de"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/de.json b/application/src/client/classic-debug/js/otp/locale/de.json
index 5a0aa5316f4..56d08ab778a 100644
--- a/application/src/client/classic-debug/js/otp/locale/de.json
+++ b/application/src/client/classic-debug/js/otp/locale/de.json
@@ -1,238 +1,238 @@
{
- "Transit": "ÖPNV",
- "Bus Only": "nur Bus",
- "Rail Only": "nur Bahn",
- "Airplane Only": "",
- "Transit, No Airplane": "",
- "Bicycle Only": "Fahrrad",
- "Bicycle & Transit": "ÖPNV und Fahrrad",
- "Walk Only": "zu Fuß",
- "Car Only": "",
- "Taxi": "",
- "Park and Ride": "Parken und Reisen",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "",
- "Rented Bicycle": "Fahrradverleih",
- "Transit & Rented Bicycle": "ÖPNV und Fahrradverleih",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "ÖPNV und Fahrradverleih",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Karte hier zentrieren",
- "Zoom In": "hineinzoomen",
- "Zoom Out": "herauszoomen",
- "Minimize all": "Alle Dialoge minimieren",
- "Unminimize all": "Dialoge wiederanzeigen",
- "Stop Viewer": "",
- "Plan Trip": "",
- "From Stop": "",
- "To Stop": "",
- "Routes Serving Stop": "",
- "Bike Share Planner": "",
- "Trip Options": "Einstellungen für Routensuche",
- "PICK UP BIKE": "",
- "ALTERNATE PICKUP": "",
- "DROP OFF BIKE": "",
- "ALTERNATE DROP OFF": "",
- "BIKE STATION": "",
- "Station:": "",
- "%d bike available": "",
- "%d bike available_plural": "",
- "%d dock available": "",
- "%d dock available_plural": "",
- "Recommended Pick Up:": "",
- "Bicycle rental": "Fahrradverleih",
- "Recommended Drop Off:": "",
- "Multimodal Trip Planner": "Multimodaler Routenplaner",
- "Itineraries": "Routenvorschläge",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned": "",
- "%d Itinerary Returned_plural": "",
- "Link to search": "Link für diese Suche erstellen",
- "Previous Page": "Vorheriger",
- "Next Page": "",
- "CONTINUES AS": "Weiterfahren",
- "%d min late": "%d min Verspätung",
- "%d min late_plural": "%d min Verspätung",
- "%d min early": "%d min zu früh",
- "%d min early_plural": "%d min zu früh",
- "on time": "pünktlich",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "Ankunft",
- "Trip Summary": "",
- "Travel": "Reise",
- "Time": "Dauer",
- "GenCost": "",
- "Total Walk": "",
- "Total Bike": "",
- "Total drive": "",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "Umsteigepunkt",
- "Fare": "Tarif",
- "Valid": "Gültig bis",
- "Link to Itinerary": "",
- "Print": "drucken",
- "Your Trip": "",
- "Email": "",
- "every %d min": "",
- "every %d min_plural": "",
- "Board at ": "",
- "Stop": "",
- "Time in transit": "",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "",
- "late as": "",
- "Stay on board": "an Bord bleiben",
- "Alight": "",
- "at": "um",
- "%(currency)s %(price)s": "",
- "Start: %(location)s at %(time_date)s": "",
- "Board": "",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "",
- "End: %(location)s at %(time_date)s": "",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "",
- "The trip planner is taking way too long to process your request. Please try again later.": "",
- "The request has errors that the server is not willing or able to process.": "",
- "Origin is unknown. Can you be a bit more descriptive?": "",
- "Destination is unknown. Can you be a bit more descriptive?": "",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "",
- "Both origin and destination are not wheelchair accessible": "",
- "Origin is within a trivial distance of the destination.": "",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "",
- "Set as Start Location": "",
- "Set as End Location": "",
- "Destination": "",
- "Error %(error_id)d": "",
- "No Trip Found": "",
- "Your %(bike_share_name)s route": "",
- "Your bike route": "",
- "Walk to the %(bike_share_name)s dock.": "",
- "Walk from the %(bike_share_name)s dock to your destination.": "",
- "Your walk route": "",
- "Your route using the scooter": "",
- "Your driving route": "",
- "north": "nord",
- "northeast": "nordost",
- "east": "ost",
- "southeast": "südost",
- "south": "süd",
- "southwest": "südwest",
- "west": "west",
- "northwest": "nordwest",
- "hard left": "scharf links",
- "left": "links",
- "slight left": "links halten",
- "continue": "",
- "slight right": "rechts halten",
- "right": "rechts",
- "hard right": "scharf rechts",
- "elevator": "",
- "U-turn left": "",
- "U-turn right": "",
- "Walk": "zu Fuß gehen",
- "Cycle": "Fahrrad",
- "Car": "Auto",
- "Bus": "Bus",
- "Subway": "U-Bahn",
- "Train": "Bahn",
- "Ferry": "Fähre",
- "Light Rail": "",
- "Cable Car": "Standseilbahn",
- "Funicular": "Seilbahn",
- "Aerial Tram": "",
- "Airplane": "",
- "Bicycle rental station": "Fahrradverleihstation",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
- "Start on": "",
- " heading ": "",
- "to continue on": "weiter auf",
- "on to": "",
- "first": "Erster",
- "second": "",
- "third": "",
- "fourth": "",
- "fifth": "",
- "sixth": "",
- "seventh": "",
- "eight": "",
- "ninth": "",
- "tenth": "",
- "%d hr": "",
- "%d hr_plural": "",
- "%d min": "",
- "%d min_plural": "",
- "%d sec": "",
- "%d sec_plural": "",
- "OK": "OK",
- "Minimize": "Minimieren",
- "Bring to front": "in den Vordergrund",
- "Send to back": "in den Hintergrund",
- "Route:": "",
- "Variant:": "",
- "Stop Finder": "",
- "Feed": "Agency",
- "By ID": "",
- "By Name": "",
- "Search": "",
- "No Stops Found": "",
- "Date": "Datum",
- "Find Stops": "",
- "(No Stop Selected)": "",
- "Block": "",
- "Recenter": "",
- "Viewer": "",
- "Quick": "Schnellste",
- "Flat": "Flach",
- "Bike Friendly": "Fahrradgeeignet",
- "B": "F",
- "F": "Fl",
- "Q": "S",
- "All Routes": "alle Routen",
- "Save": "Speichern",
- "Close": "Schließen",
- "Travel Options": "Routeneinstellungen",
- "Geocoder": "Geocoder",
- "Arrive": "Ankunft",
- "Now": "Jetzt",
- "Wheelchair accessible trip:": "barrierefreie Route:",
- "Show Filtered Itineraries:": "",
- "Travel by": "Fortbewegungsart/Verkehrsmittel",
- "Preferred Routes": "bevorzugte Routen",
- "Edit": "anpassen",
- "None": "keine",
- "Weight": "Gewichtung",
- "Banned routes": "ausgeschlossene Routen",
- "Use": "",
- "My Own Bike": "",
- "A Shared Bike": "",
- "Plan Your Trip": "Route berechnen",
- "Additional parameters": "",
- " to _direction": "",
- " to _bus_direction": "",
- "Start_template": "Abfahrt",
- "Depart_itinerary": "Abfahrt",
- "depart_itinerary": "Abfahrt",
- "Start_popup": "Abfahrt",
- "Depart_tripoptions": "Abfahrt"
-}
\ No newline at end of file
+ "Transit": "ÖPNV",
+ "Bus Only": "nur Bus",
+ "Rail Only": "nur Bahn",
+ "Airplane Only": "",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "Fahrrad",
+ "Bicycle & Transit": "ÖPNV und Fahrrad",
+ "Walk Only": "zu Fuß",
+ "Car Only": "",
+ "Taxi": "",
+ "Park and Ride": "Parken und Reisen",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "",
+ "Rented Bicycle": "Fahrradverleih",
+ "Transit & Rented Bicycle": "ÖPNV und Fahrradverleih",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "ÖPNV und Fahrradverleih",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Karte hier zentrieren",
+ "Zoom In": "hineinzoomen",
+ "Zoom Out": "herauszoomen",
+ "Minimize all": "Alle Dialoge minimieren",
+ "Unminimize all": "Dialoge wiederanzeigen",
+ "Stop Viewer": "",
+ "Plan Trip": "",
+ "From Stop": "",
+ "To Stop": "",
+ "Routes Serving Stop": "",
+ "Bike Share Planner": "",
+ "Trip Options": "Einstellungen für Routensuche",
+ "PICK UP BIKE": "",
+ "ALTERNATE PICKUP": "",
+ "DROP OFF BIKE": "",
+ "ALTERNATE DROP OFF": "",
+ "BIKE STATION": "",
+ "Station:": "",
+ "%d bike available": "",
+ "%d bike available_plural": "",
+ "%d dock available": "",
+ "%d dock available_plural": "",
+ "Recommended Pick Up:": "",
+ "Bicycle rental": "Fahrradverleih",
+ "Recommended Drop Off:": "",
+ "Multimodal Trip Planner": "Multimodaler Routenplaner",
+ "Itineraries": "Routenvorschläge",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned": "",
+ "%d Itinerary Returned_plural": "",
+ "Link to search": "Link für diese Suche erstellen",
+ "Previous Page": "Vorheriger",
+ "Next Page": "",
+ "CONTINUES AS": "Weiterfahren",
+ "%d min late": "%d min Verspätung",
+ "%d min late_plural": "%d min Verspätung",
+ "%d min early": "%d min zu früh",
+ "%d min early_plural": "%d min zu früh",
+ "on time": "pünktlich",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "Ankunft",
+ "Trip Summary": "",
+ "Travel": "Reise",
+ "Time": "Dauer",
+ "GenCost": "",
+ "Total Walk": "",
+ "Total Bike": "",
+ "Total drive": "",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "Umsteigepunkt",
+ "Fare": "Tarif",
+ "Valid": "Gültig bis",
+ "Link to Itinerary": "",
+ "Print": "drucken",
+ "Your Trip": "",
+ "Email": "",
+ "every %d min": "",
+ "every %d min_plural": "",
+ "Board at ": "",
+ "Stop": "",
+ "Time in transit": "",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "",
+ "late as": "",
+ "Stay on board": "an Bord bleiben",
+ "Alight": "",
+ "at": "um",
+ "%(currency)s %(price)s": "",
+ "Start: %(location)s at %(time_date)s": "",
+ "Board": "",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "",
+ "End: %(location)s at %(time_date)s": "",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "",
+ "The trip planner is taking way too long to process your request. Please try again later.": "",
+ "The request has errors that the server is not willing or able to process.": "",
+ "Origin is unknown. Can you be a bit more descriptive?": "",
+ "Destination is unknown. Can you be a bit more descriptive?": "",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "",
+ "Both origin and destination are not wheelchair accessible": "",
+ "Origin is within a trivial distance of the destination.": "",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "",
+ "Set as Start Location": "",
+ "Set as End Location": "",
+ "Destination": "",
+ "Error %(error_id)d": "",
+ "No Trip Found": "",
+ "Your %(bike_share_name)s route": "",
+ "Your bike route": "",
+ "Walk to the %(bike_share_name)s dock.": "",
+ "Walk from the %(bike_share_name)s dock to your destination.": "",
+ "Your walk route": "",
+ "Your route using the scooter": "",
+ "Your driving route": "",
+ "north": "nord",
+ "northeast": "nordost",
+ "east": "ost",
+ "southeast": "südost",
+ "south": "süd",
+ "southwest": "südwest",
+ "west": "west",
+ "northwest": "nordwest",
+ "hard left": "scharf links",
+ "left": "links",
+ "slight left": "links halten",
+ "continue": "",
+ "slight right": "rechts halten",
+ "right": "rechts",
+ "hard right": "scharf rechts",
+ "elevator": "",
+ "U-turn left": "",
+ "U-turn right": "",
+ "Walk": "zu Fuß gehen",
+ "Cycle": "Fahrrad",
+ "Car": "Auto",
+ "Bus": "Bus",
+ "Subway": "U-Bahn",
+ "Train": "Bahn",
+ "Ferry": "Fähre",
+ "Light Rail": "",
+ "Cable Car": "Standseilbahn",
+ "Funicular": "Seilbahn",
+ "Aerial Tram": "",
+ "Airplane": "",
+ "Bicycle rental station": "Fahrradverleihstation",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "",
+ "Start on": "",
+ " heading ": "",
+ "to continue on": "weiter auf",
+ "on to": "",
+ "first": "Erster",
+ "second": "",
+ "third": "",
+ "fourth": "",
+ "fifth": "",
+ "sixth": "",
+ "seventh": "",
+ "eight": "",
+ "ninth": "",
+ "tenth": "",
+ "%d hr": "",
+ "%d hr_plural": "",
+ "%d min": "",
+ "%d min_plural": "",
+ "%d sec": "",
+ "%d sec_plural": "",
+ "OK": "OK",
+ "Minimize": "Minimieren",
+ "Bring to front": "in den Vordergrund",
+ "Send to back": "in den Hintergrund",
+ "Route:": "",
+ "Variant:": "",
+ "Stop Finder": "",
+ "Feed": "Agency",
+ "By ID": "",
+ "By Name": "",
+ "Search": "",
+ "No Stops Found": "",
+ "Date": "Datum",
+ "Find Stops": "",
+ "(No Stop Selected)": "",
+ "Block": "",
+ "Recenter": "",
+ "Viewer": "",
+ "Quick": "Schnellste",
+ "Flat": "Flach",
+ "Bike Friendly": "Fahrradgeeignet",
+ "B": "F",
+ "F": "Fl",
+ "Q": "S",
+ "All Routes": "alle Routen",
+ "Save": "Speichern",
+ "Close": "Schließen",
+ "Travel Options": "Routeneinstellungen",
+ "Geocoder": "Geocoder",
+ "Arrive": "Ankunft",
+ "Now": "Jetzt",
+ "Wheelchair accessible trip:": "barrierefreie Route:",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Fortbewegungsart/Verkehrsmittel",
+ "Preferred Routes": "bevorzugte Routen",
+ "Edit": "anpassen",
+ "None": "keine",
+ "Weight": "Gewichtung",
+ "Banned routes": "ausgeschlossene Routen",
+ "Use": "",
+ "My Own Bike": "",
+ "A Shared Bike": "",
+ "Plan Your Trip": "Route berechnen",
+ "Additional parameters": "",
+ " to _direction": "",
+ " to _bus_direction": "",
+ "Start_template": "Abfahrt",
+ "Depart_itinerary": "Abfahrt",
+ "depart_itinerary": "Abfahrt",
+ "Start_popup": "Abfahrt",
+ "Depart_tripoptions": "Abfahrt"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/en.json b/application/src/client/classic-debug/js/otp/locale/en.json
index 51e5565997c..a4d3f1efa9d 100644
--- a/application/src/client/classic-debug/js/otp/locale/en.json
+++ b/application/src/client/classic-debug/js/otp/locale/en.json
@@ -1,238 +1,238 @@
{
- "Transit": "Transit",
- "Bus Only": "Bus Only",
- "Rail Only": "Rail Only",
- "Airplane Only": "Airplane Only",
- "Transit, No Airplane": "",
- "Bicycle Only": "Bicycle Only",
- "Bicycle & Transit": "Bicycle & Transit",
- "Walk Only": "Walk Only",
- "Car Only": "Car Only",
- "Taxi": "",
- "Park and Ride": "Park and Ride",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "Bike and Ride",
- "Rented Bicycle": "Rented Bicycle",
- "Transit & Rented Bicycle": "Transit & Rented Bicycle",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "Transit & Rented Bicycle",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Recenter Map Here",
- "Zoom In": "Zoom In",
- "Zoom Out": "Zoom Out",
- "Minimize all": "Minimize all",
- "Unminimize all": "Unminimize all",
- "Stop Viewer": "Stop Viewer",
- "Plan Trip": "Plan Trip",
- "From Stop": "From Stop",
- "To Stop": "To Stop",
- "Routes Serving Stop": "Routes Serving Stop",
- "Bike Share Planner": "Bike Share Planner",
- "Trip Options": "Trip Options",
- "PICK UP BIKE": "PICK UP BIKE",
- "ALTERNATE PICKUP": "ALTERNATE PICKUP",
- "DROP OFF BIKE": "DROP OFF BIKE",
- "ALTERNATE DROP OFF": "ALTERNATE DROP OFF",
- "BIKE STATION": "BIKE STATION",
- "Station:": "Station:",
- "%d bike available": "%d bike available",
- "%d bike available_plural": "%d bikes available",
- "%d dock available": "%d dock available",
- "%d dock available_plural": "%d docks available",
- "Recommended Pick Up:": "Recommended Pick Up:",
- "Bicycle rental": "Bicycle rental",
- "Recommended Drop Off:": "Recommended Drop Off:",
- "Multimodal Trip Planner": "Multimodal Trip Planner",
- "Itineraries": "Itineraries",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned": "%d Itinerary Returned",
- "%d Itinerary Returned_plural": "%d Itineraries Returned",
- "Link to search": "Link to search",
- "Previous Page": "Previous",
- "Next Page": "",
- "CONTINUES AS": "CONTINUES AS",
- "%d min late": "%d min late",
- "%d min late_plural": "%d mins late",
- "%d min early": "%d min early",
- "%d min early_plural": "%d mins early",
- "on time": "on time",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "End",
- "Trip Summary": "Trip Summary",
- "Travel": "Travel",
- "Time": "Time",
- "GenCost": "Weight/Cost",
- "Total Walk": "Total Walk",
- "Total Bike": "Total Bike",
- "Total drive": "Total drive",
- "Elevation Gained": "",
- "Elevation Lost": "Elevation Lost",
- "Transfers": "Transfers",
- "Fare": "Fare",
- "Valid": "Valid",
- "Link to Itinerary": "Link to Itinerary",
- "Print": "Print",
- "Your Trip": "Your Trip",
- "Email": "Email",
- "every %d min": "every %d min",
- "every %d min_plural": "every %d mins",
- "Board at ": "Board at ",
- "Stop": "Stop",
- "Time in transit": "Time in transit",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "Trip Viewer",
- "late as": "late as",
- "Stay on board": "Stay on board",
- "Alight": "Alight",
- "at": "at",
- "%(currency)s %(price)s": "%(currency)s %(price)s",
- "Start: %(location)s at %(time_date)s": "Start: %(location)s at %(time_date)s",
- "Board": "Board",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s Stop ID #%(stop_id)s),",
- "End: %(location)s at %(time_date)s": "End: %(location)s at %(time_date)s",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "\nView itinerary online:\n%(itinerary_link)s\n",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "We're sorry. The trip planner is temporarily unavailable. Please try again later.",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "Trip is not possible. You might be trying to plan a trip outside the map data boundary.",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.",
- "The trip planner is taking way too long to process your request. Please try again later.": "The trip planner is taking way too long to process your request. Please try again later.",
- "The request has errors that the server is not willing or able to process.": "The request has errors that the server is not willing or able to process.",
- "Origin is unknown. Can you be a bit more descriptive?": "Origin is unknown. Can you be a bit more descriptive?",
- "Destination is unknown. Can you be a bit more descriptive?": "Destination is unknown. Can you be a bit more descriptive?",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "Both origin and destination are unknown. Can you be a bit more descriptive?",
- "Both origin and destination are not wheelchair accessible": "Both origin and destination are not wheelchair accessible",
- "Origin is within a trivial distance of the destination.": "Origin is within a trivial distance of the destination.",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Both origin and destination are ambiguous. Please select from the following options, or be more specific.",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set",
- "Set as Start Location": "Set as Start Location",
- "Set as End Location": "Set as End Location",
- "Destination": "Destination",
- "Error %(error_id)d": "Error %(error_id)d",
- "No Trip Found": "No Trip Found",
- "Your %(bike_share_name)s route": "Your %(bike_share_name)s route",
- "Your bike route": "Your bike route",
- "Walk to the %(bike_share_name)s dock.": "Walk to the %(bike_share_name)s dock.",
- "Walk from the %(bike_share_name)s dock to your destination.": "Walk from the %(bike_share_name)s dock to your destination.",
- "Your walk route": "Your walk route",
- "Your route using the scooter": "",
- "Your driving route": "Your bike route",
- "north": "north",
- "northeast": "northeast",
- "east": "east",
- "southeast": "southeast",
- "south": "south",
- "southwest": "southwest",
- "west": "west",
- "northwest": "northwest",
- "hard left": "hard left",
- "left": "left",
- "slight left": "slight left",
- "continue": "continue",
- "slight right": "slight right",
- "right": "right",
- "hard right": "hard right",
- "elevator": "elevator",
- "U-turn left": "U-turn left",
- "U-turn right": "U-turn right",
- "Walk": "Walk",
- "Cycle": "Cycle",
- "Car": "Car",
- "Bus": "Bus",
- "Subway": "Subway",
- "Train": "Train",
- "Ferry": "Ferry",
- "Light Rail": "Light Rail",
- "Cable Car": "Cable Car",
- "Funicular": "Funicular",
- "Aerial Tram": "Aerial Tram",
- "Airplane": "",
- "Bicycle rental station": "Bicycle rental station",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s",
- "Start on": "Start on",
- " heading ": " heading ",
- "to continue on": "to continue on",
- "on to": "on to",
- "first": "first",
- "second": "second",
- "third": "third",
- "fourth": "fourth",
- "fifth": "fifth",
- "sixth": "sixth",
- "seventh": "seventh",
- "eight": "eight",
- "ninth": "ninth",
- "tenth": "tenth",
- "%d hr": "%d hr",
- "%d hr_plural": "%d hrs",
- "%d min": "%d min",
- "%d min_plural": "%d mins",
- "%d sec": "%d sec",
- "%d sec_plural": "%d secs",
- "OK": "OK",
- "Minimize": "Minimize",
- "Bring to front": "Bring to front",
- "Send to back": "Send to back",
- "Route:": "Route:",
- "Variant:": "Variant:",
- "Stop Finder": "Stop Finder",
- "Feed": "Agency",
- "By ID": "By ID",
- "By Name": "By Name",
- "Search": "Search",
- "No Stops Found": "No Stops Found",
- "Date": "Date",
- "Find Stops": "Find Stops",
- "(No Stop Selected)": "(No Stop Selected)",
- "Block": "Block",
- "Recenter": "Recenter",
- "Viewer": "Viewer",
- "Quick": "Quick",
- "Flat": "Flat",
- "Bike Friendly": "Bike Friendly",
- "B": "B",
- "F": "F",
- "Q": "Q",
- "All Routes": "All Routes",
- "Save": "Save",
- "Close": "Close",
- "Travel Options": "Travel Options",
- "Geocoder": "Geocoder",
- "Arrive": "Arrive",
- "Now": "Now",
- "Wheelchair accessible trip:": "Wheelchair accessible trip:",
- "Show Filtered Itineraries:": "",
- "Travel by": "Travel by",
- "Preferred Routes": "Preferred Routes",
- "Edit": "Edit",
- "None": "None",
- "Weight": "Weight",
- "Banned routes": "Banned routes",
- "Use": "Use",
- "My Own Bike": "My Own Bike",
- "A Shared Bike": "A Shared Bike",
- "Plan Your Trip": "Plan Your Trip",
- "Additional parameters": "",
- " to _direction": " to ",
- " to _bus_direction": " to ",
- "Start_template": "Start",
- "Depart_itinerary": "Depart",
- "depart_itinerary": "depart",
- "Start_popup": "Start",
- "Depart_tripoptions": "Depart"
-}
\ No newline at end of file
+ "Transit": "Transit",
+ "Bus Only": "Bus Only",
+ "Rail Only": "Rail Only",
+ "Airplane Only": "Airplane Only",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "Bicycle Only",
+ "Bicycle & Transit": "Bicycle & Transit",
+ "Walk Only": "Walk Only",
+ "Car Only": "Car Only",
+ "Taxi": "",
+ "Park and Ride": "Park and Ride",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "Bike and Ride",
+ "Rented Bicycle": "Rented Bicycle",
+ "Transit & Rented Bicycle": "Transit & Rented Bicycle",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "Transit & Rented Bicycle",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Recenter Map Here",
+ "Zoom In": "Zoom In",
+ "Zoom Out": "Zoom Out",
+ "Minimize all": "Minimize all",
+ "Unminimize all": "Unminimize all",
+ "Stop Viewer": "Stop Viewer",
+ "Plan Trip": "Plan Trip",
+ "From Stop": "From Stop",
+ "To Stop": "To Stop",
+ "Routes Serving Stop": "Routes Serving Stop",
+ "Bike Share Planner": "Bike Share Planner",
+ "Trip Options": "Trip Options",
+ "PICK UP BIKE": "PICK UP BIKE",
+ "ALTERNATE PICKUP": "ALTERNATE PICKUP",
+ "DROP OFF BIKE": "DROP OFF BIKE",
+ "ALTERNATE DROP OFF": "ALTERNATE DROP OFF",
+ "BIKE STATION": "BIKE STATION",
+ "Station:": "Station:",
+ "%d bike available": "%d bike available",
+ "%d bike available_plural": "%d bikes available",
+ "%d dock available": "%d dock available",
+ "%d dock available_plural": "%d docks available",
+ "Recommended Pick Up:": "Recommended Pick Up:",
+ "Bicycle rental": "Bicycle rental",
+ "Recommended Drop Off:": "Recommended Drop Off:",
+ "Multimodal Trip Planner": "Multimodal Trip Planner",
+ "Itineraries": "Itineraries",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned": "%d Itinerary Returned",
+ "%d Itinerary Returned_plural": "%d Itineraries Returned",
+ "Link to search": "Link to search",
+ "Previous Page": "Previous",
+ "Next Page": "",
+ "CONTINUES AS": "CONTINUES AS",
+ "%d min late": "%d min late",
+ "%d min late_plural": "%d mins late",
+ "%d min early": "%d min early",
+ "%d min early_plural": "%d mins early",
+ "on time": "on time",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "End",
+ "Trip Summary": "Trip Summary",
+ "Travel": "Travel",
+ "Time": "Time",
+ "GenCost": "Weight/Cost",
+ "Total Walk": "Total Walk",
+ "Total Bike": "Total Bike",
+ "Total drive": "Total drive",
+ "Elevation Gained": "",
+ "Elevation Lost": "Elevation Lost",
+ "Transfers": "Transfers",
+ "Fare": "Fare",
+ "Valid": "Valid",
+ "Link to Itinerary": "Link to Itinerary",
+ "Print": "Print",
+ "Your Trip": "Your Trip",
+ "Email": "Email",
+ "every %d min": "every %d min",
+ "every %d min_plural": "every %d mins",
+ "Board at ": "Board at ",
+ "Stop": "Stop",
+ "Time in transit": "Time in transit",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "Trip Viewer",
+ "late as": "late as",
+ "Stay on board": "Stay on board",
+ "Alight": "Alight",
+ "at": "at",
+ "%(currency)s %(price)s": "%(currency)s %(price)s",
+ "Start: %(location)s at %(time_date)s": "Start: %(location)s at %(time_date)s",
+ "Board": "Board",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s Stop ID #%(stop_id)s),",
+ "End: %(location)s at %(time_date)s": "End: %(location)s at %(time_date)s",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "\nView itinerary online:\n%(itinerary_link)s\n",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "We're sorry. The trip planner is temporarily unavailable. Please try again later.",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "Trip is not possible. You might be trying to plan a trip outside the map data boundary.",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.",
+ "The trip planner is taking way too long to process your request. Please try again later.": "The trip planner is taking way too long to process your request. Please try again later.",
+ "The request has errors that the server is not willing or able to process.": "The request has errors that the server is not willing or able to process.",
+ "Origin is unknown. Can you be a bit more descriptive?": "Origin is unknown. Can you be a bit more descriptive?",
+ "Destination is unknown. Can you be a bit more descriptive?": "Destination is unknown. Can you be a bit more descriptive?",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "Both origin and destination are unknown. Can you be a bit more descriptive?",
+ "Both origin and destination are not wheelchair accessible": "Both origin and destination are not wheelchair accessible",
+ "Origin is within a trivial distance of the destination.": "Origin is within a trivial distance of the destination.",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Both origin and destination are ambiguous. Please select from the following options, or be more specific.",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set",
+ "Set as Start Location": "Set as Start Location",
+ "Set as End Location": "Set as End Location",
+ "Destination": "Destination",
+ "Error %(error_id)d": "Error %(error_id)d",
+ "No Trip Found": "No Trip Found",
+ "Your %(bike_share_name)s route": "Your %(bike_share_name)s route",
+ "Your bike route": "Your bike route",
+ "Walk to the %(bike_share_name)s dock.": "Walk to the %(bike_share_name)s dock.",
+ "Walk from the %(bike_share_name)s dock to your destination.": "Walk from the %(bike_share_name)s dock to your destination.",
+ "Your walk route": "Your walk route",
+ "Your route using the scooter": "",
+ "Your driving route": "Your bike route",
+ "north": "north",
+ "northeast": "northeast",
+ "east": "east",
+ "southeast": "southeast",
+ "south": "south",
+ "southwest": "southwest",
+ "west": "west",
+ "northwest": "northwest",
+ "hard left": "hard left",
+ "left": "left",
+ "slight left": "slight left",
+ "continue": "continue",
+ "slight right": "slight right",
+ "right": "right",
+ "hard right": "hard right",
+ "elevator": "elevator",
+ "U-turn left": "U-turn left",
+ "U-turn right": "U-turn right",
+ "Walk": "Walk",
+ "Cycle": "Cycle",
+ "Car": "Car",
+ "Bus": "Bus",
+ "Subway": "Subway",
+ "Train": "Train",
+ "Ferry": "Ferry",
+ "Light Rail": "Light Rail",
+ "Cable Car": "Cable Car",
+ "Funicular": "Funicular",
+ "Aerial Tram": "Aerial Tram",
+ "Airplane": "",
+ "Bicycle rental station": "Bicycle rental station",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s",
+ "Start on": "Start on",
+ " heading ": " heading ",
+ "to continue on": "to continue on",
+ "on to": "on to",
+ "first": "first",
+ "second": "second",
+ "third": "third",
+ "fourth": "fourth",
+ "fifth": "fifth",
+ "sixth": "sixth",
+ "seventh": "seventh",
+ "eight": "eight",
+ "ninth": "ninth",
+ "tenth": "tenth",
+ "%d hr": "%d hr",
+ "%d hr_plural": "%d hrs",
+ "%d min": "%d min",
+ "%d min_plural": "%d mins",
+ "%d sec": "%d sec",
+ "%d sec_plural": "%d secs",
+ "OK": "OK",
+ "Minimize": "Minimize",
+ "Bring to front": "Bring to front",
+ "Send to back": "Send to back",
+ "Route:": "Route:",
+ "Variant:": "Variant:",
+ "Stop Finder": "Stop Finder",
+ "Feed": "Agency",
+ "By ID": "By ID",
+ "By Name": "By Name",
+ "Search": "Search",
+ "No Stops Found": "No Stops Found",
+ "Date": "Date",
+ "Find Stops": "Find Stops",
+ "(No Stop Selected)": "(No Stop Selected)",
+ "Block": "Block",
+ "Recenter": "Recenter",
+ "Viewer": "Viewer",
+ "Quick": "Quick",
+ "Flat": "Flat",
+ "Bike Friendly": "Bike Friendly",
+ "B": "B",
+ "F": "F",
+ "Q": "Q",
+ "All Routes": "All Routes",
+ "Save": "Save",
+ "Close": "Close",
+ "Travel Options": "Travel Options",
+ "Geocoder": "Geocoder",
+ "Arrive": "Arrive",
+ "Now": "Now",
+ "Wheelchair accessible trip:": "Wheelchair accessible trip:",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Travel by",
+ "Preferred Routes": "Preferred Routes",
+ "Edit": "Edit",
+ "None": "None",
+ "Weight": "Weight",
+ "Banned routes": "Banned routes",
+ "Use": "Use",
+ "My Own Bike": "My Own Bike",
+ "A Shared Bike": "A Shared Bike",
+ "Plan Your Trip": "Plan Your Trip",
+ "Additional parameters": "",
+ " to _direction": " to ",
+ " to _bus_direction": " to ",
+ "Start_template": "Start",
+ "Depart_itinerary": "Depart",
+ "depart_itinerary": "depart",
+ "Start_popup": "Start",
+ "Depart_tripoptions": "Depart"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/es.json b/application/src/client/classic-debug/js/otp/locale/es.json
index fca9c112411..7909780d938 100644
--- a/application/src/client/classic-debug/js/otp/locale/es.json
+++ b/application/src/client/classic-debug/js/otp/locale/es.json
@@ -1,238 +1,238 @@
{
- "Transit": "Transporte Público",
- "Bus Only": "Sólo autobús",
- "Rail Only": "Sólo tren",
- "Airplane Only": "",
- "Transit, No Airplane": "",
- "Bicycle Only": "Sólo bicicletas",
- "Bicycle & Transit": "Bicicleta y Transporte Público",
- "Walk Only": "Sólo a pie",
- "Car Only": "Comienza en",
- "Taxi": "",
- "Park and Ride": "Aparcar y Transporte Público",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "Bicicleta y Transporte Público",
- "Rented Bicycle": "Alquiler bicicleta",
- "Transit & Rented Bicycle": "Transporte Público y Alquiler de bicicleta",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "Transporte Público y Alquiler de bicicleta",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Centrar Mapa Aquí",
- "Zoom In": "Acercar",
- "Zoom Out": "Alejar",
- "Minimize all": "Minimizar todo",
- "Unminimize all": "Ampliar todo",
- "Stop Viewer": "Visor de parada",
- "Plan Trip": "Calcular viaje",
- "From Stop": "Desde parada",
- "To Stop": "Hasta parada",
- "Routes Serving Stop": "Rutas por la parada",
- "Bike Share Planner": "Planificador de Bicicleta Compartida",
- "Trip Options": "Opciones de viaje",
- "PICK UP BIKE": "Recogida de bicicleta",
- "ALTERNATE PICKUP": "Recogida alternativa",
- "DROP OFF BIKE": "DEVOLUCIÓN DE BICICLETA",
- "ALTERNATE DROP OFF": "DEVOLUCIÓN DE BICICLETA ALTERNATIVA",
- "BIKE STATION": "Estación de bicicleta",
- "Station:": "Estación:",
- "%d bike available": "%d bike available",
- "%d bike available_plural": "%d bikes available",
- "%d dock available": "%d dock available",
- "%d dock available_plural": "%d docks available",
- "Recommended Pick Up:": "Recogida recomendada:",
- "Bicycle rental": "alquiler de bicicleta",
- "Recommended Drop Off:": "Devolución recomendada:",
- "Multimodal Trip Planner": "Planificador multimodo",
- "Itineraries": "Rutas",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned": "%d Ruta encontrada",
- "%d Itinerary Returned_plural": "%d Rutas encontradas",
- "Link to search": "Enlace a búsqueda",
- "Previous Page": "Anterior",
- "Next Page": "",
- "CONTINUES AS": "CONTINÚA COMO",
- "%d min late": "%d min tarde",
- "%d min late_plural": "%d mins tarde",
- "%d min early": "%d min early",
- "%d min early_plural": "%d mins early",
- "on time": "puntual",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "Fin",
- "Trip Summary": "Resumen de la ruta",
- "Travel": "Viaje",
- "Time": "Duración",
- "GenCost": "",
- "Total Walk": "Total a pie",
- "Total Bike": "Total en bicicleta",
- "Total drive": "",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "Transbordos",
- "Fare": "Ticket",
- "Valid": "Válido",
- "Link to Itinerary": "Enlace a ruta",
- "Print": "Imprimir",
- "Your Trip": "Tu Viaje",
- "Email": "Email",
- "every %d min": "cada %d min",
- "every %d min_plural": "cada %d mins",
- "Board at ": "Desde ",
- "Stop": "Parada",
- "Time in transit": "Durante",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "Visor de ruta",
- "late as": "no más tarde que",
- "Stay on board": "mantente montado",
- "Alight": "hasta ",
- "at": "en",
- "%(currency)s %(price)s": "%(currency)s %(price)s",
- "Start: %(location)s at %(time_date)s": "Comienza: %(location)s a las %(time_date)s",
- "Board": "Toma",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s ID Parada #%(stop_id)s),",
- "End: %(location)s at %(time_date)s": "Finaliza: %(location)s a las %(time_date)s",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "\nVer ruta online:\n%(itinerary_link)s\n",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Lo sentimos. El planificador de ruta está fuera de servicio temporalmente. Inténtelo más tarde.",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Tiempos no disponibles. La información disponible podría no ser válida para la fecha actual o no hay rutas disponibles para tu viaje.",
- "The trip planner is taking way too long to process your request. Please try again later.": "El planificador de rutas está tardando demasiado. Por favor, inténtalo más tarde.",
- "The request has errors that the server is not willing or able to process.": "Error en la petición, el server no puede procesar la información.",
- "Origin is unknown. Can you be a bit more descriptive?": "Origen desconocido. ¿Puedes ser un poco más descriptivo?",
- "Destination is unknown. Can you be a bit more descriptive?": "Destino desconocido. ¿Puedes ser un poco más descriptivo?",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "Origen y destino desconocidos ¿Puedes ser un poco más descriptivo?",
- "Both origin and destination are not wheelchair accessible": "Origen y destino no son accesibles a silla de ruedas.",
- "Origin is within a trivial distance of the destination.": "Origen y destino están demasiado cerca.",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "El planificador de rutas no está seguro de tu origen. Por favor, seleccione una de las siguientes opciones o introduzca un origen más exacto.",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "El planificador de rutas no está seguro de tu destino. Por favor, seleccione una de las siguientes opciones o introduzca un destino más exacto.",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Origen y destino son ambiguos. Por favor, seleccione una de las siguientes opciones o introduzca un destino más exacto.",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "El triángulo de Seguridad, Llano y Tiempo debe ser seleccionado si está disponible.",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "El valor del triángulo de Seguridad, Llano y Tiempo debe sumar 1.",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Si el triángulo de Seguridad, Llano y Tiempo está disponible, debe ser un TRIÁNGULO.",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Si el tipo de optimización es triángulo, los factores de Seguridad, Llano y Tiempo tienen que estar seleccionados.",
- "Set as Start Location": "Ruta desde aquí",
- "Set as End Location": "Ruta hacia aquí",
- "Destination": "Fin",
- "Error %(error_id)d": "Error %(error_id)d",
- "No Trip Found": "Viaje no encontrado",
- "Your %(bike_share_name)s route": "Tu ruta %(bike_share_name)s",
- "Your bike route": "Tu ruta en bicicleta",
- "Walk to the %(bike_share_name)s dock.": "Camina hacia la estación %(bike_share_name)s.",
- "Walk from the %(bike_share_name)s dock to your destination.": "Camina desde la estación %(bike_share_name)s hacia tu destino.",
- "Your walk route": "Tu ruta a pie",
- "Your route using the scooter": "",
- "Your driving route": "Tu ruta en bicicleta",
- "north": "Norte",
- "northeast": "Nordeste",
- "east": "Este",
- "southeast": "Sureste",
- "south": "Sur",
- "southwest": "Suroeste",
- "west": "Oeste",
- "northwest": "Noroeste",
- "hard left": "Izquierda fuerte",
- "left": "izquierda",
- "slight left": "Izquierda suave",
- "continue": "continúa",
- "slight right": "Derecha suave",
- "right": "derecha",
- "hard right": "Derecha fuerte",
- "elevator": "ascensor",
- "U-turn left": "Gira a la izquierda",
- "U-turn right": "Gira a la derecha",
- "Walk": "Camina",
- "Cycle": "Bicicleta",
- "Car": "Coche",
- "Bus": "Autobús",
- "Subway": "Metro",
- "Train": "Tren",
- "Ferry": "Barco",
- "Light Rail": "Tranvía",
- "Cable Car": "Bus Tranvía",
- "Funicular": "Funicular",
- "Aerial Tram": "Funicular",
- "Airplane": "",
- "Bicycle rental station": "estación de alquiler de bicicleta",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Toma la rotonda sentido contrario a las agujas del reloj hasta la %(ordinal_exit_number)s salida dirección %(street_name)s",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Toma la rotonda sentido contrario a las agujas del reloj hasta la %(ordinal_exit_number)s salida hacia %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Toma la rotonda sentido a las agujas del reloj hasta la %(ordinal_exit_number)s salida dirección %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Toma la rotonda sentido a las agujas del reloj hasta la %(ordinal_exit_number)s salida hacia %(street_name)s",
- "Start on": "Comienza en",
- " heading ": " dirección ",
- "to continue on": "hacia",
- "on to": "dirección",
- "first": "primera",
- "second": "segunda",
- "third": "tercera",
- "fourth": "cuarta",
- "fifth": "quinta",
- "sixth": "sexta",
- "seventh": "séptima",
- "eight": "octava",
- "ninth": "novena",
- "tenth": "décima",
- "%d hr": "%d hr",
- "%d hr_plural": "%d hrs",
- "%d min": "%d min",
- "%d min_plural": "%d mins",
- "%d sec": "%d seg",
- "%d sec_plural": "%d segs",
- "OK": "Vale",
- "Minimize": "Minimizar",
- "Bring to front": "Traer al frente",
- "Send to back": "Mandar al fondo",
- "Route:": "Línea:",
- "Variant:": "Variante:",
- "Stop Finder": "Buscador de paradas",
- "Feed": "Compañía",
- "By ID": "Número:",
- "By Name": "Nombre:",
- "Search": "Buscar",
- "No Stops Found": "Paradas no encontradas",
- "Date": "Fecha",
- "Find Stops": "Buscar paradas",
- "(No Stop Selected)": "(Sin parada seleccionada)",
- "Block": "Transbordo sin cambio de vehículo",
- "Recenter": "Centrar",
- "Viewer": "Visor",
- "Quick": "Rápido",
- "Flat": "Sin cuestas",
- "Bike Friendly": "Adaptado a bicicleta",
- "B": "B",
- "F": "P",
- "Q": "R",
- "All Routes": "Todas las líneas",
- "Save": "Guardar",
- "Close": "Cerrar",
- "Travel Options": "Opciones de viaje",
- "Geocoder": "Geocoder",
- "Arrive": "Llegar a las",
- "Now": "Ahora",
- "Wheelchair accessible trip:": "Ruta accesible a silla de ruedas:",
- "Show Filtered Itineraries:": "",
- "Travel by": "Viajar en",
- "Preferred Routes": "Líneas favoritas",
- "Edit": "Editar",
- "None": "Niguna",
- "Weight": "Prioridad",
- "Banned routes": "Líneas prohibidas",
- "Use": "Usar",
- "My Own Bike": "Mi propia bicileta",
- "A Shared Bike": "Una bicicleta compartida",
- "Plan Your Trip": "Calcular Viaje",
- "Additional parameters": "",
- " to _direction": " dirección ",
- " to _bus_direction": " dirección ",
- "Start_template": "Inicio",
- "Depart_itinerary": "Comienza",
- "depart_itinerary": "Comienza",
- "Start_popup": "Inicio",
- "Depart_tripoptions": "Salir a las"
-}
\ No newline at end of file
+ "Transit": "Transporte Público",
+ "Bus Only": "Sólo autobús",
+ "Rail Only": "Sólo tren",
+ "Airplane Only": "",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "Sólo bicicletas",
+ "Bicycle & Transit": "Bicicleta y Transporte Público",
+ "Walk Only": "Sólo a pie",
+ "Car Only": "Comienza en",
+ "Taxi": "",
+ "Park and Ride": "Aparcar y Transporte Público",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "Bicicleta y Transporte Público",
+ "Rented Bicycle": "Alquiler bicicleta",
+ "Transit & Rented Bicycle": "Transporte Público y Alquiler de bicicleta",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "Transporte Público y Alquiler de bicicleta",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Centrar Mapa Aquí",
+ "Zoom In": "Acercar",
+ "Zoom Out": "Alejar",
+ "Minimize all": "Minimizar todo",
+ "Unminimize all": "Ampliar todo",
+ "Stop Viewer": "Visor de parada",
+ "Plan Trip": "Calcular viaje",
+ "From Stop": "Desde parada",
+ "To Stop": "Hasta parada",
+ "Routes Serving Stop": "Rutas por la parada",
+ "Bike Share Planner": "Planificador de Bicicleta Compartida",
+ "Trip Options": "Opciones de viaje",
+ "PICK UP BIKE": "Recogida de bicicleta",
+ "ALTERNATE PICKUP": "Recogida alternativa",
+ "DROP OFF BIKE": "DEVOLUCIÓN DE BICICLETA",
+ "ALTERNATE DROP OFF": "DEVOLUCIÓN DE BICICLETA ALTERNATIVA",
+ "BIKE STATION": "Estación de bicicleta",
+ "Station:": "Estación:",
+ "%d bike available": "%d bike available",
+ "%d bike available_plural": "%d bikes available",
+ "%d dock available": "%d dock available",
+ "%d dock available_plural": "%d docks available",
+ "Recommended Pick Up:": "Recogida recomendada:",
+ "Bicycle rental": "alquiler de bicicleta",
+ "Recommended Drop Off:": "Devolución recomendada:",
+ "Multimodal Trip Planner": "Planificador multimodo",
+ "Itineraries": "Rutas",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned": "%d Ruta encontrada",
+ "%d Itinerary Returned_plural": "%d Rutas encontradas",
+ "Link to search": "Enlace a búsqueda",
+ "Previous Page": "Anterior",
+ "Next Page": "",
+ "CONTINUES AS": "CONTINÚA COMO",
+ "%d min late": "%d min tarde",
+ "%d min late_plural": "%d mins tarde",
+ "%d min early": "%d min early",
+ "%d min early_plural": "%d mins early",
+ "on time": "puntual",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "Fin",
+ "Trip Summary": "Resumen de la ruta",
+ "Travel": "Viaje",
+ "Time": "Duración",
+ "GenCost": "",
+ "Total Walk": "Total a pie",
+ "Total Bike": "Total en bicicleta",
+ "Total drive": "",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "Transbordos",
+ "Fare": "Ticket",
+ "Valid": "Válido",
+ "Link to Itinerary": "Enlace a ruta",
+ "Print": "Imprimir",
+ "Your Trip": "Tu Viaje",
+ "Email": "Email",
+ "every %d min": "cada %d min",
+ "every %d min_plural": "cada %d mins",
+ "Board at ": "Desde ",
+ "Stop": "Parada",
+ "Time in transit": "Durante",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "Visor de ruta",
+ "late as": "no más tarde que",
+ "Stay on board": "mantente montado",
+ "Alight": "hasta ",
+ "at": "en",
+ "%(currency)s %(price)s": "%(currency)s %(price)s",
+ "Start: %(location)s at %(time_date)s": "Comienza: %(location)s a las %(time_date)s",
+ "Board": "Toma",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s ID Parada #%(stop_id)s),",
+ "End: %(location)s at %(time_date)s": "Finaliza: %(location)s a las %(time_date)s",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "\nVer ruta online:\n%(itinerary_link)s\n",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Lo sentimos. El planificador de ruta está fuera de servicio temporalmente. Inténtelo más tarde.",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Tiempos no disponibles. La información disponible podría no ser válida para la fecha actual o no hay rutas disponibles para tu viaje.",
+ "The trip planner is taking way too long to process your request. Please try again later.": "El planificador de rutas está tardando demasiado. Por favor, inténtalo más tarde.",
+ "The request has errors that the server is not willing or able to process.": "Error en la petición, el server no puede procesar la información.",
+ "Origin is unknown. Can you be a bit more descriptive?": "Origen desconocido. ¿Puedes ser un poco más descriptivo?",
+ "Destination is unknown. Can you be a bit more descriptive?": "Destino desconocido. ¿Puedes ser un poco más descriptivo?",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "Origen y destino desconocidos ¿Puedes ser un poco más descriptivo?",
+ "Both origin and destination are not wheelchair accessible": "Origen y destino no son accesibles a silla de ruedas.",
+ "Origin is within a trivial distance of the destination.": "Origen y destino están demasiado cerca.",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "El planificador de rutas no está seguro de tu origen. Por favor, seleccione una de las siguientes opciones o introduzca un origen más exacto.",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "El planificador de rutas no está seguro de tu destino. Por favor, seleccione una de las siguientes opciones o introduzca un destino más exacto.",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Origen y destino son ambiguos. Por favor, seleccione una de las siguientes opciones o introduzca un destino más exacto.",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "El triángulo de Seguridad, Llano y Tiempo debe ser seleccionado si está disponible.",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "El valor del triángulo de Seguridad, Llano y Tiempo debe sumar 1.",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Si el triángulo de Seguridad, Llano y Tiempo está disponible, debe ser un TRIÁNGULO.",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Si el tipo de optimización es triángulo, los factores de Seguridad, Llano y Tiempo tienen que estar seleccionados.",
+ "Set as Start Location": "Ruta desde aquí",
+ "Set as End Location": "Ruta hacia aquí",
+ "Destination": "Fin",
+ "Error %(error_id)d": "Error %(error_id)d",
+ "No Trip Found": "Viaje no encontrado",
+ "Your %(bike_share_name)s route": "Tu ruta %(bike_share_name)s",
+ "Your bike route": "Tu ruta en bicicleta",
+ "Walk to the %(bike_share_name)s dock.": "Camina hacia la estación %(bike_share_name)s.",
+ "Walk from the %(bike_share_name)s dock to your destination.": "Camina desde la estación %(bike_share_name)s hacia tu destino.",
+ "Your walk route": "Tu ruta a pie",
+ "Your route using the scooter": "",
+ "Your driving route": "Tu ruta en bicicleta",
+ "north": "Norte",
+ "northeast": "Nordeste",
+ "east": "Este",
+ "southeast": "Sureste",
+ "south": "Sur",
+ "southwest": "Suroeste",
+ "west": "Oeste",
+ "northwest": "Noroeste",
+ "hard left": "Izquierda fuerte",
+ "left": "izquierda",
+ "slight left": "Izquierda suave",
+ "continue": "continúa",
+ "slight right": "Derecha suave",
+ "right": "derecha",
+ "hard right": "Derecha fuerte",
+ "elevator": "ascensor",
+ "U-turn left": "Gira a la izquierda",
+ "U-turn right": "Gira a la derecha",
+ "Walk": "Camina",
+ "Cycle": "Bicicleta",
+ "Car": "Coche",
+ "Bus": "Autobús",
+ "Subway": "Metro",
+ "Train": "Tren",
+ "Ferry": "Barco",
+ "Light Rail": "Tranvía",
+ "Cable Car": "Bus Tranvía",
+ "Funicular": "Funicular",
+ "Aerial Tram": "Funicular",
+ "Airplane": "",
+ "Bicycle rental station": "estación de alquiler de bicicleta",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Toma la rotonda sentido contrario a las agujas del reloj hasta la %(ordinal_exit_number)s salida dirección %(street_name)s",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Toma la rotonda sentido contrario a las agujas del reloj hasta la %(ordinal_exit_number)s salida hacia %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Toma la rotonda sentido a las agujas del reloj hasta la %(ordinal_exit_number)s salida dirección %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Toma la rotonda sentido a las agujas del reloj hasta la %(ordinal_exit_number)s salida hacia %(street_name)s",
+ "Start on": "Comienza en",
+ " heading ": " dirección ",
+ "to continue on": "hacia",
+ "on to": "dirección",
+ "first": "primera",
+ "second": "segunda",
+ "third": "tercera",
+ "fourth": "cuarta",
+ "fifth": "quinta",
+ "sixth": "sexta",
+ "seventh": "séptima",
+ "eight": "octava",
+ "ninth": "novena",
+ "tenth": "décima",
+ "%d hr": "%d hr",
+ "%d hr_plural": "%d hrs",
+ "%d min": "%d min",
+ "%d min_plural": "%d mins",
+ "%d sec": "%d seg",
+ "%d sec_plural": "%d segs",
+ "OK": "Vale",
+ "Minimize": "Minimizar",
+ "Bring to front": "Traer al frente",
+ "Send to back": "Mandar al fondo",
+ "Route:": "Línea:",
+ "Variant:": "Variante:",
+ "Stop Finder": "Buscador de paradas",
+ "Feed": "Compañía",
+ "By ID": "Número:",
+ "By Name": "Nombre:",
+ "Search": "Buscar",
+ "No Stops Found": "Paradas no encontradas",
+ "Date": "Fecha",
+ "Find Stops": "Buscar paradas",
+ "(No Stop Selected)": "(Sin parada seleccionada)",
+ "Block": "Transbordo sin cambio de vehículo",
+ "Recenter": "Centrar",
+ "Viewer": "Visor",
+ "Quick": "Rápido",
+ "Flat": "Sin cuestas",
+ "Bike Friendly": "Adaptado a bicicleta",
+ "B": "B",
+ "F": "P",
+ "Q": "R",
+ "All Routes": "Todas las líneas",
+ "Save": "Guardar",
+ "Close": "Cerrar",
+ "Travel Options": "Opciones de viaje",
+ "Geocoder": "Geocoder",
+ "Arrive": "Llegar a las",
+ "Now": "Ahora",
+ "Wheelchair accessible trip:": "Ruta accesible a silla de ruedas:",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Viajar en",
+ "Preferred Routes": "Líneas favoritas",
+ "Edit": "Editar",
+ "None": "Niguna",
+ "Weight": "Prioridad",
+ "Banned routes": "Líneas prohibidas",
+ "Use": "Usar",
+ "My Own Bike": "Mi propia bicileta",
+ "A Shared Bike": "Una bicicleta compartida",
+ "Plan Your Trip": "Calcular Viaje",
+ "Additional parameters": "",
+ " to _direction": " dirección ",
+ " to _bus_direction": " dirección ",
+ "Start_template": "Inicio",
+ "Depart_itinerary": "Comienza",
+ "depart_itinerary": "Comienza",
+ "Start_popup": "Inicio",
+ "Depart_tripoptions": "Salir a las"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/fr.json b/application/src/client/classic-debug/js/otp/locale/fr.json
index 53b4d78be17..ced9f30440d 100644
--- a/application/src/client/classic-debug/js/otp/locale/fr.json
+++ b/application/src/client/classic-debug/js/otp/locale/fr.json
@@ -1,238 +1,238 @@
{
- "Transit": "Transports en commun",
- "Bus Only": "Bus uniquement",
- "Rail Only": "Ferré uniquement",
- "Airplane Only": "",
- "Transit, No Airplane": "",
- "Bicycle Only": "Vélo uniquement",
- "Bicycle & Transit": "Transports en commun + Vélo",
- "Walk Only": "Marche seulement",
- "Car Only": "Partir de",
- "Taxi": "",
- "Park and Ride": "Parc Relais",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "Parc Relais Vélo",
- "Rented Bicycle": "Vélo Libre Service",
- "Transit & Rented Bicycle": "Transports en commun et Vélo Libre Service",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "Transports en commun et Vélo Libre Service",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Centrer la carte ici",
- "Zoom In": "Zoomer",
- "Zoom Out": "Dézoomer",
- "Minimize all": "Tout minimiser",
- "Unminimize all": "Tout restaurer",
- "Stop Viewer": "Visualisateur d'arrêt",
- "Plan Trip": "Organiser un voyage",
- "From Stop": "De l'arrêt",
- "To Stop": "À l'arrêt",
- "Routes Serving Stop": "Lignes desservant l'arrêt",
- "Bike Share Planner": "Organisation en Vélo Libre Service",
- "Trip Options": "Paramètres de l'itinéraire",
- "PICK UP BIKE": "Récupérer un vélo",
- "ALTERNATE PICKUP": "Alternative de récupération de vélo",
- "DROP OFF BIKE": "Déposer le vélo",
- "ALTERNATE DROP OFF": "Alternative de dépôt de vélo",
- "BIKE STATION": "Station de vélos",
- "Station:": "Station :",
- "%d bike available": "%d vélo disponible",
- "%d bike available_plural": "%d vélos disponibles",
- "%d dock available": "%d emplacements disponibles",
- "%d dock available_plural": "%d emplacements disponibles",
- "Recommended Pick Up:": "Station de récupération de vélo recommandée :",
- "Bicycle rental": "Station de vélo libre service",
- "Recommended Drop Off:": "Station de dépôt de vélo recommandée",
- "Multimodal Trip Planner": "Planificateur d'itinéraires multimodal",
- "Itineraries": "Itinéraires",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned": "%d itinéraire trouvé",
- "%d Itinerary Returned_plural": "%d itinéraires trouvés",
- "Link to search": "Lien vers cette recherche",
- "Previous Page": "Précédent",
- "Next Page": "",
- "CONTINUES AS": "Continue comme",
- "%d min late": "en retard de %d min",
- "%d min late_plural": "en retard de %d mins",
- "%d min early": "en avance de %d min",
- "%d min early_plural": "en avance de %d mins",
- "on time": "à l'heure",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "Arrivée",
- "Trip Summary": "Résumé du voyage",
- "Travel": "Voyage",
- "Time": "Durée",
- "GenCost": "",
- "Total Walk": "Total de marche",
- "Total Bike": "Total de vélo",
- "Total drive": "",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "correspondances",
- "Fare": "Tarif",
- "Valid": "Valide le",
- "Link to Itinerary": "Lien vers l'itinéraire",
- "Print": "Imprimer",
- "Your Trip": "Votre voyage",
- "Email": "Courriel",
- "every %d min": "toutes les %d min",
- "every %d min_plural": "toutes les %d mins",
- "Board at ": "Montez à ",
- "Stop": "Arrêt",
- "Time in transit": "Temps de correspondance",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "Visualisateur de voyage",
- "late as": "en retard à",
- "Stay on board": "rester à bord",
- "Alight": "Descendre",
- "at": "à",
- "%(currency)s %(price)s": "%(price)s %(currency)s",
- "Start: %(location)s at %(time_date)s": "Départ : %(location)s à %(time_date)s",
- "Board": "Monter",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "arrêt #%(stop_id)s) de (%(agency_id)s,",
- "End: %(location)s at %(time_date)s": "Arrivée : %(location)s à %(time_date)s",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "\nVoir l'itinéraire en ligne :\n%(itinerary_link)s\n",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Nous sommes désolé. Le planificateur de voyage est temporairement indisponible. Merci de réessayer plus tard.",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Aucune durée de voyage disponible. La date est peut être passée ou trop loin dans le futur, ou il n'y a peut être pas de transports en service pour votre trajet à l'heure choisie.",
- "The trip planner is taking way too long to process your request. Please try again later.": "Le planificateur de voyage prend largement trop de temps à étudier votre demande. Merci de réessayer plus tard.",
- "The request has errors that the server is not willing or able to process.": "La requête renvoie des erreurs que le serveur ne souhaite ou ne peut pas traiter.",
- "Origin is unknown. Can you be a bit more descriptive?": "L'origine est inconnue. Pouvez-vous être plus précis ?",
- "Destination is unknown. Can you be a bit more descriptive?": "La destination est inconnue. Pouvez-vous être plus précis ?",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "L'origine et la destination sont toutes deux inconnues. Pouvez-vous être plus précis ?",
- "Both origin and destination are not wheelchair accessible": "Ni l'origine ni la destination ne sont accessibles en fauteuil roulant",
- "Origin is within a trivial distance of the destination.": "L'origine est à une distance trop courte de la destination.",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "Le planificateur de voyage n'est pas sûr du lieu d'où vous voulez partir. Merci de le sélectionner parmi les options suivantes, ou d'être plus précis.",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "Le planificateur de voyage n'est pas sûr du lieu où vous désirez vous rendre. Merci de le sélectionner parmi les options suivantes, ou d'être plus précis.",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "L'origine et la destination sont toutes deux ambigües. Merci de les sélectionner parmi les options suivantes, ou d'être plus précis.",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "Toutes les options triangleSafetyFactor, triangleSlopeFactor, et triangleTimeFactor doivent être paramétrées si l'une d'elles l'est",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "Les valeurs de triangleSafetyFactor, triangleSlopeFactor, et triangleTimeFactor doivent avoir pour addition 1",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Si triangleSafetyFactor, triangleSlopeFactor, et triangleTimeFactor sont fournis, OptimizeType doit être TRIANGLE",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Si OptimizeType est TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, et triangleTimeFactor doivent être paramétrées",
- "Set as Start Location": "Définir comme point de départ",
- "Set as End Location": "Définir comme point d'arrivée",
- "Destination": "Destination",
- "Error %(error_id)d": "Erreur %(error_id)d",
- "No Trip Found": "Aucun voyage trouvé",
- "Your %(bike_share_name)s route": "Votre itinéraire en %(bike_share_name)s",
- "Your bike route": "Votre itinéraire en vélo",
- "Walk to the %(bike_share_name)s dock.": "Marcher jusqu'à l'emplacement %(bike_share_name)s.",
- "Walk from the %(bike_share_name)s dock to your destination.": "Marcher de l'emplacement %(bike_share_name)s jusqu'à votre destination",
- "Your walk route": "Votre itinéraire à pieds",
- "Your route using the scooter": "",
- "Your driving route": "Votre itinéraire en vélo",
- "north": "nord",
- "northeast": "nord-est",
- "east": "est",
- "southeast": "sud-est",
- "south": "sud",
- "southwest": "sud-ouest",
- "west": "ouest",
- "northwest": "nord-ouest",
- "hard left": "complètement à gauche",
- "left": "à gauche",
- "slight left": "légèrement à gauche",
- "continue": "continuer",
- "slight right": "légèrement à droite",
- "right": "à droite",
- "hard right": "complètement à droite",
- "elevator": "ascenseur",
- "U-turn left": "virage en U à gauche",
- "U-turn right": "virage en U à droite",
- "Walk": "Marche à pied",
- "Cycle": "Vélo",
- "Car": "Voiture",
- "Bus": "Bus",
- "Subway": "Métro",
- "Train": "Train",
- "Ferry": "Ferry",
- "Light Rail": "Tram ou Trolley",
- "Cable Car": "Tramway funiculaire",
- "Funicular": "Funiculaire",
- "Aerial Tram": "Téléphérique",
- "Airplane": "",
- "Bicycle rental station": "Station de vélo libre service",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendre le rond-point dans le sens contraire des aiguilles d'une montre jusqu'à la %(ordinal_exit_number)s sortie sur %(street_name)s",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendre le rond-point dans le sens contraire des aiguilles d'une montre jusqu'à la %(ordinal_exit_number)s sortie sur %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendre le rond-point dans le sens des aiguilles d'une montre jusqu'à la %(ordinal_exit_number)s sortie sur %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendre le rond-point dans le sens des aiguilles d'une montre jusqu'à la %(ordinal_exit_number)s sortie sur %(street_name)s",
- "Start on": "Partir de",
- " heading ": " vers le ",
- "to continue on": "pour continuer sur",
- "on to": "sur",
- "first": "première",
- "second": "seconde",
- "third": "troisième",
- "fourth": "quatrième",
- "fifth": "cinquième",
- "sixth": "sixième",
- "seventh": "septième",
- "eight": "huitième",
- "ninth": "neuvième",
- "tenth": "dixième",
- "%d hr": "%d h",
- "%d hr_plural": "%d h",
- "%d min": "%d min",
- "%d min_plural": "%d mins",
- "%d sec": "%d s",
- "%d sec_plural": "%d s",
- "OK": "OK",
- "Minimize": "Minimiser",
- "Bring to front": "Placer au dessus",
- "Send to back": "Placer en dessous",
- "Route:": "Ligne :",
- "Variant:": "Variante :",
- "Stop Finder": "Recherche d'arrêt",
- "Feed": "Transporteur",
- "By ID": "Par identifiant",
- "By Name": "Par nom",
- "Search": "Recherche",
- "No Stops Found": "Aucun arrêt trouvé",
- "Date": "Date",
- "Find Stops": "Trouver les arrêts",
- "(No Stop Selected)": "(Aucun arrêt sélectionné)",
- "Block": "Bloc",
- "Recenter": "Recentrer",
- "Viewer": "Visualisateur",
- "Quick": "Le plus Rapide",
- "Flat": "Le plus Plat",
- "Bike Friendly": "Adapté au vélo",
- "B": "A",
- "F": "P",
- "Q": "R",
- "All Routes": "Tous les itinéraires",
- "Save": "Sauvegarder",
- "Close": "Fermer",
- "Travel Options": "Paramètres de voyage",
- "Geocoder": "Géocodeur",
- "Arrive": "Arrivée",
- "Now": "Maintenant",
- "Wheelchair accessible trip:": "Accessible aux fauteuils roulants:",
- "Show Filtered Itineraries:": "",
- "Travel by": "Voyager par",
- "Preferred Routes": "Itinéraires préférés",
- "Edit": "Modifier",
- "None": "Aucune",
- "Weight": "Pondération",
- "Banned routes": "Itinéraires à éviter",
- "Use": "Utiliser",
- "My Own Bike": "mon propre vélo",
- "A Shared Bike": "un Vélo Libre Service",
- "Plan Your Trip": "Calculer votre itinéraire",
- "Additional parameters": "",
- " to _direction": " jusqu'à ",
- " to _bus_direction": " vers ",
- "Start_template": "Départ",
- "Depart_itinerary": "Départ",
- "depart_itinerary": "Départ",
- "Start_popup": "Départ",
- "Depart_tripoptions": "Départ"
-}
\ No newline at end of file
+ "Transit": "Transports en commun",
+ "Bus Only": "Bus uniquement",
+ "Rail Only": "Ferré uniquement",
+ "Airplane Only": "",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "Vélo uniquement",
+ "Bicycle & Transit": "Transports en commun + Vélo",
+ "Walk Only": "Marche seulement",
+ "Car Only": "Partir de",
+ "Taxi": "",
+ "Park and Ride": "Parc Relais",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "Parc Relais Vélo",
+ "Rented Bicycle": "Vélo Libre Service",
+ "Transit & Rented Bicycle": "Transports en commun et Vélo Libre Service",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "Transports en commun et Vélo Libre Service",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Centrer la carte ici",
+ "Zoom In": "Zoomer",
+ "Zoom Out": "Dézoomer",
+ "Minimize all": "Tout minimiser",
+ "Unminimize all": "Tout restaurer",
+ "Stop Viewer": "Visualisateur d'arrêt",
+ "Plan Trip": "Organiser un voyage",
+ "From Stop": "De l'arrêt",
+ "To Stop": "À l'arrêt",
+ "Routes Serving Stop": "Lignes desservant l'arrêt",
+ "Bike Share Planner": "Organisation en Vélo Libre Service",
+ "Trip Options": "Paramètres de l'itinéraire",
+ "PICK UP BIKE": "Récupérer un vélo",
+ "ALTERNATE PICKUP": "Alternative de récupération de vélo",
+ "DROP OFF BIKE": "Déposer le vélo",
+ "ALTERNATE DROP OFF": "Alternative de dépôt de vélo",
+ "BIKE STATION": "Station de vélos",
+ "Station:": "Station :",
+ "%d bike available": "%d vélo disponible",
+ "%d bike available_plural": "%d vélos disponibles",
+ "%d dock available": "%d emplacements disponibles",
+ "%d dock available_plural": "%d emplacements disponibles",
+ "Recommended Pick Up:": "Station de récupération de vélo recommandée :",
+ "Bicycle rental": "Station de vélo libre service",
+ "Recommended Drop Off:": "Station de dépôt de vélo recommandée",
+ "Multimodal Trip Planner": "Planificateur d'itinéraires multimodal",
+ "Itineraries": "Itinéraires",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned": "%d itinéraire trouvé",
+ "%d Itinerary Returned_plural": "%d itinéraires trouvés",
+ "Link to search": "Lien vers cette recherche",
+ "Previous Page": "Précédent",
+ "Next Page": "",
+ "CONTINUES AS": "Continue comme",
+ "%d min late": "en retard de %d min",
+ "%d min late_plural": "en retard de %d mins",
+ "%d min early": "en avance de %d min",
+ "%d min early_plural": "en avance de %d mins",
+ "on time": "à l'heure",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "Arrivée",
+ "Trip Summary": "Résumé du voyage",
+ "Travel": "Voyage",
+ "Time": "Durée",
+ "GenCost": "",
+ "Total Walk": "Total de marche",
+ "Total Bike": "Total de vélo",
+ "Total drive": "",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "correspondances",
+ "Fare": "Tarif",
+ "Valid": "Valide le",
+ "Link to Itinerary": "Lien vers l'itinéraire",
+ "Print": "Imprimer",
+ "Your Trip": "Votre voyage",
+ "Email": "Courriel",
+ "every %d min": "toutes les %d min",
+ "every %d min_plural": "toutes les %d mins",
+ "Board at ": "Montez à ",
+ "Stop": "Arrêt",
+ "Time in transit": "Temps de correspondance",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "Visualisateur de voyage",
+ "late as": "en retard à",
+ "Stay on board": "rester à bord",
+ "Alight": "Descendre",
+ "at": "à",
+ "%(currency)s %(price)s": "%(price)s %(currency)s",
+ "Start: %(location)s at %(time_date)s": "Départ : %(location)s à %(time_date)s",
+ "Board": "Monter",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "arrêt #%(stop_id)s) de (%(agency_id)s,",
+ "End: %(location)s at %(time_date)s": "Arrivée : %(location)s à %(time_date)s",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "\nVoir l'itinéraire en ligne :\n%(itinerary_link)s\n",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Nous sommes désolé. Le planificateur de voyage est temporairement indisponible. Merci de réessayer plus tard.",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Aucune durée de voyage disponible. La date est peut être passée ou trop loin dans le futur, ou il n'y a peut être pas de transports en service pour votre trajet à l'heure choisie.",
+ "The trip planner is taking way too long to process your request. Please try again later.": "Le planificateur de voyage prend largement trop de temps à étudier votre demande. Merci de réessayer plus tard.",
+ "The request has errors that the server is not willing or able to process.": "La requête renvoie des erreurs que le serveur ne souhaite ou ne peut pas traiter.",
+ "Origin is unknown. Can you be a bit more descriptive?": "L'origine est inconnue. Pouvez-vous être plus précis ?",
+ "Destination is unknown. Can you be a bit more descriptive?": "La destination est inconnue. Pouvez-vous être plus précis ?",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "L'origine et la destination sont toutes deux inconnues. Pouvez-vous être plus précis ?",
+ "Both origin and destination are not wheelchair accessible": "Ni l'origine ni la destination ne sont accessibles en fauteuil roulant",
+ "Origin is within a trivial distance of the destination.": "L'origine est à une distance trop courte de la destination.",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "Le planificateur de voyage n'est pas sûr du lieu d'où vous voulez partir. Merci de le sélectionner parmi les options suivantes, ou d'être plus précis.",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "Le planificateur de voyage n'est pas sûr du lieu où vous désirez vous rendre. Merci de le sélectionner parmi les options suivantes, ou d'être plus précis.",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "L'origine et la destination sont toutes deux ambigües. Merci de les sélectionner parmi les options suivantes, ou d'être plus précis.",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "Toutes les options triangleSafetyFactor, triangleSlopeFactor, et triangleTimeFactor doivent être paramétrées si l'une d'elles l'est",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "Les valeurs de triangleSafetyFactor, triangleSlopeFactor, et triangleTimeFactor doivent avoir pour addition 1",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Si triangleSafetyFactor, triangleSlopeFactor, et triangleTimeFactor sont fournis, OptimizeType doit être TRIANGLE",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Si OptimizeType est TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, et triangleTimeFactor doivent être paramétrées",
+ "Set as Start Location": "Définir comme point de départ",
+ "Set as End Location": "Définir comme point d'arrivée",
+ "Destination": "Destination",
+ "Error %(error_id)d": "Erreur %(error_id)d",
+ "No Trip Found": "Aucun voyage trouvé",
+ "Your %(bike_share_name)s route": "Votre itinéraire en %(bike_share_name)s",
+ "Your bike route": "Votre itinéraire en vélo",
+ "Walk to the %(bike_share_name)s dock.": "Marcher jusqu'à l'emplacement %(bike_share_name)s.",
+ "Walk from the %(bike_share_name)s dock to your destination.": "Marcher de l'emplacement %(bike_share_name)s jusqu'à votre destination",
+ "Your walk route": "Votre itinéraire à pieds",
+ "Your route using the scooter": "",
+ "Your driving route": "Votre itinéraire en vélo",
+ "north": "nord",
+ "northeast": "nord-est",
+ "east": "est",
+ "southeast": "sud-est",
+ "south": "sud",
+ "southwest": "sud-ouest",
+ "west": "ouest",
+ "northwest": "nord-ouest",
+ "hard left": "complètement à gauche",
+ "left": "à gauche",
+ "slight left": "légèrement à gauche",
+ "continue": "continuer",
+ "slight right": "légèrement à droite",
+ "right": "à droite",
+ "hard right": "complètement à droite",
+ "elevator": "ascenseur",
+ "U-turn left": "virage en U à gauche",
+ "U-turn right": "virage en U à droite",
+ "Walk": "Marche à pied",
+ "Cycle": "Vélo",
+ "Car": "Voiture",
+ "Bus": "Bus",
+ "Subway": "Métro",
+ "Train": "Train",
+ "Ferry": "Ferry",
+ "Light Rail": "Tram ou Trolley",
+ "Cable Car": "Tramway funiculaire",
+ "Funicular": "Funiculaire",
+ "Aerial Tram": "Téléphérique",
+ "Airplane": "",
+ "Bicycle rental station": "Station de vélo libre service",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendre le rond-point dans le sens contraire des aiguilles d'une montre jusqu'à la %(ordinal_exit_number)s sortie sur %(street_name)s",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendre le rond-point dans le sens contraire des aiguilles d'une montre jusqu'à la %(ordinal_exit_number)s sortie sur %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendre le rond-point dans le sens des aiguilles d'une montre jusqu'à la %(ordinal_exit_number)s sortie sur %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendre le rond-point dans le sens des aiguilles d'une montre jusqu'à la %(ordinal_exit_number)s sortie sur %(street_name)s",
+ "Start on": "Partir de",
+ " heading ": " vers le ",
+ "to continue on": "pour continuer sur",
+ "on to": "sur",
+ "first": "première",
+ "second": "seconde",
+ "third": "troisième",
+ "fourth": "quatrième",
+ "fifth": "cinquième",
+ "sixth": "sixième",
+ "seventh": "septième",
+ "eight": "huitième",
+ "ninth": "neuvième",
+ "tenth": "dixième",
+ "%d hr": "%d h",
+ "%d hr_plural": "%d h",
+ "%d min": "%d min",
+ "%d min_plural": "%d mins",
+ "%d sec": "%d s",
+ "%d sec_plural": "%d s",
+ "OK": "OK",
+ "Minimize": "Minimiser",
+ "Bring to front": "Placer au dessus",
+ "Send to back": "Placer en dessous",
+ "Route:": "Ligne :",
+ "Variant:": "Variante :",
+ "Stop Finder": "Recherche d'arrêt",
+ "Feed": "Transporteur",
+ "By ID": "Par identifiant",
+ "By Name": "Par nom",
+ "Search": "Recherche",
+ "No Stops Found": "Aucun arrêt trouvé",
+ "Date": "Date",
+ "Find Stops": "Trouver les arrêts",
+ "(No Stop Selected)": "(Aucun arrêt sélectionné)",
+ "Block": "Bloc",
+ "Recenter": "Recentrer",
+ "Viewer": "Visualisateur",
+ "Quick": "Le plus Rapide",
+ "Flat": "Le plus Plat",
+ "Bike Friendly": "Adapté au vélo",
+ "B": "A",
+ "F": "P",
+ "Q": "R",
+ "All Routes": "Tous les itinéraires",
+ "Save": "Sauvegarder",
+ "Close": "Fermer",
+ "Travel Options": "Paramètres de voyage",
+ "Geocoder": "Géocodeur",
+ "Arrive": "Arrivée",
+ "Now": "Maintenant",
+ "Wheelchair accessible trip:": "Accessible aux fauteuils roulants:",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Voyager par",
+ "Preferred Routes": "Itinéraires préférés",
+ "Edit": "Modifier",
+ "None": "Aucune",
+ "Weight": "Pondération",
+ "Banned routes": "Itinéraires à éviter",
+ "Use": "Utiliser",
+ "My Own Bike": "mon propre vélo",
+ "A Shared Bike": "un Vélo Libre Service",
+ "Plan Your Trip": "Calculer votre itinéraire",
+ "Additional parameters": "",
+ " to _direction": " jusqu'à ",
+ " to _bus_direction": " vers ",
+ "Start_template": "Départ",
+ "Depart_itinerary": "Départ",
+ "depart_itinerary": "Départ",
+ "Start_popup": "Départ",
+ "Depart_tripoptions": "Départ"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/hu.json b/application/src/client/classic-debug/js/otp/locale/hu.json
index 1e1e666e19e..518dc407bc2 100644
--- a/application/src/client/classic-debug/js/otp/locale/hu.json
+++ b/application/src/client/classic-debug/js/otp/locale/hu.json
@@ -1,238 +1,238 @@
{
- "Transit": "Tömegközlekedés",
- "Bus Only": "Csak busz",
- "Rail Only": "Csak vasút",
- "Airplane Only": "Csak repülőgép",
- "Transit, No Airplane": "Tömegközlekedés, repülés nélkül",
- "Bicycle Only": "Csak kerékpár",
- "Bicycle & Transit": "Kerékpár & tömegközlekedés",
- "Walk Only": "Csak séta",
- "Car Only": "Csak autó",
- "Taxi": "Taxi",
- "Park and Ride": "P+R (Park & Ride)",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "B+R (Bike & Ride)",
- "Rented Bicycle": "Bérelt kerékpár",
- "Transit & Rented Bicycle": "Tömegközlekedés és bérelt kerékpár",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "Tömegközlekedés és bérelt kerékpár",
- "Transit with flex access": "Tömegközlekedés rugalmas indulással",
- "Transit with flex egress": "Tömegközlekedés rugalmas érkezéssel",
- "Transit with flex access and egress": "Tömegközlekedés rugalmas indulással és érkezéssel",
- "Direct flex search": "Közvetlen rugalmas keresés",
- "Recenter Map Here": "Legyen itt a térkép középpontja",
- "Zoom In": "Közelítés",
- "Zoom Out": "Távolítás",
- "Minimize all": "Minden kis méretűvé tétele",
- "Unminimize all": "Minden kis méretűvé tételének megszüntetése",
- "Stop Viewer": "Megállómegjelenítő",
- "Plan Trip": "Utazás tervezése",
- "From Stop": "Ettől a megállótól",
- "To Stop": "Eddig a megállóig",
- "Routes Serving Stop": "A megállót érintő járatok",
- "Bike Share Planner": "Kerékpármegosztó-tervező",
- "Trip Options": "Utazási beállítások",
- "PICK UP BIKE": "KERÉKPÁR FELVÉTELE",
- "ALTERNATE PICKUP": "MÁSIK FELVÉTELI HELY",
- "DROP OFF BIKE": "KERÉKPÁR LEADÁSA",
- "ALTERNATE DROP OFF": "MÁSIK LEADÁSI HELY",
- "BIKE STATION": "KERÉKPÁRÁLLOMÁS",
- "Station:": "Gyűjtőállomás:",
- "%d bike available": "%d kerékpár elérhető",
- "%d bike available_plural": "%d kerékpár elérhető",
- "%d dock available": "%d dokkolóállás",
- "%d dock available_plural": "%d dokkolállás",
- "Recommended Pick Up:": "Ajánlott felvétel:",
- "Bicycle rental": "Kerékpárbérlési hely",
- "Recommended Drop Off:": "Ajánlott leadás:",
- "Multimodal Trip Planner": "Multimodális utazástervező",
- "Itineraries": "Útvonaltervek",
- "This itinerary departs on a different day from the previous one": "Ez a útvonalterv az előző naptól eltérő napon kezdődik",
- "%d Itinerary Returned": "%d útvonalatervet találtunk",
- "%d Itinerary Returned_plural": "%d útvonaltervet találtunk",
- "Link to search": "Link a kereséshez",
- "Previous Page": "Előző",
- "Next Page": "Következő",
- "CONTINUES AS": "FOLYTATÁS MINT",
- "%d min late": "%d perc késés",
- "%d min late_plural": "%d perc késés",
- "%d min early": "%d perccel korábban",
- "%d min early_plural": "%d perccel korábban",
- "on time": "pontos",
- "This itinerary departs on a different day than the one searched for": "Ez az útvonalterv a tervezési naptól eltérő napon kezdődik",
- "Arrived at destination with a rented bicycle!": "Bérelt kerékpárral való érkezés a célba!",
- "End": "Érkezés",
- "Trip Summary": "Utazás összefoglalója",
- "Travel": "Utazás",
- "Time": "Idő",
- "GenCost": "Súly/Költség",
- "Total Walk": "Séta összesen",
- "Total Bike": "Kerékpárral összesen",
- "Total drive": "Autóval összesen",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "Átszállások",
- "Fare": "Viteldíj",
- "Valid": "Érvényesség",
- "Link to Itinerary": "Link az útvonaltervhez",
- "Print": "Nyomtatás",
- "Your Trip": "Az Ön utazása",
- "Email": "E-mail",
- "every %d min": "%d percenként",
- "every %d min_plural": "%d percenként",
- "Board at ": "Felszállás: ",
- "Stop": "Megálló",
- "Time in transit": "Közlekedési idő",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "Utazásmegjelenítő",
- "late as": "",
- "Stay on board": "Maradjon a járművön",
- "Alight": "Leszállás",
- "at": "itt:",
- "%(currency)s %(price)s": "%(currency)s %(price)s",
- "Start: %(location)s at %(time_date)s": "Indulás: %(location)s (%(time_date)s)",
- "Board": "Felszállás",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s megállóazonosító: #%(stop_id)s),",
- "End: %(location)s at %(time_date)s": "Érkezés: %(location)s (%(time_date)s)",
- "(%(agencyId)s Stop ID #%(id)s),": "(%(agencyId)s megállóazonosító: #%(id)s),",
- "\nView itinerary online:\n%(itinerary_link)s\n": "\nOnline útvonalterv megtekintése:\n%(itinerary_link)s\n",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Sajnáljuk, az útvonaltervező átmenetileg nem elérhető. Kérjük, próbálja újra később.",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "Az utazás nem lehetséges. Lehet, hogy a térképadatok határain kívüli utat próbál tervezni.",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "Nem található ilyen utazás. Előfordulhat, hogy nincs tömegközlekedési szolgáltatás a megadott legnagyobb távolságon belül vagy a megadott időpontban, vagy a kezdő- vagy végpont nem érhető el biztonságosan.",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Nem áll rendelkezésre közlekedési idő. Előfordulhat, hogy a dátum elmúlt vagy túl messze van a jövőben, vagy az Ön által választott időpontban nincs tömegközlekedési szolgáltatás.",
- "The trip planner is taking way too long to process your request. Please try again later.": "Az utazástervezőnek túl sokáig tart a kérés feldolgozása. Kérjük, próbálja újra később.",
- "The request has errors that the server is not willing or able to process.": "A kérés olyan hibát tartalmaz, amelyet a szerver nem hajlandó vagy nem képes feldolgozni.",
- "Origin is unknown. Can you be a bit more descriptive?": "A kiindulás pont ismeretlen. Le tudná írni egy kicsit gondosabban?",
- "Destination is unknown. Can you be a bit more descriptive?": "Az úti cél ismeretlen. Le tudná írni egy kicsit gondosabban?",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "A kiindulási és a célpont egyaránt ismeretlen. Le tudná-e írni egy kicsit gondosabban?",
- "Both origin and destination are not wheelchair accessible": "Sem a kiindulási, sem a célpont nem akadálymentes",
- "Origin is within a trivial distance of the destination.": "A kiindulási hely túl közel van a célponthoz.",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "Az útvonaltervező bizonytalan abban, hogy honnan szeretne indulni. Kérjük, válasszon az alábbi lehetőségek közül, vagy legyen pontosabb.",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "Az útvonaltervező bizonytalan abban, hogy hová szeretne érkezni. Kérjük, válasszon az alábbi lehetőségek közül, vagy legyen pontosabb.",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Sem a kiindulási, sem a célpont nem egyértelmű. Kérjük, válasszon az alábbi lehetőségek közül, vagy legyen pontosabb.",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "A triangleSafetyFactor, a triangleSlopeFactor és a triangleTimeFactor értékeit egyaránt be kell állítani, ha vannak ilyenek",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "A triangleSafetyFactor, triangleSlopeFactor és triangleTimeFactor értékei összegének 1-nek kell lennie",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Ha a triangleSafetyFactor, a triangleSlopeFactor és a triangleTimeFactor meg van adva, akkor az OptimizeType értékének TRIANGLE-nek kell lennie",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Ha az OptimizeType értéke TRIANGLE, akkor be kell állítani a triangleSafetyFactor, a triangleSlopeFactor és a triangleTimeFactor értékeit",
- "Set as Start Location": "Beállítás kiindulási helyként",
- "Set as End Location": "Beállítás érkezési helyként",
- "Destination": "Célpont",
- "Error %(error_id)d": "Hiba: %(error_id)d",
- "No Trip Found": "Nem található utazás",
- "Your %(bike_share_name)s route": "Az Ön %(bike_share_name)s-útvonala",
- "Your bike route": "Az Ön kerékpáros útvonala",
- "Walk to the %(bike_share_name)s dock.": "Séta a dokkolóálláshoz (%(bike_share_name)s)",
- "Walk from the %(bike_share_name)s dock to your destination.": "Séta a dokkolóállástól (%(bike_share_name)s) a célponthoz.",
- "Your walk route": "Az Ön gyalogos útvonala",
- "Your route using the scooter": "",
- "Your driving route": "Az Ön kerékpáros útvonala",
- "north": "észak",
- "northeast": "északkelet",
- "east": "kelet",
- "southeast": "délkelet",
- "south": "dél",
- "southwest": "délnyugat",
- "west": "nyugat",
- "northwest": "északnyugat",
- "hard left": "élesen balra",
- "left": "balra",
- "slight left": "enyhén balra",
- "continue": "tovább",
- "slight right": "enyhén jobbra",
- "right": "jobbra",
- "hard right": "élesen jobbra",
- "elevator": "lift",
- "U-turn left": "megfordulás balra",
- "U-turn right": "megfordulás jobbra",
- "Walk": "Séta",
- "Cycle": "Kerékpározás",
- "Car": "Autós útvonal",
- "Bus": "Busz",
- "Subway": "Metró",
- "Train": "Vonat",
- "Ferry": "Komp",
- "Light Rail": "Villamos, könnyűvasút",
- "Cable Car": "",
- "Funicular": "Sikló",
- "Aerial Tram": "Libegő",
- "Airplane": "Repülőgép",
- "Bicycle rental station": "Kerékpárkölcsönző állomás",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Hajtson be a körforgalomba az óramutató járásával ellentétesen, majd hajtson ki a(z) %(ordinal_exit_number)s kijáraton erre: %(street_name)s",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Hajtson be a körforgalomba az óramutató járásával ellentétesen, majd hajtson ki a(z) %(ordinal_exit_number)s kijáraton erre: %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Hajtson be a körforgalomba az óramutató járása szerinti irányba, majd hajtson ki a(z) %(ordinal_exit_number)s kijáraton erre: %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Hajtson be a körforgalomba az óramutató járása szerinti irányba, majd hajtson ki a(z) %(ordinal_exit_number)s kijáraton erre: %(street_name)s",
- "Start on": "Induljon ezen:",
- " heading ": " erre: ",
- "to continue on": "menjen tovább ezen:",
- "on to": "ezen:",
- "first": "első",
- "second": "második",
- "third": "harmadik",
- "fourth": "negyedik",
- "fifth": "ötödik",
- "sixth": "hatodik",
- "seventh": "hetedik",
- "eight": "nyolcadik",
- "ninth": "kilencedik",
- "tenth": "tizedik",
- "%d hr": "%d óra",
- "%d hr_plural": "%d óra",
- "%d min": "%d perc",
- "%d min_plural": "%d perc",
- "%d sec": "%d másodperc",
- "%d sec_plural": "%d másodperc",
- "OK": "OK",
- "Minimize": "Kis méretűvé tétel",
- "Bring to front": "Előrehozás",
- "Send to back": "Hátraküldés",
- "Route:": "Útvonal:",
- "Variant:": "Változat:",
- "Stop Finder": "Megállókereső",
- "Feed": "Feed",
- "By ID": "Azonosító alapján",
- "By Name": "Név alapján",
- "Search": "Keresés",
- "No Stops Found": "Nem található megálló",
- "Date": "Dátum",
- "Find Stops": "Megállóhelyek keresése",
- "(No Stop Selected)": "(Nincs megálló kijelölve)",
- "Block": "Blokk",
- "Recenter": "Legyen ez a térkép középpontja",
- "Viewer": "Megállómegtekintő",
- "Quick": "Gyors",
- "Flat": "Lapos",
- "Bike Friendly": "Kerékpárosbarát",
- "B": "K",
- "F": "L",
- "Q": "G",
- "All Routes": "Minden útvonal",
- "Save": "Mentés",
- "Close": "Bezárás",
- "Travel Options": "Utazás beállításai",
- "Geocoder": "Geokóder",
- "Arrive": "Érkezés",
- "Now": "Most",
- "Wheelchair accessible trip:": "Akadálymentes utazás:",
- "Show Filtered Itineraries:": "Szűrt útvonaltervek megjelenítése:",
- "Travel by": "Közlekedési eszköz:",
- "Preferred Routes": "Előnyben részesített útvonalak",
- "Edit": "Szerkesztés",
- "None": "Nincs",
- "Weight": "Súly",
- "Banned routes": "Kerülendő útvonalak",
- "Use": "Használt kerékpár:",
- "My Own Bike": "saját",
- "A Shared Bike": "bérelt",
- "Plan Your Trip": "Tervezze meg utazását",
- "Additional parameters": "További beállítások",
- " to _direction": " eddig: ",
- " to _bus_direction": " ide: ",
- "Start_template": "Indulás",
- "Depart_itinerary": "Indulás",
- "depart_itinerary": "indulás",
- "Start_popup": "Indulás",
- "Depart_tripoptions": "Indulás"
-}
\ No newline at end of file
+ "Transit": "Tömegközlekedés",
+ "Bus Only": "Csak busz",
+ "Rail Only": "Csak vasút",
+ "Airplane Only": "Csak repülőgép",
+ "Transit, No Airplane": "Tömegközlekedés, repülés nélkül",
+ "Bicycle Only": "Csak kerékpár",
+ "Bicycle & Transit": "Kerékpár & tömegközlekedés",
+ "Walk Only": "Csak séta",
+ "Car Only": "Csak autó",
+ "Taxi": "Taxi",
+ "Park and Ride": "P+R (Park & Ride)",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "B+R (Bike & Ride)",
+ "Rented Bicycle": "Bérelt kerékpár",
+ "Transit & Rented Bicycle": "Tömegközlekedés és bérelt kerékpár",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "Tömegközlekedés és bérelt kerékpár",
+ "Transit with flex access": "Tömegközlekedés rugalmas indulással",
+ "Transit with flex egress": "Tömegközlekedés rugalmas érkezéssel",
+ "Transit with flex access and egress": "Tömegközlekedés rugalmas indulással és érkezéssel",
+ "Direct flex search": "Közvetlen rugalmas keresés",
+ "Recenter Map Here": "Legyen itt a térkép középpontja",
+ "Zoom In": "Közelítés",
+ "Zoom Out": "Távolítás",
+ "Minimize all": "Minden kis méretűvé tétele",
+ "Unminimize all": "Minden kis méretűvé tételének megszüntetése",
+ "Stop Viewer": "Megállómegjelenítő",
+ "Plan Trip": "Utazás tervezése",
+ "From Stop": "Ettől a megállótól",
+ "To Stop": "Eddig a megállóig",
+ "Routes Serving Stop": "A megállót érintő járatok",
+ "Bike Share Planner": "Kerékpármegosztó-tervező",
+ "Trip Options": "Utazási beállítások",
+ "PICK UP BIKE": "KERÉKPÁR FELVÉTELE",
+ "ALTERNATE PICKUP": "MÁSIK FELVÉTELI HELY",
+ "DROP OFF BIKE": "KERÉKPÁR LEADÁSA",
+ "ALTERNATE DROP OFF": "MÁSIK LEADÁSI HELY",
+ "BIKE STATION": "KERÉKPÁRÁLLOMÁS",
+ "Station:": "Gyűjtőállomás:",
+ "%d bike available": "%d kerékpár elérhető",
+ "%d bike available_plural": "%d kerékpár elérhető",
+ "%d dock available": "%d dokkolóállás",
+ "%d dock available_plural": "%d dokkolállás",
+ "Recommended Pick Up:": "Ajánlott felvétel:",
+ "Bicycle rental": "Kerékpárbérlési hely",
+ "Recommended Drop Off:": "Ajánlott leadás:",
+ "Multimodal Trip Planner": "Multimodális utazástervező",
+ "Itineraries": "Útvonaltervek",
+ "This itinerary departs on a different day from the previous one": "Ez a útvonalterv az előző naptól eltérő napon kezdődik",
+ "%d Itinerary Returned": "%d útvonalatervet találtunk",
+ "%d Itinerary Returned_plural": "%d útvonaltervet találtunk",
+ "Link to search": "Link a kereséshez",
+ "Previous Page": "Előző",
+ "Next Page": "Következő",
+ "CONTINUES AS": "FOLYTATÁS MINT",
+ "%d min late": "%d perc késés",
+ "%d min late_plural": "%d perc késés",
+ "%d min early": "%d perccel korábban",
+ "%d min early_plural": "%d perccel korábban",
+ "on time": "pontos",
+ "This itinerary departs on a different day than the one searched for": "Ez az útvonalterv a tervezési naptól eltérő napon kezdődik",
+ "Arrived at destination with a rented bicycle!": "Bérelt kerékpárral való érkezés a célba!",
+ "End": "Érkezés",
+ "Trip Summary": "Utazás összefoglalója",
+ "Travel": "Utazás",
+ "Time": "Idő",
+ "GenCost": "Súly/Költség",
+ "Total Walk": "Séta összesen",
+ "Total Bike": "Kerékpárral összesen",
+ "Total drive": "Autóval összesen",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "Átszállások",
+ "Fare": "Viteldíj",
+ "Valid": "Érvényesség",
+ "Link to Itinerary": "Link az útvonaltervhez",
+ "Print": "Nyomtatás",
+ "Your Trip": "Az Ön utazása",
+ "Email": "E-mail",
+ "every %d min": "%d percenként",
+ "every %d min_plural": "%d percenként",
+ "Board at ": "Felszállás: ",
+ "Stop": "Megálló",
+ "Time in transit": "Közlekedési idő",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "Utazásmegjelenítő",
+ "late as": "",
+ "Stay on board": "Maradjon a járművön",
+ "Alight": "Leszállás",
+ "at": "itt:",
+ "%(currency)s %(price)s": "%(currency)s %(price)s",
+ "Start: %(location)s at %(time_date)s": "Indulás: %(location)s (%(time_date)s)",
+ "Board": "Felszállás",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s megállóazonosító: #%(stop_id)s),",
+ "End: %(location)s at %(time_date)s": "Érkezés: %(location)s (%(time_date)s)",
+ "(%(agencyId)s Stop ID #%(id)s),": "(%(agencyId)s megállóazonosító: #%(id)s),",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "\nOnline útvonalterv megtekintése:\n%(itinerary_link)s\n",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Sajnáljuk, az útvonaltervező átmenetileg nem elérhető. Kérjük, próbálja újra később.",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "Az utazás nem lehetséges. Lehet, hogy a térképadatok határain kívüli utat próbál tervezni.",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "Nem található ilyen utazás. Előfordulhat, hogy nincs tömegközlekedési szolgáltatás a megadott legnagyobb távolságon belül vagy a megadott időpontban, vagy a kezdő- vagy végpont nem érhető el biztonságosan.",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Nem áll rendelkezésre közlekedési idő. Előfordulhat, hogy a dátum elmúlt vagy túl messze van a jövőben, vagy az Ön által választott időpontban nincs tömegközlekedési szolgáltatás.",
+ "The trip planner is taking way too long to process your request. Please try again later.": "Az utazástervezőnek túl sokáig tart a kérés feldolgozása. Kérjük, próbálja újra később.",
+ "The request has errors that the server is not willing or able to process.": "A kérés olyan hibát tartalmaz, amelyet a szerver nem hajlandó vagy nem képes feldolgozni.",
+ "Origin is unknown. Can you be a bit more descriptive?": "A kiindulás pont ismeretlen. Le tudná írni egy kicsit gondosabban?",
+ "Destination is unknown. Can you be a bit more descriptive?": "Az úti cél ismeretlen. Le tudná írni egy kicsit gondosabban?",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "A kiindulási és a célpont egyaránt ismeretlen. Le tudná-e írni egy kicsit gondosabban?",
+ "Both origin and destination are not wheelchair accessible": "Sem a kiindulási, sem a célpont nem akadálymentes",
+ "Origin is within a trivial distance of the destination.": "A kiindulási hely túl közel van a célponthoz.",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "Az útvonaltervező bizonytalan abban, hogy honnan szeretne indulni. Kérjük, válasszon az alábbi lehetőségek közül, vagy legyen pontosabb.",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "Az útvonaltervező bizonytalan abban, hogy hová szeretne érkezni. Kérjük, válasszon az alábbi lehetőségek közül, vagy legyen pontosabb.",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Sem a kiindulási, sem a célpont nem egyértelmű. Kérjük, válasszon az alábbi lehetőségek közül, vagy legyen pontosabb.",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "A triangleSafetyFactor, a triangleSlopeFactor és a triangleTimeFactor értékeit egyaránt be kell állítani, ha vannak ilyenek",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "A triangleSafetyFactor, triangleSlopeFactor és triangleTimeFactor értékei összegének 1-nek kell lennie",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Ha a triangleSafetyFactor, a triangleSlopeFactor és a triangleTimeFactor meg van adva, akkor az OptimizeType értékének TRIANGLE-nek kell lennie",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Ha az OptimizeType értéke TRIANGLE, akkor be kell állítani a triangleSafetyFactor, a triangleSlopeFactor és a triangleTimeFactor értékeit",
+ "Set as Start Location": "Beállítás kiindulási helyként",
+ "Set as End Location": "Beállítás érkezési helyként",
+ "Destination": "Célpont",
+ "Error %(error_id)d": "Hiba: %(error_id)d",
+ "No Trip Found": "Nem található utazás",
+ "Your %(bike_share_name)s route": "Az Ön %(bike_share_name)s-útvonala",
+ "Your bike route": "Az Ön kerékpáros útvonala",
+ "Walk to the %(bike_share_name)s dock.": "Séta a dokkolóálláshoz (%(bike_share_name)s)",
+ "Walk from the %(bike_share_name)s dock to your destination.": "Séta a dokkolóállástól (%(bike_share_name)s) a célponthoz.",
+ "Your walk route": "Az Ön gyalogos útvonala",
+ "Your route using the scooter": "",
+ "Your driving route": "Az Ön kerékpáros útvonala",
+ "north": "észak",
+ "northeast": "északkelet",
+ "east": "kelet",
+ "southeast": "délkelet",
+ "south": "dél",
+ "southwest": "délnyugat",
+ "west": "nyugat",
+ "northwest": "északnyugat",
+ "hard left": "élesen balra",
+ "left": "balra",
+ "slight left": "enyhén balra",
+ "continue": "tovább",
+ "slight right": "enyhén jobbra",
+ "right": "jobbra",
+ "hard right": "élesen jobbra",
+ "elevator": "lift",
+ "U-turn left": "megfordulás balra",
+ "U-turn right": "megfordulás jobbra",
+ "Walk": "Séta",
+ "Cycle": "Kerékpározás",
+ "Car": "Autós útvonal",
+ "Bus": "Busz",
+ "Subway": "Metró",
+ "Train": "Vonat",
+ "Ferry": "Komp",
+ "Light Rail": "Villamos, könnyűvasút",
+ "Cable Car": "",
+ "Funicular": "Sikló",
+ "Aerial Tram": "Libegő",
+ "Airplane": "Repülőgép",
+ "Bicycle rental station": "Kerékpárkölcsönző állomás",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Hajtson be a körforgalomba az óramutató járásával ellentétesen, majd hajtson ki a(z) %(ordinal_exit_number)s kijáraton erre: %(street_name)s",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Hajtson be a körforgalomba az óramutató járásával ellentétesen, majd hajtson ki a(z) %(ordinal_exit_number)s kijáraton erre: %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Hajtson be a körforgalomba az óramutató járása szerinti irányba, majd hajtson ki a(z) %(ordinal_exit_number)s kijáraton erre: %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Hajtson be a körforgalomba az óramutató járása szerinti irányba, majd hajtson ki a(z) %(ordinal_exit_number)s kijáraton erre: %(street_name)s",
+ "Start on": "Induljon ezen:",
+ " heading ": " erre: ",
+ "to continue on": "menjen tovább ezen:",
+ "on to": "ezen:",
+ "first": "első",
+ "second": "második",
+ "third": "harmadik",
+ "fourth": "negyedik",
+ "fifth": "ötödik",
+ "sixth": "hatodik",
+ "seventh": "hetedik",
+ "eight": "nyolcadik",
+ "ninth": "kilencedik",
+ "tenth": "tizedik",
+ "%d hr": "%d óra",
+ "%d hr_plural": "%d óra",
+ "%d min": "%d perc",
+ "%d min_plural": "%d perc",
+ "%d sec": "%d másodperc",
+ "%d sec_plural": "%d másodperc",
+ "OK": "OK",
+ "Minimize": "Kis méretűvé tétel",
+ "Bring to front": "Előrehozás",
+ "Send to back": "Hátraküldés",
+ "Route:": "Útvonal:",
+ "Variant:": "Változat:",
+ "Stop Finder": "Megállókereső",
+ "Feed": "Feed",
+ "By ID": "Azonosító alapján",
+ "By Name": "Név alapján",
+ "Search": "Keresés",
+ "No Stops Found": "Nem található megálló",
+ "Date": "Dátum",
+ "Find Stops": "Megállóhelyek keresése",
+ "(No Stop Selected)": "(Nincs megálló kijelölve)",
+ "Block": "Blokk",
+ "Recenter": "Legyen ez a térkép középpontja",
+ "Viewer": "Megállómegtekintő",
+ "Quick": "Gyors",
+ "Flat": "Lapos",
+ "Bike Friendly": "Kerékpárosbarát",
+ "B": "K",
+ "F": "L",
+ "Q": "G",
+ "All Routes": "Minden útvonal",
+ "Save": "Mentés",
+ "Close": "Bezárás",
+ "Travel Options": "Utazás beállításai",
+ "Geocoder": "Geokóder",
+ "Arrive": "Érkezés",
+ "Now": "Most",
+ "Wheelchair accessible trip:": "Akadálymentes utazás:",
+ "Show Filtered Itineraries:": "Szűrt útvonaltervek megjelenítése:",
+ "Travel by": "Közlekedési eszköz:",
+ "Preferred Routes": "Előnyben részesített útvonalak",
+ "Edit": "Szerkesztés",
+ "None": "Nincs",
+ "Weight": "Súly",
+ "Banned routes": "Kerülendő útvonalak",
+ "Use": "Használt kerékpár:",
+ "My Own Bike": "saját",
+ "A Shared Bike": "bérelt",
+ "Plan Your Trip": "Tervezze meg utazását",
+ "Additional parameters": "További beállítások",
+ " to _direction": " eddig: ",
+ " to _bus_direction": " ide: ",
+ "Start_template": "Indulás",
+ "Depart_itinerary": "Indulás",
+ "depart_itinerary": "indulás",
+ "Start_popup": "Indulás",
+ "Depart_tripoptions": "Indulás"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/it.json b/application/src/client/classic-debug/js/otp/locale/it.json
index 0876aba1ef8..81489b8d82c 100644
--- a/application/src/client/classic-debug/js/otp/locale/it.json
+++ b/application/src/client/classic-debug/js/otp/locale/it.json
@@ -1,238 +1,238 @@
{
- "Transit": "Mezzi pubblici",
- "Bus Only": "Solo Bus",
- "Rail Only": "Solo Treno",
- "Airplane Only": "",
- "Transit, No Airplane": "",
- "Bicycle Only": "In bici",
- "Bicycle & Transit": "Bici & mezzi pubblici",
- "Walk Only": "A piedi",
- "Car Only": "Partenza su",
- "Taxi": "",
- "Park and Ride": "Park & Ride",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "Bike & Ride",
- "Rented Bicycle": "Bike sharing",
- "Transit & Rented Bicycle": "Bike sharing & Ride",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "Bike sharing & Ride",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Centra",
- "Zoom In": "Zoom in",
- "Zoom Out": "Zoom out",
- "Minimize all": "Minimizza tutto",
- "Unminimize all": "Ripristina tutto",
- "Stop Viewer": "Orari",
- "Plan Trip": "Calcola percorso",
- "From Stop": "Da questa fermata",
- "To Stop": "A questa fermata",
- "Routes Serving Stop": "Linee",
- "Bike Share Planner": "Bike Sharing",
- "Trip Options": "Opzioni di viaggio",
- "PICK UP BIKE": "Prendi la bici qui",
- "ALTERNATE PICKUP": "Puoi prendere la bici anche qui",
- "DROP OFF BIKE": "Lascia la bici qui",
- "ALTERNATE DROP OFF": "Puoi lasciare la bici anche qui",
- "BIKE STATION": "Stazione di Bike Sharing",
- "Station:": "Stazione:",
- "%d bike available": "%d bici disponibile",
- "%d bike available_plural": "%d bici disponibili",
- "%d dock available": "%d posto disponibile",
- "%d dock available_plural": "%d posti disponibili",
- "Recommended Pick Up:": "Prendi la bici:",
- "Bicycle rental": "",
- "Recommended Drop Off:": "Lascia la bici:",
- "Multimodal Trip Planner": "Calcolo percorso multimodale",
- "Itineraries": "Percorsi",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned": "%d percorso trovato",
- "%d Itinerary Returned_plural": "%d percorsi trovati",
- "Link to search": "Link a questa ricerca",
- "Previous Page": "Precedente",
- "Next Page": "",
- "CONTINUES AS": "Rimani a bordo",
- "%d min late": "%d minuto di ritardo",
- "%d min late_plural": "%d minuti di ritardo",
- "%d min early": "%d minuto in anticipo",
- "%d min early_plural": "%d minuti in anticipo",
- "on time": "in orario",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "Arrivo",
- "Trip Summary": "Riepilogo",
- "Travel": "Partenza",
- "Time": "Durata",
- "GenCost": "",
- "Total Walk": "A piedi",
- "Total Bike": "In bici",
- "Total drive": "",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "Cambi",
- "Fare": "Costo",
- "Valid": "Calcolato il ",
- "Link to Itinerary": "Link a questo percorso",
- "Print": "Stampa",
- "Your Trip": "Il tuo percorso",
- "Email": "Invia mail",
- "every %d min": "ogni minuto",
- "every %d min_plural": "ogni %d minuti",
- "Board at ": "Parti da ",
- "Stop": "Fermata",
- "Time in transit": "Tempo a bordo",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "Percorso",
- "late as": "al più",
- "Stay on board": "Rimani a bordo",
- "Alight": "Scendi",
- "at": "a",
- "%(currency)s %(price)s": "%(currency)s %(price)s",
- "Start: %(location)s at %(time_date)s": "Partenza: %(location)s alle %(time_date)s",
- "Board": "Sali a bordo",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s fermata n.%(stop_id)s),",
- "End: %(location)s at %(time_date)s": "Arrivo: %(location)s alle %(time_date)s",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "\nConsulta il percorso online:\n%(itinerary_link)s\n",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Siamo spiacenti. Il servizio è momentaneamente indisponibile.Riprova più tardi.",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Nessun servizio di Trasporto Pubblico trovato. La data indicata potrebbe essere al di fuori del periodo preso in considerazione dal Calcolo Percorso.",
- "The trip planner is taking way too long to process your request. Please try again later.": "Il servizio di Calcolo percorsi sta impiegando troppo tempo per processare la tua richiesta. Riprova più tardi.",
- "The request has errors that the server is not willing or able to process.": "La richiesta contiene errori che il server non è in grado di trattare.",
- "Origin is unknown. Can you be a bit more descriptive?": "Origine non riconosciuta. Puoi essere più esplicito?",
- "Destination is unknown. Can you be a bit more descriptive?": "Destinazione non riconosciuta. Puoi essere più esplicito?",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "Origine e destinazione non riconosciute. Puoi essere più esplicito?",
- "Both origin and destination are not wheelchair accessible": "Origine e destinazione non accessibili in carrozzina",
- "Origin is within a trivial distance of the destination.": "Origine troppo vicina alla destinazione.",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "Origine non riconosciuta. Seleziona fra le seguenti opzioni o specifica meglio l'origine.",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "Destinazione non riconosciuta. Seleziona fra le seguenti opzioni o specifica meglio la destinazione.",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Origine e destinazione non riconosciute. Seleziona fra le seguenti opzioni o specifica meglio l'origine e la destinazione.",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "Specificare tutti e 3 i fattori: triangleSafetyFactor, triangleSlopeFactor e triangleTimeFactor",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "La somma dai fattori triangleSafetyFactor, triangleSlopeFactor e triangleTimeFactor dev'essere pari a 1",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Se si forniscono i fattori triangleSafetyFactor, triangleSlopeFactor e triangleTimeFactor il parametro OptimizeType dev'essere settato a TRIANGLE",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Se il parametro OptimizeType è settato a TRIANGLE, si devono fornire i fattori triangleSafetyFactor, triangleSlopeFactor e triangleTimeFactor ",
- "Set as Start Location": "Imposta Partenza",
- "Set as End Location": "Imposta Arrivo",
- "Destination": "Destinazione",
- "Error %(error_id)d": "Errore %(error_id)d",
- "No Trip Found": "nessun percoro trovato",
- "Your %(bike_share_name)s route": "Percorso con %(bike_share_name)s ",
- "Your bike route": "Percorso in bici",
- "Walk to the %(bike_share_name)s dock.": "A piedi verso la stazione %(bike_share_name)s",
- "Walk from the %(bike_share_name)s dock to your destination.": "A piedi dalla stazione %(bike_share_name)s a destinazione",
- "Your walk route": "Percorso a piedi",
- "Your route using the scooter": "",
- "Your driving route": "Percorso in bici",
- "north": "nord",
- "northeast": "nord-est",
- "east": "est",
- "southeast": "sud-est",
- "south": "sud",
- "southwest": "sud-ovest",
- "west": "ovest",
- "northwest": "nod-ovest",
- "hard left": "a sinistra",
- "left": "a sinistra",
- "slight left": "tenere la sinistra",
- "continue": "continuare",
- "slight right": "tenere la destra",
- "right": "a destra",
- "hard right": "a destra",
- "elevator": "ascensore",
- "U-turn left": "inversione di marcia",
- "U-turn right": "inversione di marcia",
- "Walk": "A piedi",
- "Cycle": "bici",
- "Car": "auto",
- "Bus": "bus",
- "Subway": "metro",
- "Train": "treno",
- "Ferry": "Ferry",
- "Light Rail": "tram",
- "Cable Car": "tram",
- "Funicular": "funivia",
- "Aerial Tram": "tram",
- "Airplane": "",
- "Bicycle rental station": "",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendere la rotonda in senso antiorario, %(ordinal_exit_number)s uscita, %(street_name)s",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendere la rotonda in senso antiorario, %(ordinal_exit_number)s uscita, %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendere la rotonda in senso orario, %(ordinal_exit_number)s uscita, %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendere la rotonda in senso orario, %(ordinal_exit_number)s uscita, %(street_name)s",
- "Start on": "Partenza su",
- " heading ": " in direzione ",
- "to continue on": "continua su",
- "on to": "su",
- "first": "prima",
- "second": "seconda",
- "third": "terza",
- "fourth": "quarta",
- "fifth": "quinta",
- "sixth": "sesta",
- "seventh": "settima",
- "eight": "ottava",
- "ninth": "nona",
- "tenth": "decima",
- "%d hr": "%d h",
- "%d hr_plural": "%d h",
- "%d min": "%d m",
- "%d min_plural": "%d m",
- "%d sec": "%d s",
- "%d sec_plural": "%d s",
- "OK": "OK",
- "Minimize": "Riduci a icona",
- "Bring to front": "Porta in primo piano",
- "Send to back": "Porta in secondo piano",
- "Route:": "Linea:",
- "Variant:": "Percorso:",
- "Stop Finder": "Ricerca Fermata",
- "Feed": "Azienda TPL",
- "By ID": "Numero",
- "By Name": "Nome",
- "Search": "Cerca",
- "No Stops Found": "Nessuna fermata trovata",
- "Date": "Data",
- "Find Stops": "Cerca fermata",
- "(No Stop Selected)": "(nessuna fermata selezionata)",
- "Block": "Turno",
- "Recenter": "Centra",
- "Viewer": "Passaggi",
- "Quick": "Veloce",
- "Flat": "Pianeggiante",
- "Bike Friendly": "Sicuro",
- "B": "S",
- "F": "P",
- "Q": "V",
- "All Routes": "Linee",
- "Save": "Salva",
- "Close": "Chiudi",
- "Travel Options": "Opzioni di viaggio",
- "Geocoder": "Geocoder",
- "Arrive": "Arrivo",
- "Now": "Ora",
- "Wheelchair accessible trip:": "Percorso accessibile:",
- "Show Filtered Itineraries:": "",
- "Travel by": "Modalità",
- "Preferred Routes": "Linee preferite",
- "Edit": "Modifica",
- "None": "Nessuna",
- "Weight": "Peso",
- "Banned routes": "Linee da evitare",
- "Use": "Usa",
- "My Own Bike": "bici propria",
- "A Shared Bike": "bike sharing",
- "Plan Your Trip": "Calcola",
- "Additional parameters": "",
- " to _direction": " fino a ",
- " to _bus_direction": " in direzione ",
- "Start_template": "Partenza",
- "Depart_itinerary": "Parti da",
- "depart_itinerary": "Partenza",
- "Start_popup": "Partenza",
- "Depart_tripoptions": "Partenza"
-}
\ No newline at end of file
+ "Transit": "Mezzi pubblici",
+ "Bus Only": "Solo Bus",
+ "Rail Only": "Solo Treno",
+ "Airplane Only": "",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "In bici",
+ "Bicycle & Transit": "Bici & mezzi pubblici",
+ "Walk Only": "A piedi",
+ "Car Only": "Partenza su",
+ "Taxi": "",
+ "Park and Ride": "Park & Ride",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "Bike & Ride",
+ "Rented Bicycle": "Bike sharing",
+ "Transit & Rented Bicycle": "Bike sharing & Ride",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "Bike sharing & Ride",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Centra",
+ "Zoom In": "Zoom in",
+ "Zoom Out": "Zoom out",
+ "Minimize all": "Minimizza tutto",
+ "Unminimize all": "Ripristina tutto",
+ "Stop Viewer": "Orari",
+ "Plan Trip": "Calcola percorso",
+ "From Stop": "Da questa fermata",
+ "To Stop": "A questa fermata",
+ "Routes Serving Stop": "Linee",
+ "Bike Share Planner": "Bike Sharing",
+ "Trip Options": "Opzioni di viaggio",
+ "PICK UP BIKE": "Prendi la bici qui",
+ "ALTERNATE PICKUP": "Puoi prendere la bici anche qui",
+ "DROP OFF BIKE": "Lascia la bici qui",
+ "ALTERNATE DROP OFF": "Puoi lasciare la bici anche qui",
+ "BIKE STATION": "Stazione di Bike Sharing",
+ "Station:": "Stazione:",
+ "%d bike available": "%d bici disponibile",
+ "%d bike available_plural": "%d bici disponibili",
+ "%d dock available": "%d posto disponibile",
+ "%d dock available_plural": "%d posti disponibili",
+ "Recommended Pick Up:": "Prendi la bici:",
+ "Bicycle rental": "",
+ "Recommended Drop Off:": "Lascia la bici:",
+ "Multimodal Trip Planner": "Calcolo percorso multimodale",
+ "Itineraries": "Percorsi",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned": "%d percorso trovato",
+ "%d Itinerary Returned_plural": "%d percorsi trovati",
+ "Link to search": "Link a questa ricerca",
+ "Previous Page": "Precedente",
+ "Next Page": "",
+ "CONTINUES AS": "Rimani a bordo",
+ "%d min late": "%d minuto di ritardo",
+ "%d min late_plural": "%d minuti di ritardo",
+ "%d min early": "%d minuto in anticipo",
+ "%d min early_plural": "%d minuti in anticipo",
+ "on time": "in orario",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "Arrivo",
+ "Trip Summary": "Riepilogo",
+ "Travel": "Partenza",
+ "Time": "Durata",
+ "GenCost": "",
+ "Total Walk": "A piedi",
+ "Total Bike": "In bici",
+ "Total drive": "",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "Cambi",
+ "Fare": "Costo",
+ "Valid": "Calcolato il ",
+ "Link to Itinerary": "Link a questo percorso",
+ "Print": "Stampa",
+ "Your Trip": "Il tuo percorso",
+ "Email": "Invia mail",
+ "every %d min": "ogni minuto",
+ "every %d min_plural": "ogni %d minuti",
+ "Board at ": "Parti da ",
+ "Stop": "Fermata",
+ "Time in transit": "Tempo a bordo",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "Percorso",
+ "late as": "al più",
+ "Stay on board": "Rimani a bordo",
+ "Alight": "Scendi",
+ "at": "a",
+ "%(currency)s %(price)s": "%(currency)s %(price)s",
+ "Start: %(location)s at %(time_date)s": "Partenza: %(location)s alle %(time_date)s",
+ "Board": "Sali a bordo",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s fermata n.%(stop_id)s),",
+ "End: %(location)s at %(time_date)s": "Arrivo: %(location)s alle %(time_date)s",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "\nConsulta il percorso online:\n%(itinerary_link)s\n",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Siamo spiacenti. Il servizio è momentaneamente indisponibile.Riprova più tardi.",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Nessun servizio di Trasporto Pubblico trovato. La data indicata potrebbe essere al di fuori del periodo preso in considerazione dal Calcolo Percorso.",
+ "The trip planner is taking way too long to process your request. Please try again later.": "Il servizio di Calcolo percorsi sta impiegando troppo tempo per processare la tua richiesta. Riprova più tardi.",
+ "The request has errors that the server is not willing or able to process.": "La richiesta contiene errori che il server non è in grado di trattare.",
+ "Origin is unknown. Can you be a bit more descriptive?": "Origine non riconosciuta. Puoi essere più esplicito?",
+ "Destination is unknown. Can you be a bit more descriptive?": "Destinazione non riconosciuta. Puoi essere più esplicito?",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "Origine e destinazione non riconosciute. Puoi essere più esplicito?",
+ "Both origin and destination are not wheelchair accessible": "Origine e destinazione non accessibili in carrozzina",
+ "Origin is within a trivial distance of the destination.": "Origine troppo vicina alla destinazione.",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "Origine non riconosciuta. Seleziona fra le seguenti opzioni o specifica meglio l'origine.",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "Destinazione non riconosciuta. Seleziona fra le seguenti opzioni o specifica meglio la destinazione.",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Origine e destinazione non riconosciute. Seleziona fra le seguenti opzioni o specifica meglio l'origine e la destinazione.",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "Specificare tutti e 3 i fattori: triangleSafetyFactor, triangleSlopeFactor e triangleTimeFactor",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "La somma dai fattori triangleSafetyFactor, triangleSlopeFactor e triangleTimeFactor dev'essere pari a 1",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Se si forniscono i fattori triangleSafetyFactor, triangleSlopeFactor e triangleTimeFactor il parametro OptimizeType dev'essere settato a TRIANGLE",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Se il parametro OptimizeType è settato a TRIANGLE, si devono fornire i fattori triangleSafetyFactor, triangleSlopeFactor e triangleTimeFactor ",
+ "Set as Start Location": "Imposta Partenza",
+ "Set as End Location": "Imposta Arrivo",
+ "Destination": "Destinazione",
+ "Error %(error_id)d": "Errore %(error_id)d",
+ "No Trip Found": "nessun percoro trovato",
+ "Your %(bike_share_name)s route": "Percorso con %(bike_share_name)s ",
+ "Your bike route": "Percorso in bici",
+ "Walk to the %(bike_share_name)s dock.": "A piedi verso la stazione %(bike_share_name)s",
+ "Walk from the %(bike_share_name)s dock to your destination.": "A piedi dalla stazione %(bike_share_name)s a destinazione",
+ "Your walk route": "Percorso a piedi",
+ "Your route using the scooter": "",
+ "Your driving route": "Percorso in bici",
+ "north": "nord",
+ "northeast": "nord-est",
+ "east": "est",
+ "southeast": "sud-est",
+ "south": "sud",
+ "southwest": "sud-ovest",
+ "west": "ovest",
+ "northwest": "nod-ovest",
+ "hard left": "a sinistra",
+ "left": "a sinistra",
+ "slight left": "tenere la sinistra",
+ "continue": "continuare",
+ "slight right": "tenere la destra",
+ "right": "a destra",
+ "hard right": "a destra",
+ "elevator": "ascensore",
+ "U-turn left": "inversione di marcia",
+ "U-turn right": "inversione di marcia",
+ "Walk": "A piedi",
+ "Cycle": "bici",
+ "Car": "auto",
+ "Bus": "bus",
+ "Subway": "metro",
+ "Train": "treno",
+ "Ferry": "Ferry",
+ "Light Rail": "tram",
+ "Cable Car": "tram",
+ "Funicular": "funivia",
+ "Aerial Tram": "tram",
+ "Airplane": "",
+ "Bicycle rental station": "",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendere la rotonda in senso antiorario, %(ordinal_exit_number)s uscita, %(street_name)s",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendere la rotonda in senso antiorario, %(ordinal_exit_number)s uscita, %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendere la rotonda in senso orario, %(ordinal_exit_number)s uscita, %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Prendere la rotonda in senso orario, %(ordinal_exit_number)s uscita, %(street_name)s",
+ "Start on": "Partenza su",
+ " heading ": " in direzione ",
+ "to continue on": "continua su",
+ "on to": "su",
+ "first": "prima",
+ "second": "seconda",
+ "third": "terza",
+ "fourth": "quarta",
+ "fifth": "quinta",
+ "sixth": "sesta",
+ "seventh": "settima",
+ "eight": "ottava",
+ "ninth": "nona",
+ "tenth": "decima",
+ "%d hr": "%d h",
+ "%d hr_plural": "%d h",
+ "%d min": "%d m",
+ "%d min_plural": "%d m",
+ "%d sec": "%d s",
+ "%d sec_plural": "%d s",
+ "OK": "OK",
+ "Minimize": "Riduci a icona",
+ "Bring to front": "Porta in primo piano",
+ "Send to back": "Porta in secondo piano",
+ "Route:": "Linea:",
+ "Variant:": "Percorso:",
+ "Stop Finder": "Ricerca Fermata",
+ "Feed": "Azienda TPL",
+ "By ID": "Numero",
+ "By Name": "Nome",
+ "Search": "Cerca",
+ "No Stops Found": "Nessuna fermata trovata",
+ "Date": "Data",
+ "Find Stops": "Cerca fermata",
+ "(No Stop Selected)": "(nessuna fermata selezionata)",
+ "Block": "Turno",
+ "Recenter": "Centra",
+ "Viewer": "Passaggi",
+ "Quick": "Veloce",
+ "Flat": "Pianeggiante",
+ "Bike Friendly": "Sicuro",
+ "B": "S",
+ "F": "P",
+ "Q": "V",
+ "All Routes": "Linee",
+ "Save": "Salva",
+ "Close": "Chiudi",
+ "Travel Options": "Opzioni di viaggio",
+ "Geocoder": "Geocoder",
+ "Arrive": "Arrivo",
+ "Now": "Ora",
+ "Wheelchair accessible trip:": "Percorso accessibile:",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Modalità",
+ "Preferred Routes": "Linee preferite",
+ "Edit": "Modifica",
+ "None": "Nessuna",
+ "Weight": "Peso",
+ "Banned routes": "Linee da evitare",
+ "Use": "Usa",
+ "My Own Bike": "bici propria",
+ "A Shared Bike": "bike sharing",
+ "Plan Your Trip": "Calcola",
+ "Additional parameters": "",
+ " to _direction": " fino a ",
+ " to _bus_direction": " in direzione ",
+ "Start_template": "Partenza",
+ "Depart_itinerary": "Parti da",
+ "depart_itinerary": "Partenza",
+ "Start_popup": "Partenza",
+ "Depart_tripoptions": "Partenza"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/no.json b/application/src/client/classic-debug/js/otp/locale/no.json
index 5a64e60d2a6..e26b87d5e22 100644
--- a/application/src/client/classic-debug/js/otp/locale/no.json
+++ b/application/src/client/classic-debug/js/otp/locale/no.json
@@ -1,238 +1,238 @@
{
- "Transit": "Kollektivtransport",
- "Bus Only": "Buss",
- "Rail Only": "Tog",
- "Airplane Only": "Fly",
- "Transit, No Airplane": "",
- "Bicycle Only": "Sykkel",
- "Bicycle & Transit": "Sykkel & Kollektivtransport",
- "Walk Only": "Gå",
- "Car Only": "Start fra",
- "Taxi": "",
- "Park and Ride": "Park and Ride",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "Bike and Ride",
- "Rented Bicycle": "Bysykkel",
- "Transit & Rented Bicycle": "Kollektivtransport & Bysykkel",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "Kollektivtransport & Bysykkel",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Sentrer kart her",
- "Zoom In": "Zoom inn",
- "Zoom Out": "Zoom ut",
- "Minimize all": "Minimer vinduer",
- "Unminimize all": "Vis vinduer",
- "Stop Viewer": "Vis Stoppested",
- "Plan Trip": "Reiseplanlegger",
- "From Stop": "Fra stoppested",
- "To Stop": "Til stoppested",
- "Routes Serving Stop": "Ruter fra stoppested",
- "Bike Share Planner": "Bike Share Planner",
- "Trip Options": "Reise søk",
- "PICK UP BIKE": "PICK UP BIKE",
- "ALTERNATE PICKUP": "ALTERNATE PICKUP",
- "DROP OFF BIKE": "DROP OFF BIKE",
- "ALTERNATE DROP OFF": "ALTERNATE DROP OFF",
- "BIKE STATION": "BIKE STATION",
- "Station:": "Stasjon:",
- "%d bike available": "%d sykkel tilgjengelig",
- "%d bike available_plural": "%d sykler tilgjengelig",
- "%d dock available": "%d plass ledig",
- "%d dock available_plural": "%d plasser ledig",
- "Recommended Pick Up:": "Anbefalt Pick Up:",
- "Bicycle rental": "Bysykkel",
- "Recommended Drop Off:": "Anbefalt Drop Off:",
- "Multimodal Trip Planner": "Reiseplanlegger",
- "Itineraries": "Vis Reiseplaner",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned": "%d Reise alternativ",
- "%d Itinerary Returned_plural": "%d Reise alternativer",
- "Link to search": "Link til søk",
- "Previous Page": "Forrige",
- "Next Page": "",
- "CONTINUES AS": "FORTSETTER SOM",
- "%d min late": "%d minutt forsinket",
- "%d min late_plural": "%d minutter forsinket",
- "%d min early": "%d minutt fortidlig",
- "%d min early_plural": "%d minutter fortidlig",
- "on time": "i rute",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "Til",
- "Trip Summary": "Reise oversikt",
- "Travel": "Start",
- "Time": "Reisetid",
- "GenCost": "Kost",
- "Total Walk": "Gangeavstand",
- "Total Bike": "Sykkel distanse",
- "Total drive": "Bil distanse",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "Bytter",
- "Fare": "Pris",
- "Valid": "Gyldig",
- "Link to Itinerary": "Link til reise",
- "Print": "Skriv ut",
- "Your Trip": "Din reise",
- "Email": "e-post",
- "every %d min": "hvert minutt",
- "every %d min_plural": "hvert %d minutt",
- "Board at ": "Påstigning ",
- "Stop": "Stoppested",
- "Time in transit": "Tid kollektivtransport",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "Vis Rute",
- "late as": "sent som",
- "Stay on board": "Bli om bord",
- "Alight": "Avstigning",
- "at": "på",
- "%(currency)s %(price)s": "%(currency)s %(price)s",
- "Start: %(location)s at %(time_date)s": "Fra: %(location)s klokka %(time_date)s",
- "Board": "Påstigning",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s Stoppested ID #%(stop_id)s),",
- "End: %(location)s at %(time_date)s": "Ankomst: %(location)s klokka %(time_date)s",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "\nVis reiseplan:\n%(itinerary_link)s\n",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Beklager. Reiseplanleggeren er midlertidig utilgjengelig. Venligst forsøk igjen senere.",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "Ingen reise funnet. Sjekk at fra/til sted er innenfor angitt gangavstand til destinasjon, stopested, bysykkel-stativ og/eller påstigningspunkt for bil.",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Ingen kolektivreiser funnet for denne dagen.",
- "The trip planner is taking way too long to process your request. Please try again later.": "Reiseplanleggeren svarer ikke på forspørsel. Prøv igjen senere.",
- "The request has errors that the server is not willing or able to process.": "Ugyldig input data. Server er ikke i stand til å behandle 'RouteRequest'.",
- "Origin is unknown. Can you be a bit more descriptive?": "Avreisested er ukjent. Kan du spesifisere nærmere?",
- "Destination is unknown. Can you be a bit more descriptive?": "Reisemålet er ukjent. Kan du spesifisere nærmere?",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "Både fra/til sted er ukjent. Kan du spesifisere nærmere?",
- "Both origin and destination are not wheelchair accessible": "Både fra/til sted er utilgjengelig for rullestolukjent.",
- "Origin is within a trivial distance of the destination.": "Du kan klare å gå? Det er bare noen få meter.",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Both origin and destination are ambiguous. Please select from the following options, or be more specific.",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set",
- "Set as Start Location": "Reis herfra",
- "Set as End Location": "Reis hit",
- "Destination": "Destinasjon",
- "Error %(error_id)d": "Feil %(error_id)d",
- "No Trip Found": "Ingen tur tilgjenglig",
- "Your %(bike_share_name)s route": "Din %(bike_share_name)s rute",
- "Your bike route": "Din sykkel rute",
- "Walk to the %(bike_share_name)s dock.": "Gå til %(bike_share_name)s sykkelstativ.",
- "Walk from the %(bike_share_name)s dock to your destination.": "Walk from the %(bike_share_name)s dock to your destination.",
- "Your walk route": "Your walk route",
- "Your route using the scooter": "",
- "Your driving route": "Din sykkel rute",
- "north": "nord",
- "northeast": "nordøst",
- "east": "øst",
- "southeast": "sørøst",
- "south": "sør",
- "southwest": "sørvest",
- "west": "vest",
- "northwest": "nordvest",
- "hard left": "skart venstre",
- "left": "venstre",
- "slight left": "svakt venstre",
- "continue": "fortsett",
- "slight right": "svakt høyre",
- "right": "høyre",
- "hard right": "skart høyre",
- "elevator": "heis",
- "U-turn left": "U-sving venstre",
- "U-turn right": "U-sving høyre",
- "Walk": "Gå",
- "Cycle": "Sykkel",
- "Car": "Bil",
- "Bus": "Buss",
- "Subway": "T-bane",
- "Train": "Tog",
- "Ferry": "Ferje",
- "Light Rail": "Trikk",
- "Cable Car": "Cable Car",
- "Funicular": "Kabelbane",
- "Aerial Tram": "Tau bane",
- "Airplane": "Fly",
- "Bicycle rental station": "Bysykkelstativ",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Følg rundkjøringen mot klokka ta %(ordinal_exit_number)s avkjøring til %(street_name)s",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Følg rundkjøring mot klokka, ta %(ordinal_exit_number)s avkjøring til %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Følg rundkjøring med klokka, ta %(ordinal_exit_number)s avkjøring til %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Følg rundkjøring med klokka, ta %(ordinal_exit_number)s avkjøring til %(street_name)s",
- "Start on": "Start fra",
- " heading ": " mot ",
- "to continue on": "fortsett på",
- "on to": "på",
- "first": "første",
- "second": "andre",
- "third": "tredje",
- "fourth": "fjerde",
- "fifth": "femte",
- "sixth": "sjette",
- "seventh": "syvende",
- "eight": "åttende",
- "ninth": "niende",
- "tenth": "tidende",
- "%d hr": "%d time",
- "%d hr_plural": "%d timer",
- "%d min": "%d minutt",
- "%d min_plural": "%d minutter",
- "%d sec": "%d sekund",
- "%d sec_plural": "%d sekunder",
- "OK": "OK",
- "Minimize": "Minimer vinduer",
- "Bring to front": "Flytt fremst",
- "Send to back": "Flytt bakerst",
- "Route:": "Rute:",
- "Variant:": "Alternativ:",
- "Stop Finder": "Søk Stoppested",
- "Feed": "Agency",
- "By ID": "Med ID",
- "By Name": "Med Navn",
- "Search": "Søk",
- "No Stops Found": "Stoppested ikke funnet",
- "Date": "Date",
- "Find Stops": "Søk Stoppested",
- "(No Stop Selected)": "(Ingen Stoppested valgt)",
- "Block": "Block",
- "Recenter": "Sentrer",
- "Viewer": "Vis",
- "Quick": "Rask",
- "Flat": "Flat",
- "Bike Friendly": "Sykkel vennlig",
- "B": "B",
- "F": "F",
- "Q": "R",
- "All Routes": "Alle Ruter",
- "Save": "Lagre",
- "Close": "Lukk",
- "Travel Options": "Reise Resultater",
- "Geocoder": "Geocoder",
- "Arrive": "Ankomst",
- "Now": "Nå",
- "Wheelchair accessible trip:": "Tilgjenelig for rullestol:",
- "Show Filtered Itineraries:": "",
- "Travel by": "Reis med",
- "Preferred Routes": "Foretrukket rute",
- "Edit": "Endre",
- "None": "Ingen",
- "Weight": "Weight",
- "Banned routes": "Untatt rute",
- "Use": "Bruk",
- "My Own Bike": "Egen Sykkel",
- "A Shared Bike": "Bysykkel",
- "Plan Your Trip": "Planlegg Reise",
- "Additional parameters": "",
- " to _direction": " til ",
- " to _bus_direction": " til ",
- "Start_template": "Fra",
- "Depart_itinerary": "Avgang",
- "depart_itinerary": "Avreise",
- "Start_popup": "Start",
- "Depart_tripoptions": "Avgang"
-}
\ No newline at end of file
+ "Transit": "Kollektivtransport",
+ "Bus Only": "Buss",
+ "Rail Only": "Tog",
+ "Airplane Only": "Fly",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "Sykkel",
+ "Bicycle & Transit": "Sykkel & Kollektivtransport",
+ "Walk Only": "Gå",
+ "Car Only": "Start fra",
+ "Taxi": "",
+ "Park and Ride": "Park and Ride",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "Bike and Ride",
+ "Rented Bicycle": "Bysykkel",
+ "Transit & Rented Bicycle": "Kollektivtransport & Bysykkel",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "Kollektivtransport & Bysykkel",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Sentrer kart her",
+ "Zoom In": "Zoom inn",
+ "Zoom Out": "Zoom ut",
+ "Minimize all": "Minimer vinduer",
+ "Unminimize all": "Vis vinduer",
+ "Stop Viewer": "Vis Stoppested",
+ "Plan Trip": "Reiseplanlegger",
+ "From Stop": "Fra stoppested",
+ "To Stop": "Til stoppested",
+ "Routes Serving Stop": "Ruter fra stoppested",
+ "Bike Share Planner": "Bike Share Planner",
+ "Trip Options": "Reise søk",
+ "PICK UP BIKE": "PICK UP BIKE",
+ "ALTERNATE PICKUP": "ALTERNATE PICKUP",
+ "DROP OFF BIKE": "DROP OFF BIKE",
+ "ALTERNATE DROP OFF": "ALTERNATE DROP OFF",
+ "BIKE STATION": "BIKE STATION",
+ "Station:": "Stasjon:",
+ "%d bike available": "%d sykkel tilgjengelig",
+ "%d bike available_plural": "%d sykler tilgjengelig",
+ "%d dock available": "%d plass ledig",
+ "%d dock available_plural": "%d plasser ledig",
+ "Recommended Pick Up:": "Anbefalt Pick Up:",
+ "Bicycle rental": "Bysykkel",
+ "Recommended Drop Off:": "Anbefalt Drop Off:",
+ "Multimodal Trip Planner": "Reiseplanlegger",
+ "Itineraries": "Vis Reiseplaner",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned": "%d Reise alternativ",
+ "%d Itinerary Returned_plural": "%d Reise alternativer",
+ "Link to search": "Link til søk",
+ "Previous Page": "Forrige",
+ "Next Page": "",
+ "CONTINUES AS": "FORTSETTER SOM",
+ "%d min late": "%d minutt forsinket",
+ "%d min late_plural": "%d minutter forsinket",
+ "%d min early": "%d minutt fortidlig",
+ "%d min early_plural": "%d minutter fortidlig",
+ "on time": "i rute",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "Til",
+ "Trip Summary": "Reise oversikt",
+ "Travel": "Start",
+ "Time": "Reisetid",
+ "GenCost": "Kost",
+ "Total Walk": "Gangeavstand",
+ "Total Bike": "Sykkel distanse",
+ "Total drive": "Bil distanse",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "Bytter",
+ "Fare": "Pris",
+ "Valid": "Gyldig",
+ "Link to Itinerary": "Link til reise",
+ "Print": "Skriv ut",
+ "Your Trip": "Din reise",
+ "Email": "e-post",
+ "every %d min": "hvert minutt",
+ "every %d min_plural": "hvert %d minutt",
+ "Board at ": "Påstigning ",
+ "Stop": "Stoppested",
+ "Time in transit": "Tid kollektivtransport",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "Vis Rute",
+ "late as": "sent som",
+ "Stay on board": "Bli om bord",
+ "Alight": "Avstigning",
+ "at": "på",
+ "%(currency)s %(price)s": "%(currency)s %(price)s",
+ "Start: %(location)s at %(time_date)s": "Fra: %(location)s klokka %(time_date)s",
+ "Board": "Påstigning",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s Stoppested ID #%(stop_id)s),",
+ "End: %(location)s at %(time_date)s": "Ankomst: %(location)s klokka %(time_date)s",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "\nVis reiseplan:\n%(itinerary_link)s\n",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Beklager. Reiseplanleggeren er midlertidig utilgjengelig. Venligst forsøk igjen senere.",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "Ingen reise funnet. Sjekk at fra/til sted er innenfor angitt gangavstand til destinasjon, stopested, bysykkel-stativ og/eller påstigningspunkt for bil.",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Ingen kolektivreiser funnet for denne dagen.",
+ "The trip planner is taking way too long to process your request. Please try again later.": "Reiseplanleggeren svarer ikke på forspørsel. Prøv igjen senere.",
+ "The request has errors that the server is not willing or able to process.": "Ugyldig input data. Server er ikke i stand til å behandle 'RouteRequest'.",
+ "Origin is unknown. Can you be a bit more descriptive?": "Avreisested er ukjent. Kan du spesifisere nærmere?",
+ "Destination is unknown. Can you be a bit more descriptive?": "Reisemålet er ukjent. Kan du spesifisere nærmere?",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "Både fra/til sted er ukjent. Kan du spesifisere nærmere?",
+ "Both origin and destination are not wheelchair accessible": "Både fra/til sted er utilgjengelig for rullestolukjent.",
+ "Origin is within a trivial distance of the destination.": "Du kan klare å gå? Det er bare noen få meter.",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Both origin and destination are ambiguous. Please select from the following options, or be more specific.",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set",
+ "Set as Start Location": "Reis herfra",
+ "Set as End Location": "Reis hit",
+ "Destination": "Destinasjon",
+ "Error %(error_id)d": "Feil %(error_id)d",
+ "No Trip Found": "Ingen tur tilgjenglig",
+ "Your %(bike_share_name)s route": "Din %(bike_share_name)s rute",
+ "Your bike route": "Din sykkel rute",
+ "Walk to the %(bike_share_name)s dock.": "Gå til %(bike_share_name)s sykkelstativ.",
+ "Walk from the %(bike_share_name)s dock to your destination.": "Walk from the %(bike_share_name)s dock to your destination.",
+ "Your walk route": "Your walk route",
+ "Your route using the scooter": "",
+ "Your driving route": "Din sykkel rute",
+ "north": "nord",
+ "northeast": "nordøst",
+ "east": "øst",
+ "southeast": "sørøst",
+ "south": "sør",
+ "southwest": "sørvest",
+ "west": "vest",
+ "northwest": "nordvest",
+ "hard left": "skart venstre",
+ "left": "venstre",
+ "slight left": "svakt venstre",
+ "continue": "fortsett",
+ "slight right": "svakt høyre",
+ "right": "høyre",
+ "hard right": "skart høyre",
+ "elevator": "heis",
+ "U-turn left": "U-sving venstre",
+ "U-turn right": "U-sving høyre",
+ "Walk": "Gå",
+ "Cycle": "Sykkel",
+ "Car": "Bil",
+ "Bus": "Buss",
+ "Subway": "T-bane",
+ "Train": "Tog",
+ "Ferry": "Ferje",
+ "Light Rail": "Trikk",
+ "Cable Car": "Cable Car",
+ "Funicular": "Kabelbane",
+ "Aerial Tram": "Tau bane",
+ "Airplane": "Fly",
+ "Bicycle rental station": "Bysykkelstativ",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Følg rundkjøringen mot klokka ta %(ordinal_exit_number)s avkjøring til %(street_name)s",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Følg rundkjøring mot klokka, ta %(ordinal_exit_number)s avkjøring til %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Følg rundkjøring med klokka, ta %(ordinal_exit_number)s avkjøring til %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Følg rundkjøring med klokka, ta %(ordinal_exit_number)s avkjøring til %(street_name)s",
+ "Start on": "Start fra",
+ " heading ": " mot ",
+ "to continue on": "fortsett på",
+ "on to": "på",
+ "first": "første",
+ "second": "andre",
+ "third": "tredje",
+ "fourth": "fjerde",
+ "fifth": "femte",
+ "sixth": "sjette",
+ "seventh": "syvende",
+ "eight": "åttende",
+ "ninth": "niende",
+ "tenth": "tidende",
+ "%d hr": "%d time",
+ "%d hr_plural": "%d timer",
+ "%d min": "%d minutt",
+ "%d min_plural": "%d minutter",
+ "%d sec": "%d sekund",
+ "%d sec_plural": "%d sekunder",
+ "OK": "OK",
+ "Minimize": "Minimer vinduer",
+ "Bring to front": "Flytt fremst",
+ "Send to back": "Flytt bakerst",
+ "Route:": "Rute:",
+ "Variant:": "Alternativ:",
+ "Stop Finder": "Søk Stoppested",
+ "Feed": "Agency",
+ "By ID": "Med ID",
+ "By Name": "Med Navn",
+ "Search": "Søk",
+ "No Stops Found": "Stoppested ikke funnet",
+ "Date": "Date",
+ "Find Stops": "Søk Stoppested",
+ "(No Stop Selected)": "(Ingen Stoppested valgt)",
+ "Block": "Block",
+ "Recenter": "Sentrer",
+ "Viewer": "Vis",
+ "Quick": "Rask",
+ "Flat": "Flat",
+ "Bike Friendly": "Sykkel vennlig",
+ "B": "B",
+ "F": "F",
+ "Q": "R",
+ "All Routes": "Alle Ruter",
+ "Save": "Lagre",
+ "Close": "Lukk",
+ "Travel Options": "Reise Resultater",
+ "Geocoder": "Geocoder",
+ "Arrive": "Ankomst",
+ "Now": "Nå",
+ "Wheelchair accessible trip:": "Tilgjenelig for rullestol:",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Reis med",
+ "Preferred Routes": "Foretrukket rute",
+ "Edit": "Endre",
+ "None": "Ingen",
+ "Weight": "Weight",
+ "Banned routes": "Untatt rute",
+ "Use": "Bruk",
+ "My Own Bike": "Egen Sykkel",
+ "A Shared Bike": "Bysykkel",
+ "Plan Your Trip": "Planlegg Reise",
+ "Additional parameters": "",
+ " to _direction": " til ",
+ " to _bus_direction": " til ",
+ "Start_template": "Fra",
+ "Depart_itinerary": "Avgang",
+ "depart_itinerary": "Avreise",
+ "Start_popup": "Start",
+ "Depart_tripoptions": "Avgang"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/pl.json b/application/src/client/classic-debug/js/otp/locale/pl.json
index 5cf5a9c71b5..33cf622f930 100644
--- a/application/src/client/classic-debug/js/otp/locale/pl.json
+++ b/application/src/client/classic-debug/js/otp/locale/pl.json
@@ -1,247 +1,247 @@
{
- "Transit": "komunikacją publiczną",
- "Bus Only": "wyłącznie autobusami",
- "Rail Only": "wyłącznie koleją",
- "Airplane Only": "",
- "Transit, No Airplane": "",
- "Bicycle Only": "wyłącznie rowerem",
- "Bicycle & Transit": "rowerem & komunikacją publiczną",
- "Walk Only": "wyłącznie pieszo",
- "Car Only": "Rozpocznij na ulicy",
- "Taxi": "",
- "Park and Ride": "schemat P+R (Park and Ride)",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "schemat B+R (Bike and Ride)",
- "Rented Bicycle": "wypożyczonym rowerem",
- "Transit & Rented Bicycle": "kom. publiczną & wypoż. rowerem",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "kom. publiczną & wypoż. rowerem",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Wyśrodkuj mapę w tym miejscu",
- "Zoom In": "Przybliż",
- "Zoom Out": "Oddal",
- "Minimize all": "Minimalizuj wszystko",
- "Unminimize all": "Maskymalizuj wszystko",
- "Stop Viewer": "Zatrzymaj podgląd",
- "Plan Trip": "Zaplanuj podróż",
- "From Stop": "Z przystanku",
- "To Stop": "Do przystanku",
- "Routes Serving Stop": "Trasy obsługujące dany przystanek",
- "Bike Share Planner": "Planner wypożyczenia roweru",
- "Trip Options": "Trasa",
- "PICK UP BIKE": "WYPOŻYCZ ROWER",
- "ALTERNATE PICKUP": "ALTERNATYWNY PUNKT WYPOŻYCZENIA",
- "DROP OFF BIKE": "ODDAJ ROWER",
- "ALTERNATE DROP OFF": "ALTERNATYWNY PUNKT ODDANIA ROWERU",
- "BIKE STATION": "STACJA ROWEROWA",
- "Station:": "Stacja:",
- "%d bike available_0": "%d dostępny rower",
- "%d bike available_1": "%d dostępne rowery",
- "%d bike available_2": "%d dostępnych rowerów",
- "%d dock available_0": "%d dostępna stacja",
- "%d dock available_1": "%d dostępne stacje",
- "%d dock available_2": "%d dostępnych stacji",
- "Recommended Pick Up:": "Rekomendowane miejsce wypożyczenia roweru:",
- "Bicycle rental": "Wypożyczalnia rowerów",
- "Recommended Drop Off:": "Rekomendowane miejsce oddania roweru:",
- "Multimodal Trip Planner": "Planner Podróży",
- "Itineraries": "Trasy",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned_0": "%d zwrócona trasa",
- "%d Itinerary Returned_1": "%d zwrócone trasy",
- "%d Itinerary Returned_2": "%d zwróconych tras",
- "Link to search": "Link do wyszukiwania",
- "Previous Page": "Poprzednia",
- "Next Page": "",
- "CONTINUES AS": "POZOSTAŃ",
- "%d min late_0": "%d minuta opóźnienia",
- "%d min late_1": "%d minuty opóźnienia",
- "%d min late_2": "%d minut opóźnienia",
- "%d min early_0": "%d minuta przed czasem",
- "%d min early_1": "%d minuty przed czasem",
- "%d min early_2": "%d minut przed czasem",
- "on time": "na czas",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "Koniec",
- "Trip Summary": "Podsumowanie podróży",
- "Travel": "Podróż",
- "Time": "Czas trwania podróży",
- "GenCost": "",
- "Total Walk": "Długość trasy do pokonania pieszo",
- "Total Bike": "Długośc trasy do pokonania rowerem",
- "Total drive": "",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "Przesiadki",
- "Fare": "Koszt",
- "Valid": "Aktualna",
- "Link to Itinerary": "Link do trasy",
- "Print": "Drukuj",
- "Your Trip": "Zaplanowana podróż",
- "Email": "Adres e-mail",
- "every %d min_0": "co %d minutę",
- "every %d min_1": "co %d minuty",
- "every %d min_2": "co %d minut",
- "Board at ": "Wyjazd o",
- "Stop": "Przystanek",
- "Time in transit": "Czas spędzony w komunikacji publicznej",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "Podgląd podróży",
- "late as": "dopiero jak",
- "Stay on board": "Kontynuuj podróż",
- "Alight": "Wysiądź",
- "at": "na przystanku",
- "%(currency)s %(price)s": "%(currency)s %(price)s",
- "Start: %(location)s at %(time_date)s": "Początek: %(location)s o %(time_date)s",
- "Board": "Wyjazd",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s ID przystanku #%(stop_id)s),",
- "End: %(location)s at %(time_date)s": "Koniec: %(location)s o %(time_date)s",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "\nWyświetl trasę w trybie online:\n%(itinerary_link)s\n",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Przepraszamy. Planer podróży jest obecnie niedostępny. Prosimy o ponowienie próby w późniejszym czasie.",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Brak informacji o rozkładzie komunikacji publicznej. Obowiązujące dane mogą być nieaktualne, bądź niekompatybilne w wybranym czasie z zaplanowaną trasą.",
- "The trip planner is taking way too long to process your request. Please try again later.": "Planer podróży nie jest w stanie przetwożyć powierzonego mu zadania. Prosimy o ponowienie próby w późniejszym czasie.",
- "The request has errors that the server is not willing or able to process.": "Wybrane zapytanie posiada błędy, których serwer nie jest w stanie obsłużyć.",
- "Origin is unknown. Can you be a bit more descriptive?": "Wystąpił problem z określeniem lokalizacji startowej. Czy mógłbyś sprecyzować zapytanie?",
- "Destination is unknown. Can you be a bit more descriptive?": "Wystąpił problem z określeniem lokalizacji końcowej. Czy mógłbyś sprecyzować zapytanie?",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "Wystąpił problem z określeniem lokalizacji startowej oraz końcowej. Czy mógłbyś sprecyzować zapytanie?",
- "Both origin and destination are not wheelchair accessible": "Zarówno lokalizacja startowa, jak i końcowa, nie oferuje udogodnień dla osób niepełnosprawnych.",
- "Origin is within a trivial distance of the destination.": "Lokalizacja początkowa jest zlokalizowana w nieznacznej odległości od miejsca docelowego.",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "Planer podróży nie może zinterpretować lokalizacji początkowej. Prosimy o wybranie jednej z poniższych opcji, bądź sprecyzować zapytanie.",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "Planer podróży nie może zinterpretować lokalizacji końcowej. Prosimy o wybranie jednej z poniższych opcji, bądź sprecyzować zapytanie.",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Zarówno lokalizacja początkowa, jak i końcowa nie została poprawnie ziterpretowana przez planer podróży. Prosimy o wybranie pozycji dostępnych na liście poniżej, bądź sprecyzować zapytanie.",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "Każdy z parametrów triangleSafetyFactor (bezpieczeństwo), triangleSlopeFactor (nachylenie) i triangleTimeFactor (czas) musi zostać ustawiony, jeśli na trasie znajdują się dane punkty.",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "Suma wartości w parametrach triangleSafetyFactor, triangleSlopeFactor i triangleTimeFactor musi wynieśc równo 1.",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Jeśli zostały wprowadzone parametry triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor, wartość OptimizeType musi wskazywać na TRIANGLE (TRÓJKĄT)",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Jeśli wartość pola OptimizeType wskazuje na TRIANGLE (TRÓJKĄT), należy podać parametry zmiennych triangleSafetyFactor, triangleSlopeFactor oraz triangleTimeFactor.",
- "Set as Start Location": "Wybierz jako punkt początkowy",
- "Set as End Location": "Wybierz jako punkt końcowy",
- "Destination": "Cel",
- "Error %(error_id)d": "Błąd %(error_id)d",
- "No Trip Found": "Trasa nie została wyznaczona",
- "Your %(bike_share_name)s route": "Twoja trasa : %(bike_share_name)s",
- "Your bike route": "Trasa pokonana rowerem",
- "Walk to the %(bike_share_name)s dock.": "Przejdź do doku %(bike_share_name)s",
- "Walk from the %(bike_share_name)s dock to your destination.": "Przejdź z doku %(bike_share_name)s do punktu docelowego",
- "Your walk route": "Trasa pokonana pieszo",
- "Your route using the scooter": "",
- "Your driving route": "Trasa pokonana rowerem",
- "north": "północ",
- "northeast": "północny wschód",
- "east": "wschód",
- "southeast": "południowy wschód",
- "south": "południe",
- "southwest": "południowy zachód",
- "west": "zachód",
- "northwest": "północny zachód",
- "hard left": "ostro w lewo",
- "left": "lewo",
- "slight left": "łagodnie w lewo",
- "continue": "utrzymuj kierunek",
- "slight right": "łagodnie w prawo",
- "right": "prawo",
- "hard right": "ostro w prawo",
- "elevator": "wzniesienie",
- "U-turn left": "nawrót w lewo",
- "U-turn right": "nawrót w prawo",
- "Walk": "Spacer",
- "Cycle": "Rower",
- "Car": "Samochód",
- "Bus": "Autobus",
- "Subway": "Metro",
- "Train": "Pociąg",
- "Ferry": "Prom",
- "Light Rail": "Light Rail",
- "Cable Car": "Kolejka linowa",
- "Funicular": "Kolej linowo-terenowa",
- "Aerial Tram": "Kolej linowa",
- "Airplane": "",
- "Bicycle rental station": "Stacja wypożyczalni rowerów",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Przejedź przez rondo przeciwnie do ruchów wskazówki zegara do %(ordinal_exit_number)s wyjazdu na ulicę %(street_name)s",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Przejedź przez rondo przeciwnie do ruchów wskazówki zegara do %(ordinal_exit_number)s wyjazdu na ulicę %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Przejedź przez rondo zgodnie z ruchem wskazówki zegara do %(ordinal_exit_number)s wyjazdu na ulicę %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Przejedź przez rondo zgodnie z ruchem wskazówki zegara do %(ordinal_exit_number)s wyjazdu na ulicę %(street_name)s",
- "Start on": "Rozpocznij na ulicy",
- " heading ": "kierując się na",
- "to continue on": "kieruj się w stronę",
- "on to": "ulicy",
- "first": "pierwszego",
- "second": "drugiego",
- "third": "trzeciego",
- "fourth": "czwartego",
- "fifth": "piątego",
- "sixth": "szóstego",
- "seventh": "siódmego",
- "eight": "ósmego",
- "ninth": "dziewiątego",
- "tenth": "dziesiątego",
- "%d hr_0": "%d h",
- "%d hr_1": "%d h",
- "%d hr_2": "%d h",
- "%d min_0": "%d min",
- "%d min_1": "%d min",
- "%d min_2": "%d min",
- "%d sec_0": "%d sek",
- "%d sec_1": "%d sek",
- "%d sec_2": "%d sek",
- "OK": "OK",
- "Minimize": "Minimalizuj",
- "Bring to front": "Przenieś na wierzch",
- "Send to back": "Przesuń na spód",
- "Route:": "Trasa przejazdu:",
- "Variant:": "Wariant:",
- "Stop Finder": "Wyszukiwarka przystanków",
- "Feed": "Agencja",
- "By ID": "ID",
- "By Name": "Nazwa",
- "Search": "Szukaj",
- "No Stops Found": "Nie znaleziono przystanków",
- "Date": "Data",
- "Find Stops": "Wyszukaj przystanki",
- "(No Stop Selected)": "Nie wybrano przystanków",
- "Block": "Zablokuj",
- "Recenter": "Wyśrodkuj",
- "Viewer": "Podgląd",
- "Quick": "Szybki",
- "Flat": "Równy teren",
- "Bike Friendly": "Przyjazny dla rowerzystów",
- "B": "B",
- "F": "F",
- "Q": "Q",
- "All Routes": "Wszystkie trasy",
- "Save": "Zapisz",
- "Close": "Zamknij",
- "Travel Options": "Opcje podróży",
- "Geocoder": "Geocoder",
- "Arrive": "Czas przyjazdu",
- "Now": "Teraz",
- "Wheelchair accessible trip:": "Wycieczka zawierająca udogodnienia dla osób niepełnosprawnych",
- "Show Filtered Itineraries:": "",
- "Travel by": "Podróżuj",
- "Preferred Routes": "Preferowane trasy",
- "Edit": "Edytuj",
- "None": "Brak",
- "Weight": "Waga",
- "Banned routes": "Wyłączone trasy",
- "Use": "Użyj",
- "My Own Bike": "własnego roweru",
- "A Shared Bike": "wypożyczonego roweru",
- "Plan Your Trip": "Zaplanuj swoją podróż",
- "Additional parameters": "",
- " to _direction": "w kierunku",
- " to _bus_direction": "w kierunku",
- "Start_template": "Start",
- "Depart_itinerary": "Wyjazd ze stacji",
- "depart_itinerary": "odjazd",
- "Start_popup": "Początek",
- "Depart_tripoptions": "Czas wyjazdu"
-}
\ No newline at end of file
+ "Transit": "komunikacją publiczną",
+ "Bus Only": "wyłącznie autobusami",
+ "Rail Only": "wyłącznie koleją",
+ "Airplane Only": "",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "wyłącznie rowerem",
+ "Bicycle & Transit": "rowerem & komunikacją publiczną",
+ "Walk Only": "wyłącznie pieszo",
+ "Car Only": "Rozpocznij na ulicy",
+ "Taxi": "",
+ "Park and Ride": "schemat P+R (Park and Ride)",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "schemat B+R (Bike and Ride)",
+ "Rented Bicycle": "wypożyczonym rowerem",
+ "Transit & Rented Bicycle": "kom. publiczną & wypoż. rowerem",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "kom. publiczną & wypoż. rowerem",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Wyśrodkuj mapę w tym miejscu",
+ "Zoom In": "Przybliż",
+ "Zoom Out": "Oddal",
+ "Minimize all": "Minimalizuj wszystko",
+ "Unminimize all": "Maskymalizuj wszystko",
+ "Stop Viewer": "Zatrzymaj podgląd",
+ "Plan Trip": "Zaplanuj podróż",
+ "From Stop": "Z przystanku",
+ "To Stop": "Do przystanku",
+ "Routes Serving Stop": "Trasy obsługujące dany przystanek",
+ "Bike Share Planner": "Planner wypożyczenia roweru",
+ "Trip Options": "Trasa",
+ "PICK UP BIKE": "WYPOŻYCZ ROWER",
+ "ALTERNATE PICKUP": "ALTERNATYWNY PUNKT WYPOŻYCZENIA",
+ "DROP OFF BIKE": "ODDAJ ROWER",
+ "ALTERNATE DROP OFF": "ALTERNATYWNY PUNKT ODDANIA ROWERU",
+ "BIKE STATION": "STACJA ROWEROWA",
+ "Station:": "Stacja:",
+ "%d bike available_0": "%d dostępny rower",
+ "%d bike available_1": "%d dostępne rowery",
+ "%d bike available_2": "%d dostępnych rowerów",
+ "%d dock available_0": "%d dostępna stacja",
+ "%d dock available_1": "%d dostępne stacje",
+ "%d dock available_2": "%d dostępnych stacji",
+ "Recommended Pick Up:": "Rekomendowane miejsce wypożyczenia roweru:",
+ "Bicycle rental": "Wypożyczalnia rowerów",
+ "Recommended Drop Off:": "Rekomendowane miejsce oddania roweru:",
+ "Multimodal Trip Planner": "Planner Podróży",
+ "Itineraries": "Trasy",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned_0": "%d zwrócona trasa",
+ "%d Itinerary Returned_1": "%d zwrócone trasy",
+ "%d Itinerary Returned_2": "%d zwróconych tras",
+ "Link to search": "Link do wyszukiwania",
+ "Previous Page": "Poprzednia",
+ "Next Page": "",
+ "CONTINUES AS": "POZOSTAŃ",
+ "%d min late_0": "%d minuta opóźnienia",
+ "%d min late_1": "%d minuty opóźnienia",
+ "%d min late_2": "%d minut opóźnienia",
+ "%d min early_0": "%d minuta przed czasem",
+ "%d min early_1": "%d minuty przed czasem",
+ "%d min early_2": "%d minut przed czasem",
+ "on time": "na czas",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "Koniec",
+ "Trip Summary": "Podsumowanie podróży",
+ "Travel": "Podróż",
+ "Time": "Czas trwania podróży",
+ "GenCost": "",
+ "Total Walk": "Długość trasy do pokonania pieszo",
+ "Total Bike": "Długośc trasy do pokonania rowerem",
+ "Total drive": "",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "Przesiadki",
+ "Fare": "Koszt",
+ "Valid": "Aktualna",
+ "Link to Itinerary": "Link do trasy",
+ "Print": "Drukuj",
+ "Your Trip": "Zaplanowana podróż",
+ "Email": "Adres e-mail",
+ "every %d min_0": "co %d minutę",
+ "every %d min_1": "co %d minuty",
+ "every %d min_2": "co %d minut",
+ "Board at ": "Wyjazd o",
+ "Stop": "Przystanek",
+ "Time in transit": "Czas spędzony w komunikacji publicznej",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "Podgląd podróży",
+ "late as": "dopiero jak",
+ "Stay on board": "Kontynuuj podróż",
+ "Alight": "Wysiądź",
+ "at": "na przystanku",
+ "%(currency)s %(price)s": "%(currency)s %(price)s",
+ "Start: %(location)s at %(time_date)s": "Początek: %(location)s o %(time_date)s",
+ "Board": "Wyjazd",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s ID przystanku #%(stop_id)s),",
+ "End: %(location)s at %(time_date)s": "Koniec: %(location)s o %(time_date)s",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "\nWyświetl trasę w trybie online:\n%(itinerary_link)s\n",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Przepraszamy. Planer podróży jest obecnie niedostępny. Prosimy o ponowienie próby w późniejszym czasie.",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Brak informacji o rozkładzie komunikacji publicznej. Obowiązujące dane mogą być nieaktualne, bądź niekompatybilne w wybranym czasie z zaplanowaną trasą.",
+ "The trip planner is taking way too long to process your request. Please try again later.": "Planer podróży nie jest w stanie przetwożyć powierzonego mu zadania. Prosimy o ponowienie próby w późniejszym czasie.",
+ "The request has errors that the server is not willing or able to process.": "Wybrane zapytanie posiada błędy, których serwer nie jest w stanie obsłużyć.",
+ "Origin is unknown. Can you be a bit more descriptive?": "Wystąpił problem z określeniem lokalizacji startowej. Czy mógłbyś sprecyzować zapytanie?",
+ "Destination is unknown. Can you be a bit more descriptive?": "Wystąpił problem z określeniem lokalizacji końcowej. Czy mógłbyś sprecyzować zapytanie?",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "Wystąpił problem z określeniem lokalizacji startowej oraz końcowej. Czy mógłbyś sprecyzować zapytanie?",
+ "Both origin and destination are not wheelchair accessible": "Zarówno lokalizacja startowa, jak i końcowa, nie oferuje udogodnień dla osób niepełnosprawnych.",
+ "Origin is within a trivial distance of the destination.": "Lokalizacja początkowa jest zlokalizowana w nieznacznej odległości od miejsca docelowego.",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "Planer podróży nie może zinterpretować lokalizacji początkowej. Prosimy o wybranie jednej z poniższych opcji, bądź sprecyzować zapytanie.",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "Planer podróży nie może zinterpretować lokalizacji końcowej. Prosimy o wybranie jednej z poniższych opcji, bądź sprecyzować zapytanie.",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Zarówno lokalizacja początkowa, jak i końcowa nie została poprawnie ziterpretowana przez planer podróży. Prosimy o wybranie pozycji dostępnych na liście poniżej, bądź sprecyzować zapytanie.",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "Każdy z parametrów triangleSafetyFactor (bezpieczeństwo), triangleSlopeFactor (nachylenie) i triangleTimeFactor (czas) musi zostać ustawiony, jeśli na trasie znajdują się dane punkty.",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "Suma wartości w parametrach triangleSafetyFactor, triangleSlopeFactor i triangleTimeFactor musi wynieśc równo 1.",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Jeśli zostały wprowadzone parametry triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor, wartość OptimizeType musi wskazywać na TRIANGLE (TRÓJKĄT)",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Jeśli wartość pola OptimizeType wskazuje na TRIANGLE (TRÓJKĄT), należy podać parametry zmiennych triangleSafetyFactor, triangleSlopeFactor oraz triangleTimeFactor.",
+ "Set as Start Location": "Wybierz jako punkt początkowy",
+ "Set as End Location": "Wybierz jako punkt końcowy",
+ "Destination": "Cel",
+ "Error %(error_id)d": "Błąd %(error_id)d",
+ "No Trip Found": "Trasa nie została wyznaczona",
+ "Your %(bike_share_name)s route": "Twoja trasa : %(bike_share_name)s",
+ "Your bike route": "Trasa pokonana rowerem",
+ "Walk to the %(bike_share_name)s dock.": "Przejdź do doku %(bike_share_name)s",
+ "Walk from the %(bike_share_name)s dock to your destination.": "Przejdź z doku %(bike_share_name)s do punktu docelowego",
+ "Your walk route": "Trasa pokonana pieszo",
+ "Your route using the scooter": "",
+ "Your driving route": "Trasa pokonana rowerem",
+ "north": "północ",
+ "northeast": "północny wschód",
+ "east": "wschód",
+ "southeast": "południowy wschód",
+ "south": "południe",
+ "southwest": "południowy zachód",
+ "west": "zachód",
+ "northwest": "północny zachód",
+ "hard left": "ostro w lewo",
+ "left": "lewo",
+ "slight left": "łagodnie w lewo",
+ "continue": "utrzymuj kierunek",
+ "slight right": "łagodnie w prawo",
+ "right": "prawo",
+ "hard right": "ostro w prawo",
+ "elevator": "wzniesienie",
+ "U-turn left": "nawrót w lewo",
+ "U-turn right": "nawrót w prawo",
+ "Walk": "Spacer",
+ "Cycle": "Rower",
+ "Car": "Samochód",
+ "Bus": "Autobus",
+ "Subway": "Metro",
+ "Train": "Pociąg",
+ "Ferry": "Prom",
+ "Light Rail": "Light Rail",
+ "Cable Car": "Kolejka linowa",
+ "Funicular": "Kolej linowo-terenowa",
+ "Aerial Tram": "Kolej linowa",
+ "Airplane": "",
+ "Bicycle rental station": "Stacja wypożyczalni rowerów",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Przejedź przez rondo przeciwnie do ruchów wskazówki zegara do %(ordinal_exit_number)s wyjazdu na ulicę %(street_name)s",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Przejedź przez rondo przeciwnie do ruchów wskazówki zegara do %(ordinal_exit_number)s wyjazdu na ulicę %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Przejedź przez rondo zgodnie z ruchem wskazówki zegara do %(ordinal_exit_number)s wyjazdu na ulicę %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Przejedź przez rondo zgodnie z ruchem wskazówki zegara do %(ordinal_exit_number)s wyjazdu na ulicę %(street_name)s",
+ "Start on": "Rozpocznij na ulicy",
+ " heading ": "kierując się na",
+ "to continue on": "kieruj się w stronę",
+ "on to": "ulicy",
+ "first": "pierwszego",
+ "second": "drugiego",
+ "third": "trzeciego",
+ "fourth": "czwartego",
+ "fifth": "piątego",
+ "sixth": "szóstego",
+ "seventh": "siódmego",
+ "eight": "ósmego",
+ "ninth": "dziewiątego",
+ "tenth": "dziesiątego",
+ "%d hr_0": "%d h",
+ "%d hr_1": "%d h",
+ "%d hr_2": "%d h",
+ "%d min_0": "%d min",
+ "%d min_1": "%d min",
+ "%d min_2": "%d min",
+ "%d sec_0": "%d sek",
+ "%d sec_1": "%d sek",
+ "%d sec_2": "%d sek",
+ "OK": "OK",
+ "Minimize": "Minimalizuj",
+ "Bring to front": "Przenieś na wierzch",
+ "Send to back": "Przesuń na spód",
+ "Route:": "Trasa przejazdu:",
+ "Variant:": "Wariant:",
+ "Stop Finder": "Wyszukiwarka przystanków",
+ "Feed": "Agencja",
+ "By ID": "ID",
+ "By Name": "Nazwa",
+ "Search": "Szukaj",
+ "No Stops Found": "Nie znaleziono przystanków",
+ "Date": "Data",
+ "Find Stops": "Wyszukaj przystanki",
+ "(No Stop Selected)": "Nie wybrano przystanków",
+ "Block": "Zablokuj",
+ "Recenter": "Wyśrodkuj",
+ "Viewer": "Podgląd",
+ "Quick": "Szybki",
+ "Flat": "Równy teren",
+ "Bike Friendly": "Przyjazny dla rowerzystów",
+ "B": "B",
+ "F": "F",
+ "Q": "Q",
+ "All Routes": "Wszystkie trasy",
+ "Save": "Zapisz",
+ "Close": "Zamknij",
+ "Travel Options": "Opcje podróży",
+ "Geocoder": "Geocoder",
+ "Arrive": "Czas przyjazdu",
+ "Now": "Teraz",
+ "Wheelchair accessible trip:": "Wycieczka zawierająca udogodnienia dla osób niepełnosprawnych",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Podróżuj",
+ "Preferred Routes": "Preferowane trasy",
+ "Edit": "Edytuj",
+ "None": "Brak",
+ "Weight": "Waga",
+ "Banned routes": "Wyłączone trasy",
+ "Use": "Użyj",
+ "My Own Bike": "własnego roweru",
+ "A Shared Bike": "wypożyczonego roweru",
+ "Plan Your Trip": "Zaplanuj swoją podróż",
+ "Additional parameters": "",
+ " to _direction": "w kierunku",
+ " to _bus_direction": "w kierunku",
+ "Start_template": "Start",
+ "Depart_itinerary": "Wyjazd ze stacji",
+ "depart_itinerary": "odjazd",
+ "Start_popup": "Początek",
+ "Depart_tripoptions": "Czas wyjazdu"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/pt.json b/application/src/client/classic-debug/js/otp/locale/pt.json
index 9d15e4afe1a..bf2e4a78732 100644
--- a/application/src/client/classic-debug/js/otp/locale/pt.json
+++ b/application/src/client/classic-debug/js/otp/locale/pt.json
@@ -1,238 +1,238 @@
{
- "Transit": "Vários",
- "Bus Only": "Autocarro apenas",
- "Rail Only": "Só ferroviário",
- "Airplane Only": "",
- "Transit, No Airplane": "",
- "Bicycle Only": "Bicicleta apenas",
- "Bicycle & Transit": "Bicicleta & vários",
- "Walk Only": "Só a pé",
- "Car Only": "Origem em",
- "Taxi": "",
- "Park and Ride": "Estacionar e conduzir",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "Bicicleta e conduzir",
- "Rented Bicycle": "Bicicleta alugada",
- "Transit & Rented Bicycle": "Vários & bicicletas alugadas",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "Vários & bicicletas alugadas",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Mapa mais recente aqui",
- "Zoom In": "Zoom In",
- "Zoom Out": "Zoom Out",
- "Minimize all": "Minimizar tudo",
- "Unminimize all": "Maximizar tudo",
- "Stop Viewer": "Visualizardor de paragens",
- "Plan Trip": "Planear rota",
- "From Stop": "Da paragem",
- "To Stop": "Para a paragem",
- "Routes Serving Stop": "Paragens servindo as linhas",
- "Bike Share Planner": "Planeador de partilha de bicicletas",
- "Trip Options": "Opções de viagem",
- "PICK UP BIKE": "APANHAR UMA BICICLETA",
- "ALTERNATE PICKUP": "APANHAR DE BICICLETA ALTERNATIVO",
- "DROP OFF BIKE": "LARGAR A BICICLETA",
- "ALTERNATE DROP OFF": "LARGAR DE BICICLETA ALTERNATIVO",
- "BIKE STATION": "ESTAÇÃO DE BICICLETAS",
- "Station:": "Estação:",
- "%d bike available": "%d bicicleta disponível",
- "%d bike available_plural": "%d bicicletas disponíveis",
- "%d dock available": "%d dock disponível",
- "%d dock available_plural": "%d docks disponíveis",
- "Recommended Pick Up:": "Apanhar de bicicleta recomendado:",
- "Bicycle rental": "Aluguer de bicicletas",
- "Recommended Drop Off:": "Largar de bicicleta recomendado:",
- "Multimodal Trip Planner": "Planeador de rotas multi-modal",
- "Itineraries": "Itinerários",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned": "%d Itinerário devolvido",
- "%d Itinerary Returned_plural": "%d Itinerários devolvidos",
- "Link to search": "Link para pesquisa",
- "Previous Page": "Anterior",
- "Next Page": "",
- "CONTINUES AS": "CONTINUAR COMO",
- "%d min late": "%d min mais tarde",
- "%d min late_plural": "%d mins mais tarde",
- "%d min early": "%d min mais cedo",
- "%d min early_plural": "%d mins mais cedo",
- "on time": "a tempo",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "Destino",
- "Trip Summary": "Sumário da rota",
- "Travel": "Viagem",
- "Time": "Tempo",
- "GenCost": "",
- "Total Walk": "Total a pé",
- "Total Bike": "Total de bicicleta",
- "Total drive": "",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "Transferências",
- "Fare": "Tarifa",
- "Valid": "Válido",
- "Link to Itinerary": "Link para o itenerário",
- "Print": "Imprimir",
- "Your Trip": "A tua rota",
- "Email": "Email",
- "every %d min": "A cada %d min",
- "every %d min_plural": " A cada %d mins",
- "Board at ": "Entrar às",
- "Stop": "Paragem",
- "Time in transit": "Tempo em viagem",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "Visualizador de rotas",
- "late as": "tão tarde como",
- "Stay on board": "Mantenha-se em viagem",
- "Alight": "Iluminado",
- "at": "às",
- "%(currency)s %(price)s": "%(currency)s %(price)s",
- "Start: %(location)s at %(time_date)s": "Partida: %(location)s às %(time_date)s",
- "Board": "Entrar",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s ID Paragem #%(stop_id)s),",
- "End: %(location)s at %(time_date)s": "Destino: %(location)s at %(time_date)s",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "\nVer itinerário online:\n%(itinerary_link)s\n",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Pedimos desculpa. O planeador de rotas está temporariamente indisponível. Tente mais tarde.",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Não há tempos de trânsito disponíveis. Não há informação acerca dos transportes para esta data.",
- "The trip planner is taking way too long to process your request. Please try again later.": "O planeador de rotas está a demorar demasiado tempo para processar o seu pedido. Tente mais tarde.",
- "The request has errors that the server is not willing or able to process.": "O seu pedido tem erros e o servidor não está a conseguir processá-lo.",
- "Origin is unknown. Can you be a bit more descriptive?": "Origem desconhecida. Pode ser mais descritivo?",
- "Destination is unknown. Can you be a bit more descriptive?": "Destino indisponível. Pode ser mais descritivo?",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "Origem e destino desconhecidos. Pode ser mais descritivo?",
- "Both origin and destination are not wheelchair accessible": "Origem e destino não acessível a cadeiras de rodas.",
- "Origin is within a trivial distance of the destination.": "Origem a uma distância demasiado pequena do destino.",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "O planeador de rotas está inseguro em relação à localização da sua origem. Selecione uma das seguintes opções ou seja mais específico.",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "O planeador de rotas está inseguro em relação à localização do seu destino. Selecione uma das seguintes opções ou seja mais específico.",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Origem e destino ambíguos. Selecione uma das seguintes opções ou seja mais específico.",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "Todo o triangleSafetyFactor, triangleSlopeFactor, e triangleTimeFactor deve ser definido se algum for",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "Os valores de triangleSafetyFactor, triangleSlopeFactor, e triangleTimeFactor devem somar com valor 1",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Se o triangleSafetyFactor, triangleSlopeFactor, e triangleTimeFactor forem fornecidos, OptimizeType deve ser um TRIANGLE",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Se OptimizeType é TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, e triangleTimeFactor devem ser definidos",
- "Set as Start Location": "Definir como local de origem",
- "Set as End Location": "Definir como local de destino",
- "Destination": "Destino",
- "Error %(error_id)d": "Erro %(error_id)d",
- "No Trip Found": "Nenhuma rota encontrada",
- "Your %(bike_share_name)s route": "A sua rota %(bike_share_name)s ",
- "Your bike route": "A sua rota de bicicleta",
- "Walk to the %(bike_share_name)s dock.": "Andar para a dock %(bike_share_name)s .",
- "Walk from the %(bike_share_name)s dock to your destination.": "Andar da dock %(bike_share_name)s para o seu destino.",
- "Your walk route": "A sua rota a pé",
- "Your route using the scooter": "",
- "Your driving route": "A sua rota de bicicleta",
- "north": "norte",
- "northeast": "nordeste",
- "east": "este",
- "southeast": "sudeste",
- "south": "sul",
- "southwest": "sudoeste",
- "west": "oeste",
- "northwest": "nordeste",
- "hard left": "esquerda apertada",
- "left": "esquerda",
- "slight left": "esquerda ligeira",
- "continue": "continuar",
- "slight right": "direita ligeira",
- "right": "direita",
- "hard right": "direita apertada",
- "elevator": "elevador",
- "U-turn left": "cotovelo à esquerda",
- "U-turn right": "cotovelo à direita",
- "Walk": "A pé",
- "Cycle": "Bicicleta",
- "Car": "Carro",
- "Bus": "Autocarro",
- "Subway": "Metro",
- "Train": "Comboio",
- "Ferry": "Ferry",
- "Light Rail": "Ferroviário leve",
- "Cable Car": "Eléctrico",
- "Funicular": "Teleférico",
- "Aerial Tram": "Teleférico",
- "Airplane": "",
- "Bicycle rental station": "Estação de aluguer de bicicletas",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Entrar na rotuda no sentido contrário aos ponteiros do relógio na %(ordinal_exit_number)s saída em direção a %(street_name)s",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Entrar na rotunda no sentido contrário aos ponteiros do relógio, na %(ordinal_exit_number)s saída em direcção a %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Entrar na rotuda no sentido dos ponteiros do relógio na %(ordinal_exit_number)s saída em direção a %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Entrar na rotunda no sentido dos ponteiros do relógio, na %(ordinal_exit_number)s saída em direcção a %(street_name)s",
- "Start on": "Origem em",
- " heading ": "em direcção a",
- "to continue on": "a continuar em",
- "on to": "para",
- "first": "primeiro",
- "second": "segundo",
- "third": "terceiro",
- "fourth": "quarto",
- "fifth": "quinto",
- "sixth": "sexto",
- "seventh": "sétimo",
- "eight": "oitavo",
- "ninth": "nono",
- "tenth": "décimo",
- "%d hr": "%d hr",
- "%d hr_plural": "%d hrs",
- "%d min": "%d min",
- "%d min_plural": "%d mins",
- "%d sec": "%d sec",
- "%d sec_plural": "%d secs",
- "OK": "OK",
- "Minimize": "Minimzar",
- "Bring to front": "Trazer prá frente",
- "Send to back": "Mandar para trás",
- "Route:": "Rota:",
- "Variant:": "Variante:",
- "Stop Finder": "Pesquisar paragem",
- "Feed": "Companhia",
- "By ID": "Por ID",
- "By Name": "Por Nome",
- "Search": "Pesquisar",
- "No Stops Found": "Nenhuma paragem encontrada",
- "Date": "Data",
- "Find Stops": "Procurar paragens",
- "(No Stop Selected)": "(Nenhuma paragem selecionada)",
- "Block": "Bloquear",
- "Recenter": "Mais recente",
- "Viewer": "Visualizador",
- "Quick": "Rápido",
- "Flat": "Plano",
- "Bike Friendly": "Amigo às bicicletas",
- "B": "B",
- "F": "F",
- "Q": "Q",
- "All Routes": "Todas as rotas",
- "Save": "Guardar",
- "Close": "Fechar",
- "Travel Options": "Opções de viagem",
- "Geocoder": "Geocoder",
- "Arrive": "Chegada",
- "Now": "Agora",
- "Wheelchair accessible trip:": "Rota acessível a cadeira de rodas",
- "Show Filtered Itineraries:": "",
- "Travel by": "Viagem por",
- "Preferred Routes": "Rotas favoritas",
- "Edit": "Editar",
- "None": "Nenhum",
- "Weight": "Peso",
- "Banned routes": "Rotas banidas",
- "Use": "Utilizar",
- "My Own Bike": "A minha bicicleta",
- "A Shared Bike": "Uma bicicleta partilhada",
- "Plan Your Trip": "Planear a sua viagem",
- "Additional parameters": "",
- " to _direction": "Para",
- " to _bus_direction": "Para",
- "Start_template": "Começar",
- "Depart_itinerary": "Partida",
- "depart_itinerary": "partida",
- "Start_popup": "Origem",
- "Depart_tripoptions": "Partir"
-}
\ No newline at end of file
+ "Transit": "Vários",
+ "Bus Only": "Autocarro apenas",
+ "Rail Only": "Só ferroviário",
+ "Airplane Only": "",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "Bicicleta apenas",
+ "Bicycle & Transit": "Bicicleta & vários",
+ "Walk Only": "Só a pé",
+ "Car Only": "Origem em",
+ "Taxi": "",
+ "Park and Ride": "Estacionar e conduzir",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "Bicicleta e conduzir",
+ "Rented Bicycle": "Bicicleta alugada",
+ "Transit & Rented Bicycle": "Vários & bicicletas alugadas",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "Vários & bicicletas alugadas",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Mapa mais recente aqui",
+ "Zoom In": "Zoom In",
+ "Zoom Out": "Zoom Out",
+ "Minimize all": "Minimizar tudo",
+ "Unminimize all": "Maximizar tudo",
+ "Stop Viewer": "Visualizardor de paragens",
+ "Plan Trip": "Planear rota",
+ "From Stop": "Da paragem",
+ "To Stop": "Para a paragem",
+ "Routes Serving Stop": "Paragens servindo as linhas",
+ "Bike Share Planner": "Planeador de partilha de bicicletas",
+ "Trip Options": "Opções de viagem",
+ "PICK UP BIKE": "APANHAR UMA BICICLETA",
+ "ALTERNATE PICKUP": "APANHAR DE BICICLETA ALTERNATIVO",
+ "DROP OFF BIKE": "LARGAR A BICICLETA",
+ "ALTERNATE DROP OFF": "LARGAR DE BICICLETA ALTERNATIVO",
+ "BIKE STATION": "ESTAÇÃO DE BICICLETAS",
+ "Station:": "Estação:",
+ "%d bike available": "%d bicicleta disponível",
+ "%d bike available_plural": "%d bicicletas disponíveis",
+ "%d dock available": "%d dock disponível",
+ "%d dock available_plural": "%d docks disponíveis",
+ "Recommended Pick Up:": "Apanhar de bicicleta recomendado:",
+ "Bicycle rental": "Aluguer de bicicletas",
+ "Recommended Drop Off:": "Largar de bicicleta recomendado:",
+ "Multimodal Trip Planner": "Planeador de rotas multi-modal",
+ "Itineraries": "Itinerários",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned": "%d Itinerário devolvido",
+ "%d Itinerary Returned_plural": "%d Itinerários devolvidos",
+ "Link to search": "Link para pesquisa",
+ "Previous Page": "Anterior",
+ "Next Page": "",
+ "CONTINUES AS": "CONTINUAR COMO",
+ "%d min late": "%d min mais tarde",
+ "%d min late_plural": "%d mins mais tarde",
+ "%d min early": "%d min mais cedo",
+ "%d min early_plural": "%d mins mais cedo",
+ "on time": "a tempo",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "Destino",
+ "Trip Summary": "Sumário da rota",
+ "Travel": "Viagem",
+ "Time": "Tempo",
+ "GenCost": "",
+ "Total Walk": "Total a pé",
+ "Total Bike": "Total de bicicleta",
+ "Total drive": "",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "Transferências",
+ "Fare": "Tarifa",
+ "Valid": "Válido",
+ "Link to Itinerary": "Link para o itenerário",
+ "Print": "Imprimir",
+ "Your Trip": "A tua rota",
+ "Email": "Email",
+ "every %d min": "A cada %d min",
+ "every %d min_plural": " A cada %d mins",
+ "Board at ": "Entrar às",
+ "Stop": "Paragem",
+ "Time in transit": "Tempo em viagem",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "Visualizador de rotas",
+ "late as": "tão tarde como",
+ "Stay on board": "Mantenha-se em viagem",
+ "Alight": "Iluminado",
+ "at": "às",
+ "%(currency)s %(price)s": "%(currency)s %(price)s",
+ "Start: %(location)s at %(time_date)s": "Partida: %(location)s às %(time_date)s",
+ "Board": "Entrar",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s ID Paragem #%(stop_id)s),",
+ "End: %(location)s at %(time_date)s": "Destino: %(location)s at %(time_date)s",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "\nVer itinerário online:\n%(itinerary_link)s\n",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Pedimos desculpa. O planeador de rotas está temporariamente indisponível. Tente mais tarde.",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Não há tempos de trânsito disponíveis. Não há informação acerca dos transportes para esta data.",
+ "The trip planner is taking way too long to process your request. Please try again later.": "O planeador de rotas está a demorar demasiado tempo para processar o seu pedido. Tente mais tarde.",
+ "The request has errors that the server is not willing or able to process.": "O seu pedido tem erros e o servidor não está a conseguir processá-lo.",
+ "Origin is unknown. Can you be a bit more descriptive?": "Origem desconhecida. Pode ser mais descritivo?",
+ "Destination is unknown. Can you be a bit more descriptive?": "Destino indisponível. Pode ser mais descritivo?",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "Origem e destino desconhecidos. Pode ser mais descritivo?",
+ "Both origin and destination are not wheelchair accessible": "Origem e destino não acessível a cadeiras de rodas.",
+ "Origin is within a trivial distance of the destination.": "Origem a uma distância demasiado pequena do destino.",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "O planeador de rotas está inseguro em relação à localização da sua origem. Selecione uma das seguintes opções ou seja mais específico.",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "O planeador de rotas está inseguro em relação à localização do seu destino. Selecione uma das seguintes opções ou seja mais específico.",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "Origem e destino ambíguos. Selecione uma das seguintes opções ou seja mais específico.",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "Todo o triangleSafetyFactor, triangleSlopeFactor, e triangleTimeFactor deve ser definido se algum for",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "Os valores de triangleSafetyFactor, triangleSlopeFactor, e triangleTimeFactor devem somar com valor 1",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "Se o triangleSafetyFactor, triangleSlopeFactor, e triangleTimeFactor forem fornecidos, OptimizeType deve ser um TRIANGLE",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "Se OptimizeType é TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, e triangleTimeFactor devem ser definidos",
+ "Set as Start Location": "Definir como local de origem",
+ "Set as End Location": "Definir como local de destino",
+ "Destination": "Destino",
+ "Error %(error_id)d": "Erro %(error_id)d",
+ "No Trip Found": "Nenhuma rota encontrada",
+ "Your %(bike_share_name)s route": "A sua rota %(bike_share_name)s ",
+ "Your bike route": "A sua rota de bicicleta",
+ "Walk to the %(bike_share_name)s dock.": "Andar para a dock %(bike_share_name)s .",
+ "Walk from the %(bike_share_name)s dock to your destination.": "Andar da dock %(bike_share_name)s para o seu destino.",
+ "Your walk route": "A sua rota a pé",
+ "Your route using the scooter": "",
+ "Your driving route": "A sua rota de bicicleta",
+ "north": "norte",
+ "northeast": "nordeste",
+ "east": "este",
+ "southeast": "sudeste",
+ "south": "sul",
+ "southwest": "sudoeste",
+ "west": "oeste",
+ "northwest": "nordeste",
+ "hard left": "esquerda apertada",
+ "left": "esquerda",
+ "slight left": "esquerda ligeira",
+ "continue": "continuar",
+ "slight right": "direita ligeira",
+ "right": "direita",
+ "hard right": "direita apertada",
+ "elevator": "elevador",
+ "U-turn left": "cotovelo à esquerda",
+ "U-turn right": "cotovelo à direita",
+ "Walk": "A pé",
+ "Cycle": "Bicicleta",
+ "Car": "Carro",
+ "Bus": "Autocarro",
+ "Subway": "Metro",
+ "Train": "Comboio",
+ "Ferry": "Ferry",
+ "Light Rail": "Ferroviário leve",
+ "Cable Car": "Eléctrico",
+ "Funicular": "Teleférico",
+ "Aerial Tram": "Teleférico",
+ "Airplane": "",
+ "Bicycle rental station": "Estação de aluguer de bicicletas",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Entrar na rotuda no sentido contrário aos ponteiros do relógio na %(ordinal_exit_number)s saída em direção a %(street_name)s",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Entrar na rotunda no sentido contrário aos ponteiros do relógio, na %(ordinal_exit_number)s saída em direcção a %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Entrar na rotuda no sentido dos ponteiros do relógio na %(ordinal_exit_number)s saída em direção a %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "Entrar na rotunda no sentido dos ponteiros do relógio, na %(ordinal_exit_number)s saída em direcção a %(street_name)s",
+ "Start on": "Origem em",
+ " heading ": "em direcção a",
+ "to continue on": "a continuar em",
+ "on to": "para",
+ "first": "primeiro",
+ "second": "segundo",
+ "third": "terceiro",
+ "fourth": "quarto",
+ "fifth": "quinto",
+ "sixth": "sexto",
+ "seventh": "sétimo",
+ "eight": "oitavo",
+ "ninth": "nono",
+ "tenth": "décimo",
+ "%d hr": "%d hr",
+ "%d hr_plural": "%d hrs",
+ "%d min": "%d min",
+ "%d min_plural": "%d mins",
+ "%d sec": "%d sec",
+ "%d sec_plural": "%d secs",
+ "OK": "OK",
+ "Minimize": "Minimzar",
+ "Bring to front": "Trazer prá frente",
+ "Send to back": "Mandar para trás",
+ "Route:": "Rota:",
+ "Variant:": "Variante:",
+ "Stop Finder": "Pesquisar paragem",
+ "Feed": "Companhia",
+ "By ID": "Por ID",
+ "By Name": "Por Nome",
+ "Search": "Pesquisar",
+ "No Stops Found": "Nenhuma paragem encontrada",
+ "Date": "Data",
+ "Find Stops": "Procurar paragens",
+ "(No Stop Selected)": "(Nenhuma paragem selecionada)",
+ "Block": "Bloquear",
+ "Recenter": "Mais recente",
+ "Viewer": "Visualizador",
+ "Quick": "Rápido",
+ "Flat": "Plano",
+ "Bike Friendly": "Amigo às bicicletas",
+ "B": "B",
+ "F": "F",
+ "Q": "Q",
+ "All Routes": "Todas as rotas",
+ "Save": "Guardar",
+ "Close": "Fechar",
+ "Travel Options": "Opções de viagem",
+ "Geocoder": "Geocoder",
+ "Arrive": "Chegada",
+ "Now": "Agora",
+ "Wheelchair accessible trip:": "Rota acessível a cadeira de rodas",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Viagem por",
+ "Preferred Routes": "Rotas favoritas",
+ "Edit": "Editar",
+ "None": "Nenhum",
+ "Weight": "Peso",
+ "Banned routes": "Rotas banidas",
+ "Use": "Utilizar",
+ "My Own Bike": "A minha bicicleta",
+ "A Shared Bike": "Uma bicicleta partilhada",
+ "Plan Your Trip": "Planear a sua viagem",
+ "Additional parameters": "",
+ " to _direction": "Para",
+ " to _bus_direction": "Para",
+ "Start_template": "Começar",
+ "Depart_itinerary": "Partida",
+ "depart_itinerary": "partida",
+ "Start_popup": "Origem",
+ "Depart_tripoptions": "Partir"
+}
diff --git a/application/src/client/classic-debug/js/otp/locale/sl.json b/application/src/client/classic-debug/js/otp/locale/sl.json
index c99ad81f704..8991e9451d8 100644
--- a/application/src/client/classic-debug/js/otp/locale/sl.json
+++ b/application/src/client/classic-debug/js/otp/locale/sl.json
@@ -1,256 +1,256 @@
{
- "Transit": "Javni prevoz",
- "Bus Only": "Avtobus",
- "Rail Only": "Vlak",
- "Airplane Only": "",
- "Transit, No Airplane": "",
- "Bicycle Only": "Kolo",
- "Bicycle & Transit": "Kolo & Javni prevoz",
- "Walk Only": "Pešačenje",
- "Car Only": "Začnite na",
- "Taxi": "",
- "Park and Ride": "Parkiraj in se pelji",
- "Ride and Kiss (Car Pickup)": "",
- "Kiss and Ride (Car Dropoff)": "",
- "Bike and Ride": "",
- "Rented Bicycle": "Izposojeno kolo",
- "Transit & Rented Bicycle": "Izposojeno kolo & Javni prevoz",
- "Rented Scooter": "",
- "Transit & Rented Scooter": "Izposojeno kolo & Javni prevoz",
- "Transit with flex access": "",
- "Transit with flex egress": "",
- "Transit with flex access and egress": "",
- "Direct flex search": "",
- "Recenter Map Here": "Prikaži karto tukaj",
- "Zoom In": "Približaj",
- "Zoom Out": "Oddalji",
- "Minimize all": "Skrči vse",
- "Unminimize all": "Razširi vse",
- "Stop Viewer": "Pregledovalnik postaj",
- "Plan Trip": "Načrtuj pot",
- "From Stop": "Začetna postaja",
- "To Stop": "Končna postaja",
- "Routes Serving Stop": "Avtobusi, ki ustavljajo na postaji",
- "Bike Share Planner": "Planer za izposojena kolesa",
- "Trip Options": "Nastavitve poti",
- "PICK UP BIKE": "IZPOSOJA KOLESA",
- "ALTERNATE PICKUP": "ALTERNATIVNO MESTO IZPOSOJE",
- "DROP OFF BIKE": "VRNITEV KOLESA",
- "ALTERNATE DROP OFF": "ALTERNATIVNO MESTO VRNITVE KOLESA",
- "BIKE STATION": "IZPOSOJEVALNA POSTAJA",
- "Station:": "Postaja:",
- "%d bike available_0": "%d koles na voljo",
- "%d bike available_1": "%d kolo na voljo",
- "%d bike available_2": "%d kolesi na voljo",
- "%d bike available_3": "%d kolesa na voljo",
- "%d dock available_0": "%d prostorov na voljo",
- "%d dock available_1": "%d prostor na voljo",
- "%d dock available_2": "%d prostora na voljo",
- "%d dock available_3": "%d prostori na voljo",
- "Recommended Pick Up:": "Predlagana postaja za izposojo kolesa:",
- "Bicycle rental": "postaje za izposojo koles",
- "Recommended Drop Off:": "Predlagana postaja za vrnitev kolesa:",
- "Multimodal Trip Planner": "Načrtovalnik poti",
- "Itineraries": "Načrti poti",
- "This itinerary departs on a different day from the previous one": "",
- "%d Itinerary Returned_0": "%d vrnjenih načrtov poti",
- "%d Itinerary Returned_1": "%d vrnjen načrt poti",
- "%d Itinerary Returned_2": "%d vrnjena načrta poti",
- "%d Itinerary Returned_3": "%d vrnjeni načrti poti",
- "Link to search": "Iskanje",
- "Previous Page": "Prejšnja",
- "Next Page": "",
- "CONTINUES AS": "SE NADALJUJE KOT",
- "%d min late_0": "%d min. zamude",
- "%d min late_1": "%d min. zamude",
- "%d min late_2": "%d min. zamude",
- "%d min late_3": "%d min. zamude",
- "%d min early_0": "%d min. prehitro",
- "%d min early_1": "%d min. prehitro",
- "%d min early_2": "%d min. prehitro",
- "%d min early_3": "%d min. prehitro",
- "on time": "pravočasno",
- "This itinerary departs on a different day than the one searched for": "",
- "Arrived at destination with a rented bicycle!": "",
- "End": "Konec",
- "Trip Summary": "Povzetek poti",
- "Travel": "Potuj ob",
- "Time": "Trajanje",
- "GenCost": "",
- "Total Walk": "Skupno hoje",
- "Total Bike": "Skupno kolesarjenja",
- "Total drive": "",
- "Elevation Gained": "",
- "Elevation Lost": "",
- "Transfers": "Št. prestopov",
- "Fare": "Cena",
- "Valid": "Veljavno",
- "Link to Itinerary": "Načrt poti",
- "Print": "Natisni",
- "Your Trip": "Vaša pot",
- "Email": "E-pošta",
- "every %d min_0": "vsakih %d min",
- "every %d min_1": "vsako %d min",
- "every %d min_2": "vsaki %d min",
- "every %d min_3": "vsake %d min",
- "Board at ": "Vstop na ",
- "Stop": "Postaja",
- "Time in transit": "Časa na vožnji",
- "Route ID": "",
- "Trip ID": "",
- "Service Date": "",
- "Trip Viewer": "Pregledovalnik poti",
- "late as": "",
- "Stay on board": "Ostanite v vozilu",
- "Alight": "Izstop",
- "at": "na",
- "%(currency)s %(price)s": "%(price)s %(currency)s",
- "Start: %(location)s at %(time_date)s": "Začetek: %(location)s ob %(time_date)s",
- "Board": "Vstop",
- "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s),",
- "End: %(location)s at %(time_date)s": "Konec: %(location)s ob %(time_date)s",
- "(%(agencyId)s Stop ID #%(id)s),": "",
- "\nView itinerary online:\n%(itinerary_link)s\n": "\nOglejte si načrt poti na spletu:\n%(itinerary_link)s\n",
- "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Opravičujemo se. Daljinar trenutno ni na voljo. Prosimo poskusite kasneje.",
- "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
- "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
- "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Podatki o voznih redih niso na voljo. Mogoče je datum preveč v preteklosti ali prihodnosti ali pa javni prevoz ne obstaja za pot, ki jo načrtujete.",
- "The trip planner is taking way too long to process your request. Please try again later.": "Daljinar potrebuje preveč časa za obdelavo vašega zahtevka. Prosimo poskusite znova kasneje.",
- "The request has errors that the server is not willing or able to process.": "Zahtevek ima napake, ki jih strežnik ne more obdelati.",
- "Origin is unknown. Can you be a bit more descriptive?": "Začetek poti ni znan. Prosimo bodite bolj natančni.",
- "Destination is unknown. Can you be a bit more descriptive?": "Konec poti ni znan. Prosimo bodite bolj natančni.",
- "Both origin and destination are unknown. Can you be a bit more descriptive?": "Začetek in konec sta neznana. Prosimo bodite bolj natančni.",
- "Both origin and destination are not wheelchair accessible": "Do začetka in konca ni mogoče priti z vozičkom.",
- "Origin is within a trivial distance of the destination.": "Začetek je trivialno oddaljen od konec.",
- "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "",
- "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "",
- "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "",
- "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "",
- "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "",
- "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "",
- "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "",
- "Set as Start Location": "Začetek poti",
- "Set as End Location": "Konec poti",
- "Destination": "Konec",
- "Error %(error_id)d": "Napaka %(error_id)d",
- "No Trip Found": "Ne najdemo poti",
- "Your %(bike_share_name)s route": "Kolesarjenje s kolesom izposojenim pri %(bike_share_name)s",
- "Your bike route": "Kolesarska pot",
- "Walk to the %(bike_share_name)s dock.": "Hodite do postaje podjetja %(bike_share_name)s.",
- "Walk from the %(bike_share_name)s dock to your destination.": "Hodite od postaje podjetja %(bike_share_name)s do vašega cilja.",
- "Your walk route": "Pot peš",
- "Your route using the scooter": "",
- "Your driving route": "Kolesarska pot",
- "north": "sever",
- "northeast": "severovzhod",
- "east": "vzhod",
- "southeast": "jugovzhod",
- "south": "jug",
- "southwest": "jugozahod",
- "west": "zahod",
- "northwest": "severozahod",
- "hard left": "ostro levo",
- "left": "levo",
- "slight left": "rahlo levo",
- "continue": "nadaljujte",
- "slight right": "rahlo desno",
- "right": "desno",
- "hard right": "ostro desno",
- "elevator": "pojdite z dvigalom",
- "U-turn left": "Polkrožno obrnite v levo",
- "U-turn right": "Polkrožno obrnite v desno",
- "Walk": "Pešačite",
- "Cycle": "Kolesarite",
- "Car": "Avto",
- "Bus": "Avtobus",
- "Subway": "Podzemna železnica",
- "Train": "Vlak",
- "Ferry": "",
- "Light Rail": "Tramvaj",
- "Cable Car": "",
- "Funicular": "",
- "Aerial Tram": "Gondola",
- "Airplane": "",
- "Bicycle rental station": "postaje za izposojo koles",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "V krožišču vozite v nasprotni smeri urinega kazalca in pri %(ordinal_exit_number)s izvozu zavijte na %(street_name)s",
- "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "V krožišču vozite v nasprotni smeri urinega kazalca in pri %(ordinal_exit_number)s izvozu zavijte na %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "V krožišču vozite v smeri urinega kazalca in pri %(ordinal_exit_number)s izvozu zavijte na %(street_name)s",
- "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "V krožišču vozite v smeri urinega kazalca in pri %(ordinal_exit_number)s izvozu zavijte na %(street_name)s",
- "Start on": "Začnite na",
- " heading ": " v smeri ",
- "to continue on": "nadaljujte na",
- "on to": "na",
- "first": "prvem",
- "second": "drugem",
- "third": "tretjem",
- "fourth": "četrtem",
- "fifth": "petem",
- "sixth": "šestem",
- "seventh": "sedmem",
- "eight": "osmem",
- "ninth": "devetem",
- "tenth": "desetem",
- "%d hr_0": "%d ur",
- "%d hr_1": "%d ura",
- "%d hr_2": "%d uri",
- "%d hr_3": "%d ure",
- "%d min_0": "%d min.",
- "%d min_1": "%d min.",
- "%d min_2": "%d min.",
- "%d min_3": "%d min.",
- "%d sec_0": "%d sek.",
- "%d sec_1": "%d sek.",
- "%d sec_2": "%d sek.",
- "%d sec_3": "%d sek.",
- "OK": "V redu",
- "Minimize": "Skrči",
- "Bring to front": "Postavi v ospredje",
- "Send to back": "Pošlji v ozadje",
- "Route:": "Linija:",
- "Variant:": "Različica:",
- "Stop Finder": "Iskalnik postaj",
- "Feed": "",
- "By ID": "Po ID-ju",
- "By Name": "Po imenu",
- "Search": "Poišči",
- "No Stops Found": "Ni najdenih postaj",
- "Date": "Datum",
- "Find Stops": "Poišči postaje",
- "(No Stop Selected)": "(Nobena postaja ni bila izbrana)",
- "Block": "Blok",
- "Recenter": "Prikaži na karti",
- "Viewer": "Pregledovalnik",
- "Quick": "Hitro",
- "Flat": "Položno",
- "Bike Friendly": "Kolesarju prijazno",
- "B": "K",
- "F": "P",
- "Q": "H",
- "All Routes": "Vse linije",
- "Save": "Shrani",
- "Close": "Zapri",
- "Travel Options": "Možnosti potovanja",
- "Geocoder": "",
- "Arrive": "Prihod do",
- "Now": "Zdaj",
- "Wheelchair accessible trip:": "Primerno za invalidske vozičke:",
- "Show Filtered Itineraries:": "",
- "Travel by": "Način potovanja ",
- "Preferred Routes": "Priljubljene linije",
- "Edit": "Uredi",
- "None": "Brez",
- "Weight": "Utež",
- "Banned routes": "Neželene linije",
- "Use": "Uporabi",
- "My Own Bike": "Lastno kolo",
- "A Shared Bike": "Izposojeno kolo",
- "Plan Your Trip": "Načrtuj pot",
- "Additional parameters": "",
- " to _direction": " do ",
- " to _bus_direction": " smer ",
- "Start_template": "Začetek",
- "Depart_itinerary": "Odhod",
- "depart_itinerary": "začni pot",
- "Start_popup": "Začetek",
- "Depart_tripoptions": "Odhod ob"
-}
\ No newline at end of file
+ "Transit": "Javni prevoz",
+ "Bus Only": "Avtobus",
+ "Rail Only": "Vlak",
+ "Airplane Only": "",
+ "Transit, No Airplane": "",
+ "Bicycle Only": "Kolo",
+ "Bicycle & Transit": "Kolo & Javni prevoz",
+ "Walk Only": "Pešačenje",
+ "Car Only": "Začnite na",
+ "Taxi": "",
+ "Park and Ride": "Parkiraj in se pelji",
+ "Ride and Kiss (Car Pickup)": "",
+ "Kiss and Ride (Car Dropoff)": "",
+ "Bike and Ride": "",
+ "Rented Bicycle": "Izposojeno kolo",
+ "Transit & Rented Bicycle": "Izposojeno kolo & Javni prevoz",
+ "Rented Scooter": "",
+ "Transit & Rented Scooter": "Izposojeno kolo & Javni prevoz",
+ "Transit with flex access": "",
+ "Transit with flex egress": "",
+ "Transit with flex access and egress": "",
+ "Direct flex search": "",
+ "Recenter Map Here": "Prikaži karto tukaj",
+ "Zoom In": "Približaj",
+ "Zoom Out": "Oddalji",
+ "Minimize all": "Skrči vse",
+ "Unminimize all": "Razširi vse",
+ "Stop Viewer": "Pregledovalnik postaj",
+ "Plan Trip": "Načrtuj pot",
+ "From Stop": "Začetna postaja",
+ "To Stop": "Končna postaja",
+ "Routes Serving Stop": "Avtobusi, ki ustavljajo na postaji",
+ "Bike Share Planner": "Planer za izposojena kolesa",
+ "Trip Options": "Nastavitve poti",
+ "PICK UP BIKE": "IZPOSOJA KOLESA",
+ "ALTERNATE PICKUP": "ALTERNATIVNO MESTO IZPOSOJE",
+ "DROP OFF BIKE": "VRNITEV KOLESA",
+ "ALTERNATE DROP OFF": "ALTERNATIVNO MESTO VRNITVE KOLESA",
+ "BIKE STATION": "IZPOSOJEVALNA POSTAJA",
+ "Station:": "Postaja:",
+ "%d bike available_0": "%d koles na voljo",
+ "%d bike available_1": "%d kolo na voljo",
+ "%d bike available_2": "%d kolesi na voljo",
+ "%d bike available_3": "%d kolesa na voljo",
+ "%d dock available_0": "%d prostorov na voljo",
+ "%d dock available_1": "%d prostor na voljo",
+ "%d dock available_2": "%d prostora na voljo",
+ "%d dock available_3": "%d prostori na voljo",
+ "Recommended Pick Up:": "Predlagana postaja za izposojo kolesa:",
+ "Bicycle rental": "postaje za izposojo koles",
+ "Recommended Drop Off:": "Predlagana postaja za vrnitev kolesa:",
+ "Multimodal Trip Planner": "Načrtovalnik poti",
+ "Itineraries": "Načrti poti",
+ "This itinerary departs on a different day from the previous one": "",
+ "%d Itinerary Returned_0": "%d vrnjenih načrtov poti",
+ "%d Itinerary Returned_1": "%d vrnjen načrt poti",
+ "%d Itinerary Returned_2": "%d vrnjena načrta poti",
+ "%d Itinerary Returned_3": "%d vrnjeni načrti poti",
+ "Link to search": "Iskanje",
+ "Previous Page": "Prejšnja",
+ "Next Page": "",
+ "CONTINUES AS": "SE NADALJUJE KOT",
+ "%d min late_0": "%d min. zamude",
+ "%d min late_1": "%d min. zamude",
+ "%d min late_2": "%d min. zamude",
+ "%d min late_3": "%d min. zamude",
+ "%d min early_0": "%d min. prehitro",
+ "%d min early_1": "%d min. prehitro",
+ "%d min early_2": "%d min. prehitro",
+ "%d min early_3": "%d min. prehitro",
+ "on time": "pravočasno",
+ "This itinerary departs on a different day than the one searched for": "",
+ "Arrived at destination with a rented bicycle!": "",
+ "End": "Konec",
+ "Trip Summary": "Povzetek poti",
+ "Travel": "Potuj ob",
+ "Time": "Trajanje",
+ "GenCost": "",
+ "Total Walk": "Skupno hoje",
+ "Total Bike": "Skupno kolesarjenja",
+ "Total drive": "",
+ "Elevation Gained": "",
+ "Elevation Lost": "",
+ "Transfers": "Št. prestopov",
+ "Fare": "Cena",
+ "Valid": "Veljavno",
+ "Link to Itinerary": "Načrt poti",
+ "Print": "Natisni",
+ "Your Trip": "Vaša pot",
+ "Email": "E-pošta",
+ "every %d min_0": "vsakih %d min",
+ "every %d min_1": "vsako %d min",
+ "every %d min_2": "vsaki %d min",
+ "every %d min_3": "vsake %d min",
+ "Board at ": "Vstop na ",
+ "Stop": "Postaja",
+ "Time in transit": "Časa na vožnji",
+ "Route ID": "",
+ "Trip ID": "",
+ "Service Date": "",
+ "Trip Viewer": "Pregledovalnik poti",
+ "late as": "",
+ "Stay on board": "Ostanite v vozilu",
+ "Alight": "Izstop",
+ "at": "na",
+ "%(currency)s %(price)s": "%(price)s %(currency)s",
+ "Start: %(location)s at %(time_date)s": "Začetek: %(location)s ob %(time_date)s",
+ "Board": "Vstop",
+ "(%(agency_id)s Stop ID #%(stop_id)s),": "(%(agency_id)s),",
+ "End: %(location)s at %(time_date)s": "Konec: %(location)s ob %(time_date)s",
+ "(%(agencyId)s Stop ID #%(id)s),": "",
+ "\nView itinerary online:\n%(itinerary_link)s\n": "\nOglejte si načrt poti na spletu:\n%(itinerary_link)s\n",
+ "We're sorry. The trip planner is temporarily unavailable. Please try again later.": "Opravičujemo se. Daljinar trenutno ni na voljo. Prosimo poskusite kasneje.",
+ "Trip is not possible. You might be trying to plan a trip outside the map data boundary.": "",
+ "No trip found. There may be no transit service within the maximum specified distance or at the specified time, or your start or end point might not be safely accessible.": "",
+ "No transit times available. The date may be past or too far in the future or there may not be transit service for your trip at the time you chose.": "Podatki o voznih redih niso na voljo. Mogoče je datum preveč v preteklosti ali prihodnosti ali pa javni prevoz ne obstaja za pot, ki jo načrtujete.",
+ "The trip planner is taking way too long to process your request. Please try again later.": "Daljinar potrebuje preveč časa za obdelavo vašega zahtevka. Prosimo poskusite znova kasneje.",
+ "The request has errors that the server is not willing or able to process.": "Zahtevek ima napake, ki jih strežnik ne more obdelati.",
+ "Origin is unknown. Can you be a bit more descriptive?": "Začetek poti ni znan. Prosimo bodite bolj natančni.",
+ "Destination is unknown. Can you be a bit more descriptive?": "Konec poti ni znan. Prosimo bodite bolj natančni.",
+ "Both origin and destination are unknown. Can you be a bit more descriptive?": "Začetek in konec sta neznana. Prosimo bodite bolj natančni.",
+ "Both origin and destination are not wheelchair accessible": "Do začetka in konca ni mogoče priti z vozičkom.",
+ "Origin is within a trivial distance of the destination.": "Začetek je trivialno oddaljen od konec.",
+ "The trip planner is unsure of the location you want to start from. Please select from the following options, or be more specific.": "",
+ "The trip planner is unsure of the destination you want to go to. Please select from the following options, or be more specific.": "",
+ "Both origin and destination are ambiguous. Please select from the following options, or be more specific.": "",
+ "All of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set if any are": "",
+ "The values of triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must sum to 1": "",
+ "If triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor are provided, OptimizeType must be TRIANGLE": "",
+ "If OptimizeType is TRIANGLE, triangleSafetyFactor, triangleSlopeFactor, and triangleTimeFactor must be set": "",
+ "Set as Start Location": "Začetek poti",
+ "Set as End Location": "Konec poti",
+ "Destination": "Konec",
+ "Error %(error_id)d": "Napaka %(error_id)d",
+ "No Trip Found": "Ne najdemo poti",
+ "Your %(bike_share_name)s route": "Kolesarjenje s kolesom izposojenim pri %(bike_share_name)s",
+ "Your bike route": "Kolesarska pot",
+ "Walk to the %(bike_share_name)s dock.": "Hodite do postaje podjetja %(bike_share_name)s.",
+ "Walk from the %(bike_share_name)s dock to your destination.": "Hodite od postaje podjetja %(bike_share_name)s do vašega cilja.",
+ "Your walk route": "Pot peš",
+ "Your route using the scooter": "",
+ "Your driving route": "Kolesarska pot",
+ "north": "sever",
+ "northeast": "severovzhod",
+ "east": "vzhod",
+ "southeast": "jugovzhod",
+ "south": "jug",
+ "southwest": "jugozahod",
+ "west": "zahod",
+ "northwest": "severozahod",
+ "hard left": "ostro levo",
+ "left": "levo",
+ "slight left": "rahlo levo",
+ "continue": "nadaljujte",
+ "slight right": "rahlo desno",
+ "right": "desno",
+ "hard right": "ostro desno",
+ "elevator": "pojdite z dvigalom",
+ "U-turn left": "Polkrožno obrnite v levo",
+ "U-turn right": "Polkrožno obrnite v desno",
+ "Walk": "Pešačite",
+ "Cycle": "Kolesarite",
+ "Car": "Avto",
+ "Bus": "Avtobus",
+ "Subway": "Podzemna železnica",
+ "Train": "Vlak",
+ "Ferry": "",
+ "Light Rail": "Tramvaj",
+ "Cable Car": "",
+ "Funicular": "",
+ "Aerial Tram": "Gondola",
+ "Airplane": "",
+ "Bicycle rental station": "postaje za izposojo koles",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "V krožišču vozite v nasprotni smeri urinega kazalca in pri %(ordinal_exit_number)s izvozu zavijte na %(street_name)s",
+ "Take roundabout counterclockwise to %(ordinal_exit_number)s exit on %(street_name)s": "V krožišču vozite v nasprotni smeri urinega kazalca in pri %(ordinal_exit_number)s izvozu zavijte na %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "V krožišču vozite v smeri urinega kazalca in pri %(ordinal_exit_number)s izvozu zavijte na %(street_name)s",
+ "Take roundabout clockwise to %(ordinal_exit_number)s exit on %(street_name)s": "V krožišču vozite v smeri urinega kazalca in pri %(ordinal_exit_number)s izvozu zavijte na %(street_name)s",
+ "Start on": "Začnite na",
+ " heading ": " v smeri ",
+ "to continue on": "nadaljujte na",
+ "on to": "na",
+ "first": "prvem",
+ "second": "drugem",
+ "third": "tretjem",
+ "fourth": "četrtem",
+ "fifth": "petem",
+ "sixth": "šestem",
+ "seventh": "sedmem",
+ "eight": "osmem",
+ "ninth": "devetem",
+ "tenth": "desetem",
+ "%d hr_0": "%d ur",
+ "%d hr_1": "%d ura",
+ "%d hr_2": "%d uri",
+ "%d hr_3": "%d ure",
+ "%d min_0": "%d min.",
+ "%d min_1": "%d min.",
+ "%d min_2": "%d min.",
+ "%d min_3": "%d min.",
+ "%d sec_0": "%d sek.",
+ "%d sec_1": "%d sek.",
+ "%d sec_2": "%d sek.",
+ "%d sec_3": "%d sek.",
+ "OK": "V redu",
+ "Minimize": "Skrči",
+ "Bring to front": "Postavi v ospredje",
+ "Send to back": "Pošlji v ozadje",
+ "Route:": "Linija:",
+ "Variant:": "Različica:",
+ "Stop Finder": "Iskalnik postaj",
+ "Feed": "",
+ "By ID": "Po ID-ju",
+ "By Name": "Po imenu",
+ "Search": "Poišči",
+ "No Stops Found": "Ni najdenih postaj",
+ "Date": "Datum",
+ "Find Stops": "Poišči postaje",
+ "(No Stop Selected)": "(Nobena postaja ni bila izbrana)",
+ "Block": "Blok",
+ "Recenter": "Prikaži na karti",
+ "Viewer": "Pregledovalnik",
+ "Quick": "Hitro",
+ "Flat": "Položno",
+ "Bike Friendly": "Kolesarju prijazno",
+ "B": "K",
+ "F": "P",
+ "Q": "H",
+ "All Routes": "Vse linije",
+ "Save": "Shrani",
+ "Close": "Zapri",
+ "Travel Options": "Možnosti potovanja",
+ "Geocoder": "",
+ "Arrive": "Prihod do",
+ "Now": "Zdaj",
+ "Wheelchair accessible trip:": "Primerno za invalidske vozičke:",
+ "Show Filtered Itineraries:": "",
+ "Travel by": "Način potovanja ",
+ "Preferred Routes": "Priljubljene linije",
+ "Edit": "Uredi",
+ "None": "Brez",
+ "Weight": "Utež",
+ "Banned routes": "Neželene linije",
+ "Use": "Uporabi",
+ "My Own Bike": "Lastno kolo",
+ "A Shared Bike": "Izposojeno kolo",
+ "Plan Your Trip": "Načrtuj pot",
+ "Additional parameters": "",
+ " to _direction": " do ",
+ " to _bus_direction": " smer ",
+ "Start_template": "Začetek",
+ "Depart_itinerary": "Odhod",
+ "depart_itinerary": "začni pot",
+ "Start_popup": "Začetek",
+ "Depart_tripoptions": "Odhod ob"
+}
diff --git a/application/src/client/index.html b/application/src/client/index.html
index e8872ab33cd..391458fba41 100644
--- a/application/src/client/index.html
+++ b/application/src/client/index.html
@@ -5,8 +5,8 @@
OTP Debug Client
-
-
+
+
diff --git a/application/src/ext-test/java/org/opentripplanner/ext/geocoder/LuceneIndexTest.java b/application/src/ext-test/java/org/opentripplanner/ext/geocoder/LuceneIndexTest.java
index 030b7fbfb1c..b1468444076 100644
--- a/application/src/ext-test/java/org/opentripplanner/ext/geocoder/LuceneIndexTest.java
+++ b/application/src/ext-test/java/org/opentripplanner/ext/geocoder/LuceneIndexTest.java
@@ -135,7 +135,7 @@ static void setup() {
.build();
@Override
- public List getModesOfStopLocation(StopLocation stop) {
+ public List findTransitModes(StopLocation stop) {
if (stop.getVehicleType() != null) {
return List.of(stop.getVehicleType());
} else {
@@ -144,7 +144,7 @@ public List getModesOfStopLocation(StopLocation stop) {
}
@Override
- public Agency getAgencyForId(FeedScopedId id) {
+ public Agency getAgency(FeedScopedId id) {
if (id.equals(BVG.getId())) {
return BVG;
}
@@ -152,7 +152,7 @@ public Agency getAgencyForId(FeedScopedId id) {
}
@Override
- public Set getRoutesForStop(StopLocation stop) {
+ public Set findRoutes(StopLocation stop) {
return Set.of(TimetableRepositoryForTest.route("route1").withAgency(BVG).build());
}
diff --git a/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/TestTransitService.java b/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/TestTransitService.java
index b97cbcdc6fe..37ea737626f 100644
--- a/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/TestTransitService.java
+++ b/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/TestTransitService.java
@@ -15,7 +15,7 @@ public TestTransitService(TimetableRepository timetableRepository) {
}
@Override
- public Set getRoutesForStop(StopLocation stop) {
+ public Set findRoutes(StopLocation stop) {
return Set.of(
TimetableRepositoryForTest.route("1").withMode(TransitMode.RAIL).withGtfsType(100).build()
);
diff --git a/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingGroupsLayerTest.java b/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingGroupsLayerTest.java
index 95ad7ea713e..b8a88c11703 100644
--- a/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingGroupsLayerTest.java
+++ b/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingGroupsLayerTest.java
@@ -19,12 +19,13 @@
import org.opentripplanner.framework.i18n.TranslatedString;
import org.opentripplanner.inspector.vector.KeyValue;
import org.opentripplanner.inspector.vector.LayerParameters;
-import org.opentripplanner.routing.graph.Graph;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingGroup;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingService;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingState;
+import org.opentripplanner.service.vehicleparking.VehicleParkingService;
+import org.opentripplanner.service.vehicleparking.internal.DefaultVehicleParkingRepository;
+import org.opentripplanner.service.vehicleparking.internal.DefaultVehicleParkingService;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingGroup;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingState;
import org.opentripplanner.standalone.config.routerconfig.VectorTileConfig;
import org.opentripplanner.transit.model._data.TimetableRepositoryForTest;
import org.opentripplanner.transit.model.framework.FeedScopedId;
@@ -90,9 +91,8 @@ public void setUp() {
@Test
public void vehicleParkingGroupGeometryTest() {
- Graph graph = new Graph();
- VehicleParkingService service = graph.getVehicleParkingService();
- service.updateVehicleParking(List.of(vehicleParking), List.of());
+ var repository = new DefaultVehicleParkingRepository();
+ repository.updateVehicleParking(List.of(vehicleParking), List.of());
var config =
"""
@@ -116,7 +116,7 @@ public void vehicleParkingGroupGeometryTest() {
var tiles = VectorTileConfig.mapVectorTilesParameters(nodeAdapter, "vectorTiles");
assertEquals(1, tiles.layers().size());
var builder = new VehicleParkingGroupsLayerBuilderWithPublicGeometry(
- graph,
+ new DefaultVehicleParkingService(repository),
tiles.layers().get(0),
Locale.US
);
@@ -171,11 +171,11 @@ private static class VehicleParkingGroupsLayerBuilderWithPublicGeometry
extends VehicleParkingGroupsLayerBuilder {
public VehicleParkingGroupsLayerBuilderWithPublicGeometry(
- Graph graph,
+ VehicleParkingService service,
LayerParameters layerParameters,
Locale locale
) {
- super(graph, layerParameters, locale);
+ super(service, layerParameters, locale);
}
@Override
diff --git a/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingsLayerTest.java b/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingsLayerTest.java
index b63c9c51bc6..ae4386e9dd6 100644
--- a/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingsLayerTest.java
+++ b/application/src/ext-test/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingsLayerTest.java
@@ -23,11 +23,11 @@
import org.opentripplanner.framework.geometry.WgsCoordinate;
import org.opentripplanner.framework.i18n.TranslatedString;
import org.opentripplanner.model.calendar.openinghours.OpeningHoursCalendarService;
-import org.opentripplanner.routing.graph.Graph;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingService;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingState;
+import org.opentripplanner.service.vehicleparking.internal.DefaultVehicleParkingRepository;
+import org.opentripplanner.service.vehicleparking.internal.DefaultVehicleParkingService;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingState;
import org.opentripplanner.standalone.config.routerconfig.VectorTileConfig;
import org.opentripplanner.transit.model._data.TimetableRepositoryForTest;
import org.opentripplanner.transit.model.framework.Deduplicator;
@@ -86,9 +86,8 @@ public void setUp() {
@Test
public void vehicleParkingGeometryTest() {
- Graph graph = new Graph();
- VehicleParkingService service = graph.getVehicleParkingService();
- service.updateVehicleParking(List.of(vehicleParking), List.of());
+ var repo = new DefaultVehicleParkingRepository();
+ repo.updateVehicleParking(List.of(vehicleParking), List.of());
var config =
"""
@@ -111,7 +110,7 @@ public void vehicleParkingGeometryTest() {
var nodeAdapter = newNodeAdapterForTest(config);
var tiles = VectorTileConfig.mapVectorTilesParameters(nodeAdapter, "vectorTiles");
assertEquals(1, tiles.layers().size());
- var builder = new VehicleParkingsLayerBuilder(graph, tiles.layers().getFirst(), Locale.US);
+ var builder = new VehicleParkingsLayerBuilder(new DefaultVehicleParkingService(repo), tiles.layers().getFirst(), Locale.US);
List geometries = builder.getGeometries(new Envelope(0.99, 1.01, 1.99, 2.01));
diff --git a/application/src/ext-test/java/org/opentripplanner/ext/vehicleparking/bikely/BikelyUpdaterTest.java b/application/src/ext-test/java/org/opentripplanner/ext/vehicleparking/bikely/BikelyUpdaterTest.java
index 569db85f33b..66e0a0fda9a 100644
--- a/application/src/ext-test/java/org/opentripplanner/ext/vehicleparking/bikely/BikelyUpdaterTest.java
+++ b/application/src/ext-test/java/org/opentripplanner/ext/vehicleparking/bikely/BikelyUpdaterTest.java
@@ -8,7 +8,7 @@
import java.time.Duration;
import java.util.Locale;
import org.junit.jupiter.api.Test;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingState;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingState;
import org.opentripplanner.test.support.ResourceLoader;
import org.opentripplanner.transit.model.basic.Locales;
import org.opentripplanner.transit.model.framework.FeedScopedId;
diff --git a/application/src/ext-test/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkUpdaterTest.java b/application/src/ext-test/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkUpdaterTest.java
index 2226a988d20..fd584951586 100644
--- a/application/src/ext-test/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkUpdaterTest.java
+++ b/application/src/ext-test/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkUpdaterTest.java
@@ -14,7 +14,7 @@
import org.opentripplanner._support.time.ZoneIds;
import org.opentripplanner.model.calendar.openinghours.OpeningHoursCalendarService;
import org.opentripplanner.model.calendar.openinghours.OsmOpeningHoursSupport;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingState;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingState;
import org.opentripplanner.test.support.ResourceLoader;
import org.opentripplanner.transit.model.framework.Deduplicator;
diff --git a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/bikeep/bikeep.json b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/bikeep/bikeep.json
index 6f164077ee1..0ffa202bd11 100644
--- a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/bikeep/bikeep.json
+++ b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/bikeep/bikeep.json
@@ -5,22 +5,14 @@
"type": "Feature",
"geometry": {
"type": "Point",
- "coordinates": [
- 4.996344,
- 60.405932
- ]
+ "coordinates": [4.996344, 60.405932]
},
"properties": {
"code": "224121",
"label": "Ågotnes Terminal",
"name": "#224121 Ågotnes Terminal",
"address": "Ågotnes",
- "tags": [
- "FREE",
- "BIKE",
- "PRIVATE",
- "BOOKABLE"
- ],
+ "tags": ["FREE", "BIKE", "PRIVATE", "BOOKABLE"],
"icon": {
"png": "",
"png2x": "",
@@ -38,22 +30,14 @@
"type": "Feature",
"geometry": {
"type": "Point",
- "coordinates": [
- 10.666802,
- 59.436443
- ]
+ "coordinates": [10.666802, 59.436443]
},
"properties": {
"code": "226261",
"label": "Gågata Østre",
"name": "#226261 Gågata Østre",
"address": "Dronningens gate, Moss",
- "tags": [
- "FREE",
- "PRIVATE",
- "BOOKABLE",
- "BIKE"
- ],
+ "tags": ["FREE", "PRIVATE", "BOOKABLE", "BIKE"],
"icon": {
"png": "",
"png2x": "",
@@ -71,22 +55,14 @@
"type": "Feature",
"geometry": {
"type": "Point",
- "coordinates": [
- 10.661444,
- 59.435401
- ]
+ "coordinates": [10.661444, 59.435401]
},
"properties": {
"code": "226259",
"label": "Gågata Vestre",
"name": "#226259 Gågata Vestre",
"address": "Dronningens gate, Moss",
- "tags": [
- "BIKE",
- "FREE",
- "PRIVATE",
- "BOOKABLE"
- ],
+ "tags": ["BIKE", "FREE", "PRIVATE", "BOOKABLE"],
"icon": {
"png": "",
"png2x": "",
@@ -104,22 +80,14 @@
"type": "Feature",
"geometry": {
"type": "Point",
- "coordinates": [
- 10.774958,
- 59.946535
- ]
+ "coordinates": [10.774958, 59.946535]
},
"properties": {
"code": "223443",
"label": "Storo Storsenter",
"name": "#223443 Storo Storsenter",
"address": "Norway",
- "tags": [
- "BIKE",
- "PRIVATE",
- "BOOKABLE",
- "FREE"
- ],
+ "tags": ["BIKE", "PRIVATE", "BOOKABLE", "FREE"],
"icon": {
"png": "https://assets.bikeep.com/locations/icons/bikeep.png",
"png2x": "https://assets.bikeep.com/locations/icons/bikeep@2x.png",
@@ -137,23 +105,14 @@
"type": "Feature",
"geometry": {
"type": "Point",
- "coordinates": [
- 10.501222,
- 59.914578
- ]
+ "coordinates": [10.501222, 59.914578]
},
"properties": {
"code": "224519",
"label": "Kolsås Sykkelhotell",
"name": "#224519 Kolsås Sykkelhotell",
"address": "Norway",
- "tags": [
- "PRIVATE",
- "FREE",
- "BOOKABLE",
- "BIKE_HOUSE",
- "BIKE"
- ],
+ "tags": ["PRIVATE", "FREE", "BOOKABLE", "BIKE_HOUSE", "BIKE"],
"icon": {
"png": "https://assets.bikeep.com/locations/icons/bikeep.png",
"png2x": "https://assets.bikeep.com/locations/icons/bikeep@2x.png",
@@ -171,22 +130,14 @@
"type": "Feature",
"geometry": {
"type": "Point",
- "coordinates": [
- 10.663716,
- 59.435539
- ]
+ "coordinates": [10.663716, 59.435539]
},
"properties": {
"code": "226260",
"label": "Gågata Midtre",
"name": "#226260 Gågata Midtre",
"address": "Dronningens gate, Moss",
- "tags": [
- "FREE",
- "BOOKABLE",
- "PRIVATE",
- "BIKE"
- ],
+ "tags": ["FREE", "BOOKABLE", "PRIVATE", "BIKE"],
"icon": {
"png": "",
"png2x": "",
@@ -204,22 +155,14 @@
"type": "Feature",
"geometry": {
"type": "Point",
- "coordinates": [
- 5.320344,
- 60.463246
- ]
+ "coordinates": [5.320344, 60.463246]
},
"properties": {
"code": "226266",
"label": "Åsane Sykkelhus",
"name": "#226266 Åsane Sykkelhus",
"address": "Åsane terminal",
- "tags": [
- "BOOKABLE",
- "BIKE",
- "FREE",
- "PRIVATE"
- ],
+ "tags": ["BOOKABLE", "BIKE", "FREE", "PRIVATE"],
"icon": {
"png": "",
"png2x": "",
@@ -237,22 +180,14 @@
"type": "Feature",
"geometry": {
"type": "Point",
- "coordinates": [
- 10.521137,
- 59.889181
- ]
+ "coordinates": [10.521137, 59.889181]
},
"properties": {
"code": "224112",
"label": "Sandvika Storsenter Kjørbokollen",
"name": "#224112 Sandvika Storsenter Kjørbokollen",
"address": "Brodtkorbsgate 7, Sandvika",
- "tags": [
- "PRIVATE",
- "FREE",
- "BIKE",
- "BOOKABLE"
- ],
+ "tags": ["PRIVATE", "FREE", "BIKE", "BOOKABLE"],
"icon": {
"png": "",
"png2x": "",
@@ -270,22 +205,14 @@
"type": "Feature",
"geometry": {
"type": "Point",
- "coordinates": [
- 10.520496,
- 59.887412
- ]
+ "coordinates": [10.520496, 59.887412]
},
"properties": {
"code": "224111",
"label": "Sandvika Storsenter Nytorget",
"name": "#224111 Sandvika Storsenter Nytorget",
"address": "Sandviksveien 176, Sandvika",
- "tags": [
- "BIKE",
- "BOOKABLE",
- "PRIVATE",
- "FREE"
- ],
+ "tags": ["BIKE", "BOOKABLE", "PRIVATE", "FREE"],
"icon": {
"png": "",
"png2x": "",
@@ -300,4 +227,4 @@
}
}
]
-}
\ No newline at end of file
+}
diff --git a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/bikely/bikely.json b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/bikely/bikely.json
index a3e1e9e2e57..172220650aa 100644
--- a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/bikely/bikely.json
+++ b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/bikely/bikely.json
@@ -321,4 +321,4 @@
"id": 26
}
]
-}
\ No newline at end of file
+}
diff --git a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/facilities.json b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/facilities.json
index 0bca41f3bf6..c9305c556c3 100644
--- a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/facilities.json
+++ b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/facilities.json
@@ -15,66 +15,25 @@
}
},
"bbox": [
- 24.80034603935215,
- 60.17480881241633,
- 24.80808017426278,
+ 24.80034603935215, 60.17480881241633, 24.80808017426278,
60.17714686717807
],
"type": "Polygon",
"coordinates": [
[
- [
- 24.805922082319398,
- 60.17671175792864
- ],
- [
- 24.80745024472255,
- 60.176920611087695
- ],
- [
- 24.80808017426278,
- 60.17588213365369
- ],
- [
- 24.800591011951123,
- 60.17480881241633
- ],
- [
- 24.80034603935215,
- 60.17519753280732
- ],
- [
- 24.80281909606564,
- 60.17555724011572
- ],
- [
- 24.802492465933668,
- 60.17611419849894
- ],
- [
- 24.803798986461572,
- 60.176299849194635
- ],
- [
- 24.803460690967746,
- 60.176874199389374
- ],
- [
- 24.805478798568853,
- 60.17714686717807
- ],
- [
- 24.805805428700822,
- 60.17661313236411
- ],
- [
- 24.805945413043094,
- 60.17663633840593
- ],
- [
- 24.805922082319398,
- 60.17671175792864
- ]
+ [24.805922082319398, 60.17671175792864],
+ [24.80745024472255, 60.176920611087695],
+ [24.80808017426278, 60.17588213365369],
+ [24.800591011951123, 60.17480881241633],
+ [24.80034603935215, 60.17519753280732],
+ [24.80281909606564, 60.17555724011572],
+ [24.802492465933668, 60.17611419849894],
+ [24.803798986461572, 60.176299849194635],
+ [24.803460690967746, 60.176874199389374],
+ [24.805478798568853, 60.17714686717807],
+ [24.805805428700822, 60.17661313236411],
+ [24.805945413043094, 60.17663633840593],
+ [24.805922082319398, 60.17671175792864]
]
]
},
@@ -87,9 +46,7 @@
"builtCapacity": {
"CAR": 1365
},
- "usages": [
- "PARK_AND_RIDE"
- ],
+ "usages": ["PARK_AND_RIDE"],
"services": [
"LIGHTING",
"COVERED",
@@ -97,9 +54,7 @@
"PAYMENT_AT_GATE",
"ENGINE_IGNITION_AID"
],
- "authenticationMethods": [
- "HSL_TICKET"
- ],
+ "authenticationMethods": ["HSL_TICKET"],
"pricing": [
{
"usage": "PARK_AND_RIDE",
@@ -211,9 +166,7 @@
"en": "1. tunti 2 € / 60 min, seuraavat tunnit 1 € / 30 min"
},
"url": null,
- "paymentMethods": [
- "DEBIT_CARD"
- ]
+ "paymentMethods": ["DEBIT_CARD"]
},
"openingHours": {
"openNow": true,
@@ -264,38 +217,18 @@
}
},
"bbox": [
- 24.977034456273202,
- 60.186015498799264,
- 24.981894619008195,
+ 24.977034456273202, 60.186015498799264, 24.981894619008195,
60.18802910674705
],
"type": "Polygon",
"coordinates": [
[
- [
- 24.977731830617074,
- 60.18802910674705
- ],
- [
- 24.977034456273202,
- 60.186674268899424
- ],
- [
- 24.979169494649057,
- 60.186015498799264
- ],
- [
- 24.981894619008195,
- 60.187397033842615
- ],
- [
- 24.98158348276247,
- 60.187589057277705
- ],
- [
- 24.977731830617074,
- 60.18802910674705
- ]
+ [24.977731830617074, 60.18802910674705],
+ [24.977034456273202, 60.186674268899424],
+ [24.979169494649057, 60.186015498799264],
+ [24.981894619008195, 60.187397033842615],
+ [24.98158348276247, 60.187589057277705],
+ [24.977731830617074, 60.18802910674705]
]
]
},
@@ -310,9 +243,7 @@
"CAR": 300,
"ELECTRIC_CAR": 200
},
- "usages": [
- "PARK_AND_RIDE"
- ],
+ "usages": ["PARK_AND_RIDE"],
"services": [
"LIGHTING",
"COVERED",
@@ -320,9 +251,7 @@
"PAYMENT_AT_GATE",
"ENGINE_IGNITION_AID"
],
- "authenticationMethods": [
- "HSL_TICKET"
- ],
+ "authenticationMethods": ["HSL_TICKET"],
"pricing": [
{
"usage": "PARK_AND_RIDE",
@@ -383,12 +312,7 @@
"en": "Electric car parking 2 € + 0,15€ / kWh"
},
"url": null,
- "paymentMethods": [
- "COINS",
- "NOTES",
- "DEBIT_CARD",
- "OTHER"
- ]
+ "paymentMethods": ["COINS", "NOTES", "DEBIT_CARD", "OTHER"]
},
"openingHours": {
"openNow": false,
@@ -423,34 +347,17 @@
}
},
"bbox": [
- 24.81405168771744,
- 60.21851030940037,
- 24.81410264968872,
+ 24.81405168771744, 60.21851030940037, 24.81410264968872,
60.21875543991248
],
"type": "Polygon",
"coordinates": [
[
- [
- 24.81406778097153,
- 60.21875543991248
- ],
- [
- 24.81405168771744,
- 60.21851030940037
- ],
- [
- 24.81408387422562,
- 60.21851030940037
- ],
- [
- 24.81410264968872,
- 60.21875543991248
- ],
- [
- 24.81406778097153,
- 60.21875543991248
- ]
+ [24.81406778097153, 60.21875543991248],
+ [24.81405168771744, 60.21851030940037],
+ [24.81408387422562, 60.21851030940037],
+ [24.81410264968872, 60.21875543991248],
+ [24.81406778097153, 60.21875543991248]
]
]
},
@@ -463,13 +370,8 @@
"builtCapacity": {
"BICYCLE": 80
},
- "usages": [
- "PARK_AND_RIDE"
- ],
- "services": [
- "LIGHTING",
- "BICYCLE_FRAME_LOCK"
- ],
+ "usages": ["PARK_AND_RIDE"],
+ "services": ["LIGHTING", "BICYCLE_FRAME_LOCK"],
"authenticationMethods": [],
"pricing": [
{
@@ -565,39 +467,16 @@
"name": "EPSG:4326"
}
},
- "bbox": [
- 25.11001,
- 60.237897,
- 25.110917,
- 60.238254
- ],
+ "bbox": [25.11001, 60.237897, 25.110917, 60.238254],
"type": "Polygon",
"coordinates": [
[
- [
- 25.110053,
- 60.238253
- ],
- [
- 25.11001,
- 60.237953
- ],
- [
- 25.110106,
- 60.237905
- ],
- [
- 25.110917,
- 60.237897
- ],
- [
- 25.110912,
- 60.238254
- ],
- [
- 25.110053,
- 60.238253
- ]
+ [25.110053, 60.238253],
+ [25.11001, 60.237953],
+ [25.110106, 60.237905],
+ [25.110917, 60.237897],
+ [25.110912, 60.238254],
+ [25.110053, 60.238253]
]
]
},
@@ -610,9 +489,7 @@
"DISABLED": 2,
"CAR": 80
},
- "usages": [
- "PARK_AND_RIDE"
- ],
+ "usages": ["PARK_AND_RIDE"],
"pricing": [
{
"usage": "PARK_AND_RIDE",
diff --git a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/hubs.json b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/hubs.json
index da4c64a63fa..a05886513df 100644
--- a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/hubs.json
+++ b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/hubs.json
@@ -1,76 +1,65 @@
{
- "results": [
- {
- "id": 321,
- "name": {
- "fi": "HubYksi",
- "sv": "HubEn",
- "en": "HubOne"
- },
- "location": {
- "crs": {
- "type": "name",
- "properties": {
- "name": "EPSG:4326"
- }
- },
- "type": "Point",
- "coordinates": [
- 24.804913,
- 60.176064
- ]
- },
- "facilityIds": [
- 990,
- 1037
- ],
- "address": {
- "streetAddress": null,
- "postalCode": null,
- "city": {
- "fi": "Espoo",
- "sv": "Esbo",
- "en": "Espoo"
- }
- },
- "modifiedAt": null,
- "modifiedBy": null
+ "results": [
+ {
+ "id": 321,
+ "name": {
+ "fi": "HubYksi",
+ "sv": "HubEn",
+ "en": "HubOne"
+ },
+ "location": {
+ "crs": {
+ "type": "name",
+ "properties": {
+ "name": "EPSG:4326"
+ }
},
- {
- "id": 129,
- "name": {
- "fi": "HubKaksi",
- "sv": "HubTvå",
- "en": "HubTwo"
- },
- "location": {
- "crs": {
- "type": "name",
- "properties": {
- "name": "EPSG:4326"
- }
- },
- "type": "Point",
- "coordinates": [
- 25.101168,
- 60.45744
- ]
- },
- "facilityIds": [
- 894
- ],
- "address": {
- "streetAddress": null,
- "postalCode": null,
- "city": {
- "fi": "Järvenpää",
- "sv": "Träskända",
- "en": "Järvenpää"
- }
- },
- "modifiedAt": null,
- "modifiedBy": null
+ "type": "Point",
+ "coordinates": [24.804913, 60.176064]
+ },
+ "facilityIds": [990, 1037],
+ "address": {
+ "streetAddress": null,
+ "postalCode": null,
+ "city": {
+ "fi": "Espoo",
+ "sv": "Esbo",
+ "en": "Espoo"
}
- ],
- "hasMore": false
-}
\ No newline at end of file
+ },
+ "modifiedAt": null,
+ "modifiedBy": null
+ },
+ {
+ "id": 129,
+ "name": {
+ "fi": "HubKaksi",
+ "sv": "HubTvå",
+ "en": "HubTwo"
+ },
+ "location": {
+ "crs": {
+ "type": "name",
+ "properties": {
+ "name": "EPSG:4326"
+ }
+ },
+ "type": "Point",
+ "coordinates": [25.101168, 60.45744]
+ },
+ "facilityIds": [894],
+ "address": {
+ "streetAddress": null,
+ "postalCode": null,
+ "city": {
+ "fi": "Järvenpää",
+ "sv": "Träskända",
+ "en": "Järvenpää"
+ }
+ },
+ "modifiedAt": null,
+ "modifiedBy": null
+ }
+ ],
+ "hasMore": false
+}
diff --git a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/utilizations.json b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/utilizations.json
index c8c87fbe823..dc9772682c4 100644
--- a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/utilizations.json
+++ b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/hslpark/utilizations.json
@@ -1,20 +1,20 @@
[
- {
- "facilityId": 990,
- "capacityType": "CAR",
- "usage": "PARK_AND_RIDE",
- "timestamp": "2021-12-21T08:42:39.000+02:00",
- "spacesAvailable": 600,
- "capacity": 1365,
- "openNow": true
- },
- {
- "facilityId": 894,
- "capacityType": "BICYCLE",
- "usage": "PARK_AND_RIDE",
- "timestamp": "2019-12-31T11:58:13.000+02:00",
- "spacesAvailable": 43,
- "capacity": 80,
- "openNow": true
- }
+ {
+ "facilityId": 990,
+ "capacityType": "CAR",
+ "usage": "PARK_AND_RIDE",
+ "timestamp": "2021-12-21T08:42:39.000+02:00",
+ "spacesAvailable": 600,
+ "capacity": 1365,
+ "openNow": true
+ },
+ {
+ "facilityId": 894,
+ "capacityType": "BICYCLE",
+ "usage": "PARK_AND_RIDE",
+ "timestamp": "2019-12-31T11:58:13.000+02:00",
+ "spacesAvailable": 43,
+ "capacity": 80,
+ "openNow": true
+ }
]
diff --git a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/parkapi/herrenberg.json b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/parkapi/herrenberg.json
index e351bdc7fd0..b21ca985af1 100644
--- a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/parkapi/herrenberg.json
+++ b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/parkapi/herrenberg.json
@@ -394,4 +394,4 @@
}
}
]
-}
\ No newline at end of file
+}
diff --git a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/parkapi/parkapi-reutlingen.json b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/parkapi/parkapi-reutlingen.json
index 946ec007ba9..23a39f17920 100644
--- a/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/parkapi/parkapi-reutlingen.json
+++ b/application/src/ext-test/resources/org/opentripplanner/ext/vehicleparking/parkapi/parkapi-reutlingen.json
@@ -424,4 +424,4 @@
"notes": {}
}
]
-}
\ No newline at end of file
+}
diff --git a/application/src/ext-test/resources/org/opentripplanner/ext/vehiclerentalservicedirectory/generatedoc/router-config.json b/application/src/ext-test/resources/org/opentripplanner/ext/vehiclerentalservicedirectory/generatedoc/router-config.json
index 0c772551549..e2dc7e202d2 100644
--- a/application/src/ext-test/resources/org/opentripplanner/ext/vehiclerentalservicedirectory/generatedoc/router-config.json
+++ b/application/src/ext-test/resources/org/opentripplanner/ext/vehiclerentalservicedirectory/generatedoc/router-config.json
@@ -9,8 +9,8 @@
},
"networks": [
{
- "network" : "oslo-by-sykkel",
- "geofencingZones" : true
+ "network": "oslo-by-sykkel",
+ "geofencingZones": true
}
]
}
diff --git a/application/src/ext-test/resources/ridehailing/uber-arrival-estimates.json b/application/src/ext-test/resources/ridehailing/uber-arrival-estimates.json
index 624d49d41e0..0126158daf7 100644
--- a/application/src/ext-test/resources/ridehailing/uber-arrival-estimates.json
+++ b/application/src/ext-test/resources/ridehailing/uber-arrival-estimates.json
@@ -49,4 +49,4 @@
"product_id": "3ab64887-4842-4c8e-9780-ccecd3a0391d"
}
]
-}
\ No newline at end of file
+}
diff --git a/application/src/ext-test/resources/ridehailing/uber-price-estimates.json b/application/src/ext-test/resources/ridehailing/uber-price-estimates.json
index d9f8540229e..a6c39c7f10a 100644
--- a/application/src/ext-test/resources/ridehailing/uber-price-estimates.json
+++ b/application/src/ext-test/resources/ridehailing/uber-price-estimates.json
@@ -89,4 +89,4 @@
"currency_code": "USD"
}
]
-}
\ No newline at end of file
+}
diff --git a/application/src/ext-test/resources/smoovebikerental/smoove.json b/application/src/ext-test/resources/smoovebikerental/smoove.json
index 364d947b504..9091a493a7c 100644
--- a/application/src/ext-test/resources/smoovebikerental/smoove.json
+++ b/application/src/ext-test/resources/smoovebikerental/smoove.json
@@ -1,49 +1,49 @@
{
- "result" : [
- {
- "name" : "A04 Hamn",
- "operative" : true,
- "coordinates" : "60.167913, 24.952269",
- "style" : "Station on",
- "avl_bikes" : 1,
- "free_slots" : 11,
- "total_slots" : 12
- },
- {
- "name" : "B05 Fake",
- "operative" : false,
- "coordinates" : "60, 24",
- "style" : "Station off",
- "avl_bikes" : 5,
- "free_slots" : 5,
- "total_slots" : 5
- },
- {
- "name" : "B06 Foo",
- "operative" : true,
- "coordinates" : "61,25",
- "style" : "Station on",
- "avl_bikes" : 5,
- "free_slots" : 5,
- "total_slots" : 5
- },
- {
- "name" : "B08 Invalid",
- "operative" : true,
- "coordinates" : "",
- "style" : "Station on",
- "avl_bikes" : 5,
- "free_slots" : 5,
- "total_slots" : 5
- },
- {
- "name" : "B09 Full",
- "operative" : true,
- "coordinates" : "60.168913, 24.953269",
- "style" : "Station on",
- "avl_bikes" : 12,
- "free_slots" : 0,
- "total_slots" : 12
- }
- ]
+ "result": [
+ {
+ "name": "A04 Hamn",
+ "operative": true,
+ "coordinates": "60.167913, 24.952269",
+ "style": "Station on",
+ "avl_bikes": 1,
+ "free_slots": 11,
+ "total_slots": 12
+ },
+ {
+ "name": "B05 Fake",
+ "operative": false,
+ "coordinates": "60, 24",
+ "style": "Station off",
+ "avl_bikes": 5,
+ "free_slots": 5,
+ "total_slots": 5
+ },
+ {
+ "name": "B06 Foo",
+ "operative": true,
+ "coordinates": "61,25",
+ "style": "Station on",
+ "avl_bikes": 5,
+ "free_slots": 5,
+ "total_slots": 5
+ },
+ {
+ "name": "B08 Invalid",
+ "operative": true,
+ "coordinates": "",
+ "style": "Station on",
+ "avl_bikes": 5,
+ "free_slots": 5,
+ "total_slots": 5
+ },
+ {
+ "name": "B09 Full",
+ "operative": true,
+ "coordinates": "60.168913, 24.953269",
+ "style": "Station on",
+ "avl_bikes": 12,
+ "free_slots": 0,
+ "total_slots": 12
+ }
+ ]
}
diff --git a/application/src/ext/java/org/opentripplanner/ext/flex/FlexRouter.java b/application/src/ext/java/org/opentripplanner/ext/flex/FlexRouter.java
index 103a27e7554..46d9e527980 100644
--- a/application/src/ext/java/org/opentripplanner/ext/flex/FlexRouter.java
+++ b/application/src/ext/java/org/opentripplanner/ext/flex/FlexRouter.java
@@ -192,7 +192,7 @@ public TransitStopVertex getStopVertexForStopId(FeedScopedId stopId) {
@Override
public Collection getTransfersFromStop(StopLocation stop) {
- return transitService.getTransfersByStop(stop);
+ return transitService.findPathTransfers(stop);
}
@Override
@@ -207,7 +207,7 @@ public Collection getTransfersToStop(StopLocation stop) {
@Override
public boolean isDateActive(FlexServiceDate date, FlexTrip, ?> trip) {
- int serviceCode = transitService.getServiceCodeForId(trip.getTrip().getServiceId());
+ int serviceCode = transitService.getServiceCode(trip.getTrip().getServiceId());
return date.isTripServiceRunning(serviceCode);
}
}
diff --git a/application/src/ext/java/org/opentripplanner/ext/geocoder/StopClusterMapper.java b/application/src/ext/java/org/opentripplanner/ext/geocoder/StopClusterMapper.java
index 3a6546cfe1e..daecb7f6a4e 100644
--- a/application/src/ext/java/org/opentripplanner/ext/geocoder/StopClusterMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/geocoder/StopClusterMapper.java
@@ -174,7 +174,7 @@ private static Optional map(List stopLocations)
}
private List agenciesForStopLocation(StopLocation stop) {
- return transitService.getRoutesForStop(stop).stream().map(Route::getAgency).distinct().toList();
+ return transitService.findRoutes(stop).stream().map(Route::getAgency).distinct().toList();
}
private List agenciesForStopLocationsGroup(StopLocationsGroup group) {
@@ -190,7 +190,7 @@ StopCluster.Location toLocation(FeedScopedId id) {
var loc = transitService.getStopLocation(id);
if (loc != null) {
var feedPublisher = toFeedPublisher(transitService.getFeedInfo(id.getFeedId()));
- var modes = transitService.getModesOfStopLocation(loc).stream().map(Enum::name).toList();
+ var modes = transitService.findTransitModes(loc).stream().map(Enum::name).toList();
var agencies = agenciesForStopLocation(loc)
.stream()
.map(StopClusterMapper::toAgency)
@@ -209,7 +209,7 @@ StopCluster.Location toLocation(FeedScopedId id) {
var group = transitService.getStopLocationsGroup(id);
var feedPublisher = toFeedPublisher(transitService.getFeedInfo(id.getFeedId()));
var modes = transitService
- .getModesOfStopLocationsGroup(group)
+ .findTransitModes(group)
.stream()
.map(Enum::name)
.toList();
diff --git a/application/src/ext/java/org/opentripplanner/ext/parkAndRideApi/ParkAndRideResource.java b/application/src/ext/java/org/opentripplanner/ext/parkAndRideApi/ParkAndRideResource.java
index 6529fc4234d..747ba0617ec 100644
--- a/application/src/ext/java/org/opentripplanner/ext/parkAndRideApi/ParkAndRideResource.java
+++ b/application/src/ext/java/org/opentripplanner/ext/parkAndRideApi/ParkAndRideResource.java
@@ -14,8 +14,8 @@
import org.opentripplanner.framework.i18n.I18NString;
import org.opentripplanner.routing.graphfinder.DirectGraphFinder;
import org.opentripplanner.routing.graphfinder.GraphFinder;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingService;
+import org.opentripplanner.service.vehicleparking.VehicleParkingService;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
import org.opentripplanner.standalone.api.OtpServerRequestContext;
/**
@@ -36,7 +36,7 @@ public ParkAndRideResource(
*/
@Deprecated @PathParam("ignoreRouterId") String ignoreRouterId
) {
- this.vehicleParkingService = serverContext.graph().getVehicleParkingService();
+ this.vehicleParkingService = serverContext.vehicleParkingService();
// TODO OTP2 - Why are we using the DirectGraphFinder here, not just
// - serverContext.graphFinder(). This needs at least a comment!
@@ -73,7 +73,8 @@ public Response getParkAndRide(
}
var prs = vehicleParkingService
- .getCarParks()
+ .listCarParks()
+ .stream()
.filter(lot -> envelope.contains(lot.getCoordinate().asJtsCoordinate()))
.filter(lot -> hasTransitStopsNearby(maxTransitDistance, lot))
.map(ParkAndRideInfo::ofVehicleParking)
diff --git a/application/src/ext/java/org/opentripplanner/ext/reportapi/model/GraphReportBuilder.java b/application/src/ext/java/org/opentripplanner/ext/reportapi/model/GraphReportBuilder.java
index 7f819c70792..338d425db9a 100644
--- a/application/src/ext/java/org/opentripplanner/ext/reportapi/model/GraphReportBuilder.java
+++ b/application/src/ext/java/org/opentripplanner/ext/reportapi/model/GraphReportBuilder.java
@@ -41,9 +41,9 @@ public static GraphStats build(OtpServerRequestContext context) {
new StreetStats(edgeTypes, vertexTypes),
new TransitStats(
stopCounts,
- transitService.getAllTrips().size(),
- transitService.getAllTripPatterns().size(),
- transitService.getAllRoutes().size(),
+ transitService.listTrips().size(),
+ transitService.listTripPatterns().size(),
+ transitService.listRoutes().size(),
constrainedTransferCounts
)
);
diff --git a/application/src/ext/java/org/opentripplanner/ext/reportapi/model/TransfersReport.java b/application/src/ext/java/org/opentripplanner/ext/reportapi/model/TransfersReport.java
index cff5d2f791e..e9b5ac8a236 100644
--- a/application/src/ext/java/org/opentripplanner/ext/reportapi/model/TransfersReport.java
+++ b/application/src/ext/java/org/opentripplanner/ext/reportapi/model/TransfersReport.java
@@ -152,7 +152,7 @@ private TxPoint pointInfo(TransferPoint p, boolean boarding) {
if (p instanceof TripTransferPoint tp) {
var trip = tp.getTrip();
var route = trip.getRoute();
- var ptn = transitService.getPatternForTrip(trip);
+ var ptn = transitService.findPattern(trip);
r.operator = getName(trip.getOperator());
r.type = "Trip";
r.entityId = trip.getId().getId();
@@ -162,7 +162,7 @@ private TxPoint pointInfo(TransferPoint p, boolean boarding) {
addLocation(r, ptn, stop, trip, boarding);
} else if (p instanceof RouteStopTransferPoint rp) {
var route = rp.getRoute();
- var ptn = transitService.getPatternsForRoute(route).stream().findFirst().orElse(null);
+ var ptn = transitService.findPatterns(route).stream().findFirst().orElse(null);
r.operator = getName(route.getOperator());
r.type = "Route";
r.entityId = route.getId().getId();
diff --git a/application/src/ext/java/org/opentripplanner/ext/reportapi/resource/ReportResource.java b/application/src/ext/java/org/opentripplanner/ext/reportapi/resource/ReportResource.java
index e06aec71b53..56a224d3d68 100644
--- a/application/src/ext/java/org/opentripplanner/ext/reportapi/resource/ReportResource.java
+++ b/application/src/ext/java/org/opentripplanner/ext/reportapi/resource/ReportResource.java
@@ -49,7 +49,7 @@ public String getTransfersAsCsv() {
@Produces(MediaType.TEXT_PLAIN)
public String getTransitGroupPriorities() {
return TransitGroupPriorityReport.build(
- transitService.getAllTripPatterns(),
+ transitService.listTripPatterns(),
defaultRequest.journey().transit()
);
}
diff --git a/application/src/ext/java/org/opentripplanner/ext/restapi/mapping/BookingInfoMapper.java b/application/src/ext/java/org/opentripplanner/ext/restapi/mapping/BookingInfoMapper.java
index b4e3292b435..eafa81195b5 100644
--- a/application/src/ext/java/org/opentripplanner/ext/restapi/mapping/BookingInfoMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/restapi/mapping/BookingInfoMapper.java
@@ -27,8 +27,8 @@ private static ApiBookingInfo mapBookingInfo(BookingInfo info, boolean isPickup)
BookingMethodMapper.mapBookingMethods(info.bookingMethods()),
BookingTimeMapper.mapBookingTime(info.getEarliestBookingTime()),
BookingTimeMapper.mapBookingTime(info.getLatestBookingTime()),
- info.getMinimumBookingNotice(),
- info.getMaximumBookingNotice(),
+ info.getMinimumBookingNotice().orElse(null),
+ info.getMaximumBookingNotice().orElse(null),
info.getMessage(),
isPickup ? info.getPickupMessage() : null,
!isPickup ? info.getDropOffMessage() : null
diff --git a/application/src/ext/java/org/opentripplanner/ext/restapi/mapping/PlaceMapper.java b/application/src/ext/java/org/opentripplanner/ext/restapi/mapping/PlaceMapper.java
index 28ceb0b84e3..059b0f93812 100644
--- a/application/src/ext/java/org/opentripplanner/ext/restapi/mapping/PlaceMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/restapi/mapping/PlaceMapper.java
@@ -15,7 +15,7 @@
import org.opentripplanner.model.plan.Place;
import org.opentripplanner.model.plan.StopArrival;
import org.opentripplanner.model.plan.VehicleParkingWithEntrance;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
import org.opentripplanner.transit.model.site.RegularStop;
public class PlaceMapper {
diff --git a/application/src/ext/java/org/opentripplanner/ext/restapi/model/ApiRouterInfo.java b/application/src/ext/java/org/opentripplanner/ext/restapi/model/ApiRouterInfo.java
index a0bbb1116b3..95317d40057 100644
--- a/application/src/ext/java/org/opentripplanner/ext/restapi/model/ApiRouterInfo.java
+++ b/application/src/ext/java/org/opentripplanner/ext/restapi/model/ApiRouterInfo.java
@@ -5,7 +5,7 @@
import org.locationtech.jts.geom.Geometry;
import org.opentripplanner.ext.restapi.mapping.ModeMapper;
import org.opentripplanner.routing.graph.Graph;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingService;
+import org.opentripplanner.service.vehicleparking.VehicleParkingService;
import org.opentripplanner.service.vehiclerental.VehicleRentalService;
import org.opentripplanner.service.worldenvelope.model.WorldEnvelope;
import org.opentripplanner.transit.service.TransitService;
@@ -34,16 +34,15 @@ public ApiRouterInfo(
Graph graph,
TransitService transitService,
VehicleRentalService vehicleRentalService,
+ VehicleParkingService vehicleParkingService,
WorldEnvelope envelope
) {
- VehicleParkingService vehicleParkingService = graph.getVehicleParkingService();
-
this.routerId = routerId;
this.polygon = graph.getConvexHull();
this.buildTime = Date.from(graph.buildTime);
this.transitServiceStarts = transitService.getTransitServiceStarts().toEpochSecond();
this.transitServiceEnds = transitService.getTransitServiceEnds().toEpochSecond();
- this.transitModes = ModeMapper.mapToApi(transitService.getTransitModes());
+ this.transitModes = ModeMapper.mapToApi(transitService.listTransitModes());
this.envelope = envelope;
this.hasBikeSharing = mapHasBikeSharing(vehicleRentalService);
this.hasBikePark = mapHasBikePark(vehicleParkingService);
@@ -51,7 +50,7 @@ public ApiRouterInfo(
this.hasParkRide = this.hasCarPark;
this.hasVehicleParking = mapHasVehicleParking(vehicleParkingService);
this.travelOptions =
- ApiTravelOptionsMaker.makeOptions(graph, vehicleRentalService, transitService);
+ ApiTravelOptionsMaker.makeOptions(graph, vehicleRentalService, vehicleParkingService, transitService);
}
public boolean mapHasBikeSharing(VehicleRentalService service) {
@@ -67,21 +66,21 @@ public boolean mapHasBikePark(VehicleParkingService service) {
if (service == null) {
return false;
}
- return service.getBikeParks().findAny().isPresent();
+ return service.listBikeParks().stream().findAny().isPresent();
}
public boolean mapHasCarPark(VehicleParkingService service) {
if (service == null) {
return false;
}
- return service.getCarParks().findAny().isPresent();
+ return service.listCarParks().stream().findAny().isPresent();
}
public boolean mapHasVehicleParking(VehicleParkingService service) {
if (service == null) {
return false;
}
- return service.getVehicleParkings().findAny().isPresent();
+ return service.listVehicleParkings().stream().findAny().isPresent();
}
public double getLowerLeftLatitude() {
diff --git a/application/src/ext/java/org/opentripplanner/ext/restapi/model/ApiTravelOptionsMaker.java b/application/src/ext/java/org/opentripplanner/ext/restapi/model/ApiTravelOptionsMaker.java
index cf424392d70..65fec7867cb 100644
--- a/application/src/ext/java/org/opentripplanner/ext/restapi/model/ApiTravelOptionsMaker.java
+++ b/application/src/ext/java/org/opentripplanner/ext/restapi/model/ApiTravelOptionsMaker.java
@@ -5,6 +5,7 @@
import java.util.Set;
import org.opentripplanner.api.parameter.ApiRequestMode;
import org.opentripplanner.routing.graph.Graph;
+import org.opentripplanner.service.vehicleparking.VehicleParkingService;
import org.opentripplanner.service.vehiclerental.VehicleRentalService;
import org.opentripplanner.transit.model.basic.TransitMode;
import org.opentripplanner.transit.service.TransitService;
@@ -29,14 +30,14 @@ public final class ApiTravelOptionsMaker {
public static List makeOptions(
Graph graph,
VehicleRentalService vehicleRentalService,
+ VehicleParkingService vehicleParkingService,
TransitService transitService
) {
- var service = graph.getVehicleParkingService();
return makeOptions(
- transitService.getTransitModes(),
+ transitService.listTransitModes(),
vehicleRentalService.hasRentalBikes(),
- service.hasBikeParking(),
- service.hasCarParking()
+ vehicleParkingService.hasBikeParking(),
+ vehicleParkingService.hasCarParking()
);
}
diff --git a/application/src/ext/java/org/opentripplanner/ext/restapi/resources/IndexAPI.java b/application/src/ext/java/org/opentripplanner/ext/restapi/resources/IndexAPI.java
index ccf18217148..7dbfabed156 100644
--- a/application/src/ext/java/org/opentripplanner/ext/restapi/resources/IndexAPI.java
+++ b/application/src/ext/java/org/opentripplanner/ext/restapi/resources/IndexAPI.java
@@ -93,7 +93,7 @@ public IndexAPI(
@GET
@Path("/feeds")
public Collection getFeeds() {
- return transitService().getFeedIds();
+ return transitService().listFeedIds();
}
@GET
@@ -108,7 +108,7 @@ public ApiFeedInfo getFeedInfo(@PathParam("feedId") String feedId) {
@Path("/agencies/{feedId}")
public Collection getAgencies(@PathParam("feedId") String feedId) {
Collection agencies = transitService()
- .getAgencies()
+ .listAgencies()
.stream()
.filter(agency -> agency.getId().getFeedId().equals(feedId))
.collect(Collectors.toList());
@@ -138,7 +138,7 @@ public Response getAgencyRoutes(
var agency = agency(feedId, agencyId);
Collection routes = transitService()
- .getAllRoutes()
+ .listRoutes()
.stream()
.filter(r -> r.getAgency() == agency)
.collect(Collectors.toList());
@@ -235,7 +235,7 @@ public List getStopsInRadius(
public List getRoutesForStop(@PathParam("stopId") String stopId) {
var stop = stop(stopId);
return transitService()
- .getPatternsForStop(stop)
+ .findPatterns(stop)
.stream()
.map(TripPattern::getRoute)
.map(RouteMapper::mapToApiShort)
@@ -247,7 +247,7 @@ public List getRoutesForStop(@PathParam("stopId") String stopId)
public List getPatternsForStop(@PathParam("stopId") String stopId) {
var stop = stop(stopId);
return transitService()
- .getPatternsForStop(stop)
+ .findPatterns(stop)
.stream()
.map(TripPatternMapper::mapToApiShort)
.collect(Collectors.toList());
@@ -275,7 +275,7 @@ public Collection getStopTimesForStop(
: Instant.ofEpochSecond(startTimeSeconds);
return transitService()
- .stopTimesForStop(
+ .findStopTimesInPattern(
stop(stopIdString),
startTime,
Duration.ofSeconds(timeRange),
@@ -303,7 +303,7 @@ public List getStoptimesForStopAndDate(
var stop = stop(stopId);
var serviceDate = parseServiceDate("date", date);
List stopTimes = transitService()
- .getStopTimesForStop(
+ .findStopTimesInPattern(
stop,
serviceDate,
omitNonPickups ? ArrivalDeparture.DEPARTURES : ArrivalDeparture.BOTH,
@@ -322,7 +322,7 @@ public Collection getTransfers(@PathParam("stopId") String stopId)
// get the transfers for the stop
return transitService()
- .getTransfersByStop(stop)
+ .findPathTransfers(stop)
.stream()
.map(TransferMapper::mapToApi)
.collect(Collectors.toList());
@@ -344,7 +344,7 @@ public Collection getAlertsForStop(@PathParam("stopId") String stopId)
@GET
@Path("/routes")
public List getRoutes(@QueryParam("hasStop") List stopIds) {
- Collection routes = transitService().getAllRoutes();
+ Collection routes = transitService().listRoutes();
// Filter routes to include only those that pass through all given stops
if (stopIds != null) {
// Protective copy, we are going to calculate the intersection destructively
@@ -352,7 +352,7 @@ public List getRoutes(@QueryParam("hasStop") List stopIds
for (String stopId : stopIds) {
var stop = stop(stopId);
Set routesHere = new HashSet<>();
- for (TripPattern pattern : transitService().getPatternsForStop(stop)) {
+ for (TripPattern pattern : transitService().findPatterns(stop)) {
routesHere.add(pattern.getRoute());
}
routes.retainAll(routesHere);
@@ -372,7 +372,7 @@ public ApiRoute getRoute(@PathParam("routeId") String routeId) {
@GET
@Path("/routes/{routeId}/patterns")
public List getPatternsForRoute(@PathParam("routeId") String routeId) {
- Collection patterns = transitService().getPatternsForRoute(route(routeId));
+ Collection patterns = transitService().findPatterns(route(routeId));
return TripPatternMapper.mapToApiShort(patterns);
}
@@ -383,7 +383,7 @@ public List getStopsForRoute(@PathParam("routeId") String routeId)
var route = route(routeId);
Set stops = new HashSet<>();
- Collection patterns = transitService().getPatternsForRoute(route);
+ Collection patterns = transitService().findPatterns(route);
for (TripPattern pattern : patterns) {
stops.addAll(pattern.getStops());
}
@@ -396,7 +396,7 @@ public List getStopsForRoute(@PathParam("routeId") String routeId)
public List getTripsForRoute(@PathParam("routeId") String routeId) {
var route = route(routeId);
- var patterns = transitService().getPatternsForRoute(route);
+ var patterns = transitService().findPatterns(route);
return patterns
.stream()
.flatMap(TripPattern::scheduledTripsAsStream)
@@ -445,7 +445,7 @@ public List getStoptimesForTrip(@PathParam("tripId") String tr
var pattern = tripPattern(trip);
// Note, we need the updated timetable not the scheduled one (which contains no real-time updates).
var table = transitService()
- .getTimetableForTripPattern(pattern, LocalDate.now(transitService().getTimeZone()));
+ .findTimetable(pattern, LocalDate.now(transitService().getTimeZone()));
var tripTimesOnDate = TripTimeOnDate.fromTripTimes(table, trip);
return TripTimeMapper.mapToApi(tripTimesOnDate);
}
@@ -472,7 +472,7 @@ public Collection getAlertsForTrip(@PathParam("tripId") String tripId)
@GET
@Path("/patterns")
public List getPatterns() {
- Collection patterns = transitService().getAllTripPatterns();
+ Collection patterns = transitService().listTripPatterns();
return TripPatternMapper.mapToApiShort(patterns);
}
@@ -589,7 +589,7 @@ private static NotFoundException notFoundException(String entity, String details
}
private Agency agency(String feedId, String agencyId) {
- var agency = transitService().getAgencyForId(new FeedScopedId(feedId, agencyId));
+ var agency = transitService().getAgency(new FeedScopedId(feedId, agencyId));
if (agency == null) {
throw notFoundException("Agency", "feedId: " + feedId + ", agencyId: " + agencyId);
}
@@ -602,18 +602,18 @@ private StopLocation stop(String stopId) {
}
private Route route(String routeId) {
- var route = transitService().getRouteForId(createId("routeId", routeId));
+ var route = transitService().getRoute(createId("routeId", routeId));
return validateExist("Route", route, "routeId", routeId);
}
private Trip trip(String tripId) {
- var trip = transitService().getTripForId(createId("tripId", tripId));
+ var trip = transitService().getTrip(createId("tripId", tripId));
return validateExist("Trip", trip, "tripId", tripId);
}
private TripPattern tripPattern(String tripPatternId) {
var id = createId("patternId", tripPatternId);
- var pattern = transitService().getTripPatternForId(id);
+ var pattern = transitService().getTripPattern(id);
return validateExist("TripPattern", pattern, "patternId", tripPatternId);
}
@@ -622,7 +622,7 @@ private TripPattern tripPatternForTripId(String tripId) {
}
private TripPattern tripPattern(Trip trip) {
- var pattern = transitService().getPatternForTrip(trip);
+ var pattern = transitService().findPattern(trip);
return validateExist("TripPattern", pattern, "trip", trip.getId());
}
diff --git a/application/src/ext/java/org/opentripplanner/ext/restapi/resources/Routers.java b/application/src/ext/java/org/opentripplanner/ext/restapi/resources/Routers.java
index 9cfab49017c..6c805560b8b 100644
--- a/application/src/ext/java/org/opentripplanner/ext/restapi/resources/Routers.java
+++ b/application/src/ext/java/org/opentripplanner/ext/restapi/resources/Routers.java
@@ -66,6 +66,7 @@ private ApiRouterInfo getRouterInfo() {
serverContext.graph(),
serverContext.transitService(),
serverContext.vehicleRentalService(),
+ serverContext.vehicleParkingService(),
serverContext.worldEnvelopeService().envelope().orElseThrow()
);
} catch (GraphNotFoundException e) {
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/VectorTilesResource.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/VectorTilesResource.java
index 29701ee2307..f1fde4917cd 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/VectorTilesResource.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/VectorTilesResource.java
@@ -109,7 +109,7 @@ public TileJson getTileJson(
private List getFeedInfos() {
return serverContext
.transitService()
- .getFeedIds()
+ .listFeedIds()
.stream()
.map(serverContext.transitService()::getFeedInfo)
.filter(Predicate.not(Objects::isNull))
@@ -140,12 +140,12 @@ private static LayerBuilder> createLayerBuilder(
layerParameters
);
case VehicleParking -> new VehicleParkingsLayerBuilder(
- context.graph(),
+ context.vehicleParkingService(),
layerParameters,
locale
);
case VehicleParkingGroup -> new VehicleParkingGroupsLayerBuilder(
- context.graph(),
+ context.vehicleParkingService(),
layerParameters,
locale
);
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/LayerFilters.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/LayerFilters.java
index 7d63bbe5398..38a27d4b4c4 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/LayerFilters.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/LayerFilters.java
@@ -58,7 +58,7 @@ public static Predicate forType(FilterType type, TransitService tra
return switch (type) {
case NONE -> NO_FILTER;
case SUNDAY_TO_SUNDAY_SERVICE_WEEK -> buildCurrentServiceWeekPredicate(
- transitService::getPatternsForStop,
+ transitService::findPatterns,
trip ->
transitService.getCalendarService().getServiceDatesForServiceId(trip.getServiceId()),
() -> LocalDate.now(transitService.getTimeZone())
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/areastops/AreaStopPropertyMapper.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/areastops/AreaStopPropertyMapper.java
index ea6f9225e11..3a5a33103df 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/areastops/AreaStopPropertyMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/areastops/AreaStopPropertyMapper.java
@@ -28,7 +28,7 @@ protected AreaStopPropertyMapper(
}
protected static AreaStopPropertyMapper create(TransitService transitService, Locale locale) {
- return new AreaStopPropertyMapper(transitService::getRoutesForStop, locale);
+ return new AreaStopPropertyMapper(transitService::findRoutes, locale);
}
@Override
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stations/DigitransitStationPropertyMapper.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stations/DigitransitStationPropertyMapper.java
index 18b4a5f388d..6268db83b04 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stations/DigitransitStationPropertyMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stations/DigitransitStationPropertyMapper.java
@@ -44,7 +44,7 @@ public Collection map(Station station) {
"type",
childStops
.stream()
- .flatMap(stop -> transitService.getPatternsForStop(stop).stream())
+ .flatMap(stop -> transitService.findPatterns(stop).stream())
.map(tripPattern -> tripPattern.getMode().name())
.distinct()
.collect(Collectors.joining(","))
@@ -60,7 +60,7 @@ public Collection map(Station station) {
OBJECT_MAPPER.writeValueAsString(
childStops
.stream()
- .flatMap(stop -> transitService.getRoutesForStop(stop).stream())
+ .flatMap(stop -> transitService.findRoutes(stop).stream())
.distinct()
.map(route -> {
var obj = OBJECT_MAPPER.createObjectNode();
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stations/StationsLayerBuilder.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stations/StationsLayerBuilder.java
index 25959d5ec7a..c157621a740 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stations/StationsLayerBuilder.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stations/StationsLayerBuilder.java
@@ -40,7 +40,7 @@ public StationsLayerBuilder(
protected List getGeometries(Envelope query) {
return transitService
- .getStations()
+ .listStations()
.stream()
.map(station -> {
Coordinate coordinate = station.getCoordinate().asJtsCoordinate();
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java
index af2ec7212ec..6fb2783f7cb 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitRealtimeStopPropertyMapper.java
@@ -36,7 +36,7 @@ protected Collection map(RegularStop stop) {
var serviceDate = LocalDate.now(transitService.getTimeZone());
boolean stopTimesExist = transitService
- .getStopTimesForStop(stop, serviceDate, ArrivalDeparture.BOTH, true)
+ .findStopTimesInPattern(stop, serviceDate, ArrivalDeparture.BOTH, true)
.stream()
.anyMatch(stopTime -> stopTime.times.size() > 0);
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitStopPropertyMapper.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitStopPropertyMapper.java
index edf9c7d8188..0322a2749b4 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitStopPropertyMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/stops/DigitransitStopPropertyMapper.java
@@ -61,7 +61,7 @@ protected static Collection getBaseKeyValues(
protected static String getRoutes(TransitService transitService, RegularStop stop) {
try {
var objects = transitService
- .getRoutesForStop(stop)
+ .findRoutes(stop)
.stream()
.map(route -> {
var routeObject = OBJECT_MAPPER.createObjectNode();
@@ -76,7 +76,7 @@ protected static String getRoutes(TransitService transitService, RegularStop sto
}
protected static String getType(TransitService transitService, RegularStop stop) {
- Collection patternsForStop = transitService.getPatternsForStop(stop);
+ Collection patternsForStop = transitService.findPatterns(stop);
return patternsForStop
.stream()
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/DigitransitVehicleParkingPropertyMapper.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/DigitransitVehicleParkingPropertyMapper.java
index 951552e1fdc..702fbac9e07 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/DigitransitVehicleParkingPropertyMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/DigitransitVehicleParkingPropertyMapper.java
@@ -7,7 +7,7 @@
import org.opentripplanner.apis.support.mapping.PropertyMapper;
import org.opentripplanner.framework.i18n.I18NStringMapper;
import org.opentripplanner.inspector.vector.KeyValue;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
public class DigitransitVehicleParkingPropertyMapper extends PropertyMapper {
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/StadtnaviVehicleParkingPropertyMapper.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/StadtnaviVehicleParkingPropertyMapper.java
index bccc2b4de4d..8f745a4e633 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/StadtnaviVehicleParkingPropertyMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/StadtnaviVehicleParkingPropertyMapper.java
@@ -9,8 +9,8 @@
import org.opentripplanner.framework.json.ObjectMappers;
import org.opentripplanner.inspector.vector.KeyValue;
import org.opentripplanner.model.calendar.openinghours.OsmOpeningHoursSupport;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
public class StadtnaviVehicleParkingPropertyMapper extends PropertyMapper {
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingAndGroup.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingAndGroup.java
index 7093dbb3407..5968f000d2d 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingAndGroup.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingAndGroup.java
@@ -1,8 +1,8 @@
package org.opentripplanner.ext.vectortiles.layers.vehicleparkings;
import java.util.Collection;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingGroup;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingGroup;
/**
* Record that holds {@link VehicleParkingGroup} and a set of {@link VehicleParking} that belong to
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingGroupsLayerBuilder.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingGroupsLayerBuilder.java
index 0cd1d84868b..36217e05972 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingGroupsLayerBuilder.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingGroupsLayerBuilder.java
@@ -13,7 +13,7 @@
import org.opentripplanner.framework.geometry.GeometryUtils;
import org.opentripplanner.inspector.vector.LayerBuilder;
import org.opentripplanner.inspector.vector.LayerParameters;
-import org.opentripplanner.routing.graph.Graph;
+import org.opentripplanner.service.vehicleparking.VehicleParkingService;
public class VehicleParkingGroupsLayerBuilder extends LayerBuilder {
@@ -21,10 +21,10 @@ public class VehicleParkingGroupsLayerBuilder extends LayerBuilder layerParameters,
Locale locale
) {
@@ -33,14 +33,13 @@ public VehicleParkingGroupsLayerBuilder(
layerParameters.name(),
layerParameters.expansionFactor()
);
- this.graph = graph;
+ this.service = service;
}
@Override
protected List getGeometries(Envelope query) {
- return graph
- .getVehicleParkingService()
- .getVehicleParkingGroups()
+ return service
+ .listVehicleParkingGroups()
.asMap()
.entrySet()
.stream()
diff --git a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingsLayerBuilder.java b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingsLayerBuilder.java
index 95326172415..22fb75f7b49 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingsLayerBuilder.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vectortiles/layers/vehicleparkings/VehicleParkingsLayerBuilder.java
@@ -16,8 +16,8 @@
import org.opentripplanner.framework.geometry.GeometryUtils;
import org.opentripplanner.inspector.vector.LayerBuilder;
import org.opentripplanner.inspector.vector.LayerParameters;
-import org.opentripplanner.routing.graph.Graph;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
+import org.opentripplanner.service.vehicleparking.VehicleParkingService;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
public class VehicleParkingsLayerBuilder extends LayerBuilder {
@@ -28,10 +28,10 @@ public class VehicleParkingsLayerBuilder extends LayerBuilder {
),
entry(MapperType.Digitransit, DigitransitVehicleParkingPropertyMapper::create)
);
- private final Graph graph;
+ private final VehicleParkingService service;
public VehicleParkingsLayerBuilder(
- Graph graph,
+ VehicleParkingService service,
LayerParameters layerParameters,
Locale locale
) {
@@ -40,14 +40,13 @@ public VehicleParkingsLayerBuilder(
layerParameters.name(),
layerParameters.expansionFactor()
);
- this.graph = graph;
+ this.service = service;
}
@Override
protected List getGeometries(Envelope query) {
- return graph
- .getVehicleParkingService()
- .getVehicleParkings()
+ return service
+ .listVehicleParkings().stream()
.map(vehicleParking -> {
Coordinate coordinate = vehicleParking.getCoordinate().asJtsCoordinate();
Point point = GeometryUtils.getGeometryFactory().createPoint(coordinate);
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/bikeep/BikeepUpdater.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/bikeep/BikeepUpdater.java
index cd6a39fecd3..decbda7abf6 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/bikeep/BikeepUpdater.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/bikeep/BikeepUpdater.java
@@ -7,9 +7,9 @@
import org.opentripplanner.framework.geometry.WgsCoordinate;
import org.opentripplanner.framework.i18n.NonLocalizedString;
import org.opentripplanner.framework.json.ObjectMappers;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingState;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingState;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.opentripplanner.updater.spi.GenericJsonDataSource;
import org.opentripplanner.utils.tostring.ToStringBuilder;
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/bikely/BikelyUpdater.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/bikely/BikelyUpdater.java
index 2bed1121913..eba0547dbf5 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/bikely/BikelyUpdater.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/bikely/BikelyUpdater.java
@@ -1,6 +1,6 @@
package org.opentripplanner.ext.vehicleparking.bikely;
-import static org.opentripplanner.routing.vehicle_parking.VehicleParkingState.OPERATIONAL;
+import static org.opentripplanner.service.vehicleparking.model.VehicleParkingState.OPERATIONAL;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -17,9 +17,9 @@
import org.opentripplanner.framework.io.OtpHttpClient;
import org.opentripplanner.framework.io.OtpHttpClientFactory;
import org.opentripplanner.framework.json.ObjectMappers;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingState;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingState;
import org.opentripplanner.transit.model.basic.LocalizedMoney;
import org.opentripplanner.transit.model.basic.Money;
import org.opentripplanner.transit.model.framework.FeedScopedId;
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslFacilitiesDownloader.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslFacilitiesDownloader.java
index dcf4ffe29d9..3d6c1943061 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslFacilitiesDownloader.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslFacilitiesDownloader.java
@@ -13,8 +13,8 @@
import org.opentripplanner.framework.io.OtpHttpClient;
import org.opentripplanner.framework.io.OtpHttpClientException;
import org.opentripplanner.framework.io.OtpHttpClientFactory;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingGroup;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingGroup;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslHubToVehicleParkingGroupMapper.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslHubToVehicleParkingGroupMapper.java
index 1ef0ef3597b..2c4dcad73d6 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslHubToVehicleParkingGroupMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslHubToVehicleParkingGroupMapper.java
@@ -13,7 +13,7 @@
import org.opentripplanner.framework.i18n.I18NString;
import org.opentripplanner.framework.i18n.NonLocalizedString;
import org.opentripplanner.framework.i18n.TranslatedString;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingGroup;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingGroup;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslHubsDownloader.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslHubsDownloader.java
index f1f98b6139c..62e76b65035 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslHubsDownloader.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslHubsDownloader.java
@@ -12,7 +12,7 @@
import org.opentripplanner.framework.io.OtpHttpClient;
import org.opentripplanner.framework.io.OtpHttpClientException;
import org.opentripplanner.framework.io.OtpHttpClientFactory;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingGroup;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingGroup;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkToVehicleParkingMapper.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkToVehicleParkingMapper.java
index 1f69458dd1f..c3e74f7285e 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkToVehicleParkingMapper.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkToVehicleParkingMapper.java
@@ -19,10 +19,10 @@
import org.opentripplanner.framework.i18n.TranslatedString;
import org.opentripplanner.model.calendar.openinghours.OHCalendar;
import org.opentripplanner.model.calendar.openinghours.OpeningHoursCalendarService;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingGroup;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingState;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingGroup;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingState;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkUpdater.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkUpdater.java
index f5c5b33ef29..7933e968537 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkUpdater.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/hslpark/HslParkUpdater.java
@@ -6,10 +6,10 @@
import org.opentripplanner.framework.io.JsonDataListDownloader;
import org.opentripplanner.framework.io.OtpHttpClientFactory;
import org.opentripplanner.model.calendar.openinghours.OpeningHoursCalendarService;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingGroup;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces.VehicleParkingSpacesBuilder;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingGroup;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces.VehicleParkingSpacesBuilder;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.opentripplanner.updater.spi.DataSource;
import org.slf4j.Logger;
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/BicycleParkAPIUpdater.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/BicycleParkAPIUpdater.java
index 21898bc3956..76fd73d3c18 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/BicycleParkAPIUpdater.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/BicycleParkAPIUpdater.java
@@ -2,7 +2,7 @@
import com.fasterxml.jackson.databind.JsonNode;
import org.opentripplanner.model.calendar.openinghours.OpeningHoursCalendarService;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
/**
* Vehicle parking updater class that extends the {@link ParkAPIUpdater}. Meant for reading bicycle
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/CarParkAPIUpdater.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/CarParkAPIUpdater.java
index 445f6bfbda3..06064f4896a 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/CarParkAPIUpdater.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/CarParkAPIUpdater.java
@@ -2,7 +2,7 @@
import com.fasterxml.jackson.databind.JsonNode;
import org.opentripplanner.model.calendar.openinghours.OpeningHoursCalendarService;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
/**
* Vehicle parking updater class that extends the {@link ParkAPIUpdater}. Meant for reading car
diff --git a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/ParkAPIUpdater.java b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/ParkAPIUpdater.java
index c7bd6631a48..3e206fc660d 100644
--- a/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/ParkAPIUpdater.java
+++ b/application/src/ext/java/org/opentripplanner/ext/vehicleparking/parkapi/ParkAPIUpdater.java
@@ -15,9 +15,9 @@
import org.opentripplanner.model.calendar.openinghours.OHCalendar;
import org.opentripplanner.model.calendar.openinghours.OpeningHoursCalendarService;
import org.opentripplanner.osm.OsmOpeningHoursParser;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingSpaces;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingState;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingSpaces;
+import org.opentripplanner.service.vehicleparking.model.VehicleParkingState;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.opentripplanner.updater.spi.GenericJsonDataSource;
import org.opentripplanner.utils.tostring.ToStringBuilder;
diff --git a/application/src/ext/resources/org/opentripplanner/ext/vectortiles/router-config.json b/application/src/ext/resources/org/opentripplanner/ext/vectortiles/router-config.json
index df325d076a3..5eb5c3976da 100644
--- a/application/src/ext/resources/org/opentripplanner/ext/vectortiles/router-config.json
+++ b/application/src/ext/resources/org/opentripplanner/ext/vectortiles/router-config.json
@@ -13,4 +13,3 @@
]
}
}
-
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/GraphQLRequestContext.java b/application/src/main/java/org/opentripplanner/apis/gtfs/GraphQLRequestContext.java
index 192cbb26aa9..c3ca214b62f 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/GraphQLRequestContext.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/GraphQLRequestContext.java
@@ -4,8 +4,8 @@
import org.opentripplanner.routing.api.request.RouteRequest;
import org.opentripplanner.routing.fares.FareService;
import org.opentripplanner.routing.graphfinder.GraphFinder;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingService;
import org.opentripplanner.service.realtimevehicles.RealtimeVehicleService;
+import org.opentripplanner.service.vehicleparking.VehicleParkingService;
import org.opentripplanner.service.vehiclerental.VehicleRentalService;
import org.opentripplanner.standalone.api.OtpServerRequestContext;
import org.opentripplanner.transit.service.TransitService;
@@ -14,8 +14,8 @@ public record GraphQLRequestContext(
RoutingService routingService,
TransitService transitService,
FareService fareService,
- VehicleParkingService vehicleParkingService,
VehicleRentalService vehicleRentalService,
+ VehicleParkingService vehicleParkingService,
RealtimeVehicleService realTimeVehicleService,
GraphFinder graphFinder,
RouteRequest defaultRouteRequest
@@ -25,8 +25,8 @@ public static GraphQLRequestContext ofServerContext(OtpServerRequestContext cont
context.routingService(),
context.transitService(),
context.graph().getFareService(),
- context.graph().getVehicleParkingService(),
context.vehicleRentalService(),
+ context.vehicleParkingService(),
context.realtimeVehicleService(),
context.graphFinder(),
context.defaultRouteRequest()
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/AgencyImpl.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/AgencyImpl.java
index 8a6d55bb078..d8ed772c9e5 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/AgencyImpl.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/AgencyImpl.java
@@ -107,7 +107,7 @@ public DataFetcher url() {
private List getRoutes(DataFetchingEnvironment environment) {
return getTransitService(environment)
- .getAllRoutes()
+ .listRoutes()
.stream()
.filter(route -> route.getAgency().equals(getSource(environment)))
.collect(Collectors.toList());
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/AlertImpl.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/AlertImpl.java
index 4f7a3f61a57..d7d937d52de 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/AlertImpl.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/AlertImpl.java
@@ -51,9 +51,7 @@ public DataFetcher agency() {
.filter(EntitySelector.Agency.class::isInstance)
.findAny()
.map(EntitySelector.Agency.class::cast)
- .map(entitySelector ->
- getTransitService(environment).getAgencyForId(entitySelector.agencyId())
- )
+ .map(entitySelector -> getTransitService(environment).getAgency(entitySelector.agencyId()))
.orElse(null);
}
@@ -170,24 +168,24 @@ public DataFetcher> entities() {
}
if (entitySelector instanceof EntitySelector.Agency) {
FeedScopedId id = ((EntitySelector.Agency) entitySelector).agencyId();
- Agency agency = getTransitService(environment).getAgencyForId(id);
+ Agency agency = getTransitService(environment).getAgency(id);
return List.of(getAlertEntityOrUnknown(agency, id.toString(), "agency"));
}
if (entitySelector instanceof EntitySelector.Route) {
FeedScopedId id = ((EntitySelector.Route) entitySelector).routeId();
- Route route = getTransitService(environment).getRouteForId(id);
+ Route route = getTransitService(environment).getRoute(id);
return List.of(getAlertEntityOrUnknown(route, id.toString(), "route"));
}
if (entitySelector instanceof EntitySelector.Trip) {
FeedScopedId id = ((EntitySelector.Trip) entitySelector).tripId();
- Trip trip = getTransitService(environment).getTripForId(id);
+ Trip trip = getTransitService(environment).getTrip(id);
return List.of(getAlertEntityOrUnknown(trip, id.toString(), "trip"));
}
if (entitySelector instanceof EntitySelector.StopAndRoute stopAndRoute) {
FeedScopedId stopId = stopAndRoute.stopId();
FeedScopedId routeId = stopAndRoute.routeId();
StopLocation stop = getTransitService(environment).getRegularStop(stopId);
- Route route = getTransitService(environment).getRouteForId(routeId);
+ Route route = getTransitService(environment).getRoute(routeId);
return List.of(
stop != null && route != null
? new StopOnRouteModel(stop, route)
@@ -205,7 +203,7 @@ public DataFetcher> entities() {
FeedScopedId stopId = stopAndTrip.stopId();
FeedScopedId tripId = stopAndTrip.tripId();
StopLocation stop = getTransitService(environment).getRegularStop(stopId);
- Trip trip = getTransitService(environment).getTripForId(tripId);
+ Trip trip = getTransitService(environment).getTrip(tripId);
return List.of(
stop != null && trip != null
? new StopOnTripModel(stop, trip)
@@ -222,7 +220,7 @@ public DataFetcher> entities() {
if (entitySelector instanceof EntitySelector.RouteTypeAndAgency) {
FeedScopedId agencyId = ((EntitySelector.RouteTypeAndAgency) entitySelector).agencyId();
int routeType = ((EntitySelector.RouteTypeAndAgency) entitySelector).routeType();
- Agency agency = getTransitService(environment).getAgencyForId(agencyId);
+ Agency agency = getTransitService(environment).getAgency(agencyId);
return List.of(
agency != null
? new RouteTypeModel(agency, routeType, agency.getId().getFeedId())
@@ -244,10 +242,10 @@ public DataFetcher> entities() {
if (entitySelector instanceof EntitySelector.DirectionAndRoute) {
Direction direction = ((DirectionAndRoute) entitySelector).direction();
FeedScopedId routeId = ((EntitySelector.DirectionAndRoute) entitySelector).routeId();
- Route route = getTransitService(environment).getRouteForId(routeId);
+ Route route = getTransitService(environment).getRoute(routeId);
return route != null
? getTransitService(environment)
- .getPatternsForRoute(route)
+ .findPatterns(route)
.stream()
.filter(pattern -> pattern.getDirection() == direction)
.collect(Collectors.toList())
@@ -301,9 +299,7 @@ public DataFetcher route() {
.filter(entitySelector -> entitySelector instanceof EntitySelector.Route)
.findAny()
.map(EntitySelector.Route.class::cast)
- .map(entitySelector ->
- getTransitService(environment).getRouteForId(entitySelector.routeId())
- )
+ .map(entitySelector -> getTransitService(environment).getRoute(entitySelector.routeId()))
.orElse(null);
}
@@ -331,7 +327,7 @@ public DataFetcher trip() {
.filter(entitySelector -> entitySelector instanceof EntitySelector.Trip)
.findAny()
.map(EntitySelector.Trip.class::cast)
- .map(entitySelector -> getTransitService(environment).getTripForId(entitySelector.tripId()))
+ .map(entitySelector -> getTransitService(environment).getTrip(entitySelector.tripId()))
.orElse(null);
}
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/BikeParkImpl.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/BikeParkImpl.java
index 81166034ee5..725d6e49377 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/BikeParkImpl.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/BikeParkImpl.java
@@ -6,7 +6,7 @@
import org.opentripplanner.apis.gtfs.generated.GraphQLDataFetchers;
import org.opentripplanner.framework.graphql.GraphQLUtils;
import org.opentripplanner.model.calendar.openinghours.OHCalendar;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
public class BikeParkImpl implements GraphQLDataFetchers.GraphQLBikePark {
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/BookingInfoImpl.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/BookingInfoImpl.java
index 44ee0985542..0060e6ad7e1 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/BookingInfoImpl.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/BookingInfoImpl.java
@@ -2,6 +2,7 @@
import graphql.schema.DataFetcher;
import graphql.schema.DataFetchingEnvironment;
+import java.time.Duration;
import org.opentripplanner.apis.gtfs.generated.GraphQLDataFetchers;
import org.opentripplanner.transit.model.organization.ContactInfo;
import org.opentripplanner.transit.model.timetable.booking.BookingInfo;
@@ -31,7 +32,8 @@ public DataFetcher latestBookingTime() {
@Override
public DataFetcher maximumBookingNoticeSeconds() {
- return environment -> getSource(environment).getMaximumBookingNotice().toSeconds();
+ return environment ->
+ getSource(environment).getMaximumBookingNotice().map(Duration::toSeconds).orElse(null);
}
@Override
@@ -41,7 +43,8 @@ public DataFetcher message() {
@Override
public DataFetcher minimumBookingNoticeSeconds() {
- return environment -> getSource(environment).getMinimumBookingNotice().toSeconds();
+ return environment ->
+ getSource(environment).getMinimumBookingNotice().map(Duration::toSeconds).orElse(null);
}
@Override
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/CarParkImpl.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/CarParkImpl.java
index ff990b4f65c..8947f589ca5 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/CarParkImpl.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/CarParkImpl.java
@@ -6,7 +6,7 @@
import org.opentripplanner.apis.gtfs.generated.GraphQLDataFetchers;
import org.opentripplanner.framework.graphql.GraphQLUtils;
import org.opentripplanner.model.calendar.openinghours.OHCalendar;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
public class CarParkImpl implements GraphQLDataFetchers.GraphQLCarPark {
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/FeedImpl.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/FeedImpl.java
index d6488d3f375..3d9458152b5 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/FeedImpl.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/FeedImpl.java
@@ -79,7 +79,7 @@ public DataFetcher publisher() {
private List getAgencies(DataFetchingEnvironment environment) {
String id = getSource(environment);
return getTransitService(environment)
- .getAgencies()
+ .listAgencies()
.stream()
.filter(agency -> agency.getId().getFeedId().equals(id))
.collect(Collectors.toList());
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/NodeTypeResolver.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/NodeTypeResolver.java
index 437d75e03e9..bb105be08fb 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/NodeTypeResolver.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/NodeTypeResolver.java
@@ -12,7 +12,7 @@
import org.opentripplanner.routing.graphfinder.NearbyStop;
import org.opentripplanner.routing.graphfinder.PatternAtStop;
import org.opentripplanner.routing.graphfinder.PlaceAtDistance;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalStation;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalVehicle;
import org.opentripplanner.transit.model.network.Route;
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/PlaceImpl.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/PlaceImpl.java
index 145321f809c..abb3a607ab9 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/PlaceImpl.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/PlaceImpl.java
@@ -11,7 +11,7 @@
import org.opentripplanner.model.plan.Place;
import org.opentripplanner.model.plan.StopArrival;
import org.opentripplanner.model.plan.VertexType;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalPlace;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalStation;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalVehicle;
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/PlaceInterfaceTypeResolver.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/PlaceInterfaceTypeResolver.java
index cb2bfc77c32..a1f08fe3dc9 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/PlaceInterfaceTypeResolver.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/PlaceInterfaceTypeResolver.java
@@ -5,7 +5,7 @@
import graphql.schema.GraphQLSchema;
import graphql.schema.TypeResolver;
import org.opentripplanner.routing.graphfinder.PatternAtStop;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalStation;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalVehicle;
import org.opentripplanner.transit.model.site.RegularStop;
diff --git a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/QueryTypeImpl.java b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/QueryTypeImpl.java
index fa9623f7c55..d02d7b59ffa 100644
--- a/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/QueryTypeImpl.java
+++ b/application/src/main/java/org/opentripplanner/apis/gtfs/datafetchers/QueryTypeImpl.java
@@ -56,9 +56,8 @@
import org.opentripplanner.routing.graphfinder.PatternAtStop;
import org.opentripplanner.routing.graphfinder.PlaceAtDistance;
import org.opentripplanner.routing.graphfinder.PlaceType;
-import org.opentripplanner.routing.services.TransitAlertService;
-import org.opentripplanner.routing.vehicle_parking.VehicleParking;
-import org.opentripplanner.routing.vehicle_parking.VehicleParkingService;
+import org.opentripplanner.service.vehicleparking.VehicleParkingService;
+import org.opentripplanner.service.vehicleparking.model.VehicleParking;
import org.opentripplanner.service.vehiclerental.VehicleRentalService;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalPlace;
import org.opentripplanner.service.vehiclerental.model.VehicleRentalStation;
@@ -89,7 +88,7 @@ public class QueryTypeImpl implements GraphQLDataFetchers.GraphQLQueryType {
@Override
public DataFetcher> agencies() {
- return environment -> getTransitService(environment).getAgencies();
+ return environment -> getTransitService(environment).listAgencies();
}
@Override
@@ -99,7 +98,7 @@ public DataFetcher agency() {
new GraphQLTypes.GraphQLQueryTypeAgencyArgs(environment.getArguments()).getGraphQLId()
);
- return getTransitService(environment).getAgencyForId(id);
+ return getTransitService(environment).getAgency(id);
};
}
@@ -124,7 +123,8 @@ public DataFetcher bikePark() {
.vehicleParkingService();
return vehicleParkingService
- .getBikeParks()
+ .listBikeParks()
+ .stream()
.filter(bikePark -> bikePark.getId().getId().equals(args.getGraphQLId()))
.findAny()
.orElse(null);
@@ -138,7 +138,7 @@ public DataFetcher> bikeParks() {
.getContext()
.vehicleParkingService();
- return vehicleParkingService.getBikeParks().toList();
+ return vehicleParkingService.listBikeParks().stream().toList();
};
}
@@ -211,7 +211,8 @@ public DataFetcher carPark() {
.vehicleParkingService();
return vehicleParkingService
- .getCarParks()
+ .listCarParks()
+ .stream()
.filter(carPark -> carPark.getId().getId().equals(args.getGraphQLId()))
.findAny()
.orElse(null);
@@ -232,14 +233,15 @@ public DataFetcher> carParks() {
if (!idList.isEmpty()) {
Map carParkMap = vehicleParkingService
- .getCarParks()
+ .listCarParks()
+ .stream()
.collect(Collectors.toMap(station -> station.getId().getId(), station -> station));
return idList.stream().map(carParkMap::get).toList();
}
}
- return vehicleParkingService.getCarParks().toList();
+ return vehicleParkingService.listCarParks();
};
}
@@ -264,7 +266,7 @@ public DataFetcher departureRow() {
@Override
public DataFetcher> feeds() {
- return environment -> getTransitService(environment).getFeedIds();
+ return environment -> getTransitService(environment).listFeedIds();
}
@Override
@@ -276,7 +278,7 @@ public DataFetcher fuzzyTrip() {
return new GtfsRealtimeFuzzyTripMatcher(transitService)
.getTrip(
- transitService.getRouteForId(FeedScopedId.parse(args.getGraphQLRoute())),
+ transitService.getRoute(FeedScopedId.parse(args.getGraphQLRoute())),
DIRECTION_MAPPER.map(args.getGraphQLDirection()),
args.getGraphQLTime(),
ServiceDateUtils.parseString(args.getGraphQLDate())
@@ -393,7 +395,7 @@ public DataFetcher
+ * @param name - The name of the filter.
+ * @param - The type of the filter values. Typically, String or {@link FeedScopedId}.
+ * @param values - The {@link Collection} of filter values.
+ * @return RequiredFilterValues
+ */
+ public static RequiredFilterValues ofRequired(
+ String name,
+ @Nullable Collection values
+ ) {
+ return new RequiredFilterValues<>(name, values);
+ }
+
+ /**
+ * Returns True if the collection of filter values matches everything that it could filter. If this
+ * is the case, then the filter values should not be used to filter anything and filtering logic can
+ * safely ignore it.
+ *
+ * @return boolean
+ */
+ public abstract boolean includeEverything();
+
+ /**
+ * Returns the collection of filter values. If the filter values effectively don't filter anything,
+ * an exception is thrown.
+ *
+ * @return Collection - The values of the filter.
+ */
+ public Collection get() {
+ if (includeEverything()) {
+ throw new NoSuchElementException(
+ "Filter values for filter %s effectively don't filter, use includeEverything() before calling this method.".formatted(
+ name
+ )
+ );
+ }
+ return values;
+ }
+}
diff --git a/application/src/main/java/org/opentripplanner/transit/api/model/FilterValuesEmptyIsEverything.java b/application/src/main/java/org/opentripplanner/transit/api/model/FilterValuesEmptyIsEverything.java
new file mode 100644
index 00000000000..ebe0af7bccb
--- /dev/null
+++ b/application/src/main/java/org/opentripplanner/transit/api/model/FilterValuesEmptyIsEverything.java
@@ -0,0 +1,19 @@
+package org.opentripplanner.transit.api.model;
+
+import java.util.Collection;
+
+/**
+ * {@link FilterValuesEmptyIsEverything} is a subclass of {@link FilterValues} that includes
+ * everything if the values are null or empty.
+ */
+public class FilterValuesEmptyIsEverything extends FilterValues {
+
+ FilterValuesEmptyIsEverything(String name, Collection values) {
+ super(name, values);
+ }
+
+ @Override
+ public boolean includeEverything() {
+ return values == null || values.isEmpty();
+ }
+}
diff --git a/application/src/main/java/org/opentripplanner/transit/api/model/RequiredFilterValues.java b/application/src/main/java/org/opentripplanner/transit/api/model/RequiredFilterValues.java
new file mode 100644
index 00000000000..f4456dcce75
--- /dev/null
+++ b/application/src/main/java/org/opentripplanner/transit/api/model/RequiredFilterValues.java
@@ -0,0 +1,24 @@
+package org.opentripplanner.transit.api.model;
+
+import java.util.Collection;
+
+/**
+ * {@link RequiredFilterValues} is a subclass of {@link FilterValues} that requires at least one
+ * value to be included.
+ */
+public class RequiredFilterValues extends FilterValues {
+
+ RequiredFilterValues(String name, Collection values) {
+ super(name, values);
+ if (values == null || values.isEmpty()) {
+ throw new IllegalArgumentException("Filter %s values must not be empty.".formatted(name));
+ }
+ }
+
+ @Override
+ public boolean includeEverything() {
+ // RequiredFilterValues should never include everything. In theory the filter values could be
+ // exhaustive, but there is no check for that currently.
+ return false;
+ }
+}
diff --git a/application/src/main/java/org/opentripplanner/transit/api/request/TripOnServiceDateRequest.java b/application/src/main/java/org/opentripplanner/transit/api/request/TripOnServiceDateRequest.java
index adc7283ee4d..c61bb8ad107 100644
--- a/application/src/main/java/org/opentripplanner/transit/api/request/TripOnServiceDateRequest.java
+++ b/application/src/main/java/org/opentripplanner/transit/api/request/TripOnServiceDateRequest.java
@@ -1,77 +1,75 @@
package org.opentripplanner.transit.api.request;
import java.time.LocalDate;
-import java.util.List;
+import org.opentripplanner.transit.api.model.FilterValues;
+import org.opentripplanner.transit.api.model.RequiredFilterValues;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.opentripplanner.transit.model.timetable.TripAlteration;
-import org.opentripplanner.utils.collection.ListUtils;
+import org.opentripplanner.transit.model.timetable.TripOnServiceDate;
-/*
+/**
* A request for trips on a specific service date.
- *
- * This request is used to retrieve TripsOnServiceDates that match the provided criteria.
+ *
+ * This request is used to retrieve {@link TripOnServiceDate}s that match the provided filter values.
* At least one operatingDay must be provided.
*/
public class TripOnServiceDateRequest {
- private final List operatingDays;
- private final List authorities;
- private final List lines;
- private final List serviceJourneys;
- private final List replacementFor;
- private final List privateCodes;
- private final List alterations;
+ private final FilterValues serviceDates;
+ private final FilterValues agencies;
+ private final FilterValues routes;
+ private final FilterValues serviceJourneys;
+ private final FilterValues replacementFor;
+ private final FilterValues netexInternalPlanningCodes;
+ private final FilterValues alterations;
protected TripOnServiceDateRequest(
- List operatingDays,
- List authorities,
- List lines,
- List serviceJourneys,
- List replacementFor,
- List privateCodes,
- List alterations
+ RequiredFilterValues serviceDates,
+ FilterValues agencies,
+ FilterValues routes,
+ FilterValues serviceJourneys,
+ FilterValues replacementFor,
+ FilterValues netexInternalPlanningCodes,
+ FilterValues alterations
) {
- if (operatingDays == null || operatingDays.isEmpty()) {
- throw new IllegalArgumentException("operatingDays must have at least one date");
- }
- this.operatingDays = ListUtils.nullSafeImmutableList(operatingDays);
- this.authorities = ListUtils.nullSafeImmutableList(authorities);
- this.lines = ListUtils.nullSafeImmutableList(lines);
- this.serviceJourneys = ListUtils.nullSafeImmutableList(serviceJourneys);
- this.replacementFor = ListUtils.nullSafeImmutableList(replacementFor);
- this.privateCodes = ListUtils.nullSafeImmutableList(privateCodes);
- this.alterations = ListUtils.nullSafeImmutableList(alterations);
+ this.serviceDates = serviceDates;
+ this.agencies = agencies;
+ this.routes = routes;
+ this.serviceJourneys = serviceJourneys;
+ this.replacementFor = replacementFor;
+ this.netexInternalPlanningCodes = netexInternalPlanningCodes;
+ this.alterations = alterations;
}
- public static TripOnServiceDateRequestBuilder of() {
- return new TripOnServiceDateRequestBuilder();
+ public static TripOnServiceDateRequestBuilder of(RequiredFilterValues serviceDates) {
+ return new TripOnServiceDateRequestBuilder(serviceDates);
}
- public List authorities() {
- return authorities;
+ public FilterValues agencies() {
+ return agencies;
}
- public List lines() {
- return lines;
+ public FilterValues routes() {
+ return routes;
}
- public List serviceJourneys() {
+ public FilterValues serviceJourneys() {
return serviceJourneys;
}
- public List replacementFor() {
+ public FilterValues replacementFor() {
return replacementFor;
}
- public List privateCodes() {
- return privateCodes;
+ public FilterValues netexInternalPlanningCodes() {
+ return netexInternalPlanningCodes;
}
- public List alterations() {
+ public FilterValues alterations() {
return alterations;
}
- public List operatingDays() {
- return operatingDays;
+ public FilterValues serviceDates() {
+ return serviceDates;
}
}
diff --git a/application/src/main/java/org/opentripplanner/transit/api/request/TripOnServiceDateRequestBuilder.java b/application/src/main/java/org/opentripplanner/transit/api/request/TripOnServiceDateRequestBuilder.java
index 7aa2644fdc9..534557c15d8 100644
--- a/application/src/main/java/org/opentripplanner/transit/api/request/TripOnServiceDateRequestBuilder.java
+++ b/application/src/main/java/org/opentripplanner/transit/api/request/TripOnServiceDateRequestBuilder.java
@@ -2,64 +2,84 @@
import java.time.LocalDate;
import java.util.List;
+import org.opentripplanner.transit.api.model.FilterValues;
+import org.opentripplanner.transit.api.model.RequiredFilterValues;
import org.opentripplanner.transit.model.framework.FeedScopedId;
import org.opentripplanner.transit.model.timetable.TripAlteration;
public class TripOnServiceDateRequestBuilder {
- private List authorities;
- private List lines;
- private List serviceJourneys;
- private List replacementFor;
- private List privateCodes;
- private List alterations;
- private List operatingDays;
+ private FilterValues agencies = FilterValues.ofEmptyIsEverything(
+ "agencies",
+ List.of()
+ );
+ private FilterValues routes = FilterValues.ofEmptyIsEverything("routes", List.of());
+ private FilterValues serviceJourneys = FilterValues.ofEmptyIsEverything(
+ "serviceJourneys",
+ List.of()
+ );
+ private FilterValues replacementFor = FilterValues.ofEmptyIsEverything(
+ "replacementFor",
+ List.of()
+ );
+ private FilterValues netexInternalPlanningCodes = FilterValues.ofEmptyIsEverything(
+ "netexInternalPlanningCodes",
+ List.of()
+ );
+ private FilterValues alterations = FilterValues.ofEmptyIsEverything(
+ "alterations",
+ List.of()
+ );
+ private RequiredFilterValues serviceDates;
- protected TripOnServiceDateRequestBuilder() {}
-
- public TripOnServiceDateRequestBuilder withOperatingDays(List operatingDays) {
- this.operatingDays = operatingDays;
- return this;
+ protected TripOnServiceDateRequestBuilder(RequiredFilterValues serviceDates) {
+ this.serviceDates = serviceDates;
}
- public TripOnServiceDateRequestBuilder withAuthorities(List authorities) {
- this.authorities = authorities;
+ public TripOnServiceDateRequestBuilder withAgencies(FilterValues agencies) {
+ this.agencies = agencies;
return this;
}
- public TripOnServiceDateRequestBuilder withLines(List lines) {
- this.lines = lines;
+ public TripOnServiceDateRequestBuilder withRoutes(FilterValues routes) {
+ this.routes = routes;
return this;
}
- public TripOnServiceDateRequestBuilder withServiceJourneys(List serviceJourneys) {
+ public TripOnServiceDateRequestBuilder withServiceJourneys(
+ FilterValues serviceJourneys
+ ) {
this.serviceJourneys = serviceJourneys;
return this;
}
- public TripOnServiceDateRequestBuilder withReplacementFor(List replacementFor) {
+ public TripOnServiceDateRequestBuilder withReplacementFor(
+ FilterValues replacementFor
+ ) {
this.replacementFor = replacementFor;
return this;
}
- public TripOnServiceDateRequestBuilder withPrivateCodes(List privateCodes) {
- this.privateCodes = privateCodes;
+ public TripOnServiceDateRequestBuilder withNetexInternalPlanningCodes(
+ FilterValues netexInternalPlanningCodes
+ ) {
+ this.netexInternalPlanningCodes = netexInternalPlanningCodes;
return this;
}
- public TripOnServiceDateRequestBuilder withAlterations(List alterations) {
+ public TripOnServiceDateRequestBuilder withAlterations(FilterValues alterations) {
this.alterations = alterations;
return this;
}
public TripOnServiceDateRequest build() {
return new TripOnServiceDateRequest(
- operatingDays,
- authorities,
- lines,
+ serviceDates,
+ agencies,
+ routes,
serviceJourneys,
replacementFor,
- privateCodes,
+ netexInternalPlanningCodes,
alterations
);
}
diff --git a/application/src/main/java/org/opentripplanner/transit/api/request/TripRequest.java b/application/src/main/java/org/opentripplanner/transit/api/request/TripRequest.java
new file mode 100644
index 00000000000..c73e800582b
--- /dev/null
+++ b/application/src/main/java/org/opentripplanner/transit/api/request/TripRequest.java
@@ -0,0 +1,51 @@
+package org.opentripplanner.transit.api.request;
+
+import java.time.LocalDate;
+import org.opentripplanner.transit.api.model.FilterValues;
+import org.opentripplanner.transit.model.framework.FeedScopedId;
+import org.opentripplanner.transit.model.timetable.Trip;
+
+/**
+ * A request for {@link Trip}s.
+ *
+ * This request is used to retrieve {@link Trip}s that match the provided filter values.
+ */
+public class TripRequest {
+
+ private final FilterValues agencies;
+ private final FilterValues routes;
+ private final FilterValues netexInternalPlanningCodes;
+ private final FilterValues serviceDates;
+
+ protected TripRequest(
+ FilterValues agencies,
+ FilterValues routes,
+ FilterValues netexInternalPlanningCodes,
+ FilterValues serviceDates
+ ) {
+ this.agencies = agencies;
+ this.routes = routes;
+ this.netexInternalPlanningCodes = netexInternalPlanningCodes;
+ this.serviceDates = serviceDates;
+ }
+
+ public static TripRequestBuilder of() {
+ return new TripRequestBuilder();
+ }
+
+ public FilterValues agencies() {
+ return agencies;
+ }
+
+ public FilterValues routes() {
+ return routes;
+ }
+
+ public FilterValues netexInternalPlanningCodes() {
+ return netexInternalPlanningCodes;
+ }
+
+ public FilterValues serviceDates() {
+ return serviceDates;
+ }
+}
diff --git a/application/src/main/java/org/opentripplanner/transit/api/request/TripRequestBuilder.java b/application/src/main/java/org/opentripplanner/transit/api/request/TripRequestBuilder.java
new file mode 100644
index 00000000000..3a2f80a3e34
--- /dev/null
+++ b/application/src/main/java/org/opentripplanner/transit/api/request/TripRequestBuilder.java
@@ -0,0 +1,51 @@
+package org.opentripplanner.transit.api.request;
+
+import java.time.LocalDate;
+import java.util.List;
+import org.opentripplanner.transit.api.model.FilterValues;
+import org.opentripplanner.transit.model.framework.FeedScopedId;
+
+public class TripRequestBuilder {
+
+ private FilterValues agencies = FilterValues.ofEmptyIsEverything(
+ "agencies",
+ List.of()
+ );
+ private FilterValues routes = FilterValues.ofEmptyIsEverything("routes", List.of());
+ private FilterValues netexInternalPlanningCodes = FilterValues.ofEmptyIsEverything(
+ "netexInternalPlanningCodes",
+ List.of()
+ );
+ private FilterValues serviceDates = FilterValues.ofEmptyIsEverything(
+ "serviceDates",
+ List.of()
+ );
+
+ protected TripRequestBuilder() {}
+
+ public TripRequestBuilder withAgencies(FilterValues agencies) {
+ this.agencies = agencies;
+ return this;
+ }
+
+ public TripRequestBuilder withRoutes(FilterValues routes) {
+ this.routes = routes;
+ return this;
+ }
+
+ public TripRequestBuilder withNetexInternalPlanningCodes(
+ FilterValues netexInternalPlanningCodes
+ ) {
+ this.netexInternalPlanningCodes = netexInternalPlanningCodes;
+ return this;
+ }
+
+ public TripRequestBuilder withServiceDates(FilterValues serviceDates) {
+ this.serviceDates = serviceDates;
+ return this;
+ }
+
+ public TripRequest build() {
+ return new TripRequest(agencies, routes, netexInternalPlanningCodes, serviceDates);
+ }
+}
diff --git a/application/src/main/java/org/opentripplanner/transit/model/filter/expr/ContainsMatcher.java b/application/src/main/java/org/opentripplanner/transit/model/filter/expr/ContainsMatcher.java
index ed3731897ec..1be81ba9e7f 100644
--- a/application/src/main/java/org/opentripplanner/transit/model/filter/expr/ContainsMatcher.java
+++ b/application/src/main/java/org/opentripplanner/transit/model/filter/expr/ContainsMatcher.java
@@ -50,6 +50,6 @@ public boolean match(S entity) {
@Override
public String toString() {
- return "ContainsMatcher: " + relationshipName + ": " + valueMatcher.toString();
+ return "ContainsMatcher: " + relationshipName + ": " + valueMatcher;
}
}
diff --git a/application/src/main/java/org/opentripplanner/transit/model/filter/expr/ExpressionBuilder.java b/application/src/main/java/org/opentripplanner/transit/model/filter/expr/ExpressionBuilder.java
index b1b4d5be322..f2910a4c8d2 100644
--- a/application/src/main/java/org/opentripplanner/transit/model/filter/expr/ExpressionBuilder.java
+++ b/application/src/main/java/org/opentripplanner/transit/model/filter/expr/ExpressionBuilder.java
@@ -1,9 +1,9 @@
package org.opentripplanner.transit.model.filter.expr;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.List;
import java.util.function.Function;
+import org.opentripplanner.transit.api.model.FilterValues;
/**
* A builder for creating complex matchers composed of other matchers.
@@ -22,12 +22,15 @@ public static ExpressionBuilder of() {
return new ExpressionBuilder<>();
}
- public ExpressionBuilder or(Collection values, Function> valueProvider) {
- if (values.isEmpty()) {
+ public ExpressionBuilder atLeastOneMatch(
+ FilterValues filterValues,
+ Function> matcherProvider
+ ) {
+ if (filterValues.includeEverything()) {
return this;
}
- matchers.add(OrMatcher.of(values.stream().map(valueProvider).toList()));
+ matchers.add(OrMatcher.of(filterValues.get().stream().map(matcherProvider).toList()));
return this;
}
diff --git a/application/src/main/java/org/opentripplanner/transit/model/filter/transit/TripMatcherFactory.java b/application/src/main/java/org/opentripplanner/transit/model/filter/transit/TripMatcherFactory.java
new file mode 100644
index 00000000000..1ff33d9928d
--- /dev/null
+++ b/application/src/main/java/org/opentripplanner/transit/model/filter/transit/TripMatcherFactory.java
@@ -0,0 +1,75 @@
+package org.opentripplanner.transit.model.filter.transit;
+
+import java.time.LocalDate;
+import java.util.Set;
+import java.util.function.Function;
+import org.opentripplanner.transit.api.request.TripRequest;
+import org.opentripplanner.transit.model.filter.expr.ContainsMatcher;
+import org.opentripplanner.transit.model.filter.expr.EqualityMatcher;
+import org.opentripplanner.transit.model.filter.expr.ExpressionBuilder;
+import org.opentripplanner.transit.model.filter.expr.Matcher;
+import org.opentripplanner.transit.model.framework.FeedScopedId;
+import org.opentripplanner.transit.model.timetable.Trip;
+
+/**
+ * A factory for creating matchers for {@link Trip} objects.
+ *
+ * This factory is used to create matchers for {@link Trip} objects based on a request. The
+ * resulting matcher can be used to filter a list of {@link Trip} objects.
+ */
+public class TripMatcherFactory {
+
+ /**
+ * Creates a matcher for {@link Trip} objects based on the given request.
+ *
+ * @param request - a {@link TripRequest} object that contains the criteria for the matcher.
+ * @param serviceDateProvider a function that provides the service dates for a given {@link FeedScopedId} of a {@link Trip}.
+ * @return a {@link Matcher} to be used for filtering {@link Trip} objects.
+ */
+ public static Matcher of(
+ TripRequest request,
+ Function> serviceDateProvider
+ ) {
+ ExpressionBuilder expr = ExpressionBuilder.of();
+
+ expr.atLeastOneMatch(request.agencies(), TripMatcherFactory::agencyId);
+ expr.atLeastOneMatch(request.routes(), TripMatcherFactory::routeId);
+ expr.atLeastOneMatch(
+ request.netexInternalPlanningCodes(),
+ TripMatcherFactory::netexInternalPlanningCode
+ );
+ expr.atLeastOneMatch(
+ request.serviceDates(),
+ TripMatcherFactory.serviceDate(serviceDateProvider)
+ );
+
+ return expr.build();
+ }
+
+ static Matcher agencyId(FeedScopedId id) {
+ return new EqualityMatcher<>("agency", id, t -> t.getRoute().getAgency().getId());
+ }
+
+ static Matcher routeId(FeedScopedId id) {
+ return new EqualityMatcher<>("route", id, t -> t.getRoute().getId());
+ }
+
+ static Matcher netexInternalPlanningCode(String code) {
+ return new EqualityMatcher<>(
+ "netexInternalPlanningCode",
+ code,
+ Trip::getNetexInternalPlanningCode
+ );
+ }
+
+ static Function> serviceDate(
+ Function> serviceDateProvider
+ ) {
+ return date ->
+ new ContainsMatcher<>(
+ "serviceDates",
+ t -> serviceDateProvider.apply(t.getServiceId()),
+ new EqualityMatcher<>("serviceDate", date, (dateToMatch -> dateToMatch))
+ );
+ }
+}
diff --git a/application/src/main/java/org/opentripplanner/transit/model/filter/transit/TripOnServiceDateMatcherFactory.java b/application/src/main/java/org/opentripplanner/transit/model/filter/transit/TripOnServiceDateMatcherFactory.java
index f86e7a1ff77..7442e2874eb 100644
--- a/application/src/main/java/org/opentripplanner/transit/model/filter/transit/TripOnServiceDateMatcherFactory.java
+++ b/application/src/main/java/org/opentripplanner/transit/model/filter/transit/TripOnServiceDateMatcherFactory.java
@@ -12,27 +12,33 @@
import org.opentripplanner.transit.model.timetable.TripOnServiceDate;
/**
- * A factory for creating matchers for TripOnServiceDate objects.
+ * A factory for creating matchers for {@link TripOnServiceDate} objects.
*
- * This factory is used to create matchers for TripOnServiceDate objects based on a request. The
- * resulting matcher can be used to filter a list of TripOnServiceDate objects.
+ * This factory is used to create matchers for {@link TripOnServiceDate} objects based on a request. The
+ * resulting matcher can be used to filter a list of {@link TripOnServiceDate} objects.
*/
public class TripOnServiceDateMatcherFactory {
public static Matcher of(TripOnServiceDateRequest request) {
ExpressionBuilder expr = ExpressionBuilder.of();
- expr.or(request.operatingDays(), TripOnServiceDateMatcherFactory::operatingDay);
- expr.or(request.authorities(), TripOnServiceDateMatcherFactory::authorityId);
- expr.or(request.lines(), TripOnServiceDateMatcherFactory::routeId);
- expr.or(request.serviceJourneys(), TripOnServiceDateMatcherFactory::serviceJourneyId);
- expr.or(request.replacementFor(), TripOnServiceDateMatcherFactory::replacementFor);
- expr.or(request.privateCodes(), TripOnServiceDateMatcherFactory::privateCode);
- expr.or(request.alterations(), TripOnServiceDateMatcherFactory::alteration);
+ expr.atLeastOneMatch(request.serviceDates(), TripOnServiceDateMatcherFactory::serviceDate);
+ expr.atLeastOneMatch(request.agencies(), TripOnServiceDateMatcherFactory::agencyId);
+ expr.atLeastOneMatch(request.routes(), TripOnServiceDateMatcherFactory::routeId);
+ expr.atLeastOneMatch(
+ request.serviceJourneys(),
+ TripOnServiceDateMatcherFactory::serviceJourneyId
+ );
+ expr.atLeastOneMatch(request.replacementFor(), TripOnServiceDateMatcherFactory::replacementFor);
+ expr.atLeastOneMatch(
+ request.netexInternalPlanningCodes(),
+ TripOnServiceDateMatcherFactory::netexInternalPlanningCode
+ );
+ expr.atLeastOneMatch(request.alterations(), TripOnServiceDateMatcherFactory::alteration);
return expr.build();
}
- static Matcher authorityId(FeedScopedId id) {
+ static Matcher agencyId(FeedScopedId id) {
return new EqualityMatcher<>("agency", id, t -> t.getTrip().getRoute().getAgency().getId());
}
@@ -52,16 +58,16 @@ static Matcher replacementFor(FeedScopedId id) {
);
}
- static Matcher privateCode(String code) {
+ static Matcher netexInternalPlanningCode(String code) {
return new EqualityMatcher<>(
- "privateCode",
+ "netexInternalPlanningCode",
code,
t -> t.getTrip().getNetexInternalPlanningCode()
);
}
- static Matcher operatingDay(LocalDate date) {
- return new EqualityMatcher<>("operatingDay", date, TripOnServiceDate::getServiceDate);
+ static Matcher serviceDate(LocalDate date) {
+ return new EqualityMatcher<>("serviceDate", date, TripOnServiceDate::getServiceDate);
}
static Matcher alteration(TripAlteration alteration) {
diff --git a/application/src/main/java/org/opentripplanner/transit/model/timetable/TripOnServiceDate.java b/application/src/main/java/org/opentripplanner/transit/model/timetable/TripOnServiceDate.java
index ee520f9e0f0..1a22ec70000 100644
--- a/application/src/main/java/org/opentripplanner/transit/model/timetable/TripOnServiceDate.java
+++ b/application/src/main/java/org/opentripplanner/transit/model/timetable/TripOnServiceDate.java
@@ -45,10 +45,6 @@ public List getReplacementFor() {
return replacementFor;
}
- public TripIdAndServiceDate getTripIdAndServiceDate() {
- return new TripIdAndServiceDate(trip.getId(), serviceDate);
- }
-
@Override
public boolean sameAs(TripOnServiceDate other) {
return (
diff --git a/application/src/main/java/org/opentripplanner/transit/model/timetable/booking/BookingInfo.java b/application/src/main/java/org/opentripplanner/transit/model/timetable/booking/BookingInfo.java
index b21543b717c..8b48a61ffbe 100644
--- a/application/src/main/java/org/opentripplanner/transit/model/timetable/booking/BookingInfo.java
+++ b/application/src/main/java/org/opentripplanner/transit/model/timetable/booking/BookingInfo.java
@@ -3,6 +3,7 @@
import java.io.Serializable;
import java.time.Duration;
import java.util.EnumSet;
+import java.util.Optional;
import javax.annotation.Nullable;
import org.opentripplanner.transit.model.organization.ContactInfo;
import org.opentripplanner.utils.tostring.ToStringBuilder;
@@ -99,14 +100,12 @@ public BookingTime getLatestBookingTime() {
return latestBookingTime;
}
- @Nullable
- public Duration getMinimumBookingNotice() {
- return minimumBookingNotice;
+ public Optional getMinimumBookingNotice() {
+ return Optional.ofNullable(minimumBookingNotice);
}
- @Nullable
- public Duration getMaximumBookingNotice() {
- return maximumBookingNotice;
+ public Optional getMaximumBookingNotice() {
+ return Optional.ofNullable(maximumBookingNotice);
}
@Nullable
diff --git a/application/src/main/java/org/opentripplanner/transit/model/timetable/booking/RoutingBookingInfo.java b/application/src/main/java/org/opentripplanner/transit/model/timetable/booking/RoutingBookingInfo.java
index 471cff394e2..11ea27d48aa 100644
--- a/application/src/main/java/org/opentripplanner/transit/model/timetable/booking/RoutingBookingInfo.java
+++ b/application/src/main/java/org/opentripplanner/transit/model/timetable/booking/RoutingBookingInfo.java
@@ -151,17 +151,17 @@ Builder withBookingInfo(@Nullable BookingInfo bookingInfo) {
return this;
}
withLatestBookingTime(bookingInfo.getLatestBookingTime());
- withMinimumBookingNotice(bookingInfo.getMinimumBookingNotice());
+ withMinimumBookingNotice(bookingInfo.getMinimumBookingNotice().orElse(null));
return this;
}
- public Builder withLatestBookingTime(BookingTime latestBookingTime) {
+ public Builder withLatestBookingTime(@Nullable BookingTime latestBookingTime) {
this.latestBookingTime =
latestBookingTime == null ? NOT_SET : latestBookingTime.relativeTimeSeconds();
return this;
}
- public Builder withMinimumBookingNotice(Duration minimumBookingNotice) {
+ public Builder withMinimumBookingNotice(@Nullable Duration minimumBookingNotice) {
this.minimumBookingNotice =
minimumBookingNotice == null ? NOT_SET : (int) minimumBookingNotice.toSeconds();
return this;
diff --git a/application/src/main/java/org/opentripplanner/transit/service/DefaultTransitService.java b/application/src/main/java/org/opentripplanner/transit/service/DefaultTransitService.java
index f8d1e437a34..d35977cae74 100644
--- a/application/src/main/java/org/opentripplanner/transit/service/DefaultTransitService.java
+++ b/application/src/main/java/org/opentripplanner/transit/service/DefaultTransitService.java
@@ -35,9 +35,11 @@
import org.opentripplanner.routing.stoptimes.ArrivalDeparture;
import org.opentripplanner.routing.stoptimes.StopTimesHelper;
import org.opentripplanner.transit.api.request.TripOnServiceDateRequest;
+import org.opentripplanner.transit.api.request.TripRequest;
import org.opentripplanner.transit.model.basic.Notice;
import org.opentripplanner.transit.model.basic.TransitMode;
import org.opentripplanner.transit.model.filter.expr.Matcher;
+import org.opentripplanner.transit.model.filter.transit.TripMatcherFactory;
import org.opentripplanner.transit.model.filter.transit.TripOnServiceDateMatcherFactory;
import org.opentripplanner.transit.model.framework.AbstractTransitEntity;
import org.opentripplanner.transit.model.framework.Deduplicator;
@@ -92,18 +94,18 @@ public DefaultTransitService(
}
@Override
- public Collection getFeedIds() {
+ public Collection listFeedIds() {
return this.timetableRepository.getFeedIds();
}
@Override
- public Collection getAgencies() {
+ public Collection listAgencies() {
OTPRequestTimeoutException.checkForTimeout();
return this.timetableRepository.getAgencies();
}
@Override
- public Optional findAgencyById(FeedScopedId id) {
+ public Optional findAgency(FeedScopedId id) {
return this.timetableRepository.findAgencyById(id);
}
@@ -123,29 +125,23 @@ public void addFeedInfo(FeedInfo info) {
}
@Override
- public Collection getNoticesByEntity(AbstractTransitEntity, ?> entity) {
+ public Collection findNotices(AbstractTransitEntity, ?> entity) {
return this.timetableRepository.getNoticesByElement().get(entity);
}
@Override
- public TripPattern getTripPatternForId(FeedScopedId id) {
+ public TripPattern getTripPattern(FeedScopedId id) {
return this.timetableRepository.getTripPatternForId(id);
}
@Override
- public Collection getAllTripPatterns() {
+ public Collection listTripPatterns() {
OTPRequestTimeoutException.checkForTimeout();
return this.timetableRepository.getAllTripPatterns();
}
@Override
- public Collection getNotices() {
- OTPRequestTimeoutException.checkForTimeout();
- return this.timetableRepository.getNoticesByElement().values();
- }
-
- @Override
- public Station getStationById(FeedScopedId id) {
+ public Station getStation(FeedScopedId id) {
return this.timetableRepository.getSiteRepository().getStationById(id);
}
@@ -155,13 +151,13 @@ public MultiModalStation getMultiModalStation(FeedScopedId id) {
}
@Override
- public Collection getStations() {
+ public Collection listStations() {
OTPRequestTimeoutException.checkForTimeout();
return this.timetableRepository.getSiteRepository().listStations();
}
@Override
- public Integer getServiceCodeForId(FeedScopedId id) {
+ public Integer getServiceCode(FeedScopedId id) {
return this.timetableRepository.getServiceCodes().get(id);
}
@@ -173,12 +169,7 @@ public TIntSet getServiceCodesRunningForDate(LocalDate serviceDate) {
}
@Override
- public AreaStop getAreaStop(FeedScopedId id) {
- return this.timetableRepository.getSiteRepository().getAreaStop(id);
- }
-
- @Override
- public Agency getAgencyForId(FeedScopedId id) {
+ public Agency getAgency(FeedScopedId id) {
return this.timetableRepositoryIndex.getAgencyForId(id);
}
@@ -188,7 +179,7 @@ public RegularStop getRegularStop(FeedScopedId id) {
}
@Override
- public Route getRouteForId(FeedScopedId id) {
+ public Route getRoute(FeedScopedId id) {
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
if (currentSnapshot != null) {
Route realtimeAddedRoute = currentSnapshot.getRealtimeAddedRoute(id);
@@ -209,31 +200,25 @@ public void addRoutes(Route route) {
}
@Override
- public Set getRoutesForStop(StopLocation stop) {
+ public Set findRoutes(StopLocation stop) {
OTPRequestTimeoutException.checkForTimeout();
return this.timetableRepositoryIndex.getRoutesForStop(stop);
}
@Override
- public Collection getPatternsForStop(StopLocation stop) {
+ public Collection findPatterns(StopLocation stop) {
OTPRequestTimeoutException.checkForTimeout();
return this.timetableRepositoryIndex.getPatternsForStop(stop);
}
@Override
- public Collection getTripsForStop(StopLocation stop) {
- OTPRequestTimeoutException.checkForTimeout();
- return this.timetableRepositoryIndex.getTripsForStop(stop);
- }
-
- @Override
- public Collection getAllOperators() {
+ public Collection listOperators() {
OTPRequestTimeoutException.checkForTimeout();
return this.timetableRepository.getOperators();
}
@Override
- public Operator getOperatorForId(FeedScopedId id) {
+ public Operator getOperator(FeedScopedId id) {
return this.timetableRepositoryIndex.getOperatorForId(id);
}
@@ -243,12 +228,6 @@ public Collection listStopLocations() {
return timetableRepository.getSiteRepository().listStopLocations();
}
- @Override
- public Collection listRegularStops() {
- OTPRequestTimeoutException.checkForTimeout();
- return timetableRepository.getSiteRepository().listRegularStops();
- }
-
@Override
public Collection listGroupStops() {
OTPRequestTimeoutException.checkForTimeout();
@@ -261,7 +240,7 @@ public StopLocation getStopLocation(FeedScopedId id) {
}
@Override
- public Collection getStopOrChildStops(FeedScopedId id) {
+ public Collection findStopOrChildStops(FeedScopedId id) {
return timetableRepository.getSiteRepository().findStopOrChildStops(id);
}
@@ -277,7 +256,7 @@ public StopLocationsGroup getStopLocationsGroup(FeedScopedId id) {
}
@Override
- public Trip getTripForId(FeedScopedId id) {
+ public Trip getTrip(FeedScopedId id) {
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
if (currentSnapshot != null) {
Trip trip = currentSnapshot.getRealTimeAddedTrip(id);
@@ -285,17 +264,17 @@ public Trip getTripForId(FeedScopedId id) {
return trip;
}
}
- return getScheduledTripForId(id);
+ return getScheduledTrip(id);
}
@Nullable
@Override
- public Trip getScheduledTripForId(FeedScopedId id) {
+ public Trip getScheduledTrip(FeedScopedId id) {
return this.timetableRepositoryIndex.getTripForId(id);
}
@Override
- public Collection getAllTrips() {
+ public Collection listTrips() {
OTPRequestTimeoutException.checkForTimeout();
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
if (currentSnapshot != null) {
@@ -308,7 +287,7 @@ public Collection getAllTrips() {
}
@Override
- public Collection getAllRoutes() {
+ public Collection listRoutes() {
OTPRequestTimeoutException.checkForTimeout();
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
if (currentSnapshot != null) {
@@ -321,7 +300,7 @@ public Collection getAllRoutes() {
}
@Override
- public TripPattern getPatternForTrip(Trip trip) {
+ public TripPattern findPattern(Trip trip) {
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
if (currentSnapshot != null) {
TripPattern realtimeAddedTripPattern = currentSnapshot.getRealTimeAddedPatternForTrip(trip);
@@ -333,16 +312,16 @@ public TripPattern getPatternForTrip(Trip trip) {
}
@Override
- public TripPattern getPatternForTrip(Trip trip, LocalDate serviceDate) {
- TripPattern realtimePattern = getNewTripPatternForModifiedTrip(trip.getId(), serviceDate);
+ public TripPattern findPattern(Trip trip, LocalDate serviceDate) {
+ TripPattern realtimePattern = findNewTripPatternForModifiedTrip(trip.getId(), serviceDate);
if (realtimePattern != null) {
return realtimePattern;
}
- return getPatternForTrip(trip);
+ return findPattern(trip);
}
@Override
- public Collection getPatternsForRoute(Route route) {
+ public Collection findPatterns(Route route) {
OTPRequestTimeoutException.checkForTimeout();
Collection tripPatterns = new HashSet<>(
timetableRepositoryIndex.getPatternsForRoute(route)
@@ -358,7 +337,7 @@ public Collection getPatternsForRoute(Route route) {
}
@Override
- public MultiModalStation getMultiModalStationForStation(Station station) {
+ public MultiModalStation findMultiModalStation(Station station) {
return this.timetableRepository.getSiteRepository().getMultiModalStationForStation(station);
}
@@ -379,7 +358,7 @@ public MultiModalStation getMultiModalStationForStation(Station station) {
* @param includeCancelledTrips If true, cancelled trips will also be included in result.
*/
@Override
- public List stopTimesForStop(
+ public List findStopTimesInPattern(
StopLocation stop,
Instant startTime,
Duration timeRange,
@@ -407,7 +386,7 @@ public List stopTimesForStop(
* @param serviceDate Return all departures for the specified date
*/
@Override
- public List getStopTimesForStop(
+ public List findStopTimesInPattern(
StopLocation stop,
LocalDate serviceDate,
ArrivalDeparture arrivalDeparture,
@@ -439,7 +418,7 @@ public List getStopTimesForStop(
* @param arrivalDeparture Filter by arrivals, departures, or both
*/
@Override
- public List stopTimesForPatternAtStop(
+ public List findTripTimeOnDate(
StopLocation stop,
TripPattern pattern,
Instant startTime,
@@ -468,11 +447,8 @@ public List stopTimesForPatternAtStop(
* that were updated by realtime data is both part of the TimetableRepositoryIndex and the TimetableSnapshot
*/
@Override
- public Collection getPatternsForStop(
- StopLocation stop,
- boolean includeRealtimeUpdates
- ) {
- Set tripPatterns = new HashSet<>(getPatternsForStop(stop));
+ public Collection findPatterns(StopLocation stop, boolean includeRealtimeUpdates) {
+ Set tripPatterns = new HashSet<>(findPatterns(stop));
if (includeRealtimeUpdates) {
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
@@ -484,19 +460,19 @@ public Collection getPatternsForStop(
}
@Override
- public Collection getGroupsOfRoutes() {
+ public Collection listGroupsOfRoutes() {
OTPRequestTimeoutException.checkForTimeout();
return timetableRepositoryIndex.getAllGroupOfRoutes();
}
@Override
- public Collection getRoutesForGroupOfRoutes(GroupOfRoutes groupOfRoutes) {
+ public Collection findRoutes(GroupOfRoutes groupOfRoutes) {
OTPRequestTimeoutException.checkForTimeout();
return timetableRepositoryIndex.getRoutesForGroupOfRoutes(groupOfRoutes);
}
@Override
- public GroupOfRoutes getGroupOfRoutesForId(FeedScopedId id) {
+ public GroupOfRoutes getGroupOfRoutes(FeedScopedId id) {
return timetableRepositoryIndex.getGroupOfRoutesForId(id);
}
@@ -506,7 +482,7 @@ public GroupOfRoutes getGroupOfRoutesForId(FeedScopedId id) {
* without making a fake routing request.
*/
@Override
- public Timetable getTimetableForTripPattern(TripPattern tripPattern, LocalDate serviceDate) {
+ public Timetable findTimetable(TripPattern tripPattern, LocalDate serviceDate) {
OTPRequestTimeoutException.checkForTimeout();
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
return currentSnapshot != null
@@ -515,7 +491,7 @@ public Timetable getTimetableForTripPattern(TripPattern tripPattern, LocalDate s
}
@Override
- public TripPattern getNewTripPatternForModifiedTrip(FeedScopedId tripId, LocalDate serviceDate) {
+ public TripPattern findNewTripPatternForModifiedTrip(FeedScopedId tripId, LocalDate serviceDate) {
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
if (currentSnapshot == null) {
return null;
@@ -546,21 +522,21 @@ private TimetableSnapshot lazyGetTimeTableSnapShot() {
}
@Override
- public TripOnServiceDate getTripOnServiceDateById(FeedScopedId tripOnServiceDateId) {
+ public TripOnServiceDate getTripOnServiceDate(FeedScopedId id) {
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
if (currentSnapshot != null) {
TripOnServiceDate tripOnServiceDate = currentSnapshot.getRealTimeAddedTripOnServiceDateById(
- tripOnServiceDateId
+ id
);
if (tripOnServiceDate != null) {
return tripOnServiceDate;
}
}
- return timetableRepository.getTripOnServiceDateById(tripOnServiceDateId);
+ return timetableRepository.getTripOnServiceDateById(id);
}
@Override
- public Collection getAllTripOnServiceDates() {
+ public Collection listTripsOnServiceDate() {
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
if (currentSnapshot != null) {
return new CollectionsView<>(
@@ -572,9 +548,7 @@ public Collection getAllTripOnServiceDates() {
}
@Override
- public TripOnServiceDate getTripOnServiceDateForTripAndDay(
- TripIdAndServiceDate tripIdAndServiceDate
- ) {
+ public TripOnServiceDate getTripOnServiceDate(TripIdAndServiceDate tripIdAndServiceDate) {
TimetableSnapshot currentSnapshot = lazyGetTimeTableSnapShot();
if (currentSnapshot != null) {
TripOnServiceDate tripOnServiceDate = currentSnapshot.getRealTimeAddedTripOnServiceDateForTripAndDay(
@@ -594,9 +568,9 @@ public TripOnServiceDate getTripOnServiceDateForTripAndDay(
* @return - A list of TripOnServiceDates
*/
@Override
- public List getTripOnServiceDates(TripOnServiceDateRequest request) {
+ public List findTripsOnServiceDate(TripOnServiceDateRequest request) {
Matcher matcher = TripOnServiceDateMatcherFactory.of(request);
- return getAllTripOnServiceDates().stream().filter(matcher::match).toList();
+ return listTripsOnServiceDate().stream().filter(matcher::match).toList();
}
@Override
@@ -611,6 +585,21 @@ public boolean containsTrip(FeedScopedId id) {
return this.timetableRepositoryIndex.containsTrip(id);
}
+ /**
+ * Returns a list of Trips that match the filtering defined in the request.
+ *
+ * @param request - A TripRequest object with filtering defined.
+ * @return - A list Trips
+ */
+ @Override
+ public List getTrips(TripRequest request) {
+ Matcher matcher = TripMatcherFactory.of(
+ request,
+ this.getCalendarService()::getServiceDatesForServiceId
+ );
+ return listTrips().stream().filter(matcher::match).toList();
+ }
+
/**
* TODO OTP2 - This is NOT THREAD-SAFE and is used in the real-time updaters, we need to fix
* this when doing the issue #3030.
@@ -626,12 +615,12 @@ public void addTransitMode(TransitMode mode) {
}
@Override
- public Set getTransitModes() {
+ public Set listTransitModes() {
return this.timetableRepository.getTransitModes();
}
@Override
- public Collection getTransfersByStop(StopLocation stop) {
+ public Collection findPathTransfers(StopLocation stop) {
return this.timetableRepository.getTransfersByStop(stop);
}
@@ -710,7 +699,7 @@ public GraphUpdaterStatus getUpdaterStatus() {
}
@Override
- public List getModesOfStopLocationsGroup(StopLocationsGroup station) {
+ public List findTransitModes(StopLocationsGroup station) {
return sortByOccurrenceAndReduce(
station.getChildStops().stream().flatMap(this::getPatternModesOfStop)
)
@@ -718,7 +707,7 @@ public List getModesOfStopLocationsGroup(StopLocationsGroup station
}
@Override
- public List getModesOfStopLocation(StopLocation stop) {
+ public List findTransitModes(StopLocation stop) {
return sortByOccurrenceAndReduce(getPatternModesOfStop(stop)).toList();
}
@@ -728,7 +717,7 @@ public Deduplicator getDeduplicator() {
}
@Override
- public Set getAllServiceCodes() {
+ public Set listServiceDates() {
return Collections.unmodifiableSet(
timetableRepositoryIndex.getServiceCodesRunningForDate().keySet()
);
@@ -746,7 +735,7 @@ private Stream getPatternModesOfStop(StopLocation stop) {
if (stop.getVehicleType() != null) {
return Stream.of(stop.getVehicleType());
} else {
- return getPatternsForStop(stop).stream().map(TripPattern::getMode);
+ return findPatterns(stop).stream().map(TripPattern::getMode);
}
}
diff --git a/application/src/main/java/org/opentripplanner/transit/service/TransitEditorService.java b/application/src/main/java/org/opentripplanner/transit/service/TransitEditorService.java
index 567cb245af5..411ab3d652b 100644
--- a/application/src/main/java/org/opentripplanner/transit/service/TransitEditorService.java
+++ b/application/src/main/java/org/opentripplanner/transit/service/TransitEditorService.java
@@ -1,6 +1,7 @@
package org.opentripplanner.transit.service;
import java.time.LocalDate;
+import javax.annotation.Nullable;
import org.opentripplanner.model.FeedInfo;
import org.opentripplanner.routing.algorithm.raptoradapter.transit.TransitLayer;
import org.opentripplanner.transit.model.basic.TransitMode;
@@ -26,6 +27,12 @@ public interface TransitEditorService extends TransitService {
FeedScopedId getOrCreateServiceIdForDate(LocalDate serviceDate);
+ /**
+ * Return the trip for the given id, not including trips created in real time.
+ */
+ @Nullable
+ Trip getScheduledTrip(FeedScopedId id);
+
/**
* Set the original, immutable, transit layer,
* based on scheduled data (not real-time data).
diff --git a/application/src/main/java/org/opentripplanner/transit/service/TransitService.java b/application/src/main/java/org/opentripplanner/transit/service/TransitService.java
index b77eb77d892..c1bba355cdf 100644
--- a/application/src/main/java/org/opentripplanner/transit/service/TransitService.java
+++ b/application/src/main/java/org/opentripplanner/transit/service/TransitService.java
@@ -25,6 +25,7 @@
import org.opentripplanner.routing.services.TransitAlertService;
import org.opentripplanner.routing.stoptimes.ArrivalDeparture;
import org.opentripplanner.transit.api.request.TripOnServiceDateRequest;
+import org.opentripplanner.transit.api.request.TripRequest;
import org.opentripplanner.transit.model.basic.Notice;
import org.opentripplanner.transit.model.basic.TransitMode;
import org.opentripplanner.transit.model.framework.AbstractTransitEntity;
@@ -64,76 +65,70 @@
* copy-on-write and shares a lot of objects with any other TransitLayer instances.
*/
public interface TransitService {
- Collection getFeedIds();
+ Collection listFeedIds();
- Collection getAgencies();
- Optional findAgencyById(FeedScopedId id);
+ Collection listAgencies();
+ Optional findAgency(FeedScopedId id);
FeedInfo getFeedInfo(String feedId);
- Collection getNoticesByEntity(AbstractTransitEntity, ?> entity);
+ Collection findNotices(AbstractTransitEntity, ?> entity);
/**
* Return a trip pattern by id, not including patterns created by real-time updates.
*/
- TripPattern getTripPatternForId(FeedScopedId id);
+ TripPattern getTripPattern(FeedScopedId id);
/**
* Return all scheduled trip patterns, not including real-time created trip patterns.
* TODO: verify this is the intended behavior and possibly change the method name to
* getAllScheduledTripPatterns
*/
- Collection getAllTripPatterns();
+ Collection listTripPatterns();
- Collection getNotices();
-
- Station getStationById(FeedScopedId id);
+ Station getStation(FeedScopedId id);
MultiModalStation getMultiModalStation(FeedScopedId id);
- Collection getStations();
+ Collection listStations();
- Integer getServiceCodeForId(FeedScopedId id);
+ Integer getServiceCode(FeedScopedId id);
TIntSet getServiceCodesRunningForDate(LocalDate date);
- Agency getAgencyForId(FeedScopedId id);
+ Agency getAgency(FeedScopedId id);
/**
* Return a route for a given id, including routes created by real-time updates.
*
*/
- Route getRouteForId(FeedScopedId id);
+ Route getRoute(FeedScopedId id);
/**
* Return the routes using the given stop, not including real-time updates.
*/
- Set getRoutesForStop(StopLocation stop);
+ Set findRoutes(StopLocation stop);
/**
* Return all the scheduled trip patterns for a specific stop
* (not taking into account real-time updates).
*/
- Collection getPatternsForStop(StopLocation stop);
+ Collection findPatterns(StopLocation stop);
/**
* Returns all the patterns for a specific stop. If includeRealtimeUpdates is set, new patterns
* added by realtime updates are added to the collection.
*/
- Collection getPatternsForStop(StopLocation stop, boolean includeRealtimeUpdates);
-
- Collection getTripsForStop(StopLocation stop);
+ Collection findPatterns(StopLocation stop, boolean includeRealtimeUpdates);
- Collection getAllOperators();
+ Collection listOperators();
- Operator getOperatorForId(FeedScopedId id);
+ Operator getOperator(FeedScopedId id);
RegularStop getRegularStop(FeedScopedId id);
Collection listStopLocations();
- Collection listRegularStops();
-
Collection listGroupStops();
StopLocation getStopLocation(FeedScopedId parseId);
@@ -144,56 +139,48 @@ public interface TransitService {
* stop, area stop or stop group, then a list with one item is returned.
* An empty list is if nothing is found.
*/
- Collection getStopOrChildStops(FeedScopedId id);
+ Collection findStopOrChildStops(FeedScopedId id);
Collection listStopLocationGroups();
StopLocationsGroup getStopLocationsGroup(FeedScopedId id);
- AreaStop getAreaStop(FeedScopedId id);
-
/**
* Return the trip for the given id, including trips created in real time.
*/
@Nullable
- Trip getTripForId(FeedScopedId id);
-
- /**
- * Return the trip for the given id, not including trips created in real time.
- */
- @Nullable
- Trip getScheduledTripForId(FeedScopedId id);
+ Trip getTrip(FeedScopedId id);
/**
* Return all trips, including those created by real-time updates.
*/
- Collection getAllTrips();
+ Collection listTrips();
/**
* Return all routes, including those created by real-time updates.
*/
- Collection getAllRoutes();
+ Collection listRoutes();
/**
* Return the scheduled trip pattern for a given trip.
* If the trip is an added trip (extra journey), return the initial trip pattern for this trip.
*/
- TripPattern getPatternForTrip(Trip trip);
+ TripPattern findPattern(Trip trip);
/**
* Return the trip pattern for a given trip on a service date. The real-time updated version
* is returned if it exists, otherwise the scheduled trip pattern is returned.
*/
- TripPattern getPatternForTrip(Trip trip, LocalDate serviceDate);
+ TripPattern findPattern(Trip trip, LocalDate serviceDate);
/**
* Return all the trip patterns used in the given route, including those added by real-time updates
*/
- Collection getPatternsForRoute(Route route);
+ Collection findPatterns(Route route);
- MultiModalStation getMultiModalStationForStation(Station station);
+ MultiModalStation findMultiModalStation(Station station);
- List stopTimesForStop(
+ List findStopTimesInPattern(
StopLocation stop,
Instant startTime,
Duration timeRange,
@@ -202,14 +189,14 @@ List stopTimesForStop(
boolean includeCancelledTrips
);
- List getStopTimesForStop(
+ List findStopTimesInPattern(
StopLocation stop,
LocalDate serviceDate,
ArrivalDeparture arrivalDeparture,
boolean includeCancellations
);
- List stopTimesForPatternAtStop(
+ List findTripTimeOnDate(
StopLocation stop,
TripPattern pattern,
Instant startTime,
@@ -219,18 +206,19 @@ List stopTimesForPatternAtStop(
boolean includeCancellations
);
- Collection getGroupsOfRoutes();
+ Collection listGroupsOfRoutes();
- Collection getRoutesForGroupOfRoutes(GroupOfRoutes groupOfRoutes);
+ Collection findRoutes(GroupOfRoutes groupOfRoutes);
- GroupOfRoutes getGroupOfRoutesForId(FeedScopedId id);
+ @Nullable
+ GroupOfRoutes getGroupOfRoutes(FeedScopedId id);
/**
* Return the timetable for a given trip pattern and date, taking into account real-time updates.
* If no real-times update are applied, fall back to scheduled data.
*/
@Nullable
- Timetable getTimetableForTripPattern(TripPattern tripPattern, LocalDate serviceDate);
+ Timetable findTimetable(TripPattern tripPattern, LocalDate serviceDate);
/**
* Return the real-time added pattern for a given tripId and a given service date.
@@ -238,25 +226,25 @@ List stopTimesForPatternAtStop(
* this date (that is: it is still using its scheduled trip pattern for this date).
*/
@Nullable
- TripPattern getNewTripPatternForModifiedTrip(FeedScopedId tripId, LocalDate serviceDate);
+ TripPattern findNewTripPatternForModifiedTrip(FeedScopedId tripId, LocalDate serviceDate);
/**
* Return true if at least one trip pattern has been modified by a real-time update.
*/
boolean hasNewTripPatternsForModifiedTrips();
- TripOnServiceDate getTripOnServiceDateForTripAndDay(TripIdAndServiceDate tripIdAndServiceDate);
+ TripOnServiceDate getTripOnServiceDate(TripIdAndServiceDate tripIdAndServiceDate);
/**
* Return the TripOnServiceDate for a given id, including real-time updates.
*/
- TripOnServiceDate getTripOnServiceDateById(FeedScopedId datedServiceJourneyId);
+ TripOnServiceDate getTripOnServiceDate(FeedScopedId id);
- Collection getAllTripOnServiceDates();
+ Collection listTripsOnServiceDate();
- Set