From 0e0c78595908e263bfd13e01760f3dc0654fd00c Mon Sep 17 00:00:00 2001
From: David Dorchies <david.dorchies@irstea.fr>
Date: Mon, 6 May 2019 15:02:18 +0200
Subject: [PATCH] =?UTF-8?q?Closes=20#151.=20Traductions=20et=20m=C3=A9nage?=
 =?UTF-8?q?=20des=20messages=20de=20langue.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/app/calculators/cloisons/cloisons.en.json |  11 +-
 src/app/calculators/cloisons/cloisons.fr.json |   5 +-
 src/app/calculators/dever/dever.config.json   |   6 +-
 src/app/calculators/dever/dever.en.json       |  45 +---
 src/app/calculators/dever/dever.fr.json       |  33 +--
 .../calculators/macrorugo/macrorugo.en.json   |  26 +-
 .../calculators/macrorugo/macrorugo.fr.json   |   6 +-
 .../calculators/ouvrages/ouvrages.config.json | 244 ------------------
 src/app/calculators/ouvrages/ouvrages.en.json |  29 ---
 src/app/calculators/ouvrages/ouvrages.fr.json |  29 ---
 .../parallel-structures.config.json           |   6 +-
 .../parallel-structures.en.json               |  23 ++
 .../parallel-structures.fr.json               |  13 +-
 .../dialog-confirm-close-calc.component.ts    |   4 +-
 .../dialog-confirm-empty-session.component.ts |   4 +-
 src/app/formulaire/formulaire-element.ts      |   2 +-
 src/locale/messages.en.json                   | 112 ++++----
 src/locale/messages.fr.json                   | 128 ++++-----
 18 files changed, 201 insertions(+), 525 deletions(-)
 delete mode 100644 src/app/calculators/ouvrages/ouvrages.config.json
 delete mode 100644 src/app/calculators/ouvrages/ouvrages.en.json
 delete mode 100644 src/app/calculators/ouvrages/ouvrages.fr.json
 create mode 100644 src/app/calculators/parallel-structures/parallel-structures.en.json

diff --git a/src/app/calculators/cloisons/cloisons.en.json b/src/app/calculators/cloisons/cloisons.en.json
index c8bc712cd..2acc0c173 100644
--- a/src/app/calculators/cloisons/cloisons.en.json
+++ b/src/app/calculators/cloisons/cloisons.en.json
@@ -1,7 +1,5 @@
 {
-    "fs_param_hydro": "Paramètres hydrauliques",
     "Q": "Débit total",
-    "Z1": "Cote de l'eau amont",
     "ZR": "Cote du lit amont",
     "LB": "Longueur du bassin",
     "BB": "Largeur du bassin",
@@ -9,9 +7,8 @@
     "DH": "Chute",
     "S": "Surface de l'orifice",
     "select_ouvrage_orifice": "Orifice",
-    "select_ouvrage_seuil_rect": "Seuil rectangulaire",
-    "select_loidebit1_kivi": "Kindsvater-Carter et Villemonte",
-    "select_loidebit1_fente": "Fente noyée (Larinier 1992)",
-    "select_loidebit2_orifice": "Orifice noyé",
-    "struct_container": "Ouvrages"
+    "select_ouvrage_seuil_rect": "Rectangular weir",
+    "select_loidebit1_kivi": "Kindsvater-Carter and Villemonte",
+    "select_loidebit1_fente": "Submerged slot (Larinier 1992)",
+    "select_loidebit2_orifice": "Submerged orifice"
 }
\ No newline at end of file
diff --git a/src/app/calculators/cloisons/cloisons.fr.json b/src/app/calculators/cloisons/cloisons.fr.json
index c8bc712cd..9429adda9 100644
--- a/src/app/calculators/cloisons/cloisons.fr.json
+++ b/src/app/calculators/cloisons/cloisons.fr.json
@@ -1,7 +1,5 @@
 {
-    "fs_param_hydro": "Paramètres hydrauliques",
     "Q": "Débit total",
-    "Z1": "Cote de l'eau amont",
     "ZR": "Cote du lit amont",
     "LB": "Longueur du bassin",
     "BB": "Largeur du bassin",
@@ -12,6 +10,5 @@
     "select_ouvrage_seuil_rect": "Seuil rectangulaire",
     "select_loidebit1_kivi": "Kindsvater-Carter et Villemonte",
     "select_loidebit1_fente": "Fente noyée (Larinier 1992)",
-    "select_loidebit2_orifice": "Orifice noyé",
-    "struct_container": "Ouvrages"
+    "select_loidebit2_orifice": "Orifice noyé"
 }
\ No newline at end of file
diff --git a/src/app/calculators/dever/dever.config.json b/src/app/calculators/dever/dever.config.json
index cb24d0423..2780306f6 100644
--- a/src/app/calculators/dever/dever.config.json
+++ b/src/app/calculators/dever/dever.config.json
@@ -160,7 +160,7 @@
             {
                 "type": "input",
                 "id": "alpha2",
-                "unit": "",
+                "unit": "°",
                 "nodeType": "StructureRectangle",
                 "dep_exist": [
                     {
@@ -176,7 +176,7 @@
             {
                 "type": "input",
                 "id": "BT",
-                "unit": "",
+                "unit": "m",
                 "nodeType": "StructureRectangle",
                 "dep_exist": [
                     {
@@ -188,7 +188,7 @@
             {
                 "type": "input",
                 "id": "ZT",
-                "unit": "",
+                "unit": "m",
                 "nodeType": "StructureRectangle",
                 "dep_exist": [
                     {
diff --git a/src/app/calculators/dever/dever.en.json b/src/app/calculators/dever/dever.en.json
index 4157c047f..5cd2a626b 100644
--- a/src/app/calculators/dever/dever.en.json
+++ b/src/app/calculators/dever/dever.en.json
@@ -1,36 +1,13 @@
 {
-    "fs_param_hydro": "Paramètres hydrauliques",
-    "Q": "Débit total",
-    "Z1": "Cote de l'eau amont",
-    "ZR": "Cote du lit amont",
-    "BR": "Largeur du lit amont",
-    "fs_ouvrage": "Ouvrage",
-    "select_ouvrage": "Ouvrage",
-    "select_ouvrage_vanne_circ": "Vanne circulaire",
-    "select_ouvrage_vanne_rect": "Vanne rectangulaire",
-    "select_ouvrage_seuil_rect": "Seuil rectangulaire",
-    "select_ouvrage_seuil_trap": "Seuil trapézoïdal",
-    "select_ouvrage_vanne_trap": "Vanne trapézoïdale",
-    "select_ouvrage_seuil_triang": "Seuil triangulaire",
-    "select_ouvrage_seuil_triangtrunc": "Seuil triangulaire tronqué",
-    "W": "Ouverture de vanne",
-    "select_loidebit1_seuildenoye": "Seuil dénoyé",
-    "select_loidebit1_cunge80": "Cunge 80",
-    "select_loidebit1_cem88d": "Déversoir/Orifice Cemagref 88",
-    "select_loidebit1_cem88v": "Déversoir/Vanne de fond Cemagref 88",
-    "select_loidebit1_kivi": "Kindsvater-Carter et Villemonte",
-    "select_loidebit2_vannedenoye": "Vanne dénoyé",
-    "select_loidebit2_vannenoye": "Vanne noyé",
-    "select_loidebit2_cunge80": "Cunge 80",
-    "select_loidebit2_cem88d": "Déversoir/Orifice Cemagref 88",
-    "select_loidebit2_cem88v": "Déversoir/Vanne de fond Cemagref 88",
-    "select_loidebit3_seuiltriang": "Déversoir triangulaire dénoyé",
-    "select_loidebit4_seuiltriangtrunc": "Déversoir triangulaire tronqué dénoyé",
-    "ZDV": "Cote de la crête du déversoir ou du radier de la vanne",
-    "L": "Largeur du déversoir",
-    "Cd": "Coefficient de débit",
-    "alpha": "Coefficient alpha",
-    "beta": "Coefficient béta",
-    "ZRAM": "Cote du radier amont",
-    "struct_container": "Ouvrages"
+    "Q": "Total Flow",
+    "ZR": "Upstream bed elevation",
+    "BR": "Upstream bed width",
+    "select_ouvrage_seuil_rect": "Rectangular weir",
+    "select_ouvrage_seuil_triang": "Triangular weir",
+    "select_ouvrage_seuil_triangtrunc": "Truncated triangular weir",
+    "select_loidebit1_seuildenoye": "Free flow rectangular weir",
+    "select_loidebit3_seuiltriang": "Free flow triangular weir",
+    "select_loidebit4_seuiltriangtrunc": "Free flow truncated triangular weir",
+    "L": "Width of the weir",
+    "Cd": "Discharge coefficient"
 }
\ No newline at end of file
diff --git a/src/app/calculators/dever/dever.fr.json b/src/app/calculators/dever/dever.fr.json
index 4157c047f..16336b0aa 100644
--- a/src/app/calculators/dever/dever.fr.json
+++ b/src/app/calculators/dever/dever.fr.json
@@ -1,36 +1,13 @@
 {
-    "fs_param_hydro": "Paramètres hydrauliques",
     "Q": "Débit total",
-    "Z1": "Cote de l'eau amont",
     "ZR": "Cote du lit amont",
     "BR": "Largeur du lit amont",
-    "fs_ouvrage": "Ouvrage",
-    "select_ouvrage": "Ouvrage",
-    "select_ouvrage_vanne_circ": "Vanne circulaire",
-    "select_ouvrage_vanne_rect": "Vanne rectangulaire",
-    "select_ouvrage_seuil_rect": "Seuil rectangulaire",
-    "select_ouvrage_seuil_trap": "Seuil trapézoïdal",
-    "select_ouvrage_vanne_trap": "Vanne trapézoïdale",
-    "select_ouvrage_seuil_triang": "Seuil triangulaire",
-    "select_ouvrage_seuil_triangtrunc": "Seuil triangulaire tronqué",
-    "W": "Ouverture de vanne",
-    "select_loidebit1_seuildenoye": "Seuil dénoyé",
-    "select_loidebit1_cunge80": "Cunge 80",
-    "select_loidebit1_cem88d": "Déversoir/Orifice Cemagref 88",
-    "select_loidebit1_cem88v": "Déversoir/Vanne de fond Cemagref 88",
-    "select_loidebit1_kivi": "Kindsvater-Carter et Villemonte",
-    "select_loidebit2_vannedenoye": "Vanne dénoyé",
-    "select_loidebit2_vannenoye": "Vanne noyé",
-    "select_loidebit2_cunge80": "Cunge 80",
-    "select_loidebit2_cem88d": "Déversoir/Orifice Cemagref 88",
-    "select_loidebit2_cem88v": "Déversoir/Vanne de fond Cemagref 88",
+    "select_ouvrage_seuil_rect": "Déversoir rectangulaire",
+    "select_ouvrage_seuil_triang": "Déversoir triangulaire",
+    "select_ouvrage_seuil_triangtrunc": "Déversoir triangulaire tronqué",
+    "select_loidebit1_seuildenoye": "Déversoir rectangulaire dénoyé",
     "select_loidebit3_seuiltriang": "Déversoir triangulaire dénoyé",
     "select_loidebit4_seuiltriangtrunc": "Déversoir triangulaire tronqué dénoyé",
-    "ZDV": "Cote de la crête du déversoir ou du radier de la vanne",
     "L": "Largeur du déversoir",
-    "Cd": "Coefficient de débit",
-    "alpha": "Coefficient alpha",
-    "beta": "Coefficient béta",
-    "ZRAM": "Cote du radier amont",
-    "struct_container": "Ouvrages"
+    "Cd": "Coefficient de débit"
 }
\ No newline at end of file
diff --git a/src/app/calculators/macrorugo/macrorugo.en.json b/src/app/calculators/macrorugo/macrorugo.en.json
index 0fb76a0b9..526461dac 100644
--- a/src/app/calculators/macrorugo/macrorugo.en.json
+++ b/src/app/calculators/macrorugo/macrorugo.en.json
@@ -1,15 +1,15 @@
 {
-    "fs_hydraulique_fix": "Données hydrauliques fixées",
-    "fs_hydraulique_cal": "Données hydrauliques calculables",
-    "fs_bloc": "Paramètres des blocs",
-    "ZF1": "Cote de fond amont",
-    "L": "Longueur",
-    "B": "Largeur",
-    "If": "Pente",
-    "Y": "Profondeur",
-    "Ks": "Rugosité de fond",
-    "C": "Concentration de blocs",
-    "PBD": "Paramètre de bloc : Diamètre",
-    "PBH": "Paramètre de bloc : Hauteur",
-    "Cd0": "Paramètre de bloc : Forme (1 pour rond, 2 pour carré)"
+    "fs_hydraulique_fix": "Fixed hydraulic parameters",
+    "fs_hydraulique_cal": "Computable hydraulic parameters",
+    "fs_bloc": "Blocks parameters",
+    "ZF1": "Upstream bottom elevation",
+    "L": "Lenght",
+    "B": "Width",
+    "If": "Slope",
+    "Y": "Water depth",
+    "Ks": "Bottom roughness",
+    "C": "Block concentration",
+    "PBD": "Diameter",
+    "PBH": "Height",
+    "Cd0": "Shape (1 for round, 2 for square)"
 }
\ No newline at end of file
diff --git a/src/app/calculators/macrorugo/macrorugo.fr.json b/src/app/calculators/macrorugo/macrorugo.fr.json
index 0fb76a0b9..e2122820a 100644
--- a/src/app/calculators/macrorugo/macrorugo.fr.json
+++ b/src/app/calculators/macrorugo/macrorugo.fr.json
@@ -9,7 +9,7 @@
     "Y": "Profondeur",
     "Ks": "Rugosité de fond",
     "C": "Concentration de blocs",
-    "PBD": "Paramètre de bloc : Diamètre",
-    "PBH": "Paramètre de bloc : Hauteur",
-    "Cd0": "Paramètre de bloc : Forme (1 pour rond, 2 pour carré)"
+    "PBD": "Diamètre",
+    "PBH": "Hauteur",
+    "Cd0": "Forme (1 pour rond, 2 pour carré)"
 }
\ No newline at end of file
diff --git a/src/app/calculators/ouvrages/ouvrages.config.json b/src/app/calculators/ouvrages/ouvrages.config.json
deleted file mode 100644
index 840ccc544..000000000
--- a/src/app/calculators/ouvrages/ouvrages.config.json
+++ /dev/null
@@ -1,244 +0,0 @@
-[
-    {
-        "id": "fs_ouvrage",
-        "type": "fieldset",
-        "fields": [
-            {
-                "id": "select_ouvrage",
-                "type": "select",
-                "select": [
-                    {
-                        "id": "select_ouvrage_vanne_rect"
-                    },
-                    {
-                        "id": "select_ouvrage_vanne_circ"
-                    },
-                    {
-                        "id": "select_ouvrage_seuil_rect"
-                    },
-                    {
-                        "id": "select_ouvrage_seuil_trap"
-                    },
-                    {
-                        "id": "select_ouvrage_vanne_trap"
-                    }
-                ]
-            },
-            {
-                "id": "select_loidebit1",
-                "type": "select",
-                "dep_exist": [
-                    {
-                        "refid": "select_ouvrage_vanne",
-                        "refvalue": "select_ouvrage_vanne_rect"
-                    },
-                    {
-                        "refid": "select_ouvrage_vanne",
-                        "refvalue": "select_ouvrage_vanne_circ"
-                    },
-                    {
-                        "refid": "select_ouvrage_vanne",
-                        "refvalue": "select_ouvrage_seuil_rect"
-                    }
-                ],
-                "select": [
-                    {
-                        "id": "select_loidebit1_cemagref88"
-                    },
-                    {
-                        "id": "select_loidebit1_vannedenoye"
-                    },
-                    {
-                        "id": "select_loidebit1_vannenoye"
-                    }
-                ]
-            },
-            {
-                "id": "select_loidebit2",
-                "type": "select",
-                "dep_exist": [
-                    {
-                        "refid": "select_ouvrage_vanne",
-                        "refvalue": "select_ouvrage_seuil_trap"
-                    },
-                    {
-                        "refid": "select_ouvrage_vanne",
-                        "refvalue": "select_ouvrage_vanne_trap"
-                    }
-                ],
-                "select": [
-                    {
-                        "id": "select_loidebit4_cemagref88"
-                    }
-                ]
-            }
-        ]
-    },
-    {
-        "id": "fs_caract_1",
-        "type": "fieldset",
-        "dep_exist": [
-            {
-                "refid": "select_ouvrage_vanne",
-                "refvalue": "select_ouvrage_vanne_rect"
-            },
-            {
-                "refid": "select_ouvrage_vanne",
-                "refvalue": "select_ouvrage_vanne_circ"
-            }
-        ],
-        "fields": [
-            {
-                "type": "input",
-                "id": "larg",
-                "unit": "m",
-                "value": 2
-            },
-            {
-                "type": "input",
-                "id": "ouv",
-                "unit": "m",
-                "value": 0.5
-            },
-            {
-                "type": "input",
-                "id": "kq",
-                "unit": "",
-                "value": 0.4
-            }
-        ]
-    },
-    {
-        "id": "fs_caract_2",
-        "type": "fieldset",
-        "dep_exist": [
-            {
-                "refid": "select_ouvrage_vanne",
-                "refvalue": "select_ouvrage_seuil_rect"
-            }
-        ],
-        "fields": [
-            {
-                "type": "input",
-                "id": "larg",
-                "unit": "m",
-                "value": 2
-            },
-            {
-                "type": "input",
-                "id": "kq",
-                "unit": "",
-                "value": 0.4
-            }
-        ]
-    },
-    {
-        "id": "fs_caract_3",
-        "type": "fieldset",
-        "dep_exist": [
-            {
-                "refid": "select_ouvrage_vanne",
-                "refvalue": "select_ouvrage_seuil_trap"
-            },
-            {
-                "refid": "select_ouvrage_vanne",
-                "refvalue": "select_ouvrage_vanne_trap"
-            }
-        ],
-        "fields": [
-            {
-                "type": "input",
-                "id": "largf",
-                "unit": "m",
-                "value": 2
-            },
-            {
-                "type": "input",
-                "id": "kqr",
-                "unit": "",
-                "value": 0.4
-            },
-            {
-                "type": "input",
-                "id": "kqt",
-                "unit": "",
-                "value": 0.5
-            },
-            {
-                "type": "input",
-                "id": "fruit",
-                "unit": "m/m",
-                "value": 0.56
-            }
-        ]
-    },
-    {
-        "id": "fs_surverse",
-        "type": "fieldset",
-        "dep_exist": [
-            {
-                "id": "select_ouvrage_vanne_rect"
-            },
-            {
-                "id": "select_ouvrage_vanne_circ"
-            },
-            {
-                "id": "select_ouvrage_vanne_trap"
-            }
-        ],
-        "fields": [
-            {
-                "type": "bool",
-                "id": "surverse",
-                "value": false
-            }
-        ]
-    },
-    {
-        "id": "fs_hydraulique",
-        "type": "fieldset",
-        "name": "Caractéristiques globales",
-        "option": "cal",
-        "fields": [
-            {
-                "type": "input",
-                "id": "Q",
-                "unit": "m³/s",
-                "value": 3
-            },
-            {
-                "type": "input",
-                "id": "D",
-                "unit": "m",
-                "value": 1.2
-            },
-            {
-                "type": "input",
-                "id": "J",
-                "unit": "m",
-                "value": 0.6
-            },
-            {
-                "type": "input",
-                "id": "Lg",
-                "unit": "m",
-                "value": 100
-            }
-        ]
-    },
-    {
-        "id": "fs_param_calc",
-        "type": "fieldset",
-        "option": "fix",
-        "fields": [
-            {
-                "type": "input",
-                "id": "Pr"
-            }
-        ]
-    },
-    {
-        "type": "options",
-        "idCal": "J"
-    }
-]
\ No newline at end of file
diff --git a/src/app/calculators/ouvrages/ouvrages.en.json b/src/app/calculators/ouvrages/ouvrages.en.json
deleted file mode 100644
index 16ac2c4c7..000000000
--- a/src/app/calculators/ouvrages/ouvrages.en.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-    "fs_ouvrage": "Type d'ouvrage",
-    "select_ouvrage": "Ouvrage",
-    "select_ouvrage_vanne_rect": "Vanne rectangulaire",
-    "select_loidebit1": "Loi de débit",
-    "select_loidebit1_cemagref88": "Déversoir/Orifice Cemagref 88",
-    "select_loidebit1_vannedenoye": "Vanne dénoyé",
-    "select_loidebit1_vannenoye": "Vanne noyé",
-    "select_loidebit2": "Loi de débit",
-    "select_loidebit2_cemagref88": "Déversoir/Orifice Cemagref 88",
-    "select_ouvrage_circ": "Vanne circulaire",
-    "select_ouvrage_seuil_rect": "Seuil rectangulaire",
-    "select_ouvrage_seuil_trap": "Seuil trapézoïdal",
-    "select_ouvrage_vanne_trap": "Vanne trapézoïdale",
-    "fs_caract_1": "Caractéristiques de l'ouvrage",
-    "larg": "Largeur",
-    "ouv": "Ouverture",
-    "kq": "Coefficient de débit",
-    "fs_caract_2": "Caractéristiques de l'ouvrage",
-    "fs_caract_3": "Caractéristiques de l'ouvrage",
-    "largf": "Largeur au fond",
-    "kqr": "Coefficient de débit partie rectangulaire",
-    "kqt": "Coefficient de débit partie triangulaire",
-    "fruit": "Fruit",
-    "fs_surverse": "Surverse",
-    "fs_hydraulique": "Caractéristiques globales",
-    "Y_A": "Cote de l'eau à l'amont",
-    "Y_a": "Cote de l'eau à l'aval"
-}
\ No newline at end of file
diff --git a/src/app/calculators/ouvrages/ouvrages.fr.json b/src/app/calculators/ouvrages/ouvrages.fr.json
deleted file mode 100644
index 16ac2c4c7..000000000
--- a/src/app/calculators/ouvrages/ouvrages.fr.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
-    "fs_ouvrage": "Type d'ouvrage",
-    "select_ouvrage": "Ouvrage",
-    "select_ouvrage_vanne_rect": "Vanne rectangulaire",
-    "select_loidebit1": "Loi de débit",
-    "select_loidebit1_cemagref88": "Déversoir/Orifice Cemagref 88",
-    "select_loidebit1_vannedenoye": "Vanne dénoyé",
-    "select_loidebit1_vannenoye": "Vanne noyé",
-    "select_loidebit2": "Loi de débit",
-    "select_loidebit2_cemagref88": "Déversoir/Orifice Cemagref 88",
-    "select_ouvrage_circ": "Vanne circulaire",
-    "select_ouvrage_seuil_rect": "Seuil rectangulaire",
-    "select_ouvrage_seuil_trap": "Seuil trapézoïdal",
-    "select_ouvrage_vanne_trap": "Vanne trapézoïdale",
-    "fs_caract_1": "Caractéristiques de l'ouvrage",
-    "larg": "Largeur",
-    "ouv": "Ouverture",
-    "kq": "Coefficient de débit",
-    "fs_caract_2": "Caractéristiques de l'ouvrage",
-    "fs_caract_3": "Caractéristiques de l'ouvrage",
-    "largf": "Largeur au fond",
-    "kqr": "Coefficient de débit partie rectangulaire",
-    "kqt": "Coefficient de débit partie triangulaire",
-    "fruit": "Fruit",
-    "fs_surverse": "Surverse",
-    "fs_hydraulique": "Caractéristiques globales",
-    "Y_A": "Cote de l'eau à l'amont",
-    "Y_a": "Cote de l'eau à l'aval"
-}
\ No newline at end of file
diff --git a/src/app/calculators/parallel-structures/parallel-structures.config.json b/src/app/calculators/parallel-structures/parallel-structures.config.json
index 2949378bb..e1383cad5 100644
--- a/src/app/calculators/parallel-structures/parallel-structures.config.json
+++ b/src/app/calculators/parallel-structures/parallel-structures.config.json
@@ -297,7 +297,7 @@
             {
                 "type": "input",
                 "id": "alpha2",
-                "unit": "",
+                "unit": "°",
                 "nodeType": "StructureRectangle",
                 "dep_exist": [
                     {
@@ -313,7 +313,7 @@
             {
                 "type": "input",
                 "id": "BT",
-                "unit": "",
+                "unit": "m",
                 "nodeType": "StructureRectangle",
                 "dep_exist": [
                     {
@@ -325,7 +325,7 @@
             {
                 "type": "input",
                 "id": "ZT",
-                "unit": "",
+                "unit": "m",
                 "nodeType": "StructureRectangle",
                 "dep_exist": [
                     {
diff --git a/src/app/calculators/parallel-structures/parallel-structures.en.json b/src/app/calculators/parallel-structures/parallel-structures.en.json
new file mode 100644
index 000000000..ffedb609b
--- /dev/null
+++ b/src/app/calculators/parallel-structures/parallel-structures.en.json
@@ -0,0 +1,23 @@
+{
+    "Q": "Total Flow",
+    "select_ouvrage_vanne_circ": "Circular gate",
+    "select_ouvrage_vanne_rect": "Rectangular gate",
+    "select_ouvrage_seuil_rect": "Rectangular weir",
+    "select_ouvrage_seuil_triang": "Triangular weir",
+    "select_ouvrage_seuil_triangtrunc": "Truncated triangular weir",
+    "select_ouvrage_seuil_trap": "Trapezoidal weir",
+    "select_ouvrage_vanne_trap": "trapezoidal gate",
+    "W": "Gate opening",
+    "select_loidebit1_seuildenoye": "Free flow weir",
+    "select_loidebit1_cunge80": "Cunge 80",
+    "select_loidebit1_cem88d": "Weir/Orifice Cemagref 88",
+    "select_loidebit1_cem88v": "Weir/Undershot gate Cemagref 88",
+    "select_loidebit1_kivi": "Kindsvater-Carter and Villemonte",
+    "select_loidebit2_vannedenoye": "Free flow gate",
+    "select_loidebit2_vannenoye": "Submerged gate",
+    "select_loidebit2_cunge80": "Cunge 80",
+    "select_loidebit2_cem88d": "Weir/Orifice Cemagref 88",
+    "select_loidebit2_cem88v": "Weir/Undershot gate Cemagref 88",
+    "select_loidebit3_seuiltriang": "Triangular weir (Villemonte)",
+    "select_loidebit4_seuiltriangtrunc": "Truncated triangular weir (Villemonte)"
+}
diff --git a/src/app/calculators/parallel-structures/parallel-structures.fr.json b/src/app/calculators/parallel-structures/parallel-structures.fr.json
index 41e093726..797484052 100644
--- a/src/app/calculators/parallel-structures/parallel-structures.fr.json
+++ b/src/app/calculators/parallel-structures/parallel-structures.fr.json
@@ -1,10 +1,5 @@
 {
-    "fs_param_hydro": "Paramètres hydrauliques",
     "Q": "Débit total",
-    "Z1": "Cote amont",
-    "Z2": "Cote aval",
-    "fs_ouvrage": "Ouvrage",
-    "select_ouvrage": "Ouvrage",
     "select_ouvrage_vanne_circ": "Vanne circulaire",
     "select_ouvrage_vanne_rect": "Vanne rectangulaire",
     "select_ouvrage_seuil_rect": "Seuil rectangulaire",
@@ -23,10 +18,6 @@
     "select_loidebit2_cunge80": "Cunge 80",
     "select_loidebit2_cem88d": "Déversoir/Orifice Cemagref 88",
     "select_loidebit2_cem88v": "Déversoir/Vanne de fond Cemagref 88",
-    "select_loidebit3_seuiltriang": "Déversoir triangulaire dénoyé",
-    "select_loidebit4_seuiltriangtrunc": "Déversoir triangulaire tronqué dénoyé",
-    "alpha2": "Demi-angle au sommet (°)",
-    "BT": "Demi-ouverture du triangle (m)",
-    "ZT": "Cote haute du triangle (m)",
-    "struct_container": "Ouvrages"
+    "select_loidebit3_seuiltriang": "Déversoir triangulaire (Villemonte)",
+    "select_loidebit4_seuiltriangtrunc": "Déversoir triangulaire tronqué (Villemonte)"
 }
\ No newline at end of file
diff --git a/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.ts b/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.ts
index 63cdc8fa4..67418859a 100644
--- a/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.ts
+++ b/src/app/components/dialog-confirm-close-calc/dialog-confirm-close-calc.component.ts
@@ -27,11 +27,11 @@ export class DialogConfirmCloseCalcComponent {
     }
 
     public get uitextYes() {
-      return this.intlService.localizeText("INFO_OPTION_YES");
+      return this.intlService.localizeText("INFO_OPTION_CLOSE");
     }
 
     public get uitextNo() {
-      return this.intlService.localizeText("INFO_OPTION_NO");
+      return this.intlService.localizeText("INFO_OPTION_CANCEL");
     }
 
     public get uitextCloseCalcTitle() {
diff --git a/src/app/components/dialog-confirm-empty-session/dialog-confirm-empty-session.component.ts b/src/app/components/dialog-confirm-empty-session/dialog-confirm-empty-session.component.ts
index f2334de93..baae6b5b0 100644
--- a/src/app/components/dialog-confirm-empty-session/dialog-confirm-empty-session.component.ts
+++ b/src/app/components/dialog-confirm-empty-session/dialog-confirm-empty-session.component.ts
@@ -15,11 +15,11 @@ export class DialogConfirmEmptySessionComponent {
     ) { }
 
     public get uitextYes() {
-      return this.intlService.localizeText("INFO_OPTION_YES");
+      return this.intlService.localizeText("INFO_OPTION_START_NEW");
     }
 
     public get uitextNo() {
-      return this.intlService.localizeText("INFO_OPTION_NO");
+      return this.intlService.localizeText("INFO_OPTION_CANCEL");
     }
 
     public get uitextEmptySessionTitle() {
diff --git a/src/app/formulaire/formulaire-element.ts b/src/app/formulaire/formulaire-element.ts
index c186feea6..95ddd4437 100644
--- a/src/app/formulaire/formulaire-element.ts
+++ b/src/app/formulaire/formulaire-element.ts
@@ -193,7 +193,7 @@ export abstract class FormulaireElement extends FormulaireNode {
             this._label = this.intlService.localizeText(key, loc);
         } else {
             // Recherche du code dans locale/message.xx.json
-            this._label = this.intlService.localizeText("INFO_LIB_" + key.replace(/\d+$/, "").toLocaleUpperCase());
+            this._label = this.intlService.localizeText("INFO_LIB_" + key.toLocaleUpperCase());
         }
         for (const f of this.getKids()) {
             f.updateLocalisation(loc);
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 335259e4d..bbfb5899c 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -9,22 +9,22 @@
     "ERROR_INTERVAL_OUTSIDE": "Interval: value %value% is outside of %interval",
     "ERROR_INTERVAL_UNDEF": "Interval: invalid 'undefined' value",
     "ERROR_INVALID_AT_POSITION": "Position %s:",
-    "ERROR_MINMAXSTEP_MIN": "Value is not in [%s,%s[",
     "ERROR_MINMAXSTEP_MAX": "Value is not in ]%s,%s]",
+    "ERROR_MINMAXSTEP_MIN": "Value is not in [%s,%s[",
     "ERROR_MINMAXSTEP_STEP": "Value is not in %s",
     "ERROR_NEWTON_DERIVEE_NULLE": "Null function derivative in Newton computation",
-    "ERROR_PARAM_NULL": "Parameter value must not be NULL",
-    "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value",
     "ERROR_PARAMDEF_CALC_UNDEFINED": "calculability of '%symbol%' parameter is undefined",
+    "ERROR_PARAMDEF_LINKED_VALUE_UNDEFINED": "value of '%symbol%' linked parameter is undefined",
     "ERROR_PARAMDEF_VALUE_FIXED": "value of '%symbol%' parameter cannot be changed",
     "ERROR_PARAMDEF_VALUE_INTERVAL": "parameter '%symbol%': value %value% is out of [%minValue%, %maxValue%] interval",
     "ERROR_PARAMDEF_VALUE_NULL": "value of '%symbol%' parameter cannot be 0",
     "ERROR_PARAMDEF_VALUE_POS": "value %value% of '%symbol%' parameter is invalid (cannot be <=0)",
     "ERROR_PARAMDEF_VALUE_POSNULL": "value %value% of '%symbol%' parameter is invalid (cannot be <0)",
     "ERROR_PARAMDEF_VALUE_UNDEFINED": "value of '%symbol%' parameter is undefined",
-    "ERROR_PARAMDEF_LINKED_VALUE_UNDEFINED": "value of '%symbol%' linked parameter is undefined",
     "ERROR_PARAMDOMAIN_INTERVAL_BOUNDS": "invalid %minValue%/%maxValue% min/max boundaries for 'interval' parameter definition domain",
     "ERROR_PARAMDOMAIN_INVALID": "parameter '%symbol%: non supported '%domain%' definition domain",
+    "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value",
+    "ERROR_PARAM_NULL": "Parameter value must not be NULL",
     "ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT": "Upstream boundary condition < Critical elevation: no possible calculation from upstream",
     "ERROR_REMOUS_PAS_CALCUL_DEPUIS_AVAL": "Downstream boundary condition < Critical elevation: no possible calculation from downstream",
     "ERROR_REMOUS_PENTE_FORTE": "The water line slope is too steep at abscissa %x% m (the discretisation step should be reduced)",
@@ -35,32 +35,22 @@
     "ERROR_SECTION_NON_CONVERGENCE_NEWTON_HTOR": "Non convergence of the calculation of the corresponding height (Newton's method) for the calculation of the supercritical depth",
     "ERROR_SECTION_PENTE_NEG_NULLE_HNORMALE_INF": "The slope is negative or zero, the normal depth is infinite",
     "ERROR_STRUCTURE_Q_TROP_ELEVE": "The flow passing through the other devices is too high: the requested parameter is not calculable.",
-    "INFO_CALCULATOR_CALC_NAME": "Calculator name",
     "INFO_CALCULATOR_CALCULER": "Compute",
+    "INFO_CALCULATOR_CALC_NAME": "Calculator name",
     "INFO_CALCULATOR_PARAMFIXES": "Fixed parameters",
     "INFO_CALCULATOR_RESULTS_TITLE": "Results",
     "INFO_CALCULATOR_VALEURS": "Values",
     "INFO_CLOISONS_TITRE": "Fish ladder: Cross walls",
     "INFO_CLOISONS_TITRE_COURT": "Cross walls",
-    "INFO_CLOSE_DIALOGUE_TEXT": "Warning ! Parameters and results will be lost. Really close?",
-    "INFO_CLOSE_DIALOGUE_TITRE": "Please confirm",
     "INFO_CLOSE_DIALOGUE_DEPENDING_MODULES": "The following modules depend on the one you are closing:",
+    "INFO_CLOSE_DIALOGUE_TEXT": "Warning ! Parameters and results of this module will be lost.",
+    "INFO_CLOSE_DIALOGUE_TITRE": "Closing calculation module",
     "INFO_CONDUITEDISTRIBUTRICE_TITRE": "Distributor pipe",
     "INFO_CONDUITEDISTRIBUTRICE_TITRE_COURT": "Distrib.",
     "INFO_COURBEREMOUS_TITRE": "Backwater curves",
     "INFO_COURBEREMOUS_TITRE_COURT": "Backwater",
     "INFO_DEVER_TITRE": "Free flow weir stage-discharge laws",
     "INFO_DEVER_TITRE_COURT": "Free weir",
-    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_0": "Emergent",
-    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_1": "Quasi-emergent",
-    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_2": "Submerged",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_0": "Weir",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_1": "Orifice",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_2": "Zero flow",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_0": "Free flow",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_1": "Partially submerged",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_2": "Submerged",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_3": "Zero flow",
     "INFO_DIALOG_COMPUTED_VALUE_TITLE": "Edit initial value",
     "INFO_DIALOG_EMPTY_CURRENT_SESSION": "Empty current session",
     "INFO_DIALOG_FIX_MISSING_DEPENDENCIES": "Fix missing dependencies",
@@ -68,8 +58,11 @@
     "INFO_DIALOG_LOAD_SESSION_TITLE": "Load calculator modules",
     "INFO_DIALOG_SAVE_SESSION_FILENAME": "File name",
     "INFO_DIALOG_SAVE_SESSION_TITLE": "Save calculator modules",
-    "INFO_EMPTY_SESSION_DIALOGUE_TEXT": "Warning ! All open calculators will be lost. Continue ?",
+    "INFO_EMPTY_SESSION_DIALOGUE_TEXT": "Warning ! All open calculators will be lost.",
     "INFO_EMPTY_SESSION_DIALOGUE_TITRE": "New session",
+    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_0": "Emergent",
+    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_1": "Quasi-emergent",
+    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_2": "Submerged",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_MODE_0": "Weir",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_MODE_1": "Orifice",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_MODE_2": "Zero flow",
@@ -77,6 +70,13 @@
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_REGIME_1": "Partially submerged",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_REGIME_2": "Submerged",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_REGIME_3": "Zero flow",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_0": "Weir",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_1": "Orifice",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_2": "Zero flow",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_0": "Free flow",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_1": "Partially submerged",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_2": "Submerged",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_3": "Zero flow",
     "INFO_EXTRARES_LIB_B": "Surface width (m)",
     "INFO_EXTRARES_LIB_CV": "Cv: Velocity coefficient",
     "INFO_EXTRARES_LIB_CVQT": "CV.QT: Corrected discharge (m³/s)",
@@ -102,9 +102,9 @@
     "INFO_EXTRARES_LIB_TAU0": "Tractive force (Pa)",
     "INFO_EXTRARES_LIB_TOR": "Supercritical water line",
     "INFO_EXTRARES_LIB_V": "Average speed (m/s)",
-    "INFO_EXTRARES_LIB_V_GUIDETECH": "Technical guide speed (m/s)",
     "INFO_EXTRARES_LIB_VDEB": "Conveyance speed (m/s)",
     "INFO_EXTRARES_LIB_VMAX": "Maximal speed (m/s)",
+    "INFO_EXTRARES_LIB_V_GUIDETECH": "Technical guide speed (m/s)",
     "INFO_EXTRARES_LIB_YC": "Critical depth (m)",
     "INFO_EXTRARES_LIB_YCO": "Conjugate depth (m)",
     "INFO_EXTRARES_LIB_YF": "Subcritical depth (m)",
@@ -114,50 +114,59 @@
     "INFO_LECHAPTCALMON_TITRE": "Lechapt-Calmon",
     "INFO_LECHAPTCALMON_TITRE_COURT": "Lechapt-C.",
     "INFO_LIB_ALPHA": "Alpha coefficient",
+    "INFO_LIB_ALPHA2": "Half-angle at the apex",
     "INFO_LIB_BETA": "Beta coefficient",
-    "INFO_LIB_CD": "Discharge coefficient",
     "INFO_LIB_BT": "Half opening of the triangle",
-    "INFO_LIB_FS_PARAM_CALC": "Calculation parameters",
+    "INFO_LIB_CD": "Discharge coefficient",
     "INFO_LIB_FS_OUVRAGE": "Device",
+    "INFO_LIB_FS_PARAM_CALC": "Calculation parameters",
+    "INFO_LIB_FS_PARAM_HYDRO": "Hydraulic parameters",
     "INFO_LIB_L": "Weir width",
     "INFO_LIB_PR": "Display accuracy",
     "INFO_LIB_Q": "Discharge",
-    "INFO_LIB_SELECT_LOIDEBIT": "Stage-discharge law",
+    "INFO_LIB_SELECT_LOIDEBIT1": "Stage-discharge law",
     "INFO_LIB_SELECT_LOIDEBIT1_KIVI": "Kindsvater-Carter and Villemonte",
+    "INFO_LIB_SELECT_LOIDEBIT2": "Stage-discharge law",
+    "INFO_LIB_SELECT_LOIDEBIT3": "Stage-discharge law",
+    "INFO_LIB_SELECT_LOIDEBIT4": "Stage-discharge law",
     "INFO_LIB_SELECT_OUVRAGE": "Device",
     "INFO_LIB_SELECT_OUVRAGE_SEUIL_RECT": "Rectangular weir",
+    "INFO_LIB_STRUCT_CONTAINER": "Devices",
+    "INFO_LIB_Z1": "Upstream water level",
+    "INFO_LIB_Z2": "Downstream water level",
     "INFO_LIB_ZDV": "Crest weir elevation or gate base",
     "INFO_LIB_ZRAM": "Upstream apron elevation",
     "INFO_LIB_ZT": "Triangle top elevation",
     "INFO_LINKED_VALUE_DEVICE": "%s (%s, device %s)",
-    "INFO_LINKED_VALUE_RESULT": "%s (result of %s)",
     "INFO_LINKED_VALUE_DEVICE_RESULT": "%s (result of %s, device %s)",
     "INFO_LINKED_VALUE_EXTRA_RESULT": "%s (%s, extra result)",
     "INFO_LINKED_VALUE_EXTRA_RESULT_OF": "%s (%s, extra result of %s)",
+    "INFO_LINKED_VALUE_RESULT": "%s (result of %s)",
     "INFO_LINKED_VALUE_SECTION": "%s (%s, section)",
     "INFO_LINKED_VALUE_SECTION_RESULT": "%s (result of %s, section)",
     "INFO_MACRORUGO_TITRE": "Rock-ramp fishpasses",
     "INFO_MACRORUGO_TITRE_COURT": "Rock-ramp",
+    "INFO_MENU_EMPTY_SESSION_TITLE": "New session",
     "INFO_MENU_HELP_TITLE": "Help",
     "INFO_MENU_LOAD_SESSION_TITLE": "Load session",
     "INFO_MENU_NOUVELLE_CALC": "New calculation module",
     "INFO_MENU_REPORT_BUG": "Report an issue",
+    "INFO_MENU_RESTORE_DEFAULT_SETTINGS": "Default settings",
     "INFO_MENU_SAVE_SESSION_TITLE": "Save session",
-    "INFO_MENU_SELECT_CALC": "Select calculator module",
-    "INFO_MENU_EMPTY_SESSION_TITLE": "New session",
     "INFO_MENU_SAVE_SETTINGS": "Save settings",
-    "INFO_MENU_RESTORE_DEFAULT_SETTINGS": "Default settings",
-    "INFO_OPTION_NO": "No",
-    "INFO_OPTION_YES": "Yes",
+    "INFO_MENU_SELECT_CALC": "Select calculator module",
+    "INFO_OPTION_ALL": "All",
+    "INFO_OPTION_ALL_F": "All",
     "INFO_OPTION_CANCEL": "Cancel",
     "INFO_OPTION_CLOSE": "Close",
     "INFO_OPTION_LOAD": "Load",
-    "INFO_OPTION_SAVE": "Save",
-    "INFO_OPTION_VALIDATE": "Validate",
-    "INFO_OPTION_ALL": "All",
-    "INFO_OPTION_ALL_F": "All",
+    "INFO_OPTION_NO": "No",
     "INFO_OPTION_NONE": "None",
     "INFO_OPTION_NONE_F": "None",
+    "INFO_OPTION_SAVE": "Save",
+    "INFO_OPTION_START_NEW": "Start new session",
+    "INFO_OPTION_VALIDATE": "Validate",
+    "INFO_OPTION_YES": "Yes",
     "INFO_OUVRAGE": "Structure",
     "INFO_PABCHUTE_TITRE": "Fish ladder: fall",
     "INFO_PABCHUTE_TITRE_COURT": "FL: fall",
@@ -171,11 +180,11 @@
     "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures",
     "INFO_PARAMFIELD_AWAITING_CALCULATION": "Awaiting calculation",
     "INFO_PARAMFIELD_CALCULATED": "Calculated",
-    "INFO_PARAMFIELD_GRAPH_TYPE": "Graph type",
-    "INFO_PARAMFIELD_GRAPH_TYPE_HISTOGRAM": "Histogram",
+    "INFO_PARAMFIELD_CALCULATION_FAILED": "Calculation failed",
     "INFO_PARAMFIELD_GRAPH_SELECT_X_AXIS": "Variable for X axis",
     "INFO_PARAMFIELD_GRAPH_SELECT_Y_AXIS": "Variable for Y axis",
-    "INFO_PARAMFIELD_CALCULATION_FAILED": "Calculation failed",
+    "INFO_PARAMFIELD_GRAPH_TYPE": "Graph type",
+    "INFO_PARAMFIELD_GRAPH_TYPE_HISTOGRAM": "Histogram",
     "INFO_PARAMFIELD_IN_CALCULATION": "In calculation",
     "INFO_PARAMFIELD_IN_CALCULATION_INITIAL_VALUE": "initial value",
     "INFO_PARAMFIELD_PARAMCALCULER": "Calculate",
@@ -183,22 +192,22 @@
     "INFO_PARAMFIELD_PARAMLIE": "Link",
     "INFO_PARAMFIELD_PARAMLIE_LABEL": "Linked parameter",
     "INFO_PARAMFIELD_PARAMVARIER": "Vary",
-    "INFO_PARAMFIELD_PASVARIATION": "With a variation step of",
     "INFO_PARAMFIELD_PARAMVARIER_IMPORT_FICHIER": "Import file",
     "INFO_PARAMFIELD_PARAMVARIER_MINMAXSTEP": "min: %s, max: %s, step: %s",
+    "INFO_PARAMFIELD_PARAMVARIER_MODE": "Mode",
     "INFO_PARAMFIELD_PARAMVARIER_SEPARATEUR_DECIMAL": "Decimal separator",
     "INFO_PARAMFIELD_PARAMVARIER_SEPARATEUR_POINT": ". (dot)",
     "INFO_PARAMFIELD_PARAMVARIER_SEPARATEUR_VIRGULE": ", (comma)",
     "INFO_PARAMFIELD_PARAMVARIER_TITLE": "Multiple values",
-    "INFO_PARAMFIELD_PARAMVARIER_MODE": "Mode",
     "INFO_PARAMFIELD_PARAMVARIER_VALUES": "Values:",
     "INFO_PARAMFIELD_PARAMVARIER_VALUES_FORMAT": "Values list",
     "INFO_PARAMFIELD_PARAMVARIER_VALUES_FORMAT_ERROR": "Incorrect format; accepted separator: %s",
+    "INFO_PARAMFIELD_PASVARIATION": "With a variation step of",
     "INFO_PARAMFIELD_VALEURMAXI": "To maximum value",
     "INFO_PARAMFIELD_VALEURMINI": "From minimum value",
     "INFO_PARAMFIELD_VARIATED": "Variated",
-    "INFO_PARAMMODE_MINMAX": "Min/max",
     "INFO_PARAMMODE_LIST": "Values list",
+    "INFO_PARAMMODE_MINMAX": "Min/max",
     "INFO_REGIMEUNIFORME_TITRE": "Uniform flow calculation",
     "INFO_REGIMEUNIFORME_TITRE_COURT": "Uniform flow",
     "INFO_REMOUSRESULTS_ABSCISSE": "Abscissa (m)",
@@ -215,8 +224,8 @@
     "INFO_REMOUS_LARGEUR_BERGE": "Width at embankment level = %B% m",
     "INFO_REMOUS_RESSAUT_DEHORS": "Hydraulic jump detected %sens% abscissa %x% m",
     "INFO_REMOUS_RESSAUT_HYDRO": "Hydraulic jump detected between abscissa %xmin% and %xmax% m",
-    "INFO_REPORT_BUG_SUBJECT": "Issue report",
     "INFO_REPORT_BUG_BODY": "This is an issue report.\n\nPlease describe quickly the issue you encoutered, and the steps you followed:\n\n\n\n\n--- Current session state - do not modify text below ---\n------------------------------------------------------------------------\n\n",
+    "INFO_REPORT_BUG_SUBJECT": "Issue report",
     "INFO_REQUIRES": "requires",
     "INFO_SECTIONPARAMETREE_TITRE": "Parametric section",
     "INFO_SECTIONPARAMETREE_TITRE_COURT": "Param. section",
@@ -225,27 +234,26 @@
     "INFO_SETUP_PRECISION_AFFICHAGE": "Display accuracy",
     "INFO_SETUP_PRECISION_CALCUL": "Computation accuracy",
     "INFO_SETUP_TITLE": "Application setup",
+    "INFO_SNACKBAR_DEFAULT_SETTINGS_RESTORED": "Default settings restored",
     "INFO_SNACKBAR_RESULTS_CALCULATED": "Results calculated for",
     "INFO_SNACKBAR_RESULTS_INVALIDATED": "Results invalidated for",
     "INFO_SNACKBAR_SETTINGS_SAVED": "Settings saved on this device",
-    "INFO_SNACKBAR_DEFAULT_SETTINGS_RESTORED": "Default settings restored",
     "INFO_THEME_CREDITS": "Credit",
-    "INFO_THEME_MODULES_INUTILISES_TITRE": "Other calculation modules",
-    "INFO_THEME_MODULES_INUTILISES_DESCRIPTION": "Various calculation modules",
-    "INFO_THEME_PASSE_A_BASSIN_TITRE": "Fish ladder",
-    "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "Tools for sizing a fish pass made with pools also called fish steps",
-    "INFO_THEME_PASSE_NATURELLE_TITRE": "Natural pass",
-    "INFO_THEME_PASSE_NATURELLE_DESCRIPTION": "Tools for sizing a natural fish pass also called macroroughness pass or rock-ramp fish pass",
-    "INFO_THEME_HYDRAULIQUE_A_SURFACE_LIBRE_TITRE": "Open-channel flow",
     "INFO_THEME_HYDRAULIQUE_A_SURFACE_LIBRE_DESCRIPTION": "Calculation modules for flows in channels and rivers",
-    "INFO_THEME_HYDRAULIQUE_EN_CHARGE_TITRE": "Pipe flow",
+    "INFO_THEME_HYDRAULIQUE_A_SURFACE_LIBRE_TITRE": "Open-channel flow",
     "INFO_THEME_HYDRAULIQUE_EN_CHARGE_DESCRIPTION": "Modules for calculating head losses in pressure pipes",
-    "INFO_THEME_LOIS_D_OUVRAGES_TITRE": "Hydraulic structures",
+    "INFO_THEME_HYDRAULIQUE_EN_CHARGE_TITRE": "Pipe flow",
     "INFO_THEME_LOIS_D_OUVRAGES_DESCRIPTION": "Flow calculation for hydraulic devices (gates, weir, orifices)",
-    "INFO_WELCOME_SUBTITLE": "Hydraulic calculators",
+    "INFO_THEME_LOIS_D_OUVRAGES_TITRE": "Hydraulic structures",
+    "INFO_THEME_MODULES_INUTILISES_DESCRIPTION": "Various calculation modules",
+    "INFO_THEME_MODULES_INUTILISES_TITRE": "Other calculation modules",
+    "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "Tools for sizing a fish pass made with pools also called fish steps",
+    "INFO_THEME_PASSE_A_BASSIN_TITRE": "Fish ladder",
+    "INFO_THEME_PASSE_NATURELLE_DESCRIPTION": "Tools for sizing a natural fish pass also called macroroughness pass or rock-ramp fish pass",
+    "INFO_THEME_PASSE_NATURELLE_TITRE": "Natural pass",
     "INFO_WELCOME_CONTENT": "<p>The Cassiopée software was developed by <a href=\"https://www.afbiodiversite.fr\" target=\"_blank\">AFB</a> (French Agency for Biodiversity) and <a href=\"http://g-eau.fr/index.php/en/\" target=\"_blank\">UMR G-EAU</a> (Joint Research Unit \"Water Management, Actors, Territories\").</p><p>It includes tools for designing fish passes, and hydraulic calculation tools useful for environmental and agricultural engineering.</p><p>For more information, consult <a href=\"assets/docs-fr/mentions_legales/\" target=\"_blank\">legal notice</a> and <a href=\"assets/docs-fr/\" target=\"_blank\">documentation</a>.</p>",
+    "INFO_WELCOME_SUBTITLE": "Hydraulic calculators",
     "WARNING_REMOUS_ARRET_CRITIQUE": "Calculation stopped: critical elevation reached at abscissa %x%",
     "WARNING_STRUCTUREKIVI_HP_TROP_ELEVE": "h/p must not be greater than 2.5. h/p is forced to 2.5",
     "WARNING_STRUCTUREKIVI_PELLE_TROP_FAIBLE": "Threshold height should be greater than 0.1 m. Beta coefficient is forced to 0"
-
-}
\ No newline at end of file
+}
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 10c005b06..819433f19 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -9,22 +9,22 @@
     "ERROR_INTERVAL_OUTSIDE": "Interval&nbsp;: la valeur %value% est hors de l'intervalle %interval",
     "ERROR_INTERVAL_UNDEF": "Interval&nbsp;: valeur 'undefined' incorrecte",
     "ERROR_INVALID_AT_POSITION": "Position %s :",
-    "ERROR_MINMAXSTEP_MIN": "La valeur n'est pas dans [%s,%s[",
     "ERROR_MINMAXSTEP_MAX": "La valeur n'est pas dans ]%s,%s]",
+    "ERROR_MINMAXSTEP_MIN": "La valeur n'est pas dans [%s,%s[",
     "ERROR_MINMAXSTEP_STEP": "La valeur n'est pas dans %s",
     "ERROR_NEWTON_DERIVEE_NULLE": "Dérivée nulle dans un calcul par la méthode de Newton",
-    "ERROR_PARAM_NULL": "La valeur du paramètre ne peut pas être NULL",
-    "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique",
     "ERROR_PARAMDEF_CALC_UNDEFINED": "La calculabilité du paramètre %symbol% n'est pas définie",
+    "ERROR_PARAMDEF_LINKED_VALUE_UNDEFINED": "La valeur du paramètre lié %symbol% n'est pas définie",
     "ERROR_PARAMDEF_VALUE_FIXED": "La valeur du paramètre %symbol% ne peut pas être changée",
     "ERROR_PARAMDEF_VALUE_INTERVAL": "Paramètre '%symbol%'&nbsp;: la valeur %value% est en dehors de l'intervalle [%minValue%, %maxValue%]",
     "ERROR_PARAMDEF_VALUE_NULL": "La valeur du paramètre '%symbol%' ne peut pas être nulle",
     "ERROR_PARAMDEF_VALUE_POS": "La valeur %value% du paramètre '%symbol%' est incorrecte (<=0)",
     "ERROR_PARAMDEF_VALUE_POSNULL": "La valeur %value% du paramètre '%symbol%' est incorrecte (<0)",
     "ERROR_PARAMDEF_VALUE_UNDEFINED": "La valeur du paramètre %symbol% n'est pas définie",
-    "ERROR_PARAMDEF_LINKED_VALUE_UNDEFINED": "La valeur du paramètre lié %symbol% n'est pas définie",
     "ERROR_PARAMDOMAIN_INTERVAL_BOUNDS": "Les bornes (%minValue%/%maxValue%) de l'intervalle sont incorrectes",
     "ERROR_PARAMDOMAIN_INVALID": "Paramètre '%symbol%'&nbsp;: le domaine de définition '%domain%' est incorrect",
+    "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique",
+    "ERROR_PARAM_NULL": "La valeur du paramètre ne peut pas être NULL",
     "ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT": "Condition limite amont > Hauteur critique&nbsp;: pas de calcul possible depuis l'amont",
     "ERROR_REMOUS_PAS_CALCUL_DEPUIS_AVAL": "Condition limite aval < Hauteur critique&nbsp;: pas de calcul possible depuis l'aval",
     "ERROR_REMOUS_PENTE_FORTE": "La pente de la ligne d'eau est trop forte à l'abscisse %x% m (il faudrait réduire le pas de discrétisation)",
@@ -35,32 +35,22 @@
     "ERROR_SECTION_NON_CONVERGENCE_NEWTON_HTOR": "Non convergence du calcul de la hauteur correspondante (Méthode de Newton) pour le calcul de la hauteur torrentielle",
     "ERROR_SECTION_PENTE_NEG_NULLE_HNORMALE_INF": "La pente est négative ou nulle, la hauteur normale est infinie",
     "ERROR_STRUCTURE_Q_TROP_ELEVE": "Le débit passant par les autres ouvrages est trop élevé: le paramètre demandé n'est pas calculable.",
-    "INFO_CALCULATOR_CALC_NAME": "Nom du module de calcul",
     "INFO_CALCULATOR_CALCULER": "Calculer",
+    "INFO_CALCULATOR_CALC_NAME": "Nom du module de calcul",
     "INFO_CALCULATOR_PARAMFIXES": "Paramètres fixés",
     "INFO_CALCULATOR_RESULTS_TITLE": "Résultats",
     "INFO_CALCULATOR_VALEURS": "Valeurs",
-    "INFO_CLOISONS_TITRE": "Passe à bassin&nbsp;: Cloisons",
+    "INFO_CLOISONS_TITRE": "Passe à bassins&nbsp;: Cloisons",
     "INFO_CLOISONS_TITRE_COURT": "Cloisons",
-    "INFO_CLOSE_DIALOGUE_TEXT": "Attention&nbsp;! Les paramètres et résultats du module de calcul seront perdus. Vraiment fermer&nbsp;?",
-    "INFO_CLOSE_DIALOGUE_TITRE": "Confirmer la fermeture",
     "INFO_CLOSE_DIALOGUE_DEPENDING_MODULES": "Les modules suivants dépendent de celui que vous êtes en train de fermer :",
+    "INFO_CLOSE_DIALOGUE_TEXT": "Attention&nbsp;! Les paramètres et résultats du module de calcul seront perdus.",
+    "INFO_CLOSE_DIALOGUE_TITRE": "Fermeture du module de calcul",
     "INFO_CONDUITEDISTRIBUTRICE_TITRE": "Conduite distributrice",
     "INFO_CONDUITEDISTRIBUTRICE_TITRE_COURT": "Conduite distri.",
     "INFO_COURBEREMOUS_TITRE": "Courbes de remous",
     "INFO_COURBEREMOUS_TITRE_COURT": "Remous",
     "INFO_DEVER_TITRE": "Lois de déversoirs dénoyés",
     "INFO_DEVER_TITRE_COURT": "Déver. dénoyés",
-    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_0": "Emergent",
-    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_1": "Quasi-émergent",
-    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_2": "Immergé",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_0": "Surface libre",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_1": "En charge",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_2": "Débit nul",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_0": "Dénoyé",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_1": "Partiellement noyé",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_2": "Noyé",
-    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_3": "Débit nul",
     "INFO_DIALOG_COMPUTED_VALUE_TITLE": "Modifier la valeur initiale",
     "INFO_DIALOG_EMPTY_CURRENT_SESSION": "Vider la session courante",
     "INFO_DIALOG_FIX_MISSING_DEPENDENCIES": "Résoudre les dépendances",
@@ -68,8 +58,11 @@
     "INFO_DIALOG_LOAD_SESSION_TITLE": "Charger des modules de calcul",
     "INFO_DIALOG_SAVE_SESSION_FILENAME": "Nom de fichier",
     "INFO_DIALOG_SAVE_SESSION_TITLE": "Enregistrer les modules de calcul",
-    "INFO_EMPTY_SESSION_DIALOGUE_TEXT": "Attention&nbsp;! Tous les modules de calcul ouverts seront perdus. Continuer&nbsp;?",
+    "INFO_EMPTY_SESSION_DIALOGUE_TEXT": "Attention&nbsp;! Tous les modules de calcul ouverts seront perdus.",
     "INFO_EMPTY_SESSION_DIALOGUE_TITRE": "Démarrer une nouvelle session",
+    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_0": "Émergent",
+    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_1": "Quasi-émergent",
+    "INFO_EXTRARES_ENUM_MACRORUGOFLOWTYPE_2": "Immergé",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_MODE_0": "Surface libre",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_MODE_1": "En charge",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_MODE_2": "Débit nul",
@@ -77,6 +70,13 @@
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_REGIME_1": "Partiellement noyé",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_REGIME_2": "Noyé",
     "INFO_EXTRARES_ENUM_OUVRAGE_Q_REGIME_3": "Débit nul",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_0": "Surface libre",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_1": "En charge",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWMODE_2": "Débit nul",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_0": "Dénoyé",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_1": "Partiellement noyé",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_2": "Noyé",
+    "INFO_EXTRARES_ENUM_STRUCTUREFLOWREGIME_3": "Débit nul",
     "INFO_EXTRARES_LIB_B": "Largeur au miroir (m)",
     "INFO_EXTRARES_LIB_CV": "Cv: Coefficient de vitesse d'approche",
     "INFO_EXTRARES_LIB_CVQT": "CV.QT: Débit corrigé (m³/s)",
@@ -102,9 +102,9 @@
     "INFO_EXTRARES_LIB_TAU0": "Force tractrice (Pa)",
     "INFO_EXTRARES_LIB_TOR": "Ligne d'eau torrentielle",
     "INFO_EXTRARES_LIB_V": "Vitesse moyenne (m/s)",
-    "INFO_EXTRARES_LIB_V_GUIDETECH": "Vitesse Guide technique (m/s)",
     "INFO_EXTRARES_LIB_VDEB": "Vitesse débitante (m/s)",
     "INFO_EXTRARES_LIB_VMAX": "Vitesse maximale (m/s)",
+    "INFO_EXTRARES_LIB_V_GUIDETECH": "Vitesse Guide technique (m/s)",
     "INFO_EXTRARES_LIB_YC": "Tirant d'eau critique (m)",
     "INFO_EXTRARES_LIB_YCO": "Tirant d'eau conjugué (m)",
     "INFO_EXTRARES_LIB_YF": "Tirant d'eau fluvial (m)",
@@ -114,68 +114,77 @@
     "INFO_LECHAPTCALMON_TITRE": "Lechapt-Calmon",
     "INFO_LECHAPTCALMON_TITRE_COURT": "Lechapt-C.",
     "INFO_LIB_ALPHA": "Coefficient alpha",
+    "INFO_LIB_ALPHA2": "Demi-angle au sommet",
     "INFO_LIB_BETA": "Coefficient béta",
-    "INFO_LIB_CD": "Coefficient de débit",
     "INFO_LIB_BT": "Demi-ouverture du triangle",
-    "INFO_LIB_FS_PARAM_CALC": "Paramètres de calcul",
+    "INFO_LIB_CD": "Coefficient de débit",
     "INFO_LIB_FS_OUVRAGE": "Ouvrage",
+    "INFO_LIB_FS_PARAM_CALC": "Paramètres de calcul",
+    "INFO_LIB_FS_PARAM_HYDRO": "Paramètres hydrauliques",
     "INFO_LIB_L": "Largeur du déversoir",
     "INFO_LIB_PR": "Précision de calcul",
     "INFO_LIB_Q": "Débit",
-    "INFO_LIB_SELECT_LOIDEBIT": "Loi de débit",
+    "INFO_LIB_SELECT_LOIDEBIT1": "Loi de débit",
     "INFO_LIB_SELECT_LOIDEBIT1_KIVI": "Kindsvater-Carter et Villemonte",
+    "INFO_LIB_SELECT_LOIDEBIT2": "Loi de débit",
+    "INFO_LIB_SELECT_LOIDEBIT3": "Loi de débit",
+    "INFO_LIB_SELECT_LOIDEBIT4": "Loi de débit",
     "INFO_LIB_SELECT_OUVRAGE": "Ouvrage",
     "INFO_LIB_SELECT_OUVRAGE_SEUIL_RECT": "Seuil rectangulaire",
+    "INFO_LIB_STRUCT_CONTAINER": "Ouvrages",
+    "INFO_LIB_Z1": "Cote de l'eau amont",
+    "INFO_LIB_Z2": "Cote de l'eau aval",
     "INFO_LIB_ZDV": "Cote de la crête du déversoir ou du radier de la vanne",
     "INFO_LIB_ZRAM": "Cote du radier amont",
     "INFO_LIB_ZT": "Cote haute du triangle",
     "INFO_LINKED_VALUE_DEVICE": "%s (%s, ouvrage %s)",
-    "INFO_LINKED_VALUE_RESULT": "%s (résultat de %s)",
     "INFO_LINKED_VALUE_DEVICE_RESULT": "%s (résultat de %s, ouvrage %s)",
     "INFO_LINKED_VALUE_EXTRA_RESULT": "%s (%s, résultat complémentaire)",
     "INFO_LINKED_VALUE_EXTRA_RESULT_OF": "%s (%s, résultat complémentaire de %s)",
+    "INFO_LINKED_VALUE_RESULT": "%s (résultat de %s)",
     "INFO_LINKED_VALUE_SECTION": "%s (%s, section)",
     "INFO_LINKED_VALUE_SECTION_RESULT": "%s (résultat de %s, section)",
+    "INFO_MACRORUGO_TITRE": "Passe à macro-rugosités",
+    "INFO_MACRORUGO_TITRE_COURT": "Macro-rugo.",
+    "INFO_MENU_EMPTY_SESSION_TITLE": "Nouvelle session",
     "INFO_MENU_HELP_TITLE": "Aide",
     "INFO_MENU_LOAD_SESSION_TITLE": "Charger une session",
+    "INFO_MENU_NOUVELLE_CALC": "Nouveau module de calcul",
     "INFO_MENU_REPORT_BUG": "Signaler un problème",
+    "INFO_MENU_RESTORE_DEFAULT_SETTINGS": "Paramètres par défaut",
     "INFO_MENU_SAVE_SESSION_TITLE": "Enregistrer la session",
-    "INFO_MENU_SELECT_CALC": "Choisir un module de calcul",
-    "INFO_MENU_EMPTY_SESSION_TITLE": "Nouvelle session",
-    "INFO_MENU_NOUVELLE_CALC": "Nouveau module de calcul",
-    "INFO_MACRORUGO_TITRE": "Passe à macro-rugosités",
-    "INFO_MACRORUGO_TITRE_COURT": "Macro-rugo.",
     "INFO_MENU_SAVE_SETTINGS": "Enregistrer les paramètres",
-    "INFO_MENU_RESTORE_DEFAULT_SETTINGS": "Paramètres par défaut",
-    "INFO_OPTION_NO": "Non",
-    "INFO_OPTION_YES": "Oui",
+    "INFO_MENU_SELECT_CALC": "Choisir un module de calcul",
+    "INFO_OPTION_ALL": "Tous",
+    "INFO_OPTION_ALL_F": "Toutes",
     "INFO_OPTION_CANCEL": "Annuler",
     "INFO_OPTION_CLOSE": "Fermer",
     "INFO_OPTION_LOAD": "Charger",
-    "INFO_OPTION_SAVE": "Enregistrer",
-    "INFO_OPTION_VALIDATE": "Valider",
-    "INFO_OPTION_ALL": "Tous",
-    "INFO_OPTION_ALL_F": "Toutes",
+    "INFO_OPTION_NO": "Non",
     "INFO_OPTION_NONE": "Aucun",
     "INFO_OPTION_NONE_F": "Aucune",
+    "INFO_OPTION_SAVE": "Enregistrer",
+    "INFO_OPTION_START_NEW": "Démarrer une nouvelle session",
+    "INFO_OPTION_VALIDATE": "Valider",
+    "INFO_OPTION_YES": "Oui",
     "INFO_OUVRAGE": "Ouvrage",
-    "INFO_PABCHUTE_TITRE": "Passe à bassin&nbsp;: chute",
+    "INFO_PABCHUTE_TITRE": "Passe à bassins&nbsp;: chute",
     "INFO_PABCHUTE_TITRE_COURT": "PAB&nbsp;: chute",
-    "INFO_PABDIMENSIONS_TITRE": "Passe à bassin&nbsp;: dimensions",
+    "INFO_PABDIMENSIONS_TITRE": "Passe à bassins&nbsp;: dimensions",
     "INFO_PABDIMENSIONS_TITRE_COURT": "PAB&nbsp;: dimensions",
-    "INFO_PABNOMBRE_TITRE": "Passe à bassin&nbsp;: nombre de bassins",
+    "INFO_PABNOMBRE_TITRE": "Passe à bassins&nbsp;: nombre de bassins",
     "INFO_PABNOMBRE_TITRE_COURT": "PAB&nbsp;: nombre",
-    "INFO_PABPUISSANCE_TITRE": "Passe à bassin&nbsp;: puissance dissipée",
+    "INFO_PABPUISSANCE_TITRE": "Passe à bassins&nbsp;: puissance dissipée",
     "INFO_PABPUISSANCE_TITRE_COURT": "PAB&nbsp;: puissance",
     "INFO_PARALLELSTRUCTURE_TITRE": "Lois d'ouvrages",
     "INFO_PARALLELSTRUCTURE_TITRE_COURT": "Ouvrages",
     "INFO_PARAMFIELD_AWAITING_CALCULATION": "En attente de calcul",
     "INFO_PARAMFIELD_CALCULATED": "Calculé",
-    "INFO_PARAMFIELD_GRAPH_TYPE": "Type de graphe",
-    "INFO_PARAMFIELD_GRAPH_TYPE_HISTOGRAM": "Histogramme",
+    "INFO_PARAMFIELD_CALCULATION_FAILED": "Échec du calcul",
     "INFO_PARAMFIELD_GRAPH_SELECT_X_AXIS": "Variable en abscisse",
     "INFO_PARAMFIELD_GRAPH_SELECT_Y_AXIS": "Variable en ordonnée",
-    "INFO_PARAMFIELD_CALCULATION_FAILED": "Échec du calcul",
+    "INFO_PARAMFIELD_GRAPH_TYPE": "Type de graphe",
+    "INFO_PARAMFIELD_GRAPH_TYPE_HISTOGRAM": "Histogramme",
     "INFO_PARAMFIELD_IN_CALCULATION": "En calcul",
     "INFO_PARAMFIELD_IN_CALCULATION_INITIAL_VALUE": "valeur initiale",
     "INFO_PARAMFIELD_PARAMCALCULER": "calculer",
@@ -183,22 +192,22 @@
     "INFO_PARAMFIELD_PARAMLIE": "lié",
     "INFO_PARAMFIELD_PARAMLIE_LABEL": "Paramètre lié",
     "INFO_PARAMFIELD_PARAMVARIER": "varier",
-    "INFO_PARAMFIELD_PASVARIATION": "Avec un pas de",
     "INFO_PARAMFIELD_PARAMVARIER_IMPORT_FICHIER": "Importer un fichier",
     "INFO_PARAMFIELD_PARAMVARIER_MINMAXSTEP": "min : %s, max : %s, pas : %s",
+    "INFO_PARAMFIELD_PARAMVARIER_MODE": "Mode",
     "INFO_PARAMFIELD_PARAMVARIER_SEPARATEUR_DECIMAL": "Séparateur décimal",
     "INFO_PARAMFIELD_PARAMVARIER_SEPARATEUR_POINT": ". (point)",
     "INFO_PARAMFIELD_PARAMVARIER_SEPARATEUR_VIRGULE": ", (virgule)",
     "INFO_PARAMFIELD_PARAMVARIER_TITLE": "Valeurs multiples",
-    "INFO_PARAMFIELD_PARAMVARIER_MODE": "Mode",
     "INFO_PARAMFIELD_PARAMVARIER_VALUES": "Valeurs :",
     "INFO_PARAMFIELD_PARAMVARIER_VALUES_FORMAT": "Liste de valeurs",
     "INFO_PARAMFIELD_PARAMVARIER_VALUES_FORMAT_ERROR": "Format incorrect; séparateurs acceptés: %s",
+    "INFO_PARAMFIELD_PASVARIATION": "Avec un pas de",
     "INFO_PARAMFIELD_VALEURMAXI": "À la valeur maximum",
     "INFO_PARAMFIELD_VALEURMINI": "De la valeur minimum",
     "INFO_PARAMFIELD_VARIATED": "Varié",
-    "INFO_PARAMMODE_MINMAX": "Min/max",
     "INFO_PARAMMODE_LIST": "Liste de valeurs",
+    "INFO_PARAMMODE_MINMAX": "Min/max",
     "INFO_REGIMEUNIFORME_TITRE": "Régime uniforme",
     "INFO_REGIMEUNIFORME_TITRE_COURT": "R. uniforme",
     "INFO_REMOUSRESULTS_ABSCISSE": "Abscisse (m)",
@@ -215,8 +224,8 @@
     "INFO_REMOUS_LARGEUR_BERGE": "Largeur au niveau des berges = %B% m",
     "INFO_REMOUS_RESSAUT_DEHORS": "Ressaut hydraulique détecté à l'%sens% de l'abscisse %x% m",
     "INFO_REMOUS_RESSAUT_HYDRO": "Ressaut hydraulique détecté entre les abscisses %xmin% et %xmax% m",
-    "INFO_REPORT_BUG_SUBJECT": "Rapport d'erreur",
     "INFO_REPORT_BUG_BODY": "Ceci est un rapport d'erreur.\n\nMerci de décrire rapidement ci-dessous le problème rencontré, et les étapes qui vous y ont mené :\n\n\n\n\n--- État de la session en cours - ne pas modifier le texte ci-dessous ---\n--------------------------------------------------------------------------------------------\n\n",
+    "INFO_REPORT_BUG_SUBJECT": "Rapport d'erreur",
     "INFO_REQUIRES": "dépend de",
     "INFO_SECTIONPARAMETREE_TITRE": "Section paramétrée",
     "INFO_SECTIONPARAMETREE_TITRE_COURT": "Sec. param.",
@@ -225,27 +234,26 @@
     "INFO_SETUP_PRECISION_AFFICHAGE": "Précision d'affichage",
     "INFO_SETUP_PRECISION_CALCUL": "Précision de calcul",
     "INFO_SETUP_TITLE": "Paramètres de l'application",
+    "INFO_SNACKBAR_DEFAULT_SETTINGS_RESTORED": "Paramètres par défaut restaurés",
     "INFO_SNACKBAR_RESULTS_CALCULATED": "Résultats calculés pour",
     "INFO_SNACKBAR_RESULTS_INVALIDATED": "Résultats invalidés pour",
     "INFO_SNACKBAR_SETTINGS_SAVED": "Paramètres enregistrés sur cet appareil",
-    "INFO_SNACKBAR_DEFAULT_SETTINGS_RESTORED": "Paramètres par défaut restaurés",
     "INFO_THEME_CREDITS": "Crédit",
-    "INFO_THEME_MODULES_INUTILISES_TITRE": "Autres modules de calcul",
-    "INFO_THEME_MODULES_INUTILISES_DESCRIPTION": "Modules de calculs divers",
-    "INFO_THEME_PASSE_A_BASSIN_TITRE": "Passe à bassin",
-    "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "Outils de dimensionnement d'une passe à poissons de type passe à bassin ou encore appelée échelle à poisson",
-    "INFO_THEME_PASSE_NATURELLE_TITRE": "Passe naturelle",
-    "INFO_THEME_PASSE_NATURELLE_DESCRIPTION": "Outils de dimensionnement d'une passe à poissons de type passe naturelle ou encore appelée passe à macro-rugosités",
-    "INFO_THEME_HYDRAULIQUE_A_SURFACE_LIBRE_TITRE": "Hydraulique à surface libre",
     "INFO_THEME_HYDRAULIQUE_A_SURFACE_LIBRE_DESCRIPTION": "Modules de calcul pour les écoulements en canaux et rivières",
-    "INFO_THEME_HYDRAULIQUE_EN_CHARGE_TITRE": "Hydraulique en charge",
+    "INFO_THEME_HYDRAULIQUE_A_SURFACE_LIBRE_TITRE": "Hydraulique à surface libre",
     "INFO_THEME_HYDRAULIQUE_EN_CHARGE_DESCRIPTION": "Modules de calcul de perte de charge dans les conduites sous pression",
-    "INFO_THEME_LOIS_D_OUVRAGES_TITRE": "Lois d'ouvrages",
+    "INFO_THEME_HYDRAULIQUE_EN_CHARGE_TITRE": "Hydraulique en charge",
     "INFO_THEME_LOIS_D_OUVRAGES_DESCRIPTION": "Calculs basés sur les lois de débits d'ouvrages hydrauliques (Vannes, seuils, orifices)",
-    "INFO_WELCOME_SUBTITLE": "Modules de calcul d'hydraulique",
+    "INFO_THEME_LOIS_D_OUVRAGES_TITRE": "Lois d'ouvrages",
+    "INFO_THEME_MODULES_INUTILISES_DESCRIPTION": "Modules de calculs divers",
+    "INFO_THEME_MODULES_INUTILISES_TITRE": "Autres modules de calcul",
+    "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "Outils de dimensionnement d'une passe à poissons de type passe à bassins ou encore appelée échelle à poisson",
+    "INFO_THEME_PASSE_A_BASSIN_TITRE": "Passe à bassins",
+    "INFO_THEME_PASSE_NATURELLE_DESCRIPTION": "Outils de dimensionnement d'une passe à poissons de type passe naturelle ou encore appelée passe à macro-rugosités",
+    "INFO_THEME_PASSE_NATURELLE_TITRE": "Passe naturelle",
     "INFO_WELCOME_CONTENT": "<p>Le logiciel Cassiopée a été développé par l'<a href=\"https://www.afbiodiversite.fr\" target=\"_blank\">AFB</a> (Agence Française pour la Biodiversité) et <a href=\"http://g-eau.fr\" target=\"_blank\">L'UMR G-EAU</a> (UMR Gestion de l'Eau, Acteurs, Usages).</p><p>Il regroupe des outils d'aide à la conception de passes à poissons et des outils de calcul hydraulique utiles pour l'ingénierie en environnement et agriculture.</p><p>Pour plus d'informations, consulter les <a href=\"assets/docs-fr/mentions_legales/\" target=\"_blank\">mentions légales</a> et la <a href=\"assets/docs-fr/\" target=\"_blank\">documentation</a>.</p>",
+    "INFO_WELCOME_SUBTITLE": "Modules de calcul d'hydraulique",
     "WARNING_REMOUS_ARRET_CRITIQUE": "Arrêt du calcul&nbsp;: hauteur critique atteinte à l'abscisse %x%",
     "WARNING_STRUCTUREKIVI_HP_TROP_ELEVE": "h/p ne doit pas être supérieur à 2,5. h/p est forcé à 2,5",
     "WARNING_STRUCTUREKIVI_PELLE_TROP_FAIBLE": "La pelle du seuil doit mesurer au moins 0,1 m. Le coefficient béta est forcé à 0"
-
-}
\ No newline at end of file
+}
-- 
GitLab