trans: Fix Network and Results table translate.

mesh
Pierre-Antoine Rouby 2023-09-19 14:40:04 +02:00
parent 47bcf8a748
commit f5046858c8
6 changed files with 94 additions and 51 deletions

View File

@ -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(

View File

@ -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")

View File

@ -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"]:

View File

@ -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)")

View File

@ -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()

View File

@ -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>