diff --git a/src/app/calculators/generic/calculator.component.ts b/src/app/calculators/generic/calculator.component.ts
index abf9a9dc5633e1a2cffa9b5b8ce31f40244498a5..a2c79e282bb79dae85591074f7a2b90e30530c6a 100644
--- a/src/app/calculators/generic/calculator.component.ts
+++ b/src/app/calculators/generic/calculator.component.ts
@@ -520,7 +520,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, Observer {
         // affichage du journal
 
         for (let l of log.messages)
-            this.remousResultsComponent.addLogEntry(l.toString());
+            this.remousResultsComponent.addLogEntry(l, nDigits);
 
         // affichage des resultats numériques
 
diff --git a/src/app/calculators/remous/remous.fr.json b/src/app/calculators/remous/remous.fr.json
index ad73abf681f5b5ed505b55f04f1524af4da0f847..e37d7b2863370ad2c8e0988d93ae4173822166fa 100644
--- a/src/app/calculators/remous/remous.fr.json
+++ b/src/app/calculators/remous/remous.fr.json
@@ -33,21 +33,21 @@
     "fs_target_data": "Donnée à calculer",
     "select_target": "Choix de la donnée à calculer",
     "select_target_none": "Aucune",
-    "select_target_hs": "La charge spécifique (m)",
-    "select_target_hsc": "La charge critique (m)",
-    "select_target_b": "La largeur au miroir (m)",
-    "select_target_p": "Le périmètre mouillé (m)",
-    "select_target_s": "La surface mouillée (m2)",
-    "select_target_r": "Le rayon hydraulique (m)",
-    "select_target_v": "La vitesse moyenne (m/s)",
-    "select_target_fr": "Le Froude",
-    "select_target_yc": "Le tirant d'eau critique (m)",
-    "select_target_yn": "Le tirant d'eau normal (m)",
-    "select_target_yf": "Le tirant d'eau fluvial (m)",
-    "select_target_yt": "Le tirant d'eau torrentiel (m)",
-    "select_target_yco": "Le tirant d'eau conjugué (m)",
-    "select_target_j": "La perte de charge (m)",
-    "select_target_i_j": "Variation linéaire de l'énergie spécifique (m/m)",
-    "select_target_imp": "Impulsion (m/m)",
-    "select_target_tau0": "La force tractrice (N)"
+    "select_target_Hs": "La charge spécifique (m)",
+    "select_target_Hsc": "La charge critique (m)",
+    "select_target_B": "La largeur au miroir (m)",
+    "select_target_P": "Le périmètre mouillé (m)",
+    "select_target_S": "La surface mouillée (m2)",
+    "select_target_R": "Le rayon hydraulique (m)",
+    "select_target_V": "La vitesse moyenne (m/s)",
+    "select_target_Fr": "Le Froude",
+    "select_target_Yc": "Le tirant d'eau critique (m)",
+    "select_target_Yn": "Le tirant d'eau normal (m)",
+    "select_target_Yf": "Le tirant d'eau fluvial (m)",
+    "select_target_Yt": "Le tirant d'eau torrentiel (m)",
+    "select_target_Yco": "Le tirant d'eau conjugué (m)",
+    "select_target_J": "La perte de charge (m)",
+    "select_target_I-J": "Variation linéaire de l'énergie spécifique (m/m)",
+    "select_target_Imp": "Impulsion (m/m)",
+    "select_target_Tau0": "La force tractrice (N)"
 }
\ No newline at end of file
diff --git a/src/app/components/remous-results/remous-results.component.html b/src/app/components/remous-results/remous-results.component.html
index 2f957c349600569c3eca148a1bcbf77713c451b8..3e2d8ad8178185727c07d6c0998a7afb93d0ea5c 100644
--- a/src/app/components/remous-results/remous-results.component.html
+++ b/src/app/components/remous-results/remous-results.component.html
@@ -15,7 +15,7 @@
             </tr>
         </thead>
         <tr *ngFor="let r of _logEntries">
-            <td>{{r}}</td>
+            <td align="left">{{r}}</td>
         </tr>
     </table>
     <br/>
diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts
index 584950c685b781ae88d39f07af2129c1c9dd16cc..39d5cabea0eae1f9f21633029eeda96163716f8a 100644
--- a/src/app/components/remous-results/remous-results.component.ts
+++ b/src/app/components/remous-results/remous-results.component.ts
@@ -1,5 +1,9 @@
 import { Component } from '@angular/core';
 
+import { ErrorMessage } from 'jalhyd';
+
+import { InternationalisationService } from '../../services/internationalisation/internationalisation.service';
+
 @Component({
     selector: 'remous-results',
     templateUrl: './remous-results.component.html',
@@ -25,16 +29,6 @@ import { Component } from '@angular/core';
     ]
 })
 export class RemousResultsComponent {
-    // /**
-    //  * tirant imposé à l'amont
-    //  */
-    // private _Yamont: number;
-
-    // /**
-    //  * tirant imposé à l'aval
-    //  */
-    // private _Yaval: number;
-
     /**
      * pente du fond
      */
@@ -96,6 +90,9 @@ export class RemousResultsComponent {
         }
     };
 
+    constructor(private intlService: InternationalisationService) {
+    }
+
     public reset() {
         this._results = [];
         this._logEntries = [];
@@ -175,18 +172,10 @@ export class RemousResultsComponent {
         this._results.push({ "abs": x, "flu": f, "tor": t });
     }
 
-    public addLogEntry(s: string) {
-        this._logEntries.push(s);
+    public addLogEntry(m: ErrorMessage, nDigits: number) {
+        this._logEntries.push(this.intlService.localizeErrorMessage(m, nDigits));
     }
 
-    // public setYamont(v: number) {
-    //     this._Yamont = v;
-    // }
-
-    // public setYaval(v: number) {
-    //     this._Yaval = v;
-    // }
-
     public setPenteFond(v: number) {
         this._penteFond = v;
     }
diff --git a/src/app/services/internationalisation/internationalisation.service.ts b/src/app/services/internationalisation/internationalisation.service.ts
index f17f03aa7e2de02c6ca607952f37aeaed39515c8..d76b6c925c1d3233922d2ee380b044d0a01f0244 100644
--- a/src/app/services/internationalisation/internationalisation.service.ts
+++ b/src/app/services/internationalisation/internationalisation.service.ts
@@ -132,12 +132,22 @@ export class InternationalisationService extends Observable {
         return str.replace(new RegExp(find, 'g'), replace);
     }
 
-    public localizeErrorMessage(r: ErrorMessage): string {
+    /**
+     * traduit un message
+     * @param r message
+     * @param nDigits nombre de chiffres à utiliser pour l'arrondi dans le cas de données numériques
+     */
+    public localizeErrorMessage(r: ErrorMessage, nDigits: number = 3): string {
         let sCode: string = ErrorCode[r.code];
         let m: string = this.getErrorMessageFromCode(r.code);
 
         for (let k in r.extraVar) {
-            m = this.replaceAll(m, "%" + k + "%", r.extraVar[k]);
+            let v: any = r.extraVar[k];
+            if (typeof v === "number")
+                var s = v.toFixed(nDigits);
+            else
+                s = v;
+            m = this.replaceAll(m, "%" + k + "%", s);
         }
 
         return m;
diff --git a/src/locale/error_messages.en.json b/src/locale/error_messages.en.json
index aa3bdda4afcdd46a8dc761578e9200a6b18aea39..5c90d9e4bd1073a5e4a9b14dc857285584611990 100644
--- a/src/locale/error_messages.en.json
+++ b/src/locale/error_messages.en.json
@@ -16,5 +16,16 @@
     "ERROR_PARAMDOMAIN_INVALID": "parameter '%symbol%' : non supported '%domain%' definition domain",
     "ERROR_INTERVAL_UNDEF": "Interval : invalid 'undefined' value",
     "ERROR_INTERVAL_OUTSIDE": "Interval : value %value% is outside of %interval",
-    "ERROR_LANG_UNSUPPORTED": "internationalisation : unsupported '%locale%' locale"
+    "ERROR_LANG_UNSUPPORTED": "internationalisation : unsupported '%locale%' locale",
+    "ERROR_REMOUS_ARRET_CRITIQUE": "Calculation stopped: critical elevation reached at abscissa %x%",
+    "ERROR_REMOUS_CALCUL_FLUVIAL": "Downstream boundary condition >= Critical elevation : calculation of subcritical part from downstream",
+    "ERROR_REMOUS_CALCUL_TORRENTIEL": "Uptream boundary condition <= Critical elevation : calculation of supercritical part from upstream",
+    "ERROR_REMOUS_RESSAUT_DEHORS": "Hydraulic jump detected %sens% abscissa %x% m",
+    "ERROR_REMOUS_LARGEUR_BERGE": "Width at embankment level = %B% m",
+    "ERROR_REMOUS_H_CRITIQUE": "Width at embankment level = %Yc% m",
+    "ERROR_REMOUS_H_NORMALE": "Normal water level = %Yn% m",
+    "ERROR_REMOUS_RESSAUT_HYDRO": "Hydraulic jump detected between abscissa %xmin% and %xmax% m",
+    "ERROR_REMOUS_PENTE_FORTE": "The water line slope is too steep at abscissa %x% m (the discretisation step should be reduced)",
+    "ERROR_REMOUS_PAS_CALCUL_DEPUIS_AVAL": "Downstream boundary condition < Critical elevation : no possible calculation from downstream",
+    "ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT": "Upstream boundary condition < Critical elevation : no possible calculation from upstream"
 }
\ No newline at end of file
diff --git a/src/locale/error_messages.fr.json b/src/locale/error_messages.fr.json
index 406d9f4371fbe96dbc22f77b21d3c6d3ea350252..a519d5beef39c46e50daf4d0b0c85de606658034 100644
--- a/src/locale/error_messages.fr.json
+++ b/src/locale/error_messages.fr.json
@@ -16,5 +16,16 @@
     "ERROR_PARAMDOMAIN_INVALID": "Paramètre '%symbol%' : le domaine de définition '%domain%' est incorrect",
     "ERROR_INTERVAL_UNDEF": "Interval : valeur 'undefined' incorrecte",
     "ERROR_INTERVAL_OUTSIDE": "Interval : la valeur %value% est hors de l'intervalle %interval",
-    "ERROR_LANG_UNSUPPORTED": "internationalisation : locale '%locale%' non prise en charge"
+    "ERROR_LANG_UNSUPPORTED": "Internationalisation : locale '%locale%' non prise en charge",
+    "ERROR_REMOUS_ARRET_CRITIQUE": "Arrêt du calcul : hauteur critique atteinte à l'abscisse %x%",
+    "ERROR_REMOUS_CALCUL_FLUVIAL": "Condition limite aval >= Hauteur critique: calcul de la partie fluviale à partir de l'aval",
+    "ERROR_REMOUS_CALCUL_TORRENTIEL": "Condition limite amont <= Hauteur critique: calcul de la partie torrentielle à partir de l'amont",
+    "ERROR_REMOUS_RESSAUT_DEHORS": "Ressaut hydraulique détecté à l'%sens% de l'abscisse %x% m",
+    "ERROR_REMOUS_LARGEUR_BERGE": "Largeur au niveau des berges = %B% m",
+    "ERROR_REMOUS_H_CRITIQUE": "Tirant d'eau critique = %Yc% m",
+    "ERROR_REMOUS_H_NORMALE": "Tirant d'eau normal = %Yn% m",
+    "ERROR_REMOUS_RESSAUT_HYDRO": "Ressaut hydraulique détecté entre les abscisses %xmin% et %xmax% m",
+    "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)",
+    "ERROR_REMOUS_PAS_CALCUL_DEPUIS_AVAL": "Condition limite aval < Hauteur critique: pas de calcul possible depuis l'aval",
+    "ERROR_REMOUS_PAS_CALCUL_DEPUIS_AMONT": "Condition limite amont > Hauteur critique : pas de calcul possible depuis l'amont"
 }
\ No newline at end of file