aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
Diffstat (limited to 'config')
-rw-r--r--config/application.rb8
-rw-r--r--config/deploy.rb6
-rw-r--r--config/environments/production.rb2
-rw-r--r--config/initializers/apartment.rb24
-rw-r--r--config/initializers/stif.rb4
-rw-r--r--config/locales/actions.en.yml1
-rw-r--r--config/locales/actions.fr.yml1
-rw-r--r--config/locales/api_keys.en.yml3
-rw-r--r--config/locales/api_keys.fr.yml3
-rw-r--r--config/locales/breadcrumbs.fr.yml2
-rw-r--r--config/locales/calendars.en.yml3
-rw-r--r--config/locales/calendars.fr.yml3
-rw-r--r--config/locales/compliance_check_sets.en.yml23
-rw-r--r--config/locales/compliance_check_sets.fr.yml23
-rw-r--r--config/locales/compliance_control_blocks.en.yml18
-rw-r--r--config/locales/compliance_control_blocks.fr.yml18
-rw-r--r--config/locales/compliance_control_sets.en.yml44
-rw-r--r--config/locales/compliance_control_sets.fr.yml45
-rw-r--r--config/locales/compliance_controls.en.yml284
-rw-r--r--config/locales/compliance_controls.fr.yml286
-rw-r--r--config/locales/dashboard.fr.yml4
-rw-r--r--config/locales/enumerize.en.yml269
-rw-r--r--config/locales/enumerize.fr.yml268
-rw-r--r--config/locales/flash_responders.en.yml10
-rw-r--r--config/locales/flash_responders.fr.yml10
-rw-r--r--config/locales/footnotes.en.yml5
-rw-r--r--config/locales/footnotes.fr.yml5
-rw-r--r--config/locales/journey_patterns.en.yml1
-rw-r--r--config/locales/journey_patterns.fr.yml1
-rw-r--r--config/locales/line_referentials.en.yml3
-rw-r--r--config/locales/line_referentials.fr.yml3
-rw-r--r--config/locales/lines.en.yml4
-rw-r--r--config/locales/lines.fr.yml3
-rw-r--r--config/locales/referential_suites.en.yml2
-rw-r--r--config/locales/referential_suites.fr.yml2
-rw-r--r--config/locales/referentials.en.yml6
-rw-r--r--config/locales/referentials.fr.yml6
-rw-r--r--config/locales/routes.en.yml23
-rw-r--r--config/locales/routes.fr.yml23
-rw-r--r--config/locales/routing_constraint_zones.en.yml5
-rw-r--r--config/locales/routing_constraint_zones.fr.yml5
-rw-r--r--config/locales/stif.fr.yml12
-rw-r--r--config/locales/stop_area_referentials.en.yml5
-rw-r--r--config/locales/stop_area_referentials.fr.yml5
-rw-r--r--config/locales/stop_points.en.yml1
-rw-r--r--config/locales/stop_points.fr.yml1
-rw-r--r--config/locales/workbenches.en.yml6
-rw-r--r--config/locales/workbenches.fr.yml17
-rw-r--r--config/routes.rb13
-rw-r--r--config/webpack/dev.js14
-rw-r--r--config/webpack/development.js3
-rw-r--r--config/webpack/environment.js27
-rw-r--r--config/webpack/production.js14
-rw-r--r--config/webpack/staging.js14
-rw-r--r--config/webpack/test.js8
-rw-r--r--config/webpacker.yml81
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