{co2} de CO₂ en {isMore, select, true {más} other {menos} } que conducir
solo
- timeStartEnd: '{start} – {end}'
+ timeStartEnd: "{start} – {end}"
linkOpensNewWindow: (Abre una nueva ventana)
modes:
bicycle_rent: Compartir bicicleta
@@ -201,14 +197,14 @@ components:
BatchRoutingPanel:
shortTitle: Planificar viaje
BatchSearchScreen:
+ advancedHeader: Ajustes avanzados
header: Planifique su viaje
modeSelectorLabel: Seleccione un modo de desplazamiento
moreOptions: Más opciones
saveAndReturn: Guardar y volver
saved: Guardado
- tripOptions: Opciones de ruta
submodeSelectorLabel: Seleccionar modos y submodos de desplazamiento
- advancedHeader: Ajustes avanzados
+ tripOptions: Opciones de ruta
BatchSettings:
destination: destino
invalidModeSelection: >-
@@ -216,8 +212,7 @@ components:
a incluir el transporte publico en la selección de modos.
origin: origen
planTripTooltip: Planificar viaje
- validationMessage: "Por favor, defina los siguientes campos para planificar un
- viaje: {issues}"
+ validationMessage: "Por favor, defina los siguientes campos para planificar un viaje: {issues}"
BeforeSignInScreen:
mainTitle: Iniciando sesión
message: >
@@ -227,6 +222,20 @@ components:
advancedOptions: Opciones avanzadas
groupSize: "Tamaño del grupo:"
intermediateDestination: Introducir destino intermedio
+ CompanionsPane:
+ addNewCompanion: Añadir un nuevo compañero de viaje
+ companionAlreadyAdded: Ya tienes un compañero con correo electrónico {email}
+ companionExplanation: >
+ Invite a un usuario de G-MAP a ser compañero de viaje introduciendo su
+ correo electrónico. Cuando acepte, su estado cambiará a "verificado", y
+ podréis compartir vuestro estado de viaje y planificar viajes basándoos en
+ el perfil de movilidad del otro.
+ confirmDeleteCompanion: ¿Desea eliminar al compañero {email}?
+ currentCompanionsLabel: "Compañeros de viaje actuales:"
+ deleteCompanion: Borrar {email}
+ noCompanions: No tiene compañeros de viaje.
+ submitNewCompanion: Enviar invitación
+ title: Acompañantes de viaje
DateTimeOptions:
arriveBy: Llegada por
departAt: Salida a las
@@ -287,21 +296,21 @@ components:
park-and-ride: Ubicaciones de Park & Ride
satellite: Satélite
shared-vehicles: Vehículos compartidos
+ stations: Estaciones de transporte
stops: Paradas de tránsito
streets: Calles
- stations: Estaciones de transporte
MapillaryFrame:
title: Imágenes de la calle
MetroUI:
arriveAt: Llegaste
itineraryDescription: "{time} itinerario en {routes}"
+ itinerarySummary: Desde {stopName} | {cost}
leaveAt: Su salida
multipleOptions: Múltiples Opciones
orAlternatives: u otras rutas en la misma dirección
originallyScheduledTime: (originalmente {originalTime})
singleModeItineraryDescription: Viaja {time} {mode}
timeWalking: "{time} caminando"
- itinerarySummary: Desde {stopName} | {cost}
MobileOptions:
header: Configurar las opciones de búsqueda
MobilityProfile:
@@ -377,10 +386,10 @@ components:
distanceAway: "{localizedDistanceString} de distancia"
error: Se ha producido un error al cargar los servicios cercanos.
header: Ver cerca
+ headsign: "{destination}"
nearbyListIntro: Lista de {count} entidades cercanas.
nothingNearby: No ubicaciónes cercanas.
spacesAvailable: "{spacesAvailable} espacios libres disponibles"
- headsign: '{destination}'
NewAccountWizard:
createNewAccount: Crear una nueva cuenta
finish: ¡Configuración de la cuenta completa!
@@ -536,11 +545,11 @@ components:
deleteSavedTrip: Borrar viaje guardado
editSavedTrip: Editar el viaje guardado
saveNewTrip: Guardar un nuevo viaje
+ travelCompanions: Acompañantes de viaje
tripInformation: Información sobre el viaje
tripNotFound: No se encontró el viaje
tripNotFoundDescription: Lo sentimos, no se encontró el viaje solicitado.
tripNotifications: Notificaciones de viaje
- travelCompanions: Acompañantes de viaje
SavedTripList:
alertTag: "{alerta, plural, one {Ver una alerta} other {Ver # alertas}}"
fromTo: De {from} al {to}
@@ -552,6 +561,7 @@ components:
SavedTripScreen:
itineraryLoaded: Itinerario cargado
itineraryLoading: Cargando el itinerario
+ selectAtLeastOneDay: Por favor, seleccione al menos un día para realizar el seguimiento.
tooManyTrips: >
Ya ha alcanzado el máximo de cinco viajes guardados. Por favor, elimine
los viajes no utilizados de sus viajes guardados e inténtelo de nuevo.
@@ -559,7 +569,6 @@ components:
Otro viaje guardado ya utiliza este nombre. Por favor, elija un nombre
diferente.
tripNameRequired: Por favor, introduzca el nombre del viaje.
- selectAtLeastOneDay: Por favor, seleccione al menos un día para realizar el seguimiento.
SequentialPaneDisplay:
stepNumber: Paso {step} de {total}
SessionTimeout:
@@ -569,8 +578,7 @@ components:
header: ¡La sesión está a punto de terminar!
keepSession: Continuar sesión
SimpleRealtimeAnnotation:
- usingRealtimeInfo: Este viaje utiliza información de tráfico y retrasos en tiempo
- real
+ usingRealtimeInfo: Este viaje utiliza información de tráfico y retrasos en tiempo real
StackedPaneDisplay:
savePreferences: Guardar preferencias
StatusBadge:
@@ -636,20 +644,17 @@ components:
travelingAt: Viajando a {milesPerHour}
vehicleName: Vehículo {vehicleNumber}
TripBasicsPane:
- checkingItineraryExistence: Comprobación de la existencia de itinerarios para
- cada día de la semana…
+ checkingItineraryExistence: Comprobación de la existencia de itinerarios para cada día de la semana…
+ onlyOnDate: Solo el {date, date, ::eeeee yyyyMMdd}
+ recurringEachWeek: Algunos días de la semana
tripDaysPrompt: ¿Qué días hace este viaje?
- tripIsAvailableOnDaysIndicated: Su viaje está disponible en los días de la semana
- indicados anteriormente.
+ tripIsAvailableOnDaysIndicated: Su viaje está disponible en los días de la semana indicados anteriormente.
tripNamePrompt: "Por favor, indique un nombre para este viaje:"
tripNotAvailableOnDay: El viaje no está disponible el {repeatedDay}
unsavedChangesExistingTrip: >-
Todavía no ha guardado su viaje. Si abandona la página, los cambios se
perderán.
- unsavedChangesNewTrip: Todavía no ha guardado su nuevo viaje. Si abandona la página,
- se perderá.
- onlyOnDate: Solo el {date, date, ::eeeee yyyyMMdd}
- recurringEachWeek: Algunos días de la semana
+ unsavedChangesNewTrip: Todavía no ha guardado su nuevo viaje. Si abandona la página, se perderá.
TripNotificationsPane:
advancedSettings: Configuración avanzada
altRouteRecommended: Se recomienda una ruta alternativa o un punto de transferencia
@@ -663,6 +668,8 @@ components:
oneHour: 1 hora
realtimeAlertFlagged: Hay una alerta en tiempo real marcada en mi viaje
timeBefore: "{time} antes"
+ TripPreviewLayout:
+ previewTrip: Vista previa del viaje
TripStatus:
alerts: "{alerts, plural, one {# alerta!} other {# alertas!}}"
deleteTrip: Borrar el viaje
@@ -704,6 +711,9 @@ components:
awaiting: Esperando el cálculo…
description: Por favor, espere un poco para calcular el viaje.
heading: Viaje aún no calculado
+ past:
+ description: Un viaje que ocurrió el pasado.
+ heading: Viaje realizado
snoozed:
description: Reactivar la supervisión del viaje para ver el estado actualizado.
heading: El seguimiento del viaje se ha suspendido por hoy
@@ -715,15 +725,11 @@ components:
El viaje debe comenzar a las {tripStart, time, short}. (El seguimiento
en tiempo real comenzará a las {monitoringStart, time, short}.)
tripStartIsDelayed: ¡La hora de inicio del viaje se retrasa {duration}!
- tripStartIsEarly: ¡La hora de inicio del viaje se produce {duration} antes de
- lo previsto!
+ tripStartIsEarly: ¡La hora de inicio del viaje se produce {duration} antes de lo previsto!
tripStartsSoonNoUpdates: >-
El viaje comienza pronto (no hay actualizaciones disponibles en tiempo
real).
tripStartsSoonOnTime: El viaje comienza pronto y es más o menos puntual.
- past:
- heading: Viaje realizado
- description: Un viaje que ocurrió el pasado.
TripSummary:
arriveAt: "Llegue a las "
leaveAt: "Salida a las "
@@ -818,21 +824,6 @@ components:
switcher: Botón de cambio
WelcomeScreen:
prompt: ¿A donde quiere ir?
- TripPreviewLayout:
- previewTrip: Vista previa del viaje
- CompanionsPane:
- companionAlreadyAdded: Ya tienes un compañero con correo electrónico {email}
- addNewCompanion: Añadir un nuevo compañero de viaje
- confirmDeleteCompanion: ¿Desea eliminar al compañero {email}?
- currentCompanionsLabel: 'Compañeros de viaje actuales:'
- title: Acompañantes de viaje
- submitNewCompanion: Enviar invitación
- companionExplanation: "Invite a un usuario de G-MAP a ser compañero de viaje introduciendo
- su correo electrónico. Cuando acepte, su estado cambiará a \"verificado\", y
- podréis compartir vuestro estado de viaje y planificar viajes basándoos en el
- perfil de movilidad del otro.\n"
- deleteCompanion: Borrar {email}
- noCompanions: No tiene compañeros de viaje.
config:
accessModes:
bicycle: Tránsito + Bicicleta Personal
diff --git a/i18n/fr.yml b/i18n/fr.yml
index ebaf3953d..5a9c6f4ab 100644
--- a/i18n/fr.yml
+++ b/i18n/fr.yml
@@ -401,6 +401,7 @@ components:
headsign: "{destination}"
nearbyListIntro: Liste de {count} entités à proximité.
nothingNearby: Aucun lieu à proximité.
+ searchNearby: Search nearby...
spacesAvailable: "{spacesAvailable} emplacements libres disponibles"
NewAccountWizard:
createNewAccount: Créez un nouveau compte
diff --git a/i18n/ko.yml b/i18n/ko.yml
index d3afcb2e2..a9ced86e0 100644
--- a/i18n/ko.yml
+++ b/i18n/ko.yml
@@ -22,8 +22,7 @@ actions:
fetchFieldTripsError: "트립을 가져오는 중에 오류가 발생했습니다: {err}"
fetchTripsForDateError: "필트 트립 날짜에 대한 트립을 가져오는 중에 오류가 발생했습니다: {err}"
incompatibleTripDateError: 계획한 트립 날짜({tripDate})가 요청한 트립 날짜({requestDate})가 아닙니다
- itineraryCapacityError: "플랜을 저장할 수 없습니다: 하나 이상의 차량의 용량이 부족하여 이 플랜을 저장할 수 없습니다.
- 트립을 다시 계획하세요."
+ itineraryCapacityError: "플랜을 저장할 수 없습니다: 하나 이상의 차량의 용량이 부족하여 이 플랜을 저장할 수 없습니다. 트립을 다시 계획하세요."
maxTripRequestsExceeded: 유효한 결과없이 초과된 트립 요청의 개수
saveItinerariesError: "트립을 저장하는 데 실패했습니다: {err}"
setDateError: "날짜를 설정하는 중에 오류가 발생했습니다:"
@@ -104,7 +103,7 @@ common:
noItineraryToDisplay: 표시할 일정이 없습니다.
relativeCo2: |
{co2} CO₂ 를 자동차보다 {isMore, select, true {더} other {덜} } 사용합니다
- timeStartEnd: '{start}~{end}'
+ timeStartEnd: "{start}~{end}"
linkOpensNewWindow: (새 창 열림)
modes:
bicycle_rent: 공유자전거
@@ -182,14 +181,14 @@ components:
BatchRoutingPanel:
shortTitle: 트립 계획
BatchSearchScreen:
+ advancedHeader: 고급 환경 설정
header: 트립 계획
modeSelectorLabel: 이동 수단을 선택합니다
- advancedHeader: 고급 환경 설정
moreOptions: 자세한 옵션
+ saveAndReturn: 저장 및 반송
saved: 저장됨
submodeSelectorLabel: 여행 모드 및 하위 모드 선택
tripOptions: 여행 옵션
- saveAndReturn: 저장 및 반송
BatchSettings:
destination: 목적지
invalidModeSelection: 선택된 수단을 사용해 이동편을 계획할 수 없습니다. 수단 선택에 대중교통을 포함해 보십시오.
@@ -204,6 +203,18 @@ components:
advancedOptions: 고급 옵션
groupSize: "그룹 크기:"
intermediateDestination: 중간 목적지 입력
+ CompanionsPane:
+ addNewCompanion: 새로운 여행 동행 추가
+ companionAlreadyAdded: 이미 {email} 이메일을 사용하는 동행이 있습니다
+ companionExplanation: >
+ 기존 G-MAP 사용자의 이메일 주소를 입력하여 여행 동행으로 초대합니다. 상대방이 수락하면 상태가 "확인됨"으로 변경되고, 서로의
+ 이동성 프로필에 따라 여행 상태를 공유하고 여행을 계획할 수 있습니다.
+ confirmDeleteCompanion: 동행 {email}을 삭제하시겠습니까?
+ currentCompanionsLabel: "현재 여행 동행:"
+ deleteCompanion: "{email} 삭제"
+ noCompanions: 기존 여행 동행이 없습니다.
+ submitNewCompanion: 초대장 보내기
+ title: 여행 동행
DateTimeOptions:
arriveBy: 도착 시간
departAt: 출발 시간
@@ -260,23 +271,53 @@ components:
park-and-ride: 파크 앤 라이드 위치
satellite: 위성
shared-vehicles: 공유 차량
+ stations: 환승역
stops: 대중 교통 정류장
streets: 거리
- stations: 환승역
MapillaryFrame:
title: 거리 보기
MetroUI:
arriveAt: 도착합니다
itineraryDescription: "{routes}을(를) 이용한 {time} 일정"
+ itinerarySummary: "출발: {stopName} | {cost}"
leaveAt: 출발
multipleOptions: 여러 옵션
orAlternatives: 또는 같은 방향의 다른 경로
originallyScheduledTime: (기존 {originalTime})
singleModeItineraryDescription: "{time} {mode} 일정표"
timeWalking: "{time} 걷기"
- itinerarySummary: '출발: {stopName} | {cost}'
MobileOptions:
header: 검색 옵션 설정
+ MobilityProfile:
+ DevicesPane:
+ devices:
+ cane: 지팡이
+ crutches: 목발
+ electric wheelchair: 전동 휠체어
+ manual walker: 수동 보행기
+ manual wheelchair: 수동/전통 휠체어
+ mobility scooter: 기동성 스쿠터
+ none: 보조 장치 없음
+ service animal: 도우미 동물
+ stroller: 유모차
+ wheeled walker: 바퀴가 달린 보행기
+ white cane: 흰색 지팡이
+ prompt: 이동 보조 장치를 정기적으로 사용하십니까? (해당 항목에 모두 표시)
+ LimitationsPane:
+ mobilityPrompt: 다른 사람보다 더 느리게 또는 더 조심스럽게 걷는 원인이 되는 이동성 제한이 있습니까?
+ visionLimitations:
+ legally-blind: 법적 시각 장애
+ low-vision: 시력이 낮음
+ none: 없음
+ visionPrompt: 시력이 제한적입니까?
+ MobilityPane:
+ button: 이동성 프로필을 편집
+ header: 이동성 프로필
+ mobilityDevices: "이동성 장치: "
+ mobilityLimitations: "이동성 제한: "
+ visionLimitations: "시력 제한: "
+ intro: 귀하의 필요 사항과 선호도에 맞게 여행 계획 경험을 맞춤화하기 위해 몇 가지 질문에 답해 주십시오.
+ title: 이동성 프로필 정의하기
NarrativeItinerariesHeader:
changeSortDir: 정렬 방향 변경
howToFindResults: 결과를 보려면, 아래 검색된 일정표 제목을 보십시오.
@@ -304,13 +345,13 @@ components:
bikesAvailable: "{bikesAvailable} 자전거 이용 가능"
companyBicycle: "{company} 자전거"
companyScooter: "{company} 스쿠터"
+ distanceAway: "{localizedDistanceString} 떨어져 있음"
error: 인근 부대시설 로드 중 오류가 발생했습니다.
header: 근처 보기
+ headsign: "{destination}"
nearbyListIntro: 주변 개체 {count}개 목록
nothingNearby: 근처에 장소가 없습니다.
spacesAvailable: "{spacesAvailable} 빈 자리 있음"
- distanceAway: '{localizedDistanceString} 떨어져 있음'
- headsign: '{destination}'
NewAccountWizard:
createNewAccount: 새 계정 생성
finish: 계정 설정을 완료하셨습니다!
@@ -442,30 +483,30 @@ components:
signInText: 로그인하여 트립 저장
signInTooltip: 트립을 저장하려면 로그인하십시오.
SavedTripEditor:
+ deleteSavedTrip: 저장된 여행 삭제
editSavedTrip: 저장된 트립 수정
saveNewTrip: 새 트립 저장
+ travelCompanions: 여행 동행
tripInformation: 트립 정보
tripNotFound: 트립을 찾을 수 없음
tripNotFoundDescription: 죄송합니다. 요청된 트립을 찾을 수 없습니다.
tripNotifications: 트립 알림
- deleteSavedTrip: 저장된 여행 삭제
- travelCompanions: 여행 동행
SavedTripList:
+ alertTag: "{alert, plural, one {알림 한 개 보기} other {알림 #개 보기}}"
fromTo: "{from}에서 {to}까지"
myTrips: 내 트립
noSavedTrips: 저장된 트립이 없음
noSavedTripsInstructions: 지도에서 먼저 트립을 검색하세요.
pause: 일시 정지
resume: 다시 시작
- alertTag: '{alert, plural, one {알림 한 개 보기} other {알림 #개 보기}}'
SavedTripScreen:
itineraryLoaded: 일정표 로드됨
itineraryLoading: 일정표 로드 중
+ selectAtLeastOneDay: 모니터링할 날짜를 하나 이상 선택하십시오.
tooManyTrips: |
저장된 트립의 최대 개수인 5개에 도달했습니다. 저장된 트립에서 사용하지 않는 트립을 제거한 후, 다시 시도하세요.
tripNameAlreadyUsed: 저장된 다른 트립이 이 이름을 사용하고 있습니다. 다른 이름을 선택하세요.
tripNameRequired: 트립의 이름을 입력하세요.
- selectAtLeastOneDay: 모니터링할 날짜를 하나 이상 선택하십시오.
SequentialPaneDisplay:
stepNumber: "{step} / {total}단계"
SessionTimeout:
@@ -535,14 +576,14 @@ components:
vehicleName: 차량 {vehicleNumber}
TripBasicsPane:
checkingItineraryExistence: 각 요일의 트립을 확인 중…
+ onlyOnDate: "{date, date, ::eeeee yyyyMMdd} 한정"
+ recurringEachWeek: 매주 특정 날짜
tripDaysPrompt: 어느 요일에 이 트립을 사용하시나요?
tripIsAvailableOnDaysIndicated: 트립은 위에 표시된 요일에 제공됩니다.
tripNamePrompt: "이 트립의 이름을 입력하세요:"
tripNotAvailableOnDay: "{repeatedDay}에는 트립을 이용할 수 없음"
unsavedChangesExistingTrip: 트립을 아직 저장하지 않았습니다. 나가시면 변경내용이 사라집니다.
unsavedChangesNewTrip: 새 트립을 저장하지 않았습니다. 나가시면 변경내용이 사라집니다.
- recurringEachWeek: 매주 특정 날짜
- onlyOnDate: '{date, date, ::eeeee yyyyMMdd} 한정'
TripNotificationsPane:
advancedSettings: 고급 설정
altRouteRecommended: 대체 경로 또는 환승 지점이 권장됩니다
@@ -555,6 +596,8 @@ components:
oneHour: 1 시간
realtimeAlertFlagged: 내 트립 일정에 실시간 경고가 있습니다
timeBefore: "{time} 전"
+ TripPreviewLayout:
+ previewTrip: 여행 미리 보기
TripStatus:
alerts: "{alerts} 경고!"
deleteTrip: 트립 삭제
@@ -589,6 +632,9 @@ components:
awaiting: 계산을 기다리는 중…
description: 트립이 계산되는 동안 잠시 기다려 주십시오.
heading: 트립이 아직 계산되지 않음
+ past:
+ description: 과거에 있었던 일회성 여행입니다.
+ heading: 과거의 여행
snoozed:
description: 트립 모니터링의 스누즈를 해제하여 상태 업데이트를 확인하세요.
heading: 오늘 트립 모니터링이 일시 중지되었습니다.
@@ -603,17 +649,14 @@ components:
tripStartIsEarly: 트립이 예상보다 {duration} 일찍 시작됩니다!
tripStartsSoonNoUpdates: 트립이 곧 시작됩니다 (실시간 업데이트를 사용할 수 없습니다).
tripStartsSoonOnTime: 트립은 곧 정시에 시작됩니다.
- past:
- description: 과거에 있었던 일회성 여행입니다.
- heading: 과거의 여행
TripSummary:
arriveAt: "도착 "
leaveAt: "출발 "
TripSummaryPane:
happensOnDays: "발생: {days}"
+ monitoredTripDays: 여행을 모니터링한 일수
notifications: 출발 예정 시간 {leadTimeInMinutes} 분 전
notificationsDisabled: "알림: 비활성화됨"
- monitoredTripDays: 여행을 모니터링한 일수
timeAndDuration: 여행 시간 및 기간
TripTools:
copyLink: 링크 복사
@@ -681,49 +724,6 @@ components:
switcher: 변경
WelcomeScreen:
prompt: 어디로 가고 싶으신가요?
- MobilityProfile:
- DevicesPane:
- devices:
- none: 보조 장치 없음
- cane: 지팡이
- crutches: 목발
- electric wheelchair: 전동 휠체어
- service animal: 도우미 동물
- manual walker: 수동 보행기
- manual wheelchair: 수동/전통 휠체어
- mobility scooter: 기동성 스쿠터
- stroller: 유모차
- wheeled walker: 바퀴가 달린 보행기
- white cane: 흰색 지팡이
- prompt: 이동 보조 장치를 정기적으로 사용하십니까? (해당 항목에 모두 표시)
- MobilityPane:
- header: 이동성 프로필
- mobilityDevices: '이동성 장치: '
- visionLimitations: '시력 제한: '
- button: 이동성 프로필을 편집
- mobilityLimitations: '이동성 제한: '
- LimitationsPane:
- visionLimitations:
- none: 없음
- legally-blind: 법적 시각 장애
- low-vision: 시력이 낮음
- visionPrompt: 시력이 제한적입니까?
- mobilityPrompt: 다른 사람보다 더 느리게 또는 더 조심스럽게 걷는 원인이 되는 이동성 제한이 있습니까?
- intro: 귀하의 필요 사항과 선호도에 맞게 여행 계획 경험을 맞춤화하기 위해 몇 가지 질문에 답해 주십시오.
- title: 이동성 프로필 정의하기
- CompanionsPane:
- addNewCompanion: 새로운 여행 동행 추가
- submitNewCompanion: 초대장 보내기
- companionAlreadyAdded: 이미 {email} 이메일을 사용하는 동행이 있습니다
- companionExplanation: "기존 G-MAP 사용자의 이메일 주소를 입력하여 여행 동행으로 초대합니다. 상대방이 수락하면 상태가
- \"확인됨\"으로 변경되고, 서로의 이동성 프로필에 따라 여행 상태를 공유하고 여행을 계획할 수 있습니다.\n"
- confirmDeleteCompanion: 동행 {email}을 삭제하시겠습니까?
- currentCompanionsLabel: '현재 여행 동행:'
- deleteCompanion: '{email} 삭제'
- noCompanions: 기존 여행 동행이 없습니다.
- title: 여행 동행
- TripPreviewLayout:
- previewTrip: 여행 미리 보기
config:
accessModes:
bicycle: 대중교통 + 개인 자전거
@@ -750,6 +750,5 @@ util:
networkUnavailable: 현재 {network} 네트워크를 사용할 수 없습니다.
noTripFound: 트립을 찾을 수 없습니다.
noTripFoundForMode: "{modes}의 트립을 찾을 수 없습니다."
- noTripFoundReason: 지정된 최대 거리 내 또는 지정된 시간에 대중 교통 서비스가 없거나, 출발지 또는 도착지가 안전하게 접근가능하지
- 못할 수 있습니다.
+ noTripFoundReason: 지정된 최대 거리 내 또는 지정된 시간에 대중 교통 서비스가 없거나, 출발지 또는 도착지가 안전하게 접근가능하지 못할 수 있습니다.
noTripFoundWithReason: "{noTripFound} {reason}"
diff --git a/i18n/ru.yml b/i18n/ru.yml
index 3ef58f859..3fbd40b17 100644
--- a/i18n/ru.yml
+++ b/i18n/ru.yml
@@ -9,6 +9,15 @@ actions:
fetchCallsError: "Ошибка получения вызовов: {err}"
queryFetchError: "Ошибка получения запросов: {err}"
fieldTrip:
+ addNoteError: "Ошибка добавления заметки о поездке:"
+ confirmOverwriteItineraries: |
+ This action will overwrite a previously planned {outbound, select,
+ true {outbound}
+ other {inbound}
+ } itinerary for this request. Do you wish to continue?
+ deleteItinerariesError: "Ошибка удаления плана поездки:"
+ deleteNoteError: "Ошибка удаления заметки о поездке:"
+ editSubmitterNotesError: "Ошибка редактирования заметок отправителя:"
fetchFieldTripError: "Ошибка получения поездки: {err}"
fetchFieldTripsError: "Ошибка получения поездок: {err}"
fetchTripsForDateError: "Ошибка получения поездок на дату поездки: {err}"
@@ -18,20 +27,12 @@ actions:
itineraryCapacityError: >-
Невозможно сохранить план. Этот план невозможно сохранить из-за нехватки
мест в одном или нескольких транспортных средствах. Измените план поездки.
- maxTripRequestsExceeded: Превышено количество запросов на поездку без действительных
- результатов
+ maxTripRequestsExceeded: Превышено количество запросов на поездку без действительных результатов
saveItinerariesError: "Не удалось сохранить маршруты: {err}"
setDateError: "Ошибка введения данных:"
- addNoteError: 'Ошибка добавления заметки о поездке:'
- confirmOverwriteItineraries: "This action will overwrite a previously planned
- {outbound, select,\n true {outbound}\n other {inbound}\n } itinerary
- for this request. Do you wish to continue?\n"
- deleteItinerariesError: 'Ошибка удаления плана поездки:'
- deleteNoteError: 'Ошибка удаления заметки о поездке:'
- editSubmitterNotesError: 'Ошибка редактирования заметок отправителя:'
- setGroupSizeError: 'Ошибка указания размера группы:'
- setPaymentError: 'Ошибка указания информации об оплате:'
- setRequestStatusError: 'Ошибка указания состояния запроса:'
+ setGroupSizeError: "Ошибка указания размера группы:"
+ setPaymentError: "Ошибка указания информации об оплате:"
+ setRequestStatusError: "Ошибка указания состояния запроса:"
location:
deniedAccessAlert: >
Доступ к вашему местоположению заблокирован.
@@ -48,11 +49,9 @@ actions:
authTokenError: Ошибка получения токена на авторизацию.
confirmDeleteMonitoredTrip: Удалить эту поездку?
confirmDeletePlace: Удалить это место?
- emailVerificationResent: Сообщение с подтверждением адреса электронной почты отправлено
- повторно.
+ emailVerificationResent: Сообщение с подтверждением адреса электронной почты отправлено повторно.
genericError: "Произошла ошибка: {err}"
- itineraryExistenceCheckFailed: При проверке возможности выбранной поездки произошла
- ошибка.
+ itineraryExistenceCheckFailed: При проверке возможности выбранной поездки произошла ошибка.
mustAcceptTermsToSavePlace: >-
Примите «Условия использования» (в разделе «Моя учетная запись»), чтобы
сохранять местоположения.
@@ -117,7 +116,7 @@ common:
relativeCo2: >
{co2} {isMore, select, true {больше } other {меньше} } CO₂, чем при
вождении в одиночку
- timeStartEnd: '{start} – {end}'
+ timeStartEnd: "{start} – {end}"
linkOpensNewWindow: (Открывает новое окно)
modes:
bicycle_rent: Прокат велосипедов
@@ -199,14 +198,14 @@ components:
BatchRoutingPanel:
shortTitle: Запланировать поездку
BatchSearchScreen:
+ advancedHeader: Дополнительные настройки
header: Запланируйте поездку
modeSelectorLabel: Выбрать способ передвижения
- submodeSelectorLabel: Выбор режимов и подрежимов путешествия
- tripOptions: Варианты поездок
- advancedHeader: Дополнительные настройки
moreOptions: Другие варианты
saveAndReturn: Сохранить и вернуться
saved: Сохранено
+ submodeSelectorLabel: Выбор режимов и подрежимов путешествия
+ tripOptions: Варианты поездок
BatchSettings:
destination: место назначения
invalidModeSelection: >-
@@ -224,6 +223,20 @@ components:
advancedOptions: Расширенные опции
groupSize: "Размер группы:"
intermediateDestination: Введите промежуточное место назначения
+ CompanionsPane:
+ addNewCompanion: Добавить нового попутчика
+ companionAlreadyAdded: У вас уже есть попутчик с адресом электронной почты {email}.
+ companionExplanation: >
+ Invite an exiting G-MAP user to be a travel companion by entering their
+ email. When they accept, their status will change to "verified", and you
+ can share your trip status and plan trips based on one another's mobility
+ profile.
+ confirmDeleteCompanion: Удалить попутчика {email}?
+ currentCompanionsLabel: "Нынешние попутчики:"
+ deleteCompanion: Удалить {email}
+ noCompanions: У вас нет попутчиков.
+ submitNewCompanion: Отправить приглашение
+ title: Попутчики
DateTimeOptions:
arriveBy: Прибытие к
departAt: Отправление в
@@ -282,27 +295,62 @@ components:
park-and-ride: Места парковки
satellite: Спутник
shared-vehicles: Общие транспортные средства
+ stations: Транзитные станции
stops: Остановки общественного транспорта
streets: Улицы
- stations: Транзитные станции
MapillaryFrame:
title: Изображения с улицы
MetroUI:
arriveAt: Вы прибываете
itineraryDescription: "{time}, маршрут с {routes}"
+ itinerarySummary: из {stopName} | {cost}
leaveAt: Отправление
multipleOptions: Несколько вариантов
orAlternatives: или другие маршруты в том же направлении
originallyScheduledTime: (изначально {originalTime})
singleModeItineraryDescription: "{time} {mode} маршрут"
timeWalking: "{time} пешком"
- itinerarySummary: из {stopName} | {cost}
MobileOptions:
header: Задать параметры поиска
+ MobilityProfile:
+ DevicesPane:
+ devices:
+ cane: Трость
+ crutches: Костыли
+ electric wheelchair: Кресло-коляска с электроприводом
+ manual walker: Ручные ходунки
+ manual wheelchair: Кресло-коляска с ручным управлением/обычное кресло-коляска
+ mobility scooter: Электроскутер для маломобильных людей
+ none: Без вспомогательного устройства
+ service animal: Служебное животное
+ stroller: Коляска
+ wheeled walker: Ходунки на колесах
+ white cane: Трость для слепых
+ prompt: >-
+ Вы регулярно пользуетесь вспомогательным устройством для передвижения?
+ (Отметьте все подходящие варианты.)
+ LimitationsPane:
+ mobilityPrompt: >-
+ Есть ли у вас проблемы с передвижением, из-за которых вам приходится
+ ходить медленнее или осторожнее, чем другим людям?
+ visionLimitations:
+ legally-blind: Официально признанный слепым
+ low-vision: Слабовидящий
+ none: Ничего
+ visionPrompt: Есть ли у вас проблемы со зрением?
+ MobilityPane:
+ button: Отредактируйте ваш профиль мобильности
+ header: Профиль мобильности
+ mobilityDevices: "Устройства для передвижения: "
+ mobilityLimitations: "Ограничения подвижности: "
+ visionLimitations: "Проблемы со зрением: "
+ intro: >-
+ Ответьте на несколько вопросов, чтобы спланировать поездку в соответствии
+ с вашими потребностями и предпочтениями.
+ title: Определите ваш профиль мобильности
NarrativeItinerariesHeader:
changeSortDir: Изменить направление сортировки
- howToFindResults: Чтобы просмотреть результаты, см. заголовок «Найденные маршруты»
- ниже.
+ howToFindResults: Чтобы просмотреть результаты, см. заголовок «Найденные маршруты» ниже.
itinerariesFound: |-
{itineraryNum, plural,
one {найден # маршрут}
@@ -338,13 +386,13 @@ components:
несколько велосипедов (#)}}
companyBicycle: "{company} Велосипед"
companyScooter: "{company} Скутер"
+ distanceAway: На расстоянии {localizedDistanceString}
error: Произошла ошибка при загрузке близлежащих объектов.
header: Посмотреть рядом
+ headsign: "{destination}"
nearbyListIntro: Список {count} ближайших объектов.
nothingNearby: Поблизости нет мест.
spacesAvailable: "{spacesAvailable} есть свободные места"
- distanceAway: На расстоянии {localizedDistanceString}
- headsign: '{destination}'
NewAccountWizard:
createNewAccount: Создайте учетную запись
finish: Настройка учетной записи завершена!
@@ -407,7 +455,7 @@ components:
TO: Mесто назначения
PhoneNumberEditor:
changeNumber: Изменить номер
- invalidCode: "Введите проверочный код из 6 цифр."
+ invalidCode: "Введите проверочный код из 6\_цифр."
invalidPhone: Введите действительный номер телефона.
phoneNumberSubmitted: Номер телефона{phoneNumber} был успешно отправлен.
phoneNumberVerified: Номер телефона{phoneNumber} был успешно проверен.
@@ -420,11 +468,10 @@ components:
подтверждением и мониторингом поездки. Вашим оператором мобильной связи
могут взиматься дополнительные пени.
verificationCode: "Код подтверждения:"
- verificationInstructions: "Откройте приложение для обмена SMS на телефоне и найдите
- текстовое сообщение с кодом подтверждения. Затем введите код ниже (срок действия
- кода: 10 минут).\n"
+ verificationInstructions: "Откройте приложение для обмена SMS на телефоне и найдите текстовое сообщение с кодом подтверждения. Затем введите код ниже (срок действия кода: 10\_минут).\n"
verify: Подтвердить
- verifySms: Чтобы настроить отправку уведомлений с помощью SMS-сообщений, пройдите
+ verifySms: >-
+ Чтобы настроить отправку уведомлений с помощью SMS-сообщений, пройдите
процедуру верификации.
Place:
deleteThisPlace: Удалить это место
@@ -500,32 +547,31 @@ components:
signInText: Войдите, чтобы сохранить поездку
signInTooltip: Войдите, чтобы сохранить поездку.
SavedTripEditor:
+ deleteSavedTrip: Удалить сохраненную поездку
editSavedTrip: Редактировать сохраненную поездку
saveNewTrip: Сохранить поездку
+ travelCompanions: Попутчики
tripInformation: Информация о поездке
tripNotFound: Поездка не найдена
tripNotFoundDescription: Не удалось найти требуемую поездку.
tripNotifications: Уведомления о поездке
- deleteSavedTrip: Удалить сохраненную поездку
- travelCompanions: Попутчики
SavedTripList:
+ alertTag: "{alert, plural, one {View one alert} other {View # alerts}}"
fromTo: Из {from} в {to}
myTrips: Мои поездки
noSavedTrips: У вас нет сохраненных поездок
noSavedTripsInstructions: Сперва выполните поиск поездок на карте.
pause: Приостановить
resume: Возобновить
- alertTag: '{alert, plural, one {View one alert} other {View # alerts}}'
SavedTripScreen:
itineraryLoaded: Маршрут загружен
itineraryLoading: Загрузка маршрута
+ selectAtLeastOneDay: Для просмотра выберите хотя бы один день.
tooManyTrips: >
Можно сохранить не более пяти поездок. Удалите неиспользуемые поездки из
раздела сохраненных и попробуйте еще раз.
- tripNameAlreadyUsed: У вас уже сохранена поездка с таким именем. Укажите другое
- имя.
+ tripNameAlreadyUsed: У вас уже сохранена поездка с таким именем. Укажите другое имя.
tripNameRequired: Укажите имя поездки.
- selectAtLeastOneDay: Для просмотра выберите хотя бы один день.
SequentialPaneDisplay:
stepNumber: Шаг {шаг} из {общее кол-во}
SessionTimeout:
@@ -583,13 +629,9 @@ components:
defaultContent: Переключить
switchLocations: Переключить местоположения
TermsOfUsePane:
- confirmDeletionPrompt: "Недавние поисковые запросы и (или) места сохранены. Отключение
- сохранения недавних мест и (или) поисковых запросов приведет к удалению этих
- элементов. Продолжить?\n"
+ confirmDeletionPrompt: "Недавние поисковые запросы и\_(или) места сохранены. Отключение сохранения недавних мест и\_(или) поисковых запросов приведет к удалению этих элементов. Продолжить?\n"
mustAgreeToTerms: Для продолжения примите условия использования.
- termsOfServiceStatement: "Я подтверждаю, что мне исполнилось 18 лет и что я прочитал
- и принимаю Условия использования планировщика
- поездок.\n"
+ termsOfServiceStatement: "Я подтверждаю, что мне исполнилось 18\_лет и что я прочитал и принимаю Условия использования планировщика поездок.\n"
termsOfStorageStatement: >
Необязательно: я даю согласие на то, чтобы планировщик поездок хранил
архивные данные о моих запланированных поездках с целью улучшения услуг
@@ -603,16 +645,14 @@ components:
vehicleName: Транспортное средство {vehicleNumber}
TripBasicsPane:
checkingItineraryExistence: Проверка маршрута на каждый день недели…
+ onlyOnDate: Только {date, date, ::eeeee yyyyMMdd}
+ recurringEachWeek: В определенные дни каждой недели
tripDaysPrompt: В какие дни вы хотите совершать эту поездку?
tripIsAvailableOnDaysIndicated: Поездка доступна для указанных выше дней.
tripNamePrompt: "Укажите имя поездки:"
tripNotAvailableOnDay: "Поездка недоступна для следующих дней: {repeatedDay}"
- unsavedChangesExistingTrip: Вы не сохранили поездку. Если вы выйдете, все изменения
- будут утеряны.
- unsavedChangesNewTrip: Вы не сохранили новую поездку. Если вы выйдете, она будет
- удалена.
- recurringEachWeek: В определенные дни каждой недели
- onlyOnDate: Только {date, date, ::eeeee yyyyMMdd}
+ unsavedChangesExistingTrip: Вы не сохранили поездку. Если вы выйдете, все изменения будут утеряны.
+ unsavedChangesNewTrip: Вы не сохранили новую поездку. Если вы выйдете, она будет удалена.
TripNotificationsPane:
advancedSettings: Расширенные настройки
altRouteRecommended: Рекомендуется использовать пересадку или альтернативный маршрут
@@ -623,9 +663,11 @@ components:
monitorThisTrip: "Мониторинг данной поездки до ее начала:"
notificationsTurnedOff: Уведомления отключены в настройках вашей учетной записи.
notifyViaChannelWhen: "Использовать канал «{channel}» для уведомлений, когда:"
- oneHour: "1 ч"
+ oneHour: "1\_ч"
realtimeAlertFlagged: Для моего пути есть предупреждение в режиме реального времени
timeBefore: "{time} до"
+ TripPreviewLayout:
+ previewTrip: Предварительный просмотр поездки
TripStatus:
alerts: >-
{alerts, plural, one {# предупреждение!} other {несколько предупреждений
@@ -668,6 +710,9 @@ components:
awaiting: Ожидание расчета…
description: Подождите, пока завершится расчет поездки.
heading: Поездка еще не рассчитана.
+ past:
+ description: Это одноразовая поездка, которая состоялась в прошлом.
+ heading: Поездка в прошлом
snoozed:
description: >-
Восстановите отслеживание поездки, чтобы просматривать изменение ее
@@ -682,22 +727,17 @@ components:
реальном времени запустится в {monitoringStart, time, short}.)
tripStartIsDelayed: Начало поездки откладывается на {duration}!
tripStartIsEarly: Начало поездки произойдет на {duration} раньше ожидаемого!
- tripStartsSoonNoUpdates: Поездка скоро начнется (обновления в реальном времени
- недоступны).
+ tripStartsSoonNoUpdates: Поездка скоро начнется (обновления в реальном времени недоступны).
tripStartsSoonOnTime: Поездка скоро начнется. Без задержек.
- past:
- description: Это одноразовая поездка, которая состоялась в прошлом.
- heading: Поездка в прошлом
TripSummary:
arriveAt: "Прибытие в "
leaveAt: "Оставить "
TripSummaryPane:
happensOnDays: "Проходит в такие дни: {days}"
- notifications: за {leadTimeInMinutes} мин до запланированного времени
- отправления
+ monitoredTripDays: Дни наблюдения за поездками
+ notifications: за {leadTimeInMinutes} мин до запланированного времени отправления
notificationsDisabled: "Уведомления: отключены"
timeAndDuration: Время и продолжительность поездки
- monitoredTripDays: Дни наблюдения за поездками
TripTools:
copyLink: Скопировать ссылку
header: Инструменты маршрута
@@ -736,23 +776,17 @@ components:
storeTripHistory: Сохранять историю поездок
updating: Обновляется
UserSettings:
- confirmDeletion: "Недавние поисковые запросы и (или) места сохранены. Отключение
- сохранения недавних мест и (или) поисковых запросов приведет к удалению этих
- элементов. Продолжить?"
+ confirmDeletion: "Недавние поисковые запросы и\_(или) места сохранены. Отключение сохранения недавних мест и\_(или) поисковых запросов приведет к удалению этих элементов. Продолжить?"
favoriteStops: Избранные остановки
myPreferences: Мои параметры
mySavedPlaces: Мои сохраненные места (изменить)
noFavoriteStops: Избранные остановки
recentPlaces: Недавние места
- recentSearchSummary: "Режим «{mode}». {from} — {to}"
+ recentSearchSummary: "Режим «{mode}». {from}\_— {to}"
recentSearches: Недавние поисковые запросы
- rememberSearches: "Сохранить недавние места / поисковые запросы?"
+ rememberSearches: "Сохранить недавние места\_/ поисковые запросы?"
stopId: "Идентификатор остановки: {stopId}"
- storageDisclaimer: "Все сохраненные параметры, места и настройки будут храниться
- в локальном хранилище браузера. TriMet не получит доступ к данным о вашем доме,
- месте работы или другим местоположениям. В любой момент вы можете отключить
- сохранение недавних мест / поисковых запросов и очистить список местоположений
- дома/работы, а также избранных остановок.\n"
+ storageDisclaimer: "Все сохраненные параметры, места и настройки будут храниться в локальном хранилище браузера. TriMet не получит доступ к данным о вашем доме, месте работы или другим местоположениям. В любой момент вы можете отключить сохранение недавних мест\_/ поисковых запросов и очистить список местоположений дома/работы, а также избранных остановок.\n"
UserTripSettings:
forgetOptions: Удалить варианты
rememberOptions: Сохранить варианты поездки
@@ -772,62 +806,14 @@ components:
switcher: Переключатель
WelcomeScreen:
prompt: Куда вы хотите отправиться?
- MobilityProfile:
- DevicesPane:
- prompt: Вы регулярно пользуетесь вспомогательным устройством для передвижения?
- (Отметьте все подходящие варианты.)
- devices:
- electric wheelchair: Кресло-коляска с электроприводом
- stroller: Коляска
- wheeled walker: Ходунки на колесах
- crutches: Костыли
- manual walker: Ручные ходунки
- white cane: Трость для слепых
- cane: Трость
- manual wheelchair: Кресло-коляска с ручным управлением/обычное кресло-коляска
- mobility scooter: Электроскутер для маломобильных людей
- none: Без вспомогательного устройства
- service animal: Служебное животное
- title: Определите ваш профиль мобильности
- LimitationsPane:
- visionLimitations:
- legally-blind: Официально признанный слепым
- low-vision: Слабовидящий
- none: Ничего
- visionPrompt: Есть ли у вас проблемы со зрением?
- mobilityPrompt: Есть ли у вас проблемы с передвижением, из-за которых вам приходится
- ходить медленнее или осторожнее, чем другим людям?
- MobilityPane:
- mobilityLimitations: 'Ограничения подвижности: '
- visionLimitations: 'Проблемы со зрением: '
- header: Профиль мобильности
- mobilityDevices: 'Устройства для передвижения: '
- button: Отредактируйте ваш профиль мобильности
- intro: Ответьте на несколько вопросов, чтобы спланировать поездку в соответствии
- с вашими потребностями и предпочтениями.
- CompanionsPane:
- addNewCompanion: Добавить нового попутчика
- confirmDeleteCompanion: Удалить попутчика {email}?
- deleteCompanion: Удалить {email}
- companionAlreadyAdded: У вас уже есть попутчик с адресом электронной почты {email}.
- companionExplanation: "Invite an exiting G-MAP user to be a travel companion by
- entering their email. When they accept, their status will change to \"verified\"\
- , and you can share your trip status and plan trips based on one another's mobility
- profile.\n"
- currentCompanionsLabel: 'Нынешние попутчики:'
- noCompanions: У вас нет попутчиков.
- submitNewCompanion: Отправить приглашение
- title: Попутчики
- TripPreviewLayout:
- previewTrip: Предварительный просмотр поездки
config:
accessModes:
- bicycle: "Общественный транспорт + личный велосипед"
- bicycle_rent: "Общественный транспорт + прокат велосипеда"
+ bicycle: "Общественный транспорт\_+\_личный велосипед"
+ bicycle_rent: "Общественный транспорт\_+\_прокат велосипеда"
car_hail: Заказная поездка
car_park: Парковочное место
- micromobility: "Общественный транспорт + личный самокат"
- micromobility_rent: "Общественный транспорт + прокат электросамоката"
+ micromobility: "Общественный транспорт\_+\_личный самокат"
+ micromobility_rent: "Общественный транспорт\_+\_прокат электросамоката"
bicycleModes:
bicycle: Личный велосипед
bicycle_rent: Прокат велосипедов
diff --git a/i18n/tl.yml b/i18n/tl.yml
index fc385970e..bd590b321 100644
--- a/i18n/tl.yml
+++ b/i18n/tl.yml
@@ -11,6 +11,15 @@ actions:
fetchCallsError: "Nagka-error sa pag-fetch ng mga tawag: {err}"
queryFetchError: "Nagka-error sa pag-fetch ng mga query: {err}"
fieldTrip:
+ addNoteError: "Error sa pagdaragdag ng tala sa field trip:"
+ confirmOverwriteItineraries: |
+ This action will overwrite a previously planned {outbound, select,
+ true {outbound}
+ other {inbound}
+ } itinerary for this request. Do you wish to continue?
+ deleteItinerariesError: "Error sa pag-delete ng plano sa field trip:"
+ deleteNoteError: "Error sa pag-delete ng tala sa field trip:"
+ editSubmitterNotesError: "Error sa pag-edit ng mga tala ng nagsumite:"
fetchFieldTripError: "Nagka-error sa pag-fetch sa field trip: {err}"
fetchFieldTripsError: "Nagka-error sa pag-fetch sa mga field trip: {err}"
fetchTripsForDateError: >-
@@ -27,16 +36,9 @@ actions:
resulta
saveItinerariesError: "Hindi na-save ang mga itinerary: {err}"
setDateError: "Nagka-error sa pagtatakda ng petsa:"
- addNoteError: 'Error sa pagdaragdag ng tala sa field trip:'
- confirmOverwriteItineraries: "This action will overwrite a previously planned
- {outbound, select,\n true {outbound}\n other {inbound}\n } itinerary
- for this request. Do you wish to continue?\n"
- deleteItinerariesError: 'Error sa pag-delete ng plano sa field trip:'
- deleteNoteError: 'Error sa pag-delete ng tala sa field trip:'
- editSubmitterNotesError: 'Error sa pag-edit ng mga tala ng nagsumite:'
- setGroupSizeError: 'Error sa pag-set up ng laki ng grupo:'
- setPaymentError: 'Error sa pagtatakda ng impormasyon sa pagbabayad:'
- setRequestStatusError: 'Error sa pagtatakda ng status ng kahilingan:'
+ setGroupSizeError: "Error sa pag-set up ng laki ng grupo:"
+ setPaymentError: "Error sa pagtatakda ng impormasyon sa pagbabayad:"
+ setRequestStatusError: "Error sa pagtatakda ng status ng kahilingan:"
location:
deniedAccessAlert: >
Naka-block ang access sa lokasyon mo.
@@ -55,8 +57,7 @@ actions:
confirmDeletePlace: Gusto mo bang alisin ang lugar na ito?
emailVerificationResent: Ipinadala ulit ang mensahe ng pag-verify sa email.
genericError: "Nagka-error: {err}"
- itineraryExistenceCheckFailed: Nagka-error sa pagtingin kung posible ang napili
- mong biyahe.
+ itineraryExistenceCheckFailed: Nagka-error sa pagtingin kung posible ang napili mong biyahe.
mustAcceptTermsToSavePlace: >-
Pakitanggap ang Mga Tuntunin ng Paggamit (sa ilalim ng Aking Account) para
mag-save ng mga lokasyon.
@@ -122,7 +123,7 @@ common:
relativeCo2: >
{co2} {isMore, select, true {mas maraming} other {mas kaunting} } CO₂
kaysa magmaneho nang mag-isa
- timeStartEnd: '{start} – {end}'
+ timeStartEnd: "{start} – {end}"
linkOpensNewWindow: (Magbubukas sa bagong window)
modes:
bicycle_rent: Bikeshare
@@ -204,14 +205,14 @@ components:
BatchRoutingPanel:
shortTitle: Planuhin ang Biyahe
BatchSearchScreen:
+ advancedHeader: Mga Advanced na Kagustuhan
header: Planuhin ang Iyong Biyahe
modeSelectorLabel: Pumili ng paraan ng pagbiyahe
- advancedHeader: Mga Advanced na Kagustuhan
- saved: Na-save na
- tripOptions: Mga Opsyon sa Biyahe
moreOptions: Higit pang opsyon
saveAndReturn: I-save at bumalik
+ saved: Na-save na
submodeSelectorLabel: Piliin ang mga mode at submode ng pagbiyahe
+ tripOptions: Mga Opsyon sa Biyahe
BatchSettings:
destination: patutunguhan
invalidModeSelection: >-
@@ -219,8 +220,7 @@ components:
ang pampublikong transportasyon sa pagpili mo ng mode.
origin: pinagmulan
planTripTooltip: Planuhin ang biyahe
- validationMessage: "Ilarawan ang mga sumusunod na field para makapagplano ng biyahe:
- {issues}"
+ validationMessage: "Ilarawan ang mga sumusunod na field para makapagplano ng biyahe: {issues}"
BeforeSignInScreen:
mainTitle: Sina-sign in ka
message: >
@@ -230,6 +230,21 @@ components:
advancedOptions: Mga advanced na opsyon
groupSize: "Laki ng grupo:"
intermediateDestination: Ilagay ang intermediate na patutunguhan
+ CompanionsPane:
+ addNewCompanion: Magdagdag ng bagong kasama sa pagbiyahe
+ companionAlreadyAdded: Mayroon ka nang kasamang may email na {email}
+ companionExplanation: >
+ Mag-imbita ng aalis na G-MAP user na magiging kasama sa pagbiyahe sa
+ pamamagitan ng paglalagay ng kanyang email. Kapag tinanggap niya ito,
+ magiging "na-verify" ang kanyang status, at magagawa mong ibahagi ang
+ iyong status ng biyahe at magplano ng mga biyahe batay sa mobility profile
+ ng isa't isa.
+ confirmDeleteCompanion: Gusto mo bang i-delete ang kasamang si {email}?
+ currentCompanionsLabel: "Mga kasalukuyang kasama sa pagbiyahe:"
+ deleteCompanion: I-delete si {email}
+ noCompanions: Wala kang sinumang kasama sa pagbiyahe sa kasalukuyan.
+ submitNewCompanion: Magpadala ng imbitasyon
+ title: Mga kasama sa pagbiyahe
DateTimeOptions:
arriveBy: Dumating bago ang
departAt: Umalis nang
@@ -290,23 +305,59 @@ components:
park-and-ride: Mga Lokasyon ng Park & Ride
satellite: Satellite
shared-vehicles: Mga Nakabahaging Sasakyan
+ stations: Mga Istasyon ng Pampublikong Sasakyan
stops: Mga Hintuan ng Pampublikong Transportasyon
streets: Mga Kalye
- stations: Mga Istasyon ng Pampublikong Sasakyan
MapillaryFrame:
title: Larawan ng kalsada
MetroUI:
arriveAt: Dumating ka na
itineraryDescription: "{time} (na) itinerary gamit ang {routes}"
+ itinerarySummary: mula sa {stopName} | {cost}
leaveAt: Aalis ka
multipleOptions: Maraming Opsyon
orAlternatives: o ang iba pang ruta sa parehong direksyon
originallyScheduledTime: (orihinal na {originalTime})
singleModeItineraryDescription: "{time} {mode} itinerary"
timeWalking: "{time} (na) paglalakad"
- itinerarySummary: mula sa {stopName} | {cost}
MobileOptions:
header: Itakda ang Mga Opsyon sa Paghahanap
+ MobilityProfile:
+ DevicesPane:
+ devices:
+ cane: Tungkod
+ crutches: Saklay
+ electric wheelchair: Electric na wheelchair
+ manual walker: Manual na walker
+ manual wheelchair: Manual/tradisyonal na wheelchair
+ mobility scooter: Mobility scooter
+ none: Walang pantulong na device
+ service animal: Panserbisyong hayop
+ stroller: Stroller
+ wheeled walker: Walker na may gulong
+ white cane: Puting tungkod
+ prompt: >-
+ Regular ka bang gumagamit ng device na pantulong sa paggalaw? (Lagyan ng
+ check ang lahat ng naaangkop)
+ LimitationsPane:
+ mobilityPrompt: >-
+ Mayroon ka bang anumang limitasyon sa paggalaw na nagdudulot sa iyong
+ maglakad nang mas mabagal at mas maingat kaysa sa iba pang tao?
+ visionLimitations:
+ legally-blind: Legal na bulag
+ low-vision: Low-vision
+ none: Wala
+ visionPrompt: Mayroon ka bang anumang limitasyon sa paningin?
+ MobilityPane:
+ button: I-edit ang iyong mobility profile
+ header: Mobility Profile
+ mobilityDevices: "Mga device para sa paggalaw: "
+ mobilityLimitations: "Mga limitasyon sa paggalaw: "
+ visionLimitations: "Mga limitasyon sa paningin: "
+ intro: >-
+ Pakisagot ang ilang tanong para i-customize ang karanasan sa pagpaplano ng
+ biyahe ayon sa iyong mga pangangailangan at kagustuhan.
+ title: Tukuyin ang iyong Mobility Pofile
NarrativeItinerariesHeader:
changeSortDir: Baguhin ang pagkakaayos ng direksyon
howToFindResults: >-
@@ -339,13 +390,13 @@ components:
bikesAvailable: "{bikesAvailable, plural, one {# bike} other {# bikes}} available"
companyBicycle: "{company} Bisikleta"
companyScooter: "{company} Scooter"
+ distanceAway: "{localizedDistanceString} ang layo"
error: May naganap na error sa paglo-load ng mga kalapit na amenity.
header: Tingnan ang Malapit
+ headsign: "{destination}"
nearbyListIntro: List of {count} nearby entities.
nothingNearby: There are no places nearby.
spacesAvailable: "{spacesAvailable} mga available na bakanteng espasyo"
- distanceAway: '{localizedDistanceString} ang layo'
- headsign: '{destination}'
NewAccountWizard:
createNewAccount: Gumawa ng bagong account
finish: Tapos nang i-set up ang account!
@@ -415,8 +466,7 @@ components:
invalidCode: Maglagay ng 6 na digit para sa code sa pag-validate.
invalidPhone: Maglagay ng valid na numero ng telepono.
phoneNumberSubmitted: Matagumpay na naisumite ang numero ng teleponong {phoneNumber}.
- phoneNumberVerified: Matagumpay na na-verify ang numero ng teleponong {phoneNumber}
- .
+ phoneNumberVerified: Matagumpay na na-verify ang numero ng teleponong {phoneNumber} .
placeholder: Ilagay ang numero ng iyong telepono
prompt: "Ilagay ang numero ng iyong telepono para sa mga SMS na notification:"
requestNewCode: Humiling ng bagong code
@@ -432,7 +482,9 @@ components:
message na may code sa pag-verify, at ilagay ang code sa ibaba
(mag-e-expire ang code pagkalipas ng 10 minuto).
verify: I-verify
- verifySms: Please complete the verification process in order to set up SMS notifications.
+ verifySms: >-
+ Please complete the verification process in order to set up SMS
+ notifications.
Place:
deleteThisPlace: I-delete ang lugar na ito
enterAlert: >
@@ -504,25 +556,26 @@ components:
signInText: Mag-log in para i-save ang biyahe
signInTooltip: Mag-log in para i-save ang biyahe.
SavedTripEditor:
+ deleteSavedTrip: I-delete ang naka-save na biyahe
editSavedTrip: I-edit ang na-save na biyahe
saveNewTrip: I-save ang bagong biyahe
+ travelCompanions: Mga kasama sa pagbiyahe
tripInformation: Impormasyon ng biyahe
tripNotFound: Hindi nakita ang biyahe
tripNotFoundDescription: Pasensya na, hindi nakita ang hiniling na biyahe.
tripNotifications: Mga notification sa biyahe
- deleteSavedTrip: I-delete ang naka-save na biyahe
- travelCompanions: Mga kasama sa pagbiyahe
SavedTripList:
+ alertTag: "{alert, plural, one {View one alert} other {View # alerts}}"
fromTo: Mula sa {from} papuntang {to}
myTrips: Aking mga biyahe
noSavedTrips: Wala kang naka-save na biyahe
noSavedTripsInstructions: Maghanap muna ng biyahe sa mapa.
pause: I-pause
resume: Ipagpatuloy
- alertTag: '{alert, plural, one {View one alert} other {View # alerts}}'
SavedTripScreen:
itineraryLoaded: Na-load na ang itinerary
itineraryLoading: Nilo-load ang itinerary
+ selectAtLeastOneDay: Pumili ng kahit isang araw lang na susubaybayan.
tooManyTrips: >
Naabot mo na ang maximum na limang naka-save na biyahe. Alisin ang mga
hindi pa nagagamit na biyahe sa iyong mga naka-save na biyahe, at subukan
@@ -531,7 +584,6 @@ components:
May gumagamit nang naka-save na biyahe sa pangalang ito. Gumamit ng ibang
pangalan.
tripNameRequired: Maglagay ng pangalan ng biyahe.
- selectAtLeastOneDay: Pumili ng kahit isang araw lang na susubaybayan.
SequentialPaneDisplay:
stepNumber: Hakbang {hakbang} ng {kabuuan}
SessionTimeout:
@@ -610,11 +662,11 @@ components:
travelingAt: Bumibiyahe nang {milesPerHour}
vehicleName: Sasakyan {vehicleNumber}
TripBasicsPane:
- checkingItineraryExistence: Tinitingnan kung may itinerary para sa bawat araw
- ng linggo...
+ checkingItineraryExistence: Tinitingnan kung may itinerary para sa bawat araw ng linggo...
+ onlyOnDate: Sa {date, date, ::eeeee yyyyMMdd} lang
+ recurringEachWeek: Sa ilang partikular na araw sa bawat linggo
tripDaysPrompt: Anong mga araw mo ginagawa ang biyaheng ito?
- tripIsAvailableOnDaysIndicated: Available ang iyong biyahe sa mga araw ng linggo
- na nakasaad sa itaas.
+ tripIsAvailableOnDaysIndicated: Available ang iyong biyahe sa mga araw ng linggo na nakasaad sa itaas.
tripNamePrompt: "Pangalanan ang biyaheng ito:"
tripNotAvailableOnDay: Hindi available ang biyahe sa {repeatedDay}
unsavedChangesExistingTrip: >-
@@ -623,8 +675,6 @@ components:
unsavedChangesNewTrip: >-
Hindi mo pa nase-save ang iyong bagong biyahe. Kung aalis ka, mawawala
ito.
- onlyOnDate: Sa {date, date, ::eeeee yyyyMMdd} lang
- recurringEachWeek: Sa ilang partikular na araw sa bawat linggo
TripNotificationsPane:
advancedSettings: Mga advanced na setting
altRouteRecommended: Inirerekomenda ang isang alternatibong ruta o transfer point
@@ -639,6 +689,8 @@ components:
oneHour: 1 oras
realtimeAlertFlagged: May realtime na alertong na-flag sa aking paglalakbay
timeBefore: "{time} dati"
+ TripPreviewLayout:
+ previewTrip: I-preview ang Biyahe
TripStatus:
alerts: "{alerts, plural, one {# alert!} other {# alerts!}}"
deleteTrip: I-delete ang Biyahe
@@ -661,8 +713,7 @@ components:
unknownState: Hindi Alam ang Status ng Biyahe
untogglePause: Ipagpatuloy
inactive:
- description: Ipagpatuloy ang pagsubaybay sa biyahe para makita ang updated na
- status
+ description: Ipagpatuloy ang pagsubaybay sa biyahe para makita ang updated na status
heading: Naka-pause ang pagsubaybay sa biyahe
nextTripNotPossible:
description: >
@@ -680,9 +731,11 @@ components:
awaiting: Hinihintay na makalkula...
description: Hinihintay na makalkula ang biyahe.
heading: Hindi pa nakakalkula ang biyahe
+ past:
+ description: Isa itong pang-isang beses na biyaheng nangyari dati.
+ heading: Dati na ang biyahe
snoozed:
- description: I-unsnooze ang pagsubaybay sa biyahe para makita ang updated na
- status.
+ description: I-unsnooze ang pagsubaybay sa biyahe para makita ang updated na status.
heading: Naka-snooze ang pagsubaybay sa biyahe ngayong araw
upcoming:
nextTripBegins: >-
@@ -692,23 +745,19 @@ components:
Magsisimula ang biyahe nang {tripStart, time, short}. (Magsisimula ang
realtime na pagsubaybay nang {monitoringStart, time, short}.)
tripStartIsDelayed: Naantala ang oras ng pagsisimula ng biyahe nang {duration}!
- tripStartIsEarly: Nagsisimula na ang biyahe {duration} na mas maaga kaysa sa
- inaasahan!
+ tripStartIsEarly: Nagsisimula na ang biyahe {duration} na mas maaga kaysa sa inaasahan!
tripStartsSoonNoUpdates: >-
Malapit nang magsimula ang biyahe (walang realtime na update na
available).
tripStartsSoonOnTime: Malapit nang magsimula at nasa oras ang biyahe.
- past:
- heading: Dati na ang biyahe
- description: Isa itong pang-isang beses na biyaheng nangyari dati.
TripSummary:
arriveAt: "Darating nang "
leaveAt: "Umalis sa "
TripSummaryPane:
happensOnDays: "Mangyayari sa: {days}"
+ monitoredTripDays: Mga sinusubaybayang araw ng biyahe
notifications: "{leadTimeInMinutes} (na) minuto bago ang nakaiskedyul na pag-alis"
notificationsDisabled: "Mga Notification: Naka-disable"
- monitoredTripDays: Mga sinusubaybayang araw ng biyahe
timeAndDuration: Oras at tagal ng biyahe
TripTools:
copyLink: Kopyahin ang Link
@@ -785,55 +834,6 @@ components:
switcher: Switcher
WelcomeScreen:
prompt: Saan mo gustong pumunta?
- MobilityProfile:
- DevicesPane:
- devices:
- crutches: Saklay
- electric wheelchair: Electric na wheelchair
- mobility scooter: Mobility scooter
- none: Walang pantulong na device
- cane: Tungkod
- manual wheelchair: Manual/tradisyonal na wheelchair
- white cane: Puting tungkod
- manual walker: Manual na walker
- service animal: Panserbisyong hayop
- stroller: Stroller
- wheeled walker: Walker na may gulong
- prompt: Regular ka bang gumagamit ng device na pantulong sa paggalaw? (Lagyan
- ng check ang lahat ng naaangkop)
- LimitationsPane:
- visionLimitations:
- none: Wala
- legally-blind: Legal na bulag
- low-vision: Low-vision
- visionPrompt: Mayroon ka bang anumang limitasyon sa paningin?
- mobilityPrompt: Mayroon ka bang anumang limitasyon sa paggalaw na nagdudulot
- sa iyong maglakad nang mas mabagal at mas maingat kaysa sa iba pang tao?
- MobilityPane:
- button: I-edit ang iyong mobility profile
- header: Mobility Profile
- mobilityDevices: 'Mga device para sa paggalaw: '
- visionLimitations: 'Mga limitasyon sa paningin: '
- mobilityLimitations: 'Mga limitasyon sa paggalaw: '
- intro: Pakisagot ang ilang tanong para i-customize ang karanasan sa pagpaplano
- ng biyahe ayon sa iyong mga pangangailangan at kagustuhan.
- title: Tukuyin ang iyong Mobility Pofile
- CompanionsPane:
- companionExplanation: "Mag-imbita ng aalis na G-MAP user na magiging kasama sa
- pagbiyahe sa pamamagitan ng paglalagay ng kanyang email. Kapag tinanggap niya
- ito, magiging \"na-verify\" ang kanyang status, at magagawa mong ibahagi ang
- iyong status ng biyahe at magplano ng mga biyahe batay sa mobility profile ng
- isa't isa.\n"
- companionAlreadyAdded: Mayroon ka nang kasamang may email na {email}
- deleteCompanion: I-delete si {email}
- addNewCompanion: Magdagdag ng bagong kasama sa pagbiyahe
- confirmDeleteCompanion: Gusto mo bang i-delete ang kasamang si {email}?
- currentCompanionsLabel: 'Mga kasalukuyang kasama sa pagbiyahe:'
- noCompanions: Wala kang sinumang kasama sa pagbiyahe sa kasalukuyan.
- submitNewCompanion: Magpadala ng imbitasyon
- title: Mga kasama sa pagbiyahe
- TripPreviewLayout:
- previewTrip: I-preview ang Biyahe
config:
accessModes:
bicycle: Pampublikong transportasyon + personal na bisikleta
diff --git a/i18n/vi.yml b/i18n/vi.yml
index 1fa2459b1..387774d3c 100644
--- a/i18n/vi.yml
+++ b/i18n/vi.yml
@@ -5,8 +5,7 @@ actions:
callQuerySaveError: "Lỗi khi lưu trữ các truy vấn cuộc gọi: {err}"
callSaveError: "Không thể lưu cuộc gọi: {err}"
checkSessionError: "Lỗi khi thiết lập phiên ủy quyền: {err}"
- couldNotFindCallError: Không thể tìm thấy cuộc gọi. Đang hủy yêu cầu lưu truy
- vấn.
+ couldNotFindCallError: Không thể tìm thấy cuộc gọi. Đang hủy yêu cầu lưu truy vấn.
fetchCallsError: "Lỗi khi tìm nạp cuộc gọi: {err}"
queryFetchError: "Lỗi khi tìm nạp các truy vấn: {err}"
fieldTrip:
@@ -29,8 +28,7 @@ actions:
Không thể lưu kế hoạch chuyến đi: Không thể lưu kế hoạch chuyến đi này do
thiếu sức chứa trên một hoặc nhiều xe. Vui lòng lên kế hoạch lại chuyến đi
của bạn.
- maxTripRequestsExceeded: Đã vượt quá số lượng yêu cầu chuyến đi mà không có kết
- quả hợp lệ
+ maxTripRequestsExceeded: Đã vượt quá số lượng yêu cầu chuyến đi mà không có kết quả hợp lệ
saveItinerariesError: "Không lưu được hành trình: {err}"
setDateError: "Lỗi khi cài đặt ngày:"
setGroupSizeError: "Lỗi khi cài đặt kích thước nhóm:"
@@ -42,8 +40,7 @@ actions:
Để sử dụng địa điểm hiện tại của mình, quý vị hãy cho phép sử dụng vị trí
trong trình duyệt và tải lại trang này.
- geolocationNotSupportedError: Định vị địa lý không được hỗ trợ bởi trình duyệt
- của bạn
+ geolocationNotSupportedError: Định vị địa lý không được hỗ trợ bởi trình duyệt của bạn
unknownPositionError: Lỗi không xác định khi tìm vị trí
userDeniedPermission: Người dùng từ chối cấp quyền
map:
@@ -55,8 +52,7 @@ actions:
confirmDeletePlace: Bạn có muốn loại bỏ nơi này không?
emailVerificationResent: Thông báo xác minh email đã được gửi lại.
genericError: "Phát sinh lỗi: {err}"
- itineraryExistenceCheckFailed: Lỗi kiểm tra xem chuyến đi được chọn của bạn là
- có thể.
+ itineraryExistenceCheckFailed: Lỗi kiểm tra xem chuyến đi được chọn của bạn là có thể.
mustAcceptTermsToSavePlace: >-
Vui lòng chấp nhận Điều Khoản Sử Dụng (trong phần Tài Khoản Của Tôi) để
lưu lại địa điểm.
@@ -120,7 +116,7 @@ common:
noItineraryToDisplay: Không có hành trình để hiển thị.
relativeCo2: |
{co2} CO₂ {isMore, select, true {nhiều} other {ít} } hơn so với xe hơi
- timeStartEnd: '{start} – {end}'
+ timeStartEnd: "{start} – {end}"
linkOpensNewWindow: (Mở khoảng thời gian mới)
modes:
bicycle_rent: Chia sẻ xe đạp
@@ -170,14 +166,12 @@ common:
{} other {# giây}}
components:
A11yPrefs:
- accessibilityRoutingByDefault: Thích những chuyến đi có thể truy cập theo mặc
- định
+ accessibilityRoutingByDefault: Thích những chuyến đi có thể truy cập theo mặc định
AccountSetupFinishPane:
message: Bạn đã sẵn sàng để bắt đầu lên kế hoạch cho các chuyến đi của bạn.
AddPlaceButton:
addPlace: Thêm địa điểm
- needOriginDestination: Xác định nguồn gốc hoặc đích đến để thêm các địa điểm trung
- gian
+ needOriginDestination: Xác định nguồn gốc hoặc đích đến để thêm các địa điểm trung gian
tooManyPlaces: Địa điểm trung gian tối đa đạt được
AdvancedOptions:
bannedRoutes: Chọn các tuyến đường bị cấm…
@@ -202,9 +196,9 @@ components:
BatchRoutingPanel:
shortTitle: Lên kế hoạch cho chuyến đi
BatchSearchScreen:
+ advancedHeader: Tùy Chọn Nâng Cao
header: Kế hoạch chuyến đi
modeSelectorLabel: Chọn phương thức di chuyển
- advancedHeader: Tùy Chọn Nâng Cao
moreOptions: Tùy chọn khác
saveAndReturn: Lưu và quay lại
saved: Đã lưu
@@ -229,6 +223,15 @@ components:
advancedOptions: Tùy chọn nâng cao
groupSize: "Quy mô nhóm:"
intermediateDestination: Nhập điểm đến trung gian
+ CompanionsPane:
+ addNewCompanion: Thêm người đồng hành đi lại mới
+ companionAlreadyAdded: Quý vị đã có bạn đồng hành có email {email}
+ confirmDeleteCompanion: Quý vị có muốn xóa người đồng hành {email} không?
+ currentCompanionsLabel: "Người đồng hành đi lại hiện tại:"
+ deleteCompanion: Xóa {email}
+ noCompanions: Quý vị hiện không có người đồng hành đi lại nào.
+ submitNewCompanion: Gửi lời mời
+ title: Người đồng hành đi lại
DateTimeOptions:
arriveBy: Đến nơi trước
departAt: Khởi hành lúc
@@ -269,8 +272,7 @@ components:
editPlaceGeneric: Chỉnh sửa vị trí
invalidAddress: Vui lòng cài đặt một vị trí cho nơi này.
invalidName: Vui lòng nhập tên cho nơi này.
- nameAlreadyUsed: Bạn đã sử dụng tên này cho một nơi khác. Vui lòng nhập một tên
- khác.
+ nameAlreadyUsed: Bạn đã sử dụng tên này cho một nơi khác. Vui lòng nhập một tên khác.
placeNotFound: Không tìm thấy địa điểm
placeNotFoundDescription: Xin lỗi, địa điểm được yêu cầu không được tìm thấy.
FormNavigationButtons:
@@ -288,23 +290,59 @@ components:
park-and-ride: Địa điểm đậu xe và đi xe công cộng
satellite: Vệ tinh
shared-vehicles: Phương Tiện Đi Chung
+ stations: Trạm Trung Chuyển
stops: Điểm dừng của phương tiện công cộng
streets: Đường phố
- stations: Trạm Trung Chuyển
MapillaryFrame:
title: Hình ảnh đường phố
MetroUI:
arriveAt: Đến nơi
itineraryDescription: "{time} hành trình sử dụng {routes}"
+ itinerarySummary: từ {stopName} | {cost}
leaveAt: Bạn rời khỏi
multipleOptions: Nhiều lựa chọn
orAlternatives: hoặc các tuyến đường khác cùng hướng
originallyScheduledTime: (ban đầu là {originalTime})
singleModeItineraryDescription: Hành trình {mode} kéo dài {time}
timeWalking: "{time} đi bộ"
- itinerarySummary: từ {stopName} | {cost}
MobileOptions:
header: Cài đặt tùy chọn tìm kiếm
+ MobilityProfile:
+ DevicesPane:
+ devices:
+ cane: Gậy chống
+ crutches: Nạng
+ electric wheelchair: Xe lăn điện
+ manual walker: Khung tập đi
+ manual wheelchair: Xe lăn thủ công/truyền thống
+ mobility scooter: Xe điện ba/bốn bánh
+ none: Không có thiết bị hỗ trợ
+ service animal: Động vật hỗ trợ
+ stroller: Xe đẩy trẻ em
+ wheeled walker: Khung tập đi có bánh xe
+ white cane: Gậy cho người khiếm thị
+ prompt: >-
+ Quý vị có thường xuyên sử dụng thiết bị hỗ trợ di chuyển không? (Chọn
+ tất cả câu trả lời phù hợp)
+ LimitationsPane:
+ mobilityPrompt: >-
+ Quý vị có gặp phải hạn chế nào về khả năng vận động khiến quý vị đi chậm
+ hơn hoặc cẩn thận hơn những người khác không?
+ visionLimitations:
+ legally-blind: Mù theo quy định pháp luật
+ low-vision: Thị lực kém
+ none: Không có
+ visionPrompt: Quý vị có gặp phải hạn chế nào về thị lực không?
+ MobilityPane:
+ button: Chỉnh sửa hồ sơ vận động của quý vị
+ header: Hồ Sơ Vận Động
+ mobilityDevices: "Thiết bị di chuyển: "
+ mobilityLimitations: "Hạn chế về khả năng vận động: "
+ visionLimitations: "Hạn chế về thị lực: "
+ intro: >-
+ Vui lòng trả lời một số câu hỏi để tùy chỉnh trải nghiệm lập kế hoạch
+ chuyến đi theo nhu cầu và tùy chọn của quý vị.
+ title: Xác Định Hồ Sơ Vận Động của Quý Vị
NarrativeItinerariesHeader:
changeSortDir: Thay đổi hướng sắp xếp
howToFindResults: Để xem kết quả, xem phần các hành trình đã tìm thấy ở phía dưới.
@@ -332,13 +370,13 @@ components:
bikesAvailable: "{bikesAvailable} xe đạp có sẵn"
companyBicycle: Xe đạp {company}
companyScooter: Xe tay ga điện {company}
+ distanceAway: cách {localizedDistanceString}
error: Đã xảy ra lỗi trong khi tải các tiện ích lân cận.
header: Xem Gần Đây
+ headsign: "{destination}"
nearbyListIntro: Danh sách {count} thực thể lân cận.
nothingNearby: Không có nơi nào gần đây.
spacesAvailable: "{spacesAvailable} chỗ trống có sẵn"
- distanceAway: cách {localizedDistanceString}
- headsign: '{destination}'
NewAccountWizard:
createNewAccount: Tạo tài khoản mới
finish: Hoàn tất việc thiết lập tài khoản!
@@ -349,10 +387,8 @@ components:
description: Nội dung bạn yêu cầu không có sẵn.
header: Không tìm thấy nội dung
NotificationPrefsPane:
- devicesRegistered: "{count, plural, one {# device} other {# devices}} đã đăng
- ký"
- noDeviceForPush: Đăng ký thiết bị của quý vị bằng ứng dụng di động để nhận thông
- báo đẩy.
+ devicesRegistered: "{count, plural, one {# device} other {# devices}} đã đăng ký"
+ noDeviceForPush: Đăng ký thiết bị của quý vị bằng ứng dụng di động để nhận thông báo đẩy.
notificationChannelPrompt: "Nhận thông báo về các chuyến đi đã lưu bằng:"
OTP2ErrorRenderer:
LOCATION_NOT_FOUND:
@@ -495,25 +531,26 @@ components:
signInText: Đăng nhập để lưu chuyến đi
signInTooltip: Vui lòng đăng nhập để lưu chuyến đi.
SavedTripEditor:
+ deleteSavedTrip: Xóa chuyến đi đã lưu
editSavedTrip: Chỉnh sửa chuyến đi được lưu
saveNewTrip: Lưu chuyến đi mới
+ travelCompanions: Người đồng hành đi lại
tripInformation: Thông tin chuyến đi
tripNotFound: Không tìm thấy chuyến đi
tripNotFoundDescription: Xin lỗi, không tìm thấy chuyến đi được yêu cầu.
tripNotifications: Thông báo chuyến đi
- travelCompanions: Người đồng hành đi lại
- deleteSavedTrip: Xóa chuyến đi đã lưu
SavedTripList:
+ alertTag: "{alert, plural, one {View one alert} other {View # alerts}}"
fromTo: Từ {from} đến {to}
myTrips: Chuyến đi của tôi
noSavedTrips: Bạn không có những chuyến đi được lưu
noSavedTripsInstructions: Trước tiên, thực hiện tìm kiếm chuyến đi từ bản đồ.
pause: Tạm ngừng
resume: Tiếp tục
- alertTag: '{alert, plural, one {View one alert} other {View # alerts}}'
SavedTripScreen:
itineraryLoaded: Đã tải hành trình
itineraryLoading: Đang tải hành trình
+ selectAtLeastOneDay: Vui lòng chọn ít nhất một ngày để theo dõi.
tooManyTrips: >
Bạn đã đạt được tối đa năm chuyến đi được lưu. Vui lòng loại bỏ các chuyến
đi không sử dụng khỏi các chuyến đi được lưu của bạn và thử lại.
@@ -521,7 +558,6 @@ components:
Một chuyến đi được lưu khác đã sử dụng tên này. Vui lòng chọn một tên
khác.
tripNameRequired: Vui lòng nhập tên chuyến đi.
- selectAtLeastOneDay: Vui lòng chọn ít nhất một ngày để theo dõi.
SequentialPaneDisplay:
stepNumber: Bước {step} trên {total}
SessionTimeout:
@@ -600,23 +636,18 @@ components:
travelingAt: di chuyển với tốc độ {milesPerHour}
vehicleName: Phương tiện giao thông {vehicleNumber}
TripBasicsPane:
- checkingItineraryExistence: Kiểm tra sự tồn tại của hành trình cho mỗi ngày trong
- tuần…
+ checkingItineraryExistence: Kiểm tra sự tồn tại của hành trình cho mỗi ngày trong tuần…
+ onlyOnDate: Chỉ vào {date, date, ::eeeee yyyyMMdd}
+ recurringEachWeek: Vào những ngày nhất định trong tuần
tripDaysPrompt: Bạn thực hiện chuyến đi này vào những ngày nào?
- tripIsAvailableOnDaysIndicated: Chuyến đi của bạn có sẵn vào những ngày trong
- tuần như đã nêu ở trên.
+ tripIsAvailableOnDaysIndicated: Chuyến đi của bạn có sẵn vào những ngày trong tuần như đã nêu ở trên.
tripNamePrompt: "Vui lòng cung cấp tên cho chuyến đi này:"
tripNotAvailableOnDay: Chuyến đi không có sẵn vào {repeatedDay}
- unsavedChangesExistingTrip: Bạn chưa lưu chuyến đi của mình. Nếu bạn rời đi, những
- thay đổi sẽ bị mất.
- unsavedChangesNewTrip: Bạn chưa lưu chuyến đi mới của mình. Nếu bạn rời đi, nó
- sẽ bị mất.
- recurringEachWeek: Vào những ngày nhất định trong tuần
- onlyOnDate: Chỉ vào {date, date, ::eeeee yyyyMMdd}
+ unsavedChangesExistingTrip: Bạn chưa lưu chuyến đi của mình. Nếu bạn rời đi, những thay đổi sẽ bị mất.
+ unsavedChangesNewTrip: Bạn chưa lưu chuyến đi mới của mình. Nếu bạn rời đi, nó sẽ bị mất.
TripNotificationsPane:
advancedSettings: Cài đặt nâng cao
- altRouteRecommended: Một tuyến đường hoặc điểm trung chuyển thay thế được khuyến
- nghị
+ altRouteRecommended: Một tuyến đường hoặc điểm trung chuyển thay thế được khuyến nghị
delaysAboveThreshold: Có sự chậm trễ hoặc gián đoạn của hơn
howToReceiveAlerts: >
Để nhận thông báo cho các chuyến đi đã lưu của bạn, bật thông báo trong
@@ -625,9 +656,10 @@ components:
notificationsTurnedOff: Thông báo được tắt cho tài khoản của bạn.
notifyViaChannelWhen: "Thông báo cho tôi qua {channel} khi:"
oneHour: 1 tiếng
- realtimeAlertFlagged: Có một cảnh báo thời gian thực được gắn cờ trên hành trình
- của tôi
+ realtimeAlertFlagged: Có một cảnh báo thời gian thực được gắn cờ trên hành trình của tôi
timeBefore: "{time} trước"
+ TripPreviewLayout:
+ previewTrip: Xem Trước Chuyến Đi
TripStatus:
alerts: "{alerts, plural, one {# cảnh báo!} other {# cảnh báo!}}"
deleteTrip: Xóa chuyến đi
@@ -639,8 +671,7 @@ components:
earlyHeading: >-
Chuyến đi đang diễn ra và sẽ đến sớm hơn {formattedDuration} so với dự
kiến!
- noDataHeading: Chuyến đi đang được tiến hành (không có cập nhật thời gian thực
- có sẵn).
+ noDataHeading: Chuyến đi đang được tiến hành (không có cập nhật thời gian thực có sẵn).
onTimeHeading: Chuyến đi đang được tiến hành và đúng giờ.
base:
lastCheckedDefaultText: Thời gian được kiểm tra lần cuối không xác định
@@ -669,6 +700,9 @@ components:
awaiting: Đang chờ tính toán…
description: Vui lòng đợi một chút để tính toán chuyến đi.
heading: Chuyến đi chưa được tính toán
+ past:
+ description: Đây là chuyến đi một lần đã diễn ra trong quá khứ.
+ heading: Chuyến đi trong quá khứ
snoozed:
description: Bật lại tính năng giám sát chuyến đi để xem trạng thái cập nhật
heading: Tạm dừng việc giám sát chuyến đi cho ngày hôm nay
@@ -683,21 +717,17 @@ components:
tripStartIsEarly: >-
Thời gian bắt đầu chuyến đi đang diễn ra sớm hơn {duration} so với dự
kiến!
- tripStartsSoonNoUpdates: Chuyến đi đang bắt đầu sớm (không có cập nhật về thời
- gian thực).
+ tripStartsSoonNoUpdates: Chuyến đi đang bắt đầu sớm (không có cập nhật về thời gian thực).
tripStartsSoonOnTime: Chuyến đi đang bắt đầu sớm và sắp đúng giờ.
- past:
- description: Đây là chuyến đi một lần đã diễn ra trong quá khứ.
- heading: Chuyến đi trong quá khứ
TripSummary:
arriveAt: "Đến nơi "
leaveAt: "Rời đi lúc "
TripSummaryPane:
happensOnDays: "Xảy ra vào: {days}"
+ monitoredTripDays: Số ngày theo dõi chuyến đi
notifications: "{leadTimeInMinutes} phút trước khi khởi hành theo lịch trình"
notificationsDisabled: Thông báo đã tắt
timeAndDuration: Thời gian và thời lượng chuyến đi
- monitoredTripDays: Số ngày theo dõi chuyến đi
TripTools:
copyLink: Sao chép URL
header: Công cụ
@@ -774,50 +804,6 @@ components:
switcher: Nút bật tắt
WelcomeScreen:
prompt: Bạn muốn đi đâu?
- MobilityProfile:
- DevicesPane:
- devices:
- electric wheelchair: Xe lăn điện
- stroller: Xe đẩy trẻ em
- manual wheelchair: Xe lăn thủ công/truyền thống
- cane: Gậy chống
- crutches: Nạng
- manual walker: Khung tập đi
- service animal: Động vật hỗ trợ
- mobility scooter: Xe điện ba/bốn bánh
- none: Không có thiết bị hỗ trợ
- wheeled walker: Khung tập đi có bánh xe
- white cane: Gậy cho người khiếm thị
- prompt: Quý vị có thường xuyên sử dụng thiết bị hỗ trợ di chuyển không? (Chọn
- tất cả câu trả lời phù hợp)
- LimitationsPane:
- visionLimitations:
- none: Không có
- low-vision: Thị lực kém
- legally-blind: Mù theo quy định pháp luật
- mobilityPrompt: Quý vị có gặp phải hạn chế nào về khả năng vận động khiến quý
- vị đi chậm hơn hoặc cẩn thận hơn những người khác không?
- visionPrompt: Quý vị có gặp phải hạn chế nào về thị lực không?
- MobilityPane:
- button: Chỉnh sửa hồ sơ vận động của quý vị
- header: Hồ Sơ Vận Động
- mobilityLimitations: 'Hạn chế về khả năng vận động: '
- mobilityDevices: 'Thiết bị di chuyển: '
- visionLimitations: 'Hạn chế về thị lực: '
- title: Xác Định Hồ Sơ Vận Động của Quý Vị
- intro: Vui lòng trả lời một số câu hỏi để tùy chỉnh trải nghiệm lập kế hoạch chuyến
- đi theo nhu cầu và tùy chọn của quý vị.
- CompanionsPane:
- confirmDeleteCompanion: Quý vị có muốn xóa người đồng hành {email} không?
- currentCompanionsLabel: 'Người đồng hành đi lại hiện tại:'
- deleteCompanion: Xóa {email}
- noCompanions: Quý vị hiện không có người đồng hành đi lại nào.
- submitNewCompanion: Gửi lời mời
- title: Người đồng hành đi lại
- addNewCompanion: Thêm người đồng hành đi lại mới
- companionAlreadyAdded: Quý vị đã có bạn đồng hành có email {email}
- TripPreviewLayout:
- previewTrip: Xem Trước Chuyến Đi
config:
accessModes:
bicycle: Giao thông công cộng + Xe đạp cá nhân
diff --git a/lib/components/app/app-menu.tsx b/lib/components/app/app-menu.tsx
index fe3870e5c..71b144192 100644
--- a/lib/components/app/app-menu.tsx
+++ b/lib/components/app/app-menu.tsx
@@ -3,9 +3,11 @@ import { connect } from 'react-redux'
import { Envelope } from '@styled-icons/fa-regular/Envelope'
import { ExternalLinkSquareAlt } from '@styled-icons/fa-solid/ExternalLinkSquareAlt'
import { FormattedMessage, injectIntl } from 'react-intl'
-import { GlobeAmericas, MapMarked, MapPin } from '@styled-icons/fa-solid'
+import { GlobeAmericas } from '@styled-icons/fa-solid/GlobeAmericas'
import { GraduationCap } from '@styled-icons/fa-solid/GraduationCap'
import { History } from '@styled-icons/fa-solid/History'
+import { MapMarked } from '@styled-icons/fa-solid/MapMarked'
+import { MapPin } from '@styled-icons/fa-solid/MapPin'
import { Undo } from '@styled-icons/fa-solid/Undo'
import React, { Component, Fragment, useContext } from 'react'
import SlidingPane from 'react-sliding-pane'
diff --git a/lib/components/app/popup.tsx b/lib/components/app/popup.tsx
index 8a67961cd..a569b9c5d 100644
--- a/lib/components/app/popup.tsx
+++ b/lib/components/app/popup.tsx
@@ -1,5 +1,5 @@
import { Modal } from 'react-bootstrap'
-import { Times } from '@styled-icons/fa-solid'
+import { Times } from '@styled-icons/fa-solid/Times'
import { useIntl } from 'react-intl'
import coreUtils from '@opentripplanner/core-utils'
import React, { useCallback, useEffect } from 'react'
diff --git a/lib/components/form/advanced-settings-button.tsx b/lib/components/form/advanced-settings-button.tsx
index 0449dc85d..2453ba13b 100644
--- a/lib/components/form/advanced-settings-button.tsx
+++ b/lib/components/form/advanced-settings-button.tsx
@@ -1,4 +1,4 @@
-import { ArrowRight } from '@styled-icons/fa-solid'
+import { ArrowRight } from '@styled-icons/fa-solid/ArrowRight'
import { FormattedMessage } from 'react-intl'
import { grey } from '../util/colors'
diff --git a/lib/components/form/connected-location-field.tsx b/lib/components/form/connected-location-field.tsx
index 7b715333e..1f7ae03dd 100644
--- a/lib/components/form/connected-location-field.tsx
+++ b/lib/components/form/connected-location-field.tsx
@@ -3,7 +3,7 @@ import {
LocationFieldProps,
LocationSelectedEvent
} from '@opentripplanner/location-field/lib/types'
-import { MapPin } from '@styled-icons/fa-solid'
+import { MapPin } from '@styled-icons/fa-solid/MapPin'
import React, { useCallback, useContext, useState } from 'react'
import * as formActions from '../../actions/form'
diff --git a/lib/components/user/monitored-trip/saved-trip-list.tsx b/lib/components/user/monitored-trip/saved-trip-list.tsx
index 618c736c8..74064f3a2 100644
--- a/lib/components/user/monitored-trip/saved-trip-list.tsx
+++ b/lib/components/user/monitored-trip/saved-trip-list.tsx
@@ -1,6 +1,7 @@
import { connect } from 'react-redux'
-import { Edit, Map } from '@styled-icons/fa-solid'
+import { Edit } from '@styled-icons/fa-solid/Edit'
import { FormattedMessage, injectIntl, IntlShape, useIntl } from 'react-intl'
+import { Map } from '@styled-icons/fa-solid/Map'
import { Panel } from 'react-bootstrap'
import { TriangleExclamation } from '@styled-icons/fa-solid/TriangleExclamation'
import { withAuthenticationRequired } from '@auth0/auth0-react'
diff --git a/lib/components/user/monitored-trip/trip-summary-pane.tsx b/lib/components/user/monitored-trip/trip-summary-pane.tsx
index 5ce8b904b..a97a55e47 100644
--- a/lib/components/user/monitored-trip/trip-summary-pane.tsx
+++ b/lib/components/user/monitored-trip/trip-summary-pane.tsx
@@ -1,4 +1,7 @@
-import { Bell, BellSlash, Calendar, Clock } from '@styled-icons/fa-regular'
+import { Bell } from '@styled-icons/fa-regular/Bell'
+import { BellSlash } from '@styled-icons/fa-regular/BellSlash'
+import { Calendar } from '@styled-icons/fa-regular/Calendar'
+import { Clock } from '@styled-icons/fa-regular/Clock'
import { FormattedDate, FormattedMessage, useIntl } from 'react-intl'
import LocationIcon from '@opentripplanner/location-icon'
import React from 'react'
diff --git a/lib/components/util/externalLink.tsx b/lib/components/util/externalLink.tsx
index ce7a8d422..78ee20a84 100644
--- a/lib/components/util/externalLink.tsx
+++ b/lib/components/util/externalLink.tsx
@@ -1,4 +1,4 @@
-import { ExternalLinkAlt } from '@styled-icons/fa-solid'
+import { ExternalLinkAlt } from '@styled-icons/fa-solid/ExternalLinkAlt'
import { useIntl } from 'react-intl'
import React, { HTMLAttributes } from 'react'
diff --git a/lib/components/util/transit-operator-icons.tsx b/lib/components/util/transit-operator-icons.tsx
index 7f40fe11c..d92aaf6f9 100644
--- a/lib/components/util/transit-operator-icons.tsx
+++ b/lib/components/util/transit-operator-icons.tsx
@@ -1,4 +1,4 @@
-import { MapPin } from '@styled-icons/fa-solid'
+import { MapPin } from '@styled-icons/fa-solid/MapPin'
import { useIntl } from 'react-intl'
import React from 'react'
import Skeleton from 'react-loading-skeleton'
diff --git a/lib/components/viewers/nearby/nearby-view.tsx b/lib/components/viewers/nearby/nearby-view.tsx
index be54085ae..b26c978e7 100644
--- a/lib/components/viewers/nearby/nearby-view.tsx
+++ b/lib/components/viewers/nearby/nearby-view.tsx
@@ -1,16 +1,21 @@
import { connect } from 'react-redux'
import { FormattedMessage, useIntl } from 'react-intl'
import { Location } from '@opentripplanner/types'
+import { LonLatInput } from '@conveyal/lonlat'
import { MapRef, useMap } from 'react-map-gl'
+import { Search } from '@styled-icons/fa-solid/Search'
import coreUtils from '@opentripplanner/core-utils'
-import React, { useCallback, useEffect, useMemo, useState } from 'react'
+import getGeocoder from '@opentripplanner/geocoder'
+import LocationField from '@opentripplanner/location-field'
+import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
import * as apiActions from '../../../actions/api'
+import * as locationActions from '../../../actions/location'
import * as mapActions from '../../../actions/map'
import * as uiActions from '../../../actions/ui'
import { AppReduxState } from '../../../util/state-types'
+import { GeocoderConfig } from '../../../util/config-types'
import { getCurrentServiceWeek } from '../../../util/current-service-week'
-import { NearbyViewConfig } from '../../../util/config-types'
import {
PatternStopTime,
SetLocationHandler,
@@ -23,11 +28,7 @@ import MobileNavigationBar from '../../mobile/navigation-bar'
import PageTitle from '../../util/page-title'
import VehiclePositionRetriever from '../vehicle-position-retriever'
-import {
- FloatingLoadingIndicator,
- NearbySidebarContainer,
- Scrollable
-} from './styled'
+import { NearbySidebarContainer, Scrollable } from './styled'
import FromToPicker from './from-to-picker'
import RentalStation from './rental-station'
import Stop, { fullTimestamp, patternArrayforStops } from './stop'
@@ -52,12 +53,14 @@ type Props = {
radius?: number,
currentServiceWeek?: ServiceWeek
) => void
+ geocoderConfig: GeocoderConfig
+ getCurrentPosition: any // TODO
hideBackButton?: boolean
+ hideEmptyStops?: boolean
location: string
mobile?: boolean
// Todo: type nearby results
nearby: any
- nearbyViewConfig?: NearbyViewConfig
nearbyViewCoords?: LatLonObj
radius?: number
routeSortComparator: (a: PatternStopTime, b: PatternStopTime) => number
@@ -124,10 +127,12 @@ function NearbyView({
displayedCoords,
entityId,
fetchNearby,
+ geocoderConfig,
+ getCurrentPosition,
+ hideEmptyStops,
location,
mobile,
nearby,
- nearbyViewConfig,
nearbyViewCoords,
radius,
routeSortComparator,
@@ -139,6 +144,8 @@ function NearbyView({
const map = useMap().default
const intl = useIntl()
const [loading, setLoading] = useState(true)
+ const [reversedPoint, setReversedPoint] = useState('')
+ const firstItemRef = useRef(null)
const finalNearbyCoords = useMemo(
() =>
getNearbyCoordsFromUrlOrLocationOrMapCenter(
@@ -150,6 +157,12 @@ function NearbyView({
[nearbyViewCoords, currentPosition, map]
)
+ const reverseCoords = (coords: LonLatInput) => {
+ getGeocoder(geocoderConfig)
+ .reverse({ point: coords })
+ .then((result: Location) => setReversedPoint(result?.name || ''))
+ }
+
// Make sure the highlighted location is cleaned up when leaving nearby
useEffect(() => {
return function cleanup() {
@@ -160,10 +173,12 @@ function NearbyView({
useEffect(() => {
const moveListener = (e: mapboxgl.EventData) => {
if (e.geolocateSource) {
- setViewedNearbyCoords({
+ const coords = {
lat: e.viewState.latitude,
lon: e.viewState.longitude
- })
+ }
+ setViewedNearbyCoords(coords)
+ reverseCoords(coords)
}
}
@@ -173,9 +188,11 @@ function NearbyView({
lon: e.viewState.longitude
}
setViewedNearbyCoords(coords)
+ reverseCoords(coords)
// Briefly flash the highlight to alert the user that we've moved
setHighlightedLocation(coords)
+
setTimeout(() => {
setHighlightedLocation(null)
}, 500)
@@ -238,7 +255,7 @@ function NearbyView({
// If configured, filter out stops that don't have any patterns
const filteredNearby = nearby?.filter((n: any) => {
- if (n.place.__typename === 'Stop' && nearbyViewConfig?.hideEmptyStops) {
+ if (n.place.__typename === 'Stop' && hideEmptyStops) {
const patternArray = patternArrayforStops(n.place, routeSortComparator)
return !(patternArray?.length === 0)
}
@@ -312,11 +329,41 @@ function NearbyView({
className="base-color-bg"
style={{ marginBottom: 0 }}
>
- {loading && (
-
-
-
- )}
+ {/* This is used to scroll to top */}
+
+ (
+
+ )}
+ locationType="to"
+ onLocationSelected={(selection) => {
+ const { location } = selection
+ setViewedNearbyCoords(location)
+ map && zoomToPlace(map, location)
+
+ setReversedPoint(location.name || '')
+ if (!location.name) {
+ reverseCoords([location.lon, location.lat])
+ }
+ }}
+ sortByDistance
+ />
+ {loading && }
{nearby &&
!staleData &&
(nearby.error ? (
@@ -368,10 +415,11 @@ const mapStateToProps = (state: AppReduxState) => {
defaultLatLon,
displayedCoords: nearby?.coords,
entityId: entityId && decodeURIComponent(entityId),
+ geocoderConfig: config.geocoder,
+ hideEmptyStops: config.nearbyView?.hideEmptyStops,
homeTimezone: config.homeTimezone,
location: state.router.location.hash,
nearby: nearby?.data,
- nearbyViewConfig,
nearbyViewCoords,
radius: config.nearbyView?.radius,
routeSortComparator
@@ -380,6 +428,7 @@ const mapStateToProps = (state: AppReduxState) => {
const mapDispatchToProps = {
fetchNearby: apiActions.fetchNearby,
+ getCurrentPosition: locationActions.getCurrentPosition,
setHighlightedLocation: uiActions.setHighlightedLocation,
setLocation: mapActions.setLocation,
setMainPanelContent: uiActions.setMainPanelContent,
diff --git a/lib/components/viewers/nearby/stop.tsx b/lib/components/viewers/nearby/stop.tsx
index 973f8ddb3..7e9f799bd 100644
--- a/lib/components/viewers/nearby/stop.tsx
+++ b/lib/components/viewers/nearby/stop.tsx
@@ -1,4 +1,4 @@
-import { Calendar } from '@styled-icons/fa-solid'
+import { Calendar } from '@styled-icons/fa-solid/Calendar'
import { connect } from 'react-redux'
import { FormattedMessage } from 'react-intl'
import coreUtils from '@opentripplanner/core-utils'
diff --git a/lib/components/viewers/nearby/vehicle-parking.tsx b/lib/components/viewers/nearby/vehicle-parking.tsx
index e9bf9771f..d8b26d41f 100644
--- a/lib/components/viewers/nearby/vehicle-parking.tsx
+++ b/lib/components/viewers/nearby/vehicle-parking.tsx
@@ -1,4 +1,4 @@
-import { Parking } from '@styled-icons/fa-solid'
+import { Parking } from '@styled-icons/fa-solid/Parking'
import { Place } from '@opentripplanner/types'
import React from 'react'
diff --git a/lib/components/viewers/pattern-row.tsx b/lib/components/viewers/pattern-row.tsx
index e4bbef83c..794e8472b 100644
--- a/lib/components/viewers/pattern-row.tsx
+++ b/lib/components/viewers/pattern-row.tsx
@@ -1,4 +1,4 @@
-import { Calendar } from '@styled-icons/fa-regular'
+import { Calendar } from '@styled-icons/fa-regular/Calendar'
import { format, utcToZonedTime } from 'date-fns-tz'
import { FormattedMessage } from 'react-intl'
import { getMostReadableTextColor } from '@opentripplanner/core-utils/lib/route'
diff --git a/lib/components/viewers/route-row.tsx b/lib/components/viewers/route-row.tsx
index 6e1aebe98..094693e91 100644
--- a/lib/components/viewers/route-row.tsx
+++ b/lib/components/viewers/route-row.tsx
@@ -1,4 +1,4 @@
-import { ArrowRight } from '@styled-icons/fa-solid'
+import { ArrowRight } from '@styled-icons/fa-solid/ArrowRight'
import { IntlShape } from 'react-intl'
import React, { PureComponent } from 'react'
import styled from 'styled-components'
diff --git a/lib/components/viewers/viewers.css b/lib/components/viewers/viewers.css
index 1ea4637a9..2f715e1df 100644
--- a/lib/components/viewers/viewers.css
+++ b/lib/components/viewers/viewers.css
@@ -249,3 +249,25 @@
justify-content: center;
padding-top: 10px;
}
+
+/* Nearby View Location Field Styles */
+.nearby-view-location-field {
+ background-color: rgba(255, 255, 255, 0.85);
+ border-radius: 10px;
+ border: none !important;
+ box-shadow: 0px 0px 5px 1px inset rgb(0 0 0 / 0.05);
+ color: #111;
+ display: flex !important;
+ height: 50px;
+ margin-bottom: -5px !important;
+ transition: background-color 0.1s ease-out;
+}
+.nearby-view-location-field:hover,
+.nearby-view-location-field:active {
+ background-color: rgba(255, 255, 255, 0.95);
+ box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
+}
+.nearby-view-location-field input {
+ width: 100% !important;
+ background: transparent !important;
+}