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³/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³/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'é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'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>'Maj + Clic' : Ligne d'eau & 'Ctrl + Clic' : 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'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'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³/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>