diff options
Diffstat (limited to 'config')
56 files changed, 1102 insertions, 578 deletions
diff --git a/config/application.rb b/config/application.rb index 05a9752b6..169c13e10 100644 --- a/config/application.rb +++ b/config/application.rb @@ -28,7 +28,7 @@ module ChouetteIhm config.i18n.default_locale = ENV.fetch('RAILS_LOCALE', 'fr').to_sym # Configure Browserify to use babelify to compile ES6 - config.browserify_rails.commandline_options = "-t [ babelify --presets [ react es2015 ] ]" + # config.browserify_rails.commandline_options = "-t [ babelify --presets [ react es2015 ] ]" config.active_record.observers = [:route_observer, :calendar_observer] config.active_record.raise_in_transactional_callbacks = true @@ -40,9 +40,9 @@ module ChouetteIhm Rails.application.config.assets.precompile += %w(spec_helper.js) # Make sure Browserify is triggered when # asked to serve javascript spec files - config.browserify_rails.paths << lambda { |p| - p.start_with?(Rails.root.join("spec/javascripts").to_s) - } + # config.browserify_rails.paths << lambda { |p| + # p.start_with?(Rails.root.join("spec/javascripts").to_s) + # } end end end diff --git a/config/deploy.rb b/config/deploy.rb index 3ca2b4a4e..5fff31a4a 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -23,10 +23,10 @@ ssh_options[:forward_agent] = true require "bundler/capistrano" require 'whenever/capistrano' -require 'capistrano/npm' -set :npm_options, '--production --no-progress' +#require 'capistrano/npm' +#set :npm_options, '--production --no-progress' -after 'deploy:finalize_update', 'npm:install' +#after 'deploy:finalize_update', 'npm:install' # Whenever set :whenever_variables, ->{ "'environment=#{fetch :whenever_environment}&bundle_command=bin/bundle exec&additionnal_path=/var/lib/gems/2.2.0/bin'" } # invoke bin/bundle to use 'correct' ruby environment diff --git a/config/environments/production.rb b/config/environments/production.rb index 794c8bd88..8e21f0919 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -144,5 +144,5 @@ Rails.application.configure do config.rails_host = ENV.fetch('RAILS_HOST') # Set node env for browserify-rails - config.browserify_rails.node_env = "production" + # config.browserify_rails.node_env = "production" end diff --git a/config/initializers/apartment.rb b/config/initializers/apartment.rb index b8f86a751..1c951317a 100644 --- a/config/initializers/apartment.rb +++ b/config/initializers/apartment.rb @@ -20,6 +20,7 @@ Apartment.configure do |config| config.excluded_models = [ 'Referential', 'ReferentialMetadata', + 'ReferentialSuite', 'Organisation', 'User', 'Api::V1::ApiKey', @@ -48,6 +49,29 @@ Apartment.configure do |config| 'ImportMessage', 'ImportResource', 'ComplianceControl', + 'GenericAttributeControl::MinMax', + 'GenericAttributeControl::Pattern', + 'GenericAttributeControl::Uniqueness', + 'JourneyPatternControl::Duplicates', + 'JourneyPatternControl::VehicleJourney', + 'LineControl::Route', + 'RouteControl::Duplicates', + 'RouteControl::JourneyPattern', + 'RouteControl::MinimumLength', + 'RouteControl::OmnibusJourneyPattern', + 'RouteControl::OppositeRouteTerminus', + 'RouteControl::OppositeRoute', + 'RouteControl::StopPointsInJourneyPattern', + 'RouteControl::UnactivatedStopPoints', + 'RouteControl::ZDLStopArea', + 'RoutingConstraintZoneControl::MaximumLength', + 'RoutingConstraintZoneControl::MinimumLength', + 'RoutingConstraintZoneControl::UnactivatedStopPoint', + 'VehicleJourneyControl::Delta', + 'VehicleJourneyControl::WaitingTime', + 'VehicleJourneyControl::Speed', + 'VehicleJourneyControl::TimeTable', + 'VehicleJourneyControl::VehicleJourneyAtStops', 'ComplianceControlSet', 'ComplianceControlBlock', 'ComplianceCheck', diff --git a/config/initializers/stif.rb b/config/initializers/stif.rb index 6a79cadc8..f20429575 100644 --- a/config/initializers/stif.rb +++ b/config/initializers/stif.rb @@ -11,3 +11,7 @@ Rails.application.config.to_prepare do end end end unless Rails.env.test? + +Rails.application.config.to_prepare do + Dashboard.default_class = Stif::Dashboard +end diff --git a/config/locales/actions.en.yml b/config/locales/actions.en.yml index 44e55067d..c34462d0d 100644 --- a/config/locales/actions.en.yml +++ b/config/locales/actions.en.yml @@ -20,6 +20,7 @@ en: filter: 'Filter' erase: 'Erase' create_api_key: "Create an API key" + select: Select or: "or" cancel: "Cancel" back: "Go Back" diff --git a/config/locales/actions.fr.yml b/config/locales/actions.fr.yml index ee35fbb31..df16d2aab 100644 --- a/config/locales/actions.fr.yml +++ b/config/locales/actions.fr.yml @@ -20,6 +20,7 @@ fr: filter: 'Filtrer' erase: 'Effacer' create_api_key: "Créer une clé d'API" + select: Sélectionner or: "ou" cancel: "Annuler" back: "Retour" diff --git a/config/locales/api_keys.en.yml b/config/locales/api_keys.en.yml index 1480c8e55..096846446 100644 --- a/config/locales/api_keys.en.yml +++ b/config/locales/api_keys.en.yml @@ -15,7 +15,8 @@ en: title: "Update api key" activerecord: models: - api_key: "Api Key" + one: "Api Key" + other: "Api keys" attributes: api_key: name: "Name" diff --git a/config/locales/api_keys.fr.yml b/config/locales/api_keys.fr.yml index 20af91a49..ff13cc1ca 100644 --- a/config/locales/api_keys.fr.yml +++ b/config/locales/api_keys.fr.yml @@ -15,7 +15,8 @@ fr: title: "Editer la clé d'accès API" activerecord: models: - api_key: "Clé d'accès API" + one: "Clé d'accès API" + other: "Clés d'accès API" attributes: api_key: name: "Nom" diff --git a/config/locales/breadcrumbs.fr.yml b/config/locales/breadcrumbs.fr.yml index b941138c7..725549f14 100644 --- a/config/locales/breadcrumbs.fr.yml +++ b/config/locales/breadcrumbs.fr.yml @@ -2,6 +2,6 @@ fr: breadcrumbs: vehicle_journeys: "Horaires" vehicle_journey_frequencies: "Créneaux horaires" - referentials: "Accueil" + root: "Accueil" users: "Utilisateurs" imports: Imports diff --git a/config/locales/calendars.en.yml b/config/locales/calendars.en.yml index 42e26e995..3b015ff08 100644 --- a/config/locales/calendars.en.yml +++ b/config/locales/calendars.en.yml @@ -56,7 +56,8 @@ en: end: End activerecord: models: - calendar: Calendar + one: calendar + other: calendars attributes: calendar: name: Name diff --git a/config/locales/calendars.fr.yml b/config/locales/calendars.fr.yml index 63f6465d9..55ec9c620 100644 --- a/config/locales/calendars.fr.yml +++ b/config/locales/calendars.fr.yml @@ -56,7 +56,8 @@ fr: end: Fin activerecord: models: - calendar: Calendrier + one: "calendrier" + other: "calendriers" attributes: calendar: name: Nom diff --git a/config/locales/compliance_check_sets.en.yml b/config/locales/compliance_check_sets.en.yml new file mode 100644 index 000000000..89c142a49 --- /dev/null +++ b/config/locales/compliance_check_sets.en.yml @@ -0,0 +1,23 @@ +en: + compliance_check_sets: + index: + title: Control reports + new: Creating a Control Report + edit: Update a Control Report + actions: + new: Add a control report + edit: Edit a control report + destroy: Delete + destroy_confirm: Are you sure you want to delete this control report? + filters: + name: Specify a control report name... + error_period_filter: End date must be greater than or equal to begin date + search_no_results: No control reports match your search + activerecord: + attributes: + compliance_check_set: + ref: réf + creation_date: Created at + associated_object: Associated object + assigned_to: Assigned to + compliance_control_set: Compliance control set diff --git a/config/locales/compliance_check_sets.fr.yml b/config/locales/compliance_check_sets.fr.yml new file mode 100644 index 000000000..8c21f33fd --- /dev/null +++ b/config/locales/compliance_check_sets.fr.yml @@ -0,0 +1,23 @@ +fr: + compliance_check_sets: + index: + title: Rapports de contrôle + new: Création d'un rapport de contrôle + edit: Édition d'un rapport de contrôle + actions: + new: Ajouter + edit: Editer + destroy: Supprimer + destroy_confirm: Etes vous sûr de supprimer ce rapport de contrôle ? + filters: + name: Indiquez un nom d'un objet associé... + error_period_filter: La date de fin doit être supérieure ou égale à la date de début0 + search_no_results: Aucun rapport de contrôle ne correspond à votre recherche + activerecord: + attributes: + compliance_check_set: + ref: réf + creation_date: Date et heure de création + associated_object: Objet associé + assigned_to: Affectation + compliance_control_set: jeu de contrôle diff --git a/config/locales/compliance_control_blocks.en.yml b/config/locales/compliance_control_blocks.en.yml new file mode 100644 index 000000000..a37b41db5 --- /dev/null +++ b/config/locales/compliance_control_blocks.en.yml @@ -0,0 +1,18 @@ +fr: + activerecord: + models: + compliance_control_block: + zero: Control blocks + one: Control block + other: Control blocks + attributes: + compliance_control_blocks: + transport_mode: Transport mode + sub_transport_mode: Transport submode + compliance_control_blocks: + actions: + destroy_confirm: Are you sure you want to destroy this block ? + new: + title: Create a control block + edit: + title: "Edit the control block : %{compliance_control_block}"
\ No newline at end of file diff --git a/config/locales/compliance_control_blocks.fr.yml b/config/locales/compliance_control_blocks.fr.yml new file mode 100644 index 000000000..f93cafa54 --- /dev/null +++ b/config/locales/compliance_control_blocks.fr.yml @@ -0,0 +1,18 @@ +fr: + activerecord: + models: + compliance_control_block: + zero: "Groupe de contrôle" + one: "Groupe de contrôle" + other: "Groupes de contrôles" + attributes: + compliance_control_blocks: + transport_mode: Mode de transport + transport_submode: Sous-mode de transport + compliance_control_blocks: + actions: + destroy_confirm: Etes vous sûr de supprimer ce bloc ? + new: + title: Créer un groupe de contrôle(s) + edit: + title: "Editer le groupe de contrôle : %{compliance_control_block}"
\ No newline at end of file diff --git a/config/locales/compliance_control_sets.en.yml b/config/locales/compliance_control_sets.en.yml index 497ca50c3..83b14642c 100644 --- a/config/locales/compliance_control_sets.en.yml +++ b/config/locales/compliance_control_sets.en.yml @@ -1,24 +1,30 @@ -fr: +en: compliance_control_sets: index: - title: Control games - new: Creating a control set - edit: Editing a Control Game + title: Compliance control set + new: New compliance control set + new_control: Creating a Control + select_types: Control Type Selection + edit: Edit compliance control set actions: - new: Add - edit: Edit - destroy: Delete - destroy_confirm: Are you sure to remove the control games ? + new: Add + edit: Edit + show: Show + destroy: Destroy + add_compliance_control: Add a compliance control + destroy_confirm: Are you sur ? filters: - name: Specify a control game name... - search_no_results: No control game matches your search + name: 'Enter name ...' + search_no_results: 'No compliance control set found' activerecord: - models: - compliance_control_set: Calendar - attributes: - compliance_control_set: - name: Name - assignment: Affectation - owner_jdc: Owner of the control game - control_numbers: Nb contrôle - updated_at: Update
\ No newline at end of file + models: + compliance_control_set: + one: compliance_control_set + other: compliance_control_sets + attributes: + compliance_control_set: + name: Name + assigned_to: Assigned to + owner_jdc: Owner of the control game + control_numbers: Nb contrôle + updated_at: Update diff --git a/config/locales/compliance_control_sets.fr.yml b/config/locales/compliance_control_sets.fr.yml index f5bb7c67b..37851d7c4 100644 --- a/config/locales/compliance_control_sets.fr.yml +++ b/config/locales/compliance_control_sets.fr.yml @@ -1,24 +1,33 @@ fr: compliance_control_sets: index: - title: Jeux de contrôle - new: Création d'un jeux de contrôle - edit: Édition d'un jeux de contrôle + title: "Liste des jeux de contrôles" + edit: + title: "Editer le jeu de contrôles %{name}" + show: + title: "Consulter le jeu de contrôles %{name}" + new: + title: "Créer un jeu de contrôles" actions: - new: Ajouter - edit: Editer - destroy: Supprimer - destroy_confirm: Etes vous sûr de supprimer ce jeux de contrôle ? + new: Ajouter + edit: Editer + show: Consulter + destroy: Supprimer + add_compliance_control: Ajouter un JDC + loaded: Charger le contrôle + destroy_confirm: Etes vous sûr de supprimer ce jeux de contrôle ? filters: - name: Indiquez un nom de jeux de contrôle... - search_no_results: Aucun jeu de contrôle ne correspond à votre recherche + name: 'Indiquez un nom de jeux de contrôle...' + search_no_results: 'Aucun jeu de contrôle ne correspond à votre recherche' activerecord: - models: - compliance_control_set: Calendrier - attributes: - compliance_control_set: - name: Nom - assignment: Affectation - owner_jdc: Propriétaire du jeu de contrôle - control_numbers: Nb contrôle - updated_at: Mis a jour
\ No newline at end of file + models: + compliance_control_set: + one: jeu de contrôles + other: jeux de contrôles + attributes: + compliance_control_set: + name: Nom + assigned_to: Affectation + owner_jdc: Propriétaire du jeu de contrôle + control_numbers: Nb contrôle + updated_at: Mis a jour diff --git a/config/locales/compliance_controls.en.yml b/config/locales/compliance_controls.en.yml index a6b863de5..3063c35a4 100644 --- a/config/locales/compliance_controls.en.yml +++ b/config/locales/compliance_controls.en.yml @@ -1,19 +1,9 @@ en: - activerecord: - models: - compliance_control: "compliance control" - attributes: - compliance_control: - name: "Name" - criticity: "Criticity" - comment: "Comment" - code: "Code" compliance_controls: - actions: - new: "Add a new compliance control" - edit: "Edit this compliance control" - destroy: "Remove this compliance control" - destroy_confirm: "Are you sure you want destroy this compliance control?" + min_max_values: "the minimum (%{min}) is not supposed to be greater than the maximum (%{max})" + errors: + incoherent_control_sets: "Impossible to assign a control to a set (id: %{direct_set_name}) differing from the one of its group (id: %{indirect_set_name})" + mandatory_control_type: "A control type must be selected" show: title: "Compliance control" index: @@ -22,103 +12,169 @@ en: title: "Add a new compliance control" edit: title: "Update compliance control" - route: - zdl_stop_area: - messages: - 3_route_1: "The route with % objectid connect the stop points % % et % % which belong to the same ZDL" - description: "Two stop points which belong to the same ZDL cannot follow one another in a route" - opposite_route: - messages: - 3_route_2: "The route with % objectid references an incoherent oppposite route %" - description: | - "If the route has an opposite route, it must : - - reference the opposite route - - have an opposite route in relation with the tested route" - journey_pattern: - messages: - 3_route_3: "The route with % objectid doesn't have any journey pattern" - description: "A route must have at least one journey pattern" - duplicates: - messages: - 3_route_4: "The route with % objectid is identical with another route %" - description: "2 routes cannot connect the same stop points with the same order and the same boarding and alighting characteristics" - opposite_route_terminus: - messages: - 3_route_5: "The route with % objectid has a first stop from the % ZDL whereas its oppoite route's last stop is from the ZDL %" - description: "Deux itinéraires en aller/retour doivent desservir les mêmes terminus" - minimum_length: - messages: - 3_route_6: "The route with % objectid does not connect enough stop points (required 2 stop points)" - description: "A route must have at least 2 stop points" - omnibus_journey_pattern: - messages: - 3_route_9: "The route with % objectid does not have a journey pattern that connect all of its stop points" - description: "A journey pattern of a route should connect all of a route's stop points" - unactivated_stop_point: - messages: - 3_route_10: "L'itinéraire % référence un arrêt (ZDEp) désactivé % (%)" - description: "Les arrêts d'un itinéraire ne doivent pas être désactivés" - journey_pattern: - duplicates: - messages: - 3_journeypattern_1: "The journey pattern with objectid % is identical with another one %" - description: "Two journey patterns belonging to the same line must not connect the same stop points in the same order" - vehicle_journey: - messages: - 3_journeypattern_2: "The journey pattern with % objectid doesn't have any vehicle journey" - description: "A journey pattern must have at least one vehicle journey" - vehicle_journey: - waiting_time: - messages: - 3_vehiclejourney_1: "On the following vehicle journey %, the waiting time % a this stop point % (%) is greater than the threshold (%)" - description: "The waiting time at a specific stop point cannot be too big" - speed: - messages: - 3_vehiclejourney_2_1: "On the following vehicle journey %, the computed speed % between the stop points % (%) and % (%) is greater than the threshold (%)" - 3_vehiclejourney_2_2: "On the following vehicle journey %, the computed speed % between the stop points % (%) and % (%) is smaller than the threshold (%)" - description: "The speed between 2 stop points should be confined between two thresholds" - delta: - messages: - 3_vehiclejourney_3: "The travel time on the vehicle journey with % objectid between the stop points % (%) and % (% is too far off % the average waiting on the journey pattern" - description: "The travel time between two following stop points must be close to all the vehicle journey of a journey pattern" - time_table: - messages: - 3_vehiclejourney_4: "The vehicle journey with % objectid does not have a timetable" - description: "A vehicle journey must have at least one timetable" - vehicle_journey_at_stops: - messages: - 3_vehiclejourney_5_1: "The vehicle journey with % objectid has an arrival time % greater than the departure time % at the stop point % (%)" - 3_vehiclejourney_5_2: "The vehicle journey with % objectid has an departure time % at stop point % (%) greater than the arrival % at the next stop point" - description: "The arrival time of a stop point must be smaller than the departure time of this stop point AND the departure time of the stop points must be in chronological order" - routing_constraint_zone: - vehicle_journey_at_stops: - messages: - 3_itl_1: "The Routing Constraint Zone % references an unactivated stop point (ZDEp) % (%)" - description: "The stop points of a Routing Constraint Zone must be activated" - maximum_length: - messages: - 3_itl_2: "The Routing Constraint Zone % covers all the stop points of its related route : % %." - description: "A Routing Constraint Zone cannot cover all the stop points of a route" - minimum_length: - messages: - 3_itl_3: "The Routing Constraint Zone % has less than 2 stop points" - description: "A Routing Constraint Zone must have at least 2 stop points" - line: - route: - messages: - 3_line_1: "On line : % (%), no route has an opposite route" - description: "The routes of a line must have an opposite route" - generic: - content: - messages: - 3_generic_1: "% : the % attribute value (%) does not respect the following pattern : %" - description: "The object attribute must respect a patten (regular expression)" - min_max: - messages: - 3_generic_2_1: "% : the % attributes's value (%) is greater than the authorized maximum value : %" - 3_generic_2_2: "% : the % attributes's value (%) is smaller than the authorized minimum value %" - description: "The numeric value of an attribute must be contained between 2 values" - uniqueness: - messages: - 3_generic_3: "% : the % attribute's value (%) of % is in conflict with : %" - description: "The attribute's value must be unique compared to the other objects ofthe same type (related to the same line)"
\ No newline at end of file + route_control/zdl_stop_area: + messages: + 3_route_1: "The route with %{source_objectid} objectid connect the stop points %{target_0_label} (%{target_0_objectid}) and %{target_1_label} (%{target_1_objectid}) which belong to the same ZDL" + description: "Two stop points which belong to the same ZDL cannot follow one another in a route" + route_control/opposite_route: + messages: + 3_route_2: "The route with %{source_objectid} objectid references an incoherent oppposite route %{target_0_objectid}" + description: | + "If the route has an opposite route, it must : + - reference the opposite route + - have an opposite route in relation with the tested route" + route_control/journey_pattern: + messages: + 3_route_3: "The route with %{source_objectid} objectid doesn't have any journey pattern" + description: "A route must have at least one journey pattern" + route_control/duplicates: + messages: + 3_route_4: "The route with %{source_objectid} objectid is identical with another route %{target_0_objectid}" + description: "2 routes cannot connect the same stop points with the same order and the same boarding and alighting characteristics" + route_control/opposite_route_terminus: + messages: + 3_route_5: "The route with %{source_objectid} objectid has a first stop from the %{target_0_label} ZDL whereas its oppoite route's last stop is from the ZDL %{target_1_label}" + description: "Deux itinéraires en aller/retour doivent desservir les mêmes terminus" + route_control/minimum_length: + messages: + 3_route_6: "The route with %{source_objectid} objectid does not connect enough stop points (required 2 stop points)" + description: "A route must have at least 2 stop points" + route_control/stop_points_in_journey_pattern: + messages: + 3_route_8: "The stop point %{target_0_label} (%{target_0_objectid}) of the route %{source_objectid} is not used by any journey pattern" + description: "The stop points of a route must be used by at least one journey pattern" + route_control/omnibus_journey_pattern: + messages: + 3_route_9: "The route with %{source_objectid} objectid does not have a journey pattern that connect all of its stop points" + description: "A journey pattern of a route should connect all of a route's stop points" + route_control/unactivated_stop_point: + messages: + 3_route_10: "L'itinéraire %{source_objectid} référence un arrêt (ZDEp) désactivé %{target_0_label} (%{target_0_objectid})" + description: "Les arrêts d'un itinéraire ne doivent pas être désactivés" + journey_pattern_control/duplicates: + messages: + 3_journeypattern_1: "The journey pattern with objectid %{source_objectid} is identical with another one %{target_0_objectid}" + description: "Two journey patterns belonging to the same line must not connect the same stop points in the same order" + journey_pattern_control/vehicle_journey: + messages: + 3_journeypattern_2: "The journey pattern with %{source_objectid} objectid doesn't have any vehicle journey" + description: "A journey pattern must have at least one vehicle journey" + vehicle_journey_control/waiting_time: + messages: + 3_vehiclejourney_1: "On the following vehicle journey %{source_objectid}, the waiting time %{error_value} a this stop point %{target_0_label} (%{target_0_objectid}) is greater than the threshold (%{reference_value})" + description: "The waiting time at a specific stop point cannot be too big" + vehicle_journey_control/speed: + messages: + 3_vehiclejourney_2_1: "On the following vehicle journey %{source_objectid}, the computed speed %{error_value} between the stop points %{target_0_label} (%{target_0_objectid}) and %{target_1_label} (%{target_1_objectid}) is greater than the threshold (%{reference_value})" + 3_vehiclejourney_2_2: "On the following vehicle journey %{source_objectid}, the computed speed %{error_value} between the stop points %{target_0_label} (%{target_0_objectid}) and %{target_1_label} (%{target_1_objectid}) is smaller than the threshold (%{reference_value})" + description: "The speed between 2 stop points should be confined between thresholds" + vehicle_journey_control/delta: + messages: + 3_vehiclejourney_3: "The travel time on the vehicle journey with %{source_objectid} objectid between the stop points %{target_0_label} (%{target_0_objectid}) and %{target_1_label} (%{target_1_objectid}) is too far off %{error_value} the average waiting on the journey pattern" + description: "The travel time between two following stop points must be close to all the vehicle journey of a journey pattern" + vehicle_journey_control/time_table: + messages: + 3_vehiclejourney_4: "The vehicle journey with %{source_objectid} objectid does not have a timetable" + description: "A vehicle journey must have at least one timetable" + vehicle_journey_control/vehicle_journey_at_stops: + messages: + 3_vehiclejourney_5_1: "The vehicle journey with %{source_objectid} objectid has an arrival time %{error_value} greater than the departure time %{reference_value} at the stop point %{target_0_label} (%{target_0_objectid})" + 3_vehiclejourney_5_2: "The vehicle journey with %{source_objectid} objectid has an departure time %{error_value} at stop point %{target_0_label} (%{target_0_objectid}) greater than the arrival % at the next stop point" + description: "The arrival time of a stop point must be smaller than the departure time of this stop point AND the departure time of the stop points must be in chronological order" + routing_constraint_zone_control/vehicle_journey_at_stops: + messages: + 3_routingconstraint_1: "The Routing Constraint Zone %{source_objectid} references an unactivated stop point (ZDEp) %{target_0_label} (%{target_0_objectid})" + description: "The stop points of a Routing Constraint Zone must be activated" + routing_constraint_zone_control/maximum_length: + messages: + 3_routingconstraint_2: "The Routing Constraint Zone %{source_objectid} covers all the stop points of its related route : %{target_0_objectid}." + description: "A Routing Constraint Zone cannot cover all the stop points of a route" + routing_constraint_zone_control/minimum_length: + messages: + 3_routingconstraint_3: "The Routing Constraint Zone %{source_objectid} has less than 2 stop points" + description: "A Routing Constraint Zone must have at least 2 stop points" + line_control/route: + messages: + 3_line_1: "On line :%{source_label} (%{source_objectid}), no route has an opposite route" + description: "The routes of a line must have an opposite route" + generic_attribute_control/pattern: + messages: + 3_generic_1: "%{source_objectid} : the %{source_label} attribute value (%{error_value}) does not respect the following pattern : %{reference_value}" + description: "The object attribute must respect a patten (regular expression)" + generic_attribute_control/min_max: + messages: + 3_generic_2_1: "%{source_objectid} : the %{source_label} attributes's value (%{error_value}) is greater than the authorized maximum value : %{reference_value}" + 3_generic_2_2: "%{source_objectid} : the %{source_label} attributes's value (%{error_value}) is smaller than the authorized minimum value %{reference_value}" + description: "The numeric value of an attribute must be contained between 2 values" + generic_attribute_control/uniqueness: + messages: + 3_generic_3: "%{source_objectid} : the %{source_label} attribute's value (%{error_value}) is in conflict with : %{reference_value}" + description: "The attribute's value must be unique compared to the other objects ofthe same type (related to the same line)" + shape_control: + 3_shape_1: "Tracé %{source_objectid} : le tracé passe trop loin de l'arrêt %{target_0_label} (%{target_0_objectid}) : %{error_value} > %{reference_value}" + 3_shape_2: "Tracé %{source_objectid} : le tracé n'est pas défini entre les arrêts %{target_0_label} (%{target_0_objectid}) et %{target_1_label} (%{target_1_objectid})" + 3_shape_3: "Le tracé de l'itinéraire %{source_objectid} est en écart avec la voirie sur %{error_value} sections" + activerecord: + models: + compliance_control: + one: "compliance control" + other: "compliance controls" + route_control/zdl_stop_area: + one: "Two stop points which belong to the same ZDL cannot follow one another in a route" + route_control/opposite_route: + one: "Check of the opposite route" + route_control/journey_pattern: + one: "Presence of journey patterns" + route_control/duplicates: + one: "Check of route duplicates" + route_control/opposite_route_terminus: + one: "Check of last stop point of the opposite route" + route_control/minimum_length: + one: "A route must have at least 2 stop points" + route_control/omnibus_journey_pattern: + one: "A journey pattern of a route should connect all of a route's stop points" + route_control/unactivated_stop_points: + one: "Route and unactivated stop point" + route_control/stop_points_in_journey_pattern: + one: "The stop points of a route must be used by at least one journey pattern" + journey_pattern_control/duplicates: + one: "Journey patterns duplicates in a line" + journey_pattern_control/vehicle_journey: + one: "Presence of vehicle journeys" + vehicle_journey_control/waiting_time: + one: "The wating time at a stop point should'nt be too long" + vehicle_journey_control/speed: + one: "The speed between 2 stop points should be confined between thresholds" + vehicle_journey_control/delta: + one: "The travel time between two following stop points must be close to all the vehicle journey of a journey pattern" + vehicle_journey_control/time_table: + one: "A vehicle journey must have at least one timetable" + vehicle_journey_control/vehicle_journey_at_stops: + one: "Incresing chronology of the vehicle journey at stops" + routing_constraint_zone_control/vehicle_journey_at_stops: + one: "Incresing chronology of the vehicle journey at stops" + routing_constraint_zone_control/maximum_length: + one: "Maximum length of s routing contraint zone" + routing_constraint_zone_control/minimum_length: + one: "Minimum length of s routing contraint zone" + routing_constraint_zone_control/unactivated_stop_point: + one: "Unactivated stop points" + line_control/route: + one: "The routes of a line must have an opposite route" + generic_attribute_control/pattern: + one: "Attribute pattern of an object in a line" + generic_attribute_control/min_max: + one: "Min, max values of numeric fields" + generic_attribute_control/uniqueness: + one: "Attribute uniqueness of an object in a line" + + attributes: + compliance_control: + name: "Name" + criticity: "Criticity" + comment: "Comment" + code: "Code" + compliance_control_block: "Control Block" + minimum: "Minimum" + maximum: "Maximum" + target: "Target"
\ No newline at end of file diff --git a/config/locales/compliance_controls.fr.yml b/config/locales/compliance_controls.fr.yml index 9a5400a5e..2038b9eb7 100644 --- a/config/locales/compliance_controls.fr.yml +++ b/config/locales/compliance_controls.fr.yml @@ -1,124 +1,180 @@ fr: + compliance_controls: + min_max_values: "la valeur de minimum (%{min}) ne doit pas être superieur à la valuer du maximum (%{max})" + errors: + incoherent_control_sets: "Le contrôle ne peut pas être associé à un jeu de contrôle (id: %{direct_set_name}) différent de celui de son groupe (id: %{indirect_set_name})" + mandatory_control_type: "Un type de contrôle doit être sélectionné" + show: + title: "Consulter un contrôle" + new: + title: "Ajouter un contrôle" + edit: + title: "Editer un contrôle" + select_type: + title: "Sélectionner un type de contrôle" + route_control/zdl_stop_area: + messages: + 3_route_1: "L'itinéraire %{source_objectid} dessert successivement les arrêts %{target_0_label} (%{target_0_objectid}) et %{target_1_label} (%{target_1_objectid}) de la même zone de lieu" + description: "Deux arrêts d’une même ZDL ne peuvent pas se succéder dans un itinéraire" + route_control/opposite_route: + messages: + 3_route_2: "L'itinéraire %{source_objectid} référence un itinéraire retour %{target_0_objectid} incohérent" + description: | + "Si l'itinéraire référence un itinéraire inverse, celui-ci doit : + - référencer l'itinéraire inverse + - avoir un sens opposé à l'itinéraire testé" + route_control/journey_pattern: + messages: + 3_route_3: "L'itinéraire %{source_objectid} n'a pas de mission" + description: "Un itinéraire doit avoir au moins une mission" + route_control/duplicates: + messages: + 3_route_4: "L'itinéraire %{source_objectid} est identique à l'itinéraire %{target_0_objectid}" + description: "2 itinéraires ne doivent pas desservir strictement les mêmes arrêts dans le même ordre avec les mêmes critères de monté/descente" + route_control/opposite_route_terminus: + messages: + 3_route_5: "L'itinéraire %{source_objectid} dessert au départ un arrêt de la ZDL %{target_0_label} alors que l'itinéraire inverse dessert à l'arrivée un arrêt de la ZDL %{target_1_label}" + description: "Deux itinéraires en aller/retour doivent desservir les mêmes terminus" + route_control/minimum_length: + messages: + 3_route_6: "L'itinéraire %{source_objectid} ne dessert pas assez d'arrêts (minimum 2 requis)" + description: "Un itinéraire doit référencer au moins 2 arrêts" + route_control/stop_points_in_journey_pattern: + messages: + 3_route_8: "l'arrêt %{target_0_label} (%{target_0_objectid}) de l'itinéraire %{source_objectid} n'est desservi par aucune mission" + description: "Les arrêts de l'itinéraire doivent être desservis par au moins une mission" + route_control/omnibus_journey_pattern: + messages: + 3_route_9: "L'itinéraire %{source_objectid} n'a aucune mission desservant l'ensemble de ses arrêts" + description: "Une mission de l'itinéraire devrait desservir l'ensemble des arrêts de celui-ci" + route_control/unactivated_stop_point: + messages: + 3_route_10: "L'itinéraire %{source_objectid} référence un arrêt (ZDEp) désactivé %{target_0_label} (%{target_0_objectid})" + description: "Les arrêts d'un itinéraire ne doivent pas être désactivés" + journey_pattern_control/duplicates: + messages: + 3_journeypattern_1: "La mission %{source_objectid} est identique à la mission %{target_0_objectid}" + description: "Deux missions de la même ligne ne doivent pas desservir les mêmes arrêts dans le même ordre" + journey_pattern_control/vehicle_journey: + messages: + 3_journeypattern_2: "La mission %{source_objectid} n'a pas de course" + description: "Une mission doit avoir au moins une course" + vehicle_journey_control/waiting_time: + messages: + 3_vehiclejourney_1: "Sur la course %{source_objectid}, le temps d'attente %{error_value} à l'arrêt %{target_0_label} (%{target_0_objectid}) est supérieur au seuil toléré (%{reference_value})" + description: "La durée d’attente à un arrêt ne doit pas être trop grande" + vehicle_journey_control/speed: + messages: + 3_vehiclejourney_2_1: "Sur la course %{source_objectid}, la vitesse calculée %{error_value} entre les arrêts %{target_0_label} (%{target_0_objectid}) et %{target_1_label} (%{target_1_objectid}) est supérieur au seuil toléré (%{reference_value})" + 3_vehiclejourney_2_2: "Sur la course %{source_objectid}, la vitesse calculée %{error_value} entre les arrêts %{target_0_label} (%{target_0_objectid}) et %{target_1_label} (%{target_1_objectid}) est inférieur au seuil toléré (%{reference_value})" + description: "La vitesse entre deux arrêts doit être dans une fourchette paramétrable" + vehicle_journey_control/delta: + messages: + 3_vehiclejourney_3: "Le temps de parcours sur la course %{source_objectid} entre les arrêts %{target_0_label} (%{target_0_objectid}) et %{target_1_label} (%{target_1_objectid}) s'écarte de %{error_value} du temps moyen constaté sur la mission" + description: "Les temps de parcours entre 2 arrêts successifs doivent être similaires pour toutes les courses d’une même mission" + vehicle_journey_control/time_table: + messages: + 3_vehiclejourney_4: "La course %{source_objectid} n'a pas de calendrier d'application" + description: "Une course doit avoir au moins un calendrier d’application" + vehicle_journey_control/vehicle_journey_at_stops: + messages: + 3_vehiclejourney_5_1: "La course %{source_objectid} a un horaire d'arrivé %{error_value} supérieur à l'horaire de départ %{reference_value} à l'arrêt %{target_0_label} (%{target_0_objectid})" + 3_vehiclejourney_5_2: "La course %{source_objectid} a un horaire de départ %{error_value} à l'arrêt %{target_0_label} (%{target_0_objectid}) supérieur à l'horaire d'arrivé % à l'arrêt suivant" + description: "L'horaire d'arrivée à un arrêt doit être antérieur à l'horaire de départ de cet arrêt ET les horaires de départ aux arrêts doivent être dans l'ordre chronologique croissant." + routing_constraint_zone_control/vehicle_journey_at_stops: + messages: + 3_routingconstraint_1: "L'ITL %{source_objectid} référence un arrêt (ZDEp) désactivé %{target_0_label} (%{target_0_objectid})" + description: "Les arrêts d'une ITL ne doivent pas être désactivés" + routing_constraint_zone_control/maximum_length: + messages: + 3_routingconstraint_2: "L'ITL %{source_objectid} couvre tous les arrêts de l'itinéraire %{target_0_objectid}." + description: "Une ITL ne peut pas couvrir l'ensemble des arrêts de l'itinéraire" + routing_constraint_zone_control/minimum_length: + messages: + 3_routingconstraint_3: "L'ITL %{source_objectid} n'a pas suffisament d'arrêts (minimum 2 arrêts requis)" + description: "Une ITL doit référencer au moins 2 arrêts" + line_control/route: + messages: + 3_line_1: "Sur la ligne %{source_label} (%{source_objectid}), aucun itinéraire n'a d'itinéraire inverse" + description: "Les itinéraires d'une ligne doivent être associés en aller/retour" + generic_attribute_control/pattern: + messages: + 3_generic_1: "%{source_objectid} : l'attribut % à une valeur %{error_value} qui ne respecte pas le motif %{reference_value}" + description: "l'attribut de l'objet doit respecter un motif (expression régulière)" + generic_attribute_control/min_max: + messages: + 3_generic_2_1: "%{source_objectid} : l'attribut %{source_label} à une valeur %{error_value} supérieure à la valeur maximale autorisée %{reference_value}" + 3_generic_2_2: "%{source_objectid} : l'attribut %{source_label} à une valeur %{error_value} inférieure à la valeur minimale autorisée %{reference_value}" + description: "La valeur numérique de l'attribut doit rester comprise entre 2 valeurs" + generic_attribute_control/uniqueness: + messages: + 3_generic_3: "%{source_objectid} : l'attribut %{source_label} à une valeur %{error_value}en conflit avec %{reference_value}" + description: "La valeur de l'attribut doit être unique au sein des objets de la ligne" + shape_control: + 3_shape_1: "Tracé %{source_objectid} : le tracé passe trop loin de l'arrêt %{target_0_label} (%{target_0_objectid}) : %{error_value} > %{reference_value}" + 3_shape_2: "Tracé %{source_objectid} : le tracé n'est pas défini entre les arrêts %{target_0_label} (%{target_0_objectid}) et %{target_1_label} (%{target_1_objectid})" + 3_shape_3: "Le tracé de l'itinéraire %{source_objectid} est en écart avec la voirie sur %{error_value} sections" activerecord: models: - compliance_control: "Jeu de controle" + compliance_control: + one: "controle" + other: "contrôles" + route_control/zdl_stop_area: + one: "Deux arrêts d’une même ZDL ne peuvent pas se succéder dans un itinéraire" + route_control/opposite_route: + one: "Vérification de l'itinéraire inverse" + route_control/journey_pattern: + one: "Présence de missions" + route_control/duplicates: + one: "Détection de double définition d'itinéraire" + route_control/opposite_route_terminus: + one: "Vérification des terminus de l'itinéraire inverse" + route_control/minimum_length: + one: "Un itinéraire doit contenir au moins 2 arrêts" + route_control/omnibus_journey_pattern: + one: "Existence d’une mission passant par tous les arrêts de l'itinéraire" + route_control/unactivated_stop_points: + one: "Itinéraire & arrêt désactivé" + route_control/stop_points_in_journey_pattern: + one: "Un itinéraire doit contenir au moins 2 arrêts" + journey_pattern_control/duplicates: + one: "Doublon de missions dans une ligne" + journey_pattern_control/vehicle_journey: + one: "Présence de courses" + vehicle_journey_control/waiting_time: + one: "La durée d’attente à un arrêt ne doit pas être trop grande" + vehicle_journey_control/speed: + one: "La vitesse entre deux arrêts doit être dans une fourchette paramétrable" + vehicle_journey_control/delta: + one: "Les vitesses entre 2 arrêts doivent être similaires pour toutes les courses d’une même mission" + vehicle_journey_control/time_table: + one: "Une course doit avoir au moins un calendrier d’application" + vehicle_journey_control/vehicle_journey_at_stops: + one: "Chronologie croissante des horaires" + routing_constraint_zone_control/vehicle_journey_at_stops: + one: "Chronologie croissante des horaires" + routing_constraint_zone_control/maximum_length: + one: "Couverture de l'itinéraire" + routing_constraint_zone_control/minimum_length: + one: "Définition minimale d'une ITL" + routing_constraint_zone_control/unactivated_stop_point: + one: "ITL & arret désactivé" + line_control/route: + one: "Appariement des itinéraires" + generic_attribute_control/pattern: + one: "Contrôle du contenu selon un pattern" + generic_attribute_control/min_max: + one: "Valeur min, max de champs numériques" + generic_attribute_control/uniqueness: + one: "Unicité d'un attribut d'un objet dans une ligne" + attributes: compliance_control: name: "Nom" criticity: "Criticité" comment: "Commentaire" code: "Code" - compliance_controls: - actions: - new: "Ajouter un jeu de controle" - edit: "Editer un jeu de controle" - destroy: "Supprimer un jeu de controle" - destroy_confirm: "Etes vous sûr de vouloir détruire le jeu de controle ?" - show: - title: "Jeu de controle" - index: - title: "Jeux de controles" - new: - title: "Ajouter un jeu de controle" - edit: - title: "Editer le jeu de controle" - route: - zdl_stop_area: - messages: - 3_route_1: "L'itinéraire % dessert successivement les arrêts % % et % % de la même zone de lieu" - description: "Deux arrêts d’une même ZDL ne peuvent pas se succéder dans un itinéraire" - opposite_route: - messages: - 3_route_2: "L'itinéraire % référence un itinéraire retour % incohérent" - description: | - "Si l'itinéraire référence un itinéraire inverse, celui-ci doit : - - référencer l'itinéraire inverse - - avoir un sens opposé à l'itinéraire testé" - journey_pattern: - messages: - 3_route_3: "L'itinéraire % n'a pas de mission" - description: "Un itinéraire doit avoir au moins une mission" - duplicates: - messages: - 3_route_4: "L'itinéraire % est identique à l'itinéraire %" - description: "2 itinéraires ne doivent pas desservir strictement les mêmes arrêts dans le même ordre avec les mêmes critères de monté/descente" - opposite_route_terminus: - messages: - 3_route_5: "L'itinéraire % dessert au départ un arrêt de la ZDL % alors que l'itinéraire inverse dessert à l'arrivée un arrêt de la ZDL %" - description: "Deux itinéraires en aller/retour doivent desservir les mêmes terminus" - minimum_length: - messages: - 3_route_6: "L'itinéraire % ne dessert pas assez d'arrêts (minimum 2 requis)" - description: "Un itinéraire doit référencer au moins 2 arrêts" - omnibus_journey_pattern: - messages: - 3_route_9: "L'itinéraire % n'a aucune mission desservant l'ensemble de ses arrêts" - description: "Une mission de l'itinéraire devrait desservir l'ensemble des arrêts de celui-ci" - unactivated_stop_point: - messages: - 3_route_10: "L'itinéraire % référence un arrêt (ZDEp) désactivé % (%)" - description: "Les arrêts d'un itinéraire ne doivent pas être désactivés" - journey_pattern: - duplicates: - messages: - 3_journeypattern_1: "La mission % est identique à la mission %" - description: "Deux missions de la même ligne ne doivent pas desservir les mêmes arrêts dans le même ordre" - vehicle_journey: - messages: - 3_journeypattern_2: "La mission % n'a pas de course" - description: "Une mission doit avoir au moins une course" - vehicle_journey: - waiting_time: - messages: - 3_vehiclejourney_1: "Sur la course %, le temps d'attente % à l'arrêt % (%) est supérieur au seuil toléré (%)" - description: "La durée d’attente à un arrêt ne doit pas être trop grande" - speed: - messages: - 3_vehiclejourney_2_1: "Sur la course %, la vitesse calculée % entre les arrêts % (%) et % (%) est supérieur au seuil toléré (%)" - 3_vehiclejourney_2_2: "Sur la course %, la vitesse calculée % entre les arrêts % (%) et % (%) est inférieur au seuil toléré (%)" - description: "La vitesse entre deux arrêts doit être dans une fourchette paramétrable" - delta: - messages: - 3_vehiclejourney_3: "Le temps de parcours sur la course % entre les arrêts % (%) et % (% s'écarte de % du temps moyen constaté sur la mission" - description: "Les temps de parcours entre 2 arrêts successifs doivent être similaires pour toutes les courses d’une même mission" - time_table: - messages: - 3_vehiclejourney_4: "La course % n'a pas de calendrier d'application" - description: "Une course doit avoir au moins un calendrier d’application" - vehicle_journey_at_stops: - messages: - 3_vehiclejourney_5_1: "La course % a un horaire d'arrivé % supérieur à l'horaire de départ % à l'arrêt {nomArrêt} (%)" - 3_vehiclejourney_5_2: "La course % a un horaire de départ % à l'arrêt {nomArrêt} (%) supérieur à l'horaire d'arrivé % à l'arrêt suivant" - description: "L'horaire d'arrivée à un arrêt doit être antérieur à l'horaire de départ de cet arrêt ET les horaires de départ aux arrêts doivent être dans l'ordre chronologique croissant." - routing_constraint_zone: - vehicle_journey_at_stops: - messages: - 3_itl_1: "L'ITL % référence un arrêt (ZDEp) désactivé % (%)" - description: "Les arrêts d'une ITL ne doivent pas être désactivés" - maximum_length: - messages: - 3_itl_2: "L'ITL % couvre tous les arrêts de l'itinéraire %." - description: "Une ITL ne peut pas couvrir l'ensemble des arrêts de l'itinéraire" - minimum_length: - messages: - 3_itl_3: "L'ITL % n'a pas suffisament d'arrêts (minimum 2 arrêts requis)" - description: "Une ITL doit référencer au moins 2 arrêts" - line: - route: - messages: - 3_line_1: "Sur la ligne % (%), aucun itinéraire n'a d'itinéraire inverse" - description: "Les itinéraires d'une ligne doivent être associés en aller/retour" - generic: - content: - messages: - 3_generic_1: "% : l'attribut % à une valeur % qui ne respecte pas le motif %" - description: "l'attribut de l'objet doit respecter un motif (expression régulière)" - min_max: - messages: - 3_generic_2_1: "% : l'attribut % à une valeur % supérieure à la valeur maximale autorisée %" - 3_generic_2_2: "% : l'attribut % à une valeur % inférieure à la valeur minimale autorisée %" - description: "La valeur numérique de l'attribut doit rester comprise entre 2 valeurs" - uniqueness: - messages: - 3_generic_3: "La valeur de l'attribut doit être unique au sein des objets de la ligne" - description: "% : l'attribut % de % à une valeur % en conflit avec %"
\ No newline at end of file + compliance_control_block: "Groupe de contrôle" + minimum: "Minimum" + maximum: "Maximum" + target: "Cible"
\ No newline at end of file diff --git a/config/locales/dashboard.fr.yml b/config/locales/dashboard.fr.yml new file mode 100644 index 000000000..fffb36cd1 --- /dev/null +++ b/config/locales/dashboard.fr.yml @@ -0,0 +1,4 @@ +fr: + dashboards: + show: + title: "Tableau de bord %{organisation}" diff --git a/config/locales/enumerize.en.yml b/config/locales/enumerize.en.yml index addf64dbd..f5e51171b 100644 --- a/config/locales/enumerize.en.yml +++ b/config/locales/enumerize.en.yml @@ -110,138 +110,137 @@ en: between: Between two dates before: Before date after: After date - line: - transport_mode: - interchange: Interchange - unknown: "unknown" - undefined: "undefined" - air: "Air" - train: "Train" - long_distance_train: "Long distance train" - local_train: "Local train" - rapid_transit: "Rapid transit" - metro: "Metro" - tramway: "Tramway" - coach: "Coach" - bus: "Bus" - ferry: "Ferry" - waterborne: "Waterborne" - private_vehicle: "Private vehicle" - walk: "Walk" - trolleyBus: "Trolleybus" - bicycle: "Bicycle" - shuttle: "Shuttle" - taxi: "Taxi" - val: "VAL" - other: "Other" - air: Air - bus: Bus - coach: Coach - ferry: Ferry - metro: Metro - rail: Rail - trolleybus: Trolleybus - tram: Tramway - water: Water - cableway: Cableway - funicular: Funicular - other: Other - transport_submode: - unknown: 'Unknown' - undefined: 'Undefined' - internationalFlight: 'International flight' - domesticFlight: 'Domestic flight' - intercontinentalFlight: 'Intercontinental flight' - domesticScheduledFlight: 'Domestic scheduled flight' - shuttleFlight: 'Shuttle flight' - intercontinentalCharterFlight: "Intercontinental charter flight" - internationalCharterFlight: "International charter flight" - roundTripCharterFlight: "Roundtrip charter flight" - sightseeingFlight: 'Sightseeing flight' - helicopterService: "Helicopter service" - domesticCharterFlight: "Domestic charter flight" - SchengenAreaFlight: 'Schengen area flight' - airshipService: 'Airship service' - shortHaulInternationalFlight: 'Short haul international flight' - canalBarge: 'Canal barge' - localBus: 'Local bus' - regionalBus: 'Regional bus' - expressBus: 'Express bus' - nightBus: 'Night bus' - postBus: 'Post but' - specialNeedsBus: 'Special needs bus' - mobilityBus: 'Mobility bus' - mobilityBusForRegisteredDisabled: 'Mobility bus for registered disabled' - sightseeingBus: 'sightseeingBus' - shuttleBus: 'Shuttle bus' - highFrequencyBus: 'High frequency bus' - dedicatedLaneBus: 'Dedicated lane bus' - schoolBus: 'School bus' - schoolAndPublicServiceBus: 'School and public service bus' - railReplacementBus: 'Rail replacement bus' - demandAndResponseBus: 'Demand and response bus' - airportLinkBus: 'Airport link bus' - internationalCoach: 'International coach' - nationalCoach: 'National coach' - shuttleCoach: 'Shuttle coach' - regionalCoach: 'Regional coach' - specialCoach: 'Special coach' - schoolCoach: 'School coach' - sightseeingCoach: 'Sightseeing coach' - touristCoach: 'Tourist coach' - commuterCoach: 'Commuter coach' - metro: 'Metro' - tube: 'Tube' - urbanRailway: 'Urban railway' - local: 'Local' - highSpeedRail: 'High speed rail' - suburbanRailway: 'Suburban railway' - regionalRail: 'Regional rail' - interregionalRail: 'Interregional rail' - longDistance: 'Long distance' - intermational: 'International' - sleeperRailService: 'Sleeper rail service' - nightRail: 'Night rail' - carTransportRailService: 'Car transport rail service' - touristRailway: 'Tourist railway' - railShuttle: 'Rail shuttle' - replacementRailService: 'Replacement rail service' - specialTrain: 'Special train' - crossCountryRail: 'Cross country rail' - rackAndPinionRailway: 'Rack and pinion railway' - cityTram: 'City tram' - localTram: 'Local tram' - regionalTram: 'Regional tram' - sightseeingTram: 'Sightseeing tram' - shuttleTram: 'Shuttle tram' - trainTram: 'Train tram' - internationalCarFerry: 'International car ferry' - nationalCarFerry: 'National car ferry' - regionalCarFerry: 'Regional car ferry' - localCarFerry: 'Local car ferry' - internationalPassengerFerry: 'International passenger ferry' - nationalPassengerFerry: 'National passenger ferry' - regionalPassengerFerry: 'Regional passenger ferry' - localPassengerFerry: 'Local passenger ferry' - postBoat: 'Post boat' - trainFerry: 'Train ferry' - roadFerryLink: 'Road ferry link' - airportBoatLink: "Airport boat link" - highSpeedVehicleService: 'High speed vehicle service' - highSpeedPassengerService: 'High speed passenger service' - sightseeingService: 'Sightseeing service' - schoolBoat: 'School boat' - cableFerry: 'Cable ferry' - riverBus: 'River bus' - scheduledFerry: 'Scheduled ferry' - shuttleFerryService: 'Shuttle ferry service' - telecabin: 'Telecabin' - cableCar: 'Cable car' - lift: 'Lift' - chairLift: 'Chair lift' - dragLift: 'Drag lift' - telecabinLink: 'Telecabin link' - funicular: 'Funicular' - streetCableCar: 'Street cable car' - allFunicularServices: 'All funicular services' - undefinedFunicular: 'Undefined funicular' + transport_mode: + interchange: Interchange + unknown: "unknown" + undefined: "undefined" + air: "Air" + train: "Train" + long_distance_train: "Long distance train" + local_train: "Local train" + rapid_transit: "Rapid transit" + metro: "Metro" + tramway: "Tramway" + coach: "Coach" + bus: "Bus" + ferry: "Ferry" + waterborne: "Waterborne" + private_vehicle: "Private vehicle" + walk: "Walk" + trolleyBus: "Trolleybus" + bicycle: "Bicycle" + shuttle: "Shuttle" + taxi: "Taxi" + val: "VAL" + other: "Other" + air: Air + bus: Bus + coach: Coach + ferry: Ferry + metro: Metro + rail: Rail + trolleybus: Trolleybus + tram: Tramway + water: Water + cableway: Cableway + funicular: Funicular + other: Other + transport_submode: + unknown: 'Unknown' + undefined: 'Undefined' + internationalFlight: 'International flight' + domesticFlight: 'Domestic flight' + intercontinentalFlight: 'Intercontinental flight' + domesticScheduledFlight: 'Domestic scheduled flight' + shuttleFlight: 'Shuttle flight' + intercontinentalCharterFlight: "Intercontinental charter flight" + internationalCharterFlight: "International charter flight" + roundTripCharterFlight: "Roundtrip charter flight" + sightseeingFlight: 'Sightseeing flight' + helicopterService: "Helicopter service" + domesticCharterFlight: "Domestic charter flight" + SchengenAreaFlight: 'Schengen area flight' + airshipService: 'Airship service' + shortHaulInternationalFlight: 'Short haul international flight' + canalBarge: 'Canal barge' + localBus: 'Local bus' + regionalBus: 'Regional bus' + expressBus: 'Express bus' + nightBus: 'Night bus' + postBus: 'Post but' + specialNeedsBus: 'Special needs bus' + mobilityBus: 'Mobility bus' + mobilityBusForRegisteredDisabled: 'Mobility bus for registered disabled' + sightseeingBus: 'sightseeingBus' + shuttleBus: 'Shuttle bus' + highFrequencyBus: 'High frequency bus' + dedicatedLaneBus: 'Dedicated lane bus' + schoolBus: 'School bus' + schoolAndPublicServiceBus: 'School and public service bus' + railReplacementBus: 'Rail replacement bus' + demandAndResponseBus: 'Demand and response bus' + airportLinkBus: 'Airport link bus' + internationalCoach: 'International coach' + nationalCoach: 'National coach' + shuttleCoach: 'Shuttle coach' + regionalCoach: 'Regional coach' + specialCoach: 'Special coach' + schoolCoach: 'School coach' + sightseeingCoach: 'Sightseeing coach' + touristCoach: 'Tourist coach' + commuterCoach: 'Commuter coach' + metro: 'Metro' + tube: 'Tube' + urbanRailway: 'Urban railway' + local: 'Local' + highSpeedRail: 'High speed rail' + suburbanRailway: 'Suburban railway' + regionalRail: 'Regional rail' + interregionalRail: 'Interregional rail' + longDistance: 'Long distance' + intermational: 'International' + sleeperRailService: 'Sleeper rail service' + nightRail: 'Night rail' + carTransportRailService: 'Car transport rail service' + touristRailway: 'Tourist railway' + railShuttle: 'Rail shuttle' + replacementRailService: 'Replacement rail service' + specialTrain: 'Special train' + crossCountryRail: 'Cross country rail' + rackAndPinionRailway: 'Rack and pinion railway' + cityTram: 'City tram' + localTram: 'Local tram' + regionalTram: 'Regional tram' + sightseeingTram: 'Sightseeing tram' + shuttleTram: 'Shuttle tram' + trainTram: 'Train tram' + internationalCarFerry: 'International car ferry' + nationalCarFerry: 'National car ferry' + regionalCarFerry: 'Regional car ferry' + localCarFerry: 'Local car ferry' + internationalPassengerFerry: 'International passenger ferry' + nationalPassengerFerry: 'National passenger ferry' + regionalPassengerFerry: 'Regional passenger ferry' + localPassengerFerry: 'Local passenger ferry' + postBoat: 'Post boat' + trainFerry: 'Train ferry' + roadFerryLink: 'Road ferry link' + airportBoatLink: "Airport boat link" + highSpeedVehicleService: 'High speed vehicle service' + highSpeedPassengerService: 'High speed passenger service' + sightseeingService: 'Sightseeing service' + schoolBoat: 'School boat' + cableFerry: 'Cable ferry' + riverBus: 'River bus' + scheduledFerry: 'Scheduled ferry' + shuttleFerryService: 'Shuttle ferry service' + telecabin: 'Telecabin' + cableCar: 'Cable car' + lift: 'Lift' + chairLift: 'Chair lift' + dragLift: 'Drag lift' + telecabinLink: 'Telecabin link' + funicular: 'Funicular' + streetCableCar: 'Street cable car' + allFunicularServices: 'All funicular services' + undefinedFunicular: 'Undefined funicular' diff --git a/config/locales/enumerize.fr.yml b/config/locales/enumerize.fr.yml index b183d80e0..a5845971b 100644 --- a/config/locales/enumerize.fr.yml +++ b/config/locales/enumerize.fr.yml @@ -109,138 +109,136 @@ fr: between: Entre deux dates before: Avant une date after: Après une date - line: - transport_mode: - interchange: Interconnection - unknown: Inconnu - undefined: 'Non défini' - air: Air - train: Train - long_distance_train: Train Grande Ligne - local_train: TER - rapid_transit: RER - metro: Métro - tramway: Tramway - coach: Autocar - bus: Bus - ferry: Ferry - waterborne: Bac - private_vehicle: Voiture particulière - walk: Marche à pied - trolleyBus: Trolleybus - bicycle: Vélo - shuttle: Navette - taxi: Taxi - val: VAL - other: Autre - bus: Bus - coach: Autocar - ferry: Ferry - metro: Métro - rail: Train - trolleybus: Trolleybus - tram: Tramway - water: Eau - cableway: Téléphérique - funicular: Funiculaire - other: Autre - - transport_submode: - unknown: 'Inconnu' - undefined: 'Non défini' - internationalFlight: 'Vol international' - domesticFlight: 'Vol intérieur' - intercontinentalFlight: 'Vol intercontinental' - domesticScheduledFlight: 'Vol intérieur régulier' - shuttleFlight: 'Vol de navette' - intercontinentalCharterFlight: "Vol 'charter' intercontinental" - internationalCharterFlight: "Vol 'charter' international" - roundTripCharterFlight: "Vol 'charter' aller/retour" - sightseeingFlight: 'Vol tourisme' - helicopterService: "Service d'hélicoptère" - domesticCharterFlight: "Vol 'charter' intérieur" - SchengenAreaFlight: 'Vol de zone Shengen' - airshipService: 'Service de dirigeable' - shortHaulInternationalFlight: 'Vol international à courte distance' - canalBarge: 'Péniche' - localBus: 'Bus local' - regionalBus: 'Bus régional' - expressBus: 'Bus express' - nightBus: 'Bus de nuit' - postBus: 'Bus postal' - specialNeedsBus: 'Bus de besoins spécial' - mobilityBus: 'Bus de mobilité' - mobilityBusForRegisteredDisabled: 'Bus de mobilité pour personnes handicapées' - sightseeingBus: 'Bus touristique' - shuttleBus: 'Bus navette' - highFrequencyBus: 'Bus à haute fréquence' - dedicatedLaneBus: 'Bus à voie réservée' - schoolBus: 'Bus scolaire' - schoolAndPublicServiceBus: 'Bus scolaire/service public' - railReplacementBus: 'Bus de remplacement de train' - demandAndResponseBus: 'Bus demande/réponse' - airportLinkBus: 'Bus de liaison aéroport' - internationalCoach: 'Autocar international' - nationalCoach: 'Autocar national' - shuttleCoach: 'Autocar navette' - regionalCoach: 'Autocar régional' - specialCoach: 'Autocar spécial' - schoolCoach: 'Autocar scolaire' - sightseeingCoach: 'Autocar touristique' - touristCoach: 'Autocar touristique (2)' - commuterCoach: 'Autocar de banlieue' - metro: 'Métro' - tube: 'Métro (2)' - urbanRailway: 'Train urbain' - local: 'Local' - highSpeedRail: 'Train à grande vitesse' - suburbanRailway: 'Train de banlieue' - regionalRail: 'Train régional' - interregionalRail: 'Train interrégional' - longDistance: 'Longue distance' - intermational: Internationale - sleeperRailService: 'Train à couchettes' - nightRail: 'Train de nuit' - carTransportRailService: 'Service ferroviaire de transport de voitures' - touristRailway: 'Train touristique' - railShuttle: 'Navette ferroviaire' - replacementRailService: 'Service de train de remplacement' - specialTrain: 'Train spécial' - crossCountryRail: 'Train de campagne' - rackAndPinionRailway: 'Train à crémaillère' - cityTram: 'Tramway de ville' - localTram: 'Tramway local' - regionalTram: 'Tramway régional' - sightseeingTram: 'Tramway touristique' - shuttleTram: 'Tramway navette' - trainTram: 'Train/tramway' - internationalCarFerry: 'Ferry international' - nationalCarFerry: 'Ferry national' - regionalCarFerry: 'Ferry régional' - localCarFerry: 'Ferry local' - internationalPassengerFerry: 'Traversier international à passagers' - nationalPassengerFerry: 'Traversier national à passagers' - regionalPassengerFerry: 'Traversier régional à passagers' - localPassengerFerry: 'Traversier local à passagers' - postBoat: 'Bateau de poste' - trainFerry: 'Navire transbordeur' - roadFerryLink: 'Liaison par navire transbordeur' - airportBoatLink: "Liaison maritime d'aéroport" - highSpeedVehicleService: 'Service de véhicule à grande vitesse' - highSpeedPassengerService: 'Service passager à grande vitesse' - sightseeingService: 'Service touristique' - schoolBoat: 'Bateau scolaire' - cableFerry: 'Traversier à câble' - riverBus: 'Bateau-bus' - scheduledFerry: 'Traversier régulier' - shuttleFerryService: 'Service de traversier-navette' - telecabin: 'Télécabine' - cableCar: 'Téléphérique' - lift: 'Ascenseur' - chairLift: 'Télésiège' - dragLift: 'Téléski' - telecabinLink: 'Liaison télécabine' - funicular: 'Funiculaire' - streetCableCar: 'Tramway (2)' - allFunicularServices: 'Tous services de funiculaire' - undefinedFunicular: 'Funiculaire non défini' + transport_mode: + interchange: Interconnection + unknown: Inconnu + undefined: 'Non défini' + air: Air + train: Train + long_distance_train: Train Grande Ligne + local_train: TER + rapid_transit: RER + metro: Métro + tramway: Tramway + coach: Autocar + bus: Bus + ferry: Ferry + waterborne: Bac + private_vehicle: Voiture particulière + walk: Marche à pied + trolleyBus: Trolleybus + bicycle: Vélo + shuttle: Navette + taxi: Taxi + val: VAL + other: Autre + bus: Bus + coach: Autocar + ferry: Ferry + metro: Métro + rail: Train + trolleybus: Trolleybus + tram: Tramway + water: Eau + cableway: Téléphérique + funicular: Funiculaire + other: Autre + transport_submode: + unknown: 'Inconnu' + undefined: 'Non défini' + internationalFlight: 'Vol international' + domesticFlight: 'Vol intérieur' + intercontinentalFlight: 'Vol intercontinental' + domesticScheduledFlight: 'Vol intérieur régulier' + shuttleFlight: 'Vol de navette' + intercontinentalCharterFlight: "Vol 'charter' intercontinental" + internationalCharterFlight: "Vol 'charter' international" + roundTripCharterFlight: "Vol 'charter' aller/retour" + sightseeingFlight: 'Vol tourisme' + helicopterService: "Service d'hélicoptère" + domesticCharterFlight: "Vol 'charter' intérieur" + SchengenAreaFlight: 'Vol de zone Shengen' + airshipService: 'Service de dirigeable' + shortHaulInternationalFlight: 'Vol international à courte distance' + canalBarge: 'Péniche' + localBus: 'Bus local' + regionalBus: 'Bus régional' + expressBus: 'Bus express' + nightBus: 'Bus de nuit' + postBus: 'Bus postal' + specialNeedsBus: 'Bus de besoins spécial' + mobilityBus: 'Bus de mobilité' + mobilityBusForRegisteredDisabled: 'Bus de mobilité pour personnes handicapées' + sightseeingBus: 'Bus touristique' + shuttleBus: 'Bus navette' + highFrequencyBus: 'Bus à haute fréquence' + dedicatedLaneBus: 'Bus à voie réservée' + schoolBus: 'Bus scolaire' + schoolAndPublicServiceBus: 'Bus scolaire/service public' + railReplacementBus: 'Bus de remplacement de train' + demandAndResponseBus: 'Bus à la demande' + airportLinkBus: 'Navette interne aéroport' + internationalCoach: 'Autocar international' + nationalCoach: 'Autocar national' + shuttleCoach: 'Autocar navette' + regionalCoach: 'Autocar régional' + specialCoach: 'Autocar spécial' + schoolCoach: 'Autocar scolaire' + sightseeingCoach: 'Autocar touristique' + touristCoach: 'Autocar touristique (2)' + commuterCoach: 'Autocar de banlieue' + metro: 'Métro' + tube: 'Métro (2)' + urbanRailway: 'Train urbain' + local: 'Local' + highSpeedRail: 'Train à grande vitesse' + suburbanRailway: 'Train' + regionalRail: 'TER' + interregionalRail: 'Intercités' + longDistance: 'Longue distance' + intermational: Internationale + sleeperRailService: 'Train à couchettes' + nightRail: 'Train de nuit' + carTransportRailService: 'Service ferroviaire de transport de voitures' + touristRailway: 'Train touristique' + railShuttle: 'Val' + replacementRailService: 'Service de train de remplacement' + specialTrain: 'Train spécial' + crossCountryRail: 'Train de campagne' + rackAndPinionRailway: 'Train à crémaillère' + cityTram: 'Tramway de ville' + localTram: 'Tramway local' + regionalTram: 'Tramway régional' + sightseeingTram: 'Tramway touristique' + shuttleTram: 'Tramway navette' + trainTram: 'Train/tramway' + internationalCarFerry: 'Ferry international' + nationalCarFerry: 'Ferry national' + regionalCarFerry: 'Ferry régional' + localCarFerry: 'Ferry local' + internationalPassengerFerry: 'Traversier international à passagers' + nationalPassengerFerry: 'Traversier national à passagers' + regionalPassengerFerry: 'Traversier régional à passagers' + localPassengerFerry: 'Traversier local à passagers' + postBoat: 'Bateau de poste' + trainFerry: 'Navire transbordeur' + roadFerryLink: 'Liaison par navire transbordeur' + airportBoatLink: "Liaison maritime d'aéroport" + highSpeedVehicleService: 'Service de véhicule à grande vitesse' + highSpeedPassengerService: 'Service passager à grande vitesse' + sightseeingService: 'Service touristique' + schoolBoat: 'Bateau scolaire' + cableFerry: 'Traversier à câble' + riverBus: 'Bateau-bus' + scheduledFerry: 'Traversier régulier' + shuttleFerryService: 'Service de traversier-navette' + telecabin: 'Télécabine' + cableCar: 'Téléphérique' + lift: 'Ascenseur' + chairLift: 'Télésiège' + dragLift: 'Téléski' + telecabinLink: 'Liaison télécabine' + funicular: 'Funiculaire' + streetCableCar: 'Tramway (2)' + allFunicularServices: 'Tous services de funiculaire' + undefinedFunicular: 'Funiculaire non défini' diff --git a/config/locales/flash_responders.en.yml b/config/locales/flash_responders.en.yml new file mode 100644 index 000000000..659a0bcc5 --- /dev/null +++ b/config/locales/flash_responders.en.yml @@ -0,0 +1,10 @@ +en: + flash: + actions: + create: + notice: "%{resource_name} was successfully created." + update: + notice: "%{resource_name} was successfully updated." + destroy: + notice: "%{resource_name} was successfully destroyed." + alert: "%{resource_name} could not be destroyed." diff --git a/config/locales/flash_responders.fr.yml b/config/locales/flash_responders.fr.yml new file mode 100644 index 000000000..356b83665 --- /dev/null +++ b/config/locales/flash_responders.fr.yml @@ -0,0 +1,10 @@ +fr: + flash: + actions: + create: + notice: "%{resource_name} a été créé avec succès." + update: + notice: "%{resource_name} a été mis à jour avec succès." + destroy: + notice: "%{resource_name} a été détruit avec succès." + alert: "%{resource_name} ne peut pas être détruit." diff --git a/config/locales/footnotes.en.yml b/config/locales/footnotes.en.yml index 98b6bb2a6..dba8edd0b 100644 --- a/config/locales/footnotes.en.yml +++ b/config/locales/footnotes.en.yml @@ -9,7 +9,10 @@ en: title: "Footnotes" activerecord: models: - footnote: "footnote" + footnote: + zero: "note" + one: "note" + other: "notes" attributes: footnote: code: "number" diff --git a/config/locales/footnotes.fr.yml b/config/locales/footnotes.fr.yml index fa3c31338..f5cd71c21 100644 --- a/config/locales/footnotes.fr.yml +++ b/config/locales/footnotes.fr.yml @@ -9,7 +9,10 @@ fr: title: "Notes" activerecord: models: - footnote: "note" + footnote: + zero: "note" + one: "note" + other: "notes" attributes: footnote: code: "numéro" diff --git a/config/locales/journey_patterns.en.yml b/config/locales/journey_patterns.en.yml index 80adc2337..494e700b9 100644 --- a/config/locales/journey_patterns.en.yml +++ b/config/locales/journey_patterns.en.yml @@ -41,6 +41,7 @@ en: name: "Name" published_name: "Published name" comment: "Comments" + section_status: "Section status" registration_number: "Registration number" stop_point_ids: "Route's stop selection" objectid: "Neptune identifier" diff --git a/config/locales/journey_patterns.fr.yml b/config/locales/journey_patterns.fr.yml index 0dceb2f43..24f182168 100644 --- a/config/locales/journey_patterns.fr.yml +++ b/config/locales/journey_patterns.fr.yml @@ -40,6 +40,7 @@ fr: route: "Séquence d'arrêts" name: "Nom" published_name: "Nom public" + section_status: "Status section" comment: "Commentaire" registration_number: "Numéro d'enregistrement" stop_point_ids: "Sélection des arrêts desservis" diff --git a/config/locales/line_referentials.en.yml b/config/locales/line_referentials.en.yml index 78083912d..c6e498b50 100644 --- a/config/locales/line_referentials.en.yml +++ b/config/locales/line_referentials.en.yml @@ -14,7 +14,8 @@ en: activerecord: models: line_referential: - one: "referential" + one: "line referential" + other: "line referentials" attributes: line_referential: sync_interval: "Synchronisation frequency" diff --git a/config/locales/line_referentials.fr.yml b/config/locales/line_referentials.fr.yml index c8dfbd640..1711fdf9c 100644 --- a/config/locales/line_referentials.fr.yml +++ b/config/locales/line_referentials.fr.yml @@ -14,7 +14,8 @@ fr: activerecord: models: line_referential: - one: "référentiel" + one: "référentiel de ligne" + other: "référentiels de ligne" attributes: line_referential: sync_interval: "Fréquence de synchronisation" diff --git a/config/locales/lines.en.yml b/config/locales/lines.en.yml index cfeba10ca..15e08290d 100644 --- a/config/locales/lines.en.yml +++ b/config/locales/lines.en.yml @@ -21,11 +21,13 @@ en: title: "Update line %{line}" show: title: "Line %{line}" - itineraries: "Line's route list" + routes: + title: "Routes list" group_of_lines: "Groups of lines" index: deactivated: "Disabled line" title: "Lines" + line: "Line %{line}" name_or_number_or_objectid: "Search by name, short name or ID Codif..." no_networks: "No networks" no_companies: "No companies" diff --git a/config/locales/lines.fr.yml b/config/locales/lines.fr.yml index 134a669ec..c459eb51b 100644 --- a/config/locales/lines.fr.yml +++ b/config/locales/lines.fr.yml @@ -21,11 +21,14 @@ fr: title: "Editer la ligne %{line}" show: title: "Ligne %{line}" + routes: + title: "Liste des Itinéraires" itineraries: "Liste des séquences d'arrêts de la ligne" group_of_lines: "Groupes de lignes" index: deactivated: "Ligne désactivée" title: "Lignes" + line: "Ligne %{line}" name_or_number_or_objectid: "Recherche par nom, nom court ou ID Codif..." no_networks: "Aucun réseaux" no_companies: "Aucun transporteurs" diff --git a/config/locales/referential_suites.en.yml b/config/locales/referential_suites.en.yml new file mode 100644 index 000000000..1a77d9026 --- /dev/null +++ b/config/locales/referential_suites.en.yml @@ -0,0 +1,2 @@ +en: + referential_suites: diff --git a/config/locales/referential_suites.fr.yml b/config/locales/referential_suites.fr.yml new file mode 100644 index 000000000..c87b32fc7 --- /dev/null +++ b/config/locales/referential_suites.fr.yml @@ -0,0 +1,2 @@ +fr: + referential_suites: diff --git a/config/locales/referentials.en.yml b/config/locales/referentials.en.yml index 9ae6bfe35..14b4dbe66 100644 --- a/config/locales/referentials.en.yml +++ b/config/locales/referentials.en.yml @@ -48,9 +48,9 @@ en: activerecord: models: referential: - zero: "Data space" - one: "Data space" - other: "Data spaces" + zero: "data space" + one: "data space" + other: "data spaces" attributes: referential: name: "Data space name" diff --git a/config/locales/referentials.fr.yml b/config/locales/referentials.fr.yml index a201ccadd..b90f6e5b6 100644 --- a/config/locales/referentials.fr.yml +++ b/config/locales/referentials.fr.yml @@ -48,9 +48,9 @@ fr: activerecord: models: referential: - zero: "Jeu de Données" - one: "Jeu de Données" - other: "Jeux de Données" + zero: "jeu de Données" + one: "jeu de Données" + other: "jeux de Données" attributes: referential: name: "Nom" diff --git a/config/locales/routes.en.yml b/config/locales/routes.en.yml index 63d7b198c..4437b62b9 100644 --- a/config/locales/routes.en.yml +++ b/config/locales/routes.en.yml @@ -17,14 +17,35 @@ en: title: "Add a new route" edit: title: "Update route %{route}" + select2: + placeholder: "Select a stop point..." + map: + stop_point_type: Stop point type + short_name: Short name + coordinates: Coordinates + proj: Proj + lat: Lat + lon: Lon + postal_code: Zip Code + city: City + comment: Comment + stop_point: + boarding: + normal: Normal boarding + forbidden: Forbidden boarding + alighting: + normal: Normal alighting + forbidden: Forbidden alighting show: title: "Route %{route}" stop_points: "Stop point on route list" + stop_areas: + title: "Stop area list" journey_patterns: "Route journey patterns list" no_opposite_route: "No reversed route associated" undefined: "Undefined" index: - title: "Routes" + title: "Routes %{route}" selection: "Selection" selection_all: "All" edit_boarding_alighting: diff --git a/config/locales/routes.fr.yml b/config/locales/routes.fr.yml index a494e60ec..83a96732d 100644 --- a/config/locales/routes.fr.yml +++ b/config/locales/routes.fr.yml @@ -17,14 +17,35 @@ fr: title: "Ajouter un itinéraire" edit: title: "Editer l'itinéraire %{route}" + select2: + placeholder: "Sélectionnez un arrêt existant..." + map: + stop_point_type: Type d'arrêt + short_name: Nom court + coordinates: Coordonnées + proj: Proj + lat: Lat + lon: Lon + postal_code: Code Postal + city: Commune + comment: Commentaire + stop_point: + boarding: + normal: Montée autorisée + forbidden: Montée interdite + alighting: + normal: Descente autorisée + forbidden: Descente interdite show: title: "Itinéraire %{route} de la ligne %{line}" stop_points: "Liste des arrêts de l'itinéraire" + stop_areas: + title: "Liste des arrêts" journey_patterns: "Liste des missions" no_opposite_route: "Aucun itinéraire associé" undefined: "Non défini" index: - title: "Itinéraires" + title: "Itinéraire %{route}" selection: "Sélection" selection_all: "Tous" edit_boarding_alighting: diff --git a/config/locales/routing_constraint_zones.en.yml b/config/locales/routing_constraint_zones.en.yml index 836705a6a..cc0a15e0c 100644 --- a/config/locales/routing_constraint_zones.en.yml +++ b/config/locales/routing_constraint_zones.en.yml @@ -1,7 +1,10 @@ en: activerecord: models: - routing_constraint_zone: Routing constraint zone + routing_constraint_zone: + zero: routing constraint zone + one: routing constraint zone + other: routing constraint zones attributes: routing_constraint_zone: name: Name diff --git a/config/locales/routing_constraint_zones.fr.yml b/config/locales/routing_constraint_zones.fr.yml index c262a851a..10c6d37f7 100644 --- a/config/locales/routing_constraint_zones.fr.yml +++ b/config/locales/routing_constraint_zones.fr.yml @@ -1,7 +1,10 @@ fr: activerecord: models: - routing_constraint_zone: Zone de contrainte + routing_constraint_zone: + zero: zone de contrainte + one: zone de contrainte + other: zone de contraintes attributes: routing_constraint_zone: name: Nom diff --git a/config/locales/stif.fr.yml b/config/locales/stif.fr.yml new file mode 100644 index 000000000..4c2ecc951 --- /dev/null +++ b/config/locales/stif.fr.yml @@ -0,0 +1,12 @@ +fr: + stif: + dashboards: + dashboard: + subtitle: "Offres de transport" + organisation: "Offres de mon organisation" + idf: "Offres IDF" + api_keys: "Clés d'API" + referentials: "Jeux de données" + calendars: "Calendriers" + see: "Voir la liste" + no_content: "Aucun contenu pour le moment" diff --git a/config/locales/stop_area_referentials.en.yml b/config/locales/stop_area_referentials.en.yml index bf2e0dc8b..11baf67e2 100644 --- a/config/locales/stop_area_referentials.en.yml +++ b/config/locales/stop_area_referentials.en.yml @@ -5,3 +5,8 @@ en: cancel_sync: "Cancel reflex synchronization" show: title: 'Synchronization iCAR' + activerecord: + models: + stop_area_referential: + one: "stop area referential" + other: "stop area referentials" diff --git a/config/locales/stop_area_referentials.fr.yml b/config/locales/stop_area_referentials.fr.yml index b09c648f0..bb4c4463a 100644 --- a/config/locales/stop_area_referentials.fr.yml +++ b/config/locales/stop_area_referentials.fr.yml @@ -5,3 +5,8 @@ fr: cancel_sync: "Annuler la synchronisation Reflex" show: title: 'Synchronisation iCAR' + activerecord: + models: + stop_area_referential: + one: "référentiel d'arrêt" + other: "référentiel d'arrêts" diff --git a/config/locales/stop_points.en.yml b/config/locales/stop_points.en.yml index 1ef8002d0..d22d85731 100644 --- a/config/locales/stop_points.en.yml +++ b/config/locales/stop_points.en.yml @@ -52,5 +52,6 @@ en: simple_form: labels: stop_point: + name: Stop Point for_boarding: "Pickup" for_alighting: "Drop off" diff --git a/config/locales/stop_points.fr.yml b/config/locales/stop_points.fr.yml index d90041945..d3c873442 100644 --- a/config/locales/stop_points.fr.yml +++ b/config/locales/stop_points.fr.yml @@ -52,5 +52,6 @@ fr: simple_form: labels: stop_point: + name: Arrêt for_boarding: "Montée" for_alighting: "Descente" diff --git a/config/locales/workbenches.en.yml b/config/locales/workbenches.en.yml index 8a458e118..051ef1c96 100644 --- a/config/locales/workbenches.en.yml +++ b/config/locales/workbenches.en.yml @@ -14,3 +14,9 @@ en: zero: "Currently, there is no referential in your workbench" one: "Currently, there is one referential in your workbench" other: "Currently, there are #{count} referentials in your workbench" + activerecord: + models: + workbench: + zero: "workbench" + one: "workbench" + other: "workbenches" diff --git a/config/locales/workbenches.fr.yml b/config/locales/workbenches.fr.yml index 559593492..7a614efc5 100644 --- a/config/locales/workbenches.fr.yml +++ b/config/locales/workbenches.fr.yml @@ -1,17 +1,12 @@ fr: workbenches: - index: - title: "Tableau de bord %{organisation}" - offers: - title: "Offres de transport" - organisation: "Offres de mon organisation" - idf: "Offres IDF" - api_keys: "Clés d'API" - referentials: "Jeux de données" - calendars: "Calendriers" - see: "Voir la liste" - no_content: "Aucun contenu pour le moment" referential_count: zero: "Aucun jeu de données à l'heure actuelle" one: "1 jeu de données à l'heure actuelle" other: "#{count} jeux de données à l'heure actuelle" + activerecord: + models: + workbench: + zero: "espace de travail" + one: "espace de travail" + other: "espaces de travail" diff --git a/config/routes.rb b/config/routes.rb index ef625db1f..b9e318f91 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,6 +1,8 @@ require 'sidekiq/web' ChouetteIhm::Application.routes.draw do + resource :dashboard + resources :workbenches, only: [:show, :index] do delete :referentials, on: :member, action: :delete_referentials resources :imports do @@ -8,7 +10,9 @@ ChouetteIhm::Application.routes.draw do resources :import_resources, only: [:index] do resources :import_messages, only: [:index] end - + end + resources :compliance_check_sets, only: [:index, :show] do + resources :compliance_checks, only: [:show] end end @@ -70,7 +74,10 @@ ChouetteIhm::Application.routes.draw do resources :api_keys, :only => [:edit, :update, :new, :create, :destroy] resources :compliance_control_sets do - resources :compliance_controls + resources :compliance_controls, except: :index do + get :select_type, on: :collection + end + resources :compliance_control_blocks, :except => [:show, :index] end resources :stop_area_referentials, :only => [:show] do @@ -211,7 +218,7 @@ ChouetteIhm::Application.routes.draw do end end - root :to => "workbenches#index" + root :to => "dashboards#show" get '/help/(*slug)' => 'help#show' diff --git a/config/webpack/dev.js b/config/webpack/dev.js new file mode 100644 index 000000000..7703f8452 --- /dev/null +++ b/config/webpack/dev.js @@ -0,0 +1,14 @@ +const environment = require('./environment') +const webpack = require('webpack') +const UglifyJsPlugin = require('uglify-js') + +environment.plugins.set( + 'UglifyJs', + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + } + }) +) + +module.exports = environment.toWebpackConfig() diff --git a/config/webpack/development.js b/config/webpack/development.js new file mode 100644 index 000000000..b66885a3c --- /dev/null +++ b/config/webpack/development.js @@ -0,0 +1,3 @@ +const environment = require('./environment') + +module.exports = environment.toWebpackConfig()
\ No newline at end of file diff --git a/config/webpack/environment.js b/config/webpack/environment.js new file mode 100644 index 000000000..e7c879fb9 --- /dev/null +++ b/config/webpack/environment.js @@ -0,0 +1,27 @@ +const { environment } = require('@rails/webpacker') +const CleanWebpackPlugin = require('clean-webpack-plugin') + +let pathsToClean = [ + 'public/packs' +]; + +// the clean options to use +let cleanOptions = { + root: __dirname + '/../../', + verbose: true, + dry: false +}; + + +environment.plugins.set( + 'CleanWebpack', + new CleanWebpackPlugin(pathsToClean, cleanOptions) +) + +// const config = environment.toWebpackConfig() + +// config.resolve.alias = { +// jquery: "jquery/src/jquery", +// } + +module.exports = environment diff --git a/config/webpack/production.js b/config/webpack/production.js new file mode 100644 index 000000000..7703f8452 --- /dev/null +++ b/config/webpack/production.js @@ -0,0 +1,14 @@ +const environment = require('./environment') +const webpack = require('webpack') +const UglifyJsPlugin = require('uglify-js') + +environment.plugins.set( + 'UglifyJs', + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + } + }) +) + +module.exports = environment.toWebpackConfig() diff --git a/config/webpack/staging.js b/config/webpack/staging.js new file mode 100644 index 000000000..7703f8452 --- /dev/null +++ b/config/webpack/staging.js @@ -0,0 +1,14 @@ +const environment = require('./environment') +const webpack = require('webpack') +const UglifyJsPlugin = require('uglify-js') + +environment.plugins.set( + 'UglifyJs', + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + } + }) +) + +module.exports = environment.toWebpackConfig() diff --git a/config/webpack/test.js b/config/webpack/test.js new file mode 100644 index 000000000..d728f40d2 --- /dev/null +++ b/config/webpack/test.js @@ -0,0 +1,8 @@ +const environment = require('./environment') + +import $ from 'jquery'; +global.$ = global.jQuery = $; + +require('bootstrap') + +module.exports = environment.toWebpackConfig() diff --git a/config/webpacker.yml b/config/webpacker.yml new file mode 100644 index 000000000..be1105bad --- /dev/null +++ b/config/webpacker.yml @@ -0,0 +1,81 @@ +# Note: You must restart bin/webpack-dev-server for changes to take effect + +default: &default + source_path: app/javascript + source_entry_path: packs + public_output_path: packs + cache_path: tmp/cache/webpacker + + # Additional paths webpack should lookup modules + # ['app/assets', 'engine/foo/app/assets'] + resolved_paths: [] + + # Reload manifest.json on all requests so we reload latest compiled packs + cache_manifest: false + + extensions: + - .coffee + - .erb + - .js + - .jsx + - .ts + - .vue + - .sass + - .scss + - .css + - .png + - .svg + - .gif + - .jpeg + - .jpg + +development: + <<: *default + compile: true + + # Reference: https://webpack.js.org/configuration/dev-server/ + dev_server: + https: false + host: localhost + port: 3035 + public: localhost:3035 + hmr: false + # Inline should be set to true if using HMR + inline: true + overlay: true + disable_host_check: true + use_local_ip: false + +test: + <<: *default + compile: true + + # Compile test packs to a separate directory + public_output_path: packs-test + +production: + <<: *default + + # Production depends on precompilation of packs prior to booting for performance. + compile: false + + # Cache manifest.json for performance + cache_manifest: true + +dev: + <<: *default + + # Production depends on precompilation of packs prior to booting for performance. + compile: false + + # Cache manifest.json for performance + cache_manifest: true + +staging: + <<: *default + + # Production depends on precompilation of packs prior to booting for performance. + compile: false + + # Cache manifest.json for performance + cache_manifest: true |
