-              
+              
             
            
           
             
-              
+              
             
            
           
             
-              
+              
             
            
           
             
-              
+              
             
            
           
@@ -65,4 +65,8 @@ StopPointList.propTypes = {
   onUnselectMarker : PropTypes.func.isRequired
 }
 
+StopPointList.contextTypes = {
+  I18n: PropTypes.object
+}
+
 module.exports = StopPointList
diff --git a/app/assets/javascripts/es6_browserified/itineraries/index.js b/app/assets/javascripts/es6_browserified/itineraries/index.js
index bb06126f7..13d89bec5 100644
--- a/app/assets/javascripts/es6_browserified/itineraries/index.js
+++ b/app/assets/javascripts/es6_browserified/itineraries/index.js
@@ -5,7 +5,9 @@ var createStore = require('redux').createStore
 var reducers = require('./reducers')
 var App = require('./components/App')
 var { handleForm, handleStopPoints } = require('./form_helper')
-let datas = JSON.parse(decodeURIComponent(window.itinerary_stop))
+let clone = require('../helpers/clone')
+let datas = clone(window, "itinerary_stop", true)
+datas = JSON.parse(decodeURIComponent(datas))
 
 // logger, DO NOT REMOVE
 // var applyMiddleware = require('redux').applyMiddleware
diff --git a/app/assets/javascripts/es6_browserified/itineraries/show.js b/app/assets/javascripts/es6_browserified/itineraries/show.js
index 79a11701f..e88469900 100644
--- a/app/assets/javascripts/es6_browserified/itineraries/show.js
+++ b/app/assets/javascripts/es6_browserified/itineraries/show.js
@@ -1,4 +1,7 @@
+const clone = require('../helpers/clone')
+let route = clone(window, "route", true)
 route = JSON.parse(decodeURIComponent(route))
+
 const geoColPts = []
 const geoColLns= []
 const geoColEdges = [
diff --git a/app/assets/javascripts/es6_browserified/time_tables/actions/index.js b/app/assets/javascripts/es6_browserified/time_tables/actions/index.js
index 361e89c36..a421a8ed6 100644
--- a/app/assets/javascripts/es6_browserified/time_tables/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/time_tables/actions/index.js
@@ -1,5 +1,6 @@
 const _ = require('lodash')
-const { I18n } = window
+const clone = require('../../helpers/clone')
+const I18n = clone(window, "I18n")
 
 const actions = {
   weekDays: (index) => {
diff --git a/app/assets/javascripts/es6_browserified/time_tables/containers/App.js b/app/assets/javascripts/es6_browserified/time_tables/containers/App.js
index 772747104..f12fb8a71 100644
--- a/app/assets/javascripts/es6_browserified/time_tables/containers/App.js
+++ b/app/assets/javascripts/es6_browserified/time_tables/containers/App.js
@@ -9,7 +9,9 @@ var PeriodForm = require('./PeriodForm')
 var SaveTimetable = require('./SaveTimetable')
 var ConfirmModal = require('./ConfirmModal')
 var ErrorModal = require('./ErrorModal')
-const { I18n } = window
+
+const clone = require('../../helpers/clone')
+const I18n = clone(window, "I18n", true)
 
 class App extends Component {
   componentDidMount(){
diff --git a/app/assets/javascripts/es6_browserified/time_tables/index.js b/app/assets/javascripts/es6_browserified/time_tables/index.js
index a91747991..6c352df6b 100644
--- a/app/assets/javascripts/es6_browserified/time_tables/index.js
+++ b/app/assets/javascripts/es6_browserified/time_tables/index.js
@@ -5,6 +5,9 @@ var createStore = require('redux').createStore
 var timeTablesApp = require('./reducers')
 var App = require('./containers/App')
 
+const clone = require('../helpers/clone')
+const actionType = clone(window, "actionType", true)
+
 // logger, DO NOT REMOVE
 // var applyMiddleware = require('redux').applyMiddleware
 // var createLogger = require('redux-logger')
@@ -13,7 +16,7 @@ var App = require('./containers/App')
 
 var initialState = {
   status: {
-    actionType: window.actionType,
+    actionType: actionType,
     policy: window.perms,
     fetchSuccess: true,
     isFetching: false
diff --git a/app/views/routes/_form.html.slim b/app/views/routes/_form.html.slim
index 244b427dc..24c0d3c4a 100644
--- a/app/views/routes/_form.html.slim
+++ b/app/views/routes/_form.html.slim
@@ -26,7 +26,8 @@
 
 // Get JSON data for route stop points
 = javascript_tag do
-  | window.itinerary_stop = "#{URI.escape(route_json_for_edit(@route))}"
+  | window.itinerary_stop = "#{URI.escape(route_json_for_edit(@route))}";
+  | window.I18n = #{(I18n.backend.send(:translations)[I18n.locale].to_json).html_safe};
 
 / StopPoints Reactux component
 = javascript_include_tag 'es6_browserified/itineraries/index.js'
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/routes.en.yml b/config/locales/routes.en.yml
index 63d7b198c..3b1fd85cc 100644
--- a/config/locales/routes.en.yml
+++ b/config/locales/routes.en.yml
@@ -17,6 +17,25 @@ 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"
diff --git a/config/locales/routes.fr.yml b/config/locales/routes.fr.yml
index a494e60ec..43c40645d 100644
--- a/config/locales/routes.fr.yml
+++ b/config/locales/routes.fr.yml
@@ -17,6 +17,25 @@ 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"
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"
-- 
cgit v1.2.3