diff options
| author | Zog | 2018-02-07 11:12:04 +0100 |
|---|---|---|
| committer | Luc Donnet | 2018-02-09 13:56:54 +0100 |
| commit | c20f034b60d39a4bcb56cd61f3fa314c64a8736c (patch) | |
| tree | a50d80911e6885c38c7e8fb1050635aea8d60d36 | |
| parent | 8e83e4105a46f602d8701e7c70437367126704ff (diff) | |
| download | chouette-core-c20f034b60d39a4bcb56cd61f3fa314c64a8736c.tar.bz2 | |
Refs #4126 @2h; Add more translations
8 files changed, 169 insertions, 134 deletions
diff --git a/app/assets/stylesheets/components/_tables.sass b/app/assets/stylesheets/components/_tables.sass index 5f8b06f09..1e02ad586 100644 --- a/app/assets/stylesheets/components/_tables.sass +++ b/app/assets/stylesheets/components/_tables.sass @@ -326,7 +326,25 @@ border-bottom: 2px solid rgba($grey, 0.5) border-top: 1px solid rgba($grey, 0.5) text-transform: capitalize - + + .info-button + position: absolute + width: 20px + height: 20px + top: 0 + right: 0 + margin: 6px 8px + button + border: none + background: $blue + border-radius: 20px + width: 100% + height: 100% + font-size: 12px + line-height: 14px + color: white + outline: none + .td position: relative padding: 6px 8px diff --git a/app/javascript/vehicle_journeys/components/Navigate.js b/app/javascript/vehicle_journeys/components/Navigate.js index 0158b8392..24843babc 100644 --- a/app/javascript/vehicle_journeys/components/Navigate.js +++ b/app/javascript/vehicle_journeys/components/Navigate.js @@ -17,8 +17,7 @@ export default function Navigate({ dispatch, vehicleJourneys, pagination, status if(status.fetchSuccess == true) { return ( <div className="pagination"> - Liste des horaires {minVJ} à {maxVJ} sur {pagination.totalCount} - + {I18n.t("vehicle_journeys.vehicle_journeys_matrix.pagination", {minVJ, maxVJ, total:pagination.totalCount})} <form className='page_links' onSubmit={e => {e.preventDefault()}}> <button onClick={e => { @@ -53,4 +52,4 @@ Navigate.propTypes = { status: PropTypes.object.isRequired, pagination: PropTypes.object.isRequired, dispatch: PropTypes.func.isRequired -}
\ No newline at end of file +} diff --git a/app/javascript/vehicle_journeys/components/ToggleArrivals.js b/app/javascript/vehicle_journeys/components/ToggleArrivals.js index 9e7089be5..9a2b0097f 100644 --- a/app/javascript/vehicle_journeys/components/ToggleArrivals.js +++ b/app/javascript/vehicle_journeys/components/ToggleArrivals.js @@ -5,7 +5,7 @@ import PropTypes from 'prop-types' export default function ToggleArrivals({filters, onToggleArrivals}) { return ( <div className='has_switch form-group inline'> - <label htmlFor='toggleArrivals' className='control-label'>Afficher et éditer les horaires d'arrivée</label> + <label htmlFor='toggleArrivals' className='control-label'>{I18n.t('vehicle_journeys.form.show_arrival_time')}</label> <div className='form-group'> <div className='checkbox'> <label> diff --git a/app/javascript/vehicle_journeys/components/Tools.js b/app/javascript/vehicle_journeys/components/Tools.js index ee02e5a68..22ea44283 100644 --- a/app/javascript/vehicle_journeys/components/Tools.js +++ b/app/javascript/vehicle_journeys/components/Tools.js @@ -44,8 +44,8 @@ export default class Tools extends Component { <DeleteVehicleJourneys disabled={!this.hasPolicy("destroy") || !editMode}/> </ul> - <span className='info-msg'>{actions.getSelected(vehicleJourneys).length} course(s) sélectionnée(s)</span> - <button className='btn btn-xs btn-link pull-right' onClick={onCancelSelection}>Annuler la sélection</button> + <span className='info-msg'>{I18n.t('vehicle_journeys.vehicle_journeys_matrix.selected_journeys', {count: actions.getSelected(vehicleJourneys).length})}</span> + <button className='btn btn-xs btn-link pull-right' onClick={onCancelSelection}>{I18n.t('vehicle_journeys.vehicle_journeys_matrix.cancel_selection')}</button> </div> ) } diff --git a/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js index bcfd4eb41..d3c01f154 100644 --- a/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js @@ -59,7 +59,7 @@ export default class EditVehicleJourney extends Component { <div className='modal-dialog'> <div className='modal-content'> <div className='modal-header'> - <h4 className='modal-title'>Informations</h4> + <h4 className='modal-title'>{I18n.t('vehicle_journeys.form.infos')}</h4> <span type="button" className="close modal-close" data-dismiss="modal">×</span> </div> @@ -69,7 +69,7 @@ export default class EditVehicleJourney extends Component { <div className='row'> <div className='col-lg-6 col-md-6 col-sm-6 col-xs-12'> <div className='form-group'> - <label className='control-label'>Nom de la course</label> + <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'journey_name')}</label> <input type='text' ref='published_journey_name' @@ -82,7 +82,7 @@ export default class EditVehicleJourney extends Component { </div> <div className='col-lg-6 col-md-6 col-sm-6 col-xs-12'> <div className='form-group'> - <label className='control-label'>Mission</label> + <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'journey_pattern')}</label> <input type='text' className='form-control' @@ -96,7 +96,7 @@ export default class EditVehicleJourney extends Component { <div className='row'> <div className='col-lg-6 col-md-6 col-sm-6 col-xs-12'> <div className='form-group'> - <label className='control-label'>Numéro de train</label> + <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'company')}</label> <input type='text' ref='published_journey_identifier' @@ -109,7 +109,7 @@ export default class EditVehicleJourney extends Component { </div> <div className='col-lg-6 col-md-6 col-sm-6 col-xs-12'> <div className='form-group'> - <label className='control-label'>Transporteur</label> + <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'company')}</label> <CompanySelect2 editModal={this.props.modal.type == "edit"} editMode={this.editMode()} @@ -124,7 +124,7 @@ export default class EditVehicleJourney extends Component { <div className='row'> <div className='col-lg-6 col-md-6 col-sm-6 col-xs-12'> <div className='form-group'> - <label className='control-label'>Mode de transport</label> + <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'transport_mode')}</label> <input type='text' className='form-control' @@ -135,18 +135,18 @@ export default class EditVehicleJourney extends Component { </div> <div className='col-lg-6 col-md-6 col-sm-6 col-xs-12'> <div className='form-group'> - <label className='control-label'>Sous mode de transport</label> + <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'transport_submode')}</label> <input type='text' className='form-control' - value={window.I18n.fr.enumerize.transport_submode[this.props.modal.modalProps.vehicleJourney.transport_submode]} + value={I18n.enumerize('transport_submode', this.props.modal.modalProps.vehicleJourney.transport_submode)} disabled={true} /> </div> </div> </div> <div className='form-group'> - <label className='control-label'>Signature métier</label> + <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'checksum')}</label> <input type='text' ref='checksum' diff --git a/app/javascript/vehicle_journeys/components/tools/VehicleJourneyInfoButton.js b/app/javascript/vehicle_journeys/components/tools/VehicleJourneyInfoButton.js index a63a1d701..538bbdbd6 100644 --- a/app/javascript/vehicle_journeys/components/tools/VehicleJourneyInfoButton.js +++ b/app/javascript/vehicle_journeys/components/tools/VehicleJourneyInfoButton.js @@ -10,7 +10,7 @@ export default class VehicleJourneyInfoButton extends Component { render() { return ( - <li className='st_action'> + <div className='info-button'> <button type='button' data-toggle='modal' @@ -19,7 +19,7 @@ export default class VehicleJourneyInfoButton extends Component { > <span className='fa fa-info'></span> </button> - </li> + </div> ) } } diff --git a/config/locales/vehicle_journeys.en.yml b/config/locales/vehicle_journeys.en.yml index a1f20a7e8..0c8a75b0c 100644 --- a/config/locales/vehicle_journeys.en.yml +++ b/config/locales/vehicle_journeys.en.yml @@ -1,11 +1,14 @@ en: vehicle_journeys: vehicle_journeys_matrix: - line_routes: "Line's routes" + cancel_selection: "Cancel Selection" fetching_error: "There has been a problem fetching the data. Please reload the page to try again." - show_timetable: 'Show calendar' - show_purchase_window: 'Show the purchase window' + line_routes: "Line's routes" modal_confirm: 'Do you want to save mofications before moving on to the next page ?' + pagination: "Schedules %{minVJ} to %{maxVJ} over %{total}" + selected_journeys: "%{count} selected journeys" + show_purchase_window: 'Show the purchase window' + show_timetable: 'Show calendar' vehicle_journey: title_stopless: "Vehicle journey %{name}" title: "Vehicle journey leaving from %{stop} at %{time}" @@ -29,52 +32,54 @@ en: title_stopless: "Update vehicle journey %{name}" title: "Update vehicle journey %{name} leaving from %{stop} at %{time}" form: - stop_title: "Stop" - departure: "Departure" + arrival_at: "Arrival at" arrival: "Arrival" departure_at: "Departure at" - arrival_at: "Arrival at" - to_arrivals: "Copy departures to arrivals" - to_departures: "Copy arrivals to departures" - time_tables: "Associated calendars to vehicle journey" - slide: "Shift" - slide_title: "Shift all vehicle passing times" - set: "Set" - to: "at" + departure: "Departure" departure_range: label: Journey departure range start: Start end: End - show_journeys_without_schedule: "Show journeys without schedule" + infos: Informations + set: "Set" + show_arrival_time: "Show and edit arrival times" show_journeys_with_calendar: "Show journeys with calendar" - slide_departure: "departure time at first stop" + show_journeys_without_schedule: "Show journeys without schedule" slide_arrival: "arrival time at first stop" - submit_timed: "Create vehicle journey" + slide_departure: "departure time at first stop" + slide_title: "Shift all vehicle passing times" + slide: "Shift" + stop_title: "Stop" + submit_frequency_edit: "Edit frequency vehicle journey" submit_frequency: "Create frequency vehicle journey" submit_timed_edit: "Edit vehicle journey" - submit_frequency_edit: "Edit frequency vehicle journey" + submit_timed: "Create vehicle journey" + time_tables: "Associated calendars to vehicle journey" + to_arrivals: "Copy departures to arrivals" + to_departures: "Copy arrivals to departures" + to: "at" timeless: title: "Timeless vehicle journeys" vehicle_journeys: "Vehicle journeys with times at stop" vehicles_list: "Vehicle journeys list" show: - title: "Vehicle Journey %{vehicle journey}" - stop_title: "Stop" - departure: "Departure" arrival: "Arrival" - time_tables: "Calendars list" bounding: "From %{start} to %{end}" - translation_form: "Vehicle journey translations" + departure: "Departure" journey_frequencies: "Timeband" + stop_title: "Stop" + time_tables: "Calendars list" + title: "Vehicle Journey %{vehicle journey}" + translation_form: "Vehicle journey translations" index: - title: "Vehicle journeys on route %{route}" - vehicle_journeys: "Departure's times" - selection: "Filter on" - selection_all: "All" + advanced_search: "Advanced Search" select_journey_patterns: "Select journey pattern" select_time_tables: "Enter a timetable" + selection_all: "All" + selection: "Filter on" time_range: "Departure time threshold" - advanced_search: "Advanced Search" + title: "Vehicle journeys on route %{route}" + vehicle_journeys: "Departure's times" time_filter: time_range_filter: "Filter" sidebar: @@ -90,43 +95,47 @@ en: other: "vehicle journeys" attributes: vehicle_journey: - line: "Line" - route: "Route" - journey_pattern: "Journey Pattern" - journey_pattern_id: "Pattern ID" - time_tables: "Calendars" - time_slot: "Time Slot" - company: "Company" - number: "Number" + accessible: "Accessible" + arrival_time: "Arrival" + checksum: "Checksum" comment: "Comments" - status_value: "Status Value" - transport_mode: "Transport Mode" - mobility_restricted_suitability: "PRM accessibility" + company: "Company" + created_at: Created at + creator_id: "Created by" + departure_time: "Departure" + facility: "Facility" flexible_service: "On demond transportation" - unspecified_mrs: "Not specified" - accessible: "Accessible" + footnote_ids: "Footnotes" + id: "Journey ID" + journey_frequency_ids: "Timeband" + journey_name: "Name of the journey" + journey_pattern_id: "Pattern ID" + journey_pattern: "Journey Pattern" + line: "Line" + mobility_restricted_suitability: "PRM accessibility" + name: "Journey Name" not_accessible: "Not accessible" - unspecified_fs: "Not specified" + number: "Number" + object_version: "Version" + objectid: "Neptune identifier" on_demand_fs: "On demand service" - regular_fs: "Regular service" - published_journey_name: "Published Name" published_journey_identifier: "Published Identifier" - facility: "Facility" - vehicle_type_identifier: "Vehicle Type Identifier" + published_journey_name: "Published Name" + purchase_window: "Purchase availability" + regular_fs: "Regular service" + route: "Route" + status_value: "Status Value" + time_slot: "Time Slot" time_table_ids: "Calendar list" - vehicle_journey_at_stop_ids: "Time list" - journey_frequency_ids: "Timeband" - objectid: "Neptune identifier" - object_version: "Version" - created_at: Created at + time_tables: "Calendars" + train_number: "Train number" + transport_mode: "Transport Mode" + transport_submode: "Transport Submode" + unspecified_fs: "Not specified" + unspecified_mrs: "Not specified" updated_at: Updated at - creator_id: "Created by" - footnote_ids: "Footnotes" - departure_time: "Departure" - arrival_time: "Arrival" - purchase_window: "Purchase availability" - name: "Journey Name" - id: "Journey ID" + vehicle_journey_at_stop_ids: "Time list" + vehicle_type_identifier: "Vehicle Type Identifier" errors: models: vehicle_journey: diff --git a/config/locales/vehicle_journeys.fr.yml b/config/locales/vehicle_journeys.fr.yml index be5be2382..6bf167234 100644 --- a/config/locales/vehicle_journeys.fr.yml +++ b/config/locales/vehicle_journeys.fr.yml @@ -1,11 +1,14 @@ fr: vehicle_journeys: vehicle_journeys_matrix: - line_routes: "Séquences d'arrêts de la ligne" + cancel_selection: "Annuler la sélection" fetching_error: "La récupération des missions a rencontré un problème. Rechargez la page pour tenter de corriger le problème." - show_timetable: 'Voir le calendrier' - show_purchase_window: 'Voir le calendrier commercial' + line_routes: "Séquences d'arrêts de la ligne" modal_confirm: 'Voulez-vous valider vos modifications avant de changer de page?' + pagination: "Liste des horaires %{minVJ} à %{maxVJ} sur %{total}" + selected_journeys: "%{count} course(s) sélectionnée(s)" + show_purchase_window: 'Voir le calendrier commercial' + show_timetable: 'Voir le calendrier' vehicle_journey: title_stopless: "Course %{name}" title: "Course partant de %{stop} à %{time}" @@ -29,53 +32,55 @@ fr: title_stopless: "Editer la course %{name}" title: "Editer la course partant de %{stop} à %{time}" form: - stop_title: "Arrêt" - departure: "Départ" - departure_at: "Départ à" - arrival: "Arrivée" arrival_at: "Arrivée à" - to_arrivals: "Copie départs vers arrivées" - to_arrivals: "Copie départs vers arrivées" - to_departures: "Copie arrivées vers départs" - time_tables: "Calendriers associés à la course" - slide: "Décaler" - slide_title: "Décaler l'ensemble des horaires de course" - set: "Fixer" - to: "à" + arrival: "Arrivée" + departure_at: "Départ à" + departure: "Départ" departure_range: label: Plage horaire au départ de la course start: Début end: Fin - show_journeys_without_schedule: "Afficher les courses sans horaires" + infos: Informations + set: "Fixer" + show_arrival_time: "Afficher et éditer les horaires d'arrivée" show_journeys_with_calendar: "Afficher les courses avec calendrier" - slide_departure: "horaire de départ au 1° arrêt à" + show_journeys_without_schedule: "Afficher les courses sans horaires" slide_arrival: "horaire d'arrivée au 1° arrêt à" - submit_timed: "Créer course" + slide_departure: "horaire de départ au 1° arrêt à" + slide_title: "Décaler l'ensemble des horaires de course" + slide: "Décaler" + stop_title: "Arrêt" + submit_frequency_edit: "Editer course en fréquence" submit_frequency: "Créer course en fréquence" submit_timed_edit: "Editer course" - submit_frequency_edit: "Editer course en fréquence" + submit_timed: "Créer course" + time_tables: "Calendriers associés à la course" + to_arrivals: "Copie départs vers arrivées" + to_arrivals: "Copie départs vers arrivées" + to_departures: "Copie arrivées vers départs" + to: "à" timeless: title: "Courses sans horaire" vehicle_journeys: "Courses ayant des horaires" vehicles_list: "Liste des courses" show: - title: "Course au départ de %{stop} à %{time} sur la séquence %{route}" - stop_title: "Arrêt" - departure: "Départ" arrival: "Arrivée" - time_tables: "Liste des calendriers" bounding: "De %{start} à %{end}" - translation_form: "Cloner la course" + departure: "Départ" journey_frequencies: "Créneau horaire" + stop_title: "Arrêt" + time_tables: "Liste des calendriers" + title: "Course au départ de %{stop} à %{time} sur la séquence %{route}" + translation_form: "Cloner la course" index: - title: "Horaires de '%{route}'" - vehicle_journeys: "Horaires de départ aux arrêts" - selection: "Filtrer sur" - selection_all: "Tous" + advanced_search: "Recherche avancée" select_journey_patterns: "Sélectionner une mission" select_time_tables: "Saisir un calendrier" + selection_all: "Tous" + selection: "Filtrer sur" time_range: "Seuil horaire au départ" - advanced_search: "Recherche avancée" + title: "Horaires de '%{route}'" + vehicle_journeys: "Horaires de départ aux arrêts" time_filter: time_range_filter: "Filtrer" sidebar: @@ -91,43 +96,47 @@ fr: other: "courses" attributes: vehicle_journey: - line: "Ligne" - route: "Séquence d'arrêt" - journey_pattern: "Mission" - journey_pattern_id: "ID Mission" - time_tables: "Calendriers" - time_slot: "Fréquence" - company: "Transporteur" - number: "Numéro" + accessible: "Accessible" + arrival_time: "Arrivée" + checksum: "Signature métier" comment: "Commentaires" - status_value: "Etat de trafic" - transport_mode: "Mode de transport" - mobility_restricted_suitability: "Accessibilité PMR" + company: "Transporteur" + created_at: "Créé le" + creator_id: "Créé par" + departure_time: "Départ" + facility: "Equipement" flexible_service: "Transport à la demande" - unspecified_mrs: "Non spécifié" - accessible: "Accessible" + footnote_ids: "Notes de bas de page" + id: "ID Course" + journey_frequency_ids: "Créneau horaire" + journey_name: "Nom de la course" + journey_pattern_id: "ID Mission" + journey_pattern: "Mission" + line: "Ligne" + mobility_restricted_suitability: "Accessibilité PMR" + name: "Nom Course" not_accessible: "Non accessible" - unspecified_fs: "Non spécifié" + number: "Numéro" + object_version: "Version" + objectid: "Identifiant Neptune" on_demand_fs: "Service à la demande" - regular_fs: "Service régulier" - published_journey_name: "Nom public" published_journey_identifier: "Identifiant public" - facility: "Equipement" - vehicle_type_identifier: "Type d'identifiant du véhicule" + published_journey_name: "Nom public" + purchase_window: "Disponibilité commerciale" + regular_fs: "Service régulier" + route: "Séquence d'arrêt" + status_value: "Etat de trafic" + time_slot: "Fréquence" time_table_ids: "Liste des calendriers" - vehicle_journey_at_stop_ids: "Liste des horaires" - journey_frequency_ids: "Créneau horaire" - objectid: "Identifiant Neptune" - object_version: "Version" - created_at: "Créé le" + time_tables: "Calendriers" + train_number: "Numéro de train" + transport_mode: "Mode de transport" + transport_submode: "Sous-mode de transport" + unspecified_fs: "Non spécifié" + unspecified_mrs: "Non spécifié" updated_at: "Edité le" - creator_id: "Créé par" - footnote_ids: "Notes de bas de page" - departure_time: "Départ" - arrival_time: "Arrivée" - purchase_window: "Disponibilité commerciale" - name: "Nom Course" - id: "ID Course" + vehicle_journey_at_stop_ids: "Liste des horaires" + vehicle_type_identifier: "Type d'identifiant du véhicule" errors: models: vehicle_journey: |
