diff --git a/packages/base-map/package.json b/packages/base-map/package.json index b131afb79..6ee4bb5b2 100644 --- a/packages/base-map/package.json +++ b/packages/base-map/package.json @@ -14,7 +14,7 @@ "react-map-gl": "^7.0.15" }, "peerDependencies": { - "@opentripplanner/types": "^6.1.0", + "@opentripplanner/types": "^6.2.1", "react": "^16.14.0", "styled-components": "^5.3.0" }, diff --git a/packages/building-blocks/package.json b/packages/building-blocks/package.json index 56b776fab..2b1a92084 100644 --- a/packages/building-blocks/package.json +++ b/packages/building-blocks/package.json @@ -9,6 +9,7 @@ "module": "esm/index.js", "private": false, "devDependencies": { + "@opentripplanner/types": "^6.2.1", "@opentripplanner/core-utils": "^11.1.3" }, "peerDependencies": { diff --git a/packages/core-utils/package.json b/packages/core-utils/package.json index b2d909922..13f029451 100644 --- a/packages/core-utils/package.json +++ b/packages/core-utils/package.json @@ -14,7 +14,7 @@ "dependencies": { "@conveyal/lonlat": "^1.4.1", "@mapbox/polyline": "^1.1.0", - "@opentripplanner/geocoder": "^1.4.2", + "@opentripplanner/geocoder": "^2.0.0", "@styled-icons/foundation": "^10.34.0", "@turf/along": "^6.0.1", "chroma-js": "^2.4.2", diff --git a/packages/endpoints-overlay/i18n/tr.yml b/packages/endpoints-overlay/i18n/tr.yml index 450156e14..dcb111804 100644 --- a/packages/endpoints-overlay/i18n/tr.yml +++ b/packages/endpoints-overlay/i18n/tr.yml @@ -1,9 +1,9 @@ otpUi: EndpointsOverlay: - forgetWork: İşi unut - swapLocation: '{locationType} konumuna değiştir' - saveAsWork: İşi Kaydet + clearLocation: "{locationType} konumu olarak kaldır" + coordinates: "{lat, number, ::.00000}, {lon, number, ::.00000}" forgetHome: Evi unut - coordinates: '{lat, number, ::.00000}, {lon, number, ::.00000}' - clearLocation: '{locationType} konumu olarak kaldır' + forgetWork: İşi unut saveAsHome: Evi kaydet + saveAsWork: İşi Kaydet + swapLocation: "{locationType} konumuna değiştir" diff --git a/packages/endpoints-overlay/package.json b/packages/endpoints-overlay/package.json index 47684d524..f09dce995 100644 --- a/packages/endpoints-overlay/package.json +++ b/packages/endpoints-overlay/package.json @@ -19,17 +19,17 @@ "url": "https://github.com/opentripplanner/otp-ui/issues" }, "dependencies": { - "@opentripplanner/base-map": "^3.0.14", + "@opentripplanner/base-map": "^3.0.15", "@opentripplanner/location-icon": "^1.4.1", - "@opentripplanner/core-utils": "^11.0.2", + "@opentripplanner/core-utils": "^11.1.3", "flat": "^5.0.2", "@styled-icons/fa-solid": "^10.34.0" }, "devDependencies": { + "@opentripplanner/types": "^6.2.1", "@types/flat": "^5.0.2" }, "peerDependencies": { - "@opentripplanner/types": "^6.1.0", "react": "^16.14.0", "react-dom": "^16.8.6", "react-intl": "^5.24.6", diff --git a/packages/from-to-location-picker/i18n/tr.yml b/packages/from-to-location-picker/i18n/tr.yml index 634c56146..2848c9d78 100644 --- a/packages/from-to-location-picker/i18n/tr.yml +++ b/packages/from-to-location-picker/i18n/tr.yml @@ -1,5 +1,5 @@ otpUi: FromToLocationPicker: - planATrip: 'Bir yolculuk planla:' from: Buradan + planATrip: "Bir yolculuk planla:" to: Buraya diff --git a/packages/from-to-location-picker/package.json b/packages/from-to-location-picker/package.json index 906f3fab9..b8cb812d9 100644 --- a/packages/from-to-location-picker/package.json +++ b/packages/from-to-location-picker/package.json @@ -13,7 +13,7 @@ "flat": "^5.0.2" }, "devDependencies": { - "@opentripplanner/types": "^6.1.0" + "@opentripplanner/types": "^6.2.1" }, "peerDependencies": { "react": "^16.14.0", diff --git a/packages/icons/package.json b/packages/icons/package.json index 0ef60cbae..62214b9db 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -10,7 +10,7 @@ "license": "MIT", "private": false, "dependencies": { - "@opentripplanner/core-utils": "^11.0.2", + "@opentripplanner/core-utils": "^11.1.3", "prop-types": "^15.7.2" }, "peerDependencies": { diff --git a/packages/itinerary-body/i18n/ko.yml b/packages/itinerary-body/i18n/ko.yml index badb201d8..253d5dc99 100644 --- a/packages/itinerary-body/i18n/ko.yml +++ b/packages/itinerary-body/i18n/ko.yml @@ -1,33 +1,44 @@ otpUi: AccessLegBody: + LegDiagramPreview: + elevationChart: 고도 차트 + noElevationData: 사용 가능한 고도 데이터가 없습니다. + toggleElevationChart: 고도 차트 토글 RentedVehicleSubheader: pickupRental: "{company} {vehicleType} {vehicleName} 픽업" resumeRentalRide: 대여 서비스 이용 계속하기 vehicleType: - vehicle: 차량 bike: 자전거 bikeshare: 자전거 car: 자동차 escooter: 전기 스쿠터 + vehicle: 차량 walkVehicle: "{place}을(를) 따라 차량을 움직이기" - LegDiagramPreview: - elevationChart: 고도 차트 - noElevationData: 사용 가능한 고도 데이터가 없습니다. - toggleElevationChart: 고도 차트 토글 + TncLeg: + bookRide: 승차 예약 + bookRideLater: 예약하려면 {timeMillis, time, short}까지 대기 + estimatedCost: "예상 비용: {minFare} - {maxFare}" + estimatedTravelTime: "예상 이동 시간: {duration} (교통사정을 고려하지 않음)" + waitForPickup: "{company} 승차까지 {minutes, plural, =0 {} other { # 분} } 대기" + mapillaryTooltip: 이 위치의 거리 이미지 보기 step: circleClockwise: 시계 방향으로 원을 따라갑니다 + circleCounterClockwise: 시계 반대 방향으로 서클을 따르십시오 + continue: 계속 + enterStation: 역 입력 + exitStation: 역 나가기 hardLeft: 날카로운 왼쪽 hardRight: 날카로운 권리 + left: 왼쪽 right: 오른 slightlyLeft: 약간 왼쪽 + slightlyRight: 약간 오른쪽 uTurnLeft: 유턴 uTurnRight: 유턴 - continue: 계속 - circleCounterClockwise: 시계 반대 방향으로 서클을 따르십시오 - left: 왼쪽 - slightlyRight: 약간 오른쪽 - enterStation: 역 입력 - exitStation: 역 나가기 + stepDepart: "{street} 에서 {heading}으로 향하다" + stepElevator: 엘리베이터를 타고 {street} 이동 + stepFollowSigns: "다음까지 표지판을 따라가십시오: {street}" + stepGeneric: "{street} 에 {step}" stepHeading: east: 동쪽 north: 북쪽 @@ -37,43 +48,31 @@ otpUi: southeast: 남동쪽 southwest: 남서쪽 west: 서쪽 - stepGeneric: "{street} 에 {step}" + stepStation: "{step} 에서 {street}" + summary: "{place} 에 {mode}" + summaryAndDistance: "{place} 에 {mode} {distance}" summaryMode: + bike: 자전거 bikeshare: 공유자전거 carDrive: 운전 - walk: 걷기 - bike: 자전거 carHail: 타다 escooter: 타다 - TncLeg: - bookRide: 승차 예약 - bookRideLater: 예약하려면 {timeMillis, time, short}까지 대기 - estimatedCost: "예상 비용: {minFare} - {maxFare}" - estimatedTravelTime: "예상 이동 시간: {duration} (교통사정을 고려하지 않음)" - waitForPickup: "{company} 승차까지 {minutes, plural, =0 {} other { # 분} } 대기" + walk: 걷기 unnamedPath: 이름 없는 경로 + unnamedRoad: 이름 없는 길 + vehicleTitle: "{company} {vehicleType}" vehicleType: - vehicle: 차량 bike: 자전거 bikeshare: 자전거 car: 자동차 escooter: 전기 스쿠터 - unnamedRoad: 이름 없는 길 - vehicleTitle: "{company} {vehicleType}" - stepDepart: "{street} 에서 {heading}으로 향하다" - stepElevator: 엘리베이터를 타고 {street} 이동 - summaryAndDistance: "{place} 에 {mode} {distance}" - mapillaryTooltip: 이 위치의 거리 이미지 보기 - summary: "{place} 에 {mode}" - stepFollowSigns: '다음까지 표지판을 따라가십시오: {street}' - stepStation: '{step} 에서 {street}' + vehicle: 차량 ItineraryBody: common: durationShort: "{hours, plural, =0 {} other {# 시간 }}{minutes} 분" flexAdvanceNotice: " 최소 {leadDays}일 전에" flexCallAhead: 미리 전화 flexCallNumber: "{phoneNumber}에 전화" - viewOnMap: 지도 보기 flexPickupMessage: 이 경로를 이용하려면 {advanceNotice}{action}야 합니다. stayOnBoard: "{place}에서는 그대로 타고 계십시오" travelBy: "{mode} 여행하다" @@ -82,14 +81,15 @@ otpUi: car: 차로 escooter: 전자 스쿠터로 walk: 걸어서 + viewOnMap: 지도 보기 TransitLegBody: - agencyExternalLink: "{agencyName} (외부 링크)" AlertsBody: + effectiveDate: "{dateTime, date, long}자로 유효" + effectiveTimeAndDate: "{day} {dateTime, time, short}자로 유효" today: 오늘 tomorrow: 내일 yesterday: 어제 - effectiveDate: "{dateTime, date, long}자로 유효" - effectiveTimeAndDate: "{day} {dateTime, time, short}자로 유효" + agencyExternalLink: "{agencyName} (외부 링크)" alertsHeader: "{alertCount}개의 알림" arriveAt: "{place} 시장에 도착하다" disembarkAt: "{legDestination} 에서 하차" @@ -97,7 +97,7 @@ otpUi: fare: "운임: {fare}" fromLocation: "{location}에서" legDetails: 다리 세부 사항 - operatedBy: '{agencyLink}에서 운영하는 서비스' + operatedBy: "{agencyLink}에서 운영하는 서비스" ride: 타다 rideDurationAndStops: "승차 {duration}{numStops, plural, =1 {} other { / # 정거장}}" routeDescription: "{routeName} {headsign}" diff --git a/packages/itinerary-body/i18n/ru.yml b/packages/itinerary-body/i18n/ru.yml index 04a6199b7..7f7c1ae01 100644 --- a/packages/itinerary-body/i18n/ru.yml +++ b/packages/itinerary-body/i18n/ru.yml @@ -1,112 +1,110 @@ otpUi: - TransitLegBody: - fare: 'Стоимость проезда: {fare}' - AlertsBody: - yesterday: Вчера - tomorrow: Завтра - today: Сегодня - effectiveTimeAndDate: Актуально на {dateTime, time, short}, {day} - effectiveDate: Актуально на {dateTime, date, long} - rideDurationAndStops: 'Поездка: {duration}{numStops, plural, =1 {} other { / остановки - (#)}}' - stopViewer: Средство просмотра остановок - tripViewer: Средство просмотра поездки - stopId: Идентификатор остановки {stopId} - typicalWait: 'Типичное время ожидания: {waitTime}' - stopIdBasic: Идентификатор {stopId} - operatedBy: Услуги, предоставляемые агентством «{agencyLink}» - arriveAt: Прибытие в {place} - disembarkAt: Выходите в месте {legDestination} - alertsHeader: '{alertCount, plural, =1 {# предупреждение!} other {Несколько предупреждений - (#)!}}' - routeDescription: '{routeName} {headsign}' - fromLocation: Из места «{location}» - agencyExternalLink: '{agencyName} (Ссылка на внешний источник)' - legDetails: Детальное описание отрезка маршрута - expandDetails: (Развернуть детали) - zoomToLeg: Приблизить отрезок на карте - ride: Поездка AccessLegBody: LegDiagramPreview: - toggleElevationChart: Переключить график высот elevationChart: График высот noElevationData: Нет данных по высоте. + toggleElevationChart: Переключить график высот RentedVehicleSubheader: + pickupRental: Возьмите {vehicleType} «{company}» {vehicleName} resumeRentalRide: Продолжить аренду - walkVehicle: Проведите средство вдоль места «{place}» vehicleType: bike: велосипед - escooter: Электросамокат - car: aвто bikeshare: велосипед в прокат + car: aвто + escooter: Электросамокат vehicle: транспортное средство - pickupRental: Возьмите {vehicleType} «{company}» {vehicleName} - vehicleType: - car: Авто - bike: Велосипед - escooter: Электросамокат - vehicle: Транспортное средство - bikeshare: Bелосипед в прокат + walkVehicle: Проведите средство вдоль места «{place}» TncLeg: - estimatedTravelTime: 'Предполагаемое время поездки: {duration} (без учета дорожного - движения)' - estimatedCost: 'Предполагаемая стоимость: {minFare} — {maxFare}' - bookRideLater: Для бронирования подождите до {timeMillis, time, short} bookRide: Забронировать поездку - waitForPickup: 'Подождите{minutes, plural, =0 {} other { # мин}} до приезда - {company}' - summaryMode: - walk: Пешком - bikeshare: Прокат велосипедов - carDrive: Вождение - bike: Велосипед - escooter: Электросамокат - carHail: Поездка + bookRideLater: Для бронирования подождите до {timeMillis, time, short} + estimatedCost: "Предполагаемая стоимость: {minFare}\_— {maxFare}" + estimatedTravelTime: "Предполагаемое время поездки: {duration} (без учета дорожного движения)" + waitForPickup: "Подождите{minutes, plural, =0 {} other { # мин}} до приезда {company}" mapillaryTooltip: Показать изображения улиц для этого местоположения - unnamedRoad: Неизвестная дорога - stepHeading: - southwest: на юго-запад - south: на юг - southeast: на юго-восток - northwest: на северо-запад - northeast: на северо-восток - north: на север - west: на запад - east: на восток step: - slightlyRight: Немного правее - hardLeft: Строго налево circleClockwise: Двигайтесь по кругу по часовой стрелке + circleCounterClockwise: Двигайтесь по кругу против часовой стрелки continue: Продолжайте движение + enterStation: Введите станцию + exitStation: Выйти из станции + hardLeft: Строго налево + hardRight: Строго направо + left: Налево + right: Направо slightlyLeft: Немного левее + slightlyRight: Немного правее uTurnLeft: Левый разворот uTurnRight: Правый разворот - circleCounterClockwise: Двигайтесь по кругу против часовой стрелки - right: Направо - hardRight: Строго направо - left: Налево - enterStation: Введите станцию - exitStation: Выйти из станции stepDepart: Направляйтесь {heading} на улице {street} stepElevator: Воспользуйтесь подъемом к улице {street} - summary: '{mode} до места «{place}»' - stepGeneric: '{step} на улице {street}' - summaryAndDistance: '{mode}{distance} до места «{place}»' - unnamedPath: Неизвестный путь - vehicleTitle: '{vehicleType} «{company}»' stepFollowSigns: Следуйте указателям {street} - stepStation: '{step} __ {street}' + stepGeneric: "{step} на улице {street}" + stepHeading: + east: на восток + north: на север + northeast: на северо-восток + northwest: на северо-запад + south: на юг + southeast: на юго-восток + southwest: на юго-запад + west: на запад + stepStation: "{step} __ {street}" + summary: "{mode} до места «{place}»" + summaryAndDistance: "{mode}{distance} до места «{place}»" + summaryMode: + bike: Велосипед + bikeshare: Прокат велосипедов + carDrive: Вождение + carHail: Поездка + escooter: Электросамокат + walk: Пешком + unnamedPath: Неизвестный путь + unnamedRoad: Неизвестная дорога + vehicleTitle: "{vehicleType} «{company}»" + vehicleType: + bike: Велосипед + bikeshare: Bелосипед в прокат + car: Авто + escooter: Электросамокат + vehicle: Транспортное средство ItineraryBody: - viewOnMap: Просмотреть на карте common: - durationShort: '{hours, plural, =0 {} other {# ч }}{minutes} мин' - flexPickupMessage: Чтобы воспользоваться этим маршрутом, {action}{advanceNotice}. + durationShort: "{hours, plural, =0 {} other {# ч }}{minutes} мин" + flexCallAhead: звоните заранее flexCallNumber: звоните {phoneNumber} + flexPickupMessage: Чтобы воспользоваться этим маршрутом, {action}{advanceNotice}. + stayOnBoard: Не выходите в месте {place} + travelBy: Передвижение {mode} travelByMode: - car: на авто bike: на велосипеде + car: на авто escooter: на электросамокате walk: пешком - stayOnBoard: Не выходите в месте {place} - flexCallAhead: звоните заранее - travelBy: Передвижение {mode} + viewOnMap: Просмотреть на карте + TransitLegBody: + AlertsBody: + effectiveDate: Актуально на {dateTime, date, long} + effectiveTimeAndDate: Актуально на {dateTime, time, short}, {day} + today: Сегодня + tomorrow: Завтра + yesterday: Вчера + agencyExternalLink: "{agencyName} (Ссылка на внешний источник)" + alertsHeader: >- + {alertCount, plural, =1 {# предупреждение!} other {Несколько + предупреждений (#)!}} + arriveAt: Прибытие в {place} + disembarkAt: Выходите в месте {legDestination} + expandDetails: (Развернуть детали) + fare: "Стоимость проезда: {fare}" + fromLocation: Из места «{location}» + legDetails: Детальное описание отрезка маршрута + operatedBy: Услуги, предоставляемые агентством «{agencyLink}» + ride: Поездка + rideDurationAndStops: "Поездка: {duration}{numStops, plural, =1 {} other { / остановки (#)}}" + routeDescription: "{routeName} {headsign}" + stopId: Идентификатор остановки {stopId} + stopIdBasic: Идентификатор {stopId} + stopViewer: Средство просмотра остановок + tripViewer: Средство просмотра поездки + typicalWait: "Типичное время ожидания: {waitTime}" + zoomToLeg: Приблизить отрезок на карте diff --git a/packages/itinerary-body/i18n/tl.yml b/packages/itinerary-body/i18n/tl.yml index e62b0a5b7..8c90d5296 100644 --- a/packages/itinerary-body/i18n/tl.yml +++ b/packages/itinerary-body/i18n/tl.yml @@ -1,110 +1,112 @@ otpUi: - TransitLegBody: - fare: 'Pamasahe: {fare}' - AlertsBody: - yesterday: Kahapon - tomorrow: Bukas - today: Ngayong Araw - effectiveTimeAndDate: May bisa simula {dateTime, time, short}, {day} - effectiveDate: May bisa simula {dateTime, date, long} - rideDurationAndStops: 'Ride {duration}{numStops, plural, =1 {} other { / # stops}}' - stopViewer: Ihinto ang Viewer - tripViewer: Viewer ng Biyahe - stopId: ID ng Hintuan {stopId} - typicalWait: 'Karaniwang tagal ng paghihintay: {waitTime}' - stopIdBasic: ID {stopId} - operatedBy: Ang serbisyo ay pinapatakbo ng {agencyLink} - arriveAt: Darating nang {place} - disembarkAt: Bumaba sa {legDestination} - alertsHeader: '{alertCount, plural, =1 {# alert} other {# alerts}}' - routeDescription: '{routeName} papuntang {headsign}' - fromLocation: mula sa {location} - agencyExternalLink: '{agencyName} (External na Link)' - legDetails: Mga detalye ng Paggalaw - expandDetails: (I-expand ang mga detalye) - zoomToLeg: Mag-zoom sa leg sa mapa - ride: Sumakay AccessLegBody: LegDiagramPreview: - toggleElevationChart: I-toggle ang chart ng elevation elevationChart: Chart ng elevation noElevationData: Walang available na data ng elevation. + toggleElevationChart: I-toggle ang chart ng elevation RentedVehicleSubheader: + pickupRental: Pag-pick up {company} {vehicleType} {vehicleName} resumeRentalRide: Magpatuloy gamit ang rental - walkVehicle: Dumaan sa {place} vehicleType: bike: bisikleta - escooter: E-scooter - car: Sasakyan bikeshare: shared bike + car: Sasakyan + escooter: E-scooter vehicle: sasakyan - pickupRental: Pag-pick up {company} {vehicleType} {vehicleName} - vehicleType: - car: Sasakyan - bike: Bisikleta - escooter: E-scooter - vehicle: Sasakyan - bikeshare: Shared na Bisikleta + walkVehicle: Dumaan sa {place} TncLeg: - estimatedTravelTime: 'Tinatayang tagal ng biyahe: {duration} (hindi isinasaalang-alang - ang trapiko)' - estimatedCost: 'Tinatayang halaga: {minFare} - {maxFare}' - bookRideLater: Maghintay hanggang {timeMillis, time, short} para mag-book bookRide: Mag-book ng Ride - waitForPickup: 'Tagal ng paghihintay{minutes, plural, =0 {} other { # minutes}} - para sa pag-pick up ng {company}' - summaryMode: - walk: Naglalakad - bikeshare: Bikeshare - carDrive: Nagmamaneho - bike: Bisikleta - escooter: E-Scooter - carHail: Ride + bookRideLater: Maghintay hanggang {timeMillis, time, short} para mag-book + estimatedCost: "Tinatayang halaga: {minFare} - {maxFare}" + estimatedTravelTime: >- + Tinatayang tagal ng biyahe: {duration} (hindi isinasaalang-alang ang + trapiko) + waitForPickup: >- + Tagal ng paghihintay{minutes, plural, =0 {} other { # minutes}} para sa + pag-pick up ng {company} mapillaryTooltip: Ipakita ang larawan ng kalye sa lokasyong ito - unnamedRoad: Unnamed Road step: - slightlyRight: Slight right - hardLeft: Hard left circleClockwise: Follow circle clockwise + circleCounterClockwise: Follow circle counterclockwise continue: Continue + enterStation: I-enter ang istasyon + exitStation: Lumabas sa Istasyon + hardLeft: Hard left + hardRight: Hard right + left: Left + right: Right slightlyLeft: Slight left + slightlyRight: Slight right uTurnLeft: Left U-turn uTurnRight: Right U-turn - circleCounterClockwise: Follow circle counterclockwise - right: Right - hardRight: Hard right - left: Left - enterStation: I-enter ang istasyon - exitStation: Lumabas sa Istasyon + stepDepart: Head {heading} on {street} + stepElevator: Take elevator to {street} + stepFollowSigns: Sundin ang mga palatandaan sa {street} + stepGeneric: "{step} on {street}" stepHeading: + east: east + north: north + northeast: northeast + northwest: northwest south: south southeast: southeast - northwest: northwest - northeast: northeast - north: north - west: west - east: east southwest: southwest - stepDepart: Head {heading} on {street} - stepElevator: Take elevator to {street} - summary: '{mode} to {place}' - stepGeneric: '{step} on {street}' - summaryAndDistance: '{mode} {distance} to {place}' + west: west + stepStation: "{step} sa {street}" + summary: "{mode} to {place}" + summaryAndDistance: "{mode} {distance} to {place}" + summaryMode: + bike: Bisikleta + bikeshare: Bikeshare + carDrive: Nagmamaneho + carHail: Ride + escooter: E-Scooter + walk: Naglalakad unnamedPath: Unnamed Path - vehicleTitle: '{company} {vehicleType}' - stepFollowSigns: Sundin ang mga palatandaan sa {street} - stepStation: '{step} sa {street}' + unnamedRoad: Unnamed Road + vehicleTitle: "{company} {vehicleType}" + vehicleType: + bike: Bisikleta + bikeshare: Shared na Bisikleta + car: Sasakyan + escooter: E-scooter + vehicle: Sasakyan ItineraryBody: - viewOnMap: Tingnan sa mapa common: - durationShort: '{hours, plural, =0 {} other {# hr }}{minutes} (na) minuto' + durationShort: "{hours, plural, =0 {} other {# hr }}{minutes} (na) minuto" + flexCallAhead: tumawag nang maaga + flexCallNumber: tumawag sa {phoneNumber} flexPickupMessage: Para gamitin ang rutang ito, {action}{advanceNotice}. + stayOnBoard: Manatiling on board sa {place} + travelBy: Maglakbay sa pamamagitan ng {mode} travelByMode: - car: sasakyan bike: bisikleta + car: sasakyan escooter: e-scooter walk: walking - stayOnBoard: Manatiling on board sa {place} - flexCallAhead: 'tumawag nang maaga' - travelBy: Maglakbay sa pamamagitan ng {mode} - flexCallNumber: tumawag sa {phoneNumber} + viewOnMap: Tingnan sa mapa + TransitLegBody: + AlertsBody: + effectiveDate: May bisa simula {dateTime, date, long} + effectiveTimeAndDate: May bisa simula {dateTime, time, short}, {day} + today: Ngayong Araw + tomorrow: Bukas + yesterday: Kahapon + agencyExternalLink: "{agencyName} (External na Link)" + alertsHeader: "{alertCount, plural, =1 {# alert} other {# alerts}}" + arriveAt: Darating nang {place} + disembarkAt: Bumaba sa {legDestination} + expandDetails: (I-expand ang mga detalye) + fare: "Pamasahe: {fare}" + fromLocation: mula sa {location} + legDetails: Mga detalye ng Paggalaw + operatedBy: Ang serbisyo ay pinapatakbo ng {agencyLink} + ride: Sumakay + rideDurationAndStops: "Ride {duration}{numStops, plural, =1 {} other { / # stops}}" + routeDescription: "{routeName} papuntang {headsign}" + stopId: ID ng Hintuan {stopId} + stopIdBasic: ID {stopId} + stopViewer: Ihinto ang Viewer + tripViewer: Viewer ng Biyahe + typicalWait: "Karaniwang tagal ng paghihintay: {waitTime}" + zoomToLeg: Mag-zoom sa leg sa mapa diff --git a/packages/itinerary-body/i18n/vi.yml b/packages/itinerary-body/i18n/vi.yml index 11dd046e9..5c8f07c0b 100644 --- a/packages/itinerary-body/i18n/vi.yml +++ b/packages/itinerary-body/i18n/vi.yml @@ -1,5 +1,9 @@ otpUi: AccessLegBody: + LegDiagramPreview: + elevationChart: Biểu đồ cao độ + noElevationData: Không có sẵn dữ liệu độ cao. + toggleElevationChart: Bật biểu đồ độ cao RentedVehicleSubheader: pickupRental: Nhận {vehicleType} {company} {vehicleName} resumeRentalRide: Tiếp tục sử dụng cho thuê @@ -10,29 +14,19 @@ otpUi: escooter: xe tay ga điện vehicle: xe walkVehicle: Đẩy phương tiện giao thông dọc theo {place} - summaryMode: - bikeshare: Xe đạp thuê - carDrive: Lái xe - walk: Đi bộ - carHail: Ngồi trên xe - escooter: Đi xe tay ga điện - bike: Xe đạp TncLeg: bookRide: Đặt trước một chuyến đi bookRideLater: Chờ cho đến {timeMillis, time, short} để đặt chỗ estimatedCost: "Chi phí ước tính: {minFare} - {maxFare}" - estimatedTravelTime: "Thời gian di chuyển ước tính: {duration} (không tính đến - giao thông)" + estimatedTravelTime: "Thời gian di chuyển ước tính: {duration} (không tính đến giao thông)" waitForPickup: "Chờ{minutes, plural, =0 {} other { # phút}} cho {company} đón" - LegDiagramPreview: - elevationChart: Biểu đồ cao độ - noElevationData: Không có sẵn dữ liệu độ cao. - toggleElevationChart: Bật biểu đồ độ cao mapillaryTooltip: Hiển thị hình ảnh đường phố tại vị trí này step: circleClockwise: Đi theo vòng tròn theo chiều kim đồng hồ circleCounterClockwise: Đi theo vòng tròn ngược chiều kim đồng hồ continue: Tiếp tục + enterStation: Nhập trạm + exitStation: Rời khỏi trạm hardLeft: Rẽ trái đột ngột hardRight: Rẽ phải đột ngột left: Rẽ trái @@ -41,9 +35,10 @@ otpUi: slightlyRight: Hơi rẽ phải uTurnLeft: Quay mặt bên trái uTurnRight: Quay mặt bên phải - enterStation: Nhập trạm - exitStation: Rời khỏi trạm stepDepart: Đi về hướng {heading} trên đường {street} + stepElevator: Đi thang máy đến {street} + stepFollowSigns: Đi theo biển hiệu đến {street} + stepGeneric: "{step} trên đường {street}" stepHeading: east: đông north: bắc @@ -53,8 +48,16 @@ otpUi: southeast: đông nam southwest: tây nam west: tây - stepGeneric: "{step} trên đường {street}" + stepStation: "{step} tại {street}" + summary: "{mode} đến {place}" summaryAndDistance: "{mode} {distance} đến {place}" + summaryMode: + bike: Xe đạp + bikeshare: Xe đạp thuê + carDrive: Lái xe + carHail: Ngồi trên xe + escooter: Đi xe tay ga điện + walk: Đi bộ unnamedPath: Con đường không tên unnamedRoad: Con đường không tên vehicleTitle: "{vehicleType} {company}" @@ -62,16 +65,11 @@ otpUi: bike: Xe đạp bikeshare: Xe đạp thuê car: Xe hơi - vehicle: Xe escooter: Xe tay ga điện - stepElevator: Đi thang máy đến {street} - summary: "{mode} đến {place}" - stepFollowSigns: Đi theo biển hiệu đến {street} - stepStation: '{step} tại {street}' + vehicle: Xe ItineraryBody: common: durationShort: "{hours, plural, =0 {} other {# giờ }}{minutes} phút" - viewOnMap: Xem trên bản đồ flexAdvanceNotice: " ít nhất trước {leadDays} ngày" flexCallAhead: gọi điện trước khi đi flexCallNumber: gọi {phoneNumber} @@ -83,25 +81,25 @@ otpUi: car: bằng xe hơi escooter: bằng xe tay ga điện tử walk: bằng cách đi bộ + viewOnMap: Xem trên bản đồ TransitLegBody: - agencyExternalLink: "{agencyName} (Liên kết bên ngoài)" AlertsBody: effectiveDate: Có hiệu lực kể từ {dateTime, date, long} effectiveTimeAndDate: Có hiệu lực kể từ {dateTime, time, short}, {day} today: Hôm nay tomorrow: Ngày mai yesterday: Hôm qua + agencyExternalLink: "{agencyName} (Liên kết bên ngoài)" alertsHeader: "{alertCount} cảnh báo" - arriveAt: "Đến {place}" + arriveAt: Đến {place} disembarkAt: Xuống xe ở {legDestination} expandDetails: (Mở rộng chi tiết) fare: "Giá vé: {fare}" - fromLocation: "Từ {location}" + fromLocation: Từ {location} legDetails: Chi tiết sân khấu operatedBy: Dịch vụ được điều hành bởi {agencyLink} ride: Đi đường - rideDurationAndStops: "Đi {duration}{numStops, plural, =1 {} other { / # điểm - dừng}}" + rideDurationAndStops: "Đi {duration}{numStops, plural, =1 {} other { / # điểm dừng}}" routeDescription: "{routeName} hướng {headsign}" stopId: Điểm dừng số {stopId} stopIdBasic: Điểm dừng số {stopId} diff --git a/packages/itinerary-body/i18n/zh_Hans.yml b/packages/itinerary-body/i18n/zh_Hans.yml index dae43e096..748d92a94 100644 --- a/packages/itinerary-body/i18n/zh_Hans.yml +++ b/packages/itinerary-body/i18n/zh_Hans.yml @@ -1,5 +1,9 @@ otpUi: AccessLegBody: + LegDiagramPreview: + elevationChart: 海拔图表 + noElevationData: 没有可用的海拔数据. + toggleElevationChart: 切换海拔图表 RentedVehicleSubheader: pickupRental: "{company} {vehicleType} {vehicleName} 捡起" resumeRentalRide: 继续使用租赁 @@ -10,92 +14,88 @@ otpUi: escooter: 电动滑板车 vehicle: 车辆 walkVehicle: 沿着 {place} 推车辆 + TncLeg: + bookRide: 预订乘车 + bookRideLater: 等到 {timeMillis, time, short} 进行预订 + estimatedCost: "估计费用: {minFare} - {maxFare}" + estimatedTravelTime: "估计的旅行时间: {duration} (不包括流量)" + waitForPickup: "等待 {minutes, plural, =0 {} other { # 分钟} } {company} 来接你" + mapillaryTooltip: 在这个位置显示街道图像 step: + circleClockwise: 顺时针跟随圆圈 + circleCounterClockwise: 逆时针跟随圆圈 continue: 继续 + enterStation: 输入车站 + exitStation: 退出车站 hardLeft: 硬左 + hardRight: 硬右 left: 左转 right: 右转 slightlyLeft: 稍稍左 slightlyRight: 稍向右 uTurnLeft: 左掉头 uTurnRight: 右掉头 - circleClockwise: 顺时针跟随圆圈 - circleCounterClockwise: 逆时针跟随圆圈 - hardRight: 硬右 - enterStation: 输入车站 - exitStation: 退出车站 stepDepart: 走{heading}在{street} + stepElevator: 乘坐电梯到 {street} + stepFollowSigns: 跟随指示牌 {street} + stepGeneric: "{street} 在 {step}" stepHeading: east: 向东 north: 向北 + northeast: 东北方向 northwest: 西北 south: 向南 + southeast: 东南 southwest: 西南 west: 向西 - northeast: 东北方向 - southeast: 东南 - stepElevator: 乘坐电梯到 {street} - stepGeneric: "{street} 在 {step}" + stepStation: "{step} 位于 {street}" + summary: "{place} 至 {mode}" summaryAndDistance: "{place} 至 {distance} {mode}" summaryMode: bike: 自行车 + bikeshare: 共享单车 + carDrive: 驾驶 carHail: 骑 escooter: 骑 - carDrive: 驾驶 walk: 步行 - bikeshare: 共享单车 unnamedPath: 未命名路径 unnamedRoad: 未命名路 + vehicleTitle: "{company} {vehicleType}" vehicleType: bike: 自行车 bikeshare: 自行车 - vehicle: 车辆 car: 汽车 escooter: 电动滑板车 - LegDiagramPreview: - elevationChart: 海拔图表 - noElevationData: 没有可用的海拔数据. - toggleElevationChart: 切换海拔图表 - mapillaryTooltip: 在这个位置显示街道图像 - TncLeg: - bookRide: 预订乘车 - bookRideLater: 等到 {timeMillis, time, short} 进行预订 - estimatedCost: "估计费用: {minFare} - {maxFare}" - estimatedTravelTime: "估计的旅行时间: {duration} (不包括流量)" - waitForPickup: "等待 {minutes, plural, =0 {} other { # 分钟} } {company} 来接你" - summary: "{place} 至 {mode}" - vehicleTitle: "{company} {vehicleType}" - stepFollowSigns: 跟随指示牌 {street} - stepStation: '{step} 位于 {street}' + vehicle: 车辆 ItineraryBody: + common: + durationShort: "{hours, plural, =0 {} other {# 시간 }}{minutes} 分钟" flexAdvanceNotice: " 至少提前 {leadDays} 天" flexCallAhead: 提前打电话 flexCallNumber: 拨打 {phoneNumber} flexPickupMessage: 要走这条路,你必须{action}{advanceNotice} + stayOnBoard: 留在 {place} 的巴士上 travelBy: "{mode} 旅行" - viewOnMap: 在地图上查看 travelByMode: bike: 骑自行车 car: 乘车 escooter: 乘坐电动滑板车 walk: 步行出 - common: - durationShort: "{hours, plural, =0 {} other {# 시간 }}{minutes} 分钟" - stayOnBoard: 留在 {place} 的巴士上 + viewOnMap: 在地图上查看 TransitLegBody: - agencyExternalLink: "{agencyName} (外部链接)" AlertsBody: effectiveDate: 从 {dateTime, date, long} 起生效 effectiveTimeAndDate: 从 {dateTime, time, short}, {day} 起生效 today: 今天 tomorrow: 明天 yesterday: 昨天 + agencyExternalLink: "{agencyName} (外部链接)" alertsHeader: "{alertCount} 个警报" arriveAt: 到达 disembarkAt: "{legDestination} 下车" expandDetails: (展开详情) fare: "票价: {fare}" - fromLocation: "从 {location}" + fromLocation: 从 {location} legDetails: 腿部情况 operatedBy: 服务运营商 {agencyLink} ride: 乘坐 diff --git a/packages/itinerary-body/package.json b/packages/itinerary-body/package.json index f873e5704..fd1087a2d 100644 --- a/packages/itinerary-body/package.json +++ b/packages/itinerary-body/package.json @@ -10,9 +10,9 @@ "license": "MIT", "private": false, "dependencies": { - "@opentripplanner/core-utils": "^11.0.2", + "@opentripplanner/core-utils": "^11.1.3", "@opentripplanner/humanize-distance": "^1.2.0", - "@opentripplanner/icons": "^2.0.5", + "@opentripplanner/icons": "^2.0.7", "@opentripplanner/location-icon": "^1.4.1", "@styled-icons/fa-solid": "^10.34.0", "@styled-icons/foundation": "^10.34.0", @@ -24,7 +24,7 @@ "string-similarity": "^4.0.4" }, "devDependencies": { - "@opentripplanner/types": "^6.1.0", + "@opentripplanner/types": "^6.2.1", "@types/flat": "^5.0.2" }, "peerDependencies": { diff --git a/packages/itinerary-body/src/otp-react-redux/transit-leg-subheader.tsx b/packages/itinerary-body/src/otp-react-redux/transit-leg-subheader.tsx index c2d92784b..5f85f6c65 100644 --- a/packages/itinerary-body/src/otp-react-redux/transit-leg-subheader.tsx +++ b/packages/itinerary-body/src/otp-react-redux/transit-leg-subheader.tsx @@ -26,7 +26,7 @@ export default function TransitLegSubheader({ }} /> {!isFlex(leg) && ( - + )} ); diff --git a/packages/itinerary-body/src/otp-react-redux/view-stop-button.tsx b/packages/itinerary-body/src/otp-react-redux/view-stop-button.tsx index 864a0d47a..43009d8c1 100644 --- a/packages/itinerary-body/src/otp-react-redux/view-stop-button.tsx +++ b/packages/itinerary-body/src/otp-react-redux/view-stop-button.tsx @@ -1,18 +1,20 @@ import React, { Component, ReactElement } from "react"; +import { Stop, StopEventHandler } from "@opentripplanner/types"; import { FormattedMessage } from "react-intl"; import * as S from "../styled"; import { defaultMessages } from "../util"; interface Props { - onStopClick: ({ stopId: string }) => void; - stopId: string; + onStopClick: StopEventHandler; + stopId?: string; + stop?: Stop; } export default class ViewStopButton extends Component { onClick = (): void => { - const { onStopClick, stopId } = this.props; - onStopClick({ stopId }); + const { onStopClick, stop, stopId } = this.props; + onStopClick({ ...stop, stopId: "gtfsId" in stop ? stop.gtfsId : stopId }); }; render(): ReactElement { diff --git a/packages/itinerary-body/src/types.ts b/packages/itinerary-body/src/types.ts index 66d747248..934a6829a 100644 --- a/packages/itinerary-body/src/types.ts +++ b/packages/itinerary-body/src/types.ts @@ -8,6 +8,7 @@ import { Leg, LegIconComponent, Place, + Stop, TransitOperator } from "@opentripplanner/types"; @@ -84,7 +85,7 @@ export type SetViewedTripFunction = (tripSection: TripSection) => void; export interface TransitLegSubheaderProps { leg: Leg; - onStopClick?: ({ stopId: string }) => void; + onStopClick?: (stop: Stop) => void; } export interface TransitLegSummaryProps { diff --git a/packages/location-field/i18n/fr.yml b/packages/location-field/i18n/fr.yml index 370b72b76..5555a51bb 100644 --- a/packages/location-field/i18n/fr.yml +++ b/packages/location-field/i18n/fr.yml @@ -8,8 +8,8 @@ otpUi: geocoderUnreachable: Impossible d'obtenir des suggestions homeLocation: Domicile howToAccessResults: >- - Utilisez la touche Flèche bas pour parcourir la liste des résultats. Pour sélectioner - un résultat, utilisez la touche Entrée. + Utilisez la touche Flèche bas pour parcourir la liste des résultats. Pour + sélectioner un résultat, utilisez la touche Entrée. myPlaces: Mes lieux nearby: Arrêts à proximité noResults: Aucun résultat diff --git a/packages/location-field/i18n/ko.yml b/packages/location-field/i18n/ko.yml index 060a0e7ec..7fcafad58 100644 --- a/packages/location-field/i18n/ko.yml +++ b/packages/location-field/i18n/ko.yml @@ -1,5 +1,6 @@ otpUi: LocationField: + beginTypingPrompt: 위치 검색 입력 시작 clearLocation: 위치 지우기 currentLocationUnavailable: 현재 위치를 사용할 수 없습니다 fetchingLocation: 위치를 가져오는 중… @@ -23,4 +24,3 @@ otpUi: suggestedLocationsLong: 추천 위치 목록 표시 전환 useCurrentLocation: 현재 위치 사용 workLocation: 직장 - beginTypingPrompt: 위치 검색 입력 시작 diff --git a/packages/location-field/i18n/ru.yml b/packages/location-field/i18n/ru.yml index d6bcdab9e..cb7d7e777 100644 --- a/packages/location-field/i18n/ru.yml +++ b/packages/location-field/i18n/ru.yml @@ -1,28 +1,30 @@ otpUi: LocationField: - myPlaces: Мои места - stops: Остановки beginTypingPrompt: Начните вводить название, чтобы выполнить поиск местоположений - other: Другое - recentlySearched: Недавние поисковые запросы - nearby: Остановки поблизости - homeLocation: Дом - workLocation: Работа - stations: Станции clearLocation: Очистить местоположение - useCurrentLocation: Использовать текущее местоположение - noResults: Нет результатов - stationCount: '{count, plural, =1 {# станция} other {# станции}}' - stopCount: '{count, plural, =1 {# остановка} other {# остановки}}' currentLocationUnavailable: Текущее местоположение недоступно fetchingLocation: Получение местоположения… - parenthesisFormat: '{main} ({detail})' - geocoderUnreachable: Не удалось связаться с геокодером fetchingSuggestions: Получение предложений… - suggestedLocationsLong: Переключить отображение списка предлагаемых мест - resultsFound: '{results} найдено для "{input}".' - otherCount: '{count, plural, =1 {# другой интересный момент} other {# другие интересные - моменты}}' - howToAccessResults: Используйте клавишу со стрелкой вниз для просмотра списка - результатов. Для выбора результата используйте клавишу «Вход». + geocoderUnreachable: Не удалось связаться с геокодером + homeLocation: Дом + howToAccessResults: >- + Используйте клавишу со стрелкой вниз для просмотра списка результатов. Для + выбора результата используйте клавишу «Вход». + myPlaces: Мои места + nearby: Остановки поблизости + noResults: Нет результатов + other: Другое + otherCount: >- + {count, plural, =1 {# другой интересный момент} other {# другие интересные + моменты}} + parenthesisFormat: "{main} ({detail})" + recentlySearched: Недавние поисковые запросы + resultsFound: "{results} найдено для \"{input}\"." + stationCount: "{count, plural, =1 {# станция} other {# станции}}" + stations: Станции + stopCount: "{count, plural, =1 {# остановка} other {# остановки}}" + stops: Остановки suggestedLocations: Рекомендуемые места + suggestedLocationsLong: Переключить отображение списка предлагаемых мест + useCurrentLocation: Использовать текущее местоположение + workLocation: Работа diff --git a/packages/location-field/i18n/tl.yml b/packages/location-field/i18n/tl.yml index b03815de2..e3c4ea35f 100644 --- a/packages/location-field/i18n/tl.yml +++ b/packages/location-field/i18n/tl.yml @@ -1,29 +1,30 @@ otpUi: LocationField: - myPlaces: Aking Mga Lugar - stops: Mga Hintuan beginTypingPrompt: Simulang mag-type para maghanap ng mga lokasyon - other: Iba pa - recentlySearched: Kamakailang Hinanap - nearby: Mga Hintuan sa Malapit - homeLocation: Tirahan - workLocation: Trabaho - stations: Mga Istasyon clearLocation: I-clear ang lokasyon - useCurrentLocation: Gamitin ang Kasalukuyang Lokasyon - noResults: Walang nakitang resulta - stationCount: '{count, plural, =1 {# istasyon} other {# mga istasyon}}' currentLocationUnavailable: Hindi available ang kasalukuyang lokasyon fetchingLocation: Fine-fetch ang lokasyon… - parenthesisFormat: '{main} ({detail})' - geocoderUnreachable: Hind maabot ang geocoder fetchingSuggestions: Kumukuha ng mga mungkahi… - suggestedLocationsLong: I-toggle ang pagpapakita ng listahan ng mga iminumungkahing - lokasyon - resultsFound: '{results} natagpuan para sa "{input}".' - stopCount: '{count, plural, =1 {# hintuan} other {# mga hintuan}}' - otherCount: '{count, plural, =1 {# iba pang punto} other {# iba pang mga punto}} - ng interes' - howToAccessResults: Gamitin ang key na pababang arrow para mag-browse sa listahan - ng mga resulta. Para pumili ng resulta, gamitin ang Enter key. + geocoderUnreachable: Hind maabot ang geocoder + homeLocation: Tirahan + howToAccessResults: >- + Gamitin ang key na pababang arrow para mag-browse sa listahan ng mga + resulta. Para pumili ng resulta, gamitin ang Enter key. + myPlaces: Aking Mga Lugar + nearby: Mga Hintuan sa Malapit + noResults: Walang nakitang resulta + other: Iba pa + otherCount: >- + {count, plural, =1 {# iba pang punto} other {# iba pang mga punto}} ng + interes + parenthesisFormat: "{main} ({detail})" + recentlySearched: Kamakailang Hinanap + resultsFound: "{results} natagpuan para sa \"{input}\"." + stationCount: "{count, plural, =1 {# istasyon} other {# mga istasyon}}" + stations: Mga Istasyon + stopCount: "{count, plural, =1 {# hintuan} other {# mga hintuan}}" + stops: Mga Hintuan suggestedLocations: Mga iminungkahing lokasyon + suggestedLocationsLong: I-toggle ang pagpapakita ng listahan ng mga iminumungkahing lokasyon + useCurrentLocation: Gamitin ang Kasalukuyang Lokasyon + workLocation: Trabaho diff --git a/packages/location-field/i18n/tr.yml b/packages/location-field/i18n/tr.yml index 72a09bed2..d8683fb45 100644 --- a/packages/location-field/i18n/tr.yml +++ b/packages/location-field/i18n/tr.yml @@ -1,27 +1,28 @@ otpUi: LocationField: + beginTypingPrompt: Konumları aramak için yazmaya başlayın + clearLocation: Konumu temizle + currentLocationUnavailable: Geçerli konum mevcut değil + fetchingLocation: Konum getiriliyor… + fetchingSuggestions: Öneriler getiriliyor… + geocoderUnreachable: Öneriler alınamıyor + homeLocation: Ev + howToAccessResults: >- + Sonuçlar listesine göz atmak için aşağı ok tuşunu kullanın. Bir sonucu + seçmek için Enter tuşunu kullanın. myPlaces: Yerlerim - stops: Duraklar + nearby: Yakındaki Duraklar noResults: Sonuç yok - fetchingSuggestions: Öneriler getiriliyor… - suggestedLocationsLong: Önerilen konumların listesini görüntülemeyi açın/kapatın - beginTypingPrompt: Konumları aramak için yazmaya başlayın - stationCount: '{count, plural, =1 {# station} diğer {# stations}}' - resultsFound: '"{input}" için bulunan {results}.' other: Diğer - stopCount: '{count, plural, =1 {# stop} diğer {# stops}}' + otherCount: "{count, plural, =1 {# other point} diğer {# other points}} ilgi" + parenthesisFormat: "{main} ({detail})" recentlySearched: Son Arananlar - otherCount: '{count, plural, =1 {# other point} diğer {# other points}} ilgi' - nearby: Yakındaki Duraklar - homeLocation: Ev - currentLocationUnavailable: Geçerli konum mevcut değil - howToAccessResults: Sonuçlar listesine göz atmak için aşağı ok tuşunu kullanın. - Bir sonucu seçmek için Enter tuşunu kullanın. - suggestedLocations: Önerilen konumlar - workLocation: İş + resultsFound: "\"{input}\" için bulunan {results}." + stationCount: "{count, plural, =1 {# station} diğer {# stations}}" stations: İstasyonlar - fetchingLocation: Konum getiriliyor… - clearLocation: Konumu temizle - parenthesisFormat: '{main} ({detail})' - geocoderUnreachable: Öneriler alınamıyor + stopCount: "{count, plural, =1 {# stop} diğer {# stops}}" + stops: Duraklar + suggestedLocations: Önerilen konumlar + suggestedLocationsLong: Önerilen konumların listesini görüntülemeyi açın/kapatın useCurrentLocation: Mevcut Konumu Kullan + workLocation: İş diff --git a/packages/location-field/i18n/vi.yml b/packages/location-field/i18n/vi.yml index 850a8b80d..6bec7dc93 100644 --- a/packages/location-field/i18n/vi.yml +++ b/packages/location-field/i18n/vi.yml @@ -8,8 +8,8 @@ otpUi: geocoderUnreachable: Không thể nhận đề xuất homeLocation: Nhà howToAccessResults: >- - Sử dụng phím mũi tên xuống duyệt danh sách kết quả. Để chọn một kết quả, hãy - sử dụng phím Enter. + Sử dụng phím mũi tên xuống duyệt danh sách kết quả. Để chọn một kết quả, + hãy sử dụng phím Enter. myPlaces: Những địa điểm của tôi nearby: Điểm dừng liền kề noResults: Không có kết quả diff --git a/packages/location-field/package.json b/packages/location-field/package.json index fa6003c00..48b1442ca 100644 --- a/packages/location-field/package.json +++ b/packages/location-field/package.json @@ -10,8 +10,8 @@ "private": false, "dependencies": { "@conveyal/geocoder-arcgis-geojson": "^0.0.3", - "@opentripplanner/core-utils": "^11.0.2", - "@opentripplanner/geocoder": "^1.4.2", + "@opentripplanner/core-utils": "^11.1.3", + "@opentripplanner/geocoder": "^2.0.0", "@opentripplanner/humanize-distance": "^1.2.0", "@opentripplanner/location-icon": "^1.4.1", "@styled-icons/fa-solid": "^10.34.0", diff --git a/packages/map-popup/i18n/tr.yml b/packages/map-popup/i18n/tr.yml index 5d2d2fdd3..193aa262f 100644 --- a/packages/map-popup/i18n/tr.yml +++ b/packages/map-popup/i18n/tr.yml @@ -1,9 +1,9 @@ otpUi: MapPopup: - availableDocks: 'Mevcut rıhtım: {value}' - floatingBike: 'Serbest gezen bisiklet: {name}' + availableBikes: "Mevcut bisiklet: {value}" + availableDocks: "Mevcut rıhtım: {value}" + floatingBike: "Serbest gezen bisiklet: {name}" + floatingCar: "{company} {name}" + floatingEScooter: "E-skuter: {name}" + stopId: "Durak ID: {stopId}" stopViewer: Durak Gösterici - stopId: 'Durak ID: {stopId}' - floatingCar: '{company} {name}' - availableBikes: 'Mevcut bisiklet: {value}' - floatingEScooter: 'E-skuter: {name}' diff --git a/packages/map-popup/package.json b/packages/map-popup/package.json index 9a79d8a56..a17e20411 100644 --- a/packages/map-popup/package.json +++ b/packages/map-popup/package.json @@ -11,13 +11,13 @@ "license": "MIT", "private": false, "dependencies": { - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/core-utils": "^11.0.2", - "@opentripplanner/from-to-location-picker": "^2.1.8", + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/core-utils": "^11.1.3", + "@opentripplanner/from-to-location-picker": "^2.1.11", "flat": "^5.0.2" }, "devDependencies": { - "@opentripplanner/types": "^6.1.0" + "@opentripplanner/types": "^6.2.1" }, "peerDependencies": { "react": "^16.14.0", diff --git a/packages/map-popup/src/index.tsx b/packages/map-popup/src/index.tsx index f45250240..f14a8cd0d 100644 --- a/packages/map-popup/src/index.tsx +++ b/packages/map-popup/src/index.tsx @@ -3,7 +3,7 @@ import React, { useCallback } from "react"; import { Styled as BaseMapStyled } from "@opentripplanner/base-map"; import FromToLocationPicker from "@opentripplanner/from-to-location-picker"; // eslint-disable-next-line prettier/prettier -import type { Company, ConfiguredCompany, Location, Station, Stop } from "@opentripplanner/types"; +import type { Company, ConfiguredCompany, Location, Station, Stop, StopEventHandler } from "@opentripplanner/types"; import { FormattedMessage, useIntl } from "react-intl"; import { flatten } from "flat"; @@ -19,7 +19,6 @@ import { makeDefaultGetEntityName } from "./util"; // - the yaml loader for jest returns messages with flattened ids. export const defaultMessages: { [key: string]: string } = flatten(defaultEnglishMessages); - const generateLocation = (entity: Entity, name: string) => { // @ts-expect-error some of these values may be null, but that's ok const { lon: entityLon, lat: entityLat, x, y } = entity @@ -61,16 +60,16 @@ const StationHubDetails = ({ station }: { station: Station }) => { const StopDetails = ({ id, setViewedStop }: { id: string, setViewedStop: () => void; }) => { return ( - - - + + + string; setLocation?: ({ location, locationType }: { location: Location, locationType: string }) => void; - setViewedStop?: ({ stopId }: { stopId: string }) => void; + setViewedStop?: StopEventHandler; }; +function entityIsStation(entity: Entity): entity is Station { + return "bikesAvailable" in entity +} + /** * Renders a map popup for a stop, scooter, or shared bike */ @@ -102,9 +105,8 @@ export function MapPopup({ configCompanies, entity, getEntityName, setLocation, const name = getNameFunc(entity, configCompanies); - const bikesAvailablePresent = "bikesAvailable" in entity + const bikesAvailablePresent = entityIsStation(entity) const entityIsStationHub = bikesAvailablePresent && entity?.bikesAvailable !== undefined && !entity?.isFloatingBike; - // @ts-expect-error ts doesn't understand entityIsStop const stopId = !bikesAvailablePresent && entity?.code || entity.id.split(":")[1] || entity.id return ( @@ -114,7 +116,12 @@ export function MapPopup({ configCompanies, entity, getEntityName, setLocation, {entityIsStationHub && } {/* render stop viewer link if available */} - {setViewedStop && !bikesAvailablePresent && setViewedStop({ stopId: entity.id }), [entity.id])} />} + {setViewedStop && !bikesAvailablePresent && ( + setViewedStop(entity), [entity])} + /> + )} {/* The "Set as [from/to]" ButtonGroup */} {setLocation && ( diff --git a/packages/otp2-tile-overlay/package.json b/packages/otp2-tile-overlay/package.json index b4ca7e04a..f4f517f3c 100644 --- a/packages/otp2-tile-overlay/package.json +++ b/packages/otp2-tile-overlay/package.json @@ -16,10 +16,10 @@ "react-map-gl": "^7.0.15" }, "dependencies": { - "@opentripplanner/map-popup": "^2.0.5" + "@opentripplanner/map-popup": "^2.0.7-alpha.1" }, "devDependencies": { - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/types": "^6.1.0" + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/types": "^6.2.1" } } diff --git a/packages/otp2-tile-overlay/src/index.tsx b/packages/otp2-tile-overlay/src/index.tsx index 36b025352..c5a4fc4c3 100644 --- a/packages/otp2-tile-overlay/src/index.tsx +++ b/packages/otp2-tile-overlay/src/index.tsx @@ -2,6 +2,8 @@ import EntityPopup from "@opentripplanner/map-popup" import { ConfiguredCompany, MapLocationActionArg, + Stop, + StopEventHandler, } from "@opentripplanner/types" // eslint-disable-next-line prettier/prettier import type { EventData } from "mapbox-gl" @@ -52,7 +54,7 @@ const OTP2TileLayerWithPopup = ({ * A method fired when the stop viewer is opened in the default popup. If this method is * not passed, the stop viewer link will not be shown. */ - setViewedStop?: ({ stopId }: { stopId: string }) => void + setViewedStop?: StopEventHandler /** * Determines which layer of the OTP2 tile data to display. Also determines icon color. */ @@ -119,10 +121,10 @@ const OTP2TileLayerWithPopup = ({ map?.on("click", id, onMapClick || defaultClickHandler) return () => { - map?.off("mouseenter", id, onLayerEnter); - map?.off("mouseleave", id, onLayerLeave); - map?.off("click", id, onMapClick || defaultClickHandler); - }; + map?.off("mouseenter", id, onLayerEnter); + map?.off("mouseleave", id, onLayerLeave); + map?.off("click", id, onMapClick || defaultClickHandler); + }; }, [id, map]) return ( @@ -144,13 +146,13 @@ const OTP2TileLayerWithPopup = ({ // TODO: only set null if the x is clicked, not a new stop onClose={() => setClickedEntity(null)} > - { setClickedEntity(null); setLocation(location) } : null} - setViewedStop={setViewedStop} - /> - + { setClickedEntity(null); setLocation(location) } : null} + setViewedStop={setViewedStop} + /> + )} @@ -173,7 +175,7 @@ const generateOTP2TileLayers = ( layers: { color?: string; name?: string; network?: string; type: string, initiallyVisible?: boolean }[], endpoint: string, setLocation?: (location: MapLocationActionArg) => void, - setViewedStop?: ({ stopId }: { stopId: string }) => void, + setViewedStop?: (stop: Stop) => void, configCompanies?: ConfiguredCompany[] ): JSX.Element[] => { return [ diff --git a/packages/park-and-ride-overlay/package.json b/packages/park-and-ride-overlay/package.json index 15401fa1d..b14585cd3 100644 --- a/packages/park-and-ride-overlay/package.json +++ b/packages/park-and-ride-overlay/package.json @@ -19,8 +19,8 @@ "url": "https://github.com/opentripplanner/otp-ui/issues" }, "dependencies": { - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/from-to-location-picker": "^2.1.8" + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/from-to-location-picker": "^2.1.11" }, "peerDependencies": { "react": "^16.14.0", diff --git a/packages/printable-itinerary/i18n/ru.yml b/packages/printable-itinerary/i18n/ru.yml index aaa641002..2f67cda2d 100644 --- a/packages/printable-itinerary/i18n/ru.yml +++ b/packages/printable-itinerary/i18n/ru.yml @@ -1,15 +1,19 @@ otpUi: PrintableItinerary: TncLeg: - estimatedWaitTime: 'Предполагаемое время до посадки: {duration}' - estimatedTravelTime: 'Предполагаемое время поездки: {duration} - (без учета дорожного движения)' - header: Воспользуйтесь услугами компании {company}, чтобы добраться - к месту {place} + estimatedTravelTime: >- + Предполагаемое время поездки: {duration} (без учета + дорожного движения) + estimatedWaitTime: "Предполагаемое время до посадки: {duration}" + header: >- + Воспользуйтесь услугами компании {company}, чтобы + добраться к месту {place} TransitLeg: - continuesAs: 'Продолжение: {routeDescription}' - alight: Выходите в месте {place} ({stopId}) в {time, - time, short} - board: Садитесь в транспорт в месте {place} ({stopId}) в {time, + alight: >- + Выходите в месте {place} ({stopId}) в {time, time, short} + board: >- + Садитесь в транспорт в месте {place} ({stopId}) в + {time, time, short} + continuesAs: "Продолжение: {routeDescription}" depart: Отправление с места {place} diff --git a/packages/printable-itinerary/i18n/tl.yml b/packages/printable-itinerary/i18n/tl.yml index a976f51f1..85944b0f5 100644 --- a/packages/printable-itinerary/i18n/tl.yml +++ b/packages/printable-itinerary/i18n/tl.yml @@ -1,14 +1,21 @@ otpUi: PrintableItinerary: TncLeg: - estimatedWaitTime: 'Tinatayang tagal ng paghihintay para sa pag-pick up: {duration}' - estimatedTravelTime: 'Tinatayang tagal ng biyahe: {duration} - (hindi isinasaalang-alang ang trapiko)' - header: Gamitin ang {company} papuntang {place} + estimatedTravelTime: >- + Tinatayang tagal ng biyahe: {duration} (hindi + isinasaalang-alang ang trapiko) + estimatedWaitTime: >- + Tinatayang tagal ng paghihintay para sa pag-pick up: + {duration} + header: >- + Gamitin ang {company} papuntang + {place} TransitLeg: - continuesAs: Magpapatuloy bilang {routeDescription} - alight: Bumaba sa {place} ({stopId}) nang {time, time, + alight: >- + Bumaba sa {place} ({stopId}) nang {time, time, short} - board: Sumakay sa {place} ({stopId}) nang {time, time, + board: >- + Sumakay sa {place} ({stopId}) nang {time, time, short} + continuesAs: Magpapatuloy bilang {routeDescription} depart: Aalis sa {place} diff --git a/packages/printable-itinerary/i18n/tr.yml b/packages/printable-itinerary/i18n/tr.yml index f2ed2cf40..17ba300e2 100644 --- a/packages/printable-itinerary/i18n/tr.yml +++ b/packages/printable-itinerary/i18n/tr.yml @@ -1,8 +1,9 @@ otpUi: PrintableItinerary: TncLeg: - estimatedWaitTime: 'Teslim alma için tahmini bekleme süresi: {duration}' - estimatedTravelTime: 'Tahmini seyahat süresi: {duration} (trafiği - hesaba katmaz)' + estimatedTravelTime: >- + Tahmini seyahat süresi: {duration} (trafiği hesaba + katmaz) + estimatedWaitTime: "Teslim alma için tahmini bekleme süresi: {duration}" TransitLeg: - continuesAs: '{routeDescription} olarak devam et' + continuesAs: "{routeDescription} olarak devam et" diff --git a/packages/printable-itinerary/package.json b/packages/printable-itinerary/package.json index 7f54263cd..8da2cc3d5 100644 --- a/packages/printable-itinerary/package.json +++ b/packages/printable-itinerary/package.json @@ -10,11 +10,11 @@ "license": "MIT", "private": false, "dependencies": { - "@opentripplanner/core-utils": "^11.0.2", - "@opentripplanner/itinerary-body": "^5.0.7" + "@opentripplanner/core-utils": "^11.1.3", + "@opentripplanner/itinerary-body": "^5.1.5" }, "devDependencies": { - "@opentripplanner/icons": "^2.0.5" + "@opentripplanner/icons": "^2.0.7" }, "peerDependencies": { "react": "^16.14.0", diff --git a/packages/route-viewer-overlay/package.json b/packages/route-viewer-overlay/package.json index 67c5d5c15..38b0e34d5 100644 --- a/packages/route-viewer-overlay/package.json +++ b/packages/route-viewer-overlay/package.json @@ -20,12 +20,12 @@ }, "dependencies": { "@mapbox/polyline": "^1.1.0", - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/core-utils": "^11.0.2", + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/core-utils": "^11.1.3", "point-in-polygon": "^1.1.0" }, "devDependencies": { - "@opentripplanner/types": "^6.1.0", + "@opentripplanner/types": "^6.2.1", "point-in-polygon": "^1.1.0" }, "peerDependencies": { diff --git a/packages/stop-viewer-overlay/package.json b/packages/stop-viewer-overlay/package.json index 9e1568913..a0e1d65f2 100644 --- a/packages/stop-viewer-overlay/package.json +++ b/packages/stop-viewer-overlay/package.json @@ -19,11 +19,11 @@ "url": "https://github.com/opentripplanner/otp-ui/issues" }, "dependencies": { - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/core-utils": "^11.0.2" + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/core-utils": "^11.1.3" }, "devDependencies": { - "@opentripplanner/types": "^6.1.0" + "@opentripplanner/types": "^6.2.1" }, "peerDependencies": { "react": "^16.14.0", diff --git a/packages/stops-overlay/package.json b/packages/stops-overlay/package.json index 8721a8beb..d58ad5c18 100644 --- a/packages/stops-overlay/package.json +++ b/packages/stops-overlay/package.json @@ -19,13 +19,13 @@ "url": "https://github.com/opentripplanner/otp-ui/issues" }, "dependencies": { - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/from-to-location-picker": "^2.1.8", - "@opentripplanner/map-popup": "^2.0.5", + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/from-to-location-picker": "^2.1.11", + "@opentripplanner/map-popup": "^2.0.7-alpha.1", "flat": "^5.0.2" }, "devDependencies": { - "@opentripplanner/types": "^6.1.0", + "@opentripplanner/types": "^6.2.1", "styled-icons": "^10.34.0" }, "peerDependencies": { diff --git a/packages/stops-overlay/src/StopsOverlay.story.tsx b/packages/stops-overlay/src/StopsOverlay.story.tsx index 60beada72..c12fc2b61 100644 --- a/packages/stops-overlay/src/StopsOverlay.story.tsx +++ b/packages/stops-overlay/src/StopsOverlay.story.tsx @@ -10,6 +10,7 @@ import StopsOverlay, { StopProps } from "."; const center: [number, number] = [45.523092, -122.671202]; const Example = ({ + highlightedStop = "8338", minZoom = 15, setLocation = action("setLocation"), setViewedStop = action("setViewedStop"), @@ -17,6 +18,8 @@ const Example = ({ }: StopProps & { mapCenter?: [number, number] }) => { return ( void; + setViewedStop?: StopEventHandler; }; /** @@ -51,6 +63,8 @@ const StopsOverlay = (props: Props): JSX.Element => { const { activeStop, color, + highlightedStop, + highlightedStopColor, minZoom, refreshStops, setLocation, @@ -127,12 +141,13 @@ const StopsOverlay = (props: Props): JSX.Element => { type: "Feature", properties: { ...stop, - flex: isGeoJsonFlex(stop?.geometries?.geoJson) + flex: isGeoJsonFlex(stop?.geometries?.geoJson), + highlighted: stop.id === highlightedStop }, geometry: { type: "Point", coordinates: [stop.lon, stop.lat] } })) }), - [stops] + [stops, highlightedStop] ); // Don't render if no map or no stops are defined. @@ -157,6 +172,19 @@ const StopsOverlay = (props: Props): JSX.Element => { }} type="circle" /> + - + {hours, plural, =0 {} other {# 시간 }}{minutes, plural, =0 {{seconds, + plural, =0 {# 분} other {}}} other {# 분}}{seconds, plural, =0 {} other { # + 초}} + routeTitle: "{type} {name}" transitLine: 선 - routeTitle: '{type} {name}' diff --git a/packages/transit-vehicle-overlay/i18n/tr.yml b/packages/transit-vehicle-overlay/i18n/tr.yml index 1306bb306..da38bdf09 100644 --- a/packages/transit-vehicle-overlay/i18n/tr.yml +++ b/packages/transit-vehicle-overlay/i18n/tr.yml @@ -1,8 +1,9 @@ otpUi: TransitVehicleOverlay: - durationWithSeconds: '{hours, plural, =0 {} other {# hr }}{minutes, plural, =0 - {{seconds, plural, =0 {# min} other {}}} other {# min}}{seconds, plural, =0 - {} other { # sec}}' - routeTitle: '{type} {name}' - defaultTooltip: '{route}: {duration} önce' + defaultTooltip: "{route}: {duration} önce" + durationWithSeconds: >- + {hours, plural, =0 {} other {# hr }}{minutes, plural, =0 {{seconds, + plural, =0 {# min} other {}}} other {# min}}{seconds, plural, =0 {} other + { # sec}} + routeTitle: "{type} {name}" transitLine: Hat diff --git a/packages/transit-vehicle-overlay/i18n/zh_Hans.yml b/packages/transit-vehicle-overlay/i18n/zh_Hans.yml index 0f06ac525..7cfaa22fd 100644 --- a/packages/transit-vehicle-overlay/i18n/zh_Hans.yml +++ b/packages/transit-vehicle-overlay/i18n/zh_Hans.yml @@ -1,8 +1,8 @@ otpUi: TransitVehicleOverlay: defaultTooltip: "{route}: {duration}前" - durationWithSeconds: "{hours, plural, =0 {} other {#小时 }}{minutes, plural, =0 - {{seconds, plural, =0 {#分钟} other {}}} other {#分钟}}{seconds, plural, =0 {} other - { #秒}}" + durationWithSeconds: >- + {hours, plural, =0 {} other {#小时 }}{minutes, plural, =0 {{seconds, plural, + =0 {#分钟} other {}}} other {#分钟}}{seconds, plural, =0 {} other { #秒}} routeTitle: "{type} {name}" transitLine: 路线 diff --git a/packages/transit-vehicle-overlay/package.json b/packages/transit-vehicle-overlay/package.json index 9f7beb3ee..3f47b0dfa 100644 --- a/packages/transit-vehicle-overlay/package.json +++ b/packages/transit-vehicle-overlay/package.json @@ -9,13 +9,13 @@ "module": "esm/index.js", "private": false, "dependencies": { - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/core-utils": "^11.0.2", - "@opentripplanner/icons": "^2.0.5", + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/core-utils": "^11.1.3", + "@opentripplanner/icons": "^2.0.7", "flat": "^5.0.2" }, "devDependencies": { - "@opentripplanner/types": "^6.1.0" + "@opentripplanner/types": "^6.2.1" }, "peerDependencies": { "react": "^16.14.0", diff --git a/packages/transitive-overlay/package.json b/packages/transitive-overlay/package.json index 919c5e29a..124e095a9 100644 --- a/packages/transitive-overlay/package.json +++ b/packages/transitive-overlay/package.json @@ -20,9 +20,9 @@ }, "dependencies": { "@mapbox/polyline": "^1.1.1", - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/core-utils": "^11.0.2", - "@opentripplanner/itinerary-body": "^5.0.2", + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/core-utils": "^11.1.3", + "@opentripplanner/itinerary-body": "^5.1.5", "@turf/bbox": "^6.5.0", "@turf/bearing": "^6.5.0", "@turf/destination": "^6.5.0", @@ -32,8 +32,8 @@ "lodash.isequal": "^4.5.0" }, "devDependencies": { - "@opentripplanner/endpoints-overlay": "^2.0.8", - "@opentripplanner/types": "^6.1.0" + "@opentripplanner/endpoints-overlay": "^2.0.11", + "@opentripplanner/types": "^6.2.1" }, "peerDependencies": { "react": "^16.14.0", diff --git a/packages/trip-details/i18n/ko.yml b/packages/trip-details/i18n/ko.yml index f404b9e7b..122d29cdb 100644 --- a/packages/trip-details/i18n/ko.yml +++ b/packages/trip-details/i18n/ko.yml @@ -15,13 +15,14 @@ otpUi: {departureDate, time, short}{departureDate, date, long} 출발 hideDetail: 세부정보 숨기기 + minutesActive: "소요 시간 사용 중: {minutes} 분" showDetail: 세부정보 표시 + timeActiveDescription: > + 이 이동편을 이용하면, 도보로 {walkMinutes} 분 및 자전거로 + {bikeMinutes} 분 소요됩니다. title: 트립 상세정보 tncFare: "{companies} 운임: {minTNCFare} - {maxTNCFare}" transferDiscountExplanation: 환승 할인 {transferAmount} 적용 transitFare: 대중 교통 운임 transitFareEntry: "{name} : {value}" tripIncludesFlex: 이 트립에는 가변 경로가 포함되어 있습니다. {extraMessage} - minutesActive: '소요 시간 사용 중: {minutes} 분' - timeActiveDescription: "이 이동편을 이용하면, 도보로 {walkMinutes} 분 및 자전거로 - {bikeMinutes} 분 소요됩니다.\n" diff --git a/packages/trip-details/i18n/ru.yml b/packages/trip-details/i18n/ru.yml index 4984251cf..9c4bf0df9 100644 --- a/packages/trip-details/i18n/ru.yml +++ b/packages/trip-details/i18n/ru.yml @@ -1,29 +1,33 @@ otpUi: TripDetails: - transitFareEntry: '{name}: {value}' - tncFare: 'Стоимость проезда в компаниях {companies}: {minTNCFare} — {maxTNCFare}' - departure: 'Прибытие: {departureDate, date, long} в {departureDate, - time, short}' FareTable: - senior: Пожилые - youth: Детский + cash: Наличные electronic: Электронный - special: Особые regular: Взрослые - cash: Наличные + senior: Пожилые + special: Особые + youth: Детский + co2: "Выбросы CO₂: {co2}" + co2description: >- + Интенсивность выбросов CO₂ рассчитывается умножением расстояния каждого + этапа поездки на интенсивность выбросов CO₂ для каждого вида транспорта. + Данные об интенсивности выбросов CO₂ для каждого вида транспорта взяты из + этой таблицы. + departure: >- + Прибытие: {departureDate, date, long} в + {departureDate, time, short} + hideDetail: Скрыть детали + minutesActive: >- + Время в активном режиме: {minutes, plural, one {# минуту} other {# + минуты}} + showDetail: Показать детали + timeActiveDescription: > + Проделав этот маршрут, вы потратите {walkMinutes, plural, one {# + минуту} other {# минуты}} на ходьбу и{bikeMinutes, + plural, one {# минуту} other {# минуты}} на езду на велосипеде. title: Подробные сведения о поездке + tncFare: "Стоимость проезда в компаниях {companies}: {minTNCFare}\_— {maxTNCFare}" + transferDiscountExplanation: Применяется скидка на пересадку в размере {transferAmount} transitFare: Стоимость проезда в общественном транспорте - co2description: Интенсивность выбросов CO₂ рассчитывается умножением расстояния - каждого этапа поездки на интенсивность выбросов CO₂ для каждого вида транспорта. - Данные об интенсивности выбросов CO₂ для каждого вида транспорта взяты из этой - таблицы. + transitFareEntry: "{name}: {value}" tripIncludesFlex: Эта поездка включает гибкие маршруты. {extraMessage} - co2: 'Выбросы CO₂: {co2}' - transferDiscountExplanation: Применяется скидка на пересадку в размере {transferAmount} - showDetail: Показать детали - timeActiveDescription: "Проделав этот маршрут, вы потратите {walkMinutes, - plural, one {# минуту} other {# минуты}} на ходьбу и{bikeMinutes, - plural, one {# минуту} other {# минуты}} на езду на велосипеде.\n" - minutesActive: 'Время в активном режиме: {minutes, plural, one {# минуту} - other {# минуты}}' - hideDetail: Скрыть детали diff --git a/packages/trip-details/i18n/tl.yml b/packages/trip-details/i18n/tl.yml index dd98b52e4..455fcb178 100644 --- a/packages/trip-details/i18n/tl.yml +++ b/packages/trip-details/i18n/tl.yml @@ -1,27 +1,31 @@ otpUi: TripDetails: - transitFareEntry: '{name}: {value}' - tncFare: '{companies} Pamasahe: {minTNCFare} - {maxTNCFare}' - departure: Aalis {departureDate, date, long} nang {departureDate, - time, short} FareTable: - senior: Nakatatanda - youth: Kabataan + cash: Cash electronic: Electronic - special: Espesyal regular: Nasa Hustong Gulang - cash: Cash + senior: Nakatatanda + special: Espesyal + youth: Kabataan + co2: "Na-emit na CO₂: {co2}" + co2description: >- + Kinakalkula ang intensity ng CO₂ sa pamamagitan ng pag-multiply sa + distansya ng bawat leg ng biyahe sa intensity ng CO₂ ng bawat mode. Ang + intensity ng CO₂ ng bawat mode ay nagmumula sa spreadsheet na + ito. + departure: >- + Aalis {departureDate, date, long} nang + {departureDate, time, short} + hideDetail: Itago ang mga detalye + minutesActive: "Oras na Ginugol sa pagiging Aktibo: {minutes} minuto" + showDetail: Ipakita ang mga detalye + timeActiveDescription: > + Sa pagbiyahe nang ganitong paraan, gugugol ka ng {walkMinutes} + (na) minuto sa paglalakad at {bikeMinutes} (na) + minuto sa pagbibisikleta. title: Mga Detalye ng Biyahe + tncFare: "{companies} Pamasahe: {minTNCFare} - {maxTNCFare}" + transferDiscountExplanation: Inilapat ang diskwento sa paglipat na {transferAmount} transitFare: Pamasahe sa Pampublikong Transportasyon - co2description: Kinakalkula ang intensity ng CO₂ sa pamamagitan ng pag-multiply - sa distansya ng bawat leg ng biyahe sa intensity ng CO₂ ng bawat mode. Ang intensity - ng CO₂ ng bawat mode ay nagmumula sa spreadsheet na ito. + transitFareEntry: "{name}: {value}" tripIncludesFlex: May mga flexible na ruta ang biyaheng ito. {extraMessage} - co2: 'Na-emit na CO₂: {co2}' - transferDiscountExplanation: Inilapat ang diskwento sa paglipat na {transferAmount} - showDetail: Ipakita ang mga detalye - timeActiveDescription: "Sa pagbiyahe nang ganitong paraan, gugugol ka ng {walkMinutes} - (na) minuto sa paglalakad at {bikeMinutes} (na) minuto - sa pagbibisikleta.\n" - minutesActive: 'Oras na Ginugol sa pagiging Aktibo: {minutes} minuto' - hideDetail: Itago ang mga detalye diff --git a/packages/trip-details/i18n/tr.yml b/packages/trip-details/i18n/tr.yml index 9e65e43a2..23d4996e5 100644 --- a/packages/trip-details/i18n/tr.yml +++ b/packages/trip-details/i18n/tr.yml @@ -1,18 +1,20 @@ otpUi: TripDetails: - departure: Kalkış {departureDate, date, long} {departureDate, - time, short} - showDetail: Detayları göster - co2description: CO2 yoğunluğu, her modun CO2 yoğunluğu ile bir gezinin her bacağının - mesafesini çarparak hesaplanır. Her modun CO2 yoğunluğu bu tablodan - elde edilir. FareTable: - senior: Kıdemli - youth: Gençlik + cash: Nakit electronic: Elektronik - special: Özel regular: Yetişkin - cash: Nakit - co2: 'CO₂ Yayılımı: {co2}' - title: Yolculuk detayları + senior: Kıdemli + special: Özel + youth: Gençlik + co2: "CO₂ Yayılımı: {co2}" + co2description: >- + CO2 yoğunluğu, her modun CO2 yoğunluğu ile bir gezinin her bacağının + mesafesini çarparak hesaplanır. Her modun CO2 yoğunluğu bu + tablodan elde edilir. + departure: >- + Kalkış {departureDate, date, long} + {departureDate, time, short} hideDetail: Detayları gizle + showDetail: Detayları göster + title: Yolculuk detayları diff --git a/packages/trip-details/i18n/vi.yml b/packages/trip-details/i18n/vi.yml index df00420bf..96fff1c9b 100644 --- a/packages/trip-details/i18n/vi.yml +++ b/packages/trip-details/i18n/vi.yml @@ -16,13 +16,15 @@ otpUi: Khởi hành {departureDate, date, long} lúc {departureDate, time, short} hideDetail: Ẩn chi tiết + minutesActive: "Thời gian hoạt động: {minutes} phút" showDetail: Hiển thị chi tiết + timeActiveDescription: > + Nếu thực hiện chuyến đi này, quý vị sẽ dành {walkMinutes} + phút để đi bộ và {bikeMinutes} phút để đi xe + đạp. title: Chi tiết chuyến đi tncFare: "{companies} Giá vé: {minTNCFare} - {maxTNCFare}" transferDiscountExplanation: Giảm giá chuyển khoản {transferAmount} được áp dụng transitFare: Giá vé xe công cộng transitFareEntry: "{name}: {value}" tripIncludesFlex: Chuyến đi này bao gồm các tuyến đường linh hoạt. {extraMessage} - minutesActive: 'Thời gian hoạt động: {minutes} phút' - timeActiveDescription: "Nếu thực hiện chuyến đi này, quý vị sẽ dành {walkMinutes} - phút để đi bộ và {bikeMinutes} phút để đi xe đạp.\n" diff --git a/packages/trip-details/i18n/zh_Hans.yml b/packages/trip-details/i18n/zh_Hans.yml index 1a0f019df..e90006efb 100644 --- a/packages/trip-details/i18n/zh_Hans.yml +++ b/packages/trip-details/i18n/zh_Hans.yml @@ -13,13 +13,14 @@ otpUi: {departureDate, date, long} {departureDate, time, short} 出发 hideDetail: 隐藏细节 + minutesActive: "活动时间: {minutes} 分钟" showDetail: 显示详细资料 + timeActiveDescription: > + 在本次行程中,您将步行 {walkMinutes} 分钟,骑行{bikeMinutes} + 分钟。 title: 行程详情 tncFare: "{companies} 票价: {minTNCFare} - {maxTNCFare}" transferDiscountExplanation: 应用了 {transferAmount} 的转让折扣 transitFare: 公共交通费 transitFareEntry: "{name}: {value}" tripIncludesFlex: 这个行程包括灵活的路线. {extraMessage} - minutesActive: '活动时间: {minutes} 分钟' - timeActiveDescription: "在本次行程中,您将步行 {walkMinutes} 分钟,骑行{bikeMinutes} - 分钟。\n" diff --git a/packages/trip-details/package.json b/packages/trip-details/package.json index 7f35d0db1..c7bae0045 100644 --- a/packages/trip-details/package.json +++ b/packages/trip-details/package.json @@ -11,13 +11,13 @@ "license": "MIT", "private": false, "dependencies": { - "@opentripplanner/core-utils": "^11.0.2", + "@opentripplanner/core-utils": "^11.1.3", "@styled-icons/fa-solid": "^10.34.0", "flat": "^5.0.2", "react-animate-height": "^3.0.4" }, "devDependencies": { - "@opentripplanner/types": "^6.0.0", + "@opentripplanner/types": "^6.2.1", "@types/flat": "^5.0.2" }, "peerDependencies": { diff --git a/packages/trip-form/i18n/ko.yml b/packages/trip-form/i18n/ko.yml index 7c7932b12..0cb099de2 100644 --- a/packages/trip-form/i18n/ko.yml +++ b/packages/trip-form/i18n/ko.yml @@ -25,11 +25,11 @@ otpUi: rail-label: 기차 subway-label: 지하철 tram-label: 시가 전차 + walkReluctance-label: 도보를 피하세요 walkTolerance-label: 걷기 내성 walkTolerance-labelHigh: 더 많이 걷기 walkTolerance-labelLow: 덜 걷기 wheelchair-label: 액세스 가능한 라우팅 - walkReluctance-label: 도보를 피하세요 settingsLabel: "{mode} 설정" SettingsSelectorPanel: bikeOnly: 자전거 전용 diff --git a/packages/trip-form/i18n/ru.yml b/packages/trip-form/i18n/ru.yml index bf41426e6..8267419e0 100644 --- a/packages/trip-form/i18n/ru.yml +++ b/packages/trip-form/i18n/ru.yml @@ -1,64 +1,65 @@ otpUi: - queryParameters: - maxEScooterDistance: Максимальная дальность поездки на электросамокате - wheelchair: Предпочитать маршруты с возможностью передвижения на инвалидной коляске - maxWalkTime: Максимальное время прогулки - optimizeBikeSpeed: Скорость - maxWalkDistance: Максимальная дальность прогулки - watts: Мощность электросамоката - walkSpeed: Скорость ходьбы - watts1500powerfulEscooter: Мощный электросамокат (24 мили в час) - walkReluctanceLow: Больше этапов пешком - maxBikeTime: Максимальное время езды на велосипеде - optimizeBikeFlat: Поездка на велосипеде по ровной местности - watts125kidsHoverboard: Детский ховерборд (6 миль в час) - watts500robustEscooter: Электросамокат среднего уровня (18 миль в час) - optimizeFor: Оптимизировать для - maxBikeDistance: Максимальная дальность езды на велосипеде - optimizeBikeFriendly: Поездка на велосипеде - walkReluctanceHigh: Больше общественного транспорта - walkReluctance: Без этапов прогулки пешком - watts250entryLevelEscooter: Самокат начального уровня (11 миль в час) - speedInMilesPerHour: '{mph} миль/ч' - bikeSpeed: Скорость велосипеда - distanceInMiles: "{miles, number, :: unit/mile unit-width-full-name}\n" DateTimeSelector: - depart: Отправление в arrive: Прибытие к - now: Выйти - dateTimeSelector: Выбор даты/времени date: Дата + dateTimeSelector: Выбор даты/времени + depart: Отправление в + now: Выйти time: Время ModeSelector: + labels: + bicycle: Велосипед + car: Поездка в транспортном средстве + rent: Прокат + transit: Общественный транспорт + walk: Пешком settings: - ferry-label: Паром + bikeTolerance-label: Выносливость для езды на велосипеде + bikeTolerance-labelHigh: Больше на велосипеде + bikeTolerance-labelLow: Меньше на велосипеде bus-label: Автобус - rail-label: Рельсовый транспорт carTolerance-label: Выносливость для езды - walkTolerance-labelHigh: Больше ходьбы пешком + carTolerance-labelHigh: Больше на машине + carTolerance-labelLow: Меньше на машине + ferry-label: Паром + rail-label: Рельсовый транспорт + subway-label: Метро tram-label: Трамвай - bikeTolerance-labelLow: Меньше на велосипеде - bikeTolerance-labelHigh: Больше на велосипеде - bikeTolerance-label: Выносливость для езды на велосипеде walkReluctance-label: Избегать ходьбы пешком - subway-label: Метро - carTolerance-labelHigh: Больше на машине - walkTolerance-labelLow: Меньше ходьбы пешком walkTolerance-label: Выносливость для ходьбы пешком + walkTolerance-labelHigh: Больше ходьбы пешком + walkTolerance-labelLow: Меньше ходьбы пешком wheelchair-label: Доступная маршрутизация - carTolerance-labelLow: Меньше на машине - labels: - bicycle: Велосипед - walk: Пешком - car: Поездка в транспортном средстве - transit: Общественный транспорт - rent: Прокат - settingsLabel: '{mode} настройки' + settingsLabel: "{mode} настройки" SettingsSelectorPanel: - use: Воспользоваться - useCompanies: Воспользоваться услугами компаний bikeOnly: Только велосипед + escooterOnly: Только электросамокат takeTransit: Воспользуйтесь общественным транспортом travelPreferences: Параметры поездок + use: Воспользоваться + useCompanies: Воспользоваться услугами компаний walkOnly: Только пешком - escooterOnly: Только электросамокат + queryParameters: + bikeSpeed: Скорость велосипеда + distanceInMiles: | + {miles, number, :: unit/mile unit-width-full-name} + maxBikeDistance: Максимальная дальность езды на велосипеде + maxBikeTime: Максимальное время езды на велосипеде + maxEScooterDistance: Максимальная дальность поездки на электросамокате + maxWalkDistance: Максимальная дальность прогулки + maxWalkTime: Максимальное время прогулки + optimizeBikeFlat: Поездка на велосипеде по ровной местности + optimizeBikeFriendly: Поездка на велосипеде + optimizeBikeSpeed: Скорость + optimizeFor: Оптимизировать для + speedInMilesPerHour: "{mph} миль/ч" + walkReluctance: Без этапов прогулки пешком + walkReluctanceHigh: Больше общественного транспорта + walkReluctanceLow: Больше этапов пешком + walkSpeed: Скорость ходьбы + watts: Мощность электросамоката + watts125kidsHoverboard: "Детский ховерборд (6\_миль в час)" + watts1500powerfulEscooter: "Мощный электросамокат (24\_мили в час)" + watts250entryLevelEscooter: "Самокат начального уровня (11\_миль в час)" + watts500robustEscooter: "Электросамокат среднего уровня (18\_миль в час)" + wheelchair: Предпочитать маршруты с возможностью передвижения на инвалидной коляске diff --git a/packages/trip-form/i18n/tl.yml b/packages/trip-form/i18n/tl.yml index 3426ece8e..4557e6e3e 100644 --- a/packages/trip-form/i18n/tl.yml +++ b/packages/trip-form/i18n/tl.yml @@ -1,64 +1,65 @@ otpUi: - queryParameters: - maxEScooterDistance: Maximum na Layo ng E-scooter - wheelchair: Mas Gusto ang Mga Ruta Kung Saan Accessible ang Wheelchair - maxWalkTime: Max na Tagal ng Paglalakad - optimizeBikeSpeed: Bilis - maxWalkDistance: Maximum na Paglalakad - watts: Power ng E-scooter - walkSpeed: Bilis ng Paglalakad - watts1500powerfulEscooter: Powerful na E-scooter (24 mph) - walkReluctanceLow: Higit Pang Paglalakad - maxBikeTime: Max na Tagal ng Pagbibisikleta - optimizeBikeFlat: Flat na Biyahe - watts125kidsHoverboard: Pambatang hoverboard (6 mph) - watts500robustEscooter: Robust na E-scooter (18 mph) - optimizeFor: I-optimize para sa - maxBikeDistance: Maximum na Pagbibisikleta - optimizeBikeFriendly: Biyaheng Puwedeng Gumamit ng Bisikleta - walkReluctanceHigh: Higit Pang Pampublikong Transportasyon - walkReluctance: Pag-iwas sa Paglalakad - watts250entryLevelEscooter: Entry-level na scooter (11 mph) - speedInMilesPerHour: '{mph} MPH' - bikeSpeed: Bilis ng Bisikleta - distanceInMiles: "{miles, number, :: unit/mile unit-width-full-name}\n" DateTimeSelector: - depart: Umalis nang arrive: Dumating bago ang - now: Umalis ngayon - dateTimeSelector: Selector ng Petsa/Oras date: Petsa + dateTimeSelector: Selector ng Petsa/Oras + depart: Umalis nang + now: Umalis ngayon time: Oras ModeSelector: + labels: + bicycle: Bisikleta + car: Nagmamaneho + rent: Magrenta + transit: Pampublikong Transportasyon + walk: Naglalakad settings: - ferry-label: Ferry + bikeTolerance-label: Tolerance sa Pagbibisikleta + bikeTolerance-labelHigh: Mas Maraming Pagbibisikleta + bikeTolerance-labelLow: Mas Kaunting Pagbibisikleta bus-label: Bus - rail-label: Tren carTolerance-label: Tolerance ng Pagmamaneho - walkTolerance-labelHigh: Mas Maraming Paglalakad + carTolerance-labelHigh: Mas Maraming Pagmamaneho + carTolerance-labelLow: Mas Kaunting Pagmamaneho + ferry-label: Ferry + rail-label: Tren + subway-label: Subway tram-label: Tram - bikeTolerance-labelLow: Mas Kaunting Pagbibisikleta - bikeTolerance-labelHigh: Mas Maraming Pagbibisikleta - bikeTolerance-label: Tolerance sa Pagbibisikleta walkReluctance-label: Iwasan ang Paglalakad - subway-label: Subway - carTolerance-labelHigh: Mas Maraming Pagmamaneho - walkTolerance-labelLow: Mas Kaunting Paglalakad walkTolerance-label: Tolerance sa Paglalakad + walkTolerance-labelHigh: Mas Maraming Paglalakad + walkTolerance-labelLow: Mas Kaunting Paglalakad wheelchair-label: Accessible na Pagruruta - carTolerance-labelLow: Mas Kaunting Pagmamaneho - labels: - bicycle: Bisikleta - walk: Naglalakad - car: Nagmamaneho - transit: Pampublikong Transportasyon - rent: Magrenta - settingsLabel: '{mode} mga setting' + settingsLabel: "{mode} mga setting" SettingsSelectorPanel: - use: Gamitin - useCompanies: Gumamit ng mga kumpanya bikeOnly: Bisikleta Lang + escooterOnly: E-scooter Lang takeTransit: Gumamit ng Pampublikong Transportasyon travelPreferences: Mga Kagustuhan sa Paglalakbay + use: Gamitin + useCompanies: Gumamit ng mga kumpanya walkOnly: Maglakad Lang - escooterOnly: E-scooter Lang + queryParameters: + bikeSpeed: Bilis ng Bisikleta + distanceInMiles: | + {miles, number, :: unit/mile unit-width-full-name} + maxBikeDistance: Maximum na Pagbibisikleta + maxBikeTime: Max na Tagal ng Pagbibisikleta + maxEScooterDistance: Maximum na Layo ng E-scooter + maxWalkDistance: Maximum na Paglalakad + maxWalkTime: Max na Tagal ng Paglalakad + optimizeBikeFlat: Flat na Biyahe + optimizeBikeFriendly: Biyaheng Puwedeng Gumamit ng Bisikleta + optimizeBikeSpeed: Bilis + optimizeFor: I-optimize para sa + speedInMilesPerHour: "{mph} MPH" + walkReluctance: Pag-iwas sa Paglalakad + walkReluctanceHigh: Higit Pang Pampublikong Transportasyon + walkReluctanceLow: Higit Pang Paglalakad + walkSpeed: Bilis ng Paglalakad + watts: Power ng E-scooter + watts125kidsHoverboard: Pambatang hoverboard (6 mph) + watts1500powerfulEscooter: Powerful na E-scooter (24 mph) + watts250entryLevelEscooter: Entry-level na scooter (11 mph) + watts500robustEscooter: Robust na E-scooter (18 mph) + wheelchair: Mas Gusto ang Mga Ruta Kung Saan Accessible ang Wheelchair diff --git a/packages/trip-form/i18n/tr.yml b/packages/trip-form/i18n/tr.yml index 1ab1da966..04cc78961 100644 --- a/packages/trip-form/i18n/tr.yml +++ b/packages/trip-form/i18n/tr.yml @@ -1,21 +1,21 @@ otpUi: DateTimeSelector: - depart: Kalkış saati - dateTimeSelector: Tarih/Saat Seçici date: Tarih - time: Zaman + dateTimeSelector: Tarih/Saat Seçici + depart: Kalkış saati now: Şimdi Git + time: Zaman ModeSelector: - settings: - ferry-label: Feribot - bus-label: Otobüs - tram-label: Tramvay - subway-label: Metro - rail-label: Tren - bikeTolerance-label: Bisiklet Toleransı labels: bicycle: Bisiklet - walk: Yürüme car: Sürücü rent: Kira transit: Geçiş + walk: Yürüme + settings: + bikeTolerance-label: Bisiklet Toleransı + bus-label: Otobüs + ferry-label: Feribot + rail-label: Tren + subway-label: Metro + tram-label: Tramvay diff --git a/packages/trip-form/i18n/vi.yml b/packages/trip-form/i18n/vi.yml index 9b31710f8..0e978fb5a 100644 --- a/packages/trip-form/i18n/vi.yml +++ b/packages/trip-form/i18n/vi.yml @@ -25,11 +25,11 @@ otpUi: rail-label: Xe lửa subway-label: Metro tram-label: Xe điện + walkReluctance-label: Tránh Đi Bộ walkTolerance-label: Sức chịu đựng đi bộ walkTolerance-labelHigh: Đi bộ nhiều hơn walkTolerance-labelLow: Ít đi bộ wheelchair-label: Định tuyến có thể truy cập - walkReluctance-label: Tránh Đi Bộ settingsLabel: Cài đặt {mode} SettingsSelectorPanel: bikeOnly: Chỉ dành cho xe đạp diff --git a/packages/trip-form/i18n/zh_Hans.yml b/packages/trip-form/i18n/zh_Hans.yml index 49716237c..4174704e7 100644 --- a/packages/trip-form/i18n/zh_Hans.yml +++ b/packages/trip-form/i18n/zh_Hans.yml @@ -25,11 +25,11 @@ otpUi: rail-label: 火车 subway-label: 地铁 tram-label: 电车 + walkReluctance-label: 避免步行 walkTolerance-label: 步行容忍度 walkTolerance-labelHigh: 多走路 walkTolerance-labelLow: 少走路 wheelchair-label: 无障碍路由 - walkReluctance-label: 避免步行 settingsLabel: "{mode} 设置" SettingsSelectorPanel: bikeOnly: 仅限单车 diff --git a/packages/trip-form/package.json b/packages/trip-form/package.json index b40a327b9..5d54265ac 100644 --- a/packages/trip-form/package.json +++ b/packages/trip-form/package.json @@ -10,7 +10,7 @@ "types": "lib/index.d.ts", "private": false, "dependencies": { - "@opentripplanner/core-utils": "^11.0.2", + "@opentripplanner/core-utils": "^11.1.3", "@floating-ui/react": "^0.19.2", "@styled-icons/bootstrap": "^10.34.0", "@styled-icons/boxicons-regular": "^10.38.0", diff --git a/packages/trip-viewer-overlay/package.json b/packages/trip-viewer-overlay/package.json index cd58d495c..2a46266ba 100644 --- a/packages/trip-viewer-overlay/package.json +++ b/packages/trip-viewer-overlay/package.json @@ -20,8 +20,8 @@ }, "dependencies": { "@mapbox/polyline": "^1.1.0", - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/core-utils": "^11.0.2" + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/core-utils": "^11.1.3" }, "peerDependencies": { "react": "^16.14.0", diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 6a8f9918d..915f40ea3 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -489,8 +489,8 @@ export type Stop = { geometries?: { geoJson?: GeoJSON.Polygon }; gtfsId: string; id: string; - lat: number; - lon: number; + lat?: number; + lon?: number; name: string; routes?: Route[]; }; diff --git a/packages/vehicle-rental-overlay/package.json b/packages/vehicle-rental-overlay/package.json index 29d45bc08..92619fcd4 100644 --- a/packages/vehicle-rental-overlay/package.json +++ b/packages/vehicle-rental-overlay/package.json @@ -19,16 +19,16 @@ "url": "git+https://github.com/opentripplanner/otp-ui.git" }, "dependencies": { - "@opentripplanner/base-map": "^3.0.14", - "@opentripplanner/core-utils": "^11.0.2", - "@opentripplanner/from-to-location-picker": "^2.1.8", - "@opentripplanner/map-popup": "^2.0.5", + "@opentripplanner/base-map": "^3.0.15", + "@opentripplanner/core-utils": "^11.1.3", + "@opentripplanner/from-to-location-picker": "^2.1.11", + "@opentripplanner/map-popup": "^2.0.8", "@styled-icons/fa-solid": "^10.34.0", "flat": "^5.0.2", "lodash.memoize": "^4.1.2" }, "devDependencies": { - "@opentripplanner/types": "^6.1.0" + "@opentripplanner/types": "^6.2.1" }, "peerDependencies": { "react": "^16.14.0", diff --git a/packages/zoom-based-markers/package.json b/packages/zoom-based-markers/package.json index a40e2eeb9..67a16fca0 100644 --- a/packages/zoom-based-markers/package.json +++ b/packages/zoom-based-markers/package.json @@ -19,11 +19,11 @@ "url": "https://github.com/opentripplanner/otp-ui/issues" }, "dependencies": { - "@opentripplanner/core-utils": "^11.0.2", - "@opentripplanner/base-map": "^3.0.14" + "@opentripplanner/core-utils": "^11.1.3", + "@opentripplanner/base-map": "^3.0.15" }, "devDependencies": { - "@opentripplanner/types": "^6.1.0" + "@opentripplanner/types": "^6.2.1" }, "peerDependencies": { "react": "^16.14.0", diff --git a/yarn.lock b/yarn.lock index 0bd4801d9..917932aaa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3241,16 +3241,6 @@ resolved "https://registry.yarnpkg.com/@open-draft/until/-/until-1.0.3.tgz#db9cc719191a62e7d9200f6e7bab21c5b848adca" integrity sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q== -"@opentripplanner/geocoder@^1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@opentripplanner/geocoder/-/geocoder-1.4.2.tgz#0f827dffca42c7f7a23063b54990a291dd028b80" - integrity sha512-yzMVrKXEHO6Y50j9kntk1+odvHaqn9K9D4aKJAd+EabhiZckesfScLb0updmWRUloEWjN45nuDSFto8fbU7Uiw== - dependencies: - "@conveyal/geocoder-arcgis-geojson" "^0.0.3" - "@conveyal/lonlat" "^1.4.1" - isomorphic-mapzen-search "^1.6.1" - lodash.memoize "^4.1.2" - "@opentripplanner/types@7.0.0-alpha.2": version "7.0.0-alpha.2" resolved "https://registry.yarnpkg.com/@opentripplanner/types/-/types-7.0.0-alpha.2.tgz#d10c69f99b2da6d1e80ab5989520bde8e558627b"