Files
dxfmakros/lang/de_DE.json
T
y.wang 821b81135d fix: VF-Linienzug - ES-Fussabdruck laengs korrekt reservieren + Endpunkt per Ziellinie
Drei zusammenhaengende Korrekturen am GF-Zweig mit ES-Element (Modus 1).

1) ES-Fussabdruck wurde massiv unterschaetzt (333.65 mm zu lang)

   Reserviert wurde (abs ein-dx) - die Block-X-Komponente aus
   vf-element-masse. Ein Element wird aber so gedreht eingebaut, dass sein
   KS_EIN auf der Fahrtrichtung liegt; beim drehenden ES_Element_30
   (ein-ang=120 Grad) landet dadurch ein Teil der Block-Y-Komponente auf der
   Fahrtachse. Real verbraucht es laengs 576.2 mm statt der reservierten
   242.6 mm - die Kette ragte um die Differenz ueber den gepickten Endpunkt
   hinaus (Nutzer-Befund 2026-10-09).

   Warum das lange unentdeckt blieb: beim ES_Element_90 ist ein-ang=0, dort
   ist (abs ein-dx) ZUFAELLIG richtig. Der frueher bestaetigende 90-Grad-Test
   konnte den Fehler strukturell nicht finden (Nutzer-Hinweis).

   Neu in vf_core.lsp: vf-element-laengs / vf-element-quer (hz-unabhaengige
   Projektion auf bzw. quer zur Fahrtrichtung), vf-set-es-masse setzt
   zusaetzlich ein-laengs / ein-quer. In vf_linienzug.lsp liest vfl-es-laengs
   den Wert mit Rueckfallkette; ein bewusst genulltes ein-dx gewinnt dabei,
   damit die rund zwei Dutzend Null-/Restore-Stellen keinen Doppelabzug
   bekommen.

   In BricsCAD bestaetigt: Separator+ES verbrauchen 875.83 mm gegen 875.79 mm
   Soll (0.04 mm), Hoehe 151.23 gegen 151.20 mm.

2) Endpunkt per Ziellinie statt per Klick

   Steht die Fahrtrichtung durch den Vorgaenger fest, ist die Laenge nicht
   mehr frei: die (um den ES-Querversatz seitlich versetzte) Bahn des
   ES-KS_AUS trifft eine Ziellinie in genau einem Punkt. Ein Klick kann den
   nur annaehern. Neue Frage mit zwei gleichwertigen Optionen (Radio-Buttons
   im Wizard-Modus): Ziellinie durch ZWEI PUNKTE zeichnen - Schnittpunkt wird
   gerechnet - oder wie bisher einen Punkt waehlen.

   REIN PLANAR: die Hoehe kommt weiterhin aus dem Gefaellewinkel, die
   Ziellinie bestimmt nur X/Y (Nutzer-Praezisierung).

   Beide Wege schreiben denselben einzelnen "DL"-Journaleintrag - Replay,
   Doppelklick-Edit und 2D/3D-Konvertierung muessen von Ziellinien nichts
   wissen. Die Bindung an die Linie besteht nur beim Bauen: wird die Linie
   spaeter verschoben, folgt die Kette NICHT.

   Abwaertskompatibilitaet: die neue Frage erzeugt einen zusaetzlichen
   Journaleintrag, den aeltere Ketten nicht haben. vfl-replay-peek-art sieht
   beim Replay nach, was tatsaechlich ansteht; steht dort ein "DL", ist es
   ein Altbestand und die Frage entfaellt - sonst haette sie den Laengenwert
   als Antwort verschluckt (Queue-Desync).

3) Bedienung: Achsenzwang und ruhige Ansicht

   vfl-getpoint-achse zwingt den Cursor beim Picken auf die Anschlussachse
   (SNAPANG + ORTHOMODE, kein BKS-Wechsel - getpoint liefert daher
   unveraenderte Koordinaten). Nur die horizontale Richtung wird erzwungen,
   die Hoehe bleibt frei.

   vfl-view-refresh zoomte vor JEDER Laengeneingabe hart auf _Extents - die
   Ansicht sprang bei grossen Anlagen nach jedem Klick weg. Jetzt wird nur
   noch eingegriffen, wenn der Baupunkt aus dem sichtbaren Ausschnitt laeuft,
   und dann per _ZOOM _Center unter Beibehaltung der Zoomstufe.

13 neue Unit-Tests (etage-laengs/-quer,
vfl-es-laengs, vfl-kreuz2, vfl-laenge-bis-ziellinie inkl. Realfall aus dem
BricsCAD-Log), Suite 533/533 gruen. lang-Paritaet geprueft.

Offen und bewusst nicht angefasst: vfl-winkel-machbar-p nutzt aus-dx/ein-dx
ebenfalls als Laengsmass und hat damit denselben Fehler (AS_30: 276 mm,
ES_30: 334 mm). Der saubere Fix fuellt ein-dx/aus-dx an der Quelle mit dem
Laengswert - das beruehrt rund 87 Fundstellen samt ihrer Null-/Restore-
Konvention und gehoert separat getestet.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-14 09:09:40 +02:00

1128 lines
91 KiB
JSON

{
"texts": {
"vfl-alert-gf-modul-fehlt": "Gefaellestrecke-Modul nicht geladen!\nDer Linienzug-Typ benoetigt Gefaellestrecke.lsp\n(GF-Segmente und GF-Boegen). Bitte Menue laden.",
"vfl-prompt-startpunkt-kette": "\n\nStartpunkt der Kette waehlen: ",
"vfl-prompt-hoehe-startpunkt-kette": "\nHoehe (Z) des Startpunkts [%1]: ",
"vfl-abgebrochen": "\nAbgebrochen.",
"vfl-as-setzen-frage": "\n\nAS-Element setzen?",
"vfl-as-nein": "\n 2 - Nein (Kette beginnt direkt mit GF/VF am Startpunkt)",
"vfl-as-auto-erkannt": "\n>>> Startpunkt liegt auf KS_AUS einer bestehenden %1-Kette - kein AS-Element noetig.",
"vfl-familie-neutral": "GF/VF",
"vfl-sep-nach-durch-es-ueberschrieben": "\n>>> Separator NACH ignoriert - das ES-Element bringt beim Kettenende bereits seinen eigenen Separator mit (sonst zwei Separatoren hintereinander).",
"vfl-echo-position": "\n>>> Position: X=%1 Y=%2 Z=%3",
"vfl-echo-wahl": "\n>>> Gewaehlt: %1",
"vfl-aus-seite-header": "\n\nAUS-Element (AS_Element_*) - Seite waehlen:",
"vfl-naechstes-element-header": "\n\nNaechstes Element waehlen:",
"vfl-menu-gf-bogen-1": "\n 1 - GF-Bogen (horizontale Kurve)",
"vfl-menu-linie-gf-2": "\n 2 - Neue Linie: GF (Gefaellestrecke)",
"vfl-menu-linie-vf-3": "\n 3 - Neue Linie: Ab/Auf VF (VarioFoerderer-Einheit)",
"vfl-menu-horizontal-vf-4": "\n 4 - Neue VF mit horizontalem Anfang (Horizontal-Stueck)",
"vfl-menu-linie-ende-5": "\n 5 - Neue Linie BIS Kettenende (danach Separator + ES-Element)",
"vfl-prompt-wahl-1-5-def2": "\nIhre Wahl (1-5) [2]: ",
"vfl-menu-linie-gf-1": "\n 1 - Neue Linie: GF (Gefaellestrecke)",
"vfl-menu-linie-vf-2": "\n 2 - Neue Linie: Ab/Auf VF (VarioFoerderer-Einheit)",
"vfl-menu-horizontal-vf-3": "\n 3 - Neue VF mit horizontalem Anfang (Horizontal-Stueck)",
"vfl-menu-linie-ende-4": "\n 4 - Neue Linie BIS Kettenende (danach Separator + ES-Element)",
"vfl-prompt-wahl-1-4-def1": "\nIhre Wahl (1-4) [1]: ",
"vfl-menu-gf-bogen-ka-1": "\n 1 - GF-Bogen (horizontale Kurve)",
"vfl-menu-variokurve-ka-2": "\n 2 - Vario-Kurve (horizontale Kurve, 30/60/90 Grad)",
"vfl-menu-linie-gf-ka-3": "\n 3 - Neue Linie: GF (Gefaellestrecke)",
"vfl-menu-linie-vf-ka-4": "\n 4 - Neue Linie: Ab/Auf VF (VarioFoerderer-Einheit)",
"vfl-menu-horizontal-vf-ka-5": "\n 5 - Neue VF mit horizontalem Anfang (Horizontal-Stueck)",
"vfl-menu-linie-ende-ka-6": "\n 6 - Neue Linie BIS Kettenende (danach Separator + ES-Element)",
"vfl-prompt-wahl-1-6-def3": "\nIhre Wahl (1-6) [3]: ",
"vfl-fehler-horizontal-vf-kurz": "\nFEHLER: Horizontaler VF braucht >= 1000 mm (Umlenk + Motor) - laenger zeichnen.",
"vfl-prompt-hoehe-eingang-gf1": "\nZielhoehe (Z) am Uebergang zur horizontalen Strecke [%1]: ",
"vfl-alert-eingang-kann-nicht-steigen": "Diese VF-Einheit (horizontaler Anfang) kann nicht steigen - bitte 'Neue Linie: Ab/Auf VF' verwenden.",
"vfl-alert-eingang-hoehe-zu-klein": "Zielhoehe zu klein: mindestens %1 mm Hoehenabsenkung noetig (Separator+Umlenkstation+Uebergangsbogen allein erreichen schon so viel). Bitte tiefere Zielhoehe eingeben.",
"vfl-alert-eingang-hoehe-zu-gross": "Zielhoehe zu weit entfernt fuer diese Streckenlaenge - maximal erreichbare Zielhoehe waere ca. %1 mm. Bitte 'Neue Linie: Ab/Auf VF' verwenden.",
"vfl-fehler-linie-zu-kurz": "\nFEHLER: Linie zu kurz (oder entgegen der Fahrtrichtung) - bitte erneut waehlen.",
"vfl-fehler-vf-kurz": "\nFEHLER: VarioFoerderer braucht >= 1000 mm (Umlenk + Motor) - laenger zeichnen oder \"GF\" waehlen.",
"vfl-gefaelle-festlegen-header": "\nGefaelle festlegen:",
"vfl-gefaelle-opt-hoehe": "\n 1 - Gegebene Hoehe (Zielhoehe)",
"vfl-gefaelle-opt-winkel": "\n 2 - Neigungswinkel eingeben",
"vfl-gf-hinweis-laenge-berechnet": "(deltaL wird berechnet und eingefuegt)",
"vfl-prompt-neigungswinkel": "\nNeigungswinkel (Grad, 0 < Winkel <= %1) [%1]: ",
"vfl-alert-winkel-ungueltig": "Neigungswinkel ungueltig: %1 Grad. Erlaubt: 0 < Winkel <= %2 Grad.",
"vfl-prompt-hoehe-linienendpunkt": "\nHoehe (Z) des Linienendpunkts [%1]: ",
"vfl-prompt-hoehe-linienendpunkt-2": "\nHoehe (Z) des Linienendpunkts (Ab: %1 | Auf: %2) [%1]: ",
"vfl-prompt-hoehe-linienendpunkt-3": "\nHoehe (Z) des Linienendpunkts (Ab: %1 | Auf: %2 | gepickt: %3) [%3]: ",
"vfl-hinweis-hoehe-vorschlag-fehlt": "\n(Hinweis: In diese Richtung ist bei dieser Segmentlaenge kein baubarer Vorschlag gefunden - bitte Wert manuell pruefen.)",
"vfl-alert-gf-kann-nicht-steigen": "Gefaellestrecke (GF) kann nicht steigen - bitte tiefere Zielhoehe waehlen oder Ab/Auf VF benutzen.",
"vfl-alert-gefaelle-zu-steil": "Gefaelle zu steil fuer GF: %1 Grad (erlaubt max %2 Grad).\nBitte kleinere Hoehendifferenz waehlen oder Ab/Auf VF benutzen.",
"vfl-gf-laenge-modus-header": "\nWie soll die Laenge dieser Gefaellestrecke bestimmt werden?",
"vfl-gf-laenge-modus-opt-endpunkt": "\n 1 - Endpunkt waehlen (Laenge ergibt sich)",
"vfl-gf-laenge-modus-opt-hoehe": "\n 2 - Zielhoehe festlegen (Laenge wird berechnet)",
"vfl-gf-laenge-modus-opt-steigend": "\n 3 - Steigende GF (Sonderfall, bis 3 Grad)",
"vfl-gf-laenge-modus-opt-qc": "\n 4 - QC Linie mit GF (automatische Auf-Ab-Berechnung)",
"vfl-qc-nur-kettenanfang": "\nFEHLER: 'QC Linie mit GF' ist nur am Kettenanfang moeglich (braucht eine eigene AS-Seite) - bitte anderen Modus waehlen.",
"vfl-qc-prompt-richtung": "\n\nRichtung waehlen (Gerade, auf der AS-Eintritt und ES-Austritt liegen sollen) - Punkt in Fahrtrichtung anklicken: ",
"vfl-qc-ks-ein-gemessen": "\n>>> AS KS_EIN (Referenzgerade) gemessen: X=%1 Y=%2 Z=%3",
"vfl-qc-ks-ein-nicht-gemessen": "\nWARNUNG: KS_EIN des AS-Elements konnte nicht gemessen werden - falle auf den Klickpunkt zurueck (Referenzgerade evtl. ungenau).",
"vfl-qc-prompt-e1": "\nFallend-GF Einlauf, inkl. Separator (mm) [%1]: ",
"vfl-qc-prompt-e2": "\nLaenge fallend-GF Auslauf nach dem zweiten 30-Grad-Bogen (mm) [%1]: ",
"vfl-qc-prompt-gesamtlaenge-mittelteil": "\nGesamtlaenge Mittelteil, ohne Ein-/Auslauf (mm): ",
"vfl-qc-prompt-anteil": "\nAnteil 1. Fallend-Stueck an F_total (0.0-1.0) [%1]: ",
"vfl-qc-s-winkel-echo": "\n>>> S-Neigung automatisch gewaehlt: %1 Grad",
"vfl-qc-nicht-baubar": "\nFEHLER: Diese Mittelteil-Laenge ist mit dieser Aufteilung nicht baubar (F_total=%1mm, S=%2mm - negativ, auch mit steilerem S-Winkel bis 30 Grad probiert). Bitte groessere Gesamtlaenge waehlen (mindestens ca. %3 mm).",
"vfl-qc-bogen-nicht-schliessbar": "\nFEHLER: Diese AS-/ES-Winkel-Kombination (AS-Schwenk=%1 Grad, ES-Schwenk=%2 Grad, benoetigter Bogen-Schwenk=%3 Grad) ist weder mit einem 30- noch mit einem 90-Grad-Bogen auf die Ausgangsgerade zurueckzufuehren. Bitte AS-/ES-Winkel anpassen (z.B. beide gleich waehlen).",
"vfl-qc-e2-negativ": "\nFEHLER: Die berechnete Laenge zwischen dem 2. Bogen und dem ES-Element ist nicht baubar (%1 mm). Bitte E1, Gesamtlaenge Mittelteil oder Anteil anpassen.",
"vfl-qc-erfolg": "\n>>> QC-Kette gebaut. Soll-Hoehe (AS-Austritt)=%1 Ist-Hoehe (ES-Austritt)=%2 Abweichung von der Ausgangsgeraden=%3mm",
"vfl-qc-uform-nur-kettenanfang": "\nFEHLER: 'QC Linie mit GF und U-Form' ist nur am Kettenanfang moeglich (braucht eine eigene AS-Seite) - bitte anderen Modus waehlen.",
"vfl-qc-uform-winkel-fix": "\nHinweis: AS-/ES-Winkel sind bei dieser Option fest auf 90 Grad (nur die Seite ist waehlbar).",
"vfl-qc-prompt-u-fest-laenge": "\nFeste Zwischenstrecke zwischen den beiden 90-Grad-Boegen (mm) [%1]: ",
"vfl-qc-uform-prompt-richtung-e1": "\n\nStartpunkt des 1. 90-Grad-Bogens anklicken (legt Fahrtrichtung UND Laenge des fallenden GF-Einlaufs inkl. Separator fest): ",
"vfl-qc-uform-e1-echo": "\n>>> E1 (inkl. Separator)=%1mm Richtung=%2 Grad",
"vfl-qc-uform-e1-neigung-echo": "\n>>> E1-Neigung (real an AS gemessen, KS_EIN->KS_AUS)=%1 Grad",
"vfl-qc-uform-fa-s-echo": "\n>>> Berechnet: Fa (fallend, 3 Grad, vor S)=%1mm S (steigend, %3 Grad, automatisch gewaehlt)=%2mm",
"vfl-qc-uform-fa-s-negativ": "\nFEHLER: Fa/S auch mit steileren S-Neigungswinkeln (bis 30 Grad probiert) nicht baubar (zuletzt Fa=%1mm S=%2mm). Bitte E1 oder die feste Zwischenstrecke anpassen.",
"vfl-qc-uform-fa-s-negativ-e1": "\nFEHLER: Fa/S auch mit steileren S-Neigungswinkeln (bis 30 Grad probiert) nicht baubar (zuletzt Fa=%1mm S=%2mm). Mindest-E1 (inkl. Separator) fuer den steilsten Winkel: ca. %3 mm.",
"vfl-prompt-neigungswinkel-laenge-berechnet": "\nNeigungswinkel (Grad, 0 < Winkel <= %1) [%1] (deltaL wird berechnet und eingefuegt): ",
"vfl-prompt-neigungswinkel-steigend": "\nSteigungswinkel (Grad, 0 <= Winkel <= %1, 0 = flach) [%1]: ",
"vfl-alert-winkel-ungueltig-steigend": "Steigungswinkel ungueltig: %1 Grad. Erlaubt: 0 <= Winkel <= %2 Grad.",
"vfl-alert-gf-steigend-falsche-richtung": "Steigende Gefaellestrecke: die gewaehlte Zielhoehe liegt unter der aktuellen Hoehe - bitte hoehere Zielhoehe waehlen oder den normalen (fallenden) Modus benutzen.",
"vfl-sep-vor-gf-frage": "\n\nSeparator VOR dieser Gefaellestrecke einfuegen?",
"vfl-sep-nach-gf-frage": "\n\nSeparator NACH dieser Gefaellestrecke einfuegen?",
"vfl-sep-gf-header": "Separator an dieser Gefaellestrecke",
"vfl-ist-kettenende-header": "\nIst das das Kettenende?",
"vfl-kettenende-opt-ja-es": "\n 1 - Ja (ES-Element setzen)",
"vfl-kettenende-opt-ja-ohne-es": "\n 2 - Ja (ohne ES-Element setzen)",
"vfl-kettenende-opt-nein": "\n 3 - Nein (weiterbauen)",
"vfl-alert-vf-nicht-baubar": "VF-Einheit geometrisch nicht baubar!\ndeltaL=%1 mm, deltaH=%2 mm, Richtung=%3\nBitte anderen Endpunkt/Hoehe waehlen.",
"vfl-alert-segment-nicht-baubar": "Segment geometrisch nicht baubar!\ndeltaL=%1 mm, deltaH=%2 mm, Richtung=%3\nBitte anderen Endpunkt/Hoehe waehlen.",
"vfl-info-kurzes-segment": "\n>>> Kurzes Segment (deltaL=%1 mm < 1000): automatisch 3-Grad-Gefaellestrecke (keine Hoehenabfrage, deltaH=%2 mm).",
"vfl-info-kettenende-footprint": "\n>>> Kettenende-Modus: Footprint fuer Separator + ES reserviert -> baubar deltaL=%1 mm, deltaH=%2 mm.",
"vfl-echo-endpunkt-hoehe": "\n>>> Endpunkt gewaehlt: X=%1 Y=%2 (deltaL=%3 mm, Richtung=%4 Grad)\n>>> Zielhoehe eingegeben: %5 mm (aktuell %6 mm, deltaH=%7 mm %8)",
"vfl-kette-eingefuegt": "\n>>> VF-Linienzug-Kette eingefuegt! <<<",
"vfl-info-as-eingefuegt": "\n>>> AS-Element eingefuegt - reale Restlaenge: deltaL=%1 mm.",
"vfl-info-kein-as": "\n>>> Kein AS-Element - Kette beginnt direkt am Startpunkt.",
"vfl-es-setzen-frage": "\n\nES-Element setzen?",
"vfl-es-nein-zielpunkt": "\n 2 - Nein (Kette endet direkt am Zielpunkt)",
"vfl-prompt-endpunkt-fahrtrichtung": "\n\nEndpunkt entlang Fahrtrichtung waehlen (bestimmt die Laenge): ",
"vfl-endpunkt-modus-header": "\n\nWie soll der Endpunkt bestimmt werden?",
"vfl-endpunkt-modus-opt-linie": "\n 1 - Ziellinie zeichnen (2 Punkte) - der Schnittpunkt bestimmt die Laenge",
"vfl-prompt-ziellinie-p1": "\n\nZiellinie - 1. Punkt (beliebige Richtung, Z wird ignoriert): ",
"vfl-prompt-ziellinie-p2": "\n Ziellinie - 2. Punkt: ",
"vfl-endpunkt-modus-opt-punkt": "\n 2 - Punkt waehlen - entlang der festen Fahrtrichtung",
"vfl-ziellinie-parallel": "\n Die gewaehlte Linie liegt parallel zur Fahrtrichtung - es gibt keinen eindeutigen Schnittpunkt.",
"vfl-ziellinie-hinter-start": "\n Der Schnittpunkt liegt hinter dem Startpunkt der Strecke - bitte eine andere Linie waehlen.",
"vfl-prompt-endpunkt-frei": "\n\nEndpunkt der Linie (XY, beliebige Richtung): ",
"vfl-fehler-laenge-max": "\n>>> FEHLER: Laenge %1 m ueberschreitet die Foerderer-Maximallaenge von 25 m - bitte anderen Endpunkt waehlen.",
"vfl-glied-gf-bogen": "GF-Bogen (horizontale Kurve)",
"vfl-glied-gf": "Gefaellestrecke (GF)",
"vfl-glied-vf": "VarioFoerderer-Einheit (Ab/Auf)",
"vfl-glied-horizontal-vf": "VF mit horizontalem Anfang",
"vfl-glied-linie": "Linie bis Kettenende",
"vfl-glied-as": "AS-Element (Kettenanfang)",
"vfl-glied-es": "ES-Element (Kettenende)",
"vfl-glied-vario": "Vario-Kurve (horizontale Kurve im VF)",
"vfl-glied-offen": "(offen)",
"vfl-edit-kein-journal": "Dieser Linienzug-Block traegt kein Eingabe-Journal (Altbestand) und kann nicht schrittweise editiert werden.",
"vfl-edit-m2-obsolet": "Dieser Modus-2-Block wurde mit dem alten Objekt-Referenz-Journal gebaut und kann nicht mehr per Doppelklick neu aufgebaut werden. Bitte die Kette mit Modus 2 neu erzeugen (die neue Fassung speichert die Segment-Daten direkt am Block).",
"vfl-edit-kette-header": "\n\nLinienzug mit %1 Glied(ern):",
"vfl-edit-abgespielt": "\n>>> %1 Glied(er) werden abgespielt, %2 zurueckgenommen - danach interaktiv weiter.",
"vfl-edit2-reset-info": "\n>>> Linienzug (Modus 2) wird mit den gespeicherten Angaben identisch neu aufgebaut...",
"vfl-konvert-fehler": "\n>>> FEHLER bei der Umwandlung von %1: %2 - der alte Block ist entfernt, die Teil-Geometrie liegt frei in der Zeichnung.",
"vfl-restore-prompt-auswahl": "\nLose Linienzug-Geometrie waehlen (die Sektions-XDATA der Objekte wird ausgelesen):",
"vfl-restore-keine-sektionen": "\n>>> In der Auswahl steckt keine Sektions-XDATA (SSG_VF_EDIT_SEG) - daraus laesst sich keine Kette wiederherstellen.",
"vfl-restore-luecke": "\n>>> WARNUNG: Sektion %1 fehlt in der Auswahl - nur die Glieder 1..%2 werden wiederhergestellt.",
"vfl-restore-gefunden": "\n>>> %1 Sektion(en) gefunden, %2 Journal-Eintraege werden abgespielt.",
"vfl-restore-keine-praeambel": "\n>>> Keine Praeambel-XDATA gefunden (Kette vor deren Einfuehrung gebaut) - Startpunkt, Starthoehe und AS-Element werden jetzt erfragt.",
"vfl-restore-frage-as": "\nAS-Element am Kettenanfang vorhanden? [Ja/Nein] <Ja>: ",
"vfl-restore-frage-as-seite": "\nAS-Element Seite? [Links/Rechts] <Links>: ",
"vfl-restore-geloescht": "\n>>> Neuaufbau fertig - %1 alte lose Entity(s) geloescht.",
"omni-alle-winkel": "alle Winkel",
"omni-grad": " Grad",
"omni-bogen-keine-gefunden": "Keine Boegen fuer %1%2 gefunden.",
"omni-weiche-keine-gefunden": "Keine Weichen fuer %1%2 gefunden.",
"vfc-ursprung": "Ursprung",
"vfc-block-eingefuegt-xyzref-ksaus": "\n '%1' eingefuegt (XY:%2 Z:%3)\n KS_AUS: X=%4 Y=%5 Z=%6",
"vfl-ja": "\n 1 - Ja",
"vfl-nein": "\n 2 - Nein",
"vfl-sep-vor-frage": "\n\nZusaetzlichen Separator VOR dem horizontalen Stueck?",
"vfl-sep-nach-frage": "\n\nZusaetzlichen Separator NACH dem horizontalen Stueck?",
"vfl-sep-an-stelle-frage": "\n\nZusaetzlichen Separator an dieser Stelle einfuegen?",
"vf-winkel-aus-header": "\n\nAUS-Element (AS_Element) - Winkel waehlen:",
"vf-winkel-ein-header": "\n\nEIN-Element (ES_Element) - Winkel waehlen:",
"vf-winkel-90": "\n 1 - 90 Grad",
"vf-winkel-30": "\n 2 - 30 Grad",
"vfl-gf-bogen-winkel-header": "\n\nGF-Bogen - Winkel waehlen:",
"vfl-gf-bogen-seite-header": "\nGF-Bogen - Seite waehlen:",
"vfl-winkel-30": "\n 30 Grad",
"vfl-winkel-60": "\n 60 Grad",
"vfl-winkel-90": "\n 90 Grad",
"vfl-prompt-wahl-winkel-30-60-90": "\nWinkel eingeben (30/60/90) [90]: ",
"vfl-variokurve-winkel-header": "\n\nVario-Kurve - Winkel waehlen:",
"vfl-opt1-90grad": "\n 90 Grad",
"vfl-opt2-60grad": "\n 60 Grad",
"vfl-opt3-30grad": "\n 30 Grad",
"vfl-prompt-wahl-1-3-def1": "\nIhre Wahl (1/2/3) [1]: ",
"vfl-frage-startpunkt-typ": "\n\nAm Startpunkt konnte kein eindeutiger GF-/VF-Baustein erkannt werden (GF-Stueck und VF-Horizontalstueck sehen baulich identisch aus). Wie soll der Eingang gebaut werden?",
"vfl-opt-eingang-direkt": "\n 1 - Direkt Umlenkstation bauen (kein GF-Stueck)",
"vfl-opt-eingang-mit-stumpf": "\n 2 - GF (%1 mm) + Umlenkstation",
"vfl-opt-eingang-ohne-umlenk": "\n 3 - Ohne Umlenkstation (VF-Fortsetzung)",
"vfl-variokurve-seite-header": "\nVario-Kurve - Seite waehlen:",
"vfl-variokurve-variante-header": "\nVario-Kurve - Variante waehlen:",
"vfl-variante-aussen": "\n 1 - Aussen",
"vfl-variante-innen": "\n 2 - Innen",
"vfl-ist-ziel-vergleich-header": "\n\n>>> IST-ZIEL-VERGLEICH (ES-Element):",
"vfl-soll-xyz": "\n Soll: X=%1 Y=%2 Z=%3",
"vfl-ist-xyz": "\n Ist : X=%1 Y=%2 Z=%3",
"vfl-abweichung-xyz": "\n Abweichung: dX=%1 dY=%2 dZ=%3 mm",
"vfl-m3-titel": "\n VF-LINIENZUG - Modus 2: Pfad + Ziel-Hoehe (fertig; Anker + Solver + Bau)",
"vfl-m3-alert-gf-modul": "Gefaellestrecke-Modul nicht geladen!",
"vfl-m3-pfad-waehlen": "\n\nPfad-Objekte waehlen (Linien/Boegen):",
"vfl-m3-keine-objekte": "\nKeine Objekte gewaehlt - Abbruch.",
"vfl-m3-prompt-startpunkt": "\n\nStartpunkt der Kette (hoehere Seite) waehlen: ",
"vfl-prompt-hoehe-startpunkt": "\nHoehe (Z) des Startpunkts [%1]: ",
"vfl-m3-prompt-endpunkt": "\n\nEndpunkt der Kette (Ziel) waehlen: ",
"vfl-m3-prompt-zielhoehe": "\nZiel-Hoehe (Z) des Endpunkts [%1]: ",
"vfl-m3-fehler-nicht-sortierbar": "\nFEHLER: Pfad nicht sortierbar (haengt er lueckenlos zusammen?).",
"vfl-m3-alert-eckwinkel": "Kein passender Bogen: Eck-Winkel %1 Grad ist nicht ~30/60/90.\nBitte die Winkel anpassen.",
"vfl-m3-alert-objekte-fehlen": "%1 der urspruenglich gewaehlten Pfad-Objekte wurden in der Zeichnung nicht mehr gefunden (vermutlich geloescht). Die Kette kann so nicht korrekt neu aufgebaut werden.",
"vfl-m3-seg-gerade": "\n\nSegment %1/%2: Gerade L=%3 mm hz=%4",
"vfl-m3-auto-vf": "\n (automatisch VF - Segment folgt direkt auf eine Vario-Kurve)",
"vfl-m3-typ-gerade": "\n Typ? 1 = GF (Eingabe-Winkel) 2 = VF (Bruecke)",
"vfl-m3-prompt-gf-neigung": "\n GF-Neigung in Grad [3]: ",
"vfl-m3-hinweis-gf-max": "\n Hinweis: GF max. 3 Grad - auf 3 begrenzt.",
"vfl-m3-seg-bogen": "\n\nSegment %1/%2: Eck/Bogen %3 Grad %4",
"vfl-m3-typ-bogen": "\n Typ? 1 = GF-Bogen 2 = Vario-Kurve",
"vfl-m3-variante-frage": "\n Vario-Kurve - Variante? 1 = Aussen 2 = Innen",
"vfl-m3-vf-laeufe": "\n\n[M3a] Gefundene VF-Laeufe: %1",
"vfl-m3-vf-lauf-noetig": "\n[M3a] Genau EIN VF-Lauf noetig (GF...VF...GF; Vario-Kurven duerfen im Lauf liegen).",
"vfl-m3-vf-lauf-m3b": "\n[M3a] Mehrere/keine VF-Laeufe -> M3b spaeter.",
"vfl-m3-vf-lauf-alert": "VF-Linienzug Modus 2 kann diese Kette nicht bauen.\n\nGefunden: %1 VarioFoerderer-Laeufe.\nModus 2 baut zurzeit nur Ketten mit GENAU EINEM VF-Lauf (GF...VF...GF; Vario-Kurven duerfen innerhalb des Laufs liegen).\n\nBitte den Pfad so aufteilen, dass nur ein zusammenhaengender VF-Bereich entsteht.",
"vfl-m3-mini-objekte-verworfen": "%1 zu kurze(s) Objekt(e) wurden aus der Auswahl ausgeschlossen (unter %2 mm 2D-Laenge).\n\nSolche Mini-Segmente sind meist Geister-/Artefakt-Elemente, die eine Rechteck-Auswahl versehentlich miterfasst - ein reales Bauteil (kleinstes: Separator 300 mm) ist nie so kurz. Sie werden ignoriert, damit sie keine Geister-Bausteine in die Kette bringen.",
"vfl-m3-vf-lauf-ohne-gerade": "\n[M3a] VF-Lauf ohne VF-Gerade - Abbruch.",
"vfl-m3-anker-vorschau-header": "\n M3a ANKER-VORSCHAU (grob geschaetzt; exakte Werte beim Bau)",
"vfl-m3-start-hoehe": "\n Start-Hoehe Z: %1 mm",
"vfl-m3-ziel-hoehe": "\n Ziel-Hoehe Z: %1 mm",
"vfl-m3-delta-h-gesamt": "\n delta-H gesamt: %1 mm (positiv = Abfall)",
"vfl-m3-vf-lauf-segmente": "\n VF-Lauf: Segment %1..%2",
"vfl-m3-front-anker-vorschau": "\n Front-Anker Z: %1 mm (vorwaerts von AS)",
"vfl-m3-junction-anker-vorschau": "\n Junction-Anker Z: %1 mm (rueckwaerts von ES)",
"vfl-m3-richtung-auf": "Auf (steigt)",
"vfl-m3-richtung-ab": "Ab (faellt)",
"vfl-m3-richtung-horizontal": "horizontal",
"vfl-m3-richtung-auf-kurz": "Auf",
"vfl-m3-richtung-ab-kurz": "Ab",
"vfl-m3-bruecke-dh": "\n --> Bruecke: delta-H = %1 mm ueber Spannweite %2 mm",
"vfl-m3-bruecke-richtung": "\n Richtung: VF-%1",
"vfl-m3-vf-angetrieben": "\n (VF ist angetrieben - kann STEIGEN und FALLEN; Vorzeichen = nur Auf/Ab)",
"vfl-m3-mittlere-neigung": "\n grobe mittlere Neigung ueber Spannweite: ~%1 Grad",
"vfl-m3-warnung-zu-steil": "\n WARNUNG: ~Neigung > 51 Grad -> zu steil fuer Vario (Magnitude infeasibel).",
"vfl-m3-vario-bereich-ok": "\n -> innerhalb Vario-Bereich (3..51 Grad), grobe Orientierung.",
"vfl-m3-anker-hinweis": "\n (Anker oben = grobe Vorschau; exakte Werte werden beim Bau GEMESSEN)",
"vfl-m3-phase-b1": "\n\n>>> Phase B1: Front-Lauf (AS + GF) bauen ...",
"vfl-m3-alert-beginnt-bogen": "Kette beginnt mit einem Bogen - bitte erst eine Gerade.",
"vfl-m3-kurve-front-uebersprungen": "\n >>> [M3a] Vario-Kurve im Front-Lauf - uebersprungen.",
"vfl-m3-standard-vario-header": "\n\n --- STANDARD-VARIO (Kletter-Segment) + flache Zone ---",
"vfl-m3-front-anker-gemessen": "\n Front-Anker (gemessen): %1 mm",
"vfl-m3-junction-exakt": "\n Junction (exakt): %1 mm",
"vfl-m3-kletter-info": "\n Kletterhoehe %1 mm | Kletterer %2 | Kurven %3 | kurze VF %4",
"vfl-m3-kein-winkel": "\n KEIN passender Vario-Winkel -> infeasibel (Front bereits gebaut).",
"vfl-m3-kletter-zu-kurz-flach": "\n Kein Kletter-Winkel passt (Segment zu kurz) -> Lauf wird komplett flach gebaut, Hoehe wandert in GF1.",
"vfl-m3-kletter-flach-gf": "\n Flache Zone: GF-Kompensation (GF1) = %1 mm",
"vfl-m3-alert-vf-zu-lang": "VF-Lauf ist %1 m lang (Grenze %2 m) - bitte neu planen (z.B. Zwischen-Motorstation einfuegen).",
"vfl-m3-warnung-fueller-eingang-zu-kurz": "\n WARNUNG: Fueller direkt nach der Umlenkstation zu kurz (%1 mm < Minimum %2 mm) - nur Minimalabstand gebaut, Zielposition nicht exakt erreicht.",
"vfl-m3-warnung-fueller-ausgang-zu-kurz": "\n WARNUNG: Fueller direkt vor der Motorstation zu kurz (%1 mm < Minimum %2 mm) - nur Minimalabstand gebaut, Zielposition nicht exakt erreicht.",
"vfl-m3-lauf-anfang-header": "\n\nDer VF-Lauf ist der Anfang des gewaehlten Pfads. Lauf beginnen mit:",
"vfl-m3-lauf-anfang-opt-offen": "\n 1 - Ohne Umlenkstation (offener Anfang, spaeter fortsetzen/verschmelzen)",
"vfl-m3-lauf-anfang-opt-umlenk": "\n 2 - Umlenkstation direkt (kein GF1/Separator)",
"vfl-m3-lauf-anfang-opt-umlenk-gf1": "\n 3 - Umlenkstation mit GF1 + Separator",
"vfl-m3-lauf-anfang-offen-hinweis": "\n Anfang bleibt bewusst offen - keine Umlenkstation/GF1/Separator gebaut, spaeter fortsetzen oder per Vario_Kette_Merge verbinden.",
"vfl-m3-lauf-abschluss-header": "\n\nDer VF-Lauf ist das Ende des gewaehlten Pfads. Lauf beenden mit:",
"vfl-m3-lauf-abschluss-opt-offen": "\n 1 - Ohne Motorstation (offenes Ende, spaeter fortsetzen/verschmelzen)",
"vfl-m3-lauf-abschluss-opt-motor": "\n 2 - Motorstation setzen (kein ES-Element)",
"vfl-m3-lauf-abschluss-opt-motor-es": "\n 3 - Motorstation + ES-Element setzen (Kettenende)",
"vfl-m3-lauf-abschluss-offen-hinweis": "\n Lauf bleibt bewusst offen - keine Motorstation/Separator/ES gebaut, spaeter fortsetzen oder per Vario_Kette_Merge verbinden.",
"vfl-m3-gf-verteilung": "\n\n GF-Verteilung: 1 - alles am Einlauf (GF1) 2 - 1/2 GF1 + 1/2 GF2",
"vfl-m3-gf-verteilung-alles-auslauf": "\n Kein GF1-Platz am Einlauf gewaehlt - komplette Kompensation wandert nach GF2 (Auslauf).",
"vfl-m3-vert-halb": "1/2 GF1 + 1/2 GF2",
"vfl-m3-vert-ganz": "alles GF1",
"vfl-m3-vert-auslauf": "alles GF2 (Auslauf)",
"vfl-m3-vario-ergebnis": "\n -> Vario %1 (%2), L_VF %3 mm, GF gesamt %4 mm, Verteilung %5",
"vfl-m3-warnung-gf2-negativ": "\n WARNUNG: Koerper klettert zu wenig - GF2<0 (fehlen %1 mm). Winkel zu flach; dZ nicht exakt.",
"vfl-m3-gf2-ausgleich": "\n GF2 (gemessener Ausgleich): L=%1 mm",
"vfl-m3-kurve-back-uebersprungen": "\n >>> [M3a] Vario-Kurve im Back-Lauf - uebersprungen.",
"vfl-m3-nichts-gebaut": "\nNichts gebaut - Abbruch.",
"vfl-m3-fertig-header": "\n>>> VF-Linienzug (Modus 2) gebaut! <<<",
"vfl-m3-ziel-soll": "\n Ziel (Soll): X=%1 Y=%2 Z=%3",
"vfl-m3-es-ist": "\n ES (Ist): X=%1 Y=%2 Z=%3",
"vfl-m3-abweichung": "\n Abweichung: dX=%1 dY=%2 dZ=%3 mm",
"vfl-m3-laengs-quer": "\n Laengs KS_AUS-Achse: %1 mm | Quer zur Achse (soll ~0): %2 mm",
"vfl-m3-achse-hinweis": "\n (dZ=Ziel-Hoehe; Quer zur KS_AUS-Achse ~0 => Endpunkt liegt auf der Achse)",
"vfl-m3-ziel-soll-es-korrigiert": "\n Soll (ES-korrigiert): X=%1 Y=%2 Z=%3 (Ziel + bekannter ES-Laengsversatz)",
"vfl-m3-abweichung-es-korrigiert": "\n Abweichung (ES-korrigiert): dX=%1 dY=%2 dZ=%3 mm",
"gf-fehler-block-fehlt": "\n FEHLER: Block '%1' fehlt",
"gf-fehler-block-fehlt-ausruf": "\n FEHLER: Block '%1' fehlt!",
"gf-fehler-blockdatei-fehlt": "\n FEHLER: Block-Datei nicht gefunden: %1",
"gf-fehler-keine-linie": "\n Fehler: keine Linie!",
"gf-laenge-null-uebersprungen": "\n (Laenge 0 - uebersprungen)",
"gf-prompt-linie-waehlen": "\n >> Linie waehlen: ",
"gf-status-3dlinie-z": "\n 3D-Linie: Z_start=%1 Z_end=%2",
"gf-status-block-l-z": "\n %1 L=%2 -> Z=%3",
"gf-status-bogen-masse": "\n %1: dx=%2 dz=%3",
"gf-status-gefaellebogen": "\n Gefaellebogen %1 hz=%2%3 -> Z=%4",
"gf-status-hzincl": "\n HzIncl %1 L=%2 hz=%3%4 v=%5%6 -> Z=%7",
"gf-status-hzks": "\n HzKS %1 hz=%2%3 v=%4%5 -> Z=%6",
"gf-status-ks-aus-z": "\n KS_AUS Z=%1",
"gf-warnung-block-fehlt-nullwerte": "\n WARNUNG: %1 fehlt - Nullwerte",
"gf-warnung-ks-fehlt": "\n WARNUNG: KS_EIN/KS_AUS fehlt!",
"gf-warnung-ks-fehlt-in": "\n WARNUNG: KS fehlt in '%1'",
"gf-warnung-ks-fehlt-in2": "\n WARNUNG: KS fehlt in %1",
"kreisel-abstand-ausgabe": "\n-> Abstand: %1 mm",
"kreisel-beschriftung-erzeugt": "\n-> Beschriftung: %1 (Höhe=%2mm, Arial, zentriert)",
"kreisel-bestehende-blockdef": "\n-> Verwende bestehende Blockdefinition: %1",
"kreisel-connect-zusammenfassung": "\n-> Abstand: %1 mm Rotation: %2 Grad Hoehe: %3 Kreiselart: %4",
"kreisel-eckrad-eingefuegt": "\n-> Eckrad #%1 eingefuegt: %2 bei %3,%4 Rotation=%5 Hoehe=%6",
"kreisel-edit-aktualisiert": "\nKreisel aktualisiert: Name=%1 Abstand=%2 Hoehe=%3 Rotation=%4",
"kreisel-edit-bestehend": "\n-> Bestehend: Abstand=%1 Drehung=%2 Art=%3",
"kreisel-edit-dialog-fehlt": "Dialog nicht verfuegbar: %1",
"kreisel-eingefuegt": "\n-> Kreisel #%1 eingefügt: %2 (Höhe=%3)",
"kreisel-emsg-distanz-klein": "Distanz zu klein! (%1 < %2)",
"kreisel-hoehe-aus-3dpunkt": "\n-> Hoehe aus 3D-Punkt uebernommen: %1",
"kreisel-hoehe-aus-basispunkt": "\n-> Höhe aus Basispunkt übernommen: %1",
"kreisel-hoehe-aus-startpunkt": "\n-> Hoehe aus Startpunkt uebernommen: %1",
"kreisel-hoehe-von-bestehendem": "\n-> Höhe von bestehendem Kreisel übernommen: %1",
"kreisel-insert-zusammenfassung": "\n-> Rotation: %1 Höhe: %2 Kreiselart: %3",
"kreisel-labelsetup-fertig": "\nNeue Einstellungen: Höhe=%1, Farbe=%2, Y-Versatz=%3, Schriftart=Arial",
"kreisel-neue-beschriftungsposition": "\nNeue Beschriftungsposition: X=%1 Y=%2",
"kreisel-neue-blockdef": "\n-> Neue Blockdefinition: %1",
"kreisel-neue-texthoehe": "\nNeue Texthöhe: %1",
"kreisel-params-default-hoehe": "\nDefault-Höhe: %1",
"kreisel-params-default-laenge": "\nDefault-Laenge: %1",
"kreisel-params-durchmesser": "\nDurchmesser: %1",
"kreisel-params-typ": "\nKreiselart: %1",
"kreisel-prompt-abstand": "\nAbstand (Tangentenlaenge) <%1>: ",
"kreisel-prompt-abstand-oben": "\nAbstand über Kreisel-Mitte <%1>: ",
"kreisel-prompt-hoehe-z": "\nHoehe (Z-Koordinate) <%1>: ",
"kreisel-prompt-neue-hoehe": "\nNeue Höhe <%1>: ",
"kreisel-prompt-neuer-abstand": "\nNeuer Abstand <%1>: ",
"kreisel-prompt-schriftfarbe": "\nSchriftfarbe (1=Rot,2=Gelb,3=Grün,4=Cyan,5=Blau,6=Magenta,7=Weiß) <%1>: ",
"kreisel-prompt-schrifthoehe": "\nSchrifthöhe <%1>: ",
"kreisel-prompt-texthoehe": "\nTexthöhe <%1>: ",
"kreisel-prompt-x-abstand": "\nX-Abstand von AN8-Mitte <%1>: ",
"kreisel-prompt-y-abstand": "\nY-Abstand von AN8-Mitte <%1>: ",
"kreisel-redraw-bestehend": "\n-> Bestehend: Abstand=%1 Drehung=%2 Hoehe=%3 Art=%4",
"kreisel-redraw-fertig": "\nKreisel neu gezeichnet. Abstand=%1",
"kreisel-script-distanz-klein": "\n[Connect] Distanz zu klein: %1",
"kreisel-textstil-erstellt": "\n-> Textstil '%1' mit Arial erstellt",
"kreisel-typ-prompt": "\nBitte waehlen <%1>: ",
"omni-bogen-info-antriebsart": "\n Antriebsart: %1",
"omni-bogen-info-breite": "\n Breite: %1",
"omni-bogen-info-kurvenwinkel": "\n KurvenWinkel: %1",
"omni-bogen-info-laenge": "\n Laenge: %1",
"omni-bogen-info-profiltyp": "\n ProfilTyp: %1",
"omni-bogen-info-radius": "\n Radius: %1",
"omni-bogen-nicht-gefunden": "\nKein Bogen mit SivasId '%1' gefunden.",
"omni-dxf-eingefuegt": "\n[OMNI] %1 eingefuegt. Hoehe=%2 Drehung=%3%4",
"omni-edit-aktualisiert": "\n[OMNI] Element aktualisiert: %1 Hoehe=%2 Drehung=%3",
"omni-edit-dxf-nicht-gefunden": "DXF nicht gefunden: %1",
"omni-einfuegen-info": "\n[OMNI] Einfuegen: %1 (%2)",
"omni-fehler-dxf-nicht-gefunden": "\n[OMNI] FEHLER: DXF nicht gefunden: %1",
"omni-insert-block-eingefuegt": "\n[OMNI] %1 eingefuegt. Laenge=%2 mm",
"omni-laenge-ueberschritten": "Die gewuenschte Fahrstreckenlaenge von %1 mm ueberschreitet die Maximallaenge von %2 mm des Fahrstreckenprofils.\nBitte neu definieren!",
"omni-weiche-info-breite": "\n Breite: %1",
"omni-weiche-info-kurvenrichtung": "\n KurvenRichtung: %1",
"omni-weiche-info-kurvenwinkel": "\n KurvenWinkel: %1",
"omni-weiche-info-laenge": "\n Laenge: %1",
"omni-weiche-info-profiltyp": "\n ProfilTyp: %1",
"omni-weiche-info-schaltungstyp": "\n Schaltungstyp: %1",
"omni-weiche-info-weichentyp": "\n WeichenTyp: %1",
"omni-weiche-info-wklaenge": "\n WK-Laenge: %1",
"omni-weiche-nicht-gefunden": "\nKeine Weiche mit SivasId '%1' gefunden.",
"vfc-3dlinie-start-ende": "\n 3D-Linie:\n Start: X=%1 Y=%2 Z=%3\n Ende: X=%4 Y=%5 Z=%6",
"vfc-3dpolylinie-start-ende": "\n 3D-Polylinie:\n Start Z=%1 Ende Z=%2",
"vfc-block-einfuegepunkt": "\n Block-Einfuegepunkt: X=%1 Y=%2 Z=%3",
"vfc-block-eingefuegt-ksaus": "\n '%1' eingefuegt\n KS_AUS: X=%2 Y=%3 Z=%4",
"vfc-delta-l-h-richtung": "\n %1L=%2 mm %1H=%3 mm Fahrtrichtung=%4%5",
"vfc-endpunkt-xyz": "\n KS_AUS: X=%1 Y=%2 Z=%3",
"vfc-endpunkt-xyz-dxdz": "\n KS_AUS: X=%1 Y=%2 Z=%3 (dx=%4 dz=%5)",
"vfc-fehler-block-datei-fehlt": "\n FEHLER: Block-Datei nicht gefunden: %1",
"vfc-fehler-block-nicht-in-bibliothek": "\n FEHLER: Block '%1' nicht in Bibliothek",
"vfc-fehler-block-nicht-in-bibliothek-abgebrochen": "\n FEHLER: Block '%1' nicht in Bibliothek - abgebrochen",
"vfc-fehler-ks-fehlen": "\n FEHLER: KS_EIN/KS_AUS fehlen in '%1'",
"vfc-fehler-ungueltiger-einfuegepunkt": "\n FEHLER: Ungueltiger Einfuegepunkt fuer '%1'",
"vfc-fuege-block-ein-hz": "\n Fuege Block '%1' ein... (hz=%2%3)",
"vfc-fuege-block-ein-rotation-hz": "\n Fuege Block '%1' ein (Rotation %2%3 hz=%4%5)",
"vfc-fuege-ein-lwhz": "\n Fuege '%1' ein (L=%2 mm, W=%3%4 hz=%5%6)",
"vfc-ks-aus-xyz": "\n KS_AUS: X=%1 Y=%2 Z=%3",
"vfc-lade-block": "\n Lade Block: %1 ...",
"vfc-laenge-uebersprungen": "\n Laenge=%1 mm -> uebersprungen",
"vfc-punkt-auf-objekt": "\n Punkt auf Objekt: Z=%1 mm",
"vfe-as30-mass": "\n AS_30_rechts: dx=%1 mm, dz=%2 mm",
"vfe-block-fehlt-abbruch": "\n FEHLER: Block '%1' nicht in Bibliothek - abgebrochen",
"vfe-bogen-nicht-vorhanden": "\n %1 -> Bogen nicht vorhanden",
"vfe-delta-info": "\n△L=%1 mm △H=%2 mm Richtung=%3",
"vfe-empfohlener-winkel": "\n>>> Empfohlener Winkel: %1",
"vfe-es30-mass": "\n ES_30_rechts: dx=%1 mm, dz=%2 mm",
"vfe-extrahiere-block-mass": "\n Extrahiere %1 Masse...",
"vfe-gefaellebogen-links-mass": "\n Gefaellebogen links: dx=%1 dz=%2 mm",
"vfe-gefaellebogen-rechts-mass": "\n Gefaellebogen rechts: dx=%1 dz=%2 mm",
"vfe-gefaellebogen-seite-dx": "\n Gefaellebogen %1: dx=%2 mm",
"vfe-rand-budget": "\n Rand-Budget: Einlauf=%1 mm Auslauf=%2 mm (Auslauf-Staustrecke %3 mm)",
"vfe-rand-budget-fallback": "\n WARNUNG: Rand-Budget nicht ermittelbar (Block oder KS fehlt) - Rueckfall auf Naeherung, Laenge kann abweichen.",
"vfe-hz-rot-status": "\n HzRot %1 hz=%2 v=%3 -> Z=%4",
"vfe-hz-rotks-status": "\n HzRotKS %1 hz=%2 -> Z=%3",
"vfe-hz-scaleks-status": "\n HzScaleKS %1 %2mm hz=%3 -> Z=%4",
"vfe-ks-fehlt-startpunkt": "\n WARNUNG: KS fehlt in '%1' - verwende Startpunkt",
"vfe-step1-as30": "\n\n1/15: %1 (0 Grad)",
"vfe-step2": "\n\n2/15: Staustrecke 400mm (%1 Grad hz, 3 Grad vert, KS_EIN)",
"vfe-step3": "\n\n3/15: Separator (300mm, %1 Grad hz, 3 Grad vert)",
"vfe-step4": "\n\n4/15: %1 (Anfang, %2 Grad hz, 0 Grad vert, KS_EIN)",
"vfe-step5-strecke": "\n\n5/15: Gefaellestrecke (3 Grad, L=%1 mm)",
"vfe-step7": "\n\n7/15: %1 (3 Grad geneigt)",
"vfe-step8-ab": "\n\n8/15: Gefaellestrecke (%1 Grad, L=%2 mm)",
"vfe-step8-auf": "\n\n8/15: Steigungsstrecke (%1 Grad, L=%2 mm)",
"vfe-tabelle-zeile": "\n %1 %2 mm %3 mm ",
"vfe-tabelle-zeile-fehler": "\n %1 --- --- FEHLER",
"vfl-20m-hinweis": "\n >>> HINWEIS: Foerderer laenger als 20 m (%1 m) - Motorstation empfohlen!",
"vfl-block-erstellt": "\n>>> Block '%1' (%2) erstellt und eingefuegt.",
"vfl-fehler-rest-nicht-baubar-mit-vorschlag": "\n FEHLER: Bei Zielhoehe %1 mm (Strecke dL=%2 mm, Hoehendifferenz dH=%3 mm, %4) nicht baubar (zu steil/zu kurz fuer Schwanz Motor+GF2+Separator+ES). Baubare Zielhoehe waere ungefaehr:%5",
"vfl-fehler-rest-nicht-baubar-ohne-vorschlag": "\n FEHLER: Bei Zielhoehe %1 mm (Strecke dL=%2 mm, Hoehendifferenz dH=%3 mm, %4) nicht baubar - bei dieser Streckenlaenge wurde auch keine alternative Zielhoehe gefunden. Bitte laenger zeichnen oder flacher planen.",
"vfl-vorschlag-ab-auf": " Ab %1 mm oder Auf %2 mm",
"vfl-vorschlag-nur-ab": " Ab %1 mm (Auf ist bei dieser Streckenlaenge nicht baubar)",
"vfl-vorschlag-nur-auf": " Auf %1 mm (Ab ist bei dieser Streckenlaenge nicht baubar)",
"vfl-alert-kettenende-p1": "1. Ziel △L=%1 mm, △H=%2 mm (%3): Auf/Ab-Foerderer (Winkel-Tabelle) nicht baubar.",
"vfl-alert-kettenende-p2-beide": "\n\n2. Horizontal+GF nicht baubar - noetig waeren mindestens △L=%1 mm ODER mindestens △H=%2 mm.",
"vfl-alert-kettenende-p2-nur-minh": "\n\n2. Horizontal+GF nicht baubar - noetig waere mindestens △H=%1 mm Hoehenaenderung.",
"vfl-alert-kettenende-p2-nur-minl": "\n\n2. Horizontal+GF nicht baubar - noetig waere mindestens △L=%1 mm Streckenlaenge.",
"vfl-alert-vf-entscheidung-p1": "1. Ziel △L=%1 mm, △H=%2 mm (%3): Winkel-Tabelle nicht baubar.",
"vfl-alert-vf-entscheidung-p2-beide": "\n\n2. Mindestens noetig waeren: △L=%1 mm ODER △H=%2 mm.",
"vfl-alert-vf-entscheidung-p2-nur-minh": "\n\n2. Mindestens noetig waere: △H=%1 mm Hoehenaenderung.",
"vfl-alert-vf-entscheidung-p2-nur-minl": "\n\n2. Mindestens noetig waere: △L=%1 mm Streckenlaenge.",
"vfl-stufe1-start": "\n\n[Diagnose Stufe 1 - VF-Winkel-Suche]",
"vfl-stufe2-diagnose": "\n\n[Diagnose Stufe 2 - horizontal+GF] deltaL=%1 mm deltaH=%2 mm -> GF_total=%3 mm L_VF=%4 mm (%5)",
"vfl-stufe2-diagnose-details": "\n [Details] schon-flach=%1 | aus-dx=%2 mm (Einlauf, sollte 0 sein) | ein-dx=%3 mm ein-dz=%4 mm (ES-Element) | bogen-x1=%5 mm bogen-z1=%6 mm (Eintrittsbogen 3->0 Grad, nur falls nicht schon-flach) | bogen-x2=%7 mm bogen-z2=%8 mm (Austrittsbogen 0->3 Grad, immer) | FESTE_HORIZONTAL=%9 mm (Separator+Motorstation)",
"vfl-stufe2-fest-kettenende": "\n Motorstation+Separator+ES benoetigen: Laenge=%1 mm, Hoehenabsenkung=%2 mm (fest, unabhaengig vom Winkel)",
"vfl-stufe2-fest-eingang": "\n Umlenkstation+Separator+Motorstation+ES benoetigen: Laenge=%1 mm, Hoehenabsenkung=%2 mm (fest, unabhaengig vom Winkel)",
"vfl-stufe2-minl": "\n [Mindestlaenge] Ohne geraden VF-Anteil (GF nach Zielhoehe dimensioniert): mindestens %1 mm Streckenlaenge noetig (vorhanden: %2 mm)",
"vfl-stufe2-minl-unmoeglich": "\n [Mindestlaenge] Nicht per Streckenlaenge loesbar: schon ohne GF-Bogen aendert sich die Hoehe um %1 mm - die Zielhoehe verlangt aber nur %2 mm (zu wenig Hoehenunterschied fuer die feste Neigung)",
"vfl-stufe2-minh": "\n [Fixwert ohne GF-Bogen] Rest als gerader VF-Anteil (hoehenneutral): diese Aufteilung ergibt IMMER genau %1 mm Hoehenaenderung, unabhaengig von der Laenge - Zielhoehe verlangt aber %2 mm, passt also nur bei exakter Uebereinstimmung",
"vfl-stufe2-minh-unmoeglich": "\n [Fixwert ohne GF-Bogen] Nicht per Zielhoehe loesbar: schon ohne geraden VF-Anteil und ohne GF-Bogen betraegt der feste Fussabdruck %1 mm - die Strecke bietet aber nur %2 mm",
"vfl-stufe2-ungueltig": "\n Stufe 2 (horizontal+GF) war ungueltig - es wurde stattdessen Stufe 1 (VF-Winkel-Suche) versucht (siehe Tabelle oben).",
"vfl-stufe3-start": "\n\n[Diagnose Stufe 3 - Winkel + horizontales Fuellstueck] Stufe 1 und Stufe 2 gescheitert, versuche Kombination aus steilem S-Bogen und horizontalem Reststueck ...",
"vfl-frage-stufe3-position": "\n\nDie Strecke braucht einen S-Bogen KOMBINIERT mit einem geraden horizontalen Stueck. Wo soll das horizontale Stueck sitzen?",
"vfl-opt-stufe3-vor": "\n 1 - Horizontales Stueck VOR dem S-Bogen",
"vfl-opt-stufe3-nach": "\n 2 - Horizontales Stueck NACH dem S-Bogen",
"vfl-frage-gf2-minimum": "\n Berechnetes GF2=%1 mm liegt unter der ueblichen Mindestlaenge (%2 mm).\n Ja = mit den exakt berechneten %1 mm bauen (Zielpunkt wird exakt getroffen).\n Nein = auf %2 mm auffuellen (Zielpunkt verschiebt sich entsprechend weiter).",
"vfl-fehler-rest-nicht-baubar": "\n FEHLER: Rest nicht baubar (zu steil/zu kurz fuer Schwanz Motor+GF2+Separator+ES). Bitte weiter zeichnen oder flacher planen.",
"vfl-fuege-block-ein": "\n Fuege %1 ein ...",
"vfl-hinweis-gf2-minimum": "\n HINWEIS: berechnetes GF2=%1 mm < Minimum %2 mm -> auf Minimum angehoben (ES endet dadurch etwas weiter; siehe Ist-Ziel-Report).",
"vfl-horizontale-zwischenstrecke": "\n\nHorizontale Zwischenstrecke (0 Grad, L=%1 mm)",
"vfl-hinweis-horizontal-fussabdruck-geklemmt": "\n Hinweis: Reststrecke waere hier nur %1 mm gewesen (Minimum %2 mm) - auf das Minimum geklemmt; der Kettenpunkt landet dadurch entsprechend weiter als angeklickt.",
"vfl-kettenende-modus-ziel": "\n>>> Kettenende-Modus: Ziel dL=%1 mm, dH=%2 mm (%3). GF2 variiert mit dem Winkel.",
"vfl-prompt-hoehe-endpunkt": "\nHoehe (Z) des Endpunkts [%1]: ",
"vfl-prompt-hoehe-endpunkt-2": "\nHoehe (Z) des Endpunkts (Ab: %1 | Auf: %2) [%1]: ",
"vfl-prompt-hoehe-endpunkt-3": "\nHoehe (Z) des Endpunkts (Ab: %1 | Auf: %2 | gepickt: %3) [%3]: ",
"vfl-prompt-hoehe-kettenende": "\nHoehe (Z) des Kettenendes (ES-Element) [%1]: ",
"vfl-prompt-hoehe-kettenende-2": "\nHoehe (Z) des Kettenendes (ES-Element) (Ab: %1 | Auf: %2) [%1]: ",
"vfl-prompt-hoehe-kettenende-3": "\nHoehe (Z) des Kettenendes (ES-Element) (Ab: %1 | Auf: %2 | gepickt: %3) [%3]: ",
"vfl-prompt-wahl-bis-n": "\nIhre Wahl (1-%1) [1]: ",
"vfl-frage-auf-ab-richtung": "\n\nKette kommt flach an - keine Zielhoehe verfuegbar. Richtung waehlen:",
"vfl-opt-richtung-auf": "\n 1 - Auf",
"vfl-opt-richtung-ab": "\n 2 - Ab",
"vfl-winkel-hoehen-header": "\n\nVerfuegbare Winkel und die damit erreichte Endhoehe - bitte waehlen:",
"vfl-winkel-hoehen-option": "\n %1 - %2 Grad (Endhoehe: %3 mm)",
"vfl-winkel-hoehen-zeile": "\n %1 Grad - Endhoehe: %2 mm",
"vfl-winkel-hoehen-zeile-ungueltig": "\n %1 Grad - nicht baubar (Bogen passt nicht in die gewaehlte Strecke)",
"vfl-winkel-hoehen-zeile-tile": "Endhoehe: %1 mm",
"vfl-winkel-wahl-zeile-tile": "L_GF=%1 mm L_VF=%2 mm",
"vfl-winkel-zeile-tile-ungueltig": "nicht baubar (Bogen passt nicht in die gewaehlte Strecke)",
"vfl-prompt-richtung-waehlen": "\n\nFahrtrichtung waehlen (Punkt in gewuenschter Richtung klicken - der Abstand wird ignoriert): ",
"vfl-winkel-hoehen-abweichung": "\n [Hinweis] Ist-Ziel-Vergleich: vorhergesagte Endhoehe %1 mm, tatsaechlich erreicht %2 mm.",
"vfl-antwort-ja": "Ja",
"vfl-antwort-nein": "Nein",
"vfl-wizard-antwort-echo": "\n -> Auswahl im Dialog: %1",
"vfl-segment-gf-nicht-erlaubt": "\n Segment waere GF (zu steil) oder nicht baubar - innerhalb einer VF-Einheit nicht erlaubt.\n Bitte flacher/steigend zeichnen oder Foerderer beenden.",
"vfl-winkel-option": "\n %1 - %2 Grad (L_GF=%3 mm L_VF=%4 mm)",
"vfs-as90-mass": "\n AS_90: dx=%1 dz=%2",
"vfs-berechnung-parameter": "\n△L=%1 mm △H=%2 mm Richtung=%3",
"vfs-block-fehlende-item": "\n - %1",
"vfs-block-fehler-pfad": "\n FEHLER: DXFM_BLOCKS = %1",
"vfs-bogen-ab-block-fehlt": "\n FEHLER ab_%1: Block nicht geladen!",
"vfs-bogen-ab-ks-fehlt": "\n FEHLER ab_%1: KS fehlt!",
"vfs-bogen-ab-ok": "\n OK ab_%1: dx=%2 dz=%3",
"vfs-bogen-auf-block-fehlt": "\n FEHLER auf_%1: Block nicht geladen!",
"vfs-bogen-auf-ks-fehlt": "\n FEHLER auf_%1: KS fehlt!",
"vfs-bogen-auf-ok": "\n OK auf_%1: dx=%2 dz=%3",
"vfs-empfohlener-winkel": "\n>>> Empfohlener Winkel: %1%2",
"vfs-es90-mass": "\n ES_90: dx=%1 dz=%2",
"vfs-fehler-winkel-tabelle": "\n FEHLER: Winkel %1 nicht in Bogen-Tabelle!",
"vfs-schritt-as": "\n\n1/11: %1 (hz=%2%3)",
"vfs-schritt5-bogen1": "\n\n5/11: %1 (3 Grad geneigt)",
"vfs-tabelle-zeile": "\n %1%2 %3 mm %4 mm ",
"vfs-tabelle-zeile-fehler": "\n %1%2 --- --- FEHLER",
"vfs-vf-eingang-gf1": "\n\n[VF-Eingang] Gefaellestrecke GF1 (3 Grad, L=%1 mm)",
"kreisel-abbruch-befehl": "\nBefehl abgebrochen.",
"kreisel-abgebrochen": "\nAbgebrochen.",
"kreisel-connect-erfolgreich": "\nKreisel Connect erfolgreich!",
"kreisel-connect-header": "\n--- Kreisel durch Linie definieren (AN -> SP) ---",
"kreisel-eckrad-beruehrpunkt": "\nBeruehrpunkt Eckrad (Tangente): ",
"kreisel-eckrad-fehler-identisch": "\nFehler: Beruehr- und Richtungspunkt sind identisch!",
"kreisel-eckrad-richtung": "\nRichtung zum Kreismittelpunkt: ",
"kreisel-emsg-kein-block": "Kein Block ausgewaehlt!",
"kreisel-emsg-kein-kreisel-block": "Kein Kreisel-Block! (Attribut ABSTAND fehlt)",
"kreisel-fehler-keine-entities": "\nFehler: Keine Entities zum Block erstellen!",
"kreisel-insert-fertig": "\nKreisel Modul eingefuegt.",
"kreisel-params-attribute-header": "\nAttribute im Block:",
"kreisel-params-header": "\n=== Kreisel Parameter ===",
"kreisel-prompt-basispunkt": "\nBasispunkt (AN-Seite): ",
"kreisel-prompt-block-auswaehlen": "\nKreisel-Block auswaehlen: ",
"kreisel-prompt-endpunkt": "\nEndpunkt (SP-Seite aussen): ",
"kreisel-prompt-rotation": "\nRotation in Grad <0>: ",
"kreisel-prompt-startpunkt": "\nStartpunkt (AN-Seite aussen): ",
"kreisel-quick-fertig": "\nSchnell Einfuegen fertig.",
"kreisel-start-connect": "Kreisel Smart Connect",
"kreisel-start-eckrad": "Eckrad einfuegen",
"kreisel-start-eckrad-edit": "Eckrad bearbeiten",
"kreisel-prompt-eckrad-auswaehlen": "\nEckrad-Block auswaehlen: ",
"kreisel-emsg-kein-eckrad-block": "Kein Eckrad-Block! (Blockname ECKRAD_* erwartet)",
"kreisel-eckrad-ungueltige-zahl": "Hoehe und Drehung muessen Zahlen sein.",
"kreisel-eckrad-edit-aktualisiert": "\nEckrad aktualisiert: Name=%1 Hoehe=%2 Rotation=%3",
"kreisel-start-edit": "Kreisel bearbeiten",
"kreisel-start-insert": "Kreisel Modul einfuegen",
"kreisel-start-quick": "Kreisel Schnell Einfuegen",
"kreisel-start-redraw": "Kreisel Neu Zeichnen",
"kreisel-start-script-connect": "Kreisel Script Connect",
"kreisel-start-script-insert": "Kreisel Script Insert",
"kreisel-typ-opt-pin": "\n[2] PIN",
"kreisel-typ-opt-standard": "\n[1] STANDARD (ohne PIN)",
"kreisel-warn-blockpfad": "\n[KreiselInsert] WARNUNG: Block-Pfad nicht ermittelbar!",
"kreisel-warn-core-fehlt": "\n[KreiselInsert] WARNUNG: ssg_core.lsp nicht gefunden - Standardwerte.",
"omni-abbruch": "\nAbgebrochen.",
"omni-abbruch-bogen": "\n[BOGEN] Abgebrochen.",
"omni-abbruch-ladeschleife": "\n[LADESCHLEIFE] Abgebrochen.",
"omni-ladeschleife-dialog-ladefehler": "Ladeschleifen-Dialog konnte nicht geladen werden.",
"omni-ladeschleife-keine-gefunden": "Keine Ladeschleifen%1 gefunden.",
"omni-abbruch-omni": "\n[OMNI] Abgebrochen.",
"omni-abbruch-weiche": "\n[WEICHE] Abgebrochen.",
"omni-bogen-dialog-ladefehler": "Bogen-Dialog konnte nicht geladen werden.",
"omni-edit-kein-block": "Kein Block ausgewaehlt!",
"omni-edit-kein-element": "Kein Omniflo-Element erkannt! (ARTINR/Blockname nicht im Katalog)",
"omni-edit-prompt-auswahl": "\nOmniflo-Element auswaehlen: ",
"omni-fehler-dxfm-data": "\n[OMNI] FEHLER: DXFM_DATA nicht gesetzt!",
"omni-fehler-dxfm-omniflo": "\n[OMNI] FEHLER: DXFM_OMNIFLO nicht gesetzt!",
"omni-info-bogen-prompt": "\nSivasId des Bogens eingeben: ",
"omni-info-weiche-prompt": "\nSivasId der Weiche eingeben: ",
"omni-insert-keine-attribute": "\n[OMNI] Keine Attribute im Quell-Block gefunden.",
"omni-prompt-drehwinkel": "\nDrehwinkel angeben: ",
"omni-prompt-einfuegepunkt": "\nEinfuegepunkt waehlen: ",
"omni-prompt-endpunkt-fahrstrecke": "\nEndpunkt der Fahrstrecke waehlen: ",
"omni-weiche-dialog-ladefehler": "Weichen-Dialog konnte nicht geladen werden.",
"prompt-wahl-1-2-3-4": "\nIhre Wahl (1/2/3/4) [1]: ",
"vfc-alert-keine-gueltige-linie": "Keine gueltige Linie ausgewaehlt!",
"vfc-bitte-3dlinie-foerderstrecke": "\nBitte 3D-Linie fuer die Foerderstrecke auswaehlen:",
"vfc-bks-weltkoordinaten": "\n BKS auf Weltkoordinaten gesetzt.",
"vfc-dlg-startpunkt-kopf": "Startpunkt der Anlage waehlen (X/Y):",
"vfc-eingabemodus-3dlinie": "\n 1 - 3D-Linie auswaehlen (Start- und Endpunkt mit Hoehe)",
"vfc-eingabemodus-header": "\n\nEingabemodus waehlen:",
"vfc-eingabemodus-werte": "\n 2 - Werte manuell eingeben",
"vfc-fehler-keine-linie": "\n FEHLER: Keine Linie oder Polylinie ausgewaehlt!",
"vfc-foerderrichtung-ab": "\n Foerderrichtung: AB",
"vfc-foerderrichtung-auf": "Auf",
"vfc-kein-objekt-gewaehlt": "\n Kein Objekt gewaehlt.",
"vfc-label-von-bis": ": von %1mm bis %2mm, ",
"vfc-linie-polylinie-waehlen": "\n >> 3D-Linie oder Polylinie waehlen: ",
"vfc-modus-3dlinie-header": "\n\n>>> MODUS: 3D-Linie auswaehlen <<<",
"vfc-objekt-block-waehlen": "\n >> Objekt (Block) waehlen: ",
"vfc-prompt-startpunkt-aus": "\nStartpunkt fuer AUS_Element waehlen: ",
"vfc-prompt-wahl-1-2-ohne-default": "\nIhre Wahl (1/2): ",
"vfc-status-ok": " OK",
"vfc-warnung-ks-nicht-gefunden": "\n WARNUNG: KS_EIN/KS_AUS nicht gefunden!",
"vfc-block-erstellt-eingefuegt": "\n>>> Block '%1' erstellt und eingefuegt.",
"vfc-fehler-keine-entities": "\n>>> FEHLER: Keine Entities fuer Block gefunden!",
"vfc-banner-titel": "\n VARIOFOERDERER GENERATOR v26.0",
"vfc-alert-keine-typen": "Keine Typen registriert!\nvf_standard.lsp und vf_etage.lsp pruefen.",
"vfc-typ-vorgewaehlt": "\n>>> Typ vorgewaehlt: %1",
"vfc-anlagen-typ-header": "\n\nAnlagen-Typ waehlen:",
"vfc-typ-option": "\n %1 - %2",
"vfc-prompt-wahl-1-n": "\nIhre Wahl (1-%1) [1]: ",
"vfc-typ-gewaehlt": "\n>>> Typ: %1",
"vfc-naechste-vf-nummer": "\n>>> Naechste VF-Nummer: VF%1",
"vfc-alert-kein-winkel": "Kein passender Winkel gefunden!\n%1L=%2 mm, %1H=%3 mm, Richtung=%4",
"vfc-vorgang-abgebrochen": "\nVorgang abgebrochen.",
"vfs-dlg-richtung-auf": "Auf",
"vfs-dlg-richtung-ab": "Ab",
"vfs-dlg-winkel-horizontal": "Horizontal (GF=%1 mm, VF=%2 mm)",
"vfs-dlg-winkel-option": "%1%2 (GF=%3 mm, VF=%4 mm)",
"vfs-dlg-verteilung-1": "Gleichmaessig (L_GF1 = L_GF2 = L_GF/2)",
"vfs-dlg-verteilung-2": "Vorne Minimum, hinten Rest",
"vfs-dlg-verteilung-3": "Hinten Minimum, vorne Rest",
"vfs-dlg-verteilung-4": "Eigene Werte eingeben",
"vfs-edit-kein-vf": "Block %1 ist keine VarioFoerderer-Strecke.",
"vfs-edit-keine-xdata": "VarioFoerderer %1 wurde nicht mit diesem Dialog erstellt (Etage/Linienzug/Altbestand) und kann hier nicht bearbeitet werden.",
"vfs-edit-neu-aufgebaut": "\nVarioFoerderer %1 neu aufgebaut.",
"vfe-alert-bib-nicht-init": "Etage-Bibliothek nicht initialisiert!",
"vfe-berechnung-header": "\n ETAGE-BERECHNUNG FUER ALLE WINKEL",
"vfe-bib-bereits-init": "\n Etage-Bibliothek bereits initialisiert.",
"vfe-bib-init-erfolg": "\n Etage-Bibliothek erfolgreich initialisiert.",
"vfe-bib-initialisiere": "\n Initialisiere Etage-Bibliothek...",
"vfe-ergebnistabelle-header": "\n ERGEBNISTABELLE (L_GF = gesamt beider GF-Strecken)",
"vfe-extrahiere-as30": "\n Extrahiere AS_30_rechts Masse...",
"vfe-extrahiere-es30": "\n Extrahiere ES_30_rechts Masse...",
"vfe-kein-winkel-gefunden": "\n>>> KEIN passender Winkel gefunden!",
"vfe-status-gueltig": "GUELTIG",
"vfe-status-ungueltig": "UNGUELTIG (negative Laenge)",
"vfe-step5-skip": "\n\n5/15: L_GF1 (uebersprungen)",
"vfe-step6": "\n\n6/15: Umlenkstation (500mm, 3 Grad geneigt)",
"vfe-step8-skip": "\n\n8/15: L_VF (uebersprungen)",
"vfe-tabelle-spalten": "\n Winkel L_GF (mm) L_VF (mm) Status",
"vfe-warn-block-as30-fehlt": "\n WARNUNG: Block AS_Element_30_rechts fehlt - Standardwerte",
"vfe-warn-block-es30-fehlt": "\n WARNUNG: Block ES_Element_30_rechts fehlt - Standardwerte",
"vfe-warn-block-fehlt-links": "\n WARNUNG: Block fehlt - Standardwerte (links)",
"vfe-warn-block-fehlt-rechts": "\n WARNUNG: Block fehlt - Standardwerte (rechts)",
"vfe-warn-kein-ks-links": "\n WARNUNG: kein KS - Standardwerte (links)",
"vfe-warn-kein-ks-rechts": "\n WARNUNG: kein KS - Standardwerte (rechts)",
"vfe-warn-ks-fehlt-standard": "\n WARNUNG: KS fehlt - Standardwerte",
"vfe-warn-lisp-pfad": "\n[vf_etage] WARNUNG: Lisp-Pfad nicht ermittelbar - vf_core.lsp nicht ladbar!",
"vfl-abgebrochen-kein-ziel": "\n Abgebrochen - kein Zielpunkt gewaehlt.",
"vfl-bogen-ab3-uebergang": "\n\nVario_Bogen_ab_3 (Uebergang horizontal -> 3 Grad)",
"vfl-bogen-auf3-uebergang": "\n\nVario_Bogen_auf_3 (Uebergang 3 Grad -> horizontal)",
"vfl-gf-bogen-ab3-uebergang": "\n\nGF-Bogen Vario_Bogen_ab_3 (Uebergang horizontal -> 3 Grad, GF-eigen)",
"vfl-gf-bogen-auf3-uebergang": "\n\nGF-Bogen Vario_Bogen_auf_3 (Uebergang 3 Grad -> horizontal, GF-eigen)",
"vfl-gf-bogen-auf6-uebergang": "\n\nGF-Bogen Vario_Bogen_auf_6 (Uebergang fallend -> steigend, 6 Grad, GF-eigen)",
"vfl-gf-bogen-ab6-uebergang": "\n\nGF-Bogen Vario_Bogen_ab_6 (Uebergang steigend -> fallend, 6 Grad, GF-eigen)",
"vfl-gf-bogen-block-fehlt": "\n[GF-Bogen] Block '%1' nicht gefunden - siehe data/ils.",
"vfl-gf-bogen-ks-fehlt": "\n[GF-Bogen] KS_EIN/KS_AUS in '%1' fehlt oder unlesbar.",
"vfl-gf-verteilung-ganz-einlauf": "\n 2 - Gesamte Staustrecke am Einlauf (GF1), kein GF2",
"vfl-gf-verteilung-haelfte": "\n 1 - 1/2GF am Ausgang (GF2), 1/2GF am Einlauf (GF1)",
"vfl-gf-verteilung-header": "\n\nStaustrecke (GF) - Verteilung waehlen:",
"vfl-ist-endpunkt-frage": "\n\nIst der Endpunkt der Foerderer?",
"vfl-ist-kettenende-frage": "\n\nIst das das Kettenende (ES-Element)?",
"vfl-ja-motorstation-kettenende": "\n 3 - Ja (Motorstation setzen, Kettenende definieren)",
"vfl-ja-nur-motorstation": "\n 1 - Ja (nur Motorstation setzen)",
"vfl-ja-separator-es": "\n 1 - Ja (Separator + ES-Element setzen)",
"vfl-linie-zu-kurz-simple": "\n Linie zu kurz - uebersprungen.",
"vfl-linie-zu-kurz-uebersprungen": "\n Linie zu kurz (oder entgegen der Fahrtrichtung) - uebersprungen.",
"vfl-mehrere-winkel-header": "\n\nMehrere gueltige Winkel - bitte gewuenschten Winkel waehlen:",
"vfl-modus1-beschreibung": "\nGemischte Gefaellestrecke/VarioFoerderer-Kette entlang eines frei",
"vfl-modus1-header": "\n VF-LINIENZUG - Modus 1: Manuelle Eingabe",
"vfl-naechstes-element-vf": "\n\nNaechstes Element im VarioFoerderer:",
"vfl-nein-weiterbauen": "\n 2 - Nein (weiterbauen)",
"vfl-opt-auf-ab-foerderer": "\n 3 - Auf/Ab-Foerderer (Linie mit Hoehendifferenz)",
"vfl-opt-horizontaler-foerderer": "\n 1 - Horizontaler Foerderer (Linie ohne Hoehendifferenz)",
"vfl-opt-vario-kurve": "\n 2 - Vario-Kurve (30/60/90 Grad)",
"vfl-prompt-wahl-1-2-def2": "\nIhre Wahl (1/2) [2]: ",
"vfl-prompt-wahl-1-3-def2": "\nIhre Wahl (1/2/3) [2]: ",
"vfl-prompt-wahl-1-3-def3": "\nIhre Wahl (1/2/3) [3]: ",
"vfl-sep-horizontal-info": "\n [horizontal] Separator (300 mm, 0 Grad)",
"vfs-berechnung-header": "\n BERECHNUNG FUER ALLE WINKEL (Standard)",
"vfs-block-fehlende-header": "\n Folgende Block-Dateien fehlen:",
"vfs-ergebnistabelle-header": "\n ERGEBNISTABELLE",
"vfs-extrahiere-aus": "\n Extrahiere AUS_Element Masse...",
"vfs-extrahiere-bogen": "\n Extrahiere Bogen-Masse...",
"vfs-extrahiere-ein": "\n Extrahiere EIN_Element Masse...",
"vfs-fehler-block-as90": "\n FEHLER: Block AS_Element_90_links nicht geladen!",
"vfs-fehler-block-es90": "\n FEHLER: Block ES_Element_90_links nicht geladen!",
"vfs-fehler-ks-as90": "\n FEHLER: KS_EIN/KS_AUS fehlt im AS_90!",
"vfs-fehler-ks-es90": "\n FEHLER: KS_EIN/KS_AUS fehlt im ES_90!",
"vfs-fehler-lib-nicht-init": "\n FEHLER: Bibliothek nicht korrekt initialisiert (AUS/EIN-Masse fehlen)!",
"vfs-kein-winkel-gefunden": "\n>>> KEIN passender Winkel gefunden!",
"vfs-lib-bereits-init": "\n Standard-Bibliothek bereits initialisiert.",
"vfs-lib-init-erfolg": "\n Standard-Bibliothek erfolgreich initialisiert.",
"vfs-lib-init-start": "\n Initialisiere Standard-Bibliothek...",
"vfs-status-gueltig": "GUELTIG",
"vfs-status-ungueltig": "UNGUELTIG (negative Laenge)",
"vfs-tabelle-spalten": "\n Winkel L_GF (mm) L_VF (mm) Status",
"vfs-vf-eingang-gf1-skip": "\n\n[VF-Eingang] Gefaellestrecke GF1 (uebersprungen)",
"vfs-vf-eingang-separator": "\n[VF-Eingang] Separator (300 mm, 3 Grad geneigt)",
"vfs-vf-eingang-umlenk": "\n[VF-Eingang] Umlenkstation (500 mm, 3 Grad geneigt)",
"vfs-warn-lisppfad": "\n[vf_standard] WARNUNG: Lisp-Pfad nicht ermittelbar - vf_core.lsp nicht ladbar!",
"dim-switch-modus": "\nModus umgeschaltet auf: %1",
"dim-switch-blocks": "\n DXFM_BLOCKS = %1",
"dim-switch-omniflo": "\n DXFM_OMNIFLO = %1",
"dim-batch-fertig": "\nUmwandlung auf %1 abgeschlossen: %2 GF, %3 VF neu aufgebaut (%4 bereits in Zieldimension).",
"sprache-gewechselt": "\nSprache umgeschaltet auf: %1",
"cmd-block-auswaehlen": "\nBlock auswaehlen: ",
"cmd-kein-block-ausgewaehlt": "\nKein Block ausgewaehlt.",
"cmd-kreisel-bearbeiten": "\nKreisel bearbeiten: %1",
"cmd-eckrad-bearbeiten": "\nEckrad bearbeiten: %1",
"cmd-gefaelle-bearbeiten": "\nGefaellestrecke bearbeiten: %1",
"cmd-variofoerderer-bearbeiten": "\nVarioFoerderer bearbeiten: %1",
"gf-edit-kein-gf": "Block %1 ist keine Gefaellestrecke.",
"gf-edit-nur-einfach": "Nur einfache Gefaellestrecken (ohne Bogen) koennen ueber den Dialog bearbeitet werden.\nTYP: %1",
"gf-edit-neu-aufgebaut": "\nGefaellestrecke %1 neu aufgebaut.",
"gf-vf-modul-fehlt": "VarioFoerderer-Modul nicht geladen!",
"gf-vf-gebaut": "\n-> Paralleler VarioFoerderer gebaut (2000 mm neben der Gefaellestrecke, gegenlaeufig, steigend).",
"cmd-omniflo-bearbeiten": "\nOmniflo Element bearbeiten: %1",
"cmd-attribute-bearbeiten": "\nAttribute bearbeiten: %1",
"ils-station-prompt-punkt": "\nEinfuegepunkt fuer %1 [ENTER=Ende]: ",
"ils-station-fehler-blockdatei": "\n>>> FEHLER: Blockdatei '%1.dwg' nicht gefunden (data/ils pruefen).",
"ils-station-fertig": "\n>>> %1 x %2 eingefuegt.",
"layer-prompt-ziel-layer": "\nObjekt auf dem Ziel-Layer waehlen: ",
"layer-prompt-objekt": "\nObjekt waehlen: ",
"layer-prompt-referenz-objekt": "\nReferenz-Objekt waehlen (bestimmt Typ und Layer): ",
"layer-prompt-typ-ermittlung": "\nNochmals fuer Typ-Ermittlung anklicken: ",
"layer-prompt-ausblenden": "\nLayer zum Ausblenden anklicken (Enter=Ende): ",
"layer-prompt-einfrieren": "\nLayer zum Einfrieren anklicken (Enter=Ende): ",
"layer-prompt-aktiv-bleibt": "\nObjekt auf dem Layer waehlen, der AKTIV bleibt: ",
"layer-prompt-name-loeschen": "\nLayername zum Loeschen: ",
"layer-err-kein-objekt": "Kein Objekt gewaehlt.",
"layer-err-kein-ziel-layer": "Kein Ziel-Layer gewaehlt.",
"layer-err-kein-ziel-layer-kurz": "Kein Ziel-Layer.",
"layer-err-keine-passenden-objekte": "Keine passenden Objekte gefunden.",
"layer-abgebrochen": "Abgebrochen.",
"layer-err-kein-referenz-objekt": "Kein Referenz-Objekt gewaehlt.",
"layer-err-aktiv-nicht-ausschalten": "Aktiven Layer nicht ausschalten!",
"layer-err-aktiv-nicht-einfrieren": "Aktiven Layer nicht einfrieren!",
"layer-aktiver-layer": "\nAktiver Layer: %1",
"layer-objekt-auf-layer": "\nObjekt liegt auf Layer: %1",
"layer-nur-layer-sichtbar": "\nNur Layer '%1' ist sichtbar.",
"layer-geloescht": "\nLayer '%1' geloescht.",
"layer-leerer-geloescht": "\nLeerer Layer '%1' geloescht.",
"layer-existiert-nicht": "Layer '%1' existiert nicht.",
"layer-ques-typ-wechseln": "Layer dieser %1-Objekte wechseln?",
"layer-ques-alle-loeschen": "Alle Objekte auf Layer '%1' loeschen?",
"core-start-titel": "\n***** %1 *****\n",
"core-errhan-fehler": "\nFehler: ",
"core-blockname-exists": "Blockname '%1' existiert bereits - wird uebersprungen.",
"core-dwg-not-found": "\nFEHLER: Block nicht gefunden: %1",
"exp-cfg-not-found": "\n[export] WARNUNG: %1 nicht gefunden/leer, verwende Vorgaben.",
"plq-keine-konfiguration": "\n[DRAW_PLANQUADRATE] WARNUNG: Keine [Planquadrate]-Konfiguration in cfg/export.cfg gefunden - Abbruch.",
"plq-ungueltige-schrittweite": "\n[DRAW_PLANQUADRATE] WARNUNG: x_step/y_step muessen groesser 0 sein - Abbruch.",
"plq-fertig": "\n[DRAW_PLANQUADRATE] Raster gezeichnet: %1 Spalten x %2 Zeilen auf Layer '%3'.",
"plq-geloescht": "\n[DELETE_PLANQUADRATE] Planquadrat-Raster entfernt (%1 Einfuegung(en)).",
"plq-nichts-zu-loeschen": "\n[DELETE_PLANQUADRATE] Kein Planquadrat-Raster in der Zeichnung vorhanden.",
"exp-check-ids": "\n[%1] Pruefe und vergebe IDs...",
"exp-hoehen-aktualisiert": "\nHoehen-Attribute von %1 verschobenen Bloecken aus der Z-Koordinate neu gesetzt.",
"exp-sep-proxy-fehler": "\n[EXPORT] WARNUNG: Kopie von '%1' aus Block '%2' fehlgeschlagen (%3) - dieses Element fehlt im Export.",
"exp-sep-zuordnung": "\n[%1] verpackte Separator-Kopie(n): ZUORDNUNG aus der ID des Wrapper-Blocks gesetzt.",
"exp-sep-zuordnung-ohne-id": "\n[%1] verpackte Separator-Kopie(n) ohne Wrapper-ID - ZUORDNUNG wird geometrisch bestimmt.",
"exp-sepliste-ids": "\n[EXPORT] %1 sepliste-Eintrag/Eintraege mit der ID des zugehoerigen Bauteils versehen.",
"exp-sepliste-ohne-proxy": "\n[EXPORT] WARNUNG: Block '%1': %2 sepliste-Eintrag/Eintraege ohne passende Kopie - diese Eintraege bleiben im Export ohne ID.",
"exp-asmark-blockdef": "\n[EXPORT] Blockdefinition '%1' fuer die AS/ES-Marker angelegt.",
"exp-asmark-blockdef-fehler": "\n[EXPORT] WARNUNG: Blockdefinition '%1' konnte nicht angelegt werden - es werden keine AS/ES-Marker gesetzt.",
"exp-asmark-bilanz": "\n[EXPORT] AS/ES-Marker: %1 neu, %2 mit bisheriger ID uebernommen, %3 verwaiste entfernt.",
"exp-unitmark-blockdef": "\n[EXPORT] Blockdefinition '%1' fuer die Einheiten-Proxies angelegt.",
"exp-unitmark-blockdef-fehler": "\n[EXPORT] WARNUNG: Blockdefinition '%1' konnte nicht angelegt werden - es werden keine Foerder-/Gefaelleeinheiten exportiert.",
"exp-unitmark-bilanz": "\n[EXPORT] Foerder-/Gefaelleeinheiten: %1 Proxy(s) erzeugt, %2 alte entfernt.",
"exp-kette-luecke": "\n[EXPORT] WARNUNG: Kette '%1' reisst ab (kein K1 auf dem letzten K2) - %2 Baustein(e) als eigene Teilkette weitergefuehrt, Einheitengrenzen dort pruefen.",
"exp-hilfskopien-behalten": "\n[EXPORT] csv_leave_proxies=1: %1 %2 bleiben in der Zeichnung (Abschalten: (dbg-schalter-off \"csv_leave_proxies\"))",
"exp-gefroren-ausgelassen": "\n[EXPORT] %1 Bloecke auf gefrorenen Layern nicht exportiert (abschaltbar in CSV_EXPORT_KONFIG).",
"exp-art-separator": "Separator-Kopie(n)",
"exp-art-element": "Element-Kopie(n)",
"exp-art-einheit": "Einheiten-Proxy(s)",
"exp-art-ases": "AS-/ES-Marker",
"exp-update-hoehe-drehung": "\n[%1] Aktualisiere Hoehe/Drehung...",
"exp-collect-blocks": "\n[%1] Sammle relevante Bloecke...",
"exp-no-blocks-found": "\n[%1] Keine relevanten Bloecke gefunden.",
"exp-blocks-found": "\n[%1] %2 Bloecke gefunden.",
"exp-output-dir": "\n[%1] Ausgabeordner: %2",
"exp-file-open-error": "\n[%1] FEHLER: Kann Datei nicht oeffnen: %2",
"exp-json-written": "\n[%1] JSON geschrieben: %2",
"exp-bbox-fail": "\n[Export] WARNUNG: %1 Block/Bloecke ohne Bounding-Box (vla-getboundingbox scheiterte). Erster Fehler: %2",
"exp-calling-python": "\n[%1] Rufe Python auf...",
"exp-export-started": "\n[%1] Export gestartet: %2",
"exp-dxfm-lib-missing": "\n[%1] FEHLER: Umgebungsvariable DXFM_LIB ist nicht gesetzt - BricsCAD wurde vermutlich nicht ueber bin/start_briscad.bat gestartet. CSV/JSON wurden geschrieben, der Python-Aufruf entfaellt.",
"exp-python-not-found": "\n[%1] FEHLER: Python-Skript nicht gefunden: %2",
"exp-python-exe": "\n[%1] Interpreter: %2",
"exp-export-done": "\n[%1] Export fertig: %2",
"exp-python-call-failed": "\n[%1] FEHLER: Python konnte nicht gestartet werden (WScript.Shell nicht verfuegbar).",
"exp-python-error": "\n[%1] FEHLER: Python endete mit Exitcode %2. Log: %3",
"exp-python-store-hint": "\n HINWEIS: Es wurde kein echter Python-Interpreter gefunden ('python' zeigt\n unter Windows 11 auf den WindowsApps-Platzhalter). Loesung: bin/install_py.bat\n ausfuehren (legt .venv an) und BricsCAD ueber bin/start_briscad.bat neu\n starten, oder in cfg/export.cfg unter [python] interpreter= den vollen Pfad\n zur python.exe setzen.",
"exp-csv-missing": "\n[%1] FEHLER: Python meldete Erfolg, aber die CSV fehlt: %2. Log: %3",
"exp-omni-no-inserts": "\n[OMNI_UPDATE] Keine INSERT-Bloecke in der Zeichnung.",
"exp-omni-updated": "\n[OMNI_UPDATE] %1 Elemente aktualisiert (HOEHE, DREHUNG).",
"sens-skip": "\n[%1] Separator-/Scanner-Zuordnung aktuell (ZUORDNUNG gesetzt, Summen stimmen) - Neuberechnung uebersprungen.",
"sens-start": "\n[%1] Pruefe Separator-/Scanner-Zuordnung (ANZAHL_SEPARATOR/ANZAHL_SCANNER)...",
"sens-no-inserts": "\n[%1] Keine Bloecke in der Zeichnung gefunden - Sensor-Zuordnung uebersprungen.",
"sens-bbox-fehler": "\n ! Bounding-Box fehlgeschlagen fuer ILS-Block '%1'",
"sens-carrier-zeile": "\n %1 [%2]: ANZAHL_SCANNER=%3, ANZAHL_SEPARATOR=%4 (nur platzierte Symbole)",
"sens-carrier-fehler": "\n FEHLER beim Schreiben der Anzahl-Attribute an %1",
"sens-summary": "\n[%1] %2 Kreisel/Streckengruppen/Gefaellestrecken aktualisiert, %3 Scanner gesamt (%4 nicht zuordenbar), %5 Separator gesamt (%6 nicht zuordenbar).",
"sens-ergaenzt-header": "\n[%1] %2 Scanner ausserhalb jeder Kreisel-/Strecken-Boundingbox per Abstand automatisch zugeordnet:",
"sens-ergaenzt-zeile": "\n Scanner %1 -> %2 (%3mm)",
"sens-strittig-suffix": " STRITTIG: auch nah an %1 (%2mm)",
"sens-strittig-summary": "\n[%1] WARNUNG: %2 der obigen Zuordnungen sind strittig (Abstand zu zwei Kandidaten fast gleich) - siehe Spalte 'Warnungen' im CSV-Export.",
"sens-korrektur-header": "\n[%1] %2 gespeicherte ZUORDNUNG(en) passten nicht zur Geometrie und wurden korrigiert:",
"sens-korrektur-zeile": "\n %1 %2: ZUORDNUNG %3 -> %4 (Geometrie-Korrektur)",
"sens-unassigned-marked": "\n[%1] %2 Sensor(en) ohne jeglichen Kreisel/Strecke markiert (Layer '%3').",
"sens-zuordnung-fehlt": "\n[%1] WARNUNG: %2 zugeordnete(r) Sensor(en) ohne Attribut 'ZUORDNUNG' - Wert nicht schreibbar.",
"id-new-assigned": "\n[ID] Neue ID zugewiesen: %1",
"id-invalid-block": "\n[ID] FEHLER: Kein gueltiger INSERT-Block!",
"id-check-no-blocks": "\n[IDSCHECK] Keine relevanten Bloecke gefunden.",
"id-check-missing-set": "\n[IDSCHECK] Fehlende ID gesetzt: %1 (Block %2)",
"id-check-duplicate": "\n[IDSCHECK] Duplikat ID %1 -> neue ID %2 (Block %3)",
"id-check-done": "\n[IDSCHECK] Fertig. %1 Duplikate korrigiert.",
"id-check-corrected": "\n[IDSCHECK] %1 IDs korrigiert.",
"id-select-block-prompt": "\nBlock waehlen: ",
"id-generate-invalid": "\n[IDGENERATE] Kein gueltiger Block gewaehlt.",
"dialog-nicht-verfuegbar": "Dialog nicht verfuegbar.",
"dialog-einfuegepunkt-waehlen": "\nEinfuegepunkt waehlen: ",
"extcall-python-rueckgabe": "\n[SSG_LIB] Python Rueckgabe: %1",
"extcall-keine-rueckgabe": "\n[SSG_LIB] WARNUNG: Keine Rueckgabe von Python erhalten.",
"extcall-skript-nicht-gefunden": "\n[SSG_LIB] FEHLER: %1 nicht gefunden!",
"vfstart-core-nicht-gefunden": "\n[VarioFoerderer] WARNUNG: vf_core.lsp nicht gefunden - Befehle nicht verfuegbar.",
"vfstart-etage-core-nicht-gefunden": "\n[EtageVarioFoerderer] WARNUNG: vf_core.lsp nicht gefunden - Befehle nicht verfuegbar.",
"gf-seite-aus-header": "\n\nAUS-Element (AS_Element_*) - Seite waehlen:",
"gf-seite-ein-header": "\n\nEIN-Element (ES_Element_*) - Seite waehlen:",
"gf-seite-links": "\n 1 - Links",
"gf-seite-rechts": "\n 2 - Rechts",
"prompt-wahl-1-2": "\nIhre Wahl (1/2) [1]: ",
"prompt-wahl-1-2-3": "\nIhre Wahl (1/2/3) [1]: ",
"geruest-typ-header": "\n\nGeruestoption waehlen:",
"geruest-typ-opt": "\n %1 - %2",
"geruest-typ-prompt": "\nGeruestoption (1-4) [%1]: ",
"kreisel-eckrad-geruest-frage": "Geruest fuer Einzelmodul?",
"gf-lade-block": "\n Lade Block: %1 ...",
"gf-status-ok": " OK",
"gf-warnung-kette-unterbrochen": "\n WARNUNG: Kette unterbrochen!",
"gf-status-nennlaenge": "\n Gesamte Nennlaenge (inkl. Bogen-dx): %1 mm",
"gf-status-feste-hoehenanteile": "\n Feste Hoehenanteile (AS/ES-dz + Bogen-dz): %1 mm",
"gf-status-dz-detail": "\n aus-dz=%1 ein-dz=%2 Bogen-dz=%3",
"gf-status-resthoehe": "\n Effektive Resthoehe fuer Grade: %1 mm",
"gf-warnung-keine-geraden": "\n WARNUNG: keine geraden Strecken -> Fallback 3 Grad",
"gf-warnung-feste-anteile": "\n WARNUNG: feste Anteile > deltaH -> Fallback 1 Grad",
"gf-status-naeherungswinkel": "\n>>> Naeherungswinkel: %1%2",
"gf-status-linie-staustrecke": "\n\n%1/%2: Staustrecke L=%3 mm hz=%4%5 v=%6%7",
"gf-status-separator-vor-bogen": "\n\n%1S/%2: Separator 300mm (vor Bogen) hz=%3%4 v=%5%6",
"gf-status-bogen-einfuegen": "\n\n%1/%2: %3 hz=%4%5",
"gf-status-linienzug-eingefuegt": "\n>>> Linienzug-Gefaellestrecke eingefuegt! <<<",
"gf-modus3-header": "\n\n>>> MODUS 3: Linienzug auswaehlen <<<",
"gf-modus3-hinweis1": "\nBitte alle Linien (LINE) und Boegen (ARC) des Pfades auswaehlen,",
"gf-modus3-hinweis2": "\ndann ENTER druecken:",
"gf-fehler-keine-objekte": "\nKeine Objekte ausgewaehlt!",
"gf-status-objekte-ausgewaehlt": "\n %1 Objekte ausgewaehlt.",
"gf-prompt-startpunkt-kette": "\nStartpunkt (3D) waehlen - KS_EIN AUS-Element / Kettenanfang: ",
"gf-fehler-kein-startpunkt": "\nKein Startpunkt!",
"gf-prompt-endpunkt-kette": "\nEndpunkt (3D) waehlen - KS_AUS EIN-Element / Kettenende: ",
"gf-fehler-kein-endpunkt": "\nKein Endpunkt!",
"gf-status-deltah-3dpunkte": "\n %1H aus 3D-Punkten: %2 mm",
"gf-status-sortiere-segmente": "\n Sortiere Segmente ...",
"gf-alert-keine-kette": "Keine verbundene Kette gefunden!",
"gf-alert-lz-edit-kein-dialog": "Bearbeiten einer Streckengruppe (Linienzug) braucht die GUI - bitte GUI einschalten (ssg-gui-an) und erneut versuchen.",
"gf-status-segmente-gefunden": " %1 Segmente gefunden.",
"gf-status-segment-analyse-header": "\n\n--- Segment-Analyse (Laengen nach Kuerzung) ---",
"gf-status-segment-linie": "\n %1. Linie L=%2 mm hz=%3%4",
"gf-status-segment-bogen": "\n %1. Bogen %2%3 %4 hz-Eingang=%5%6",
"gf-status-seg-erste-linie": "\n Seg %1 (1. Linie): -%2 mm (AUS-Element)",
"gf-status-linie-vor-bogen": "\n Jede Linie vor Bogen: -300 mm (Bogen-Separator)",
"gf-status-seg-letzte-linie": "\n Seg %1 (letzte Linie): -300 mm (EIN-Sep) -%2 mm (EIN-Element)",
"gf-status-eintrittsrichtung": "\n Eintrittsrichtung: %1%2",
"gf-status-austrittsrichtung": "\n Austrittsrichtung: %1%2",
"gf-status-berechne-winkel": "\n\n Berechne Gefaellewinkel aus Geometrie ...",
"gf-prompt-winkel-verwenden": "\nBerechneten Winkel %1%2 verwenden? (j/n) [j]: ",
"gf-prompt-gefaellewinkel": "\nGefaellewinkel (Grad): ",
"gf-status-messe-absenkung": "\n Messe tatsaechliche AS/ES-Absenkung (iterativ) ...",
"gf-warnung-korrektur-bereich": "\n WARNUNG: Korrektur ausserhalb Bereich, Winkel unveraendert",
"gf-status-as-es-mm": "\n AS: %1 mm ES: %2 mm",
"gf-status-korrigierter-winkel": "\n>>> Korrigierter Gefaellewinkel: %1%2 (nach %3 Iter.)",
"gf-status-zus-segmente": "\n>>> Segmente: %1",
"gf-status-zus-deltah": "\n>>> %1H: %2 mm",
"gf-status-zus-deltal": "\n>>> %1L: %2 mm",
"gf-status-zus-winkel": "\n>>> Gefaellewinkel: %1%2",
"gf-status-zus-eintrittswinkel": "\n>>> Eintrittswinkel: %1%2",
"gf-status-zus-austrittswinkel": "\n>>> Austrittswinkel: %1%2",
"gf-status-zus-aus-element": "\n>>> AUS-Element: %1",
"gf-status-zus-ein-element": "\n>>> EIN-Element: %1",
"gf-prompt-einfuegen": "\nEinfuegen? (1=Ja / 2=Nein) [1]: ",
"gf-status-aus-element-detail": "\n\n>>> AUS-Element: %1 Fahrtrichtung=%2%3 KS_EIN-hz=%4%5 Z=%6",
"gf-status-separator-vor-ein": "\n>>> Separator vor EIN-Element",
"gf-status-ein-element-detail": "\n>>> EIN-Element: %1 Ziel-Z=%2",
"gf-status-z-hoehe-ks-aus": "\n Z-Hoehe KS_AUS: %1 mm",
"gf-status-fertig": "\n>>> Fertig! <<<",
"gf-status-abgebrochen": "\nAbgebrochen.",
"gf-alert-dialog-fehlt": "Dialog-Datei nicht gefunden:\n%1",
"gf-dlg-richtung-0": "0%1 (X+, Ost)",
"gf-dlg-richtung-90": "90%1 (Y+, Nord)",
"gf-dlg-richtung-180": "180%1 (X-, West)",
"gf-dlg-richtung-270": "270%1 (Y-, Sued)",
"gf-dlg-links": "Links",
"gf-dlg-rechts": "Rechts",
"gf-dlg-linienzug-vorlauf": "Linienzug ausgewaehlt - Winkel wird nach Bestaetigung berechnet.",
"gf-status-gf-block-erstellt": "\n>>> GF-Block erstellt: %1 (%2)",
"gf-status-schritt1-aus": "\n\n1/4: %1 Fahrtrichtung=%2%3 KS_EIN-hz=%4%5 v=%6%7",
"gf-status-schritt2-staustrecke": "\n\n2/4: Staustrecke L=%1 mm hz=%2%3 v=%4%5",
"gf-status-schritt3-separator": "\n\n3/4: Separator 300mm hz=%1%2 v=%3%4",
"gf-status-schritt4-ein": "\n\n4/4: %1",
"gf-status-erfolgreich-eingefuegt": "\n>>> Gefaellestrecke erfolgreich eingefuegt! <<<",
"gf-banner-titel": "\n GEFAELLESTRECKE GENERATOR v2.0",
"gf-banner-richtung": "\n Richtung: immer AB (nach unten)",
"gf-alert-init-fehler": "Fehler beim Initialisieren der Bibliothek!\nBitte DXFM_DATA pruefen.",
"gf-eingabemodus-header": "\n\nEingabemodus waehlen:",
"gf-eingabemodus-1": "\n 1 - Werte manuell eingeben (einfache Strecke)",
"gf-eingabemodus-2": "\n 2 - 3D-Linie auswaehlen (einfache Strecke)",
"gf-eingabemodus-3": "\n 3 - Linienzug (LINE + ARC) auswaehlen mit Gefaellebogen",
"gf-modus1-header": "\n\n>>> MODUS 1: Manuelle Werteingabe <<<",
"gf-prompt-startpunkt-aus": "\nStartpunkt fuer AUS-Element waehlen: ",
"gf-prompt-deltal-abstand": "\n%1L - Abstand (mm): ",
"gf-modus2-header": "\n\n>>> MODUS 2: 3D-Linie auswaehlen <<<",
"gf-status-bks-welt": "\n BKS auf Weltkoordinaten gesetzt.",
"gf-prompt-3dlinie-richtung": "\nBitte 3D-Linie fuer Richtung und Laenge auswaehlen:",
"gf-alert-keine-linie": "Keine gueltige Linie ausgewaehlt!",
"gf-status-fahrtrichtung-linie": "\n Fahrtrichtung: %1%2 (aus Linie)",
"gf-status-deltal-mm": "\n %1L = %2 mm",
"gf-prompt-gefaellewinkel-def3": "\n\nGefaellewinkel (Grad) [3]: ",
"gf-status-winkel": "\n>>> Winkel: %1%2",
"gf-status-fahrtrichtung": "\n>>> Fahrtrichtung: %1%2",
"gf-alert-staustrecke-ungueltig": "Berechnete Staustreckenlaenge ungueltig: %1 mm\nBitte groesseres deltaL oder kleineren Winkel waehlen.",
"gf-status-zus2-winkel": "\n>>> Winkel: %1%2",
"gf-status-zus2-aus-seite": "\n>>> AUS-Seite: %1",
"gf-status-zus2-ein-seite": "\n>>> EIN-Seite: %1",
"gf-status-zus2-lstau": "\n>>> L_stau: %1 mm",
"ques-yn-default-yes": " Y/N <Y>: ",
"ques-yn-default-no": " Y/N <N>: ",
"tefl-fehler-dxfm-omniflo": "\n[TEF] FEHLER: DXFM_OMNIFLO nicht gesetzt (bin/setenv.bat ausfuehren).",
"tefl-fehler-dxf-nicht-gefunden": "\n[TEF] FEHLER: Element-DXF nicht gefunden: %1",
"tefl-prompt-startpunkt": "\nStartpunkt der Foerderstrecke waehlen: ",
"tefl-prompt-endpunkt": "\nEndpunkt der Foerderstrecke waehlen: ",
"tefl-abgebrochen": "\n[TEF] Abgebrochen.",
"tefl-fehler-laenge-null": "\n[TEF] FEHLER: Start- und Endpunkt liegen zu nah beieinander.",
"tefl-fertig": "\n[TEF] %1 Element(e) eingefuegt, Streckenlaenge=%2 mm.",
"vfl-kette-titel": "\n Vario_Kette_Merge - mehrere Vario-Foerderer-Bausteine (einzeln oder bereits gewickelt) zu einem Gesamt-Block verschmelzen",
"vfl-kette-start-waehlen": "\n\nStart-Baustein der Kette waehlen (erstes Element - AS-Element oder VF_n): ",
"vfl-kette-kein-objekt": "\nKein Objekt gewaehlt - Abbruch.",
"vfl-kette-kein-vf-block": "\nGewaehltes Objekt ('%1') ist kein bekannter Vario-Kette-Baustein (AS-/ES-Element, GF-Bogen, Vario-Kurve, Umlenk-/Motorstation, Vertikalbogen, Staustrecke/Separator oder VF_n).",
"vfl-kette-start-nicht-gefunden": "\nFEHLER: Start-Baustein nicht in der Ketten-Erfassung gefunden (interner Fehler).",
"vfl-kette-start-nicht-gefunden-diag": "\nFEHLER: Start-Baustein nicht in der Ketten-Erfassung gefunden (interner Fehler).\n Diagnose: %1 Bausteine insgesamt erfasst, gewaehlter Blockname='%2', davon %3 mit gleichem Blocknamen erfasst.",
"vfl-kette-start-ohne-ks-ein": "\nFEHLER: Am gewaehlten Baustein konnte kein KS_EIN gefunden werden - Kette kann nicht verfolgt werden.",
"vfl-kette-nur-ein-baustein": "\nAb dem gewaehlten Baustein wurde kein weiterer angeschlossener VF_n-Baustein gefunden - nichts zum Zusammenfuehren.",
"vfl-kette-gefunden": "\n\nKette erkannt: %1 Baustein(e) werden zusammengefuehrt:",
"vfl-kette-luecke-warnung": "\n\n WARNUNG: Nach '%1' wurde ein visuell nahes, aber nicht sauber verbundenes VF_n ('%2') gefunden (KS-Abstand %3 mm) - Kette wurde dort beendet, dieser und alle weiteren Bausteine bleiben unangetastet.",
"vfl-kette-fertig": "\n\n>>> Fertig: neuer Gesamt-Block '%1' aus %2 Baustein(en) erstellt.",
"cmd-tro-bearbeiten": "\nTRO-Marker bearbeiten: %1",
"cmd-connection-bearbeiten": "\nVerbindung bearbeiten: %1",
"con-keine-verbindung": "Block %1 ist keine Verbindung (erwartet CONNECTION_*).",
"con-kein-tro": "Block %1 ist kein TRO-Marker - Verbindungen gehen nur zwischen TROs.",
"con-block-fehlt": "Blockdefinition %1 fehlt in dieser Zeichnung.\nZuerst tro_annotate.py mit --flow laufen lassen.",
"con-quelle-waehlen": "\nQuell-TRO waehlen: ",
"con-ziel-waehlen": "\nZiel-TRO waehlen: ",
"con-gleicher-block": "Quelle und Ziel sind derselbe Block.",
"con-gleicher-punkt": "Quelle und Ziel liegen an derselben Stelle.",
"con-dialog-fehlt": "Dialogdatei nicht gefunden:\n%1\nDXFM_DCL pruefen (setenv.bat).",
"con-block": "Block: %1 (UID %2)",
"con-richtung": "Richtung: %1 ----> %2",
"con-hinweis": "Die UID ist dauerhaft, die TRO-Kennung darf sich aendern.",
"con-id-leer": "Quell- und Ziel-UID duerfen nicht leer sein - nichts geaendert.",
"con-gleiche-id": "Quelle und Ziel duerfen nicht dieselbe UID haben.",
"con-eingefuegt": "\nVerbindung %1 ----> %2 eingefuegt (UID %3).",
"con-gespeichert": "\nVerbindung gespeichert: %1 ----> %2",
"tro-edit-kein-tro": "Block %1 ist kein TRO-Marker (erwartet TRO_*).",
"tro-edit-kein-id-attribut": "Block %1 hat kein Attribut ID - bitte neu beschriften lassen (tro_annotate.py).",
"tro-edit-dialog-fehlt": "Dialogdatei nicht gefunden:\n%1\nDXFM_DCL pruefen (setenv.bat).",
"tro-edit-modul-fehlt": "%1 nicht geladen - Attribute werden mit EATTEDIT bearbeitet.",
"tro-edit-block": "Block: %1",
"tro-edit-fb": "Funktionsbaustein: %1 UID: %2",
"tro-edit-hinweis": "Symbol und FB folgen erst beim naechsten Lauf von tro_annotate.py.",
"tro-edit-id-leer": "Die TRO-Kennung darf nicht leer sein - nichts geaendert.",
"tro-edit-gespeichert": "\nTRO gespeichert: ID = %1, TYP = %2",
"tro-edit-typ-geaendert": "\nTyp geaendert - tro_annotate.py neu laufen lassen, damit Symbol und FB passen.",
"tro-insert-kein-typ": "Keine TRO-Typen verfuegbar (tro_types.lsp fehlt) - bitte lib/tro_annotate.py --emit-lisp ausfuehren.",
"tro-insert-hinweis": "Die Blockform muss bereits in der Zeichnung vorhanden sein (aus einem frueheren Lauf von tro_annotate.py).",
"tro-insert-kein-block": "Kein Symbol fuer diesen Typ in der Zeichnung (%1) - bitte tro_annotate.py mit diesem Typ laufen lassen.",
"tro-insert-prompt-punkt": "\nEinfuegepunkt: ",
"tro-insert-eingefuegt": "\nTRO eingefuegt: ID = %1, TYP = %2",
"vfl-abbruch-gesichert": "\n>>> Linienzug abgebrochen: %1 Objekt(e) als Block gesichert (per Doppelklick editierbar/fortsetzbar).",
"vfl-zurueck-glied-verworfen": "\n>>> Zurueck: letztes Kettenglied wird verworfen - bitte neu beantworten.",
"vfl-abbruch-nichts-gebaut": "\n>>> Abgebrochen - es wurde noch keine Geometrie erzeugt.",
"vfl-abbruch-wickeln-fehler": "\n>>> FEHLER beim Sichern der Teil-Geometrie als Block: %1",
"vfl-edit-dialog-fehlt": "Dialog nicht gefunden: %1",
"vfl-edit-abgebrochen": "\nEditieren abgebrochen - keine Aenderung.",
"vfl-dlg-kopf-sektionen": "Sektionen: %1",
"vfl-dlg-modus-kopf": "Linienzug mit %1 Glied(ern) - was moechten Sie tun?",
"vfl-dlg-modus-rueck": "Auf eine Sektion zuruecksetzen und ab dort neu bauen",
"vfl-dlg-modus-glied": "Nur die Eigenschaften eines einzelnen Glieds aendern",
"vfl-glied-waehlen-kopf": "Welches Glied moechten Sie bearbeiten?",
"vfl-glied-geaendert": "\n>>> Glied %1 geaendert - Kette wird neu aufgebaut...",
"vfl-glied-nicht-editierbar": "Dieses Glied (%1) kann derzeit nicht einzeln bearbeitet werden.\nNur GF-Bogen-Glieder sind einzeln editierbar. Fuer alle anderen bitte den Modus 'Auf eine Sektion zuruecksetzen' verwenden.",
"vfc-warnung-untermodule-nicht-geladen": "\n[vf_core] WARNUNG: DXFM_LISP nicht gesetzt - Untermodule konnten nicht geladen werden!",
"vfc-linienzug-modus-header": "\n\nLinienzug-Modus waehlen:",
"vfc-linienzug-modus-1": "\n 1 - Manuelle Eingabe (Punkte klicken)",
"vfc-linienzug-modus-2": "\n 2 - 3D-Objekte + Ziel-Hoehe (Randwert-Solver, fertig)",
"vfc-linienzug-modus-3": "\n 3 - 3D-Objekte stueckweise (Vorwaerts-Nachbau, in Arbeit)",
"prompt-wahl-1-3": "\nIhre Wahl (1/2/3) [1]: ",
"vfl-qc-uform-nicht-implementiert": "\nFEHLER: 'QC Linie mit GF und U-Form' ist noch nicht implementiert - bitte Option 4 oder einen anderen Modus waehlen.",
"vfc-typ-standard-beschreibung": "Standard VarioFoerderer (AS/ES 90 Grad, horizontal versetzt)",
"vfc-typ-etage-beschreibung": "Etage VarioFoerderer (AS/ES 30 Grad, direkt uebereinander)",
"vfc-typ-linienzug-beschreibung": "Streckengruppe (gemischte GF/VF-Kette; Modus 1 manuell / Modus 2 Ziel-Hoehe fertig / Modus 3 stueckweise in Arbeit)",
"vfs-schritt6-horizontal": "\n\n6/11: Horizontale Zwischenstrecke (0 Grad, L=%1 mm)",
"vfs-schritt6-steigung": "\n\n6/11: Steigungsstrecke (%1 Grad, L=%2 mm)",
"vfs-schritt6-gefaelle": "\n\n6/11: Gefaellestrecke (%1 Grad, L=%2 mm)",
"vfs-schritt6-skip": "\n\n6/11: (uebersprungen)",
"vfs-schritt7-bogen1": "\n\n7/11: %1 (3 Grad geneigt)",
"vfs-schritt7-bogen-winkel": "\n\n7/11: %1 (%2 Grad geneigt)",
"vfs-ausgang-motorstation": "\n\n[VF-Ausgang] Motorstation (500 mm, 3 Grad geneigt)",
"vfs-ausgang-gf2": "\n[VF-Ausgang] Gefaellestrecke GF2 (3 Grad, L=%1 mm)",
"vfs-ausgang-gf2-skip": "\n[VF-Ausgang] GF2 (kein / uebersprungen)",
"vfs-ausgang-separator": "\n[VF-Ausgang] Separator (300 mm, 3 Grad geneigt)",
"vfs-schritt11-es": "\n\n11/11: %1 (hz=%2%3)",
"vfs-eingefuegt": "\n>>> Standard VarioFoerderer eingefuegt!",
"vfs-nachruesten-titel": "\n=== VF-Bestandsbloecke nachruesten (SSG_VF_EDIT-Marker) ===",
"vfs-nachruesten-keine-bloecke": "\nKeine VF_n-Bloecke ausgewaehlt - abgebrochen.",
"vfs-nachruesten-bereits-markiert": "\n %1: bereits markiert (%2) - uebersprungen",
"vfs-nachruesten-erkannt": "\n %1: erkannt als Typ '%2'",
"vfs-nachruesten-prompt-hz": "\n Baurichtung hz in Grad [%1]: ",
"vfs-nachruesten-markiert": " -> markiert (hz=%1)",
"vfs-nachruesten-fertig": "\n=== Fertig: %1 markiert, %2 uebersprungen ===",
"vfe-step9-bogen": "\n\n9/15: %1 (%2 Grad geneigt)",
"vfe-step10": "\n\n10/15: Motorstation (500mm, 3 Grad geneigt)",
"vfe-step11-gf2": "\n\n11/15: Gefaellestrecke (3 Grad, L=%1 mm)",
"vfe-step11-skip": "\n\n11/15: L_GF2 (uebersprungen)",
"vfe-step12": "\n\n12/15: %1 (Ende, verkettet cur-hz=%2)",
"vfe-step13": "\n\n13/15: Staustrecke (variabel L=%1, cur-hz=%2)",
"vfe-step14": "\n\n14/15: Separator (300mm, cur-hz=%1)",
"vfe-step15": "\n\n15/15: %1 (Ende, verkettet cur-hz=%2)",
"vfe-eingefuegt": "\n>>> Etage-VarioFoerderer eingefuegt! <<<",
"vfl-vwnb-titel": "\n VF-LINIENZUG - Modus 3: 3D-Objekte stueckweise (Vorwaerts-Nachbau, in Arbeit)",
"vfl-vwnb-aus-seite-menu": "\n\nAUS-Element - Seite waehlen:\n 1 - Links\n 2 - Rechts",
"vfl-vwnb-alert-eckwinkel": "Kein passender Bogen: Eck-Winkel %1 Grad ist nicht ~30/60/90.\nBitte die Winkel der Linien anpassen.",
"vfl-vwnb-alert-keine-gerade": "Pfad enthaelt keine Gerade - eine Kette muss mit einer Geraden beginnen.",
"vfl-vwnb-typ-gerade": "\n Typ? 1 = GF (<=3 Grad) 2 = VF-Ab 3 = VF-Auf 4 = VF-Horizontal",
"vfl-vwnb-prompt-vario-winkel": "\n Vario-Winkel (3..51 Grad) [3]: ",
"vfl-vwnb-kurve-nur-vf": "\n >>> Vario-Kurve nur innerhalb eines VF-Laufs zulaessig - uebersprungen.",
"vfl-vwnb-eingefuegt": "\n>>> VF-Linienzug (Modus 3, GF+VF) eingefuegt! <<<",
"vfl-vwnb-soll-ende": "\n Soll-Ende (Pfad): X=%1 Y=%2",
"vfl-vwnb-ist-ende": "\n Ist-Ende (ES): X=%1 Y=%2 Z=%3",
"vfl-vwnb-abweichung-xy": "\n Abweichung XY: dX=%1 dY=%2 mm",
"vfl-m3-as-nein": "\n 2 - Nein (Kette beginnt direkt am Startpunkt)",
"vfl-kette-diag-startbaustein": "\n [Diagnose] KS_AUS Startbaustein (%1): X=%2 Y=%3 Z=%4",
"vfl-kette-diag-naechster-kandidat": "\n [Diagnose] Naechster Kandidat: %1 Abstand=%2 mm (Toleranz eng=%3 mm, weit=%4 mm)",
"vfl-kette-diag-kein-anderer": "\n [Diagnose] Kein anderer Baustein mit KS_EIN gefunden (insgesamt %1 Bausteine erfasst).",
"vfl-kette-diag-verdaechtig": "\n [Diagnose] VERDAECHTIG: '%1' -> '%2' Abstand=%3 mm (innerhalb Toleranz, aber nicht ~0)",
"gr-fehler-datenpfad": "\nGeruest: Datenverzeichnis unbekannt - DXFM_DATA bzw. DXFMAKRO nicht gesetzt (bin/setenv.bat ausfuehren).",
"gr-fehler-json-fehlt": "\nGeruest: Datendatei nicht gefunden: %1",
"gr-fehler-json-lesbar": "\nGeruest: Datendatei nicht lesbar: %1",
"gr-fehler-baugruppe": "\nGeruest: Baugruppe '%1' steht nicht in der Datendatei.",
"gr-fehler-keine-varianten": "\nGeruest: Baugruppe '%1' hat keine Geometrie-Varianten.",
"gr-bereich-waehlen": "\nGeruest: bitte einen Bereich ueber das Menue waehlen (GERUEST_SAEULEN, GERUEST_ROHRABHAENGER, GERUEST_WANDBEFESTIGUNG).",
"gr-fehler-dummy": "\nGeruest: Dummy-Baugruppe nicht gefunden: %1",
"gr-fehler-dummy-variante": "\nGeruest: Dummy der Variante nicht gefunden: %1 - verwende Dummy der Baugruppe (%2)",
"gr-fehler-dcl": "Dialog geruest.dcl konnte nicht geladen werden.",
"gr-dlg-kopf": "%1 konfigurieren",
"gr-alert-laenge": "Laenge ungueltig: '%1' mm. Erlaubt: %2 bis %3 mm.",
"gr-prompt-einfuegepunkt": "\nEinfuegepunkt waehlen: ",
"gr-abgebrochen": "\nAbgebrochen.",
"gr-fertig": "\nGeruest-Baugruppe '%1' eingefuegt (Block %2).",
"gr-alert-menge": "Ungueltige Anzahl. Erlaubt ist eine ganze Zahl ab 1; ein leeres Feld uebernimmt den Vorgabewert.",
"gr-position-befestigung": "Befestigung",
"gr-position-sonstiges": "sonstiges",
"gr-konfig-keine": "<keine>",
"gr-konfig-name": "\nName der Konfiguration: ",
"gr-konfig-name-vorgabe": "\nName der Konfiguration <%1>: ",
"gr-konfig-geaendert": "%1 (geaendert)",
"gr-konfig-status-geaendert": "Geaendert gegenueber '%1' - Speichern (Enter beim Namen) ueberschreibt sie.",
"gr-konfig-status-bibliothek": "Geaendert gegenueber '%1' (Bibliothek, schreibgeschuetzt) - zum Speichern einen neuen Namen vergeben.",
"gr-winkel-grad": "%1%2",
"gr-konfig-gespeichert": "\nKonfiguration '%1' gespeichert.",
"gr-konfig-geloescht": "\nKonfiguration '%1' geloescht.",
"gr-konfig-loeschen-frage": "\nKonfiguration '%1' wirklich loeschen? [Ja/Nein] <Nein>: ",
"gr-konfig-nichts-gewaehlt": "\nKeine Konfiguration gewaehlt.",
"gr-konfig-bibliothek-fest": "\nKonfigurationen der Bibliothek koennen nicht geloescht werden - nur eigene (mit * markiert).",
"gr-konfig-teil-unbekannt": "\nGeruest: Anbauteil '%1' aus Konfiguration '%2' ist bei dieser Baugruppe unbekannt - uebersprungen.",
"gr-konfig-variante-unbekannt": "\nGeruest: Variante '%1' aus Konfiguration '%2' ist bei dieser Baugruppe unbekannt - Auswahl unveraendert.",
"gr-konfig-variante-gesperrt": "\nKonfiguration '%2': Variante '%1' ist gesperrt - Auswahl bleibt unveraendert.",
"gr-fehler-schreiben": "\nGeruest: Datei konnte nicht geschrieben werden: %1",
"gr-fehler-keine-baugruppen": "\nGeruest: Die Datendatei enthaelt keine Baugruppen.",
"gr-tr-fehler-dcl": "Dialog %1 konnte nicht geladen werden.",
"gr-tr-hinweis": "Die Laenge wird nach OK in der Zeichnung bestimmt.",
"gr-tr-alert-abzug": "Laengenabzug ungueltig. Erlaubt ist eine Zahl ab 0 (mm); ein leeres Feld gilt als 0.",
"gr-tr-prompt-start": "\nStartpunkt (%1) waehlen <Ende>: ",
"gr-tr-prompt-ende": "\nEndpunkt waehlen oder Laenge (mm) eingeben: ",
"gr-tr-prompt-richtung": "\nRichtung angeben <0>: ",
"gr-tr-eingabe-ungueltig": "\nEingabe '%1' ist weder Punkt noch Laenge.",
"gr-tr-laenge-null": "\nStrecke %1 mm ist nicht laenger als die Abzuege (%2 mm) - nichts eingefuegt (%3).",
"gr-tr-laenge-bereich": "\n%4: Laenge %1 mm ausserhalb des erlaubten Bereichs %2 bis %3 mm - nichts eingefuegt.",
"gr-tr-fertig": "\n%3 %1 mm eingefuegt (Block %2).",
"gr-tr-ende": "\n%1x %2 eingefuegt.",
"gr-tr-bez-abzug-anfang": "Abzug Anfang %1 mm",
"gr-tr-bez-abzug-ende": "Abzug Ende %1 mm",
"gr-tr-beschr-stil-fehlt": "\nTextstil %1 fehlt in der Zeichnung - Beschriftung mit aktuellem Stil %2.",
"gr-tr-beschr-ausrichtung": "\nUnbekannte Ausrichtung %1 fuer die Traeger-Beschriftung - verwende BC.",
"gr-tr-beschr-ergebnis": "\n%5: %1 beschriftet (davon %2 ohne bekannte Variante), %3 nicht beschriftbar, %4 verwaiste Beschriftungen entfernt.",
"gr-tr-beschr-keine": "\nKeine Bloecke vom Typ %1 in der Zeichnung.",
"gr-tr-strebe-rand": "Traeger %1 mm: Der Randabstand der Querstreben betraegt %2 mm und liegt ausserhalb des erlaubten Bereichs %3 bis %4 mm (Strebenabstand %5 mm, %6 Streben). Der Traeger wird trotzdem eingefuegt.",
"in-yesno-keys": "Ja Nein",
"in-keys-bereich": "Alle Auswahl",
"in-keys-modus": "Teil Gesamt",
"bt-prompt-muster": "\nBlockname oder Muster (z.B. GR_*): ",
"bt-kein-block": "\nDas gewaehlte Objekt ist keine Blockeinfuegung.",
"bt-prompt-waehlen-count": "\nBlock waehlen [Name/Muster] <alle Bloecke>: ",
"bt-count-keine": "\nKeine Einfuegungen von %1 gefunden.",
"bt-count-keine-alle": "\nKeine Blockeinfuegungen im aktuellen Layout.",
"bt-count-ergebnis": "\n%1 Einfuegung(en) von %2.",
"bt-count-zeile": "\n %1: %2",
"bt-count-summe": "\nGesamt: %1 Einfuegung(en) in %2 Block(s).",
"bt-prompt-waehlen-delete": "\nZu loeschenden Block waehlen [Name/Muster]: ",
"bt-delete-kein-muster": "\nKein Block gewaehlt - nichts geloescht.",
"bt-delete-alle-gesperrt": "\nAlle %1 Einfuegung(en) liegen auf gesperrten Layern - nichts geloescht.",
"bt-delete-frage": "%1 Einfuegung(en) von %2 loeschen?",
"bt-delete-titel": "Bloecke loeschen",
"bt-delete-ergebnis": "\n%1 Einfuegung(en) geloescht.",
"bt-delete-gesperrt": "\n%1 Einfuegung(en) auf gesperrten Layern blieben stehen.",
"bt-abgebrochen": "\nAbgebrochen - nichts geaendert.",
"bt-attr-bereich": "\nBereich",
"bt-attr-muster": "\nBlockname-Muster",
"bt-attr-auswahl": "\nBloecke waehlen: ",
"bt-attr-keine-bloecke": "\nKeine passenden Blockeinfuegungen gefunden.",
"bt-attr-tag": "\nAttribut-Tag (Muster)",
"bt-attr-suche": "\nSuchen nach",
"bt-attr-ersatz": "\nErsetzen durch",
"bt-attr-modus": "\nErsetzen als",
"bt-attr-nichts": "\nKein Attributwert enthaelt den Suchtext.",
"bt-attr-frage": "%1 Attributwert(e) in %2 Block(s) aendern?",
"bt-attr-titel": "Attribute ersetzen",
"bt-attr-ergebnis": "\n%1 Attributwert(e) geaendert.",
"tt-bereich": "\nBereich",
"tt-auswahl": "\nObjekte waehlen: ",
"tt-keine-objekte": "\nKeine passenden Objekte gefunden.",
"tt-suche": "\nSuchen nach",
"tt-ersatz": "\nErsetzen durch",
"tt-modus": "\nErsetzen als",
"tt-nichts": "\nKein Text und kein Attributwert enthaelt den Suchtext.",
"tt-frage": "%1 Text(e) und %2 Attributwert(e) aendern?",
"tt-ersetzen-titel": "Text ersetzen",
"tt-ergebnis": "\n%1 Text(e) und %2 Attributwert(e) geaendert.",
"tt-abgebrochen": "\nAbgebrochen - nichts geaendert.",
"tt-parallel-titel": "Text parallel beschriften",
"tt-hoehe": "\nTexthoehe",
"tt-abstand": "\nAbstand zur Linie",
"tt-parallel-waehlen": "\nLinie, Polylinie oder Bogen waehlen (Enter = Ende): ",
"tt-parallel-keine-kurve": "\nWinkel am gewaehlten Objekt nicht ermittelbar.",
"tt-text": "\nText",
"tt-parallel-fehler": "\nText konnte nicht erzeugt werden.",
"tt-hoehe-titel": "Texthoehe aendern",
"tt-geaendert": "\n%1 Text(e) geaendert.",
"tt-stil": "\nTextstil",
"tt-stil-fehlt": "\nTextstil %1 existiert nicht in der Zeichnung.",
"tt-stil-titel": "Textstil aendern",
"dinformate-dialog-fehlt": "DIN-Formate-Dialog nicht gefunden: %1",
"dinformate-datei-fehlt": "DIN-Formate: Datei nicht gefunden: %1",
"dinformate-prompt-rahmen": "\nEinfuegepunkt Rahmen (untere linke Ecke): ",
"dinformate-prompt-kopf": "\nEinfuegepunkt Schriftkopf (untere rechte Ecke): ",
"dinformate-eingefuegt": "\nDIN-Format eingefuegt: %1",
"dinformate-sprache-de": "Deutsch",
"dinformate-sprache-en": "Englisch",
"dinformate-sprache-fr": "Franzoesisch",
"dinformate-sprache-it": "Italienisch",
"sl-pos-layer": "\nZiel-Layer",
"sl-pos-faktor": "\nSkalierungsfaktor",
"sl-pos-umrand": "\nForm des Positionsrahmens",
"sl-stkl-einfuegepunkt": "\nObere linke Ecke der Stueckliste waehlen",
"sl-stkl-kopf-pos": "POS",
"sl-stkl-kopf-menge": "MENGE",
"sl-stkl-kopf-laenge": "LAENGE",
"sl-stkl-kopf-artikel": "ARTIKEL-NR",
"sl-stkl-kopf-bezeichnung": "BEZEICHNUNG",
"sl-erk-titel": "Faehnchen + Stueckliste aus Zeichnung",
"sl-erk-auswahl": "\nElemente waehlen <Enter = alle im Layout>: ",
"sl-erk-keine": "\nKeine ILS-/Omniflo-/Geruest-Elemente gefunden.",
"sl-erk-ergebnis": "\n%1 Element(e) erkannt, %2 Stuecklistenzeile(n) geschrieben.",
"sl-erk-kreisel": "ILS Kreisel/Eckrad",
"sl-erk-strecke": "ILS Streckengruppe (VarioFoerderer/Gefaellestrecke)",
"sl-erk-geruest": "Rohrgeruest",
"sl-erk-fahrstrecke": "Omniflo Fahrstrecke",
"sl-erk-ap60": "Omniflo Gerade AP60",
"sl-erk-ap110": "Omniflo Gerade AP110",
"sl-erk-apg110": "Omniflo Gerade APG110",
"kreisel-bp-start": "Kreisel-Weichenpunkte",
"kreisel-bp-summe": "\n=== Kreisel-Weichenpunkte: %1 Beruehrung(en), %2 Kollision(en) (Toleranz %3 mm) ===",
"kreisel-bp-zeile": "\n Weiche %1: %2 <-> %3 [%4] bei X=%5 Y=%6 Z=%7",
"kreisel-bp-kollision": "\n KOLLISION %1: %2 <-> %3 [%4] bei X=%5 Y=%6 Z=%7",
"kreisel-bp-marker": "\n%1 Marker gezeichnet (Layer %2).",
"exp-kreisel-weichen": "\n[%1] Kreisel-Weichenpunkte: %2 Beruehrung(en), %3 Kollision(en) -> %4",
"exp-kreisel-kollision": "\n[%1] WARNUNG: %2 Kreisel-Kollision(en) - Befehl KREISEL_WEICHEN zeigt sie an."
}
}