Skip to content
Snippets Groups Projects
Commit b8e7dcf1 authored by francois.grand's avatar francois.grand
Browse files

- remous : correction bug d'affichage des données à calculer (liste déroulante)

- remous : traduction des messages du journal de calcul
parent b92adbc3
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
......@@ -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
......@@ -15,7 +15,7 @@
</tr>
</thead>
<tr *ngFor="let r of _logEntries">
<td>{{r}}</td>
<td align="left">{{r}}</td>
</tr>
</table>
<br/>
......
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;
}
......
......@@ -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;
......
......@@ -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
......@@ -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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment