From 86583ec722624bb50b884ec4c4d38b98dd0ee007 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Tue, 28 Apr 2020 18:17:16 +0200
Subject: [PATCH] Verificateur: reorganize Espece fields, translations

---
 src/app/calculators/espece/config.json        | 26 +++++-
 src/app/calculators/espece/en.json            | 21 +++--
 src/app/calculators/espece/fr.json            | 21 +++--
 src/app/calculators/verificateur/config.json  |  6 --
 .../definition/form-verificateur.ts           |  9 --
 src/locale/messages.en.json                   | 11 ++-
 src/locale/messages.fr.json                   | 89 ++++++++++---------
 7 files changed, 103 insertions(+), 80 deletions(-)

diff --git a/src/app/calculators/espece/config.json b/src/app/calculators/espece/config.json
index 963ce4147..096e616f0 100644
--- a/src/app/calculators/espece/config.json
+++ b/src/app/calculators/espece/config.json
@@ -1,10 +1,10 @@
 [
     {
-        "id": "fs_param_pab",
+        "id": "fs_param_pab_s",
         "type": "fieldset",
         "fields": [
             {
-                "id": "DHMax",
+                "id": "DHMaxS",
                 "allowEmpty": true
             },
             {
@@ -12,11 +12,29 @@
                 "allowEmpty": true
             },
             {
-                "id": "PMin",
+                "id": "PMinS",
                 "allowEmpty": true
             },
             {
-                "id": "LMin",
+                "id": "LMinS",
+                "allowEmpty": true
+            }
+        ]
+    },
+    {
+        "id": "fs_param_pab_p",
+        "type": "fieldset",
+        "fields": [
+            {
+                "id": "DHMaxP",
+                "allowEmpty": true
+            },
+            {
+                "id": "PMinP",
+                "allowEmpty": true
+            },
+            {
+                "id": "LMinP",
                 "allowEmpty": true
             },
             {
diff --git a/src/app/calculators/espece/en.json b/src/app/calculators/espece/en.json
index b98d29c43..11f45ce1a 100644
--- a/src/app/calculators/espece/en.json
+++ b/src/app/calculators/espece/en.json
@@ -1,22 +1,29 @@
 {
-    "fs_param_pab": "Fish ladders",
+    "fs_param_pab_s": "Fish ladders, surface jets or orifices",
+    "fs_param_pab_p": "Fish ladders, diving jets",
     "fs_param_pam": "Rock-ramp fishpasses",
     "fs_param_par": "Humpback fishways",
 
-    "DHMax": "Maximal fall",
+    "DHMaxS": "Maximal fall",
+    "DHMaxP": "Maximal fall",
     "BMin": "Minimal slot or weir width",
-    "PMin": "Minimal basin width",
-    "LMin": "Minimal basin length",
+    "PMinS": "Minimal basin width",
+    "PMinP": "Minimal basin width",
+    "LMinS": "Minimal basin length",
+    "LMinP": "Minimal basin length",
     "HMin": "Minimal head on weir",
     "YMin": "Minimal water level",
     "VMax": "Maximal flow velocity",
     "YMinSB": "Minimal water level on superactive baffles",
     "YMinPB": "Minimal water level on plane baffles",
 
-    "UNIT_DHMax": "m",
+    "UNIT_DHMaxS": "m",
+    "UNIT_DHMaxP": "m",
     "UNIT_BMin": "m",
-    "UNIT_PMin": "m",
-    "UNIT_LMin": "m",
+    "UNIT_PMinS": "m",
+    "UNIT_PMinP": "m",
+    "UNIT_LMinS": "m",
+    "UNIT_LMinP": "m",
     "UNIT_HMin": "m",
     "UNIT_YMin": "m",
     "UNIT_VMax": "m/s",
diff --git a/src/app/calculators/espece/fr.json b/src/app/calculators/espece/fr.json
index bb190a2ff..2c2ae4107 100644
--- a/src/app/calculators/espece/fr.json
+++ b/src/app/calculators/espece/fr.json
@@ -1,22 +1,29 @@
 {
-    "fs_param_pab": "Passes à bassins",
+    "fs_param_pab_s": "Passes à bassins, jets de surface et orifices",
+    "fs_param_pab_p": "Passes à bassins, jets plongeants",
     "fs_param_pam": "Passes à macrorugosités",
     "fs_param_par": "Passes à ralentisseurs",
 
-    "DHMax": "Chute maximale",
+    "DHMaxS": "Chute maximale",
+    "DHMaxP": "Chute maximale",
     "BMin": "Largeur minimale de fente ou échancrure latérale",
-    "PMin": "Profondeur minimale de bassin",
-    "LMin": "Longueur minimale de bassin",
+    "PMinS": "Profondeur minimale de bassin",
+    "PMinP": "Profondeur minimale de bassin",
+    "LMinS": "Longueur minimale de bassin",
+    "LMinP": "Longueur minimale de bassin",
     "HMin": "Charge minimale sur l'échancrure",
     "YMin": "Tirant d'eau minimal",
     "VMax": "Vitesse d'écoulement maximale",
     "YMinSB": "Tirant d'eau minimal sur les ralentisseurs suractifs de fond",
     "YMinPB": "Tirant d'eau minimal sur les ralentisseurs plans",
 
-    "UNIT_DHMax": "m",
+    "UNIT_DHMaxS": "m",
+    "UNIT_DHMaxP": "m",
     "UNIT_BMin": "m",
-    "UNIT_PMin": "m",
-    "UNIT_LMin": "m",
+    "UNIT_PMinS": "m",
+    "UNIT_PMinP": "m",
+    "UNIT_LMinS": "m",
+    "UNIT_LMinP": "m",
     "UNIT_HMin": "m",
     "UNIT_YMin": "m",
     "UNIT_VMax": "m/s",
diff --git a/src/app/calculators/verificateur/config.json b/src/app/calculators/verificateur/config.json
index fb1779508..f3a9a7a2a 100644
--- a/src/app/calculators/verificateur/config.json
+++ b/src/app/calculators/verificateur/config.json
@@ -7,12 +7,6 @@
                 "id": "select_target_pass",
                 "type": "select_custom",
                 "source": "verificateur_target"
-            },
-            {
-                "type": "select",
-                "id": "select_pab_jet_type",
-                "property": "pabJetType",
-                "default": "SURFACE"
             }
         ]
     },
diff --git a/src/app/formulaire/definition/form-verificateur.ts b/src/app/formulaire/definition/form-verificateur.ts
index 64651ced6..413343c32 100644
--- a/src/app/formulaire/definition/form-verificateur.ts
+++ b/src/app/formulaire/definition/form-verificateur.ts
@@ -30,7 +30,6 @@ export class FormulaireVerificateur extends FormulaireFixedVar {
             if (sender.id === "select_target_pass" && data.action === "select") {
                 // update Verificateur property: Pass to check
                 this._currentNub.properties.setPropValue("nubToVerify", data.value ? data.value.value : undefined);
-                this.refreshJetTypeSelector();
 
             } else if (sender.id === "select_species_list" && data.action === "select") {
                 // update Verificateur property: Species list (string[])
@@ -45,12 +44,4 @@ export class FormulaireVerificateur extends FormulaireFixedVar {
         // do not refreshFieldsets() (useless here) or jet type selector's disabled state will be reset
     }
 
-    /**
-     * Disables Jet Type selector if target pass is not a Pab
-     */
-    protected refreshJetTypeSelector() {
-        const ntv = (this._currentNub as Verificateur).nubToVerify;
-        (this.getFormulaireNodeById("select_pab_jet_type") as SelectField).disabled = ! (ntv !== undefined && ntv.calcType === CalculatorType.Pab);
-    }
-
 }
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index f42c1c58a..c4d501706 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -609,12 +609,14 @@
     "WARNING_VERIF_MRC_VMAX_APRON_N": "Apron #%N%: maximum speed %V% too high (maximum: %maxV%)",
     "WARNING_VERIF_MRC_YMIN_APRON_N": "Apron #%N%: water level %Y% too low (minimum: %minY%)",
     "ERROR_VERIF_NO_PRESET": "This species group is not compatible with this pass type",
-    "ERROR_VERIF_PAB_DHMAX": "Wall #%N%: fall %DH% too high (maximum: %maxDH%)",
-    "ERROR_VERIF_PAB_DHMAX_DW": "Downwall: fall %DH% too high (maximum: %maxDH%)",
+    "ERROR_VERIF_PAB_DHMAX": "Wall #%N%: fall %DH% too high (maximum for surface jet: %maxDHS%, maximum for diving jet&nbsp;: %maxDHP%)",
+    "ERROR_VERIF_PAB_DHMAX_DW": "Downwall: fall %DH% too high (maximum for surface jet: %maxDHS%, maximum for diving jet&nbsp;: %maxDHP%)",
+    "ERROR_VERIF_PAB_DHMAX_JET": "Wall #%N%: fall %DH% too high for jet type %jetType% (maximum: %maxDH%)",
+    "ERROR_VERIF_PAB_DHMAX_JET_DW":"Downwall: fall %DH% too high for jet type %jetType% (maximum: %maxDH%)",
+    "WARNING_VERIF_PAB_DHMAX_JET": "Wall #%N%: fall %DH% too high for jet type %jetType% (maximum: %maxDH%)",
+    "WARNING_VERIF_PAB_DHMAX_JET_DW": "Downwall: fall %DH% too high for jet type %jetType% (maximum: %maxDH%)",
     "ERROR_VERIF_PAB_BMIN": "Wall #%NC%, structure %NS%: slot/weir width %L% too low (minimum: %minB%)",
     "ERROR_VERIF_PAB_BMIN_DW": "Downwall, structure %NS%: slot/weir width %L% too low (minimum: %minB%)",
-    "ERROR_VERIF_PAB_JETS": "Wall #%N%: at least one jet of type %required% is required",
-    "ERROR_VERIF_PAB_JETS_DW": "Downwall: at least one jet of type %required% is required",
     "ERROR_VERIF_PAB_LMIN": "Wall #%N%: basin length %LB% too low (minimum: %minLB%)",
     "ERROR_VERIF_PAB_HMIN": "Wall #%NC%, structure %NS%: head on weir %h1% too low (minimum: %minH%)",
     "ERROR_VERIF_PAB_HMIN_DW": "Downwall, structure %NS%: head on weir %h1% too low (minimum: %minH%)",
@@ -624,5 +626,6 @@
     "ERROR_VERIF_PAR_YMIN": "Water level %h% too low (minimum: %minY%)",
     "ERROR_VERIF_KO": "Crossability criteria are not met for at least one species group",
     "ERROR_VERIF_SPECIES_KO": "Crossability criteria are not met for species group %speciesGroup%",
+    "INFO_VERIF_SPECIES_OK": "Crossability criteria are met for species group %speciesGroup%",
     "WARNING_VERIF_PAR_SPECIES_GROUP": "Species groups 3a, 3b et 7b are discouraged for this pass type"
 }
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 00ff6492e..56eddf83d 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -10,7 +10,7 @@
     "WARNING_ERRORS_ABSTRACT": "%nb% erreurs rencontrées lors du calcul",
     "ERROR_BIEF_Z1_CALC_FAILED": "Impossible de calculer la cote amont (calcul interrompu avant l'amont)",
     "ERROR_BIEF_Z2_CALC_FAILED": "Impossible de calculer la cote aval (calcul interrompu avant l'aval)",
-    "ERROR_DICHO_CONVERGE": "La dichotomie n'a pas pu converger. Dernière approximation: %lastApproximation%",
+    "ERROR_DICHO_CONVERGE": "La dichotomie n'a pas pu converger. Dernière approximation&nbsp;: %lastApproximation%",
     "ERROR_DICHO_FUNCTION_VARIATION": "Dichotomie&nbsp;: impossible de determiner le sens de  variation de la fonction",
     "ERROR_DICHO_INIT_DOMAIN": "Dichotomie&nbsp;: la valeur cible %targetSymbol%=%targetValue% n'existe pas pour la variable %variableSymbol% prise dans l'intervalle %variableInterval%",
     "ERROR_DICHO_INVALID_STEP_GROWTH": "Dichotomie&nbsp;: l'augmentation du pas pour la recherche de l'intervalle de départ est incorrecte (=0)",
@@ -23,7 +23,7 @@
     "WARNING_ERROR_IN_CALC_CHAIN_STEPS": "Des erreurs sont survenues durant le calcul en chaîne",
     "ERROR_INTERVAL_OUTSIDE": "Intervalle&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_INVALID_AT_POSITION": "Position %s&nbsp;:",
     "ERROR_LOADING_SESSION": "Impossible de charger la session",
     "ERROR_MINMAXSTEP_MAX": "La valeur n'est pas dans ]%s,%s]",
     "ERROR_MINMAXSTEP_MIN": "La valeur n'est pas dans [%s,%s[",
@@ -62,10 +62,10 @@
     "ERROR_SECTION_NON_CONVERGENCE_NEWTON_HCOR": "Non convergence du calcul de la hauteur correspondante (Méthode de Newton)",
     "ERROR_SECTION_NON_CONVERGENCE_NEWTON_HNORMALE": "Non convergence du calcul de la hauteur normale (Méthode de Newton)",
     "ERROR_SECTION_PENTE_NEG_NULLE_HNORMALE_INF": "La pente est négative ou nulle, la hauteur normale est infinie",
-    "ERROR_SECTION_SURFACE_NULLE": "Section : calcul impossible à cause d'une surface nulle",
+    "ERROR_SECTION_SURFACE_NULLE": "Section&nbsp;: calcul impossible à cause d'une surface nulle",
     "ERROR_SOMETHING_FAILED_IN_CHILD": "Le calcul du module enfant n°%number% a échoué",
     "ERROR_SOLVEUR_NO_VARIATED_PARAMS_ALLOWED": "Le solveur ne peut pas être utilisé avec une chaîne de modules contenant des paramètres variés",
-    "ERROR_STRUCTURE_Q_TROP_ELEVE": "Le débit passant par les autres ouvrages est trop élevé: le paramètre demandé n'est pas calculable.",
+    "ERROR_STRUCTURE_Q_TROP_ELEVE": "Le débit passant par les autres ouvrages est trop élevé&nbsp;: le paramètre demandé n'est pas calculable.",
     "INFO_CALCULATOR_CALC_NAME": "Nom du module de calcul",
     "INFO_CALCULATOR_CALCULER": "Calculer",
     "INFO_CALCULATOR_CLONE": "Dupliquer",
@@ -85,7 +85,7 @@
     "INFO_BIEF_TITRE": "Cotes amont/aval d'un bief",
     "INFO_CLOISONS_TITRE_COURT": "Cloisons",
     "INFO_CLOISONS_TITRE": "Passe à bassins&nbsp;: Cloisons",
-    "INFO_CLOSE_DIALOGUE_DEPENDING_MODULES": "Les modules suivants dépendent de celui que vous êtes en train de fermer :",
+    "INFO_CLOSE_DIALOGUE_DEPENDING_MODULES": "Les modules suivants dépendent de celui que vous êtes en train de fermer&nbsp;:",
     "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_CONCENTRATIONBLOCS_TITRE": "Concentration de blocs",
@@ -105,8 +105,8 @@
     "INFO_DIALOG_COMPUTED_VALUE_TITLE": "Modifier la valeur initiale",
     "INFO_DIALOG_EDIT_PAB_INTERPOLATION_BOUNDS": "entre %s et %s",
     "INFO_DIALOG_EDIT_PAB_N_DEVICES": "%s ouvrage(s)",
-    "INFO_DIALOG_EDIT_PAB_N_WALLS": "%s cloison(s) : %s ouvrage(s)",
-    "INFO_DIALOG_EDIT_PAB_N_WALLS_P_DEVICES": "%s cloison(s) + %s ouvrage(s) : %s ouvrages",
+    "INFO_DIALOG_EDIT_PAB_N_WALLS": "%s cloison(s)&nbsp;: %s ouvrage(s)",
+    "INFO_DIALOG_EDIT_PAB_N_WALLS_P_DEVICES": "%s cloison(s) + %s ouvrage(s)&nbsp;: %s ouvrages",
     "INFO_DIALOG_EDIT_PAB_OPTION_VARIABLE": "Variable à modifier",
     "INFO_DIALOG_EDIT_PAB_OPTION_SET_VALUE": "Valeur fixe",
     "INFO_DIALOG_EDIT_PAB_OPTION_DELTA": "Delta",
@@ -116,7 +116,7 @@
     "INFO_DIALOG_ERROR_LOADING_FILE": "La syntaxe du fichier semble incorrecte",
     "INFO_DIALOG_FILE_IS_EMPTY": "Le fichier ne contient aucun module",
     "INFO_DIALOG_FIX_MISSING_DEPENDENCIES": "Résoudre les dépendances",
-    "INFO_DIALOG_FORMAT_VERSIONS_MISMATCH": "Mauvaise version du format de fichier (fichier: %s, jalhyd: %s)",
+    "INFO_DIALOG_FORMAT_VERSIONS_MISMATCH": "Mauvaise version du format de fichier (fichier&nbsp;: %s, jalhyd&nbsp;: %s)",
     "INFO_DIALOG_LOAD_SESSION_FILENAME": "Choisir un fichier",
     "INFO_DIALOG_LOAD_SESSION_TITLE": "Charger des modules de calcul",
     "INFO_DIALOG_PAB_NB": "Nombre de chutes",
@@ -254,12 +254,12 @@
     "INFO_LIB_CLOISON": "Cloison n°",
     "INFO_LIB_COTE": "Cote (m)",
     "INFO_LIB_COTE_VANNE_LEVANTE": "Cote vanne levante",
-    "INFO_LIB_CV": "Cv: Coefficient de vitesse d'approche",
-    "INFO_LIB_CVQT": "CV.QT: Débit corrigé",
+    "INFO_LIB_CV": "Cv&nbsp;: Coefficient de vitesse d'approche",
+    "INFO_LIB_CVQT": "CV.QT&nbsp;: Débit corrigé",
     "INFO_LIB_DH": "Chute",
-    "INFO_LIB_DHR": "DHR: Chute résiduelle",
+    "INFO_LIB_DHR": "DHR&nbsp;: Chute résiduelle",
     "INFO_LIB_DISTANCE_AMONT": "Distance depuis l'amont (m)",
-    "INFO_LIB_EC": "EC: Énergie cinétique",
+    "INFO_LIB_EC": "EC&nbsp;: Énergie cinétique",
     "INFO_LIB_ENUM_MACRORUGOFLOWTYPE": "Type d'écoulement",
     "INFO_LIB_ENUM_PARFLOWREGIME": "Régime",
     "INFO_LIB_FLU": "Ligne d'eau fluviale",
@@ -451,16 +451,16 @@
     "INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY_REPEAT_LAST": "Répéter la dernière valeur",
     "INFO_PARAMFIELD_PARAMVARIER_EXT_STRATEGY_RECYCLE": "Réutiliser les valeurs",
     "INFO_PARAMFIELD_PARAMVARIER_IMPORT_FICHIER": "Importer un fichier",
-    "INFO_PARAMFIELD_PARAMVARIER_MINMAXSTEP": "min : %s, max : %s, pas : %s",
+    "INFO_PARAMFIELD_PARAMVARIER_MINMAXSTEP": "min&nbsp;: %s, max&nbsp;: %s, pas&nbsp;: %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_SHOW_CHART": "Afficher le graphique des valeurs",
     "INFO_PARAMFIELD_PARAMVARIER_TITLE": "Valeurs multiples",
-    "INFO_PARAMFIELD_PARAMVARIER_VALUES_FORMAT_ERROR": "Format incorrect; séparateurs acceptés: %s",
+    "INFO_PARAMFIELD_PARAMVARIER_VALUES_FORMAT_ERROR": "Format incorrect; séparateurs acceptés&nbsp;: %s",
     "INFO_PARAMFIELD_PARAMVARIER_VALUES_FORMAT": "Liste de valeurs",
-    "INFO_PARAMFIELD_PARAMVARIER_VALUES": "Valeurs :",
+    "INFO_PARAMFIELD_PARAMVARIER_VALUES": "Valeurs&nbsp;:",
     "INFO_PARAMFIELD_PARAMVARIER": "varier",
     "INFO_PARAMFIELD_PASVARIATION": "Avec un pas de",
     "INFO_PARAMFIELD_VALEURMAXI": "À la valeur maximum",
@@ -471,7 +471,7 @@
     "INFO_QUICKNAV_CHARTS": "graphiques",
     "INFO_QUICKNAV_INPUT": "données",
     "INFO_QUICKNAV_RESULTS": "résultats",
-    "WARNING_PROBLEMS_ENCOUNTERED": "Des problèmes sont survenus durant le calcul (info: %info%, avertissement: %warning%, erreur: %error%)",
+    "WARNING_PROBLEMS_ENCOUNTERED": "Des problèmes sont survenus durant le calcul (info&nbsp;: %info%, avertissement&nbsp;: %warning%, erreur&nbsp;: %error%)",
     "INFO_REGIMEUNIFORME_TITRE_COURT": "R. uniforme",
     "INFO_REGIMEUNIFORME_TITRE": "Régime uniforme",
     "INFO_REMOUS_CALCUL_FLUVIAL": "Condition limite aval >= Hauteur critique&nbsp;: calcul de la partie fluviale à partir de l'aval",
@@ -487,7 +487,7 @@
     "INFO_REMOUSRESULTS_TIRANT": "Tirant d'eau (m)",
     "INFO_REMOUSRESULTS_TIRANTCRITIQUE": "Tirant d'eau critique",
     "INFO_REMOUSRESULTS_TIRANTNORMAL": "Tirant d'eau normal",
-    "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_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é&nbsp;:\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_RESULTS_EXPORT_AS_SPREADSHEET": "Exporter en XLSX",
@@ -499,7 +499,7 @@
     "INFO_SETUP_ENABLE_EMPTY_FIELDS": "Créer les nouveaux modules avec des champs vides (aucune valeur par défaut)",
     "INFO_SETUP_ENABLE_NOTIFICATIONS": "Activer les notifications à l'écran",
     "INFO_SETUP_LANGUAGE": "Langue",
-    "INFO_SETUP_NEWTON_MAX_ITER": "Solveur : nombre d'itérations maximum",
+    "INFO_SETUP_NEWTON_MAX_ITER": "Solveur&nbsp;: nombre d'itérations maximum",
     "INFO_SETUP_PRECISION_AFFICHAGE": "Nombre de décimales affichées",
     "INFO_SETUP_PRECISION_CALCUL": "Précision de calcul",
     "INFO_SETUP_RESTORE_DEFAULT_VALUES": "Restaurer les valeurs par défaut",
@@ -539,7 +539,7 @@
     "INFO_THEME_VERIFICATION_TITRE": "Vérification de passes",
     "INFO_TITREJOURNAL": "Journal de calcul",
     "INFO_TITREJOURNAL_GLOBAL": "Synthèse du journal de calcul",
-    "INFO_WELCOME_CONTENT": "<p>Le logiciel Cassiopée a été développé par le pôle R&D écohydraulique regroupant l'<a href=\"https://ofb.gouv.fr\" target=\"_blank\">OFB</a> (Office Français de la Biodiversité) et l’<a href=\"https://www.imft.fr\" target=\"_blank\">IMFT</a> (Institut de mécanique des fluides de Toulouse) et par l'<a href=\"http://g-eau.fr\" target=\"_blank\">UMR G-EAU</a> (UMR Gestion de l'Eau, Acteurs, Usages).</p><p>Il regroupe des outils d'aide à la conception des dispositifs de franchissement piscicoles pour la montaison et la dévalaison ainsi que 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.html\" target=\"_blank\">mentions légales</a> et la <a href=\"assets/docs/fr/index.html\" target=\"_blank\">documentation</a>.</p>",
+    "INFO_WELCOME_CONTENT": "<p>Le logiciel Cassiopée a été développé par le pôle R&D écohydraulique regroupant l'<a href=\"https&nbsp;://ofb.gouv.fr\" target=\"_blank\">OFB</a> (Office Français de la Biodiversité) et l’<a href=\"https&nbsp;://www.imft.fr\" target=\"_blank\">IMFT</a> (Institut de mécanique des fluides de Toulouse) et par l'<a href=\"http&nbsp;://g-eau.fr\" target=\"_blank\">UMR G-EAU</a> (UMR Gestion de l'Eau, Acteurs, Usages).</p><p>Il regroupe des outils d'aide à la conception des dispositifs de franchissement piscicoles pour la montaison et la dévalaison ainsi que 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.html\" target=\"_blank\">mentions légales</a> et la <a href=\"assets/docs/fr/index.html\" target=\"_blank\">documentation</a>.</p>",
     "INFO_WELCOME_SUBTITLE": "Modules de calcul d'hydraulique",
     "INFO_EXAMPLE_LABEL_CHANNEL_FLOW": "Débit d'un chenal avec ouvrages",
     "INFO_EXAMPLE_LABEL_PAB_COMPLETE": "Passe à bassins type",
@@ -554,7 +554,7 @@
     "INFO_TRIGO_TITRE": "Fonction trigonométrique",
     "INFO_TRIGO_TITRE_COURT": "F. trigo.",
     "INFO_VERIF_OK": "Les critères de franchissement sont remplis pour toutes les espèces",
-    "INFO_VERIFICATEUR_CUSTOM_SPECIES": "Espèce personnalisée : %s",
+    "INFO_VERIFICATEUR_CUSTOM_SPECIES": "Espèce personnalisée&nbsp;: %s",
     "INFO_VERIFICATEUR_SPECIES_GROUP": "Groupe d'espèces",
     "INFO_VERIFICATEUR_TITRE": "Vérification d'une passe",
     "INFO_VERIFICATEUR_TITRE_COURT": "Vérification",
@@ -571,19 +571,19 @@
     "WARNING_STRUCTUREKIVI_PELLE_TROP_FAIBLE": "La pelle du seuil doit mesurer au moins 0,1 m. Le coefficient béta est forcé à 0",
     "WARNING_VANLEV_ZDV_INF_MIN": "Seuil régulé&nbsp;: cote minimale de seuil atteinte",
     "WARNING_VANLEV_ZDV_SUP_MAX": "Seuil régulé&nbsp;: cote maximale de seuil atteinte",
-    "WARNING_GRILLE_ALPHA_GREATER_THAN_45": "Préconisation pour le guidage des poissons : α ≤ 45°",
-    "WARNING_GRILLE_BETA_GREATER_THAN_26": "Préconisation pour le guidage des poissons : β ≤ 26°",
-    "WARNING_GRILLE_VN_GREATER_THAN_05": "Préconisation pour éviter le placage des poissons sur le plan de grille (barrière physique) ou leur passage prématuré au travers (barrière comportementale) : VN ≤ 0.5 m/s.<br>Au-delà de la valeur moyenne calculée ici, se reporter aux préconisations tirées de la caractérisation expérimentale des valeurs effectives de vitesses.",
+    "WARNING_GRILLE_ALPHA_GREATER_THAN_45": "Préconisation pour le guidage des poissons&nbsp;: α ≤ 45°",
+    "WARNING_GRILLE_BETA_GREATER_THAN_26": "Préconisation pour le guidage des poissons&nbsp;: β ≤ 26°",
+    "WARNING_GRILLE_VN_GREATER_THAN_05": "Préconisation pour éviter le placage des poissons sur le plan de grille (barrière physique) ou leur passage prématuré au travers (barrière comportementale)&nbsp;: VN ≤ 0.5 m/s.<br>Au-delà de la valeur moyenne calculée ici, se reporter aux préconisations tirées de la caractérisation expérimentale des valeurs effectives de vitesses.",
     "WARNING_LECHAPT_CALMON_SPEED_OUTSIDE_04_2": "Cette formule n'est pas conseillée pour une vitesse non comprise entre 0.4 et 2 m/s",
     "WARNING_UPSTREAM_BOTTOM_HIGHER_THAN_WATER": "La cote de l'eau à l'amont est plus basse ou égale à la cote de fond",
     "WARNING_DOWNSTREAM_BOTTOM_HIGHER_THAN_WATER": "La cote de l'eau à l'aval est plus basse ou égale à la cote de fond",
     "WARNING_NEGATIVE_SILL": "La pelle du seuil devrait être positive",
     "WARNING_RAMP_WIDTH_LOWER_THAN_PATTERN_WIDTH": "La largeur de la rampe devrait comprendre au moins un motif de plot (%pattern%m)",
     "WARNING_RAMP_WIDTH_NOT_MULTIPLE_OF_HALF_PATTERN_WIDTH": "La largeur de la rampe devrait être un multiple d'un demi motif (%halfPattern%m). Les valeurs voisines sont %lower% et %higher%",
-    "WARNING_YN_SECTION_PENTE_NEG_NULLE_HNORMALE_INF": "Hauteur normale: pente négative ou nulle, hauteur normale infinie",
-    "WARNING_YN_SECTION_NON_CONVERGENCE_NEWTON_HNORMALE": "Hauteur normale: non convergence du calcul (méthode de Newton)",
-    "WARNING_SECTION_OVERFLOW": "Débordement: la cote de l'eau dépasse la cote de berge",
-    "WARNING_SECTION_OVERFLOW_ABSC": "Débordement: la cote de l'eau dépasse la cote de berge entre les abscisses %xa% et %xb%",
+    "WARNING_YN_SECTION_PENTE_NEG_NULLE_HNORMALE_INF": "Hauteur normale&nbsp;: pente négative ou nulle, hauteur normale infinie",
+    "WARNING_YN_SECTION_NON_CONVERGENCE_NEWTON_HNORMALE": "Hauteur normale&nbsp;: non convergence du calcul (méthode de Newton)",
+    "WARNING_SECTION_OVERFLOW": "Débordement&nbsp;: la cote de l'eau dépasse la cote de berge",
+    "WARNING_SECTION_OVERFLOW_ABSC": "Débordement&nbsp;: la cote de l'eau dépasse la cote de berge entre les abscisses %xa% et %xb%",
     "WARNING_SESSION_LOAD_NOTES_MERGED": "Les notes ont été fusionnées",
     "WARNING_VALUE_ROUNDED_TO_INTEGER": "La valeur de %symbol% a été arrondie à %rounded%",
     "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%",
@@ -604,26 +604,29 @@
     "INFO_PARENT_PREFIX": "%name% n°%position% : ",
     "INFO_PARENT_PREFIX_DOWNWALL": "cloison aval : ",
     "ERROR_VERIF_ERRORS_IN_PASS": "La passe à vérifier contient des erreurs",
-    "ERROR_VERIF_MR_VMAX": "Vitesse maximale %V% trop élevée (maximum: %maxV%)",
-    "ERROR_VERIF_MR_YMIN": "Tirant d'eau %Y% insuffisant (minimum: %minY%)",
+    "ERROR_VERIF_MR_VMAX": "Vitesse maximale %V% trop élevée (maximum&nbsp;: %maxV%)",
+    "ERROR_VERIF_MR_YMIN": "Tirant d'eau %Y% insuffisant (minimum&nbsp;: %minY%)",
     "ERROR_VERIF_MRC_AT_LEAST_ONE_APRON": "Aucun des radiers n'est franchissable",
-    "WARNING_VERIF_MRC_VMAX_APRON_N": "Radier n°%N% : vitesse maximale %V% trop élevée (maximum: %maxV%)",
-    "WARNING_VERIF_MRC_YMIN_APRON_N": "Radier n°%N% : tirant d'eau %Y% insuffisant (minimum: %minY%)",
+    "WARNING_VERIF_MRC_VMAX_APRON_N": "Radier n°%N%&nbsp;: vitesse maximale %V% trop élevée (maximum&nbsp;: %maxV%)",
+    "WARNING_VERIF_MRC_YMIN_APRON_N": "Radier n°%N%&nbsp;: tirant d'eau %Y% insuffisant (minimum&nbsp;: %minY%)",
     "ERROR_VERIF_NO_PRESET": "Ce groupe d'espèces n'est pas compatible avec ce type de passe",
-    "ERROR_VERIF_PAB_DHMAX": "Cloison n°%N% : chute %DH% trop importante (maximum: %maxDH%)",
-    "ERROR_VERIF_PAB_DHMAX_DW": "Cloison aval : chute %DH% trop importante (maximum: %maxDH%)",
-    "ERROR_VERIF_PAB_BMIN": "Cloison n°%NC%, ouvrage %NS% : largeur de l'échancrure ou de la fente %L% insuffisante (minimum: %minB%)",
-    "ERROR_VERIF_PAB_BMIN_DW": "Cloison aval, ouvrage %NS% : largeur de l'échancrure ou de la fente %L% insuffisante (minimum: %minB%)",
-    "ERROR_VERIF_PAB_JETS": "Cloison n°%N% : au moins un jet de type %required% requis",
-    "ERROR_VERIF_PAB_JETS_DW": "Cloison aval : au moins un jet de type %required% requis",
-    "ERROR_VERIF_PAB_LMIN": "Cloison n°%N% : longueur de bassin %LB% insuffisante (minimum: %minLB%)",
-    "ERROR_VERIF_PAB_HMIN": "Cloison n°%NC%, ouvrage %NS% : charge sur l'échancrure %h1% insuffisante (minimum: %minH%)",
-    "ERROR_VERIF_PAB_HMIN_DW": "Cloison aval, ouvrage %NS% : charge sur l'échancrure %h1% insuffisante (minimum: %minH%)",
-    "ERROR_VERIF_PAB_YMOY": "Cloison n°%N% : profondeur de bassin %PB% insuffisante (minimum: %minPB%)",
-    "ERROR_VERIF_PAB_YMOY_2_DH": "Cloison n°%N% : profondeur de bassin %PB% inférieure à 2x la chute %DH%",
+    "ERROR_VERIF_PAB_DHMAX": "Cloison n°%N%&nbsp;: chute %DH% trop importante (maximum pour jet de surface&nbsp;: %maxDHS%, maximum pour jet plongeant&nbsp;: %maxDHP%)",
+    "ERROR_VERIF_PAB_DHMAX_DW": "Cloison aval&nbsp;: chute %DH% trop importante (maximum pour jet de surface&nbsp;: %maxDHS%, maximum pour jet plongeant&nbsp;: %maxDHP%)",
+    "ERROR_VERIF_PAB_DHMAX_JET": "Cloison n°%N%&nbsp;: chute %DH% trop importante pour le jet %jetType% (maximum&nbsp;: %maxDH%)",
+    "ERROR_VERIF_PAB_DHMAX_JET_DW":"Cloison aval&nbsp;: chute %DH% trop importante pour le jet %jetType% (maximum&nbsp;: %maxDH%)",
+    "WARNING_VERIF_PAB_DHMAX_JET": "Cloison n°%N%&nbsp;: chute %DH% trop importante pour le jet %jetType% (maximum&nbsp;: %maxDH%)",
+    "WARNING_VERIF_PAB_DHMAX_JET_DW": "Cloison aval&nbsp;: chute %DH% trop importante pour le jet %jetType% (maximum&nbsp;: %maxDH%)",
+    "ERROR_VERIF_PAB_BMIN": "Cloison n°%NC%, ouvrage %NS%&nbsp;: largeur de l'échancrure ou de la fente %L% insuffisante (minimum&nbsp;: %minB%)",
+    "ERROR_VERIF_PAB_BMIN_DW": "Cloison aval, ouvrage %NS%&nbsp;: largeur de l'échancrure ou de la fente %L% insuffisante (minimum&nbsp;: %minB%)",
+    "ERROR_VERIF_PAB_LMIN": "Cloison n°%N%&nbsp;: longueur de bassin %LB% insuffisante (minimum&nbsp;: %minLB%)",
+    "ERROR_VERIF_PAB_HMIN": "Cloison n°%NC%, ouvrage %NS%&nbsp;: charge sur l'échancrure %h1% insuffisante (minimum&nbsp;: %minH%)",
+    "ERROR_VERIF_PAB_HMIN_DW": "Cloison aval, ouvrage %NS%&nbsp;: charge sur l'échancrure %h1% insuffisante (minimum&nbsp;: %minH%)",
+    "ERROR_VERIF_PAB_YMOY": "Cloison n°%N%&nbsp;: profondeur de bassin %PB% insuffisante (minimum&nbsp;: %minPB%)",
+    "ERROR_VERIF_PAB_YMOY_2_DH": "Cloison n°%N%&nbsp;: profondeur de bassin %PB% inférieure à 2x la chute %DH%",
     "ERROR_VERIF_PAR_DH": "La chute en pied de passe empêche le franchissement",
-    "ERROR_VERIF_PAR_YMIN": "Tirant d'eau %h% insuffisant (minimum: %minY%)",
+    "ERROR_VERIF_PAR_YMIN": "Tirant d'eau %h% insuffisant (minimum&nbsp;: %minY%)",
     "ERROR_VERIF_KO": "Le franchissement est impossible pour au moins un groupe d'espèces",
     "ERROR_VERIF_SPECIES_KO": "Le franchissement est impossible pour le groupe d'espèces %speciesGroup%",
+    "INFO_VERIF_SPECIES_OK": "Le franchissement est possible pour le groupe d'espèces %speciesGroup%",
     "WARNING_VERIF_PAR_SPECIES_GROUP": "Les groupes d'espèces 3a, 3b et 7b sont déconseillés pour ce type de passe"
 }
-- 
GitLab