diff --git a/PreCourlis/i18n/fr.ts b/PreCourlis/i18n/fr.ts
index d9b83ca58364cf2f7c7fc40f1a8a2ddaed82ef9a..9fc3212b8fb609629572472f48221c8f1150a3a5 100644
--- a/PreCourlis/i18n/fr.ts
+++ b/PreCourlis/i18n/fr.ts
@@ -36,11 +36,6 @@
         <source>Axis</source>
         <translation>Axe</translation>
     </message>
-    <message>
-        <location filename="../processing/add_intermediate_profiles_algorithm.py" line="49"/>
-        <source>Constraint lines</source>
-        <translation>Lignes de contraintes</translation>
-    </message>
     <message>
         <location filename="../processing/add_intermediate_profiles_algorithm.py" line="58"/>
         <source>Create constraint lines at profiles ends (avoid errors when some constraint lines doesn&apos;t cross all profiles)</source>
@@ -64,7 +59,7 @@
     <message>
         <location filename="../processing/add_intermediate_profiles_algorithm.py" line="101"/>
         <source>Please select exactly two features (profiles) from the input layer!</source>
-        <translation>Sélectionnez exactement deux entités (profils) depuis la couche d&apos;entrée</translation>
+        <translation>Sélectionnez exactement deux entités (profils) depuis la couche d&apos;entrée !</translation>
     </message>
     <message>
         <location filename="../processing/add_intermediate_profiles_algorithm.py" line="108"/>
@@ -76,11 +71,6 @@
         <source>Lines interpolation:</source>
         <translation>Interpolation des lignes :</translation>
     </message>
-    <message>
-        <location filename="../processing/add_intermediate_profiles_algorithm.py" line="151"/>
-        <source>Adding new lines to input layer:</source>
-        <translation>Ajout des lignes interpolées à la couche :</translation>
-    </message>
     <message>
         <location filename="../processing/add_intermediate_profiles_algorithm.py" line="197"/>
         <source>Add intermediate profiles</source>
@@ -104,6 +94,21 @@ N&apos;oubliez pas de sélectionner deux entités (profils) depuis votre couche
         <source>Profiles</source>
         <translation>Profils</translation>
     </message>
+    <message>
+        <location filename="../processing/add_intermediate_profiles_algorithm.py" line="49"/>
+        <source>Contraint lines</source>
+        <translation>Lignes de contraintes</translation>
+    </message>
+    <message>
+        <location filename="../processing/add_intermediate_profiles_algorithm.py" line="151"/>
+        <source>Adding interpolated lines to layer:</source>
+        <translation>Ajout des lignes interpolés à la couche :</translation>
+    </message>
+    <message>
+        <location filename="../processing/add_intermediate_profiles_algorithm.py" line="155"/>
+        <source>Added intermediate profiles</source>
+        <translation>Ajout de profils intermédaires</translation>
+    </message>
 </context>
 <context>
     <name>AddPointDialog</name>
@@ -181,42 +186,32 @@ N&apos;oubliez pas de sélectionner deux entités (profils) depuis votre couche
         <translation>Suppression de l&apos;ancien attribut topo_bat :</translation>
     </message>
     <message>
-        <location filename="../processing/define_topo_bath_algorithm.py" line="90"/>
-        <source>Evaluating expression on polygons layer:</source>
-        <translation>Évalution de l&apos;expression sur la couche des polygones :</translation>
-    </message>
-    <message>
-        <location filename="../processing/define_topo_bath_algorithm.py" line="113"/>
-        <source>Joining topo_bath attribute based on relation with polygons:</source>
-        <translation>Jointure de l&apos;attribut topo_bath en fonction de l&apos;emplacement des polygones :</translation>
-    </message>
-    <message>
-        <location filename="../processing/define_topo_bath_algorithm.py" line="140"/>
+        <location filename="../processing/define_topo_bath_algorithm.py" line="142"/>
         <source>Fields refactoring:</source>
         <translation>Modification des champs :</translation>
     </message>
     <message>
-        <location filename="../processing/define_topo_bath_algorithm.py" line="252"/>
+        <location filename="../processing/define_topo_bath_algorithm.py" line="254"/>
         <source>Converting points back to lines:</source>
         <translation>Re-convertion des points des sections en lignes :</translation>
     </message>
     <message>
-        <location filename="../processing/define_topo_bath_algorithm.py" line="270"/>
+        <location filename="../processing/define_topo_bath_algorithm.py" line="272"/>
         <source>Applying changes to sections:</source>
         <translation>Appliquation des modifications aux sections :</translation>
     </message>
     <message>
-        <location filename="../processing/define_topo_bath_algorithm.py" line="306"/>
+        <location filename="../processing/define_topo_bath_algorithm.py" line="308"/>
         <source>Define topography / bathymetry from a polygon</source>
         <translation>Définir la topographie/bathymétrie à partir d&apos;un polygone</translation>
     </message>
     <message>
-        <location filename="../processing/define_topo_bath_algorithm.py" line="309"/>
+        <location filename="../processing/define_topo_bath_algorithm.py" line="311"/>
         <source>Profiles</source>
         <translation>Profils</translation>
     </message>
     <message>
-        <location filename="../processing/define_topo_bath_algorithm.py" line="318"/>
+        <location filename="../processing/define_topo_bath_algorithm.py" line="320"/>
         <source>This algorithm update the topo_bath attribute of the input sections layer according to their location inside the provided polygons source, or selection.
 Each polygons should either have a Topography / Bathymetry expression set as an attribute or we should give to the algorithm a default value (&apos;T&apos; or &apos;B&apos;).
 
@@ -226,6 +221,16 @@ Chaque polygone doit soit avoir une expression topographique/bathymétrique déf
 
 Il écrit le résultat directement sur la couche des sections d&apos;entrée.</translation>
     </message>
+    <message>
+        <location filename="../processing/define_topo_bath_algorithm.py" line="90"/>
+        <source>Evaluating expression on polygons:</source>
+        <translation>Evaluation de l&apos;expression sur les polygones :</translation>
+    </message>
+    <message>
+        <location filename="../processing/define_topo_bath_algorithm.py" line="115"/>
+        <source>Joining topo_bath attribute:</source>
+        <translation>Jointure de l&apos;attribut topo_bat :</translation>
+    </message>
 </context>
 <context>
     <name>ExportCourlisAlgorithm</name>
@@ -325,11 +330,6 @@ Il écrit le résultat directement sur la couche des sections d&apos;entrée.</t
         <source>You&apos;re not supposed to have more than 3 z interfaces!</source>
         <translation>Vous n&apos;êtes pas censés avoir plus de 3 interfaces !</translation>
     </message>
-    <message>
-        <location filename="../processing/export_mobili_algorithm.py" line="39"/>
-        <source>Reach name (default to profiles layer name)</source>
-        <translation>Nom du bief (par défaut, le nom de la couche profils)</translation>
-    </message>
     <message>
         <location filename="../processing/export_mobili_algorithm.py" line="70"/>
         <source>Warning</source>
@@ -340,6 +340,11 @@ Il écrit le résultat directement sur la couche des sections d&apos;entrée.</t
         <source>Export Mobili: You&apos;re not supposed to have more than 3 z interfaces!</source>
         <translation>Export Mobili: Vous n&apos;êtes pas censés avoir plus de 3 interfaces en Z !</translation>
     </message>
+    <message>
+        <location filename="../processing/export_mobili_algorithm.py" line="39"/>
+        <source>Reach name (default to Profiles layer name)</source>
+        <translation>Nom du bief (par défaut nom de la couche profils)</translation>
+    </message>
 </context>
 <context>
     <name>ExportVisuProfilAlgorithm</name>
@@ -659,11 +664,6 @@ A noter qu&apos;il est possible de créer la relation entre points et traces à
         <source>Tracks</source>
         <translation>Traces</translation>
     </message>
-    <message>
-        <location filename="../processing/import_points_algorithm.py" line="32"/>
-        <source>Tracks section name field</source>
-        <translation>Champs correspondant aux noms de la section-cible</translation>
-    </message>
     <message>
         <location filename="../processing/import_points_algorithm.py" line="40"/>
         <source>Axis</source>
@@ -712,6 +712,11 @@ using a buffer to join points to tracks and then projecting points on tracks.</s
 
 Utiliser un tampon pour joindre des points aux traces, puis projeter des points sur les traces.</translation>
     </message>
+    <message>
+        <location filename="../processing/import_points_algorithm.py" line="32"/>
+        <source>Tracks unique identifier field</source>
+        <translation>Champ identifiant unique de la couche traces</translation>
+    </message>
 </context>
 <context>
     <name>ImportPreparedPointsAlgorithm</name>
@@ -720,11 +725,6 @@ Utiliser un tampon pour joindre des points aux traces, puis projeter des points
         <source>Tracks</source>
         <translation>Traces</translation>
     </message>
-    <message>
-        <location filename="../processing/import_prepared_points_algorithm.py" line="39"/>
-        <source>Tracks section name field</source>
-        <translation>Champs correspondant aux noms de la section-cible</translation>
-    </message>
     <message>
         <location filename="../processing/import_prepared_points_algorithm.py" line="47"/>
         <source>Axis</source>
@@ -735,11 +735,6 @@ Utiliser un tampon pour joindre des points aux traces, puis projeter des points
         <source>Source points</source>
         <translation></translation>
     </message>
-    <message>
-        <location filename="../processing/import_prepared_points_algorithm.py" line="63"/>
-        <source>Source section name field</source>
-        <translation></translation>
-    </message>
     <message>
         <location filename="../processing/import_prepared_points_algorithm.py" line="71"/>
         <source>Source Z field</source>
@@ -751,17 +746,17 @@ Utiliser un tampon pour joindre des points aux traces, puis projeter des points
         <translation></translation>
     </message>
     <message>
-        <location filename="../processing/import_prepared_points_algorithm.py" line="207"/>
+        <location filename="../processing/import_prepared_points_algorithm.py" line="227"/>
         <source>Import prepared points by projection on tracks</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../processing/import_prepared_points_algorithm.py" line="210"/>
+        <location filename="../processing/import_prepared_points_algorithm.py" line="230"/>
         <source>Import</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../processing/import_prepared_points_algorithm.py" line="219"/>
+        <location filename="../processing/import_prepared_points_algorithm.py" line="239"/>
         <source>This algorithm create a new profiles layer by projecting points on tracks using:
 - Tracks
 - Source points with elevation already having some field making the relation with tracks
@@ -773,6 +768,16 @@ Note that it is possible to create the relation between points and tracks using
 
 A noter qu&apos;il est possible de créer la relation entre points et traces à l&apos;aide de la fonction &apos;Joindre les points aux profils&apos;.</translation>
     </message>
+    <message>
+        <location filename="../processing/import_prepared_points_algorithm.py" line="39"/>
+        <source>Tracks identifier field</source>
+        <translation>Champ identifiant de la couche traces</translation>
+    </message>
+    <message>
+        <location filename="../processing/import_prepared_points_algorithm.py" line="63"/>
+        <source>Source tracks identifier field</source>
+        <translation>Champ identifiant des traces dans la couche source</translation>
+    </message>
 </context>
 <context>
     <name>ImportTracksAlgorithm</name>
@@ -1139,11 +1144,6 @@ Notez que les profils sources doivent avoir le même nombre de points et être p
         <source>Target profiles</source>
         <translation>Profils cibles</translation>
     </message>
-    <message>
-        <location filename="../processing/join_points_to_profiles_algorithm.py" line="42"/>
-        <source>Target profiles section name field</source>
-        <translation>Champs correspondant aux noms des profiles cibles de la section</translation>
-    </message>
     <message>
         <location filename="../processing/join_points_to_profiles_algorithm.py" line="51"/>
         <source>Buffer distance</source>
@@ -1169,6 +1169,11 @@ Notez que les profils sources doivent avoir le même nombre de points et être p
         <source>This algorithm create a relation between points and profiles using a buffer around profiles.</source>
         <translation>Cet algorithme crée une relation entre les points et les profils en utilisant un tampon autour des profils.</translation>
     </message>
+    <message>
+        <location filename="../processing/join_points_to_profiles_algorithm.py" line="42"/>
+        <source>Target profiles unique identifier field</source>
+        <translation>Champs identifiant unique des profils cibles</translation>
+    </message>
 </context>
 <context>
     <name>LinesToPointsAlgorithm</name>
@@ -1300,52 +1305,52 @@ Notez que les profils sources doivent avoir le même nombre de points et être p
         <translation>Convertir les traces en profils</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="199"/>
+        <location filename="../PreCourlis.py" line="204"/>
         <source>View profiles</source>
         <translation>Visualiser les profils</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="246"/>
+        <location filename="../PreCourlis.py" line="251"/>
         <source>Interpolate profiles</source>
         <translation>Interpoler des profils</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="251"/>
+        <location filename="../PreCourlis.py" line="256"/>
         <source>Configure interpolation areas</source>
         <translation>Configuration de l&apos;interpolation par parties</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="256"/>
+        <location filename="../PreCourlis.py" line="261"/>
         <source>Interpolate profiles with areas</source>
         <translation>Interpoler les profils par parties</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="270"/>
+        <location filename="../PreCourlis.py" line="275"/>
         <source>Export a Courlis geometry file</source>
         <translation>Exporter un fichier de géométrie Courlis</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="275"/>
+        <location filename="../PreCourlis.py" line="280"/>
         <source>Export a Mascaret geometry file</source>
         <translation>Exporter un fichier de géométrie Mascaret</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="280"/>
+        <location filename="../PreCourlis.py" line="285"/>
         <source>Export a Mobili geometry file</source>
         <translation>Exporter un fichier de géométrie Mobili</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="293"/>
+        <location filename="../PreCourlis.py" line="298"/>
         <source>Settings</source>
         <translation>Réglages</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="294"/>
+        <location filename="../PreCourlis.py" line="299"/>
         <source>About</source>
         <translation>A propos</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="285"/>
+        <location filename="../PreCourlis.py" line="290"/>
         <source>Export a VisuProfil file</source>
         <translation>Exporter un fichier VisuProfil</translation>
     </message>
@@ -1355,55 +1360,60 @@ Notez que les profils sources doivent avoir le même nombre de points et être p
         <translation>Convertir les points en profils</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="208"/>
+        <location filename="../PreCourlis.py" line="213"/>
         <source>Add intermediate profiles</source>
         <translation>Ajouter les profils intermédiaires</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="216"/>
+        <location filename="../PreCourlis.py" line="221"/>
         <source>Join points to profiles</source>
         <translation>Joindre les points aux profils</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="216"/>
+        <location filename="../PreCourlis.py" line="221"/>
         <source>This algorithm fill raw points with corresponding profile identifier using a buffer around profiles.</source>
         <translation>Cet algorithme remplit les points bruts avec l&apos;identifiant de profil correspondant en utilisant un tampon autour des profils.</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="226"/>
+        <location filename="../PreCourlis.py" line="231"/>
         <source>Import sedimental interface from points</source>
         <translation>Importer une interface sédimentaire à partir de points</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="226"/>
+        <location filename="../PreCourlis.py" line="231"/>
         <source>This algorithm fill a sedimental interface altitude from points.</source>
         <translation>Cet algorithme remplit une altitude d&apos;interface sédimentaire à partir de points.</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="235"/>
+        <location filename="../PreCourlis.py" line="240"/>
         <source>Define topography / bathymetry from a polygon</source>
         <translation>Définir la topographie/bathymétrie à partir d&apos;un polygone</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="235"/>
+        <location filename="../PreCourlis.py" line="240"/>
         <source>This algorithm define topography / bathymetry from a polygon.</source>
         <translation>Cet algorithme définit la topographie/bathymétrie à partir d&apos;un polygone.</translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="262"/>
+        <location filename="../PreCourlis.py" line="267"/>
         <source>Interpolate without lateral resampling</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../PreCourlis.py" line="301"/>
+        <location filename="../PreCourlis.py" line="306"/>
         <source>Start debugpy and wait for client</source>
         <translation>Démarrez le débogage et attendez le client</translation>
     </message>
+    <message>
+        <location filename="../PreCourlis.py" line="196"/>
+        <source>Repair profiles layer</source>
+        <translation>Réparer une couche de profils</translation>
+    </message>
 </context>
 <context>
     <name>PreCourlisProvider</name>
     <message>
-        <location filename="../processing/precourlis_provider.py" line="150"/>
+        <location filename="../processing/precourlis_provider.py" line="153"/>
         <source>PreCourlis</source>
         <translation></translation>
     </message>
@@ -1444,12 +1454,12 @@ Notez que les profils sources doivent avoir le même nombre de points et être p
 <context>
     <name>ProfileDialog</name>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="723"/>
+        <location filename="../widgets/profile_dialog.py" line="748"/>
         <source>Save Layer Edits</source>
         <translation>Enregistrer les modifications</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="723"/>
+        <location filename="../widgets/profile_dialog.py" line="748"/>
         <source>Could not commit changes to layer {}
 
 Errors: {}
@@ -1460,74 +1470,84 @@ Erreurs: {}
 </translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="326"/>
+        <location filename="../widgets/profile_dialog.py" line="327"/>
         <source>Not set</source>
         <translation>Non définit</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="311"/>
+        <location filename="../widgets/profile_dialog.py" line="312"/>
         <source>DEM</source>
         <translation>DEM</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="312"/>
+        <location filename="../widgets/profile_dialog.py" line="313"/>
         <source>Profiles</source>
         <translation>Profils</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="315"/>
+        <location filename="../widgets/profile_dialog.py" line="316"/>
         <source>Points</source>
         <translation>Points</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="595"/>
+        <location filename="../widgets/profile_dialog.py" line="620"/>
         <source>Add new point</source>
         <translation>Ajouter un nouveau point</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="595"/>
+        <location filename="../widgets/profile_dialog.py" line="620"/>
         <source>Please select one and only one point</source>
         <translation>Veuillez sélectionner un et un seul point</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="610"/>
+        <location filename="../widgets/profile_dialog.py" line="635"/>
         <source>Point added to profile</source>
         <translation>Point ajouté au profil</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="629"/>
+        <location filename="../widgets/profile_dialog.py" line="654"/>
         <source>Remove points</source>
         <translation>Supprimer des points</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="629"/>
+        <location filename="../widgets/profile_dialog.py" line="654"/>
         <source>No points selected</source>
         <translation>Aucun point sélectionné</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="651"/>
+        <location filename="../widgets/profile_dialog.py" line="676"/>
         <source>Points removed from profile</source>
         <translation>Points supprimés du profil</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="655"/>
+        <location filename="../widgets/profile_dialog.py" line="680"/>
         <source>Invalid points from section moved up</source>
         <translation>Points invalides de la section déplacée vers le haut</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="659"/>
-        <source>Invalid points from section moved down </source>
-        <translation>Points invalides de la section déplacée vers le bas</translation>
+        <location filename="../widgets/profile_dialog.py" line="732"/>
+        <source>Invalid points from layer moved down</source>
+        <translation>Points invalides de la couche déplacés vers le bas</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="681"/>
-        <source>Invalid points from layer moved up </source>
-        <translation>Points invalides de la couche déplacés vers le haut</translation>
+        <location filename="../widgets/profile_dialog.py" line="382"/>
+        <source>Missing field</source>
+        <translation>Champs manquant</translation>
     </message>
     <message>
-        <location filename="../widgets/profile_dialog.py" line="707"/>
-        <source>Invalid points from layer moved down</source>
-        <translation>Points invalides de la couche déplacés vers le bas</translation>
+        <location filename="../widgets/profile_dialog.py" line="382"/>
+        <source>The field &apos;topo_bat&apos; is missing in the layer. Please add it with the repair profiles algorithm before using this tool.</source>
+        <translation>Le champ &apos;topo_bat&apos; est manquant dans la couche. Veuillez l&apos;ajouter en utilisant l&apos;algorithme Réparer les profils avant d&apos;utiliser cet outil.</translation>
+    </message>
+    <message>
+        <location filename="../widgets/profile_dialog.py" line="684"/>
+        <source>Invalid points from section moved down</source>
+        <translation>Les points invalides de la section ont été déplacés vers le bas</translation>
+    </message>
+    <message>
+        <location filename="../widgets/profile_dialog.py" line="706"/>
+        <source>Invalid points from layer moved up</source>
+        <translation>Les points invalides de la couche ont été déplacés vers le haut</translation>
     </message>
 </context>
 <context>
@@ -1548,47 +1568,47 @@ Erreurs: {}
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="369"/>
+        <location filename="../ui/profile_dialog_base.ui" line="376"/>
         <source>...</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="341"/>
+        <location filename="../ui/profile_dialog_base.ui" line="348"/>
         <source>Sedimental layers</source>
         <translation>Couches sédimentaires</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="420"/>
+        <location filename="../ui/profile_dialog_base.ui" line="427"/>
         <source>Add</source>
         <translation>Ajouter</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="601"/>
+        <location filename="../ui/profile_dialog_base.ui" line="608"/>
         <source>Apply</source>
         <translation>Appliquer</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="440"/>
+        <location filename="../ui/profile_dialog_base.ui" line="447"/>
         <source>Delete</source>
         <translation>Supprimer</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="537"/>
+        <location filename="../ui/profile_dialog_base.ui" line="544"/>
         <source>Interpolation</source>
         <translation></translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="545"/>
+        <location filename="../ui/profile_dialog_base.ui" line="552"/>
         <source>Left</source>
         <translation>Gauche</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="568"/>
+        <location filename="../ui/profile_dialog_base.ui" line="575"/>
         <source>Right</source>
         <translation>Droite</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="611"/>
+        <location filename="../ui/profile_dialog_base.ui" line="618"/>
         <source>Clear</source>
         <translation>RAZ</translation>
     </message>
@@ -1618,22 +1638,22 @@ Erreurs: {}
         <translation>Profil suivant</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="355"/>
+        <location filename="../ui/profile_dialog_base.ui" line="362"/>
         <source>Select sedimental layer</source>
         <translation>Sélectionner la couche sédimentaire</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="390"/>
+        <location filename="../ui/profile_dialog_base.ui" line="397"/>
         <source>Sedimental layer color</source>
         <translation>Couleur de la couche sédimentaire</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="598"/>
+        <location filename="../ui/profile_dialog_base.ui" line="605"/>
         <source>Apply interpolation</source>
         <translation>Appliquer l&apos;interpolation</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="608"/>
+        <location filename="../ui/profile_dialog_base.ui" line="615"/>
         <source>Clear values</source>
         <translation>Remettre les valeurs à zéro</translation>
     </message>
@@ -1643,37 +1663,37 @@ Erreurs: {}
         <translation>Enregistrer les modifications</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="417"/>
+        <location filename="../ui/profile_dialog_base.ui" line="424"/>
         <source>Add new sedimental layer</source>
         <translation>Ajouter une nouvelle couche sédimentaire</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="427"/>
+        <location filename="../ui/profile_dialog_base.ui" line="434"/>
         <source>Apply settings to current sedimental layer</source>
         <translation>Appliquer les réglages à la couche sédimentaire courante</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="437"/>
+        <location filename="../ui/profile_dialog_base.ui" line="444"/>
         <source>Delete current sedimental layer</source>
         <translation>Supprimer la couche sédimentaire courante</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="380"/>
+        <location filename="../ui/profile_dialog_base.ui" line="387"/>
         <source>Sedimental layer name (limited to 7 characters)</source>
         <translation>Nom de la couche sédimentaire (limité à 7 caractères)</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="524"/>
+        <location filename="../ui/profile_dialog_base.ui" line="531"/>
         <source>Extract layer values from DEM</source>
         <translation>Extraire les valeurs de la couche depuis un MNT</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="527"/>
+        <location filename="../ui/profile_dialog_base.ui" line="534"/>
         <source>Extract Z</source>
         <translation>Extraire le Z</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="511"/>
+        <location filename="../ui/profile_dialog_base.ui" line="518"/>
         <source>Default elevation</source>
         <translation>Altitude par défaut</translation>
     </message>
@@ -1708,26 +1728,59 @@ Erreurs: {}
         <translation>Supprimer les points sélectionnés</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="452"/>
+        <location filename="../ui/profile_dialog_base.ui" line="459"/>
         <source>Import Z</source>
         <translation>Importer Z</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="460"/>
+        <location filename="../ui/profile_dialog_base.ui" line="467"/>
         <source>From</source>
         <translation>Depuis</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="477"/>
+        <location filename="../ui/profile_dialog_base.ui" line="484"/>
         <source>Source</source>
         <translation>Source</translation>
     </message>
     <message>
-        <location filename="../ui/profile_dialog_base.ui" line="494"/>
+        <location filename="../ui/profile_dialog_base.ui" line="501"/>
         <source>Mask</source>
         <translation>Masque</translation>
     </message>
 </context>
+<context>
+    <name>RepairProfilesAlgorithm</name>
+    <message>
+        <location filename="../processing/repair_profiles_algorithm.py" line="17"/>
+        <source>Input</source>
+        <translation>Entrée</translation>
+    </message>
+    <message>
+        <location filename="../processing/repair_profiles_algorithm.py" line="26"/>
+        <source>Output</source>
+        <translation>Sortie</translation>
+    </message>
+    <message>
+        <location filename="../processing/repair_profiles_algorithm.py" line="38"/>
+        <source>Repaired profiles</source>
+        <translation>Profils réparés</translation>
+    </message>
+    <message>
+        <location filename="../processing/repair_profiles_algorithm.py" line="137"/>
+        <source>Repair profiles layer</source>
+        <translation>Réparer une couche de profils</translation>
+    </message>
+    <message>
+        <location filename="../processing/repair_profiles_algorithm.py" line="145"/>
+        <source>Profiles</source>
+        <translation>Profils</translation>
+    </message>
+    <message>
+        <location filename="../processing/repair_profiles_algorithm.py" line="140"/>
+        <source>This algorithm repair a profiles layer by adding missing topo_bat field.</source>
+        <translation>Cet algorithme répare une couche de profils en ajoutant le champ topo_bat manquant.</translation>
+    </message>
+</context>
 <context>
     <name>SaveChangesDialog</name>
     <message>
diff --git a/PreCourlis/processing/add_intermediate_profiles_algorithm.py b/PreCourlis/processing/add_intermediate_profiles_algorithm.py
index cb9ccecd363456489d8c28be60b2efbe9e35546e..3e91e5211610ac6eda05e635fb2fb2f7d4ac5eab 100644
--- a/PreCourlis/processing/add_intermediate_profiles_algorithm.py
+++ b/PreCourlis/processing/add_intermediate_profiles_algorithm.py
@@ -152,7 +152,7 @@ class AddIntermediateProfilesAlgorithm(PreCourlisAlgorithm):
 
         # Notes: This algorithm directly edit input layer in place using edit buffer
         layer.startEditing()
-        layer.beginEditCommand(self.tr("Adding interpolated lines"))
+        layer.beginEditCommand(self.tr("Added intermediate profiles"))
 
         temp_layer = context.getMapLayer(outputs["interpolated_lines"]["OUTPUT"])
         for (current, feature) in enumerate(temp_layer.getFeatures()):
diff --git a/PreCourlis/processing/define_topo_bath_algorithm.py b/PreCourlis/processing/define_topo_bath_algorithm.py
index 58c940fc23b2ff3c13b1ac5ee579501d6d3afe36..bf257ef34c333830667f927ac4c90401ae13548c 100644
--- a/PreCourlis/processing/define_topo_bath_algorithm.py
+++ b/PreCourlis/processing/define_topo_bath_algorithm.py
@@ -87,9 +87,7 @@ class DefineTopoBathAlgorithm(PreCourlisAlgorithm):
         feedback.setCurrentStep(2)
         if feedback.isCanceled():
             return {}
-        feedback.setProgressText(
-            self.tr("Expression evaluation for polygons location:")
-        )
+        feedback.setProgressText(self.tr("Evaluating expression on polygons:"))
 
         alg_params = {
             "INPUT": parameters[self.POLYGONS],
@@ -112,9 +110,7 @@ class DefineTopoBathAlgorithm(PreCourlisAlgorithm):
         feedback.setCurrentStep(3)
         if feedback.isCanceled():
             return {}
-        feedback.setProgressText(
-            self.tr("Joining topo_bath attribute by polygons location:")
-        )
+        feedback.setProgressText(self.tr("Joining topo_bath attribute:"))
 
         alg_params = {
             "DISCARD_NONMATCHING": False,
diff --git a/PreCourlis/processing/repair_profiles_algorithm.py b/PreCourlis/processing/repair_profiles_algorithm.py
index b6bc4268a6b2d24d0b43771a700e9a905a1c4454..fb6edf9f75caf6b849b3140e6e39f392f96797b2 100644
--- a/PreCourlis/processing/repair_profiles_algorithm.py
+++ b/PreCourlis/processing/repair_profiles_algorithm.py
@@ -138,7 +138,7 @@ class RepairProfilesAlgorithm(PreCourlisAlgorithm):
 
     def shortHelpString(self):
         return self.tr(
-            "This algorithm repair a profiles layer by adding missing topo_bath field."
+            "This algorithm repair a profiles layer by adding missing topo_bat field."
         )
 
     def group(self):
diff --git a/PreCourlis/widgets/profile_dialog.py b/PreCourlis/widgets/profile_dialog.py
index a19b0829a015fad193a12b24d645cdaf23ab9b7b..1ebafbc7daa674f3bdfaf303da7bc55a6575b22f 100644
--- a/PreCourlis/widgets/profile_dialog.py
+++ b/PreCourlis/widgets/profile_dialog.py
@@ -382,7 +382,7 @@ class ProfileDialog(QtWidgets.QDialog, FORM_CLASS):
                 self.message_bar.pushMessage(
                     self.tr("Missing field"),
                     self.tr(
-                        "The field 'topo_bath' is missing in the layer. "
+                        "The field 'topo_bat' is missing in the layer. "
                         "Please add it with the repair profiles algorithm before using this tool."
                     ),
                     Qgis.MessageLevel.Critical,
@@ -681,7 +681,7 @@ class ProfileDialog(QtWidgets.QDialog, FORM_CLASS):
 
     def moveDownInvalidPointsFromSection(self):
         move_down_invalid_points_from_section(self.current_section)
-        self.update_feature(self.tr("Invalid points from section moved down "))
+        self.update_feature(self.tr("Invalid points from section moved down"))
 
     def moveUpInvalidPointsFromLayer(self):
         self.layer().startEditing()
@@ -706,7 +706,7 @@ class ProfileDialog(QtWidgets.QDialog, FORM_CLASS):
         self.file.update_features(
             fids,
             sections,
-            self.tr("Invalid points from layer moved up "),
+            self.tr("Invalid points from layer moved up"),
         )
 
     def moveDownInvalidPointsFromLayer(self):