diff --git a/__tests__/components/viewers/__snapshots__/nearby-view.js.snap b/__tests__/components/viewers/__snapshots__/nearby-view.js.snap index 629be1f50..c968a306d 100644 --- a/__tests__/components/viewers/__snapshots__/nearby-view.js.snap +++ b/__tests__/components/viewers/__snapshots__/nearby-view.js.snap @@ -33,6 +33,7 @@ exports[`components > viewers > nearby view renders nothing on a blank page 1`] } defaultLatLon={null} fetchNearby={[Function]} + getCurrentPosition={[Function]} homeTimezone="America/Los_Angeles" nearby={Array []} routeSortComparator={[Function]} @@ -102,6 +103,242 @@ exports[`components > viewers > nearby view renders nothing on a blank page 1`] } } > +
+ + +
+ + + + + + + + + + + + + +
    + +
+
+
@@ -156,6 +393,7 @@ exports[`components > viewers > nearby view renders proper scooter dates 1`] = ` } defaultLatLon={null} fetchNearby={[Function]} + getCurrentPosition={[Function]} homeTimezone="America/Los_Angeles" nearby={ Array [ @@ -4143,6 +4381,242 @@ exports[`components > viewers > nearby view renders proper scooter dates 1`] = ` } } > +
+ + +
+ + + + + + + + + + + + + +
    + +
+
+
  • {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; +}