diff options
18 files changed, 100 insertions, 59 deletions
| diff --git a/app/helpers/pagination_helper.rb b/app/helpers/pagination_helper.rb index 639d19de6..637010005 100644 --- a/app/helpers/pagination_helper.rb +++ b/app/helpers/pagination_helper.rb @@ -28,9 +28,9 @@ module PaginationHelper          will_paginate collection, container: false, page_links: false, previous_label: '', next_label: '', param_name: (collection.try(:pagination_param_name) || "page")        end -      content_tag :div, pinfos.concat(links).html_safe, class: "pagination #{cls}" +      content_tag :div, pinfos.capitalize.concat(links).html_safe, class: "pagination #{cls}"      else -      content_tag :div, pinfos, class: "pagination #{cls}" +      content_tag :div, pinfos.capitalize, class: "pagination #{cls}"      end    end diff --git a/app/javascript/vehicle_journeys/components/ConfirmModal.js b/app/javascript/vehicle_journeys/components/ConfirmModal.js index 75e8a3932..330b4e02f 100644 --- a/app/javascript/vehicle_journeys/components/ConfirmModal.js +++ b/app/javascript/vehicle_journeys/components/ConfirmModal.js @@ -16,7 +16,7 @@ export default function ConfirmModal({dispatch, modal, onModalAccept, onModalCan                type='button'                onClick={() => { onModalCancel(modal.confirmModal.callback) }}              > -              Ne pas valider +              {I18n.t('cancel')}            </button>              <button                className='btn btn-danger' @@ -24,7 +24,7 @@ export default function ConfirmModal({dispatch, modal, onModalAccept, onModalCan                type='button'                onClick={() => { onModalAccept(modal.confirmModal.callback, vehicleJourneys) }}              > -              Valider +              {I18n.t('actions.submit')}            </button>            </div>          </div> diff --git a/app/javascript/vehicle_journeys/components/Navigate.js b/app/javascript/vehicle_journeys/components/Navigate.js index 24843babc..e79823e49 100644 --- a/app/javascript/vehicle_journeys/components/Navigate.js +++ b/app/javascript/vehicle_journeys/components/Navigate.js @@ -1,5 +1,6 @@  import React, { Component } from 'react'  import PropTypes from 'prop-types' +import capitalize from 'lodash/capitalize'  import actions from'../actions'  export default function Navigate({ dispatch, vehicleJourneys, pagination, status, filters}) { @@ -17,7 +18,7 @@ export default function Navigate({ dispatch, vehicleJourneys, pagination, status    if(status.fetchSuccess == true) {      return (        <div className="pagination"> -        {I18n.t("vehicle_journeys.vehicle_journeys_matrix.pagination", {minVJ, maxVJ, total:pagination.totalCount})} +        {I18n.t('will_paginate.page_entries_info.multi_page', { model: capitalize(I18n.model_name('vehicle_journey', { plural: true })), from: minVJ, to: maxVJ, count: pagination.totalCount })}          <form className='page_links' onSubmit={e => {e.preventDefault()}}>            <button              onClick={e => { diff --git a/app/javascript/vehicle_journeys/components/tools/CreateModal.js b/app/javascript/vehicle_journeys/components/tools/CreateModal.js index a60429765..f49b51f08 100644 --- a/app/javascript/vehicle_journeys/components/tools/CreateModal.js +++ b/app/javascript/vehicle_journeys/components/tools/CreateModal.js @@ -47,7 +47,7 @@ export default class CreateModal extends Component {                <div className='modal-dialog'>                  <div className='modal-content'>                    <div className='modal-header'> -                    <h4 className='modal-title'>Ajouter une course</h4> +                    <h4 className='modal-title'>{I18n.t('vehicle_journeys.actions.new')}</h4>                      <span type="button" className="close modal-close" data-dismiss="modal">×</span>                    </div> @@ -57,7 +57,7 @@ export default class CreateModal 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' @@ -68,7 +68,7 @@ export default class CreateModal 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'>Nom du transporteur</label> +                              <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'company_name')}</label>                                <CompanySelect2                                  company = {this.props.modal.modalProps.vehicleJourney && this.props.modal.modalProps.vehicleJourney.company || undefined}                                  onSelect2Company = {(e) => this.props.onSelect2Company(e)} @@ -78,7 +78,7 @@ export default class CreateModal 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 is-required'>Nom public de la mission</label> +                              <label className='control-label is-required'>{I18n.attribute_name('vehicle_journey', 'journey_pattern_published_name')}</label>                                <MissionSelect2                                  selection={this.props.modal.modalProps}                                  onSelect2JourneyPattern={this.props.onSelect2JourneyPattern} @@ -89,7 +89,7 @@ export default class CreateModal 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'>Numéro de train</label> +                              <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'published_journey_identifier')}</label>                                <input                                  type='text'                                  ref='published_journey_identifier' @@ -105,7 +105,7 @@ export default class CreateModal extends Component {                            />                            { this.props.modal.modalProps.selectedJPModal && this.props.modal.modalProps.selectedJPModal.full_schedule && <div className='col-lg-6 col-md-6 col-sm-6 col-xs-12'>                                <div className='form-group'> -                                <label className='control-label'>Heure de départ</label> +                              <label className='control-label'>{I18n.attribute_name('vehicle_journey', 'start_time')}</label>                                  <div className='input-group time'>                                    <input                                      type='number' @@ -142,14 +142,14 @@ export default class CreateModal extends Component {                            type='button'                            onClick={this.props.onModalClose}                            > -                          Annuler +                          {I18n.t('cancel')}                          </button>                          <button                            className='btn btn-primary'                            type='button'                            onClick={this.handleSubmit.bind(this)}                            > -                          Valider +                          {I18n.t('actions.submit')}                          </button>                        </div>                      </form> diff --git a/app/javascript/vehicle_journeys/components/tools/DeleteVehicleJourneys.js b/app/javascript/vehicle_journeys/components/tools/DeleteVehicleJourneys.js index 4815003d3..b1ce3786b 100644 --- a/app/javascript/vehicle_journeys/components/tools/DeleteVehicleJourneys.js +++ b/app/javascript/vehicle_journeys/components/tools/DeleteVehicleJourneys.js @@ -13,7 +13,7 @@ export default function DeleteVehicleJourneys({onDeleteVehicleJourneys, vehicleJ            e.preventDefault()            onDeleteVehicleJourneys()          }} -        title='Supprimer' +        title={ I18n.t('actions.delete') }        >          <span className='fa fa-trash'></span>        </button> diff --git a/app/javascript/vehicle_journeys/components/tools/DuplicateVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/DuplicateVehicleJourney.js index 102a87d85..d7e48bf08 100644 --- a/app/javascript/vehicle_journeys/components/tools/DuplicateVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/DuplicateVehicleJourney.js @@ -93,7 +93,7 @@ export default class DuplicateVehicleJourney extends Component {                  <div className='modal-content'>                    <div className='modal-header'>                      <h4 className='modal-title'> -                      Dupliquer { actions.getSelected(this.props.vehicleJourneys).length > 1 ? 'plusieurs courses' : 'une course' } +                      {I18n.t('vehicle_journeys.vehicle_journeys_matrix.duplicate', { count: actions.getSelected(this.props.vehicleJourneys).length })}                      </h4>                      <span type="button" className="close modal-close" data-dismiss="modal">×</span>                    </div> @@ -102,7 +102,7 @@ export default class DuplicateVehicleJourney extends Component {                      <form className='form-horizontal'>                        <div className='modal-body'>                          <div className={'form-group ' + (actions.getSelected(this.props.vehicleJourneys).length > 1 ? 'hidden' : '' )}> -                          <label className='control-label is-required col-sm-8'>Horaire de départ indicatif</label> +                          <label className='control-label is-required col-sm-8'>{I18n.t('vehicle_journeys.vehicle_journeys_matrix.duplicate.start_time')}</label>                            <span className="col-sm-4">                              <span className={'input-group time' + (actions.getSelected(this.props.vehicleJourneys).length > 1 ? ' disabled' : '')}>                                <input @@ -133,7 +133,7 @@ export default class DuplicateVehicleJourney extends Component {                          </div>                          <div className='form-group'> -                          <label className='control-label is-required col-sm-8'>Nombre de courses à créer et dupliquer</label> +                          <label className='control-label is-required col-sm-8'>{I18n.t('vehicle_journeys.vehicle_journeys_matrix.duplicate.number')}</label>                            <div className="col-sm-4">                              <input                                type='number' @@ -152,7 +152,7 @@ export default class DuplicateVehicleJourney extends Component {                          </div>                          <div className='form-group'> -                          <label className='control-label is-required col-sm-8'>Décalage à partir duquel on créé les courses</label> +                          <label className='control-label is-required col-sm-8'>{I18n.t('vehicle_journeys.vehicle_journeys_matrix.duplicate.delta')}</label>                            <span className="col-sm-4">                              <input                                type='number' @@ -178,7 +178,7 @@ export default class DuplicateVehicleJourney extends Component {                            type='button'                            onClick={this.props.onModalClose}                            > -                          Annuler +                          {I18n.t('cancel')}                          </button>                          <button                            className={'btn btn-primary ' + (this.state.additional_time == 0 && this.state.originalDT.hour == this.state.duplicate_time_hh && this.state.originalDT.minute == this.state.duplicate_time_mm ? 'disabled' : '')} @@ -186,7 +186,7 @@ export default class DuplicateVehicleJourney extends Component {                            onClick={this.handleSubmit}                            disabled={this.disableValidateButton()}                            > -                          Valider +                          {I18n.t('actions.submit')}                          </button>                        </div>                      </form> diff --git a/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js index 795c2ecff..e4e266c79 100644 --- a/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/EditVehicleJourney.js @@ -173,14 +173,14 @@ export default class EditVehicleJourney extends Component {                              type='button'                              onClick={this.props.onModalClose}                            > -                            Annuler +                            {I18n.t('cancel')}                          </button>                            <button                              className='btn btn-primary'                              type='button'                              onClick={this.handleSubmit.bind(this)}                            > -                            Valider +                            {I18n.t('actions.submit')}                          </button>                          </div>                        } diff --git a/app/javascript/vehicle_journeys/components/tools/NotesEditVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/NotesEditVehicleJourney.js index 880542216..dd4930af9 100644 --- a/app/javascript/vehicle_journeys/components/tools/NotesEditVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/NotesEditVehicleJourney.js @@ -43,11 +43,11 @@ export default class NotesEditVehicleJourney extends Component {    renderAssociatedFN() {      if (this.footnotes().associated.length == 0) { -      return <h3>Aucune note associée</h3> +      return <h3>{I18n.t('vehicle_journeys.vehicle_journeys_matrix.no_associated_purchase_windows')}</h3>      } else {        return (          <div> -          <h3>Notes associées :</h3> +          <h3>{I18n.t('vehicle_journeys.form.purchase_windows')} :</h3>            {this.footnotes().associated.map((lf, i) =>              <div                key={i} @@ -68,13 +68,13 @@ export default class NotesEditVehicleJourney extends Component {    }    renderToAssociateFN() { -    if (window.line_footnotes.length == 0) return <h3>La ligne ne possède pas de notes</h3> +    if (window.line_footnotes.length == 0) return <h3>{I18n.t('vehicle_journeys.vehicle_journeys_matrix.no_line_footnotes')}</h3>      if (this.footnotes().to_associate.length == 0) return false      return (        <div> -        <h3 className='mt-lg'>Sélectionnez les notes à associer à cette course :</h3> +        <h3 className='mt-lg'>{I18n.t('vehicle_journeys.vehicle_journeys_matrix.select_footnotes')} :</h3>          {this.footnotes().to_associate.map((lf, i) =>            <div key={i} className='panel panel-default'>              <div className='panel-heading'> @@ -111,7 +111,7 @@ export default class NotesEditVehicleJourney extends Component {                <div className='modal-dialog'>                  <div className='modal-content'>                    <div className='modal-header'> -                    <h4 className='modal-title'>Notes</h4> +                    <h4 className='modal-title'>{I18n.t('vehicle_journeys.form.footnotes')}</h4>                      <span type="button" className="close modal-close" data-dismiss="modal">×</span>                    </div> @@ -130,14 +130,14 @@ export default class NotesEditVehicleJourney extends Component {                              type='button'                              onClick={this.props.onModalClose}                            > -                            Annuler +                            {I18n.t('cancel')}                          </button>                            <button                              className='btn btn-primary'                              type='button'                              onClick={this.handleSubmit.bind(this)}                            > -                            Valider +                            {I18n.t('actions.submit')}                          </button>                          </div>                        } diff --git a/app/javascript/vehicle_journeys/components/tools/PurchaseWindowsEditVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/PurchaseWindowsEditVehicleJourney.js index ce9a4cde9..30c511302 100644 --- a/app/javascript/vehicle_journeys/components/tools/PurchaseWindowsEditVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/PurchaseWindowsEditVehicleJourney.js @@ -44,7 +44,7 @@ export default class PurchaseWindowsEditVehicleJourney extends Component {                <div className='modal-dialog'>                  <div className='modal-content'>                    <div className='modal-header'> -                    <h4 className='modal-title'>Calendriers commerciaux associés</h4> +                    <h4 className='modal-title'>{I18n.t('vehicle_journeys.form.purchase_windows')}s</h4>                      <span type="button" className="close modal-close" data-dismiss="modal">×</span>                    </div> @@ -58,7 +58,7 @@ export default class PurchaseWindowsEditVehicleJourney extends Component {                                  <div className='wrapper'>                                    <div>                                      <div className='form-group'> -                                      <label className='control-label'>{this.props.modal.modalProps.purchase_windows.length == 0 ? "Aucun calendrier commercial associé" : "Calendriers commerciaux associés"}</label> +                                      <label className='control-label'>{this.props.modal.modalProps.purchase_windows.length == 0 ? I18n.t('vehicle_journeys.vehicle_journeys_matrix.no_associated_purchase_windows') : I18n.t('vehicle_journeys.form.purchase_windows')}</label>                                      </div>                                    </div>                                    <div></div> @@ -117,14 +117,14 @@ export default class PurchaseWindowsEditVehicleJourney extends Component {                              type='button'                              onClick={this.props.onModalClose}                            > -                            Annuler +                            {I18n.t('cancel')}                            </button>                            <button                              className='btn btn-primary'                              type='button'                              onClick={this.handleSubmit}                            > -                            Valider +                            {I18n.t('actions.submit')}                            </button>                          </div>                        } diff --git a/app/javascript/vehicle_journeys/components/tools/ShiftVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/ShiftVehicleJourney.js index 6574bfa2d..bc3d8db34 100644 --- a/app/javascript/vehicle_journeys/components/tools/ShiftVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/ShiftVehicleJourney.js @@ -27,6 +27,7 @@ export default class ShiftVehicleJourney extends Component {    }    render() { +    let id = this.props.modal.type == 'shift' && actions.getSelected(this.props.vehicleJourneys)[0].short_id      if(this.props.status.isFetching == true) {        return false      } @@ -48,10 +49,7 @@ export default class ShiftVehicleJourney extends Component {                <div className='modal-dialog'>                  <div className='modal-content'>                    <div className='modal-header'> -                    <h4 className='modal-title'>Mettre à jour une course</h4> -                    {(this.props.modal.type == 'shift') && ( -                      <em>Mettre à jour les horaires de la course {actions.getSelected(this.props.vehicleJourneys)[0].short_id}</em> -                    )} +                    <h4 className='modal-title'>{I18n.t('vehicle_journeys.form.slide_title', {id: id})}</h4>                      <span type="button" className="close modal-close" data-dismiss="modal">×</span>                    </div> @@ -61,7 +59,7 @@ export default class ShiftVehicleJourney extends Component {                          <div className='row'>                            <div className='col-lg-4 col-lg-offset-4 col-md-4 col-md-offset-4 col-sm-4 col-sm-offset-4 col-xs-12'>                              <div className='form-group'> -                              <label className='control-label is-required'>Avec un décalage de</label> +                              <label className='control-label is-required'>{I18n.t('vehicle_journeys.form.slide_delta')}</label>                                <input                                  type='number'                                  style={{'width': 104}} @@ -85,14 +83,14 @@ export default class ShiftVehicleJourney extends Component {                            type='button'                            onClick={this.props.onModalClose}                            > -                          Annuler +                          {I18n.t('cancel')}                          </button>                          <button                            className={'btn btn-primary ' + (this.state.additional_time == 0 ? 'disabled' : '')}                            type='button'                            onClick={this.handleSubmit.bind(this)}                            > -                          Valider +                          {I18n.t('actions.submit')}                          </button>                        </div>                      </form> diff --git a/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js b/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js index f21480563..7a2686c13 100644 --- a/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js +++ b/app/javascript/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js @@ -44,7 +44,7 @@ export default class TimetablesEditVehicleJourney extends Component {                <div className='modal-dialog'>                  <div className='modal-content'>                    <div className='modal-header'> -                    <h4 className='modal-title'>Calendriers associés</h4> +                    <h4 className='modal-title'>{I18n.t('vehicle_journeys.form.time_tables')}</h4>                      <span type="button" className="close modal-close" data-dismiss="modal">×</span>                    </div> @@ -58,7 +58,7 @@ export default class TimetablesEditVehicleJourney extends Component {                                  <div className='wrapper'>                                    <div>                                      <div className='form-group'> -                                      <label className='control-label'>{this.props.modal.modalProps.timetables.length == 0 ? "Aucun calendrier associé" : "Calendriers associés"}</label> +                                      <label className='control-label'>{this.props.modal.modalProps.timetables.length == 0 ? I18n.t('vehicle_journeys.vehicle_journeys_matrix.no_associated_timetables'): I18n.t('vehicle_journeys.form.timetables')}</label>                                      </div>                                    </div>                                    <div></div> @@ -119,14 +119,14 @@ export default class TimetablesEditVehicleJourney extends Component {                              type='button'                              onClick={this.props.onModalClose}                            > -                            Annuler +                            {I18n.t('cancel')}                            </button>                            <button                              className='btn btn-primary'                              type='button'                              onClick={this.handleSubmit}                            > -                            Valider +                            {I18n.t('actions.submit')}                            </button>                          </div>                        } diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js index 5c7f75d99..b7e9691c1 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/CompanySelect2.js @@ -16,6 +16,7 @@ export default class BSelect4 extends Component {    }    render() { +    let placeHolder = I18n.t('')      return (        <Select2          data={(this.props.company) ? [this.props.company.name] : undefined} @@ -29,7 +30,7 @@ export default class BSelect4 extends Component {            allowClear: true,            theme: 'bootstrap',            width: '100%', -          placeholder: 'Filtrer par transporteur...', +          placeholder: I18n.t('vehicle_journeys.vehicle_journeys_matrix.affect_company'),            language: require('./fr'),            ajax: {              url: origin + path + '/companies.json' + '?line_id=' + line, diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js index 72dbd0152..96b34125d 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/MissionSelect2.js @@ -74,7 +74,7 @@ export default class BSelect4 extends Component {        width: '100%',        escapeMarkup: function (markup) { return markup; },        templateResult: formatRepo, -      placeholder: 'Filtrer par code, nom ou OID de mission...', +      placeholder: I18n.t('vehicle_journeys.vehicle_journeys_matrix.filters.journey_pattern'),        language: require('./fr'),        allowClear: false,        escapeMarkup: function (markup) { return markup; }, diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js index 0339455ca..9a345b464 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/TimetableSelect2.js @@ -26,7 +26,7 @@ export default class BSelect4 extends Component {            allowClear: false,            theme: 'bootstrap',            width: '100%', -          placeholder: 'Filtrer par calendrier...', +          placeholder: I18n.t('vehicle_journeys.vehicle_journeys_matrix.filters.timetable'),            language: require('./fr'),            ajax: {              url: origin + path + this.props.chunkURL, diff --git a/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js b/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js index ccb4c9595..f5881cef7 100644 --- a/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js +++ b/app/javascript/vehicle_journeys/components/tools/select2s/VJSelect2.js @@ -25,7 +25,7 @@ export default class BSelect4b extends Component {          options={{            allowClear: false,            theme: 'bootstrap', -          placeholder: 'Filtrer par ID course...', +          placeholder: I18n.t('vehicle_journeys.vehicle_journeys_matrix.filters.id'),            width: '100%',            language: require('./fr'),            ajax: { diff --git a/config/locales/vehicle_journey_exports.en.yml b/config/locales/vehicle_journey_exports.en.yml index 93a782026..4e658353e 100644 --- a/config/locales/vehicle_journey_exports.en.yml +++ b/config/locales/vehicle_journey_exports.en.yml @@ -1,7 +1,7 @@  en:    vehicle_journey_exports:      new: -      title: "Export existing vehicle journey at stops" +      title: Vehicle journeys export        basename: "vehicle_journeys"      label:        vehicle_journey_id: "vj id (empty for new vj)" diff --git a/config/locales/vehicle_journeys.en.yml b/config/locales/vehicle_journeys.en.yml index f1ba96dc5..976d4f515 100644 --- a/config/locales/vehicle_journeys.en.yml +++ b/config/locales/vehicle_journeys.en.yml @@ -1,14 +1,29 @@  en:    vehicle_journeys:      vehicle_journeys_matrix: +      filters: +        id: Filter by ID... +        timetable: Filter by journey pattern... +        timetable: Filter by timetable...        cancel_selection: "Cancel Selection"        fetching_error: "There has been a problem fetching the data. Please reload the page to try again."        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' +      no_associated_timetables: No associated timetables +      no_associated_purchase_windows: No associated purchase windows +      no_associated_footnotes: No associated footnotes +      duplicate: +        one: Clone %{count} vehicle journey +        other: Clone %{count} vehicle journeys +        start_time: Indicateive start time +        number: Number of vehicle journeys to create and clone +        delta: Delta from which vehicle journeys are created +      affect_company: Affect company +      no_line_footnotes: The line doesn't have any footnotes +      select_footnotes: Select footnotes to associate with the vehicle journey      vehicle_journey:        title_stopless: "Vehicle journey %{name}"        title: "Vehicle journey leaving from %{stop} at %{time}" @@ -17,10 +32,10 @@ en:        title: "Vehicle journey frequency leaving from %{stop} at %{time}"        title_frequency: "Vehicle journey frequency with %{interval}min leaving from %{stop} at %{time_first} to %{time_last}"      actions: -      index: "Vehicle time's board" -      new: "Add a new timed vehicle journey" +      index: "Vehicle journeys" +      new: "Add a new vehicle journey"        new_frequency: "Add a new frequency vehicle journey" -      edit: "Edit this timed vehicle journey" +      edit: "Edit this vehicle journey"        edit_frequency: "Edit this frequency vehicle journey"        destroy: "Remove this vehicle journey"        destroy_confirm: "Are you sure you want destroy this vehicle journey?" @@ -48,15 +63,18 @@ en:        show_journeys_without_schedule: "Show journeys without schedule"        slide_arrival: "arrival time at first stop"        slide_departure: "departure time at first stop" -      slide_title: "Shift all vehicle passing times" +      slide_title: "Shift all the vehicle journey passing times : %{id}"        slide: "Shift" +      slide_delta: "Shift of"        starting_stop: "Departure"        stop_title: "Stop"        submit_frequency_edit: "Edit frequency vehicle journey"        submit_frequency: "Create frequency vehicle journey"        submit_timed_edit: "Edit vehicle journey"        submit_timed: "Create vehicle journey" -      time_tables: "Associated calendars to vehicle journey" +      time_tables: "Associated timetables" +      purchase_windows: Associated purchase windows +      footnotes: Associated footnotes        to_arrivals: "Copy departures to arrivals"        to_departures: "Copy arrivals to departures"        to: "at" @@ -102,6 +120,7 @@ en:          checksum: "Checksum"          comment: "Comments"          company: "Company" +        company_name: "Company name"          created_at: Created at          creator_id: "Created by"          departure_time: "Departure" @@ -110,9 +129,10 @@ en:          footnote_ids: "Footnotes"          id: "Journey ID"          journey_frequency_ids: "Timeband" -        journey_name: "Name of the journey" +        journey_name: "Name of the vehicle journey"          journey_pattern_id: "Pattern ID"          journey_pattern: "Journey Pattern" +        journey_pattern_published_name: "Journey Pattern published name"          line: "Line"          mobility_restricted_suitability: "PRM accessibility"          name: "Journey Name" @@ -137,6 +157,7 @@ en:          updated_at: Updated at          vehicle_journey_at_stop_ids: "Time list"          vehicle_type_identifier: "Vehicle Type Identifier" +        start_time: Start time      errors:        models:          vehicle_journey: diff --git a/config/locales/vehicle_journeys.fr.yml b/config/locales/vehicle_journeys.fr.yml index d144e580f..92d73f885 100644 --- a/config/locales/vehicle_journeys.fr.yml +++ b/config/locales/vehicle_journeys.fr.yml @@ -1,14 +1,28 @@  fr:    vehicle_journeys:      vehicle_journeys_matrix: +      filters: +        id: Filtrer par ID course... +        journey_pattern: 'Filtrer par code, nom ou OID de mission...' +        timetable: Filter by timetable...        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."        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' +      no_associated_timetables: Aucun calendrier associé +      no_associated_purchase_windows: Aucun calendrier commercial associé +      duplicate: +        one: Dupliquer %{count} course +        other: Dupliquer %{count} courses +        start_time: Horaire de départ indicatif +        number: Nombre de courses à créer et dupliquer +        delta: Décalage à partir duquel on créé les courses +      affect_company: Indiquez un nom de transporteur... +      no_line_footnotes: La ligne ne possède pas de notes +      select_footnotes: Sélectionnez les notes à associer à cette course      vehicle_journey:        title_stopless: "Course %{name}"        title: "Course partant de %{stop} à %{time}" @@ -48,8 +62,9 @@ fr:        show_journeys_without_schedule: "Afficher les courses sans horaires"        slide_arrival: "horaire d'arrivée au 1° arrêt à"        slide_departure: "horaire de départ au 1° arrêt à" -      slide_title: "Décaler l'ensemble des horaires de course" +      slide_title: "Décaler l'ensemble des horaires de la course : %{id}"        slide: "Décaler" +      slide_delta: "Avec un décalage de"        starting_stop: "Origine"        stop_title: "Arrêt"        submit_frequency_edit: "Editer course en fréquence" @@ -57,6 +72,8 @@ fr:        submit_timed_edit: "Editer course"        submit_timed: "Créer course"        time_tables: "Calendriers associés à la course" +      purchase_windows: "Calendriers commerciaux associés à la course" +      footnotes: "Notes 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" @@ -103,6 +120,7 @@ fr:          checksum: "Signature métier"          comment: "Commentaires"          company: "Transporteur" +        company|_name: "Nom du transporteur"          created_at: "Créé le"          creator_id: "Créé par"          departure_time: "Départ" @@ -114,6 +132,7 @@ fr:          journey_name: "Nom de la course"          journey_pattern_id: "ID Mission"          journey_pattern: "Mission" +        journey_pattern_published_name: "Nom public de la mission"          line: "Ligne"          mobility_restricted_suitability: "Accessibilité PMR"          name: "Nom Course" @@ -129,7 +148,7 @@ fr:          route: "Itinéraire"          time_slot: "Fréquence"          time_table_ids: "Liste des calendriers" -        time_tables: "Calendriers" +        time_tables: "Calendriers associés"          train_number: "Numéro de train"          transport_mode: "Mode de transport"          transport_submode: "Sous-mode de transport" @@ -138,6 +157,7 @@ fr:          updated_at: "Edité le"          vehicle_journey_at_stop_ids: "Liste des horaires"          vehicle_type_identifier: "Type d'identifiant du véhicule" +        start_time: Heure de départ      errors:        models:          vehicle_journey: | 
