diff --git a/src/View/Network/Window.py b/src/View/Network/Window.py
index 3fc91d797b8f3f72f3f0350901367f043e161e9a..95e575ea8fd94d6c1b547ef55ef662e264535a30 100644
--- a/src/View/Network/Window.py
+++ b/src/View/Network/Window.py
@@ -16,6 +16,8 @@
 
 # -*- coding: utf-8 -*-
 
+from PyQt5.QtCore import QCoreApplication
+
 from PyQt5.QtGui import (
     QKeySequence,
 )
@@ -37,11 +39,17 @@ from Model.River import RiverNode, RiverReach, River
 from View.ASubWindow import ASubMainWindow
 from View.Network.GraphWidget import GraphWidget
 from View.Network.UndoCommand import *
-from View.Network.translate import *
+from View.Network.translate import (
+    table_headers_node, table_headers_edge,
+    retranslate,
+)
 from View.Network.Table import (
     ComboBoxDelegate, NodeTableModel, EdgeTableModel,
 )
 
+_translate = QCoreApplication.translate
+
+
 class NetworkWindow(ASubMainWindow):
     def __init__(self, model=None, title="River network", parent=None):
         self._title = title
@@ -70,6 +78,8 @@ class NetworkWindow(ASubMainWindow):
         self.redo_sc = QShortcut(QKeySequence.Redo, self)
 
     def setup_table(self):
+        retranslate()
+
         # Nodes table
         table = self.find(QTableView, "tableView_nodes")
         self._nodes_model = NodeTableModel(
diff --git a/src/View/Network/translate.py b/src/View/Network/translate.py
index 00cf85ebe0cb01bb4e4e3ab7445da090881b493b..24935e1be5935f0668a10a4067af9f7913c3b820 100644
--- a/src/View/Network/translate.py
+++ b/src/View/Network/translate.py
@@ -30,3 +30,11 @@ table_headers_edge = {
     "node1": _translate("Network", "Source node"),
     "node2": _translate("Network", "Destination node"),
 }
+
+def retranslate():
+    table_headers_node["name"] = _translate("Network", "Name")
+    table_headers_node["type"] = _translate("Network", "Type")
+
+    table_headers_edge["name"] = _translate("Network", "Name")
+    table_headers_edge["node1"] = _translate("Network", "Source node")
+    table_headers_edge["node2"] = _translate("Network", "Destination node")
diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py
index aca81c00955681d745e050f8cdf2dc8601535237..251f5a13930d5173f70f9e143db13af49fcc2bf4 100644
--- a/src/View/Results/Window.py
+++ b/src/View/Results/Window.py
@@ -53,7 +53,10 @@ from View.Results.PlotSedReach import PlotSedReach
 from View.Results.PlotSedProfile import PlotSedProfile
 
 from View.Results.Table import TableModel
-from View.Results.translate import *
+from View.Results.translate import (
+    table_headers_reach, table_headers_profile,
+    retranslate,
+)
 from View.Stricklers.Window import StricklersWindow
 
 _translate = QCoreApplication.translate
@@ -102,6 +105,7 @@ class ResultsWindow(ASubMainWindow, ListedSubWindow):
         self.paste_sc = QShortcut(QKeySequence.Paste, self)
 
     def setup_table(self):
+        retranslate()
         self._table = {}
 
         for t in ["reach", "profile"]:
diff --git a/src/View/Results/translate.py b/src/View/Results/translate.py
index 4b5ab3c523d4814e91d664701d591e7d32404835..37351b669762db80d4fba5d30a50e2bee5511229 100644
--- a/src/View/Results/translate.py
+++ b/src/View/Results/translate.py
@@ -28,3 +28,9 @@ table_headers_profile = {
     "name": _translate("Results", "Name"),
     "kp": _translate("Results", "KP (m)"),
 }
+
+def retranslate():
+    table_headers_reach["name"] = _translate("Results", "Reach name")
+
+    table_headers_profile["name"] = _translate("Results", "Name")
+    table_headers_profile["kp"] = _translate("Results", "KP (m)")
diff --git a/src/View/Tools/PamhyrTable.py b/src/View/Tools/PamhyrTable.py
index 623ebd3b0a91dd964b17fd319b6defdddc8c24dc..9433d775560133be110b22aa507ce922109f8027 100644
--- a/src/View/Tools/PamhyrTable.py
+++ b/src/View/Tools/PamhyrTable.py
@@ -121,6 +121,7 @@ class PamhyrTableModel(QAbstractTableModel):
 
     def headerData(self, section, orientation, role):
         if role == Qt.ItemDataRole.DisplayRole and orientation == Qt.Orientation.Horizontal:
+            logger.info(self._table_headers[self._headers[section]])
             return self._table_headers[self._headers[section]]
 
         return QVariant()
diff --git a/src/lang/fr.ts b/src/lang/fr.ts
index de1e50a32252eed2a4e9770984db5d0be791ecd4..1042a5a5d769b72bf6fcc001c66d731d0a890a8e 100644
--- a/src/lang/fr.ts
+++ b/src/lang/fr.ts
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="fr_FR" sourcelanguage="en_150">
+<!DOCTYPE TS><TS version="2.0" language="fr_FR" sourcelanguage="en_150">
 <context>
     <name>About</name>
     <message>
@@ -78,7 +77,7 @@
     </message>
     <message>
         <location filename="../View/BoundaryCondition/Edit/translate.py" line="12"/>
-        <source>Discharge (m³/s)</source>
+        <source>Discharge (m&#xb3;/s)</source>
         <translation type="obsolete">Débit (m³/s)</translation>
     </message>
     <message>
@@ -106,6 +105,11 @@
         <source>ZDischarge</source>
         <translation>HauteurDébit</translation>
     </message>
+    <message encoding="UTF-8">
+        <location filename="../View/BoundaryCondition/Edit/translate.py" line="28"/>
+        <source>Discharge (m³/s)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Checker</name>
@@ -704,9 +708,14 @@
     </message>
     <message>
         <location filename="../View/InitialConditions/translate.py" line="11"/>
-        <source>Discharge (m³/s)</source>
+        <source>Discharge (m&#xb3;/s)</source>
         <translation type="obsolete">Débit (m³/s)</translation>
     </message>
+    <message encoding="UTF-8">
+        <location filename="../View/InitialConditions/translate.py" line="27"/>
+        <source>Discharge (m³/s)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>MainWindow</name>
@@ -1515,28 +1524,28 @@
         <source>Edit sediment layers</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/ui/MainWindow.ui" line="553"/>
         <source>Édition des Tronçons</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/ui/MainWindow.ui" line="667"/>
         <source>Ouvrir une étude</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/ui/MainWindow.ui" line="679"/>
         <source>Enrégistrer étude en cours (Ctrl+S)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/ui/MainWindow.ui" line="694"/>
         <source>Fermer étude en cours (Ctrl+F)</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
+<context encoding="UTF-8">
     <name>MainWindowProfile</name>
     <message>
         <location filename="../View/Geometry/Profile/Window.py" line="83"/>
@@ -1610,108 +1619,108 @@
         <source>Cote (m)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/Window.py" line="328"/>
         <source>Suppression les lignes incomplètes</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/Window.py" line="328"/>
         <source>Supprimer les lignes des cellules non renseignées ?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/Window.py" line="371"/>
         <source>Suppression des noms répétés</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/Window.py" line="382"/>
         <source>Etes-vous sûr de vouloir quitter ?</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="225"/>
         <source>Insérer un point</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="226"/>
         <source>Supprimer le/les point(s) sélectionnés</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="230"/>
         <source>Trier les points par ordre décroissant de X</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="235"/>
         <source>Trier les points par ordre décroissant de Y</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="237"/>
         <source>Décaler le point sélectionné vers le haut</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="239"/>
         <source>Décaler le point sélectionné vers le bas</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="241"/>
         <source>Exporter (dans un fichier) les points du profil au format tabulé</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="243"/>
         <source>Copier la sélection au format tabulé</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="245"/>
         <source>Coller la sélection depuis le presse-papier au format tabulé</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="247"/>
         <source>Vérifier la validité de la saisie et garder ou pas les modifications apportées</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="250"/>
         <source>Annuler toutes les modifications depuis la dernière validation</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="252"/>
         <source>Annuler toutes les modifications et revenir à l&apos;état initial</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="254"/>
         <source>Ligne d&apos;eau : 
- 	Z : Cote (m) 
- 	A : Aire mouillée (mu00B2) 
- 	p : Périmètre mouillé (m) 
- 	L : Largeur au miroir (m)</source>
+ <byte value="x9"/>Z : Cote (m) 
+ <byte value="x9"/>A : Aire mouillée (mu00B2) 
+ <byte value="x9"/>p : Périmètre mouillé (m) 
+ <byte value="x9"/>L : Largeur au miroir (m)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="258"/>
         <source>&apos;Maj + Clic&apos; : Ligne d&apos;eau &amp; &apos;Ctrl + Clic&apos; : Sélectionner des points</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Profile/Table.py" line="142"/>
         <source>Abscisse en travers calculée en projétant les points 
 sur le plan défini par les deux points nommés extrêmes </source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
+<context encoding="UTF-8">
     <name>MainWindow_reach</name>
     <message>
         <location filename="../View/Frictions/PlotStricklers.py" line="76"/>
@@ -1903,58 +1912,58 @@ sur le plan défini par les deux points nommés extrêmes </source>
         <source> Editer selected profile</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Window.py" line="164"/>
         <source>Édition des profils sélectionnés</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Window.py" line="166"/>
         <source>Vous avez sélectionné plus de 5 profils. 
 Seuls les 5 premiers seront édités.</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/Window.py" line="322"/>
         <source>Profil N° : </source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/PlotAC.py" line="179"/>
         <source>Profil précédent</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/PlotAC.py" line="180"/>
         <source>Profil sélectionné</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/mainwindow_ui_reach.py" line="328"/>
         <source> Trier les profils par ordre décroissant des Pk</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/mainwindow_ui_reach.py" line="329"/>
         <source> Changer l&apos;ordre des profils (en décalant le profil sélectionné vers le haut)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/mainwindow_ui_reach.py" line="331"/>
         <source> Changer l&apos;ordre des profils (en décalant le profil sélectionné vers le bas)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/mainwindow_ui_reach.py" line="339"/>
         <source>Vue isométrique (Alt+Z)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/mainwindow_ui_reach.py" line="342"/>
         <source>Vue isométrique (Alt+E)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message>
+    <message encoding="UTF-8">
         <location filename="../View/Geometry/mainwindow_ui_reach.py" line="345"/>
         <source>Vue isométrique (Alt+R)</source>
         <translation type="unfinished"></translation>
@@ -2000,22 +2009,22 @@ Seuls les 5 premiers seront édités.</source>
     <message>
         <location filename="../View/Network/translate.py" line="29"/>
         <source>Name</source>
-        <translation type="unfinished">Nom</translation>
+        <translation>Nom</translation>
     </message>
     <message>
         <location filename="../View/Network/translate.py" line="25"/>
         <source>Type</source>
-        <translation type="unfinished">Type</translation>
+        <translation>Type</translation>
     </message>
     <message>
         <location filename="../View/Network/translate.py" line="30"/>
         <source>Source node</source>
-        <translation type="unfinished"></translation>
+        <translation>Nœud source</translation>
     </message>
     <message>
         <location filename="../View/Network/translate.py" line="31"/>
         <source>Destination node</source>
-        <translation type="unfinished"></translation>
+        <translation>Nœud destination</translation>
     </message>
 </context>
 <context>
@@ -2062,9 +2071,14 @@ Seuls les 5 premiers seront édités.</source>
     </message>
     <message>
         <location filename="../View/Results/PlotH.py" line="79"/>
-        <source>Discharge (m³/s)</source>
+        <source>Discharge (m&#xb3;/s)</source>
         <translation type="obsolete">Débit (m³/s)</translation>
     </message>
+    <message encoding="UTF-8">
+        <location filename="../View/Results/PlotH.py" line="79"/>
+        <source>Discharge (m³/s)</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>SedimentLayers</name>