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"