diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html
index f94d21d49c1b4d86244131ce3de674a7dcf9940f..08366714af9235a025af44b9914572199e02e89a 100644
--- a/src/app/components/generic-calculator/calculator.component.html
+++ b/src/app/components/generic-calculator/calculator.component.html
@@ -4,13 +4,21 @@
 
         <div class="hyd-window-btns">
             <!-- bouton d'aide -->
-            <mat-icon *ngIf="enableHelpButton" (click)="openHelp()" color="accent">help</mat-icon>
+            <mat-icon *ngIf="enableHelpButton" (click)="openHelp()" color="accent" [title]="uitextOpenHelp">
+                help
+            </mat-icon>
             <!-- bouton de duplication -->
-            <mat-icon id="clone-calc" (click)="cloneCalculator()">content_copy</mat-icon>
+            <mat-icon id="clone-calc" (click)="cloneCalculator()" [title]="uitextCloneCalculator">
+                content_copy
+            </mat-icon>
             <!-- bouton de sauvegarde -->
-            <mat-icon id="save-calc" (click)="saveCalculator()">file_download</mat-icon>
+            <mat-icon id="save-calc" (click)="saveCalculator()" [title]="uitextSaveCalculator">
+                file_download
+            </mat-icon>
             <!-- bouton de fermeture -->
-            <mat-icon id="close-calc" (click)="closeCalculator()">close</mat-icon>
+            <mat-icon id="close-calc" (click)="closeCalculator()" [title]="uitextCloseCalculator">
+                close
+            </mat-icon>
         </div>
 
         <!-- titre -->
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 842aeb727bb1f74ac7bcb35f9a3bdbd2ab0ef019..34a300783148b1f92aa39b35650195a0e357fd4a 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -178,6 +178,22 @@ export class GenericCalculatorComponent extends BaseComponent implements OnInit,
         return this.intlService.localizeText("INFO_CALCULATOR_RESULTS_GENERATE_PAB");
     }
 
+    public get uitextOpenHelp() {
+        return this.intlService.localizeText("INFO_CALCULATOR_OPEN_HELP");
+    }
+
+    public get uitextCloneCalculator() {
+        return this.intlService.localizeText("INFO_CALCULATOR_CLONE");
+    }
+
+    public get uitextSaveCalculator() {
+        return this.intlService.localizeText("INFO_CALCULATOR_SAVE");
+    }
+
+    public get uitextCloseCalculator() {
+        return this.intlService.localizeText("INFO_CALCULATOR_CLOSE");
+    }
+
     /**
      * Triggered at calculator instanciation
      */
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index cdc0d46c43045ce4a53361c99f4cb166187ef8e9..70f91ad499090adffa460870f5fc9a9a7b6d86a5 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -46,9 +46,13 @@
     "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_CLONE": "Duplicate",
+    "INFO_CALCULATOR_CLOSE": "Close",
+    "INFO_CALCULATOR_OPEN_HELP": "Help",
     "INFO_CALCULATOR_PARAMFIXES": "Fixed parameters",
     "INFO_CALCULATOR_RESULTS_GENERATE_PAB": "Generate a fish ladder",
     "INFO_CALCULATOR_RESULTS_TITLE": "Results",
+    "INFO_CALCULATOR_SAVE": "Save",
     "INFO_CALCULATOR_VALEURS": "Values",
     "INFO_CLOISONS_TITRE_COURT": "Cross walls",
     "INFO_CLOISONS_TITRE": "Fish ladder: Cross walls",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 34523b4b9f28a951b36be25885b628d75d9b44a9..b1a7681d46d9da1fcd26c29811942f75061c4c6b 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -46,9 +46,13 @@
     "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_CLONE": "Dupliquer",
+    "INFO_CALCULATOR_CLOSE": "Fermer",
+    "INFO_CALCULATOR_OPEN_HELP": "Aide",
     "INFO_CALCULATOR_PARAMFIXES": "Paramètres fixés",
     "INFO_CALCULATOR_RESULTS_GENERATE_PAB": "Générer une passe à bassins",
     "INFO_CALCULATOR_RESULTS_TITLE": "Résultats",
+    "INFO_CALCULATOR_SAVE": "Enregistrer",
     "INFO_CALCULATOR_VALEURS": "Valeurs",
     "INFO_CLOISONS_TITRE_COURT": "Cloisons",
     "INFO_CLOISONS_TITRE": "Passe à bassins&nbsp;: Cloisons",