diff --git a/i18n/es.yml b/i18n/es.yml
index c80631ae4..035b174db 100644
--- a/i18n/es.yml
+++ b/i18n/es.yml
@@ -30,7 +30,8 @@ actions:
       No se puede guardar el plan: este plan no se pudo guardar debido a la
       falta de capacidad en uno o más vehículos. Por favor, vuelva a planificar
       su viaje.
-    maxTripRequestsExceeded: Número de solicitudes de viaje superadas sin resultados válidos
+    maxTripRequestsExceeded: Número de solicitudes de viaje superadas sin 
+      resultados válidos
     saveItinerariesError: "No se pudieron guardar los itinerarios: {err}"
     setDateError: "Error al establecer la fecha:"
     setGroupSizeError: "No se pudo establecer el tamaño del grupo:"
@@ -52,16 +53,22 @@ actions:
     authTokenError: Error al obtener un token de autorización.
     confirmDeleteMonitoredTrip: ¿Desea eliminar este viaje?
     confirmDeletePlace: ¿Quiere eliminar este lugar?
-    emailVerificationResent: El mensaje de verificación de correo electrónico ha sido reenviado.
+    emailVerificationResent: El mensaje de verificación de correo electrónico ha
+      sido reenviado.
     genericError: "Se ha encontrado un error: {err}"
-    getDependentUserInfoFailed: Error al obtener la información del perfil de movilidad.
-    itineraryExistenceCheckFailed: Comprobación de errores para ver si el viaje seleccionado es posible.
-    mustAcceptTermsToSavePlace: Acepte los Términos de uso (en Mi Cuenta) para guardar las ubicaciones.
-    mustBeLoggedInToSavePlace: Por favor, inicia la sesión para guardar las ubicaciones.
+    getDependentUserInfoFailed: Error al obtener la información del perfil de 
+      movilidad.
+    itineraryExistenceCheckFailed: Comprobación de errores para ver si el viaje 
+      seleccionado es posible.
+    mustAcceptTermsToSavePlace: Acepte los Términos de uso (en Mi Cuenta) para 
+      guardar las ubicaciones.
+    mustBeLoggedInToSavePlace: Por favor, inicia la sesión para guardar las 
+      ubicaciones.
     placeDeleted: Se ha eliminado su ubicación.
     placeRemembered: La configuración de este lugar se ha guardado.
     preferencesSaved: Sus preferencias se han guardado.
-    smsInvalidCode: El código introducido no es válido. Por favor, inténtelo de nuevo.
+    smsInvalidCode: El código introducido no es válido. Por favor, inténtelo de 
+      nuevo.
     smsResendThrottled: >-
       Se ha enviado un SMS de verificación al número de teléfono indicado hace
       menos de un minuto. Por favor, inténtelo de nuevo en unos momentos.
@@ -156,7 +163,8 @@ common:
   searchForms:
     click: haga clic
     enterDestination: Introduzca el destino o {mapAction} en el mapa…
-    enterStartLocation: Introduzca la ubicación de inicio o {mapAction} en el mapa…
+    enterStartLocation: Introduzca la ubicación de inicio o {mapAction} en el 
+      mapa…
     tap: toque
   time:
     duration:
@@ -175,7 +183,8 @@ components:
     message: Ya está listo para empezar a planificar sus viajes.
   AddPlaceButton:
     addPlace: Añadir lugar
-    needOriginDestination: Definir el origen o el destino para añadir lugares intermedios
+    needOriginDestination: Definir el origen o el destino para añadir lugares 
+      intermedios
     tooManyPlaces: Se alcanzó el máximo de lugares intermedios
   AdvancedOptions:
     bannedRoutes: Seleccionar rutas prohibidas…
@@ -217,7 +226,8 @@ 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: >
@@ -413,7 +423,8 @@ components:
     header: No se encontró el contenido
   NotificationPrefsPane:
     devicesRegistered: "{count, plural, one {# device} other {# devices}} registrado"
-    noDeviceForPush: Regístrese con la aplicación móvil para acceder a esta configuración.
+    noDeviceForPush: Regístrese con la aplicación móvil para acceder a esta 
+      configuración.
     notificationChannelPrompt: "Recibir notificaciones para sus viajes guardados por:"
   OTP2ErrorRenderer:
     LOCATION_NOT_FOUND:
@@ -453,7 +464,8 @@ components:
       header: Error en el planificador de los viajes
     WALKING_BETTER_THAN_TRANSIT:
       body: Puede completar esta ruta más rápido caminando.
-      header: El transporte público no es la forma más rápida de hacer este viaje
+      header: El transporte público no es la forma más rápida de hacer este 
+        viaje
     inputFields:
       FROM: Procedencia
       TO: Destino
@@ -461,8 +473,10 @@ components:
     changeNumber: Cambiar número de teléfono
     invalidCode: Introduzca 6 dígitos para el código de validación.
     invalidPhone: Por favor, introduzca un número de teléfono válido.
-    phoneNumberSubmitted: El número de teléfono {phoneNumber} se ha enviado correctamente.
-    phoneNumberVerified: El número de teléfono {phoneNumber} se ha verificado correctamente.
+    phoneNumberSubmitted: El número de teléfono {phoneNumber} se ha enviado 
+      correctamente.
+    phoneNumberVerified: El número de teléfono {phoneNumber} se ha verificado 
+      correctamente.
     placeholder: Introduzca su número de teléfono
     prompt: >-
       Introduzca su número de teléfono para las notificaciones por mensaje de
@@ -565,14 +579,16 @@ components:
     fromTo: De {from} al {to}
     myTrips: Mis viajes
     noSavedTrips: No tiene viajes guardados
-    noSavedTripsInstructions: Realice primero una búsqueda de viajes desde el mapa.
+    noSavedTripsInstructions: Realice primero una búsqueda de viajes desde el 
+      mapa.
     pause: Pausa
     resume: Reanudar
     unsnooze: Reanudar
   SavedTripScreen:
     itineraryLoaded: Itinerario cargado
     itineraryLoading: Cargando el itinerario
-    selectAtLeastOneDay: Por favor, seleccione al menos un día para realizar el seguimiento.
+    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.
@@ -589,7 +605,8 @@ 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:
@@ -655,30 +672,35 @@ 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á.
+    unsavedChangesNewTrip: Todavía no ha guardado su nuevo viaje. Si abandona la
+      página, se perderá.
   TripCompanionsPane:
     companionLabel: "Compañero en este viaje:"
     observersLabel: "Observadores que presenciaron este viaje:"
     primaryLabel: "Viajero principal: "
   TripNotificationsPane:
     advancedSettings: Configuración avanzada
-    altRouteRecommended: Se recomienda una ruta alternativa o un punto de transferencia
+    altRouteRecommended: Se recomienda una ruta alternativa o un punto de 
+      transferencia
     delaysAboveThreshold: Hay retrasos o interrupciones de más de
     howToReceiveAlerts: >
       Para recibir alertas de tus viajes guardados, activa las notificaciones en
       la configuración de tu cuenta e intenta guardar un viaje de nuevo.
     monitorThisTrip: "Supervise este viaje antes de que comience:"
-    notificationsTurnedOff: Las notificaciones están desactivadas para su cuenta.
+    notificationsTurnedOff: Las notificaciones están desactivadas para su 
+      cuenta.
     notifyViaChannelWhen: "Notifíqueme por {channel} cuando:"
     oneHour: 1 hora
     realtimeAlertFlagged: Hay una alerta en tiempo real marcada en mi viaje
@@ -691,7 +713,8 @@ components:
     planNewTrip: Planificar un nuevo viaje
   TripStatusRenderers:
     active:
-      delayedHeading: La hora de inicio del viaje se retrasa {formattedDuration}!
+      delayedHeading: La hora de inicio del viaje se retrasa 
+        {formattedDuration}!
       description: El viaje debe comenzar a las {arrivalTime, time, short}.
       earlyHeading: >-
         ¡El viaje está en marcha y llega {formattedDuration} antes de lo
@@ -743,7 +766,8 @@ 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).
@@ -793,7 +817,8 @@ components:
     listOfRouteStops: Lista de paradas en esta ruta
     routeHeader: "Ruta: {routeShortName} {routeLongName}"
     startOfTrip: Aquí comienza el viaje
-    tripDescription: Embarque en {boardAtStop} y desembarque en {disembarkAtStop}
+    tripDescription: Embarque en {boardAtStop} y desembarque en 
+      {disembarkAtStop}
     viewStop: Ver
   UserAccountScreen:
     confirmDelete: >-
@@ -831,7 +856,8 @@ components:
       Por favor compruebe el buzón de su correo electrónico y siga el enlace del
       mensaje para verificar su dirección de correo electrónico antes de
       finalizar la configuración de su cuenta.
-    instructions2: Una vez verificado, haga clic en el botón de abajo para continuar.
+    instructions2: Una vez verificado, haga clic en el botón de abajo para 
+      continuar.
     resendVerification: Reenviar el correo electrónico de verificación
   ViewSwitcher:
     nearby: Ver cerca
diff --git a/i18n/fr.yml b/i18n/fr.yml
index baee7ff29..07837982a 100644
--- a/i18n/fr.yml
+++ b/i18n/fr.yml
@@ -2,7 +2,8 @@ _id: fr
 _name: Exemple de traduction pour OTP-react-redux en français
 actions:
   callTaker:
-    callQuerySaveError: "Erreur lors de l'enregistrement des requêtes pour l'appel : {err}"
+    callQuerySaveError: "Erreur lors de l'enregistrement des requêtes pour l'appel
+      : {err}"
     callSaveError: "Impossible d'enregistrer l'appel : {err}"
     checkSessionError: "Erreur durant la session d'authentification : {err}"
     couldNotFindCallError: >-
@@ -17,9 +18,11 @@ actions:
         true {aller}
         other {retour}
       } planifié préalablement pour cette demande. Voulez-vous continuer ?
-    deleteItinerariesError: "Erreur lors de la suppression du trajet pour le groupe :"
+    deleteItinerariesError: "Erreur lors de la suppression du trajet pour le groupe
+      :"
     deleteNoteError: "Erreur lors de la suppression d'une note sur le groupe :"
-    editSubmitterNotesError: "Erreur lors de la modification des notes du demandeur :"
+    editSubmitterNotesError: "Erreur lors de la modification des notes du demandeur
+      :"
     fetchFieldTripError: "Erreur de chargement du groupe scolaire : {err}"
     fetchFieldTripsError: "Erreur lors du chargement des groupes scolaires : {err}"
     fetchTripsForDateError: >-
@@ -31,7 +34,8 @@ actions:
     itineraryCapacityError: >-
       Impossible d'enregistrer les trajets : Capacité insuffisante dans un ou
       plusieurs véhicules. Veuillez réorganiser votre trajet.
-    maxTripRequestsExceeded: Le nombre de requêtes sans résultats valables a été dépassé.
+    maxTripRequestsExceeded: Le nombre de requêtes sans résultats valables a été
+      dépassé.
     saveItinerariesError: "Erreur lors de l'enregistrement des trajets : {err}"
     setDateError: "Erreur sur la date :"
     setGroupSizeError: "Erreur sur la taille du groupe :"
@@ -43,8 +47,10 @@ actions:
 
       Pour utiliser votre emplacement actuel, permettez-en l'accès depuis votre
       navigateur, et ouvrez de nouveau cette page.
-    geolocationNotSupportedError: La géolocalisation n'est pas prise en charge par votre navigateur.
-    unknownPositionError: Erreur inconnue lors de la détection de votre emplacement.
+    geolocationNotSupportedError: La géolocalisation n'est pas prise en charge 
+      par votre navigateur.
+    unknownPositionError: Erreur inconnue lors de la détection de votre 
+      emplacement.
     userDeniedPermission: Refusé par l'utilisateur
   map:
     currentLocation: (Emplacement actuel)
@@ -57,12 +63,15 @@ actions:
       Le message de vérification de votre adresse e-mail a été envoyé de
       nouveau.
     genericError: "Une erreur s'est produite : {err}"
-    getDependentUserInfoFailed: Erreur lors de l'obtention des profils de mobilité.
-    itineraryExistenceCheckFailed: Erreur lors de la vérification de la validité du trajet choisi.
+    getDependentUserInfoFailed: Erreur lors de l'obtention des profils de 
+      mobilité.
+    itineraryExistenceCheckFailed: Erreur lors de la vérification de la validité
+      du trajet choisi.
     mustAcceptTermsToSavePlace: >-
       Veuillez accepter les conditions d'utilisation (dans Mon compte) pour
       enregistrer des lieux.
-    mustBeLoggedInToSavePlace: Veuillez vous connecter pour enregistrer des lieux.
+    mustBeLoggedInToSavePlace: Veuillez vous connecter pour enregistrer des 
+      lieux.
     placeDeleted: Votre lieu a été supprimé
     placeRemembered: Les informations pour ce lieu ont été enregistrées.
     preferencesSaved: Vos préférences ont été enregistrées.
@@ -163,7 +172,8 @@ common:
   searchForms:
     click: cliquez
     enterDestination: Entrez votre destination ou {mapAction} sur la carte…
-    enterStartLocation: Entrez votre point de départ ou {mapAction} sur la carte…
+    enterStartLocation: Entrez votre point de départ ou {mapAction} sur la 
+      carte…
     tap: appuyez
   time:
     duration:
@@ -177,7 +187,8 @@ common:
       other {# s}}
 components:
   A11yPrefs:
-    accessibilityRoutingByDefault: Privilégier par défaut les trajets accessibles
+    accessibilityRoutingByDefault: Privilégier par défaut les trajets 
+      accessibles
   AccountSetupFinishPane:
     message: >-
       Vos changements ont été enregistrés. Vous pouvez maintenant planifier vos
@@ -290,8 +301,10 @@ components:
     setAddressForPlaceType: Entrez l'adresse de votre {placeType}
   FavoritePlaceScreen:
     addNewPlace: Ajouter un nouveau lieu
-    charactersOverLimit: "{chars, plural, one {# caractère en trop} other {# caractères en trop}}"
-    charactersRemaining: "{chars, plural, one {# caractère restant} other {# caractères restant}}"
+    charactersOverLimit: "{chars, plural, one {# caractère en trop} other {# caractères
+      en trop}}"
+    charactersRemaining: "{chars, plural, one {# caractère restant} other {# caractères
+      restant}}"
     editPlace: Modifier le {placeName}
     editPlaceGeneric: Modifier le lieu
     invalidAddress: Veuillez entrer l'adresse du lieu.
@@ -376,8 +389,10 @@ components:
     title: Spécifiez votre profil de mobilité
   NarrativeItinerariesHeader:
     changeSortDir: Changer l'ordre de tri
-    howToFindResults: Pour afficher les résultats, utilisez l'en-tête Trajets trouvés plus bas.
-    itinerariesFound: "{itineraryNum, plural, one {# trajet trouvé} other {# trajets trouvés} }"
+    howToFindResults: Pour afficher les résultats, utilisez l'en-tête Trajets 
+      trouvés plus bas.
+    itinerariesFound: "{itineraryNum, plural, one {# trajet trouvé} other {# trajets
+      trouvés} }"
     resultsSortedBy: >-
       Résultats triés par {sortSelected}. Pour modifier l'ordre, utilisez le
       bouton "Trier les résultats" plus bas.
@@ -427,7 +442,8 @@ components:
     devicesRegistered: >-
       {count, plural, one {# appareil enregistré} other {# appareils
       enregistrés}}
-    noDeviceForPush: Inscrivez-vous avec l'application mobile pour accéder à ce paramètre.
+    noDeviceForPush: Inscrivez-vous avec l'application mobile pour accéder à ce 
+      paramètre.
     notificationChannelPrompt: "Recevoir des notifications sur vos trajets par :"
   OTP2ErrorRenderer:
     LOCATION_NOT_FOUND:
@@ -551,7 +567,8 @@ components:
     noFilteredRoutesFound: Aucune ligne ne correspond à vos critères
     noRouteFilter: Aucun filtre n'est appliqué à la liste de lignes.
     openPatternViewer: Voir les dessertes
-    routesFilteredBy: "Les filtres suivants sont appliqués à la liste de lignes : {list}."
+    routesFilteredBy: "Les filtres suivants sont appliqués à la liste de lignes :
+      {list}."
     shortTitle: Index des lignes
     stopsInDirectionOfTravel: "Arrêts dans cette direction :"
     title: Index des lignes
@@ -658,7 +675,8 @@ components:
       En révoquant votre accord sur l'enregistrement de vos recherches de
       trajets, tout l'historique de vos de trajets sera supprimé. Voulez-vous
       continuer ?
-    mustAgreeToTerms: Vous devez accepter les conditions d'utilisation avant de continuer.
+    mustAgreeToTerms: Vous devez accepter les conditions d'utilisation avant de 
+      continuer.
     termsOfServiceStatement: >
       J'atteste avoir au moins 18 ans et j'ai lu et consens aux
       Conditions de service pour utiliser the
@@ -674,11 +692,13 @@ components:
     travelingAt: "Vitesse : {milesPerHour}"
     vehicleName: Véhicule {vehicleNumber}
   TripBasicsPane:
-    checkingItineraryExistence: Vérification du trajet pour chaque jour de la semaine...
+    checkingItineraryExistence: Vérification du trajet pour chaque jour de la 
+      semaine...
     onlyOnDate: "{date, date, ::eeeee yyyyMMdd} uniquement"
     recurringEachWeek: Certains jours chaque semaine
     tripDaysPrompt: Quels jours effectuez-vous ce trajet ?
-    tripIsAvailableOnDaysIndicated: Votre trajet est possible les jours indiqués ci-dessus.
+    tripIsAvailableOnDaysIndicated: Votre trajet est possible les jours indiqués
+      ci-dessus.
     tripNamePrompt: "Saisissez un nom pour ce trajet :"
     tripNotAvailableOnDay: Ce trajet n'est pas possible les {repeatedDay}.
     unsavedChangesExistingTrip: >-
@@ -700,7 +720,8 @@ components:
       notifications dans la section Préférences de votre compte, et essayez
       d'enregistrer un trajet à nouveau.
     monitorThisTrip: "Faire le suivi du trajet avant le départ :"
-    notificationsTurnedOff: Les notifications sont désactivées pour votre compte.
+    notificationsTurnedOff: Les notifications sont désactivées pour votre 
+      compte.
     notifyViaChannelWhen: "Recevoir des notifications par {channel} lorsque :"
     oneHour: 1 heure
     realtimeAlertFlagged: Une alerte en temps réel affecte mon trajet
@@ -720,7 +741,8 @@ components:
       onTimeHeading: Trajet en cours et prévu à l'heure.
     base:
       lastCheckedDefaultText: Dernière vérification inconnue
-      lastCheckedText: Dernière vérification effectuée il y a {formattedDuration}
+      lastCheckedText: Dernière vérification effectuée il y a 
+        {formattedDuration}
       togglePause: Suspendre le suivi
       tripIsNotSnoozed: Suspendre jusqu'à demain
       tripIsSnoozed: Reprendre
@@ -776,7 +798,8 @@ components:
     monitoredTripDays: Jours de suivi de ce trajet
     notifications: "{leadTimeInMinutes} mn avant l'heure de départ prévue"
     notificationsPaused: Notifications suspendues.
-    notificationsSnoozed: Notifications suspendues pour le restant de la journée.
+    notificationsSnoozed: Notifications suspendues pour le restant de la 
+      journée.
     timeAndDuration: Heure et durée du trajet
   TripTools:
     copyLink: Copier le lien
@@ -871,8 +894,10 @@ config:
     flex-service-colon: "Service Flex :"
 util:
   state:
-    errorPlanningTrip: Une erreur s'est produite lors de la planification du trajet.
-    networkUnavailable: Le système {network} n'est pas disponible pour le moment.
+    errorPlanningTrip: Une erreur s'est produite lors de la planification du 
+      trajet.
+    networkUnavailable: Le système {network} n'est pas disponible pour le 
+      moment.
     noTripFound: Aucun trajet trouvé.
     noTripFoundForMode: Aucun trajet {modes} n'a été trouvé.
     noTripFoundReason: >-
diff --git a/i18n/ko.yml b/i18n/ko.yml
index 094db9350..9790f5cc0 100644
--- a/i18n/ko.yml
+++ b/i18n/ko.yml
@@ -21,8 +21,10 @@ actions:
     fetchFieldTripError: "트립을 가져오는 중에 오류가 발생했습니다: {err}"
     fetchFieldTripsError: "트립을 가져오는 중에 오류가 발생했습니다: {err}"
     fetchTripsForDateError: "필트 트립 날짜에 대한 트립을 가져오는 중에 오류가 발생했습니다: {err}"
-    incompatibleTripDateError: 계획한 트립 날짜({tripDate})가 요청한 트립 날짜({requestDate})가 아닙니다
-    itineraryCapacityError: "플랜을 저장할 수 없습니다: 하나 이상의 차량의 용량이 부족하여 이 플랜을 저장할 수 없습니다. 트립을 다시 계획하세요."
+    incompatibleTripDateError: 계획한 트립 날짜({tripDate})가 요청한 트립 날짜({requestDate})가 
+      아닙니다
+    itineraryCapacityError: "플랜을 저장할 수 없습니다: 하나 이상의 차량의 용량이 부족하여 이 플랜을 저장할 수 없습니다.
+      트립을 다시 계획하세요."
     maxTripRequestsExceeded: 유효한 결과없이 초과된 트립 요청의 개수
     saveItinerariesError: "트립을 저장하는 데 실패했습니다: {err}"
     setDateError: "날짜를 설정하는 중에 오류가 발생했습니다:"
@@ -54,7 +56,8 @@ actions:
     preferencesSaved: 선호사항이 저장되었습니다.
     smsInvalidCode: 입력한 코드가 유효하지 않습니다. 다시 시도하세요.
     smsResendThrottled: 확인 SMS가 1분 미만 전에 표시된 전화번호로 전송되었습니다. 잠시 후 다시 시도하세요.
-    smsVerificationFailed: 번호가 확인되지 않습니다. 입력한 코드가 만료되었을 수 있습니다. 새 코드를 요청한 후 다시 시도하세요.
+    smsVerificationFailed: 번호가 확인되지 않습니다. 입력한 코드가 만료되었을 수 있습니다. 새 코드를 요청한 후 다시 
+      시도하세요.
 common:
   coordinates: "{lat}, {lon}"
   dateExpressions:
@@ -320,7 +323,8 @@ components:
       header: 이동성 프로필
       mobilityDevices: "이동성 장치: "
       mobilityLimitations: "이동성 제한: "
-      planTripDescription: 여정 동반자가 있는 경우, 동반자의 모빌리티 프로필에 따라 여정을 계획하도록 선택할 수 있습니다.
+      planTripDescription: 여정 동반자가 있는 경우, 동반자의 모빌리티 프로필에 따라 여정을 계획하도록 선택할 수 
+        있습니다.
       visionLimitations: "시력 제한: "
     dropdownLabel: "사용자 모빌리티 프로필:"
     intro: 귀하의 필요 사항과 선호도에 맞게 여행 계획 경험을 맞춤화하기 위해 몇 가지 질문에 답해 주십시오.
@@ -702,7 +706,8 @@ components:
       add-companion-form: "여정 동반자:"
       storeTripHistory: 이동편 이력 저장
   UserSettings:
-    confirmDeletion: 최근 검색이나 장소가 저장되어 있습니다. 최근 장소 또는 검색을 비활성화하면 이러한 항목이 제거됩니다. 계속하시겠습니까?
+    confirmDeletion: 최근 검색이나 장소가 저장되어 있습니다. 최근 장소 또는 검색을 비활성화하면 이러한 항목이 제거됩니다. 
+      계속하시겠습니까?
     favoriteStops: 좋아하는 정류장
     myPreferences: 내 환경설정
     mySavedPlaces: 내 저장 장소 (관리)
@@ -742,5 +747,6 @@ util:
     networkUnavailable: 현재 {network} 네트워크를 사용할 수 없습니다.
     noTripFound: 트립을 찾을 수 없습니다.
     noTripFoundForMode: "{modes}의 트립을 찾을 수 없습니다."
-    noTripFoundReason: 지정된 최대 거리 내 또는 지정된 시간에 대중 교통 서비스가 없거나, 출발지 또는 도착지가 안전하게 접근가능하지 못할 수 있습니다.
+    noTripFoundReason: 지정된 최대 거리 내 또는 지정된 시간에 대중 교통 서비스가 없거나, 출발지 또는 도착지가 안전하게 
+      접근가능하지 못할 수 있습니다.
     noTripFoundWithReason: "{noTripFound} {reason}"
diff --git a/i18n/ru.yml b/i18n/ru.yml
index ccfc03f6e..3a0da7e9d 100644
--- a/i18n/ru.yml
+++ b/i18n/ru.yml
@@ -5,7 +5,8 @@ actions:
     callQuerySaveError: "Ошибка сохранения запросов на вызов: {err}"
     callSaveError: "Не удалось сохранить вызов: {err}"
     checkSessionError: "Ошибка установления сеанса авторизации: {err}"
-    couldNotFindCallError: Не удалось найти вызов. Отмена запроса на сохранение запросов.
+    couldNotFindCallError: Не удалось найти вызов. Отмена запроса на сохранение 
+      запросов.
     fetchCallsError: "Ошибка получения вызовов: {err}"
     queryFetchError: "Ошибка получения запросов: {err}"
   fieldTrip:
@@ -27,7 +28,8 @@ actions:
     itineraryCapacityError: >-
       Невозможно сохранить план. Этот план невозможно сохранить из-за нехватки
       мест в одном или нескольких транспортных средствах. Измените план поездки.
-    maxTripRequestsExceeded: Превышено количество запросов на поездку без действительных результатов
+    maxTripRequestsExceeded: Превышено количество запросов на поездку без 
+      действительных результатов
     saveItinerariesError: "Не удалось сохранить маршруты: {err}"
     setDateError: "Ошибка введения данных:"
     setGroupSizeError: "Ошибка указания размера группы:"
@@ -49,14 +51,18 @@ actions:
     authTokenError: Ошибка получения токена на авторизацию.
     confirmDeleteMonitoredTrip: Удалить эту поездку?
     confirmDeletePlace: Удалить это место?
-    emailVerificationResent: Сообщение с подтверждением адреса электронной почты отправлено повторно.
+    emailVerificationResent: Сообщение с подтверждением адреса электронной почты
+      отправлено повторно.
     genericError: "Произошла ошибка: {err}"
-    getDependentUserInfoFailed: Ошибка при получении информации о профиле мобильности.
-    itineraryExistenceCheckFailed: При проверке возможности выбранной поездки произошла ошибка.
+    getDependentUserInfoFailed: Ошибка при получении информации о профиле 
+      мобильности.
+    itineraryExistenceCheckFailed: При проверке возможности выбранной поездки 
+      произошла ошибка.
     mustAcceptTermsToSavePlace: >-
       Примите «Условия использования» (в разделе «Моя учетная запись»), чтобы
       сохранять местоположения.
-    mustBeLoggedInToSavePlace: Пожалуйста, войдите в систему, чтобы сохранять местоположения.
+    mustBeLoggedInToSavePlace: Пожалуйста, войдите в систему, чтобы сохранять 
+      местоположения.
     placeDeleted: Ваша позиция удалена.
     placeRemembered: Настройки этого места сохранены.
     preferencesSaved: Ваши параметры сохранены.
@@ -230,7 +236,8 @@ components:
     intermediateDestination: Введите промежуточное место назначения
   CompanionsPane:
     addNewCompanion: Добавить нового попутчика
-    companionAlreadyAdded: У вас уже есть попутчик с адресом электронной почты {email}.
+    companionAlreadyAdded: У вас уже есть попутчик с адресом электронной почты 
+      {email}.
     companionExplanation: >
       Invite an existing G-MAP user to be a travel companion by entering their
       email. When they accept, their status will change to "verified", and you
@@ -283,7 +290,8 @@ components:
     editPlaceGeneric: Редактировать место
     invalidAddress: Выберите местоположение для этого места.
     invalidName: Укажите имя этого места.
-    nameAlreadyUsed: Это имя уже используется для другого места. Укажите другое имя.
+    nameAlreadyUsed: Это имя уже используется для другого места. Укажите другое 
+      имя.
     placeNotFound: Место не найдено
     placeNotFoundDescription: Не удалось найти требуемое место.
   FormNavigationButtons:
@@ -324,7 +332,8 @@ components:
         crutches: Костыли
         electric wheelchair: Кресло-коляска с электроприводом
         manual walker: Ручные ходунки
-        manual wheelchair: Кресло-коляска с ручным управлением/обычное кресло-коляска
+        manual wheelchair: Кресло-коляска с ручным управлением/обычное 
+          кресло-коляска
         mobility scooter: Электроскутер для маломобильных людей
         none: Без вспомогательного устройства
         service animal: Служебное животное
@@ -360,7 +369,8 @@ components:
     title: Определите ваш профиль мобильности
   NarrativeItinerariesHeader:
     changeSortDir: Изменить направление сортировки
-    howToFindResults: Чтобы просмотреть результаты, см. заголовок «Найденные маршруты» ниже.
+    howToFindResults: Чтобы просмотреть результаты, см. заголовок «Найденные 
+      маршруты» ниже.
     itinerariesFound: |-
       {itineraryNum, plural,
        one {найден # маршрут}
@@ -461,7 +471,7 @@ components:
       TO: Mесто назначения
   PhoneNumberEditor:
     changeNumber: Изменить номер
-    invalidCode: "Введите проверочный код из 6\_цифр."
+    invalidCode: "Введите проверочный код из 6 цифр."
     invalidPhone: Введите действительный номер телефона.
     phoneNumberSubmitted: Номер телефона{phoneNumber} был успешно отправлен.
     phoneNumberVerified: Номер телефона{phoneNumber}  был успешно проверен.
@@ -474,7 +484,9 @@ components:
       подтверждением и мониторингом поездки. Вашим оператором мобильной связи
       могут взиматься дополнительные пени.
     verificationCode: "Код подтверждения:"
-    verificationInstructions: "Откройте приложение для обмена SMS на телефоне и найдите текстовое сообщение с кодом подтверждения. Затем введите код ниже (срок действия кода: 10\_минут).\n"
+    verificationInstructions: "Откройте приложение для обмена SMS на телефоне и найдите
+      текстовое сообщение с кодом подтверждения. Затем введите код ниже (срок действия
+      кода: 10 минут).\n"
     verify: Подтвердить
     verifySms: >-
       Чтобы настроить отправку уведомлений с помощью SMS-сообщений, пройдите
@@ -531,7 +543,8 @@ components:
     findARoute: Найти маршрут
     header: Средство просмотра маршрутов
     modeFilter: Фильтр режимов
-    noFilteredRoutesFound: Поиск с указанными параметрами фильтра не дал результатов.
+    noFilteredRoutesFound: Поиск с указанными параметрами фильтра не дал 
+      результатов.
     openPatternViewer: Посмотреть детали маршрута
     shortTitle: Просмотр маршрутов
     stopsInDirectionOfTravel: "Остановки в этом направлении движения:"
@@ -572,7 +585,8 @@ components:
     tooManyTrips: >
       Можно сохранить не более пяти поездок. Удалите неиспользуемые поездки из
       раздела сохраненных и попробуйте еще раз.
-    tripNameAlreadyUsed: У вас уже сохранена поездка с таким именем. Укажите другое имя.
+    tripNameAlreadyUsed: У вас уже сохранена поездка с таким именем. Укажите 
+      другое имя.
     tripNameRequired: Укажите имя поездки.
   SequentialPaneDisplay:
     stepNumber: Шаг {шаг} из {общее кол-во}
@@ -631,9 +645,13 @@ components:
     defaultContent: Переключить
     switchLocations: Переключить местоположения
   TermsOfUsePane:
-    confirmDeletionPrompt: "Недавние поисковые запросы и\_(или) места сохранены. Отключение сохранения недавних мест и\_(или) поисковых запросов приведет к удалению этих элементов. Продолжить?\n"
+    confirmDeletionPrompt: "Недавние поисковые запросы и (или) места сохранены. Отключение
+      сохранения недавних мест и (или) поисковых запросов приведет к удалению этих
+      элементов. Продолжить?\n"
     mustAgreeToTerms: Для продолжения примите условия использования.
-    termsOfServiceStatement: "Я подтверждаю, что мне исполнилось 18\_лет и что я прочитал и принимаю Условия использования планировщика поездок.\n"
+    termsOfServiceStatement: "Я подтверждаю, что мне исполнилось 18 лет и что я прочитал
+      и принимаю Условия использования планировщика
+      поездок.\n"
     termsOfStorageStatement: >
       Необязательно: я даю согласие на то, чтобы планировщик поездок хранил
       архивные данные о моих запланированных поездках с целью улучшения услуг
@@ -653,24 +671,29 @@ components:
     tripIsAvailableOnDaysIndicated: Поездка доступна для указанных выше дней.
     tripNamePrompt: "Укажите имя поездки:"
     tripNotAvailableOnDay: "Поездка недоступна для следующих дней: {repeatedDay}"
-    unsavedChangesExistingTrip: Вы не сохранили поездку. Если вы выйдете, все изменения будут утеряны.
-    unsavedChangesNewTrip: Вы не сохранили новую поездку. Если вы выйдете, она будет удалена.
+    unsavedChangesExistingTrip: Вы не сохранили поездку. Если вы выйдете, все 
+      изменения будут утеряны.
+    unsavedChangesNewTrip: Вы не сохранили новую поездку. Если вы выйдете, она 
+      будет удалена.
   TripCompanionsPane:
     companionLabel: "Попутчик в этой поездке:"
     observersLabel: "Наблюдатели следят за этой поездкой:"
     primaryLabel: "Основной путешественник: "
   TripNotificationsPane:
     advancedSettings: Расширенные настройки
-    altRouteRecommended: Рекомендуется использовать пересадку или альтернативный маршрут
+    altRouteRecommended: Рекомендуется использовать пересадку или альтернативный
+      маршрут
     delaysAboveThreshold: Задержки или сбои в работе более чем на
     howToReceiveAlerts: >
       Чтобы получать для сохраненных поездок, включите уведомления в настройках
       учетной записи и сохраните поездку еще раз.
     monitorThisTrip: "Мониторинг данной поездки до ее начала:"
-    notificationsTurnedOff: Уведомления отключены в настройках вашей учетной записи.
+    notificationsTurnedOff: Уведомления отключены в настройках вашей учетной 
+      записи.
     notifyViaChannelWhen: "Использовать канал «{channel}» для уведомлений, когда:"
-    oneHour: "1\_ч"
-    realtimeAlertFlagged: Для моего пути есть предупреждение в режиме реального времени
+    oneHour: "1 ч"
+    realtimeAlertFlagged: Для моего пути есть предупреждение в режиме реального 
+      времени
     timeBefore: "{time} до"
   TripPreviewLayout:
     previewTrip: Предварительный просмотр поездки
@@ -687,7 +710,8 @@ components:
       earlyHeading: >-
         Поездка выполняется. Прибытие к месту назначения на {formattedDuration}
         раньше ожидаемого.
-      noDataHeading: Поездка выполняется (обновления в реальном времени недоступны).
+      noDataHeading: Поездка выполняется (обновления в реальном времени 
+        недоступны).
       onTimeHeading: Поездка выполнятся. Прибытие в запланированное время.
     base:
       lastCheckedDefaultText: Время последней проверки неизвестно
@@ -699,8 +723,7 @@ components:
       untogglePause: Возобновить
     inactive:
       description: >-
-        Возобновите отслеживание поездки, чтобы просматривать изменение ее
-        статуса
+        Возобновите отслеживание поездки, чтобы просматривать изменение ее статуса
       heading: Отслеживание поездки приостановлено
     nextTripNotPossible:
       description: >
@@ -721,8 +744,7 @@ components:
       heading: Поездка в прошлом
     snoozed:
       description: >-
-        Восстановите отслеживание поездки, чтобы просматривать изменение ее
-        статуса
+        Восстановите отслеживание поездки, чтобы просматривать изменение ее статуса
       heading: На сегодня отслеживание поездки отложено
     upcoming:
       nextTripBegins: >-
@@ -732,8 +754,10 @@ components:
         Поездка должна начаться в {tripStart, time, short}. (Отслеживание в
         реальном времени запустится в {monitoringStart, time, short}.)
       tripStartIsDelayed: Начало поездки откладывается на {duration}!
-      tripStartIsEarly: Начало поездки произойдет на {duration} раньше ожидаемого!
-      tripStartsSoonNoUpdates: Поездка скоро начнется (обновления в реальном времени недоступны).
+      tripStartIsEarly: Начало поездки произойдет на {duration} раньше 
+        ожидаемого!
+      tripStartsSoonNoUpdates: Поездка скоро начнется (обновления в реальном 
+        времени недоступны).
       tripStartsSoonOnTime: Поездка скоро начнется. Без задержек.
   TripSummary:
     arriveAt: "Прибытие в "
@@ -743,7 +767,6 @@ components:
     monitoredTripDays: Дни наблюдения за поездками
     notifications: за {leadTimeInMinutes} мин до запланированного времени 
       отправления
-    notificationsDisabled: "Уведомления: отключены"
     timeAndDuration: Время и продолжительность поездки
   TripTools:
     copyLink: Скопировать ссылку
@@ -783,17 +806,23 @@ components:
       add-companion-form: Попутчики
       storeTripHistory: Сохранять историю поездок
   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"
   VerifyEmailPane:
     emailIsVerified: Адрес электронной почты подтвержден.
     instructions1: >
diff --git a/i18n/ta.yml b/i18n/ta.yml
index 3328aed42..3e16b9de4 100644
--- a/i18n/ta.yml
+++ b/i18n/ta.yml
@@ -5,7 +5,8 @@ actions:
     callQuerySaveError: "அழைப்பு வினவல்களை சேமிப்பதில் பிழை: {err}"
     callSaveError: "அழைப்பைச் சேமிக்க முடியவில்லை: {err}"
     checkSessionError: "அங்கீகார அமர்வை நிறுவுவதில் பிழை: {err}"
-    couldNotFindCallError: அழைப்பைக் கண்டுபிடிக்க முடியவில்லை. சேமி வினவல் கோரிக்கையை ரத்து செய்தல்.
+    couldNotFindCallError: அழைப்பைக் கண்டுபிடிக்க முடியவில்லை. சேமி வினவல் 
+      கோரிக்கையை ரத்து செய்தல்.
     fetchCallsError: "அழைப்புகளைப் பெறுவதில் பிழை: {err}"
     queryFetchError: "வினவல்களைப் பெறுவதில் பிழை: {err}"
   fieldTrip:
@@ -28,7 +29,8 @@ actions:
       திட்டத்தை சேமிக்க முடியாது: ஒன்று அல்லது அதற்கு மேற்பட்ட வாகனங்களில் திறன்
       இல்லாததால் இந்த திட்டத்தை சேமிக்க முடியவில்லை. உங்கள் பயணத்தை மீண்டும்
       திட்டமிடுங்கள்.
-    maxTripRequestsExceeded: சரியான முடிவுகள் இல்லாமல் பயணக் கோரிக்கைகளின் எண்ணிக்கை மீறியது
+    maxTripRequestsExceeded: சரியான முடிவுகள் இல்லாமல் பயணக் கோரிக்கைகளின் 
+      எண்ணிக்கை மீறியது
     saveItinerariesError: "பயணத்திட்டங்களைச் சேமிப்பதில் தோல்வி: {err}"
     setDateError: "அமைத்தல் தேதி:"
     setGroupSizeError: "குழு அளவை அமைப்பதில் பிழை:"
@@ -38,7 +40,8 @@ actions:
     deniedAccessAlert: |
       உங்கள் இருப்பிடத்திற்கான அணுகல் தடுக்கப்பட்டுள்ளது.
        உங்கள் தற்போதைய இருப்பிடத்தைப் பயன்படுத்த, உங்கள் உலாவியில் இருந்து இருப்பிட அனுமதிகளை இயக்கவும், பக்கத்தை மீண்டும் ஏற்றவும். 
-    geolocationNotSupportedError: உங்கள் உலாவியால் புவிஇருப்பிடத்தை ஆதரிக்கவில்லை
+    geolocationNotSupportedError: உங்கள் உலாவியால் புவிஇருப்பிடத்தை 
+      ஆதரிக்கவில்லை
     unknownPositionError: தெரியாத பிழை நிலையைப் பெறுகிறது
     userDeniedPermission: பயனர் இசைவு மறுத்தார்
   map:
@@ -51,7 +54,8 @@ actions:
     emailVerificationResent: மின்னஞ்சல் சரிபார்ப்பு செய்தி கோபமடைந்தது.
     genericError: "பிழை ஏற்பட்டது: {err}"
     getDependentUserInfoFailed: இயக்கம் சுயவிவரத் தகவலைப் பெறுவதில் பிழை.
-    itineraryExistenceCheckFailed: நீங்கள் தேர்ந்தெடுத்த பயணம் சாத்தியமா என்பதை சரிபார்க்க பிழை.
+    itineraryExistenceCheckFailed: நீங்கள் தேர்ந்தெடுத்த பயணம் சாத்தியமா என்பதை 
+      சரிபார்க்க பிழை.
     mustAcceptTermsToSavePlace: >-
       இருப்பிடங்களைச் சேமிக்க பயன்பாட்டு விதிமுறைகளை (எனது கணக்கின் கீழ்)
       ஏற்றுக்கொள்ளுங்கள்.
@@ -157,7 +161,8 @@ common:
   searchForms:
     click: சொடுக்கு செய்க
     enterDestination: வரைபடத்தில் இலக்கு அல்லது {mapAction} ஐ உள்ளிடவும்…
-    enterStartLocation: வரைபடத்தில் தொடக்க இருப்பிடத்தை அல்லது {mapAction} ஐ உள்ளிடவும்…
+    enterStartLocation: வரைபடத்தில் தொடக்க இருப்பிடத்தை அல்லது {mapAction} ஐ 
+      உள்ளிடவும்…
     tap: தட்டவும்
   time:
     duration:
@@ -176,7 +181,8 @@ components:
     message: உங்கள் பயணங்களைத் திட்டமிடத் தொடங்க நீங்கள் தயாராக உள்ளீர்கள்.
   AddPlaceButton:
     addPlace: இடம் சேர்க்கவும்
-    needOriginDestination: இடைநிலை இடங்களைச் சேர்க்க தோற்றம்/இலக்கை வரையறுக்கவும்
+    needOriginDestination: இடைநிலை இடங்களைச் சேர்க்க தோற்றம்/இலக்கை 
+      வரையறுக்கவும்
     tooManyPlaces: அதிகபட்ச இடைநிலை இடங்கள் எட்டப்பட்டன
   AdvancedOptions:
     bannedRoutes: தடைசெய்யப்பட்ட பாதைகளைத் தேர்ந்தெடுக்கவும்…
@@ -230,7 +236,8 @@ components:
     intermediateDestination: இடைநிலை இலக்கை உள்ளிடவும்
   CompanionsPane:
     addNewCompanion: ஒரு புதிய பயணத் தோழரைச் சேர்க்கவும்
-    companionAlreadyAdded: உங்களிடம் ஏற்கனவே மின்னஞ்சல்{email} உடன் ஒரு தோழர் இருக்கிறார்
+    companionAlreadyAdded: உங்களிடம் ஏற்கனவே மின்னஞ்சல்{email} உடன் ஒரு தோழர் 
+      இருக்கிறார்
     companionExplanation: >
       ஏற்கனவே உள்ள சி-மேப் பயனரை அவர்களின் மின்னஞ்சலை உள்ளிட்டு பயணத் தோழராக
       அழைக்க அழைக்கவும். அவர்கள் ஏற்றுக்கொள்ளும்போது, அவர்களின் நிலை
@@ -393,7 +400,8 @@ components:
     signOut: விடுபதிகை
   NearbyView:
     bikeRentalStation: பைக் வாடகை நிலையம்
-    bikesAvailable: "{பைக்ச்வெயிலபிள், பன்மை, ஒன்று {# பைக்} மற்ற {# பைக்குகள்}}} கிடைக்கிறது"
+    bikesAvailable: "{பைக்ச்வெயிலபிள், பன்மை, ஒன்று {# பைக்} மற்ற {# பைக்குகள்}}}
+      கிடைக்கிறது"
     companyBicycle: "{company} பைக்"
     companyScooter: "{company} ச்கூட்டர்"
     distanceAway: "{localizedDistanceString} தொலைவில்"
@@ -469,8 +477,10 @@ components:
     changeNumber: எண்ணை மாற்றவும்
     invalidCode: சரிபார்ப்புக் குறியீட்டிற்கு 6 இலக்கங்களை உள்ளிடவும்.
     invalidPhone: செல்லுபடியாகும் தொலைபேசி எண்ணை உள்ளிடவும்.
-    phoneNumberSubmitted: தொலைபேசி எண் {phoneNumber} வெற்றிகரமாக சமர்ப்பிக்கப்பட்டது.
-    phoneNumberVerified: தொலைபேசி எண் {phoneNumber} வெற்றிகரமாக சரிபார்க்கப்பட்டது.
+    phoneNumberSubmitted: தொலைபேசி எண் {phoneNumber} வெற்றிகரமாக 
+      சமர்ப்பிக்கப்பட்டது.
+    phoneNumberVerified: தொலைபேசி எண் {phoneNumber} வெற்றிகரமாக 
+      சரிபார்க்கப்பட்டது.
     placeholder: உங்கள் தொலைபேசி எண்ணை உள்ளிடவும்
     prompt: "எச்எம்எச் அறிவிப்புகளுக்கு உங்கள் தொலைபேசி எண்ணை உள்ளிடவும்:"
     requestNewCode: புதிய குறியீட்டைக் கோருங்கள்
@@ -485,7 +495,8 @@ components:
       எச்எம்எச் செய்தி பயன்பாட்டை சரிபார்க்கவும், கீழே உள்ள குறியீட்டை
       உள்ளிடவும் (குறியீடு 10 நிமிடங்களுக்குப் பிறகு காலாவதியாகிறது).
     verify: சரிபார்க்கவும்
-    verifySms: எச்எம்எச் அறிவிப்புகளை அமைக்க சரிபார்ப்பு செயல்முறையை முடிக்கவும்.
+    verifySms: எச்எம்எச் அறிவிப்புகளை அமைக்க சரிபார்ப்பு செயல்முறையை 
+      முடிக்கவும்.
   Place:
     deleteThisPlace: இந்த இடத்தை நீக்கு
     enterAlert: >
@@ -539,7 +550,8 @@ components:
     header: பாதை பார்வையாளர்
     modeFilter: பயன்முறை வடிகட்டி
     noFilteredRoutesFound: உங்கள் வடிப்பானுடன் எந்த வழிகளும் பொருந்தவில்லை!
-    noRouteFilter: பாதை பட்டியலில் தற்போது வடிப்பான்கள் எதுவும் பயன்படுத்தப்படவில்லை.
+    noRouteFilter: பாதை பட்டியலில் தற்போது வடிப்பான்கள் எதுவும் 
+      பயன்படுத்தப்படவில்லை.
     openPatternViewer: பாதை விவரங்களைக் காண்க
     routesFilteredBy: >-
       பின்வரும் வடிப்பான்கள் தற்போது பாதை பட்டியலில் பயன்படுத்தப்படுகின்றன:
@@ -574,7 +586,8 @@ components:
     fromTo: "{from} முதல் {to}"
     myTrips: என் பயணங்கள்
     noSavedTrips: உங்களிடம் சேமிக்கப்பட்ட பயணங்கள் எதுவும் இல்லை
-    noSavedTripsInstructions: முதலில் வரைபடத்திலிருந்து பயணத் தேடலைச் செய்யுங்கள்.
+    noSavedTripsInstructions: முதலில் வரைபடத்திலிருந்து பயணத் தேடலைச் 
+      செய்யுங்கள்.
     pause: இடைநிறுத்தம்
     resume: மீண்டும் தொடங்குங்கள்
   SavedTripScreen:
@@ -598,7 +611,8 @@ components:
     header: காலக்கெடு வரை அமர்வு!
     keepSession: அமர்வைத் தொடரவும்
   SimpleRealtimeAnnotation:
-    usingRealtimeInfo: இந்த பயணம் நிகழ்நேர போக்குவரத்து மற்றும் தாமத தகவல்களைப் பயன்படுத்துகிறது
+    usingRealtimeInfo: இந்த பயணம் நிகழ்நேர போக்குவரத்து மற்றும் தாமத தகவல்களைப் 
+      பயன்படுத்துகிறது
   StackedPaneDisplay:
     savePreferences: விருப்பங்களை சேமிக்கவும்
   StatusBadge:
@@ -664,11 +678,13 @@ components:
     travelingAt: "{milesPerHour} இல் பயணம்"
     vehicleName: வண்டி {vehicleNumber}
   TripBasicsPane:
-    checkingItineraryExistence: வாரத்தின் ஒவ்வொரு நாளுக்கும் பயணத்தின் இருப்பை சரிபார்க்கிறது ...
+    checkingItineraryExistence: வாரத்தின் ஒவ்வொரு நாளுக்கும் பயணத்தின் இருப்பை 
+      சரிபார்க்கிறது ...
     onlyOnDate: "{தேதி, தேதியில் மட்டுமே, :: eeeee yyyymmdd}"
     recurringEachWeek: ஒவ்வொரு வாரமும் சில நாட்களில்
     tripDaysPrompt: இந்த பயணத்தை நீங்கள் என்ன நாட்கள் எடுக்கிறீர்கள்?
-    tripIsAvailableOnDaysIndicated: மேலே குறிப்பிட்டுள்ளபடி உங்கள் பயணம் வாரத்தின் நாட்களில் கிடைக்கிறது.
+    tripIsAvailableOnDaysIndicated: மேலே குறிப்பிட்டுள்ளபடி உங்கள் பயணம் 
+      வாரத்தின் நாட்களில் கிடைக்கிறது.
     tripNamePrompt: "இந்த பயணத்திற்கு ஒரு பெயரை வழங்கவும்:"
     tripNotAvailableOnDay: பயணம் {repeatedDay}
     unsavedChangesExistingTrip: >-
@@ -683,7 +699,8 @@ components:
     primaryLabel: "முதன்மை பயணி: "
   TripNotificationsPane:
     advancedSettings: மேம்பட்ட அமைப்புகள்
-    altRouteRecommended: மாற்று பாதை அல்லது பரிமாற்ற புள்ளி பரிந்துரைக்கப்படுகிறது
+    altRouteRecommended: மாற்று பாதை அல்லது பரிமாற்ற புள்ளி 
+      பரிந்துரைக்கப்படுகிறது
     delaysAboveThreshold: விட தாமதங்கள் அல்லது இடையூறுகள் உள்ளன
     howToReceiveAlerts: >
       நீங்கள் சேமித்த பயணங்களுக்கான விழிப்பூட்டல்களைப் பெற, உங்கள் கணக்கு
@@ -693,7 +710,8 @@ components:
     notificationsTurnedOff: உங்கள் கணக்கிற்கு அறிவிப்புகள் அணைக்கப்படுகின்றன.
     notifyViaChannelWhen: "{channel} வழியாக எனக்கு அறிவிக்கவும்:"
     oneHour: 1 மணி நேரம்
-    realtimeAlertFlagged: எனது பயணத்தில் ஒரு நிகழ்நேர எச்சரிக்கை கொடியிடப்பட்டுள்ளது
+    realtimeAlertFlagged: எனது பயணத்தில் ஒரு நிகழ்நேர எச்சரிக்கை 
+      கொடியிடப்பட்டுள்ளது
     timeBefore: "{time} முன்"
   TripPreviewLayout:
     previewTrip: முன்னோட்டம் பயணம்
@@ -703,12 +721,14 @@ components:
     planNewTrip: புதிய பயணத்தைத் திட்டமிடுங்கள்
   TripStatusRenderers:
     active:
-      delayedHeading: பயணம் நடந்து கொண்டிருக்கிறது மற்றும் தாமதமானது {formattedDuration}!
+      delayedHeading: பயணம் நடந்து கொண்டிருக்கிறது மற்றும் தாமதமானது 
+        {formattedDuration}!
       description: பயணம் இலக்கு மற்றும் {வருகைநேரம், நேரம், குறுகிய}.
       earlyHeading: >-
         பயணம் நடந்து கொண்டிருக்கிறது மற்றும் எதிர்பார்த்ததை விட
         {formattedDuration} முன்னதாக வந்து வருகிறது!
-      noDataHeading: பயணம் நடந்து வருகிறது (நிகழ்நேர புதுப்பிப்புகள் எதுவும் கிடைக்கவில்லை).
+      noDataHeading: பயணம் நடந்து வருகிறது (நிகழ்நேர புதுப்பிப்புகள் எதுவும் 
+        கிடைக்கவில்லை).
       onTimeHeading: பயணம் நடந்து வருகிறது, சரியான நேரத்தில் உள்ளது.
     base:
       lastCheckedDefaultText: கடைசியாக சரிபார்க்கப்பட்ட நேரம் தெரியவில்லை
@@ -719,7 +739,8 @@ components:
       unknownState: தெரியாத பயண நிலை
       untogglePause: மீண்டும் தொடங்குங்கள்
     inactive:
-      description: புதுப்பிக்கப்பட்ட நிலையைக் காண பயண கண்காணிப்பை மீண்டும் தொடங்குங்கள்
+      description: புதுப்பிக்கப்பட்ட நிலையைக் காண பயண கண்காணிப்பை மீண்டும் 
+        தொடங்குங்கள்
       heading: பயண கண்காணிப்பு இடைநிறுத்தப்பட்டுள்ளது
     nextTripNotPossible:
       description: >
@@ -751,7 +772,8 @@ components:
         பயணம் {டிரிப்ச்டார்ட், நேரம், குறுகிய} இல் தொடங்க உள்ளது. (நிகழ்நேர
         கண்காணிப்பு {மானிட்டரிங்ச்டார்ட், நேரம், குறுகிய} இல் தொடங்கும்.)
       tripStartIsDelayed: பயண தொடக்க நேரம் தாமதமானது {duration}!
-      tripStartIsEarly: பயண தொடக்க நேரம் நடக்கிறது {duration} எதிர்பார்த்ததை விட முன்னதாக!
+      tripStartIsEarly: பயண தொடக்க நேரம் நடக்கிறது {duration} எதிர்பார்த்ததை விட
+        முன்னதாக!
       tripStartsSoonNoUpdates: >-
         பயணம் விரைவில் தொடங்குகிறது (நிகழ்நேர புதுப்பிப்புகள் எதுவும்
         கிடைக்கவில்லை).
@@ -829,7 +851,8 @@ components:
       தயவுசெய்து உங்கள் மின்னஞ்சல் இன்பாக்சைச் சரிபார்த்து, உங்கள் கணக்கு
       அமைப்பை முடிப்பதற்கு முன் உங்கள் மின்னஞ்சல் முகவரியை சரிபார்க்க செய்தியில்
       உள்ள இணைப்பைப் பின்தொடரவும்.
-    instructions2: நீங்கள் சரிபார்க்கியதும், தொடர கீழே உள்ள பொத்தானைக் சொடுக்கு செய்க.
+    instructions2: நீங்கள் சரிபார்க்கியதும், தொடர கீழே உள்ள பொத்தானைக் சொடுக்கு 
+      செய்க.
     resendVerification: சரிபார்ப்பு மின்னஞ்சல் மீண்டும் அனுப்பவும்
   ViewSwitcher:
     nearby: அருகில்
diff --git a/i18n/tl.yml b/i18n/tl.yml
index e3540747f..f4f96a6f8 100644
--- a/i18n/tl.yml
+++ b/i18n/tl.yml
@@ -45,7 +45,8 @@ actions:
 
       Para gamitin ang kasalukuyang lokasyon mo, i-enable ang mga pahintulot sa
       lokasyon mula sa browser mo, at i-reload ang page. 
-    geolocationNotSupportedError: Hindi sinusuportahan ng iyong browser ang geolocation
+    geolocationNotSupportedError: Hindi sinusuportahan ng iyong browser ang 
+      geolocation
     unknownPositionError: Nagka-error sa pagkuha sa posisyon
     userDeniedPermission: Tinanggihan ng user ang pahintulot
   map:
@@ -57,12 +58,15 @@ actions:
     confirmDeletePlace: Gusto mo bang alisin ang lugar na ito?
     emailVerificationResent: Ipinadala ulit ang mensahe ng pag-verify sa email.
     genericError: "Nagka-error: {err}"
-    getDependentUserInfoFailed: Pagkakamali sa pagkuha ng impormasyon sa profile sa kadaliang kumilos.
-    itineraryExistenceCheckFailed: Nagka-error sa pagtingin kung posible ang napili mong biyahe.
+    getDependentUserInfoFailed: Pagkakamali sa pagkuha ng impormasyon sa profile
+      sa kadaliang kumilos.
+    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.
-    mustBeLoggedInToSavePlace: Mangyaring mag-log in para mag-save ng mga lokasyon.
+    mustBeLoggedInToSavePlace: Mangyaring mag-log in para mag-save ng mga 
+      lokasyon.
     placeDeleted: Na-delete na ang iyong lugar.
     placeRemembered: Na-save na ang mga setting para sa lugar na ito.
     preferencesSaved: Na-save ang iyong mga kagustuhan.
@@ -162,7 +166,8 @@ common:
   searchForms:
     click: click
     enterDestination: Ilagay ang destinasyon o {mapAction} sa mapa…
-    enterStartLocation: Ilagay ang lokasyon ng pagsisimula o {mapAction} sa mapa…
+    enterStartLocation: Ilagay ang lokasyon ng pagsisimula o {mapAction} sa 
+      mapa…
     tap: tap
   time:
     duration:
@@ -176,7 +181,8 @@ common:
       other {# sec}}
 components:
   A11yPrefs:
-    accessibilityRoutingByDefault: Mas gusto ang mga accessible na biyahe bilang default
+    accessibilityRoutingByDefault: Mas gusto ang mga accessible na biyahe bilang
+      default
   AccountSetupFinishPane:
     message: Handa ka nang simulan na planuhin ang mga biyahe mo.
   AddPlaceButton:
@@ -225,7 +231,8 @@ 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: >
@@ -449,7 +456,8 @@ components:
         May nakitang koneksyon sa pampublikong sasakyan, pero nasa labas ito ng
         search window, subukang iayos ang iyong search window, gamit ang mga uri
         ng sasakyang pinili mo.
-      header: Walang koneksyon sa pampublikong transportasyon sa window ng paghahanap
+      header: Walang koneksyon sa pampublikong transportasyon sa window ng 
+        paghahanap
     OUTSIDE_BOUNDS:
       body: >-
         {inputFields} {inputFieldsCount, plural, =0 {} one {ang lokasyon ay}
@@ -477,8 +485,10 @@ components:
     changeNumber: Baguhin ang numero
     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} .
+    phoneNumberSubmitted: Matagumpay na naisumite 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
@@ -655,7 +665,8 @@ components:
       May mga na-store kang paghahanap at/o lugar kamakailan. Kapag na-disable
       ang pag-store ng mga lugar/paghahanap kamakailan, maaalis ang mga item na
       ito. Magpatuloy?
-    mustAgreeToTerms: Dapat kang sumang-ayon sa mga tuntunin ng serbisyo para magpatuloy.
+    mustAgreeToTerms: Dapat kang sumang-ayon sa mga tuntunin ng serbisyo para 
+      magpatuloy.
     termsOfServiceStatement: >
       Kinukumpirma kong ako ay may edad na hindi bababa sa 18 taong gulang, at
       nabasa at pinapahintulutan ko ang Mga Tuntunin ng
@@ -672,11 +683,13 @@ 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: >-
@@ -691,7 +704,8 @@ components:
     primaryLabel: "Pangunahing manlalakbay: "
   TripNotificationsPane:
     advancedSettings: Mga advanced na setting
-    altRouteRecommended: Inirerekomenda ang isang alternatibong ruta o transfer point
+    altRouteRecommended: Inirerekomenda ang isang alternatibong ruta o transfer 
+      point
     delaysAboveThreshold: May mga pagkaantala o abalang mahigit sa
     howToReceiveAlerts: >
       Para makatanggap ng mga alerto para sa iyong mga naka-save na biyahe,
@@ -711,12 +725,14 @@ components:
     planNewTrip: Magplano ng Bagong Biyahe
   TripStatusRenderers:
     active:
-      delayedHeading: Nasa biyahe sa kasalukuyan at naantala ito nang {formattedDuration}!
+      delayedHeading: Nasa biyahe sa kasalukuyan at naantala ito nang 
+        {formattedDuration}!
       description: Darating sa patutunguhan nang {arrivalTime, time, short}.
       earlyHeading: >-
         Nasa biyahe sa kasalukuyan at darating nang {formattedDuration} na mas
         maaga kaysa sa inaasahan!
-      noDataHeading: Nasa biyahe sa kasalukuyan (walang realtime na update na available).
+      noDataHeading: Nasa biyahe sa kasalukuyan (walang realtime na update na 
+        available).
       onTimeHeading: Nasa biyahe sa kasalukuyan at nasa oras ito.
     base:
       lastCheckedDefaultText: Hindi alam ang oras kung kailan huling tiningnan
@@ -727,7 +743,8 @@ 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: >
@@ -749,7 +766,8 @@ components:
       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: >-
@@ -758,8 +776,10 @@ components:
       tripBegins: >-
         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!
+      tripStartIsDelayed: Naantala ang oras ng pagsisimula ng biyahe nang 
+        {duration}!
+      tripStartIsEarly: Nagsisimula na ang biyahe {duration} na mas maaga kaysa 
+        sa inaasahan!
       tripStartsSoonNoUpdates: >-
         Malapit nang magsimula ang biyahe (walang realtime na update na
         available).
@@ -836,7 +856,8 @@ components:
       Tingnan ang inbox ng iyong email at sundan ang link sa mensahe para
       i-verify ang iyong email address bago tapusin ang pag-set up sa iyong
       account.
-    instructions2: Kapag na-verify ka na, i-click ang button sa ibaba para magpatuloy.
+    instructions2: Kapag na-verify ka na, i-click ang button sa ibaba para 
+      magpatuloy.
     resendVerification: Ipadala ulit ang email ng pag-verify
   ViewSwitcher:
     nearby: Tingnan ang Malapit
diff --git a/i18n/vi.yml b/i18n/vi.yml
index 6b97b407c..467d5f6ed 100644
--- a/i18n/vi.yml
+++ b/i18n/vi.yml
@@ -5,7 +5,8 @@ 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:
@@ -28,7 +29,8 @@ 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:"
@@ -40,7 +42,8 @@ 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:
@@ -52,8 +55,10 @@ 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}"
-    getDependentUserInfoFailed: Đã xảy ra lỗi khi thu thập thông tin hồ sơ di chuyển.
-    itineraryExistenceCheckFailed: Lỗi kiểm tra xem chuyến đi được chọn của bạn là có thể.
+    getDependentUserInfoFailed: Đã xảy ra lỗi khi thu thập thông tin hồ sơ di 
+      chuyển.
+    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.
@@ -169,12 +174,14 @@ 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…
@@ -273,14 +280,17 @@ components:
     setAddressForPlaceType: Cài đặt địa chỉ {placeType} của bạn
   FavoritePlaceScreen:
     addNewPlace: Thêm địa điểm mới
-    charactersRemaining: "{chars, plural, one {# ký tự còn lại} other {# số ký tự còn lại}}"
+    charactersRemaining: "{chars, plural, one {# ký tự còn lại} other {# số ký tự
+      còn lại}}"
     editPlace: Chỉnh sửa {placeName}
     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.
+    placeNotFoundDescription: Xin lỗi, địa điểm được yêu cầu không được tìm 
+      thấy.
   FormNavigationButtons:
     ariaLabel: Điều hướng hình thức
   ItinerarySummary:
@@ -355,7 +365,8 @@ components:
     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.
+    howToFindResults: Để xem kết quả, xem phần các hành trình đã tìm thấy ở phía
+      dưới.
     itinerariesFound: "{itineraryNum} hành trình được tìm thấy"
     resultsSortedBy: >-
       Kết quả chuyến đi hiện được sắp xếp theo {sortSelected}. Để thay đổi cách
@@ -397,8 +408,10 @@ 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:
@@ -453,7 +466,8 @@ components:
     invalidCode: Vui lòng nhập 6 chữ số cho mã xác thực.
     invalidPhone: Xin vui lòng nhập một số điện thoại hợp lệ.
     phoneNumberSubmitted: Gửi thành công số điện thoại {phoneNumber}.
-    phoneNumberVerified: Số điện thoại {phoneNumber} đã được xác minh thành công.
+    phoneNumberVerified: Số điện thoại {phoneNumber} đã được xác minh thành 
+      công.
     placeholder: Nhập số điện thoại của bạn
     prompt: "Nhập số điện thoại của bạn để nhận thông báo SMS:"
     requestNewCode: Yêu cầu một mã mới
@@ -468,7 +482,8 @@ components:
       thấy tin nhắn với mã xác minh và nhập mã bên dưới (mã hết hạn sau 10
       phút).
     verify: Kiểm chứng
-    verifySms: Vui lòng hoàn tất quy trình xác minh để thiết lập thông báo qua SMS.
+    verifySms: Vui lòng hoàn tất quy trình xác minh để thiết lập thông báo qua 
+      SMS.
   Place:
     deleteThisPlace: Xóa nơi này
     enterAlert: >
@@ -551,7 +566,8 @@ components:
     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 đồ.
+    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
     unsnooze: Tiếp tục
@@ -627,7 +643,8 @@ components:
       Việc xóa bỏ sự đồng ý của bạn đối với việc lưu trữ các chuyến đi lịch sử
       sẽ khiến lịch sử chuyến đi của bạn bị xóa. Bạn có chắc chắn muốn tiếp tục
       không?
-    mustAgreeToTerms: Bạn phải đồng ý với các điều khoản của dịch vụ để tiếp tục.
+    mustAgreeToTerms: Bạn phải đồng ý với các điều khoản của dịch vụ để tiếp 
+      tục.
     termsOfServiceStatement: >
       Tôi xác nhận rằng tôi từ 18 tuổi trở lên và tôi đã đọc và đồng ý với
       Điều khoản của dịch vụ để sử dụng Công cụ
@@ -644,22 +661,27 @@ 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.
+    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.
   TripCompanionsPane:
     companionLabel: "Người đồng hành trên chuyến đi này:"
     observersLabel: "Người quan sát đang theo dõi chuyến đi này:"
     primaryLabel: "Người di chuyển chính: "
   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
@@ -668,7 +690,8 @@ 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
@@ -678,12 +701,14 @@ components:
     planNewTrip: Lên kế hoạch cho chuyến đi mới
   TripStatusRenderers:
     active:
-      delayedHeading: Chuyến đi đang được tiến hành và bị trì hoãn {formattedDuration}!
+      delayedHeading: Chuyến đi đang được tiến hành và bị trì hoãn 
+        {formattedDuration}!
       description: Chuyến đi sẽ đến đích lúc {arrivalTime, time, short}.
       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
@@ -731,7 +756,8 @@ 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ờ.
   TripSummary:
     arriveAt: "Đến nơi "