Fehlende Umlaute in Drucklayout-Hinweisen und -Beschriftungen behoben (#42)

Weitere Fundstellen aus der gezielten Umlaut-Pruefung: MessageBox-/Label-Texte
in print_logic.py, print_layout.py, print_layout_baufreigabe.py und
print_tab.py, die wortwoertlich als ASCII generiert wurden ('gueltig',
'verfuegbar', 'waehlen', 'Massstab' als Anzeigetext, 'Geprueft: '-Label).
Interne Bezeichner (aktion-Codes, Projektvariablen-Keys, Item-IDs) bewusst
unveraendert gelassen, um bestehende Log-/Vergleichslogik nicht zu brechen.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MneDjzrjmbpQt8udFYxN9e
This commit is contained in:
2026-09-14 12:09:30 +02:00
co-authored by Claude Sonnet 5
parent a754fcfe34
commit 72844cd257
4 changed files with 38 additions and 38 deletions
+26 -26
View File
@@ -125,8 +125,8 @@ class PrintLogic:
def _show_target_size_too_small(self) -> dict:
self.pruefmanager.zeige_hinweis(
"Zielgroesse zu klein",
"Die gewaehlte Zielgroesse reicht fuer den Einzelblatt-Druck nicht aus.",
"Zielgröße zu klein",
"Die gewählte Zielgröße reicht für den Einzelblatt-Druck nicht aus.",
)
return self._failed_result()
@@ -348,7 +348,7 @@ class PrintLogic:
if int(cast(Any, selected_count())) == 0:
self.pruefmanager.zeige_hinweis(
"Atlas Layer erstellen",
"Auf dem Layer sind keine Features ausgewaehlt.",
"Auf dem Layer sind keine Features ausgewählt.",
)
return None, ""
except Exception:
@@ -367,7 +367,7 @@ class PrintLogic:
if qgs_vector_layer is None:
self.pruefmanager.zeige_hinweis(
"Atlas Layer erstellen",
"QgsVectorLayer ist nicht verfuegbar.",
"QgsVectorLayer ist nicht verfügbar.",
)
return None, ""
@@ -392,7 +392,7 @@ class PrintLogic:
)
return None, ""
# Ausgewaehlte Features kopieren
# Ausgewählte Features kopieren
try:
get_selected = getattr(source_layer, "selectedFeatures", None)
if not callable(get_selected):
@@ -400,15 +400,15 @@ class PrintLogic:
selected_features = list(cast(Any, get_selected()))
if not selected_features:
raise Exception("Keine Features ausgewaehlt")
raise Exception("Keine Features ausgewählt")
qgs_feature = self._import_qgis_symbol("qgis.core", "QgsFeature")
if qgs_feature is None:
raise Exception("QgsFeature Symbol nicht verfuegbar")
raise Exception("QgsFeature Symbol nicht verfügbar")
data_provider = getattr(atlas_layer, "dataProvider", lambda: None)()
if data_provider is None:
raise Exception("dataProvider nicht verfuegbar")
raise Exception("dataProvider nicht verfügbar")
new_features = []
for source_feature in selected_features:
@@ -483,7 +483,7 @@ class PrintLogic:
project = QgsProject.instance()
layout_manager = getattr(project, "layoutManager", lambda: None)()
if layout_manager is None:
self.pruefmanager.zeige_hinweis("Atlas konfigurieren", "Layout Manager nicht verfuegbar.")
self.pruefmanager.zeige_hinweis("Atlas konfigurieren", "Layout Manager nicht verfügbar.")
return False
if not layout_name:
@@ -672,7 +672,7 @@ class PrintLogic:
if map_canvas is None:
self.pruefmanager.zeige_hinweis(
"Druckrechteck",
"Das Kartenfenster ist nicht verfuegbar.",
"Das Kartenfenster ist nicht verfügbar.",
)
return False
@@ -684,7 +684,7 @@ class PrintLogic:
if None in (qgs_geometry, qgs_rectangle, qgs_wkb_types, qgs_map_tool_emit_point, qgs_rubber_band):
self.pruefmanager.zeige_hinweis(
"Druckrechteck",
"Die Rechteck-Erfassung ist in dieser QGIS-Umgebung nicht verfuegbar.",
"Die Rechteck-Erfassung ist in dieser QGIS-Umgebung nicht verfügbar.",
)
return False
@@ -736,13 +736,13 @@ class PrintLogic:
if width <= 0 or height <= 0:
logic.pruefmanager.zeige_hinweis(
"Druckrechteck",
"Das gezeichnete Rechteck ist ungueltig.",
"Das gezeichnete Rechteck ist ungültig.",
)
else:
if logic._store_druckrechteck(layer, rectangle):
logic.pruefmanager.zeige_hinweis(
"Druckrechteck",
"Das Druckrechteck wurde uebernommen.",
"Das Druckrechteck wurde übernommen.",
)
try:
self.rubber_band.reset(polygon_geometry)
@@ -920,7 +920,7 @@ class PrintLogic:
if extent is None:
self.pruefmanager.zeige_hinweis(
"Druckbereich",
"Das aktuelle Kartenfenster liefert keine gueltige Ausdehnung.",
"Das aktuelle Kartenfenster liefert keine gültige Ausdehnung.",
)
return None, None
return extent, None
@@ -931,7 +931,7 @@ class PrintLogic:
if extent is None:
self.pruefmanager.zeige_hinweis(
"Druckbereich",
"Auf dem aktuellen Layer sind keine gueltigen Objekte ausgewaehlt.",
"Auf dem aktuellen Layer sind keine gültigen Objekte ausgewählt.",
)
return None, None
return self._buffer_extent(extent, plotmassstab), None
@@ -948,7 +948,7 @@ class PrintLogic:
if not ergebnis.ok:
self.pruefmanager.zeige_hinweis(
"Verfahrensgebiets-Layer angeben",
"Kein gueltiger Verfahrensgebiets-Layer gefunden. Bitte Layerauswahl im jeweiligen Plugin setzen.",
"Kein gültiger Verfahrensgebiets-Layer gefunden. Bitte Layerauswahl im jeweiligen Plugin setzen.",
)
return None, None
@@ -1001,12 +1001,12 @@ class PrintLogic:
required_map_height_mm: float,
max_format: str = "DIN A3",
) -> tuple[str, float, float, float, float, bool]:
"""Waehlt fuer Baufreigabe ein Blatt im Querformat.
"""Wählt für Baufreigabe ein Blatt im Querformat.
Args:
required_map_width_mm: benoetigte Breite der Hauptkarte in mm
required_map_height_mm: benoetigte Hoehe der Hauptkarte in mm
max_format: maximale Blattgroesse, standardmaessig DIN A3
required_map_width_mm: benötigte Breite der Hauptkarte in mm
required_map_height_mm: benötigte Höhe der Hauptkarte in mm
max_format: maximale Blattgröße, standardmäßig DIN A3
Returns:
(din_format, page_width_mm, page_height_mm, map_w_mm, map_h_mm, fallback_applied)
@@ -1029,8 +1029,8 @@ class PrintLogic:
if map_w >= required_map_width_mm and map_h >= required_map_height_mm:
return din_format, page_w, page_h, map_w, map_h, False
# Wenn der gewuenschte Ausschnitt nicht passt, verwende das maximal erlaubte Blatt
# und erweitere die Hauptkarte auf die verfuegbare Kartenflaeche (zentriert per fit_extent_to_map).
# Wenn der gewünschte Ausschnitt nicht passt, verwende das maximal erlaubte Blatt
# und erweitere die Hauptkarte auf die verfügbare Kartenfläche (zentriert per fit_extent_to_map).
din_format, page_w, page_h = limited_candidates[-1]
map_w = max(page_w - BAUFREIGABE_LAYOUT_FIXBREITE_MM, 50.0)
map_h = max(page_h - BAUFREIGABE_LAYOUT_FIXHOEHE_MM, 50.0)
@@ -1059,7 +1059,7 @@ class PrintLogic:
return map_width_mm + fixed_width_mm, map_height_mm + fixed_height_mm
def _get_required_map_dimensions_mm(self, extent: Any, plotmassstab: float) -> tuple[float, float]:
"""Berechnet die benoetigte Kartenfenstergroesse in mm fuer Extent und Massstab."""
"""Berechnet die benötigte Kartenfenstergröße in mm für Extent und Maßstab."""
if extent is None or not isinstance(plotmassstab, (int, float)) or plotmassstab <= 0:
return 0.0, 0.0
@@ -1077,7 +1077,7 @@ class PrintLogic:
required_map_height_mm: float,
max_format: str,
) -> tuple[float, float, float, float] | None:
"""Waehlt das kleinste passende DIN-Blatt fuer das Standardlayout."""
"""Wählt das kleinste passende DIN-Blatt für das Standardlayout."""
try:
max_index = DIN_AUTO_REIHENFOLGE.index(max_format)
except ValueError:
@@ -1170,7 +1170,7 @@ class PrintLogic:
resolved_layer = layer or self._resolve_layer_from_project()
if kartenname_auswahl not in (KARTENNAME_38, KARTENNAME_41, KARTENNAME_BAUFREIGABE):
self.pruefmanager.zeige_hinweis("Kartennamen waehlen", "Kartennamen waehlen")
self.pruefmanager.zeige_hinweis("Kartennamen wählen", "Kartennamen wählen")
return self._failed_result()
if massstab_auswahl == MASSSTAB_WIE_KARTENFENSTER:
@@ -1191,7 +1191,7 @@ class PrintLogic:
massstab_zahl = float(PLOTMASSSTAB_BY_AUSWAHL.get(massstab_auswahl, 0))
if massstab_zahl <= 0:
self.pruefmanager.zeige_hinweis("Massstab fehlt", "Kein gueltiger Massstab angegeben.")
self.pruefmanager.zeige_hinweis("Maßstab fehlt", "Kein gültiger Maßstab angegeben.")
return self._failed_result()
extent, layer_for_extent = self._resolve_extent(resolved_layer, druckbereich_auswahl, massstab_zahl)