821b81135d
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>
1128 lines
89 KiB
JSON
1128 lines
89 KiB
JSON
{
|
|
"texts": {
|
|
"vfl-alert-gf-modul-fehlt": "Slope-section module not loaded!\nThe chain type requires Gefaellestrecke.lsp\n(GF segments and GF arcs). Please load the menu.",
|
|
"vfl-prompt-startpunkt-kette": "\n\nSelect chain start point: ",
|
|
"vfl-prompt-hoehe-startpunkt-kette": "\nHeight (Z) of the start point [%1]: ",
|
|
"vfl-abgebrochen": "\nCancelled.",
|
|
"vfl-as-setzen-frage": "\n\nPlace AS element?",
|
|
"vfl-as-nein": "\n 2 - No (chain starts directly with GF/VF at the start point)",
|
|
"vfl-as-auto-erkannt": "\n>>> Start point lies on the KS_AUS of an existing %1 chain - no AS element needed.",
|
|
"vfl-familie-neutral": "GF/VF",
|
|
"vfl-sep-nach-durch-es-ueberschrieben": "\n>>> Separator AFTER ignored - the ES element already brings its own separator at the chain end (otherwise two separators in a row).",
|
|
"vfl-echo-position": "\n>>> Position: X=%1 Y=%2 Z=%3",
|
|
"vfl-echo-wahl": "\n>>> Selected: %1",
|
|
"vfl-aus-seite-header": "\n\nOUT element (AS_Element_*) - select side:",
|
|
"vfl-naechstes-element-header": "\n\nSelect next element:",
|
|
"vfl-menu-gf-bogen-1": "\n 1 - GF arc (horizontal curve)",
|
|
"vfl-menu-linie-gf-2": "\n 2 - New line: GF (gravity section)",
|
|
"vfl-menu-linie-vf-3": "\n 3 - New line: down/up VF (VarioFoerderer unit)",
|
|
"vfl-menu-horizontal-vf-4": "\n 4 - New VF with horizontal start (horizontal piece)",
|
|
"vfl-menu-linie-ende-5": "\n 5 - New line TO chain end (then separator + ES element)",
|
|
"vfl-prompt-wahl-1-5-def2": "\nYour choice (1-5) [2]: ",
|
|
"vfl-menu-linie-gf-1": "\n 1 - New line: GF (gravity section)",
|
|
"vfl-menu-linie-vf-2": "\n 2 - New line: down/up VF (VarioFoerderer unit)",
|
|
"vfl-menu-horizontal-vf-3": "\n 3 - New VF with horizontal start (horizontal piece)",
|
|
"vfl-menu-linie-ende-4": "\n 4 - New line TO chain end (then separator + ES element)",
|
|
"vfl-prompt-wahl-1-4-def1": "\nYour choice (1-4) [1]: ",
|
|
"vfl-menu-gf-bogen-ka-1": "\n 1 - GF arc (horizontal curve)",
|
|
"vfl-menu-variokurve-ka-2": "\n 2 - Vario curve (horizontal curve, 30/60/90 degrees)",
|
|
"vfl-menu-linie-gf-ka-3": "\n 3 - New line: GF (gravity section)",
|
|
"vfl-menu-linie-vf-ka-4": "\n 4 - New line: down/up VF (VarioFoerderer unit)",
|
|
"vfl-menu-horizontal-vf-ka-5": "\n 5 - New VF with horizontal start (horizontal piece)",
|
|
"vfl-menu-linie-ende-ka-6": "\n 6 - New line TO chain end (then separator + ES element)",
|
|
"vfl-prompt-wahl-1-6-def3": "\nYour choice (1-6) [3]: ",
|
|
"vfl-fehler-horizontal-vf-kurz": "\nERROR: Horizontal VF needs >= 1000 mm (deflection + motor) - draw it longer.",
|
|
"vfl-prompt-hoehe-eingang-gf1": "\nTarget height (Z) at the transition to the horizontal section [%1]: ",
|
|
"vfl-alert-eingang-kann-nicht-steigen": "This VF unit (horizontal start) cannot rise - please use 'New line: up/down VF' instead.",
|
|
"vfl-alert-eingang-hoehe-zu-klein": "Target height too small: at least %1 mm of drop is needed (separator+deflection station+transition bend alone already reach that much). Please enter a lower target height.",
|
|
"vfl-alert-eingang-hoehe-zu-gross": "Target height too far away for this distance - the maximum reachable target height would be about %1 mm. Please use 'New line: up/down VF' instead.",
|
|
"vfl-fehler-linie-zu-kurz": "\nERROR: Line too short (or against travel direction) - please pick again.",
|
|
"vfl-fehler-vf-kurz": "\nERROR: VarioFoerderer needs >= 1000 mm (deflection + motor) - draw it longer or choose \"GF\".",
|
|
"vfl-gefaelle-festlegen-header": "\nDefine slope:",
|
|
"vfl-gefaelle-opt-hoehe": "\n 1 - Given height (target height)",
|
|
"vfl-gefaelle-opt-winkel": "\n 2 - Enter incline angle",
|
|
"vfl-gf-hinweis-laenge-berechnet": "(deltaL will be calculated and inserted)",
|
|
"vfl-prompt-neigungswinkel": "\nIncline angle (degrees, 0 < angle <= %1) [%1]: ",
|
|
"vfl-alert-winkel-ungueltig": "Incline angle invalid: %1 degrees. Allowed: 0 < angle <= %2 degrees.",
|
|
"vfl-prompt-hoehe-linienendpunkt": "\nHeight (Z) of the line end point [%1]: ",
|
|
"vfl-prompt-hoehe-linienendpunkt-2": "\nHeight (Z) of the line end point (down: %1 | up: %2) [%1]: ",
|
|
"vfl-prompt-hoehe-linienendpunkt-3": "\nHeight (Z) of the line end point (down: %1 | up: %2 | picked: %3) [%3]: ",
|
|
"vfl-hinweis-hoehe-vorschlag-fehlt": "\n(Note: no buildable suggestion found for that direction at this segment length - please check the value manually.)",
|
|
"vfl-alert-gf-kann-nicht-steigen": "Gravity section (GF) cannot rise - please pick a lower target height or use down/up VF.",
|
|
"vfl-alert-gefaelle-zu-steil": "Slope too steep for GF: %1 degrees (max allowed %2 degrees).\nPlease pick a smaller height difference or use down/up VF.",
|
|
"vfl-gf-laenge-modus-header": "\nHow should the length of this gravity section be determined?",
|
|
"vfl-gf-laenge-modus-opt-endpunkt": "\n 1 - Pick end point (length results from it)",
|
|
"vfl-gf-laenge-modus-opt-hoehe": "\n 2 - Set target height (length will be calculated)",
|
|
"vfl-gf-laenge-modus-opt-steigend": "\n 3 - Rising GF (special case, up to 3 degrees)",
|
|
"vfl-gf-laenge-modus-opt-qc": "\n 4 - QC line with GF (automatic up/down calculation)",
|
|
"vfl-qc-nur-kettenanfang": "\nERROR: 'QC line with GF' is only possible at the chain start (needs its own AS side) - please choose a different mode.",
|
|
"vfl-qc-prompt-richtung": "\n\nChoose direction (line on which AS entry and ES exit shall lie) - click a point in the travel direction: ",
|
|
"vfl-qc-ks-ein-gemessen": "\n>>> AS KS_EIN (reference line) measured: X=%1 Y=%2 Z=%3",
|
|
"vfl-qc-ks-ein-nicht-gemessen": "\nWARNING: could not measure the AS element's KS_EIN - falling back to the clicked point (reference line may be inaccurate).",
|
|
"vfl-qc-prompt-e1": "\nDescending GF entry, incl. separator (mm) [%1]: ",
|
|
"vfl-qc-prompt-e2": "\nLength of descending GF exit after the second 30-degree bend (mm) [%1]: ",
|
|
"vfl-qc-prompt-gesamtlaenge-mittelteil": "\nTotal middle section length, w/o entry/exit (mm): ",
|
|
"vfl-qc-prompt-anteil": "\nShare of 1st descending piece of F_total (0.0-1.0) [%1]: ",
|
|
"vfl-qc-s-winkel-echo": "\n>>> S slope auto-selected: %1 degrees",
|
|
"vfl-qc-nicht-baubar": "\nERROR: This middle-section length cannot be built with this split (F_total=%1mm, S=%2mm - negative, even with steeper S angles tried up to 30 degrees). Please choose a larger total length (at least approx. %3 mm).",
|
|
"vfl-qc-bogen-nicht-schliessbar": "\nERROR: This AS/ES angle combination (AS turn=%1 deg, ES turn=%2 deg, required bend turn=%3 deg) cannot be closed back onto the reference line with either a 30- or a 90-degree bend. Please adjust the AS/ES angles (e.g. choose the same for both).",
|
|
"vfl-qc-e2-negativ": "\nERROR: The computed length between the 2nd bend and the ES element is not buildable (%1 mm). Please adjust E1, the middle section total length, or the share.",
|
|
"vfl-qc-erfolg": "\n>>> QC chain built. Target height (AS exit)=%1 Actual height (ES exit)=%2 Deviation from reference line=%3mm",
|
|
"vfl-qc-uform-nur-kettenanfang": "\nERROR: 'QC line with GF and U-shape' is only possible at the chain start (needs its own AS side) - please choose a different mode.",
|
|
"vfl-qc-uform-winkel-fix": "\nNote: AS/ES angles are fixed at 90 degrees for this option (only the side is selectable).",
|
|
"vfl-qc-prompt-u-fest-laenge": "\nFixed section between the two 90-degree bends (mm) [%1]: ",
|
|
"vfl-qc-uform-prompt-richtung-e1": "\n\nClick the start point of the 1st 90-degree bend (sets travel direction AND the descending GF entry length incl. separator): ",
|
|
"vfl-qc-uform-e1-echo": "\n>>> E1 (incl. separator)=%1mm direction=%2 deg",
|
|
"vfl-qc-uform-e1-neigung-echo": "\n>>> E1 slope (measured on AS, KS_EIN->KS_AUS)=%1 deg",
|
|
"vfl-qc-uform-fa-s-echo": "\n>>> Computed: Fa (descending, 3 deg, before S)=%1mm S (rising, %3 deg, auto-selected)=%2mm",
|
|
"vfl-qc-uform-fa-s-negativ": "\nERROR: Fa/S not buildable even with steeper S angles (tried up to 30 degrees) - last try Fa=%1mm S=%2mm. Please adjust E1 or the fixed section.",
|
|
"vfl-qc-uform-fa-s-negativ-e1": "\nERROR: Fa/S not buildable even with steeper S angles (tried up to 30 degrees) - last try Fa=%1mm S=%2mm. Minimum E1 (incl. separator) for the steepest angle: approx. %3 mm.",
|
|
"vfl-prompt-neigungswinkel-laenge-berechnet": "\nIncline angle (degrees, 0 < angle <= %1) [%1] (deltaL will be calculated and inserted): ",
|
|
"vfl-prompt-neigungswinkel-steigend": "\nRising angle (degrees, 0 <= angle <= %1, 0 = level) [%1]: ",
|
|
"vfl-alert-winkel-ungueltig-steigend": "Rising angle invalid: %1 degrees. Allowed: 0 <= angle <= %2 degrees.",
|
|
"vfl-alert-gf-steigend-falsche-richtung": "Rising gravity conveyor: the chosen target height is below the current height - please choose a higher target height or use the normal (falling) mode.",
|
|
"vfl-sep-vor-gf-frage": "\n\nInsert separator BEFORE this gravity section?",
|
|
"vfl-sep-nach-gf-frage": "\n\nInsert separator AFTER this gravity section?",
|
|
"vfl-sep-gf-header": "Separator at this gravity section",
|
|
"vfl-ist-kettenende-header": "\nIs this the chain end?",
|
|
"vfl-kettenende-opt-ja-es": "\n 1 - Yes (place ES element)",
|
|
"vfl-kettenende-opt-ja-ohne-es": "\n 2 - Yes (without placing ES element)",
|
|
"vfl-kettenende-opt-nein": "\n 3 - No (keep building)",
|
|
"vfl-alert-vf-nicht-baubar": "VF unit geometrically not buildable!\ndeltaL=%1 mm, deltaH=%2 mm, direction=%3\nPlease pick another end point/height.",
|
|
"vfl-alert-segment-nicht-baubar": "Segment geometrically not buildable!\ndeltaL=%1 mm, deltaH=%2 mm, direction=%3\nPlease pick another end point/height.",
|
|
"vfl-info-kurzes-segment": "\n>>> Short segment (deltaL=%1 mm < 1000): automatic 3-degree gravity section (no height query, deltaH=%2 mm).",
|
|
"vfl-info-kettenende-footprint": "\n>>> Chain-end mode: footprint for separator + ES reserved -> buildable deltaL=%1 mm, deltaH=%2 mm.",
|
|
"vfl-echo-endpunkt-hoehe": "\n>>> End point picked: X=%1 Y=%2 (deltaL=%3 mm, direction=%4 deg)\n>>> Target height entered: %5 mm (currently %6 mm, deltaH=%7 mm %8)",
|
|
"vfl-kette-eingefuegt": "\n>>> VF chain inserted! <<<",
|
|
"vfl-info-as-eingefuegt": "\n>>> AS element inserted - actual remaining length: deltaL=%1 mm.",
|
|
"vfl-info-kein-as": "\n>>> No AS element - chain starts directly at the start point.",
|
|
"vfl-es-setzen-frage": "\n\nPlace ES element?",
|
|
"vfl-es-nein-zielpunkt": "\n 2 - No (chain ends directly at the target point)",
|
|
"vfl-prompt-endpunkt-fahrtrichtung": "\n\nSelect end point along travel direction (defines the length): ",
|
|
"vfl-endpunkt-modus-header": "\n\nHow should the end point be determined?",
|
|
"vfl-endpunkt-modus-opt-linie": "\n 1 - Draw target line (2 points) - the intersection defines the length",
|
|
"vfl-prompt-ziellinie-p1": "\n\nTarget line - 1st point (any direction, Z is ignored): ",
|
|
"vfl-prompt-ziellinie-p2": "\n Target line - 2nd point: ",
|
|
"vfl-endpunkt-modus-opt-punkt": "\n 2 - Select point - along the fixed travel direction",
|
|
"vfl-ziellinie-parallel": "\n The selected line is parallel to the travel direction - there is no unique intersection.",
|
|
"vfl-ziellinie-hinter-start": "\n The intersection lies behind the start of the run - please select a different line.",
|
|
"vfl-prompt-endpunkt-frei": "\n\nEnd point of the line (XY, any direction): ",
|
|
"vfl-fehler-laenge-max": "\n>>> ERROR: Length %1 m exceeds the conveyor maximum length of 25 m - please pick another end point.",
|
|
"vfl-glied-gf-bogen": "GF arc (horizontal curve)",
|
|
"vfl-glied-gf": "Gravity section (GF)",
|
|
"vfl-glied-vf": "VarioFoerderer unit (down/up)",
|
|
"vfl-glied-horizontal-vf": "VF with horizontal start",
|
|
"vfl-glied-linie": "Line to chain end",
|
|
"vfl-glied-as": "AS element (chain start)",
|
|
"vfl-glied-es": "ES element (chain end)",
|
|
"vfl-glied-vario": "Vario curve (horizontal curve in VF)",
|
|
"vfl-glied-offen": "(open)",
|
|
"vfl-edit-kein-journal": "This chain block carries no input journal (legacy) and cannot be edited step by step.",
|
|
"vfl-edit-m2-obsolet": "This mode-2 block was built with the old object-reference journal and can no longer be rebuilt by double-click. Please recreate the chain with mode 2 (the new version stores the segment data directly on the block).",
|
|
"vfl-edit-kette-header": "\n\nChain with %1 segment(s):",
|
|
"vfl-edit-abgespielt": "\n>>> %1 segment(s) replayed, %2 undone - then continue interactively.",
|
|
"vfl-edit2-reset-info": "\n>>> Rebuilding this Modus-2 chain identically from the saved inputs...",
|
|
"vfl-konvert-fehler": "\n>>> ERROR converting %1: %2 - the old block is gone, the partial geometry is loose in the drawing.",
|
|
"vfl-restore-prompt-auswahl": "\nSelect the loose chain geometry (the section XDATA of the objects is read):",
|
|
"vfl-restore-keine-sektionen": "\n>>> The selection carries no section XDATA (SSG_VF_EDIT_SEG) - no chain can be restored from it.",
|
|
"vfl-restore-luecke": "\n>>> WARNING: section %1 is missing from the selection - only segments 1..%2 will be restored.",
|
|
"vfl-restore-gefunden": "\n>>> %1 section(s) found, replaying %2 journal entries.",
|
|
"vfl-restore-keine-praeambel": "\n>>> No preamble XDATA found (chain built before it existed) - start point, start height and AS element will be asked now.",
|
|
"vfl-restore-frage-as": "\nAS element at the start of the chain? [Ja/Nein] <Ja>: ",
|
|
"vfl-restore-frage-as-seite": "\nAS element side? [Links/Rechts] <Links>: ",
|
|
"vfl-restore-geloescht": "\n>>> Rebuild finished - %1 old loose entity(s) deleted.",
|
|
"omni-alle-winkel": "all angles",
|
|
"omni-grad": " deg",
|
|
"omni-bogen-keine-gefunden": "No arcs found for %1%2.",
|
|
"omni-weiche-keine-gefunden": "No switches found for %1%2.",
|
|
"vfc-ursprung": "Origin",
|
|
"vfc-block-eingefuegt-xyzref-ksaus": "\n '%1' inserted (XY:%2 Z:%3)\n KS_AUS: X=%4 Y=%5 Z=%6",
|
|
"vfl-ja": "\n 1 - Yes",
|
|
"vfl-nein": "\n 2 - No",
|
|
"vfl-sep-vor-frage": "\n\nInsert additional separator BEFORE the horizontal section?",
|
|
"vfl-sep-nach-frage": "\n\nInsert additional separator AFTER the horizontal section?",
|
|
"vfl-sep-an-stelle-frage": "\n\nInsert additional separator at this point?",
|
|
"vf-winkel-aus-header": "\n\nOutput element (AS_Element) - choose angle:",
|
|
"vf-winkel-ein-header": "\n\nInput element (ES_Element) - choose angle:",
|
|
"vf-winkel-90": "\n 1 - 90 deg",
|
|
"vf-winkel-30": "\n 2 - 30 deg",
|
|
"vfl-gf-bogen-winkel-header": "\n\nGF arc - choose angle:",
|
|
"vfl-gf-bogen-seite-header": "\nGF arc - choose side:",
|
|
"vfl-winkel-30": "\n 30 deg",
|
|
"vfl-winkel-60": "\n 60 deg",
|
|
"vfl-winkel-90": "\n 90 deg",
|
|
"vfl-prompt-wahl-winkel-30-60-90": "\nEnter angle (30/60/90) [90]: ",
|
|
"vfl-variokurve-winkel-header": "\n\nVario curve - choose angle:",
|
|
"vfl-opt1-90grad": "\n 90 deg",
|
|
"vfl-opt2-60grad": "\n 60 deg",
|
|
"vfl-opt3-30grad": "\n 30 deg",
|
|
"vfl-prompt-wahl-1-3-def1": "\nYour choice (1/2/3) [1]: ",
|
|
"vfl-frage-startpunkt-typ": "\n\nNo clear GF/VF component was recognized at the starting point (a GF stretch and a VF horizontal stretch look structurally identical). How should the entry be built?",
|
|
"vfl-opt-eingang-direkt": "\n 1 - Build idler station directly (no GF stretch)",
|
|
"vfl-opt-eingang-mit-stumpf": "\n 2 - GF (%1 mm) + idler station",
|
|
"vfl-opt-eingang-ohne-umlenk": "\n 3 - No idler station (VF continuation)",
|
|
"vfl-variokurve-seite-header": "\nVario curve - choose side:",
|
|
"vfl-variokurve-variante-header": "\nVario curve - choose variant:",
|
|
"vfl-variante-aussen": "\n 1 - Outer",
|
|
"vfl-variante-innen": "\n 2 - Inner",
|
|
"vfl-ist-ziel-vergleich-header": "\n\n>>> ACTUAL-TARGET COMPARISON (ES element):",
|
|
"vfl-soll-xyz": "\n Target: X=%1 Y=%2 Z=%3",
|
|
"vfl-ist-xyz": "\n Actual: X=%1 Y=%2 Z=%3",
|
|
"vfl-abweichung-xyz": "\n Deviation: dX=%1 dY=%2 dZ=%3 mm",
|
|
"vfl-m3-titel": "\n VF LINE PATH - Mode 2: path + target height (finished; anchors + solver + build)",
|
|
"vfl-m3-alert-gf-modul": "Gefaellestrecke module not loaded!",
|
|
"vfl-m3-pfad-waehlen": "\n\nSelect path objects (lines/arcs):",
|
|
"vfl-m3-keine-objekte": "\nNo objects selected - aborting.",
|
|
"vfl-m3-prompt-startpunkt": "\n\nSelect chain start point (higher side): ",
|
|
"vfl-prompt-hoehe-startpunkt": "\nHeight (Z) of the start point [%1]: ",
|
|
"vfl-m3-prompt-endpunkt": "\n\nSelect chain end point (target): ",
|
|
"vfl-m3-prompt-zielhoehe": "\nTarget height (Z) of the end point [%1]: ",
|
|
"vfl-m3-fehler-nicht-sortierbar": "\nERROR: path cannot be sorted (is it connected without gaps?).",
|
|
"vfl-m3-alert-eckwinkel": "No matching arc: corner angle %1 deg is not ~30/60/90.\nPlease adjust the angles.",
|
|
"vfl-m3-alert-objekte-fehlen": "%1 of the originally selected path objects could no longer be found in the drawing (likely deleted). The chain cannot be rebuilt correctly like this.",
|
|
"vfl-m3-seg-gerade": "\n\nSegment %1/%2: straight L=%3 mm hz=%4",
|
|
"vfl-m3-auto-vf": "\n (automatic VF - segment follows directly after a Vario curve)",
|
|
"vfl-m3-typ-gerade": "\n Type? 1 = GF (input angle) 2 = VF (bridge)",
|
|
"vfl-m3-prompt-gf-neigung": "\n GF slope in degrees [3]: ",
|
|
"vfl-m3-hinweis-gf-max": "\n Note: GF max. 3 deg - limited to 3.",
|
|
"vfl-m3-seg-bogen": "\n\nSegment %1/%2: corner/arc %3 deg %4",
|
|
"vfl-m3-typ-bogen": "\n Type? 1 = GF arc 2 = Vario curve",
|
|
"vfl-m3-variante-frage": "\n Vario curve - variant? 1 = Outer 2 = Inner",
|
|
"vfl-m3-vf-laeufe": "\n\n[M3a] VF runs found: %1",
|
|
"vfl-m3-vf-lauf-noetig": "\n[M3a] Exactly ONE VF run required (GF...VF...GF; Vario curves may lie within the run).",
|
|
"vfl-m3-vf-lauf-m3b": "\n[M3a] Several/no VF runs -> M3b later.",
|
|
"vfl-m3-vf-lauf-alert": "VF line path mode 2 cannot build this chain.\n\nFound: %1 VarioFoerderer runs.\nMode 2 currently builds only chains with EXACTLY ONE VF run (GF...VF...GF; Vario curves may lie within the run).\n\nPlease split the path so that only one contiguous VF section remains.",
|
|
"vfl-m3-mini-objekte-verworfen": "%1 object(s) too short were excluded from the selection (below %2 mm 2D length).\n\nSuch mini segments are usually ghost/artefact elements a window selection caught by accident - a real part (smallest: separator 300 mm) is never that short. They are ignored so they cannot introduce ghost parts into the chain.",
|
|
"vfl-m3-vf-lauf-ohne-gerade": "\n[M3a] VF run without a VF straight - aborting.",
|
|
"vfl-m3-anker-vorschau-header": "\n M3a ANCHOR PREVIEW (rough estimate; exact values during build)",
|
|
"vfl-m3-start-hoehe": "\n Start height Z: %1 mm",
|
|
"vfl-m3-ziel-hoehe": "\n Target height Z: %1 mm",
|
|
"vfl-m3-delta-h-gesamt": "\n delta-H total: %1 mm (positive = descent)",
|
|
"vfl-m3-vf-lauf-segmente": "\n VF run: segment %1..%2",
|
|
"vfl-m3-front-anker-vorschau": "\n Front anchor Z: %1 mm (forward from AS)",
|
|
"vfl-m3-junction-anker-vorschau": "\n Junction anchor Z: %1 mm (backward from ES)",
|
|
"vfl-m3-richtung-auf": "up (rising)",
|
|
"vfl-m3-richtung-ab": "down (falling)",
|
|
"vfl-m3-richtung-horizontal": "horizontal",
|
|
"vfl-m3-richtung-auf-kurz": "Up",
|
|
"vfl-m3-richtung-ab-kurz": "Down",
|
|
"vfl-m3-bruecke-dh": "\n --> Bridge: delta-H = %1 mm over span %2 mm",
|
|
"vfl-m3-bruecke-richtung": "\n Direction: VF-%1",
|
|
"vfl-m3-vf-angetrieben": "\n (VF is powered - can RISE and FALL; sign = up/down only)",
|
|
"vfl-m3-mittlere-neigung": "\n rough mean slope over span: ~%1 deg",
|
|
"vfl-m3-warnung-zu-steil": "\n WARNING: ~slope > 51 deg -> too steep for Vario (magnitude infeasible).",
|
|
"vfl-m3-vario-bereich-ok": "\n -> within Vario range (3..51 deg), rough orientation.",
|
|
"vfl-m3-anker-hinweis": "\n (anchors above = rough preview; exact values are MEASURED during build)",
|
|
"vfl-m3-phase-b1": "\n\n>>> Phase B1: building front run (AS + GF) ...",
|
|
"vfl-m3-alert-beginnt-bogen": "Chain starts with an arc - please begin with a straight.",
|
|
"vfl-m3-kurve-front-uebersprungen": "\n >>> [M3a] Vario curve in front run - skipped.",
|
|
"vfl-m3-standard-vario-header": "\n\n --- STANDARD VARIO (climbing segment) + flat zone ---",
|
|
"vfl-m3-front-anker-gemessen": "\n Front anchor (measured): %1 mm",
|
|
"vfl-m3-junction-exakt": "\n Junction (exact): %1 mm",
|
|
"vfl-m3-kletter-info": "\n Climb height %1 mm | climbers %2 | curves %3 | short VF %4",
|
|
"vfl-m3-kein-winkel": "\n NO matching Vario angle -> infeasible (front already built).",
|
|
"vfl-m3-kletter-zu-kurz-flach": "\n No climb angle fits (segment too short) -> run is built entirely flat, height is absorbed by GF1.",
|
|
"vfl-m3-kletter-flach-gf": "\n Flat zone: GF compensation (GF1) = %1 mm",
|
|
"vfl-m3-alert-vf-zu-lang": "VF run is %1 m long (limit %2 m) - please re-plan (e.g. insert an intermediate motor station).",
|
|
"vfl-m3-warnung-fueller-eingang-zu-kurz": "\n WARNING: filler right after the reversing station is too short (%1 mm < minimum %2 mm) - only the minimum clearance was built, target position not reached exactly.",
|
|
"vfl-m3-warnung-fueller-ausgang-zu-kurz": "\n WARNING: filler right before the motor station is too short (%1 mm < minimum %2 mm) - only the minimum clearance was built, target position not reached exactly.",
|
|
"vfl-m3-lauf-anfang-header": "\n\nThe VF run is the start of the selected path. Start the run with:",
|
|
"vfl-m3-lauf-anfang-opt-offen": "\n 1 - No reversing station (open start, continue/merge later)",
|
|
"vfl-m3-lauf-anfang-opt-umlenk": "\n 2 - Reversing station directly (no GF1/separator)",
|
|
"vfl-m3-lauf-anfang-opt-umlenk-gf1": "\n 3 - Reversing station with GF1 + separator",
|
|
"vfl-m3-lauf-anfang-offen-hinweis": "\n Start deliberately left open - no reversing station/GF1/separator built; continue later or join with Vario_Kette_Merge.",
|
|
"vfl-m3-lauf-abschluss-header": "\n\nThe VF run is the end of the selected path. End the run with:",
|
|
"vfl-m3-lauf-abschluss-opt-offen": "\n 1 - No motor station (open end, continue/merge later)",
|
|
"vfl-m3-lauf-abschluss-opt-motor": "\n 2 - Set motor station (no ES element)",
|
|
"vfl-m3-lauf-abschluss-opt-motor-es": "\n 3 - Motor station + ES element (chain end)",
|
|
"vfl-m3-lauf-abschluss-offen-hinweis": "\n Run deliberately left open - no motor station/separator/ES built; continue later or join with Vario_Kette_Merge.",
|
|
"vfl-m3-gf-verteilung": "\n\n GF distribution: 1 - all at inlet (GF1) 2 - 1/2 GF1 + 1/2 GF2",
|
|
"vfl-m3-gf-verteilung-alles-auslauf": "\n No GF1 room at the inlet chosen - full compensation moves to GF2 (outlet).",
|
|
"vfl-m3-vert-halb": "1/2 GF1 + 1/2 GF2",
|
|
"vfl-m3-vert-ganz": "all GF1",
|
|
"vfl-m3-vert-auslauf": "all GF2 (outlet)",
|
|
"vfl-m3-vario-ergebnis": "\n -> Vario %1 (%2), L_VF %3 mm, GF total %4 mm, distribution %5",
|
|
"vfl-m3-warnung-gf2-negativ": "\n WARNING: body climbs too little - GF2<0 (missing %1 mm). Angle too shallow; dZ not exact.",
|
|
"vfl-m3-gf2-ausgleich": "\n GF2 (measured compensation): L=%1 mm",
|
|
"vfl-m3-kurve-back-uebersprungen": "\n >>> [M3a] Vario curve in back run - skipped.",
|
|
"vfl-m3-nichts-gebaut": "\nNothing built - aborting.",
|
|
"vfl-m3-fertig-header": "\n>>> VF line path (mode 2) built! <<<",
|
|
"vfl-m3-ziel-soll": "\n Target (nominal): X=%1 Y=%2 Z=%3",
|
|
"vfl-m3-es-ist": "\n ES (actual): X=%1 Y=%2 Z=%3",
|
|
"vfl-m3-abweichung": "\n Deviation: dX=%1 dY=%2 dZ=%3 mm",
|
|
"vfl-m3-laengs-quer": "\n Along KS_AUS axis: %1 mm | across axis (should be ~0): %2 mm",
|
|
"vfl-m3-achse-hinweis": "\n (dZ=target height; across KS_AUS axis ~0 => end point lies on the axis)",
|
|
"vfl-m3-ziel-soll-es-korrigiert": "\n Target (ES-corrected): X=%1 Y=%2 Z=%3 (target + known ES lateral offset)",
|
|
"vfl-m3-abweichung-es-korrigiert": "\n Deviation (ES-corrected): dX=%1 dY=%2 dZ=%3 mm",
|
|
"gf-fehler-block-fehlt": "\n ERROR: block '%1' missing",
|
|
"gf-fehler-block-fehlt-ausruf": "\n ERROR: block '%1' missing!",
|
|
"gf-fehler-blockdatei-fehlt": "\n ERROR: block file not found: %1",
|
|
"gf-fehler-keine-linie": "\n Error: no line!",
|
|
"gf-laenge-null-uebersprungen": "\n (length 0 - skipped)",
|
|
"gf-prompt-linie-waehlen": "\n >> Select line: ",
|
|
"gf-status-3dlinie-z": "\n 3D line: 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 Slope arc %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 WARNING: %1 missing - using zero values",
|
|
"gf-warnung-ks-fehlt": "\n WARNING: KS_EIN/KS_AUS missing!",
|
|
"gf-warnung-ks-fehlt-in": "\n WARNING: KS missing in '%1'",
|
|
"gf-warnung-ks-fehlt-in2": "\n WARNING: KS missing in %1",
|
|
"kreisel-abstand-ausgabe": "\n-> Distance: %1 mm",
|
|
"kreisel-beschriftung-erzeugt": "\n-> Label: %1 (height=%2mm, Arial, centered)",
|
|
"kreisel-bestehende-blockdef": "\n-> Using existing block definition: %1",
|
|
"kreisel-connect-zusammenfassung": "\n-> Distance: %1 mm Rotation: %2 deg Height: %3 Kreisel type: %4",
|
|
"kreisel-eckrad-eingefuegt": "\n-> Eckrad #%1 inserted: %2 at %3,%4 rotation=%5 height=%6",
|
|
"kreisel-edit-aktualisiert": "\nKreisel updated: Name=%1 Distance=%2 Height=%3 Rotation=%4",
|
|
"kreisel-edit-bestehend": "\n-> Existing: Distance=%1 Rotation=%2 Type=%3",
|
|
"kreisel-edit-dialog-fehlt": "Dialog not available: %1",
|
|
"kreisel-eingefuegt": "\n-> Kreisel #%1 inserted: %2 (height=%3)",
|
|
"kreisel-emsg-distanz-klein": "Distance too small! (%1 < %2)",
|
|
"kreisel-hoehe-aus-3dpunkt": "\n-> Height taken from 3D point: %1",
|
|
"kreisel-hoehe-aus-basispunkt": "\n-> Height taken from base point: %1",
|
|
"kreisel-hoehe-aus-startpunkt": "\n-> Height taken from start point: %1",
|
|
"kreisel-hoehe-von-bestehendem": "\n-> Height taken from existing Kreisel: %1",
|
|
"kreisel-insert-zusammenfassung": "\n-> Rotation: %1 Height: %2 Kreisel type: %3",
|
|
"kreisel-labelsetup-fertig": "\nNew settings: Height=%1, Colour=%2, Y offset=%3, Font=Arial",
|
|
"kreisel-neue-beschriftungsposition": "\nNew label position: X=%1 Y=%2",
|
|
"kreisel-neue-blockdef": "\n-> New block definition: %1",
|
|
"kreisel-neue-texthoehe": "\nNew text height: %1",
|
|
"kreisel-params-default-hoehe": "\nDefault height: %1",
|
|
"kreisel-params-default-laenge": "\nDefault length: %1",
|
|
"kreisel-params-durchmesser": "\nDiameter: %1",
|
|
"kreisel-params-typ": "\nKreisel type: %1",
|
|
"kreisel-prompt-abstand": "\nDistance (tangent length) <%1>: ",
|
|
"kreisel-prompt-abstand-oben": "\nDistance above Kreisel centre <%1>: ",
|
|
"kreisel-prompt-hoehe-z": "\nHeight (Z coordinate) <%1>: ",
|
|
"kreisel-prompt-neue-hoehe": "\nNew height <%1>: ",
|
|
"kreisel-prompt-neuer-abstand": "\nNew distance <%1>: ",
|
|
"kreisel-prompt-schriftfarbe": "\nFont colour (1=Red,2=Yellow,3=Green,4=Cyan,5=Blue,6=Magenta,7=White) <%1>: ",
|
|
"kreisel-prompt-schrifthoehe": "\nFont height <%1>: ",
|
|
"kreisel-prompt-texthoehe": "\nText height <%1>: ",
|
|
"kreisel-prompt-x-abstand": "\nX distance from AN8 centre <%1>: ",
|
|
"kreisel-prompt-y-abstand": "\nY distance from AN8 centre <%1>: ",
|
|
"kreisel-redraw-bestehend": "\n-> Existing: Distance=%1 Rotation=%2 Height=%3 Type=%4",
|
|
"kreisel-redraw-fertig": "\nKreisel redrawn. Distance=%1",
|
|
"kreisel-script-distanz-klein": "\n[Connect] Distance too small: %1",
|
|
"kreisel-textstil-erstellt": "\n-> Text style '%1' created with Arial",
|
|
"kreisel-typ-prompt": "\nPlease choose <%1>: ",
|
|
"omni-bogen-info-antriebsart": "\n Drive type: %1",
|
|
"omni-bogen-info-breite": "\n Width: %1",
|
|
"omni-bogen-info-kurvenwinkel": "\n Curve angle: %1",
|
|
"omni-bogen-info-laenge": "\n Length: %1",
|
|
"omni-bogen-info-profiltyp": "\n Profile type: %1",
|
|
"omni-bogen-info-radius": "\n Radius: %1",
|
|
"omni-bogen-nicht-gefunden": "\nNo arc with Sivas ID '%1' found.",
|
|
"omni-dxf-eingefuegt": "\n[OMNI] %1 inserted. Height=%2 Rotation=%3%4",
|
|
"omni-edit-aktualisiert": "\n[OMNI] Element updated: %1 Height=%2 Rotation=%3",
|
|
"omni-edit-dxf-nicht-gefunden": "DXF not found: %1",
|
|
"omni-einfuegen-info": "\n[OMNI] Inserting: %1 (%2)",
|
|
"omni-fehler-dxf-nicht-gefunden": "\n[OMNI] ERROR: DXF not found: %1",
|
|
"omni-insert-block-eingefuegt": "\n[OMNI] %1 inserted. Length=%2 mm",
|
|
"omni-laenge-ueberschritten": "The requested travel path length of %1 mm exceeds the maximum length of %2 mm of the travel path profile.\nPlease redefine!",
|
|
"omni-weiche-info-breite": "\n Width: %1",
|
|
"omni-weiche-info-kurvenrichtung": "\n Curve direction:%1",
|
|
"omni-weiche-info-kurvenwinkel": "\n Curve angle: %1",
|
|
"omni-weiche-info-laenge": "\n Length: %1",
|
|
"omni-weiche-info-profiltyp": "\n Profile type: %1",
|
|
"omni-weiche-info-schaltungstyp": "\n Switch type: %1",
|
|
"omni-weiche-info-weichentyp": "\n Type of switch: %1",
|
|
"omni-weiche-info-wklaenge": "\n WK length: %1",
|
|
"omni-weiche-nicht-gefunden": "\nNo switch with Sivas ID '%1' found.",
|
|
"vfc-3dlinie-start-ende": "\n 3D line:\n Start: X=%1 Y=%2 Z=%3\n End: X=%4 Y=%5 Z=%6",
|
|
"vfc-3dpolylinie-start-ende": "\n 3D polyline:\n Start Z=%1 End Z=%2",
|
|
"vfc-block-einfuegepunkt": "\n Block insertion point: X=%1 Y=%2 Z=%3",
|
|
"vfc-block-eingefuegt-ksaus": "\n '%1' inserted\n KS_AUS: X=%2 Y=%3 Z=%4",
|
|
"vfc-delta-l-h-richtung": "\n %1L=%2 mm %1H=%3 mm Travel direction=%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 ERROR: block file not found: %1",
|
|
"vfc-fehler-block-nicht-in-bibliothek": "\n ERROR: block '%1' not in library",
|
|
"vfc-fehler-block-nicht-in-bibliothek-abgebrochen": "\n ERROR: block '%1' not in library - cancelled",
|
|
"vfc-fehler-ks-fehlen": "\n ERROR: KS_EIN/KS_AUS missing in '%1'",
|
|
"vfc-fehler-ungueltiger-einfuegepunkt": "\n ERROR: invalid insertion point for '%1'",
|
|
"vfc-fuege-block-ein-hz": "\n Inserting block '%1'... (hz=%2%3)",
|
|
"vfc-fuege-block-ein-rotation-hz": "\n Inserting block '%1' (rotation %2%3 hz=%4%5)",
|
|
"vfc-fuege-ein-lwhz": "\n Inserting '%1' (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 Loading block: %1 ...",
|
|
"vfc-laenge-uebersprungen": "\n Length=%1 mm -> skipped",
|
|
"vfc-punkt-auf-objekt": "\n Point on object: Z=%1 mm",
|
|
"vfe-as30-mass": "\n AS_30_rechts: dx=%1 mm, dz=%2 mm",
|
|
"vfe-block-fehlt-abbruch": "\n ERROR: block '%1' not in library - cancelled",
|
|
"vfe-bogen-nicht-vorhanden": "\n %1 -> arc not available",
|
|
"vfe-delta-info": "\nΔL=%1 mm ΔH=%2 mm Direction=%3",
|
|
"vfe-empfohlener-winkel": "\n>>> Recommended angle: %1",
|
|
"vfe-es30-mass": "\n ES_30_rechts: dx=%1 mm, dz=%2 mm",
|
|
"vfe-extrahiere-block-mass": "\n Extracting %1 dimensions...",
|
|
"vfe-gefaellebogen-links-mass": "\n Slope arc left: dx=%1 dz=%2 mm",
|
|
"vfe-gefaellebogen-rechts-mass": "\n Slope arc right: dx=%1 dz=%2 mm",
|
|
"vfe-gefaellebogen-seite-dx": "\n Slope arc %1: dx=%2 mm",
|
|
"vfe-rand-budget": "\n Edge budget: inlet=%1 mm outlet=%2 mm (outlet queue section %3 mm)",
|
|
"vfe-rand-budget-fallback": "\n WARNING: edge budget unavailable (block or CS missing) - falling back to approximation, length may deviate.",
|
|
"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 WARNING: KS missing in '%1' - using start point",
|
|
"vfe-step1-as30": "\n\n1/15: %1 (0 deg)",
|
|
"vfe-step2": "\n\n2/15: Buffer section 400mm (%1 deg hz, 3 deg vert, KS_EIN)",
|
|
"vfe-step3": "\n\n3/15: Separator (300mm, %1 deg hz, 3 deg vert)",
|
|
"vfe-step4": "\n\n4/15: %1 (start, %2 deg hz, 0 deg vert, KS_EIN)",
|
|
"vfe-step5-strecke": "\n\n5/15: Slope section (3 deg, L=%1 mm)",
|
|
"vfe-step7": "\n\n7/15: %1 (3 deg inclined)",
|
|
"vfe-step8-ab": "\n\n8/15: Slope section (%1 deg, L=%2 mm)",
|
|
"vfe-step8-auf": "\n\n8/15: Incline section (%1 deg, L=%2 mm)",
|
|
"vfe-tabelle-zeile": "\n %1 %2 mm %3 mm ",
|
|
"vfe-tabelle-zeile-fehler": "\n %1 --- --- ERROR",
|
|
"vfl-20m-hinweis": "\n >>> NOTE: conveyor longer than 20 m (%1 m) - motor station recommended!",
|
|
"vfl-block-erstellt": "\n>>> Block '%1' (%2) created and inserted.",
|
|
"vfl-fehler-rest-nicht-baubar": "\n ERROR: remainder cannot be built (too steep/too short for tail motor+GF2+separator+ES). Please continue drawing or plan flatter.",
|
|
"vfl-fehler-rest-nicht-baubar-mit-vorschlag": "\n ERROR: not buildable at target height %1 mm (distance dL=%2 mm, height difference dH=%3 mm, %4) - too steep/too short for tail motor+GF2+separator+ES. An approximately buildable target height would be:%5",
|
|
"vfl-fehler-rest-nicht-baubar-ohne-vorschlag": "\n ERROR: not buildable at target height %1 mm (distance dL=%2 mm, height difference dH=%3 mm, %4) - no alternative target height was found for this distance either. Please draw a longer distance or plan flatter.",
|
|
"vfl-vorschlag-ab-auf": " down to %1 mm or up to %2 mm",
|
|
"vfl-vorschlag-nur-ab": " down to %1 mm (up is not buildable at this distance)",
|
|
"vfl-vorschlag-nur-auf": " up to %1 mm (down is not buildable at this distance)",
|
|
"vfl-alert-kettenende-p1": "1. Target ΔL=%1 mm, ΔH=%2 mm (%3): angled Vario (angle table) not buildable.",
|
|
"vfl-alert-kettenende-p2-beide": "\n\n2. Horizontal+GF not buildable - would need at least ΔL=%1 mm OR at least ΔH=%2 mm.",
|
|
"vfl-alert-kettenende-p2-nur-minh": "\n\n2. Horizontal+GF not buildable - would need at least ΔH=%1 mm of height change.",
|
|
"vfl-alert-kettenende-p2-nur-minl": "\n\n2. Horizontal+GF not buildable - would need at least ΔL=%1 mm of distance.",
|
|
"vfl-alert-vf-entscheidung-p1": "1. Target ΔL=%1 mm, ΔH=%2 mm (%3): angle table not buildable.",
|
|
"vfl-alert-vf-entscheidung-p2-beide": "\n\n2. At least needed: ΔL=%1 mm OR ΔH=%2 mm.",
|
|
"vfl-alert-vf-entscheidung-p2-nur-minh": "\n\n2. At least needed: ΔH=%1 mm of height change.",
|
|
"vfl-alert-vf-entscheidung-p2-nur-minl": "\n\n2. At least needed: ΔL=%1 mm of distance.",
|
|
"vfl-stufe1-start": "\n\n[Diagnosis stage 1 - VF angle search]",
|
|
"vfl-stufe2-diagnose": "\n\n[Diagnosis stage 2 - horizontal+GF] deltaL=%1 mm deltaH=%2 mm -> GF_total=%3 mm L_VF=%4 mm (%5)",
|
|
"vfl-stufe2-diagnose-details": "\n [Details] already-flat=%1 | aus-dx=%2 mm (entry, should be 0) | ein-dx=%3 mm ein-dz=%4 mm (ES element) | bogen-x1=%5 mm bogen-z1=%6 mm (entry bend 3->0 deg, only if not already-flat) | bogen-x2=%7 mm bogen-z2=%8 mm (exit bend 0->3 deg, always) | FESTE_HORIZONTAL=%9 mm (separator+motor station)",
|
|
"vfl-stufe2-fest-kettenende": "\n Motor station+separator+ES require: length=%1 mm, height drop=%2 mm (fixed, independent of angle)",
|
|
"vfl-stufe2-fest-eingang": "\n Reversing station+separator+motor station+ES require: length=%1 mm, height drop=%2 mm (fixed, independent of angle)",
|
|
"vfl-stufe2-minl": "\n [Minimum distance] Without a straight VF section (GF sized to the target height): at least %1 mm of distance needed (available: %2 mm)",
|
|
"vfl-stufe2-minl-unmoeglich": "\n [Minimum distance] Not solvable via distance: even without a GF bend the height already changes by %1 mm - the target only calls for %2 mm (not enough height difference for the fixed incline)",
|
|
"vfl-stufe2-minh": "\n [Fixed value without GF bend] Remainder as a straight VF section (height-neutral): this split ALWAYS results in exactly %1 mm of height change, regardless of length - but the target height calls for %2 mm, so this only fits on an exact match",
|
|
"vfl-stufe2-minh-unmoeglich": "\n [Fixed value without GF bend] Not solvable via target height: even without a straight VF section and without a GF bend, the fixed footprint is already %1 mm - the distance only offers %2 mm",
|
|
"vfl-stufe2-ungueltig": "\n Stage 2 (horizontal+GF) was invalid - stage 1 (VF angle search) was tried instead (see table above).",
|
|
"vfl-stufe3-start": "\n\n[Diagnosis stage 3 - angle + horizontal filler] Stage 1 and stage 2 failed, trying a combination of a steep S-bend and a horizontal remainder piece ...",
|
|
"vfl-frage-stufe3-position": "\n\nThe section needs an S-bend COMBINED with a straight horizontal piece. Where should the horizontal piece go?",
|
|
"vfl-opt-stufe3-vor": "\n 1 - Horizontal piece BEFORE the S-bend",
|
|
"vfl-opt-stufe3-nach": "\n 2 - Horizontal piece AFTER the S-bend",
|
|
"vfl-frage-gf2-minimum": "\n Calculated GF2=%1 mm is below the usual minimum length (%2 mm).\n Yes = build with the exact calculated %1 mm (hits the target point exactly).\n No = pad up to %2 mm (target point shifts further accordingly).",
|
|
"vfl-fuege-block-ein": "\n Inserting %1 ...",
|
|
"vfl-hinweis-gf2-minimum": "\n NOTE: calculated GF2=%1 mm < minimum %2 mm -> raised to minimum (ES therefore ends a bit further on; see actual-vs-target report).",
|
|
"vfl-horizontale-zwischenstrecke": "\n\nHorizontal intermediate section (0 deg, L=%1 mm)",
|
|
"vfl-hinweis-horizontal-fussabdruck-geklemmt": "\n Note: the remaining length here would have been only %1 mm (minimum %2 mm) - clamped to the minimum; the chain point will therefore end up further along than clicked.",
|
|
"vfl-kettenende-modus-ziel": "\n>>> Chain-end mode: target dL=%1 mm, dH=%2 mm (%3). GF2 varies with the angle.",
|
|
"vfl-prompt-hoehe-endpunkt": "\nHeight (Z) of the end point [%1]: ",
|
|
"vfl-prompt-hoehe-endpunkt-2": "\nHeight (Z) of the end point (down: %1 | up: %2) [%1]: ",
|
|
"vfl-prompt-hoehe-endpunkt-3": "\nHeight (Z) of the end point (down: %1 | up: %2 | picked: %3) [%3]: ",
|
|
"vfl-prompt-hoehe-kettenende": "\nHeight (Z) of the chain end (ES element) [%1]: ",
|
|
"vfl-prompt-hoehe-kettenende-2": "\nHeight (Z) of the chain end (ES element) (down: %1 | up: %2) [%1]: ",
|
|
"vfl-prompt-hoehe-kettenende-3": "\nHeight (Z) of the chain end (ES element) (down: %1 | up: %2 | picked: %3) [%3]: ",
|
|
"vfl-prompt-wahl-bis-n": "\nYour choice (1-%1) [1]: ",
|
|
"vfl-frage-auf-ab-richtung": "\n\nChain arrives flat - no target height available. Choose direction:",
|
|
"vfl-opt-richtung-auf": "\n 1 - Up",
|
|
"vfl-opt-richtung-ab": "\n 2 - Down",
|
|
"vfl-winkel-hoehen-header": "\n\nAvailable angles and the resulting end height - please choose:",
|
|
"vfl-winkel-hoehen-option": "\n %1 - %2 deg (end height: %3 mm)",
|
|
"vfl-winkel-hoehen-zeile": "\n %1 deg - end height: %2 mm",
|
|
"vfl-winkel-hoehen-zeile-ungueltig": "\n %1 deg - not buildable (bend does not fit into the chosen distance)",
|
|
"vfl-winkel-hoehen-zeile-tile": "end height: %1 mm",
|
|
"vfl-winkel-wahl-zeile-tile": "L_GF=%1 mm L_VF=%2 mm",
|
|
"vfl-winkel-zeile-tile-ungueltig": "not buildable (bend does not fit into the chosen distance)",
|
|
"vfl-prompt-richtung-waehlen": "\n\nChoose direction (click a point in the desired direction - the distance is ignored): ",
|
|
"vfl-winkel-hoehen-abweichung": "\n [Note] Target-vs-actual check: predicted end height %1 mm, actually reached %2 mm.",
|
|
"vfl-antwort-ja": "Yes",
|
|
"vfl-antwort-nein": "No",
|
|
"vfl-wizard-antwort-echo": "\n -> Dialog selection: %1",
|
|
"vfl-segment-gf-nicht-erlaubt": "\n Segment would be GF (too steep) or not buildable - not allowed within a VF unit.\n Please draw flatter/rising or end the conveyor.",
|
|
"vfl-winkel-option": "\n %1 - %2 deg (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 Direction=%3",
|
|
"vfs-block-fehlende-item": "\n - %1",
|
|
"vfs-block-fehler-pfad": "\n ERROR: DXFM_BLOCKS = %1",
|
|
"vfs-bogen-ab-block-fehlt": "\n ERROR ab_%1: block not loaded!",
|
|
"vfs-bogen-ab-ks-fehlt": "\n ERROR ab_%1: KS missing!",
|
|
"vfs-bogen-ab-ok": "\n OK ab_%1: dx=%2 dz=%3",
|
|
"vfs-bogen-auf-block-fehlt": "\n ERROR auf_%1: block not loaded!",
|
|
"vfs-bogen-auf-ks-fehlt": "\n ERROR auf_%1: KS missing!",
|
|
"vfs-bogen-auf-ok": "\n OK auf_%1: dx=%2 dz=%3",
|
|
"vfs-empfohlener-winkel": "\n>>> Recommended angle: %1%2",
|
|
"vfs-es90-mass": "\n ES_90: dx=%1 dz=%2",
|
|
"vfs-fehler-winkel-tabelle": "\n ERROR: angle %1 not in arc table!",
|
|
"vfs-schritt-as": "\n\n1/11: %1 (hz=%2%3)",
|
|
"vfs-schritt5-bogen1": "\n\n5/11: %1 (3 deg inclined)",
|
|
"vfs-tabelle-zeile": "\n %1%2 %3 mm %4 mm ",
|
|
"vfs-tabelle-zeile-fehler": "\n %1%2 --- --- ERROR",
|
|
"vfs-vf-eingang-gf1": "\n\n[VF-Eingang] Slope section GF1 (3 deg, L=%1 mm)",
|
|
"kreisel-abbruch-befehl": "\nCommand cancelled.",
|
|
"kreisel-abgebrochen": "\nCancelled.",
|
|
"kreisel-connect-erfolgreich": "\nKreisel Connect successful!",
|
|
"kreisel-connect-header": "\n--- Define Kreisel by line (AN -> SP) ---",
|
|
"kreisel-eckrad-beruehrpunkt": "\nTangent point Eckrad (tangent): ",
|
|
"kreisel-eckrad-fehler-identisch": "\nError: tangent point and direction point are identical!",
|
|
"kreisel-eckrad-richtung": "\nDirection to circle centre: ",
|
|
"kreisel-emsg-kein-block": "No block selected!",
|
|
"kreisel-emsg-kein-kreisel-block": "Not a Kreisel block! (attribute ABSTAND missing)",
|
|
"kreisel-fehler-keine-entities": "\nError: no entities to create block!",
|
|
"kreisel-insert-fertig": "\nKreisel module inserted.",
|
|
"kreisel-params-attribute-header": "\nAttributes in block:",
|
|
"kreisel-params-header": "\n=== Kreisel parameters ===",
|
|
"kreisel-prompt-basispunkt": "\nBase point (AN side): ",
|
|
"kreisel-prompt-block-auswaehlen": "\nSelect Kreisel block: ",
|
|
"kreisel-prompt-endpunkt": "\nEnd point (SP side, outer): ",
|
|
"kreisel-prompt-rotation": "\nRotation in degrees <0>: ",
|
|
"kreisel-prompt-startpunkt": "\nStart point (AN side, outer): ",
|
|
"kreisel-quick-fertig": "\nQuick insert done.",
|
|
"kreisel-start-connect": "Kreisel Smart Connect",
|
|
"kreisel-start-eckrad": "Insert Eckrad",
|
|
"kreisel-start-eckrad-edit": "Edit Eckrad",
|
|
"kreisel-prompt-eckrad-auswaehlen": "\nSelect Eckrad block: ",
|
|
"kreisel-emsg-kein-eckrad-block": "Not an Eckrad block! (block name ECKRAD_* expected)",
|
|
"kreisel-eckrad-ungueltige-zahl": "Height and rotation must be numbers.",
|
|
"kreisel-eckrad-edit-aktualisiert": "\nEckrad updated: Name=%1 Height=%2 Rotation=%3",
|
|
"kreisel-start-edit": "Edit Kreisel",
|
|
"kreisel-start-insert": "Insert Kreisel module",
|
|
"kreisel-start-quick": "Kreisel quick insert",
|
|
"kreisel-start-redraw": "Redraw Kreisel",
|
|
"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 (without PIN)",
|
|
"kreisel-warn-blockpfad": "\n[KreiselInsert] WARNING: block path not determinable!",
|
|
"kreisel-warn-core-fehlt": "\n[KreiselInsert] WARNING: ssg_core.lsp not found - using defaults.",
|
|
"omni-abbruch": "\nCancelled.",
|
|
"omni-abbruch-bogen": "\n[ARC] Cancelled.",
|
|
"omni-abbruch-ladeschleife": "\n[LOADING LOOP] Cancelled.",
|
|
"omni-ladeschleife-dialog-ladefehler": "Loading loop dialog could not be loaded.",
|
|
"omni-ladeschleife-keine-gefunden": "No loading loops%1 found.",
|
|
"omni-abbruch-omni": "\n[OMNI] Cancelled.",
|
|
"omni-abbruch-weiche": "\n[SWITCH] Cancelled.",
|
|
"omni-bogen-dialog-ladefehler": "Arc dialog could not be loaded.",
|
|
"omni-edit-kein-block": "No block selected!",
|
|
"omni-edit-kein-element": "No Omniflo element recognised! (ARTINR/block name not in catalog)",
|
|
"omni-edit-prompt-auswahl": "\nSelect Omniflo element: ",
|
|
"omni-fehler-dxfm-data": "\n[OMNI] ERROR: DXFM_DATA not set!",
|
|
"omni-fehler-dxfm-omniflo": "\n[OMNI] ERROR: DXFM_OMNIFLO not set!",
|
|
"omni-info-bogen-prompt": "\nEnter Sivas ID of the arc: ",
|
|
"omni-info-weiche-prompt": "\nEnter Sivas ID of the switch: ",
|
|
"omni-insert-keine-attribute": "\n[OMNI] No attributes found on source block.",
|
|
"omni-prompt-drehwinkel": "\nSpecify rotation angle: ",
|
|
"omni-prompt-einfuegepunkt": "\nSelect insertion point: ",
|
|
"omni-prompt-endpunkt-fahrstrecke": "\nSelect end point of the travel path: ",
|
|
"omni-weiche-dialog-ladefehler": "Switch dialog could not be loaded.",
|
|
"prompt-wahl-1-2-3-4": "\nYour choice (1/2/3/4) [1]: ",
|
|
"vfc-alert-keine-gueltige-linie": "No valid line selected!",
|
|
"vfc-bitte-3dlinie-foerderstrecke": "\nPlease select a 3D line for the conveyor section:",
|
|
"vfc-bks-weltkoordinaten": "\n UCS set to world coordinates.",
|
|
"vfc-dlg-startpunkt-kopf": "Select start point of the system (X/Y):",
|
|
"vfc-eingabemodus-3dlinie": "\n 1 - Select 3D line (start and end point with height)",
|
|
"vfc-eingabemodus-header": "\n\nSelect input mode:",
|
|
"vfc-eingabemodus-werte": "\n 2 - Enter values manually",
|
|
"vfc-fehler-keine-linie": "\n ERROR: No line or polyline selected!",
|
|
"vfc-foerderrichtung-ab": "\n Conveying direction: DOWN",
|
|
"vfc-foerderrichtung-auf": "Up",
|
|
"vfc-kein-objekt-gewaehlt": "\n No object selected.",
|
|
"vfc-label-von-bis": ": from %1mm to %2mm, ",
|
|
"vfc-linie-polylinie-waehlen": "\n >> Select 3D line or polyline: ",
|
|
"vfc-modus-3dlinie-header": "\n\n>>> MODE: Select 3D line <<<",
|
|
"vfc-objekt-block-waehlen": "\n >> Select object (block): ",
|
|
"vfc-prompt-startpunkt-aus": "\nSelect start point for AUS_Element: ",
|
|
"vfc-prompt-wahl-1-2-ohne-default": "\nYour choice (1/2): ",
|
|
"vfc-status-ok": " OK",
|
|
"vfc-warnung-ks-nicht-gefunden": "\n WARNING: KS_EIN/KS_AUS not found!",
|
|
"vfc-block-erstellt-eingefuegt": "\n>>> Block '%1' created and inserted.",
|
|
"vfc-fehler-keine-entities": "\n>>> ERROR: No entities found for block!",
|
|
"vfc-banner-titel": "\n VARIOFOERDERER GENERATOR v26.0",
|
|
"vfc-alert-keine-typen": "No types registered!\nCheck vf_standard.lsp and vf_etage.lsp.",
|
|
"vfc-typ-vorgewaehlt": "\n>>> Type preselected: %1",
|
|
"vfc-anlagen-typ-header": "\n\nSelect system type:",
|
|
"vfc-typ-option": "\n %1 - %2",
|
|
"vfc-prompt-wahl-1-n": "\nYour choice (1-%1) [1]: ",
|
|
"vfc-typ-gewaehlt": "\n>>> Type: %1",
|
|
"vfc-naechste-vf-nummer": "\n>>> Next VF number: VF%1",
|
|
"vfc-alert-kein-winkel": "No suitable angle found!\n%1L=%2 mm, %1H=%3 mm, direction=%4",
|
|
"vfc-vorgang-abgebrochen": "\nProcess cancelled.",
|
|
"vfs-dlg-richtung-auf": "Up",
|
|
"vfs-dlg-richtung-ab": "Down",
|
|
"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": "Even (L_GF1 = L_GF2 = L_GF/2)",
|
|
"vfs-dlg-verteilung-2": "Front minimum, rear remainder",
|
|
"vfs-dlg-verteilung-3": "Rear minimum, front remainder",
|
|
"vfs-dlg-verteilung-4": "Enter custom values",
|
|
"vfs-edit-kein-vf": "Block %1 is not a VarioFoerderer conveyor.",
|
|
"vfs-edit-keine-xdata": "VarioFoerderer %1 was not created with this dialog (Etage/Linienzug/legacy) and cannot be edited here.",
|
|
"vfs-edit-neu-aufgebaut": "\nVarioFoerderer %1 rebuilt.",
|
|
"vfe-alert-bib-nicht-init": "Etage library not initialised!",
|
|
"vfe-berechnung-header": "\n ETAGE CALCULATION FOR ALL ANGLES",
|
|
"vfe-bib-bereits-init": "\n Etage library already initialised.",
|
|
"vfe-bib-init-erfolg": "\n Etage library successfully initialised.",
|
|
"vfe-bib-initialisiere": "\n Initialising Etage library...",
|
|
"vfe-ergebnistabelle-header": "\n RESULT TABLE (L_GF = total of both GF sections)",
|
|
"vfe-extrahiere-as30": "\n Extracting AS_30_rechts dimensions...",
|
|
"vfe-extrahiere-es30": "\n Extracting ES_30_rechts dimensions...",
|
|
"vfe-kein-winkel-gefunden": "\n>>> NO matching angle found!",
|
|
"vfe-status-gueltig": "VALID",
|
|
"vfe-status-ungueltig": "INVALID (negative length)",
|
|
"vfe-step5-skip": "\n\n5/15: L_GF1 (skipped)",
|
|
"vfe-step6": "\n\n6/15: deflection station (500mm, 3 degrees inclined)",
|
|
"vfe-step8-skip": "\n\n8/15: L_VF (skipped)",
|
|
"vfe-tabelle-spalten": "\n Angle L_GF (mm) L_VF (mm) Status",
|
|
"vfe-warn-block-as30-fehlt": "\n WARNING: block AS_Element_30_rechts missing - using defaults",
|
|
"vfe-warn-block-es30-fehlt": "\n WARNING: block ES_Element_30_rechts missing - using defaults",
|
|
"vfe-warn-block-fehlt-links": "\n WARNING: block missing - using defaults (left)",
|
|
"vfe-warn-block-fehlt-rechts": "\n WARNING: block missing - using defaults (right)",
|
|
"vfe-warn-kein-ks-links": "\n WARNING: no KS - using defaults (left)",
|
|
"vfe-warn-kein-ks-rechts": "\n WARNING: no KS - using defaults (right)",
|
|
"vfe-warn-ks-fehlt-standard": "\n WARNING: KS missing - using defaults",
|
|
"vfe-warn-lisp-pfad": "\n[vf_etage] WARNING: Lisp path not determinable - cannot load vf_core.lsp!",
|
|
"vfl-abgebrochen-kein-ziel": "\n Cancelled - no target point selected.",
|
|
"vfl-bogen-ab3-uebergang": "\n\nVario_Bogen_ab_3 (transition horizontal -> 3 degrees)",
|
|
"vfl-bogen-auf3-uebergang": "\n\nVario_Bogen_auf_3 (transition 3 degrees -> horizontal)",
|
|
"vfl-gf-bogen-ab3-uebergang": "\n\nGF bogen Vario_Bogen_ab_3 (transition horizontal -> 3 degrees, GF-only)",
|
|
"vfl-gf-bogen-auf3-uebergang": "\n\nGF bogen Vario_Bogen_auf_3 (transition 3 degrees -> horizontal, GF-only)",
|
|
"vfl-gf-bogen-auf6-uebergang": "\n\nGF bogen Vario_Bogen_auf_6 (transition falling -> rising, 6 degrees, GF-only)",
|
|
"vfl-gf-bogen-ab6-uebergang": "\n\nGF bogen Vario_Bogen_ab_6 (transition rising -> falling, 6 degrees, GF-only)",
|
|
"vfl-gf-bogen-block-fehlt": "\n[GF bogen] Block '%1' not found - see data/ils.",
|
|
"vfl-gf-bogen-ks-fehlt": "\n[GF bogen] KS_EIN/KS_AUS in '%1' missing or unreadable.",
|
|
"vfl-gf-verteilung-ganz-einlauf": "\n 2 - Entire buffer section at inlet (GF1), no GF2",
|
|
"vfl-gf-verteilung-haelfte": "\n 1 - 1/2 GF at outlet (GF2), 1/2 GF at inlet (GF1)",
|
|
"vfl-gf-verteilung-header": "\n\nBuffer section (GF) - choose distribution:",
|
|
"vfl-ist-endpunkt-frage": "\n\nIs this the end point of the conveyor?",
|
|
"vfl-ist-kettenende-frage": "\n\nIs this the chain end (ES element)?",
|
|
"vfl-ja-motorstation-kettenende": "\n 3 - Yes (set motor station, define chain end)",
|
|
"vfl-ja-nur-motorstation": "\n 1 - Yes (set motor station only)",
|
|
"vfl-ja-separator-es": "\n 1 - Yes (set separator + ES element)",
|
|
"vfl-linie-zu-kurz-simple": "\n Line too short - skipped.",
|
|
"vfl-linie-zu-kurz-uebersprungen": "\n Line too short (or against travel direction) - skipped.",
|
|
"vfl-mehrere-winkel-header": "\n\nSeveral valid angles - please choose the desired angle:",
|
|
"vfl-modus1-beschreibung": "\nMixed slope-section/VarioFoerderer chain along a freely",
|
|
"vfl-modus1-header": "\n VF-LINIENZUG - Mode 1: Manual entry",
|
|
"vfl-naechstes-element-vf": "\n\nNext element in the VarioFoerderer:",
|
|
"vfl-nein-weiterbauen": "\n 2 - No (continue building)",
|
|
"vfl-opt-auf-ab-foerderer": "\n 3 - Up/down conveyor (line with height difference)",
|
|
"vfl-opt-horizontaler-foerderer": "\n 1 - Horizontal conveyor (line without height difference)",
|
|
"vfl-opt-vario-kurve": "\n 2 - Vario curve (30/60/90 degrees)",
|
|
"vfl-prompt-wahl-1-2-def2": "\nYour choice (1/2) [2]: ",
|
|
"vfl-prompt-wahl-1-3-def2": "\nYour choice (1/2/3) [2]: ",
|
|
"vfl-prompt-wahl-1-3-def3": "\nYour choice (1/2/3) [3]: ",
|
|
"vfl-sep-horizontal-info": "\n [horizontal] Separator (300 mm, 0 degrees)",
|
|
"vfs-berechnung-header": "\n CALCULATION FOR ALL ANGLES (Standard)",
|
|
"vfs-block-fehlende-header": "\n The following block files are missing:",
|
|
"vfs-ergebnistabelle-header": "\n RESULT TABLE",
|
|
"vfs-extrahiere-aus": "\n Extracting AUS_Element dimensions...",
|
|
"vfs-extrahiere-bogen": "\n Extracting arc dimensions...",
|
|
"vfs-extrahiere-ein": "\n Extracting EIN_Element dimensions...",
|
|
"vfs-fehler-block-as90": "\n ERROR: block AS_Element_90_links not loaded!",
|
|
"vfs-fehler-block-es90": "\n ERROR: block ES_Element_90_links not loaded!",
|
|
"vfs-fehler-ks-as90": "\n ERROR: KS_EIN/KS_AUS missing in AS_90!",
|
|
"vfs-fehler-ks-es90": "\n ERROR: KS_EIN/KS_AUS missing in ES_90!",
|
|
"vfs-fehler-lib-nicht-init": "\n ERROR: library not correctly initialised (AUS/EIN dimensions missing)!",
|
|
"vfs-kein-winkel-gefunden": "\n>>> NO matching angle found!",
|
|
"vfs-lib-bereits-init": "\n Standard library already initialised.",
|
|
"vfs-lib-init-erfolg": "\n Standard library successfully initialised.",
|
|
"vfs-lib-init-start": "\n Initialising standard library...",
|
|
"vfs-status-gueltig": "VALID",
|
|
"vfs-status-ungueltig": "INVALID (negative length)",
|
|
"vfs-tabelle-spalten": "\n Angle L_GF (mm) L_VF (mm) Status",
|
|
"vfs-vf-eingang-gf1-skip": "\n\n[VF-Eingang] Slope section GF1 (skipped)",
|
|
"vfs-vf-eingang-separator": "\n[VF-Eingang] Separator (300 mm, 3 degrees inclined)",
|
|
"vfs-vf-eingang-umlenk": "\n[VF-Eingang] Deflection station (500 mm, 3 degrees inclined)",
|
|
"vfs-warn-lisppfad": "\n[vf_standard] WARNING: Lisp path not determinable - cannot load vf_core.lsp!",
|
|
"dim-switch-modus": "\nMode switched to: %1",
|
|
"dim-switch-blocks": "\n DXFM_BLOCKS = %1",
|
|
"dim-switch-omniflo": "\n DXFM_OMNIFLO = %1",
|
|
"dim-batch-fertig": "\nConversion to %1 complete: %2 GF, %3 VF rebuilt (%4 already in target dimension).",
|
|
"sprache-gewechselt": "\nLanguage switched to: %1",
|
|
"cmd-block-auswaehlen": "\nSelect block: ",
|
|
"cmd-kein-block-ausgewaehlt": "\nNo block selected.",
|
|
"cmd-kreisel-bearbeiten": "\nEdit Kreisel: %1",
|
|
"cmd-eckrad-bearbeiten": "\nEdit Eckrad: %1",
|
|
"cmd-gefaelle-bearbeiten": "\nEdit Gefaellestrecke: %1",
|
|
"cmd-variofoerderer-bearbeiten": "\nEdit VarioFoerderer: %1",
|
|
"gf-edit-kein-gf": "Block %1 is not a Gefaellestrecke.",
|
|
"gf-edit-nur-einfach": "Only simple Gefaellestrecken (without arcs) can be edited via the dialog.\nTYP: %1",
|
|
"gf-edit-neu-aufgebaut": "\nGefaellestrecke %1 rebuilt.",
|
|
"gf-vf-modul-fehlt": "VarioFoerderer module not loaded!",
|
|
"gf-vf-gebaut": "\n-> Parallel VarioFoerderer built (2000 mm beside the Gefaellestrecke, opposite direction, rising).",
|
|
"cmd-omniflo-bearbeiten": "\nEdit Omniflo element: %1",
|
|
"cmd-attribute-bearbeiten": "\nEdit attributes: %1",
|
|
"ils-station-prompt-punkt": "\nInsertion point for %1 [ENTER=End]: ",
|
|
"ils-station-fehler-blockdatei": "\n>>> ERROR: block file '%1.dwg' not found (check data/ils).",
|
|
"ils-station-fertig": "\n>>> %1 x %2 inserted.",
|
|
"layer-prompt-ziel-layer": "\nSelect object on the target layer: ",
|
|
"layer-prompt-objekt": "\nSelect object: ",
|
|
"layer-prompt-referenz-objekt": "\nSelect reference object (determines type and layer): ",
|
|
"layer-prompt-typ-ermittlung": "\nClick again to determine the type: ",
|
|
"layer-prompt-ausblenden": "\nClick layer to hide (Enter=End): ",
|
|
"layer-prompt-einfrieren": "\nClick layer to freeze (Enter=End): ",
|
|
"layer-prompt-aktiv-bleibt": "\nSelect object on the layer that stays ACTIVE: ",
|
|
"layer-prompt-name-loeschen": "\nLayer name to delete: ",
|
|
"layer-err-kein-objekt": "No object selected.",
|
|
"layer-err-kein-ziel-layer": "No target layer selected.",
|
|
"layer-err-kein-ziel-layer-kurz": "No target layer.",
|
|
"layer-err-keine-passenden-objekte": "No matching objects found.",
|
|
"layer-abgebrochen": "Cancelled.",
|
|
"layer-err-kein-referenz-objekt": "No reference object selected.",
|
|
"layer-err-aktiv-nicht-ausschalten": "Cannot turn off the active layer!",
|
|
"layer-err-aktiv-nicht-einfrieren": "Cannot freeze the active layer!",
|
|
"layer-aktiver-layer": "\nActive layer: %1",
|
|
"layer-objekt-auf-layer": "\nObject is on layer: %1",
|
|
"layer-nur-layer-sichtbar": "\nOnly layer '%1' is visible.",
|
|
"layer-geloescht": "\nLayer '%1' deleted.",
|
|
"layer-leerer-geloescht": "\nEmpty layer '%1' deleted.",
|
|
"layer-existiert-nicht": "Layer '%1' does not exist.",
|
|
"layer-ques-typ-wechseln": "Change layer of these %1 objects?",
|
|
"layer-ques-alle-loeschen": "Delete all objects on layer '%1'?",
|
|
"core-start-titel": "\n***** %1 *****\n",
|
|
"core-errhan-fehler": "\nError: ",
|
|
"core-blockname-exists": "Block name '%1' already exists - skipping.",
|
|
"core-dwg-not-found": "\nERROR: Block not found: %1",
|
|
"exp-cfg-not-found": "\n[export] WARNING: %1 not found/empty, using defaults.",
|
|
"plq-keine-konfiguration": "\n[DRAW_PLANQUADRATE] WARNING: no [Planquadrate] configuration found in cfg/export.cfg - aborting.",
|
|
"plq-ungueltige-schrittweite": "\n[DRAW_PLANQUADRATE] WARNING: x_step/y_step must be greater than 0 - aborting.",
|
|
"plq-fertig": "\n[DRAW_PLANQUADRATE] Grid drawn: %1 columns x %2 rows on layer '%3'.",
|
|
"plq-geloescht": "\n[DELETE_PLANQUADRATE] Planquadrat grid removed (%1 insertion(s)).",
|
|
"plq-nichts-zu-loeschen": "\n[DELETE_PLANQUADRATE] No Planquadrat grid found in the drawing.",
|
|
"exp-check-ids": "\n[%1] Checking and assigning IDs...",
|
|
"exp-hoehen-aktualisiert": "\nHeight attributes of %1 moved blocks reset from their Z coordinate.",
|
|
"exp-sep-proxy-fehler": "\n[EXPORT] WARNING: copying '%1' out of block '%2' failed (%3) - this element is missing from the export.",
|
|
"exp-sep-zuordnung": "\n[%1] packed separator copy/copies: ZUORDNUNG set from the wrapper block ID.",
|
|
"exp-sep-zuordnung-ohne-id": "\n[%1] packed separator copy/copies without a wrapper ID - ZUORDNUNG determined geometrically.",
|
|
"exp-sepliste-ids": "\n[EXPORT] %1 sepliste entry/entries tagged with the ID of the matching part.",
|
|
"exp-sepliste-ohne-proxy": "\n[EXPORT] WARNING: block '%1': %2 sepliste entry/entries without a matching copy - those entries stay without an ID in the export.",
|
|
"exp-asmark-blockdef": "\n[EXPORT] Block definition '%1' for the AS/ES markers created.",
|
|
"exp-asmark-blockdef-fehler": "\n[EXPORT] WARNING: block definition '%1' could not be created - no AS/ES markers are placed.",
|
|
"exp-asmark-bilanz": "\n[EXPORT] AS/ES markers: %1 new, %2 kept with their previous ID, %3 orphaned ones removed.",
|
|
"exp-unitmark-blockdef": "\n[EXPORT] Block definition '%1' for the unit proxies created.",
|
|
"exp-unitmark-blockdef-fehler": "\n[EXPORT] WARNING: block definition '%1' could not be created - no conveyor/gravity units are exported.",
|
|
"exp-unitmark-bilanz": "\n[EXPORT] Conveyor/gravity units: %1 proxy(s) created, %2 old ones removed.",
|
|
"exp-kette-luecke": "\n[EXPORT] WARNING: chain '%1' is broken (no K1 at the last K2) - %2 element(s) continued as a separate sub-chain, check the unit boundaries there.",
|
|
"exp-hilfskopien-behalten": "\n[EXPORT] csv_leave_proxies=1: %1 %2 remain in the drawing (switch off: (dbg-schalter-off \"csv_leave_proxies\"))",
|
|
"exp-gefroren-ausgelassen": "\n[EXPORT] %1 blocks on frozen layers not exported (can be switched off in CSV_EXPORT_KONFIG).",
|
|
"exp-art-separator": "separator copy(ies)",
|
|
"exp-art-element": "element copy(ies)",
|
|
"exp-art-einheit": "unit proxy(ies)",
|
|
"exp-art-ases": "AS/ES marker(s)",
|
|
"exp-update-hoehe-drehung": "\n[%1] Updating height/rotation...",
|
|
"exp-collect-blocks": "\n[%1] Collecting relevant blocks...",
|
|
"exp-no-blocks-found": "\n[%1] No relevant blocks found.",
|
|
"exp-blocks-found": "\n[%1] %2 blocks found.",
|
|
"exp-output-dir": "\n[%1] Output folder: %2",
|
|
"exp-file-open-error": "\n[%1] ERROR: Cannot open file: %2",
|
|
"exp-json-written": "\n[%1] JSON written: %2",
|
|
"exp-bbox-fail": "\n[Export] WARNING: %1 block(s) without bounding box (vla-getboundingbox failed). First error: %2",
|
|
"exp-calling-python": "\n[%1] Calling Python...",
|
|
"exp-export-started": "\n[%1] Export started: %2",
|
|
"exp-dxfm-lib-missing": "\n[%1] ERROR: Environment variable DXFM_LIB is not set - BricsCAD was probably not started via bin/start_briscad.bat. CSV/JSON were written, the Python call is skipped.",
|
|
"exp-python-not-found": "\n[%1] ERROR: Python script not found: %2",
|
|
"exp-python-exe": "\n[%1] Interpreter: %2",
|
|
"exp-export-done": "\n[%1] Export finished: %2",
|
|
"exp-python-call-failed": "\n[%1] ERROR: Could not start Python (WScript.Shell unavailable).",
|
|
"exp-python-error": "\n[%1] ERROR: Python exited with code %2. Log: %3",
|
|
"exp-python-store-hint": "\n NOTE: No real Python interpreter was found (on Windows 11 'python' points\n to the WindowsApps placeholder). Fix: run bin/install_py.bat (creates .venv)\n and restart BricsCAD via bin/start_briscad.bat, or set the full path to\n python.exe in cfg/export.cfg under [python] interpreter=.",
|
|
"exp-csv-missing": "\n[%1] ERROR: Python reported success but the CSV is missing: %2. Log: %3",
|
|
"exp-omni-no-inserts": "\n[OMNI_UPDATE] No INSERT blocks in the drawing.",
|
|
"exp-omni-updated": "\n[OMNI_UPDATE] %1 elements updated (HEIGHT, ROTATION).",
|
|
"sens-skip": "\n[%1] Separator/scanner assignment up to date (ZUORDNUNG set, sums match) - recomputation skipped.",
|
|
"sens-start": "\n[%1] Checking separator/scanner assignment (ANZAHL_SEPARATOR/ANZAHL_SCANNER)...",
|
|
"sens-no-inserts": "\n[%1] No blocks found in the drawing - sensor assignment skipped.",
|
|
"sens-bbox-fehler": "\n ! Bounding box failed for ILS block '%1'",
|
|
"sens-carrier-zeile": "\n %1 [%2]: ANZAHL_SCANNER=%3, ANZAHL_SEPARATOR=%4 (placed symbols only)",
|
|
"sens-carrier-fehler": "\n ERROR writing the count attributes on %1",
|
|
"sens-summary": "\n[%1] %2 Kreisel/Streckengruppen/Gefaellestrecken updated, %3 scanners total (%4 unassignable), %5 separators total (%6 unassignable).",
|
|
"sens-ergaenzt-header": "\n[%1] %2 scanners outside every Kreisel/track bounding box auto-assigned by distance:",
|
|
"sens-ergaenzt-zeile": "\n Scanner %1 -> %2 (%3mm)",
|
|
"sens-strittig-suffix": " CONTESTED: also close to %1 (%2mm)",
|
|
"sens-strittig-summary": "\n[%1] WARNING: %2 of the above assignments are contested (distance to two candidates nearly equal) - see column 'Warnungen' in the CSV export.",
|
|
"sens-korrektur-header": "\n[%1] %2 stored ZUORDNUNG(s) did not match the geometry and were corrected:",
|
|
"sens-korrektur-zeile": "\n %1 %2: ZUORDNUNG %3 -> %4 (geometry correction)",
|
|
"sens-unassigned-marked": "\n[%1] %2 sensor(s) without any Kreisel/track marked (layer '%3').",
|
|
"sens-zuordnung-fehlt": "\n[%1] WARNING: %2 assigned sensor(s) without a 'ZUORDNUNG' attribute - value not writable.",
|
|
"id-new-assigned": "\n[ID] New ID assigned: %1",
|
|
"id-invalid-block": "\n[ID] ERROR: Not a valid INSERT block!",
|
|
"id-check-no-blocks": "\n[IDSCHECK] No relevant blocks found.",
|
|
"id-check-missing-set": "\n[IDSCHECK] Missing ID set: %1 (block %2)",
|
|
"id-check-duplicate": "\n[IDSCHECK] Duplicate ID %1 -> new ID %2 (block %3)",
|
|
"id-check-done": "\n[IDSCHECK] Done. %1 duplicates corrected.",
|
|
"id-check-corrected": "\n[IDSCHECK] %1 IDs corrected.",
|
|
"id-select-block-prompt": "\nSelect block: ",
|
|
"id-generate-invalid": "\n[IDGENERATE] No valid block selected.",
|
|
"dialog-nicht-verfuegbar": "Dialog not available.",
|
|
"dialog-einfuegepunkt-waehlen": "\nSelect insertion point: ",
|
|
"extcall-python-rueckgabe": "\n[SSG_LIB] Python return value: %1",
|
|
"extcall-keine-rueckgabe": "\n[SSG_LIB] WARNING: No return value received from Python.",
|
|
"extcall-skript-nicht-gefunden": "\n[SSG_LIB] ERROR: %1 not found!",
|
|
"vfstart-core-nicht-gefunden": "\n[VarioFoerderer] WARNING: vf_core.lsp not found - commands not available.",
|
|
"vfstart-etage-core-nicht-gefunden": "\n[EtageVarioFoerderer] WARNING: vf_core.lsp not found - commands not available.",
|
|
"gf-seite-aus-header": "\n\nOutput element (AS_Element_*) - choose side:",
|
|
"gf-seite-ein-header": "\n\nInput element (ES_Element_*) - choose side:",
|
|
"gf-seite-links": "\n 1 - Left",
|
|
"gf-seite-rechts": "\n 2 - Right",
|
|
"prompt-wahl-1-2": "\nYour choice (1/2) [1]: ",
|
|
"prompt-wahl-1-2-3": "\nYour choice (1/2/3) [1]: ",
|
|
"geruest-typ-header": "\n\nSelect scaffold option:",
|
|
"geruest-typ-opt": "\n %1 - %2",
|
|
"geruest-typ-prompt": "\nScaffold option (1-4) [%1]: ",
|
|
"kreisel-eckrad-geruest-frage": "Scaffold for single module?",
|
|
"gf-lade-block": "\n Loading block: %1 ...",
|
|
"gf-status-ok": " OK",
|
|
"gf-warnung-kette-unterbrochen": "\n WARNING: chain interrupted!",
|
|
"gf-status-nennlaenge": "\n Total nominal length (incl. arc dx): %1 mm",
|
|
"gf-status-feste-hoehenanteile": "\n Fixed height components (AS/ES dz + arc dz): %1 mm",
|
|
"gf-status-dz-detail": "\n aus-dz=%1 ein-dz=%2 arc-dz=%3",
|
|
"gf-status-resthoehe": "\n Effective remaining height for straights: %1 mm",
|
|
"gf-warnung-keine-geraden": "\n WARNING: no straight sections -> fallback 3 deg",
|
|
"gf-warnung-feste-anteile": "\n WARNING: fixed components > deltaH -> fallback 1 deg",
|
|
"gf-status-naeherungswinkel": "\n>>> Approximate angle: %1%2",
|
|
"gf-status-linie-staustrecke": "\n\n%1/%2: Buffer section L=%3 mm hz=%4%5 v=%6%7",
|
|
"gf-status-separator-vor-bogen": "\n\n%1S/%2: Separator 300mm (before arc) hz=%3%4 v=%5%6",
|
|
"gf-status-bogen-einfuegen": "\n\n%1/%2: %3 hz=%4%5",
|
|
"gf-status-linienzug-eingefuegt": "\n>>> Polyline slope section inserted! <<<",
|
|
"gf-modus3-header": "\n\n>>> MODE 3: Select polyline <<<",
|
|
"gf-modus3-hinweis1": "\nPlease select all lines (LINE) and arcs (ARC) of the path,",
|
|
"gf-modus3-hinweis2": "\nthen press ENTER:",
|
|
"gf-fehler-keine-objekte": "\nNo objects selected!",
|
|
"gf-status-objekte-ausgewaehlt": "\n %1 objects selected.",
|
|
"gf-prompt-startpunkt-kette": "\nSelect start point (3D) - KS_EIN output element / chain start: ",
|
|
"gf-fehler-kein-startpunkt": "\nNo start point!",
|
|
"gf-prompt-endpunkt-kette": "\nSelect end point (3D) - KS_AUS input element / chain end: ",
|
|
"gf-fehler-kein-endpunkt": "\nNo end point!",
|
|
"gf-status-deltah-3dpunkte": "\n %1H from 3D points: %2 mm",
|
|
"gf-status-sortiere-segmente": "\n Sorting segments ...",
|
|
"gf-alert-keine-kette": "No connected chain found!",
|
|
"gf-alert-lz-edit-kein-dialog": "Editing a chain group (path-built) requires the GUI - please enable the GUI (ssg-gui-an) and try again.",
|
|
"gf-status-segmente-gefunden": " %1 segments found.",
|
|
"gf-status-segment-analyse-header": "\n\n--- Segment analysis (lengths after trimming) ---",
|
|
"gf-status-segment-linie": "\n %1. Line L=%2 mm hz=%3%4",
|
|
"gf-status-segment-bogen": "\n %1. Arc %2%3 %4 hz-input=%5%6",
|
|
"gf-status-seg-erste-linie": "\n Seg %1 (1st line): -%2 mm (output element)",
|
|
"gf-status-linie-vor-bogen": "\n Each line before arc: -300 mm (arc separator)",
|
|
"gf-status-seg-letzte-linie": "\n Seg %1 (last line): -300 mm (input sep) -%2 mm (input element)",
|
|
"gf-status-eintrittsrichtung": "\n Entry direction: %1%2",
|
|
"gf-status-austrittsrichtung": "\n Exit direction: %1%2",
|
|
"gf-status-berechne-winkel": "\n\n Calculating slope angle from geometry ...",
|
|
"gf-prompt-winkel-verwenden": "\nUse calculated angle %1%2? (y/n) [y]: ",
|
|
"gf-prompt-gefaellewinkel": "\nSlope angle (degrees): ",
|
|
"gf-status-messe-absenkung": "\n Measuring actual AS/ES drop (iterative) ...",
|
|
"gf-warnung-korrektur-bereich": "\n WARNING: correction out of range, angle unchanged",
|
|
"gf-status-as-es-mm": "\n AS: %1 mm ES: %2 mm",
|
|
"gf-status-korrigierter-winkel": "\n>>> Corrected slope angle: %1%2 (after %3 iter.)",
|
|
"gf-status-zus-segmente": "\n>>> Segments: %1",
|
|
"gf-status-zus-deltah": "\n>>> %1H: %2 mm",
|
|
"gf-status-zus-deltal": "\n>>> %1L: %2 mm",
|
|
"gf-status-zus-winkel": "\n>>> Slope angle: %1%2",
|
|
"gf-status-zus-eintrittswinkel": "\n>>> Entry angle: %1%2",
|
|
"gf-status-zus-austrittswinkel": "\n>>> Exit angle: %1%2",
|
|
"gf-status-zus-aus-element": "\n>>> Output element: %1",
|
|
"gf-status-zus-ein-element": "\n>>> Input element: %1",
|
|
"gf-prompt-einfuegen": "\nInsert? (1=Yes / 2=No) [1]: ",
|
|
"gf-status-aus-element-detail": "\n\n>>> Output element: %1 travel dir=%2%3 KS_EIN-hz=%4%5 Z=%6",
|
|
"gf-status-separator-vor-ein": "\n>>> Separator before input element",
|
|
"gf-status-ein-element-detail": "\n>>> Input element: %1 target Z=%2",
|
|
"gf-status-z-hoehe-ks-aus": "\n Z height KS_AUS: %1 mm",
|
|
"gf-status-fertig": "\n>>> Done! <<<",
|
|
"gf-status-abgebrochen": "\nCancelled.",
|
|
"gf-alert-dialog-fehlt": "Dialog file not found:\n%1",
|
|
"gf-dlg-richtung-0": "0%1 (X+, East)",
|
|
"gf-dlg-richtung-90": "90%1 (Y+, North)",
|
|
"gf-dlg-richtung-180": "180%1 (X-, West)",
|
|
"gf-dlg-richtung-270": "270%1 (Y-, South)",
|
|
"gf-dlg-links": "Left",
|
|
"gf-dlg-rechts": "Right",
|
|
"gf-dlg-linienzug-vorlauf": "Path selected - angle will be calculated after confirmation.",
|
|
"gf-status-gf-block-erstellt": "\n>>> GF block created: %1 (%2)",
|
|
"gf-status-schritt1-aus": "\n\n1/4: %1 travel dir=%2%3 KS_EIN-hz=%4%5 v=%6%7",
|
|
"gf-status-schritt2-staustrecke": "\n\n2/4: Buffer section 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>>> Slope section inserted successfully! <<<",
|
|
"gf-banner-titel": "\n SLOPE SECTION GENERATOR v2.0",
|
|
"gf-banner-richtung": "\n Direction: always DOWN",
|
|
"gf-alert-init-fehler": "Error initialising the library!\nPlease check DXFM_DATA.",
|
|
"gf-eingabemodus-header": "\n\nSelect input mode:",
|
|
"gf-eingabemodus-1": "\n 1 - Enter values manually (simple section)",
|
|
"gf-eingabemodus-2": "\n 2 - Select 3D line (simple section)",
|
|
"gf-eingabemodus-3": "\n 3 - Select polyline (LINE + ARC) with slope arc",
|
|
"gf-modus1-header": "\n\n>>> MODE 1: Manual value entry <<<",
|
|
"gf-prompt-startpunkt-aus": "\nSelect start point for output element: ",
|
|
"gf-prompt-deltal-abstand": "\n%1L - distance (mm): ",
|
|
"gf-modus2-header": "\n\n>>> MODE 2: Select 3D line <<<",
|
|
"gf-status-bks-welt": "\n UCS set to world coordinates.",
|
|
"gf-prompt-3dlinie-richtung": "\nPlease select 3D line for direction and length:",
|
|
"gf-alert-keine-linie": "No valid line selected!",
|
|
"gf-status-fahrtrichtung-linie": "\n Travel direction: %1%2 (from line)",
|
|
"gf-status-deltal-mm": "\n %1L = %2 mm",
|
|
"gf-prompt-gefaellewinkel-def3": "\n\nSlope angle (degrees) [3]: ",
|
|
"gf-status-winkel": "\n>>> Angle: %1%2",
|
|
"gf-status-fahrtrichtung": "\n>>> Travel direction: %1%2",
|
|
"gf-alert-staustrecke-ungueltig": "Calculated buffer section length invalid: %1 mm\nPlease choose larger deltaL or smaller angle.",
|
|
"gf-status-zus2-winkel": "\n>>> Angle: %1%2",
|
|
"gf-status-zus2-aus-seite": "\n>>> Output side: %1",
|
|
"gf-status-zus2-ein-seite": "\n>>> Input side: %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] ERROR: DXFM_OMNIFLO not set (run bin/setenv.bat).",
|
|
"tefl-fehler-dxf-nicht-gefunden": "\n[TEF] ERROR: Element DXF not found: %1",
|
|
"tefl-prompt-startpunkt": "\nSelect start point of the conveyor path: ",
|
|
"tefl-prompt-endpunkt": "\nSelect end point of the conveyor path: ",
|
|
"tefl-abgebrochen": "\n[TEF] Cancelled.",
|
|
"tefl-fehler-laenge-null": "\n[TEF] ERROR: Start and end point are too close together.",
|
|
"tefl-fertig": "\n[TEF] %1 element(s) inserted, path length=%2 mm.",
|
|
"vfl-kette-titel": "\n Vario_Kette_Merge - merge several Vario conveyor blocks (loose or already wrapped) into one combined block",
|
|
"vfl-kette-start-waehlen": "\n\nSelect the starting block of the chain (first element - AS element or VF_n): ",
|
|
"vfl-kette-kein-objekt": "\nNo object selected - cancelled.",
|
|
"vfl-kette-kein-vf-block": "\nSelected object ('%1') is not a known Vario chain block (AS/ES element, GF bend, Vario curve, deflection/motor station, vertical bend, buffer/separator or VF_n).",
|
|
"vfl-kette-start-nicht-gefunden": "\nERROR: Starting block not found in the chain collection (internal error).",
|
|
"vfl-kette-start-nicht-gefunden-diag": "\nERROR: Starting block not found in the chain collection (internal error).\n Diagnostic: %1 blocks collected in total, selected block name='%2', %3 of those with the same block name.",
|
|
"vfl-kette-start-ohne-ks-ein": "\nERROR: No KS_EIN found on the selected block - chain cannot be followed.",
|
|
"vfl-kette-nur-ein-baustein": "\nNo further connected VF_n block was found from the selected block onward - nothing to merge.",
|
|
"vfl-kette-gefunden": "\n\nChain detected: %1 block(s) will be merged:",
|
|
"vfl-kette-luecke-warnung": "\n\n WARNING: after '%1' a visually close but not properly connected VF_n ('%2') was found (KS distance %3 mm) - the chain was ended there; this and all further blocks are left untouched.",
|
|
"vfl-kette-fertig": "\n\n>>> Done: new combined block '%1' created from %2 block(s).",
|
|
"cmd-tro-bearbeiten": "\nEdit TRO marker: %1",
|
|
"cmd-connection-bearbeiten": "\nEdit connection: %1",
|
|
"con-keine-verbindung": "Block %1 is not a connection (expected CONNECTION_*).",
|
|
"con-kein-tro": "Block %1 is not a TRO marker - connections only run between TROs.",
|
|
"con-block-fehlt": "Block definition %1 is missing in this drawing.\nRun tro_annotate.py with --flow first.",
|
|
"con-quelle-waehlen": "\nSelect source TRO: ",
|
|
"con-ziel-waehlen": "\nSelect target TRO: ",
|
|
"con-gleicher-block": "Source and target are the same block.",
|
|
"con-gleicher-punkt": "Source and target are at the same position.",
|
|
"con-dialog-fehlt": "Dialog file not found:\n%1\nCheck DXFM_DCL (setenv.bat).",
|
|
"con-block": "Block: %1 (UID %2)",
|
|
"con-richtung": "Direction: %1 ----> %2",
|
|
"con-hinweis": "The UID is permanent, the TRO id may change.",
|
|
"con-id-leer": "Source and target UID must not be empty - nothing changed.",
|
|
"con-gleiche-id": "Source and target must not share the same UID.",
|
|
"con-eingefuegt": "\nConnection %1 ----> %2 inserted (UID %3).",
|
|
"con-gespeichert": "\nConnection saved: %1 ----> %2",
|
|
"tro-edit-kein-tro": "Block %1 is not a TRO marker (expected TRO_*).",
|
|
"tro-edit-kein-id-attribut": "Block %1 has no ID attribute - please re-annotate (tro_annotate.py).",
|
|
"tro-edit-dialog-fehlt": "Dialog file not found:\n%1\nCheck DXFM_DCL (setenv.bat).",
|
|
"tro-edit-modul-fehlt": "%1 not loaded - editing attributes with EATTEDIT instead.",
|
|
"tro-edit-block": "Block: %1",
|
|
"tro-edit-fb": "Function block: %1 UID: %2",
|
|
"tro-edit-hinweis": "Symbol and FB follow on the next tro_annotate.py run.",
|
|
"tro-edit-id-leer": "The TRO id must not be empty - nothing changed.",
|
|
"tro-edit-gespeichert": "\nTRO saved: ID = %1, TYPE = %2",
|
|
"tro-edit-typ-geaendert": "\nType changed - re-run tro_annotate.py so symbol and FB match.",
|
|
"tro-insert-kein-typ": "No TRO types available (tro_types.lsp missing) - run lib/tro_annotate.py --emit-lisp.",
|
|
"tro-insert-hinweis": "The block shape must already exist in the drawing (from an earlier tro_annotate.py run).",
|
|
"tro-insert-kein-block": "No symbol for this type in the drawing (%1) - run tro_annotate.py with this type first.",
|
|
"tro-insert-prompt-punkt": "\nInsertion point: ",
|
|
"tro-insert-eingefuegt": "\nTRO inserted: ID = %1, TYPE = %2",
|
|
"vfl-abbruch-gesichert": "\n>>> Chain cancelled: %1 object(s) saved as a block (editable/resumable via double-click).",
|
|
"vfl-zurueck-glied-verworfen": "\n>>> Back: discarding the last chain element - please answer it again.",
|
|
"vfl-abbruch-nichts-gebaut": "\n>>> Cancelled - no geometry was created yet.",
|
|
"vfl-abbruch-wickeln-fehler": "\n>>> ERROR saving the partial geometry as a block: %1",
|
|
"vfl-edit-dialog-fehlt": "Dialog not found: %1",
|
|
"vfl-edit-abgebrochen": "\nEdit cancelled - no change.",
|
|
"vfl-dlg-kopf-sektionen": "Sections: %1",
|
|
"vfl-dlg-modus-kopf": "Chain with %1 segment(s) - what would you like to do?",
|
|
"vfl-dlg-modus-rueck": "Roll back to a section and rebuild from there",
|
|
"vfl-dlg-modus-glied": "Only change the properties of a single segment",
|
|
"vfl-glied-waehlen-kopf": "Which segment would you like to edit?",
|
|
"vfl-glied-geaendert": "\n>>> Segment %1 changed - rebuilding chain...",
|
|
"vfl-glied-nicht-editierbar": "This segment (%1) cannot currently be edited individually.\nOnly GF arc segments support single-segment editing. For all others please use the 'Roll back to a section' mode.",
|
|
"vfc-warnung-untermodule-nicht-geladen": "\n[vf_core] WARNING: DXFM_LISP not set - submodules could not be loaded!",
|
|
"vfc-linienzug-modus-header": "\n\nSelect line-path mode:",
|
|
"vfc-linienzug-modus-1": "\n 1 - Manual entry (click points)",
|
|
"vfc-linienzug-modus-2": "\n 2 - 3D objects + target height (boundary-value solver, finished)",
|
|
"vfc-linienzug-modus-3": "\n 3 - 3D objects step by step (forward reconstruction, work in progress)",
|
|
"prompt-wahl-1-3": "\nYour choice (1/2/3) [1]: ",
|
|
"vfl-qc-uform-nicht-implementiert": "\nERROR: 'QC line with GF and U-shape' is not yet implemented - please choose option 4 or a different mode.",
|
|
"vfc-typ-standard-beschreibung": "Standard VarioFoerderer (AS/ES 90 degrees, offset horizontally)",
|
|
"vfc-typ-etage-beschreibung": "Etage VarioFoerderer (AS/ES 30 degrees, directly stacked)",
|
|
"vfc-typ-linienzug-beschreibung": "Route group (mixed GF/VF chain; mode 1 manual / mode 2 target height finished / mode 3 step by step work in progress)",
|
|
"vfs-schritt6-horizontal": "\n\n6/11: Horizontal intermediate section (0 deg, L=%1 mm)",
|
|
"vfs-schritt6-steigung": "\n\n6/11: Incline section (%1 deg, L=%2 mm)",
|
|
"vfs-schritt6-gefaelle": "\n\n6/11: Slope section (%1 deg, L=%2 mm)",
|
|
"vfs-schritt6-skip": "\n\n6/11: (skipped)",
|
|
"vfs-schritt7-bogen1": "\n\n7/11: %1 (3 deg inclined)",
|
|
"vfs-schritt7-bogen-winkel": "\n\n7/11: %1 (%2 deg inclined)",
|
|
"vfs-ausgang-motorstation": "\n\n[VF-Ausgang] Motor station (500 mm, 3 deg inclined)",
|
|
"vfs-ausgang-gf2": "\n[VF-Ausgang] Slope section GF2 (3 deg, L=%1 mm)",
|
|
"vfs-ausgang-gf2-skip": "\n[VF-Ausgang] GF2 (none / skipped)",
|
|
"vfs-ausgang-separator": "\n[VF-Ausgang] Separator (300 mm, 3 deg inclined)",
|
|
"vfs-schritt11-es": "\n\n11/11: %1 (hz=%2%3)",
|
|
"vfs-eingefuegt": "\n>>> Standard VarioFoerderer inserted!",
|
|
"vfs-nachruesten-titel": "\n=== Retrofit existing VF blocks (SSG_VF_EDIT marker) ===",
|
|
"vfs-nachruesten-keine-bloecke": "\nNo VF_n blocks selected - cancelled.",
|
|
"vfs-nachruesten-bereits-markiert": "\n %1: already marked (%2) - skipped",
|
|
"vfs-nachruesten-erkannt": "\n %1: recognised as type '%2'",
|
|
"vfs-nachruesten-prompt-hz": "\n Build direction hz in degrees [%1]: ",
|
|
"vfs-nachruesten-markiert": " -> marked (hz=%1)",
|
|
"vfs-nachruesten-fertig": "\n=== Done: %1 marked, %2 skipped ===",
|
|
"vfe-step9-bogen": "\n\n9/15: %1 (%2 deg inclined)",
|
|
"vfe-step10": "\n\n10/15: Motor station (500mm, 3 deg inclined)",
|
|
"vfe-step11-gf2": "\n\n11/15: Slope section (3 deg, L=%1 mm)",
|
|
"vfe-step11-skip": "\n\n11/15: L_GF2 (skipped)",
|
|
"vfe-step12": "\n\n12/15: %1 (end, chained cur-hz=%2)",
|
|
"vfe-step13": "\n\n13/15: Buffer section (variable L=%1, cur-hz=%2)",
|
|
"vfe-step14": "\n\n14/15: Separator (300mm, cur-hz=%1)",
|
|
"vfe-step15": "\n\n15/15: %1 (end, chained cur-hz=%2)",
|
|
"vfe-eingefuegt": "\n>>> Etage VarioFoerderer inserted! <<<",
|
|
"vfl-vwnb-titel": "\n VF LINE PATH - Mode 3: 3D objects step by step (forward reconstruction, work in progress)",
|
|
"vfl-vwnb-aus-seite-menu": "\n\nOUT element - select side:\n 1 - Left\n 2 - Right",
|
|
"vfl-vwnb-alert-eckwinkel": "No matching arc: corner angle %1 deg is not ~30/60/90.\nPlease adjust the angles of the lines.",
|
|
"vfl-vwnb-alert-keine-gerade": "Path contains no straight - a chain must begin with a straight.",
|
|
"vfl-vwnb-typ-gerade": "\n Type? 1 = GF (<=3 deg) 2 = VF-down 3 = VF-up 4 = VF-horizontal",
|
|
"vfl-vwnb-prompt-vario-winkel": "\n Vario angle (3..51 deg) [3]: ",
|
|
"vfl-vwnb-kurve-nur-vf": "\n >>> Vario curve only allowed within a VF run - skipped.",
|
|
"vfl-vwnb-eingefuegt": "\n>>> VF line path (mode 3, GF+VF) inserted! <<<",
|
|
"vfl-vwnb-soll-ende": "\n Target end (path): X=%1 Y=%2",
|
|
"vfl-vwnb-ist-ende": "\n Actual end (ES): X=%1 Y=%2 Z=%3",
|
|
"vfl-vwnb-abweichung-xy": "\n Deviation XY: dX=%1 dY=%2 mm",
|
|
"vfl-m3-as-nein": "\n 2 - No (chain starts directly at the start point)",
|
|
"vfl-kette-diag-startbaustein": "\n [Diagnose] KS_AUS start block (%1): X=%2 Y=%3 Z=%4",
|
|
"vfl-kette-diag-naechster-kandidat": "\n [Diagnose] Next candidate: %1 distance=%2 mm (tolerance tight=%3 mm, wide=%4 mm)",
|
|
"vfl-kette-diag-kein-anderer": "\n [Diagnose] No other block with KS_EIN found (%1 blocks captured in total).",
|
|
"vfl-kette-diag-verdaechtig": "\n [Diagnose] SUSPICIOUS: '%1' -> '%2' distance=%3 mm (within tolerance, but not ~0)",
|
|
"gr-fehler-datenpfad": "\nScaffold: data directory unknown - DXFM_DATA or DXFMAKRO not set (run bin/setenv.bat).",
|
|
"gr-fehler-json-fehlt": "\nScaffold: data file not found: %1",
|
|
"gr-fehler-json-lesbar": "\nScaffold: data file not readable: %1",
|
|
"gr-fehler-baugruppe": "\nScaffold: assembly '%1' is not in the data file.",
|
|
"gr-fehler-keine-varianten": "\nScaffold: assembly '%1' has no geometry variants.",
|
|
"gr-bereich-waehlen": "\nScaffold: please choose an area from the menu (GERUEST_SAEULEN, GERUEST_ROHRABHAENGER, GERUEST_WANDBEFESTIGUNG).",
|
|
"gr-fehler-dummy": "\nScaffold: dummy assembly not found: %1",
|
|
"gr-fehler-dummy-variante": "\nScaffold: dummy of the variant not found: %1 - using dummy of the assembly (%2)",
|
|
"gr-fehler-dcl": "Dialog geruest.dcl could not be loaded.",
|
|
"gr-dlg-kopf": "Configure %1",
|
|
"gr-alert-laenge": "Invalid length: '%1' mm. Allowed: %2 to %3 mm.",
|
|
"gr-prompt-einfuegepunkt": "\nSelect insertion point: ",
|
|
"gr-abgebrochen": "\nCancelled.",
|
|
"gr-fertig": "\nScaffold assembly '%1' inserted (block %2).",
|
|
"gr-alert-menge": "Invalid quantity. Enter a whole number of 1 or more; an empty field uses the default.",
|
|
"gr-position-befestigung": "mounting",
|
|
"gr-position-sonstiges": "other",
|
|
"gr-konfig-keine": "<none>",
|
|
"gr-konfig-name": "\nConfiguration name: ",
|
|
"gr-konfig-name-vorgabe": "\nConfiguration name <%1>: ",
|
|
"gr-konfig-geaendert": "%1 (modified)",
|
|
"gr-konfig-status-geaendert": "Modified compared to '%1' - Save (Enter at the name prompt) overwrites it.",
|
|
"gr-konfig-status-bibliothek": "Modified compared to '%1' (library, read-only) - enter a new name to save.",
|
|
"gr-winkel-grad": "%1%2",
|
|
"gr-konfig-gespeichert": "\nConfiguration '%1' saved.",
|
|
"gr-konfig-geloescht": "\nConfiguration '%1' deleted.",
|
|
"gr-konfig-loeschen-frage": "\nReally delete configuration '%1'? [Ja/Nein] <Nein>: ",
|
|
"gr-konfig-nichts-gewaehlt": "\nNo configuration selected.",
|
|
"gr-konfig-bibliothek-fest": "\nLibrary configurations cannot be deleted - only your own (marked with *).",
|
|
"gr-konfig-teil-unbekannt": "\nScaffold: add-on part '%1' from configuration '%2' is unknown for this assembly - skipped.",
|
|
"gr-konfig-variante-unbekannt": "\nScaffold: variant '%1' from configuration '%2' is unknown for this assembly - selection unchanged.",
|
|
"gr-konfig-variante-gesperrt": "\nConfiguration '%2': variant '%1' is disabled - selection left unchanged.",
|
|
"gr-fehler-schreiben": "\nScaffold: could not write file: %1",
|
|
"gr-fehler-keine-baugruppen": "\nScaffold: the data file contains no assemblies.",
|
|
"gr-tr-fehler-dcl": "Dialog %1 could not be loaded.",
|
|
"gr-tr-hinweis": "The length is defined in the drawing after OK.",
|
|
"gr-tr-alert-abzug": "Invalid length deduction. Allowed is a number from 0 (mm); an empty field counts as 0.",
|
|
"gr-tr-prompt-start": "\nSelect start point (%1) <exit>: ",
|
|
"gr-tr-prompt-ende": "\nSelect end point or enter length (mm): ",
|
|
"gr-tr-prompt-richtung": "\nSpecify direction <0>: ",
|
|
"gr-tr-eingabe-ungueltig": "\nInput '%1' is neither a point nor a length.",
|
|
"gr-tr-laenge-null": "\nDistance %1 mm is not longer than the deductions (%2 mm) - nothing inserted (%3).",
|
|
"gr-tr-laenge-bereich": "\n%4: length %1 mm outside the allowed range %2 to %3 mm - nothing inserted.",
|
|
"gr-tr-fertig": "\n%3 %1 mm inserted (block %2).",
|
|
"gr-tr-ende": "\n%1x %2 inserted.",
|
|
"gr-tr-bez-abzug-anfang": "Deduction start %1 mm",
|
|
"gr-tr-bez-abzug-ende": "Deduction end %1 mm",
|
|
"gr-tr-beschr-stil-fehlt": "\nText style %1 missing in drawing - labelling with current style %2.",
|
|
"gr-tr-beschr-ausrichtung": "\nUnknown justification %1 for beam label - using BC.",
|
|
"gr-tr-beschr-ergebnis": "\n%5: %1 labelled (%2 without known variant), %3 not labellable, %4 orphaned label(s) removed.",
|
|
"gr-tr-beschr-keine": "\nNo blocks of type %1 in the drawing.",
|
|
"gr-tr-strebe-rand": "Beam %1 mm: the edge distance of the cross braces is %2 mm, outside the allowed range %3 to %4 mm (brace spacing %5 mm, %6 braces). The beam is inserted anyway.",
|
|
"in-yesno-keys": "Yes No",
|
|
"in-keys-bereich": "All Selection",
|
|
"in-keys-modus": "Part Whole",
|
|
"bt-prompt-muster": "\nBlock name or pattern (e.g. GR_*): ",
|
|
"bt-kein-block": "\nThe selected object is not a block reference.",
|
|
"bt-prompt-waehlen-count": "\nSelect block [Name/pattern] <all blocks>: ",
|
|
"bt-count-keine": "\nNo references of %1 found.",
|
|
"bt-count-keine-alle": "\nNo block references in the current layout.",
|
|
"bt-count-ergebnis": "\n%1 reference(s) of %2.",
|
|
"bt-count-zeile": "\n %1: %2",
|
|
"bt-count-summe": "\nTotal: %1 reference(s) in %2 block(s).",
|
|
"bt-prompt-waehlen-delete": "\nSelect block to delete [Name/pattern]: ",
|
|
"bt-delete-kein-muster": "\nNo block selected - nothing deleted.",
|
|
"bt-delete-alle-gesperrt": "\nAll %1 reference(s) are on locked layers - nothing deleted.",
|
|
"bt-delete-frage": "Delete %1 reference(s) of %2?",
|
|
"bt-delete-titel": "Delete blocks",
|
|
"bt-delete-ergebnis": "\n%1 reference(s) deleted.",
|
|
"bt-delete-gesperrt": "\n%1 reference(s) on locked layers were kept.",
|
|
"bt-abgebrochen": "\nCancelled - nothing changed.",
|
|
"bt-attr-bereich": "\nScope",
|
|
"bt-attr-muster": "\nBlock name pattern",
|
|
"bt-attr-auswahl": "\nSelect blocks: ",
|
|
"bt-attr-keine-bloecke": "\nNo matching block references found.",
|
|
"bt-attr-tag": "\nAttribute tag (pattern)",
|
|
"bt-attr-suche": "\nFind",
|
|
"bt-attr-ersatz": "\nReplace with",
|
|
"bt-attr-modus": "\nReplace as",
|
|
"bt-attr-nichts": "\nNo attribute value contains the search text.",
|
|
"bt-attr-frage": "Change %1 attribute value(s) in %2 block(s)?",
|
|
"bt-attr-titel": "Replace attributes",
|
|
"bt-attr-ergebnis": "\n%1 attribute value(s) changed.",
|
|
"tt-bereich": "\nScope",
|
|
"tt-auswahl": "\nSelect objects: ",
|
|
"tt-keine-objekte": "\nNo matching objects found.",
|
|
"tt-suche": "\nFind",
|
|
"tt-ersatz": "\nReplace with",
|
|
"tt-modus": "\nReplace as",
|
|
"tt-nichts": "\nNo text or attribute value contains the search text.",
|
|
"tt-frage": "Change %1 text(s) and %2 attribute value(s)?",
|
|
"tt-ersetzen-titel": "Replace text",
|
|
"tt-ergebnis": "\n%1 text(s) and %2 attribute value(s) changed.",
|
|
"tt-abgebrochen": "\nCancelled - nothing changed.",
|
|
"tt-parallel-titel": "Label parallel to line",
|
|
"tt-hoehe": "\nText height",
|
|
"tt-abstand": "\nDistance to line",
|
|
"tt-parallel-waehlen": "\nSelect line, polyline or arc (Enter = finish): ",
|
|
"tt-parallel-keine-kurve": "\nCannot determine the angle on the selected object.",
|
|
"tt-text": "\nText",
|
|
"tt-parallel-fehler": "\nText could not be created.",
|
|
"tt-hoehe-titel": "Change text height",
|
|
"tt-geaendert": "\n%1 text(s) changed.",
|
|
"tt-stil": "\nText style",
|
|
"tt-stil-fehlt": "\nText style %1 does not exist in the drawing.",
|
|
"tt-stil-titel": "Change text style",
|
|
"dinformate-dialog-fehlt": "DIN formats dialog not found: %1",
|
|
"dinformate-datei-fehlt": "DIN formats: file not found: %1",
|
|
"dinformate-prompt-rahmen": "\nBorder insertion point (lower left corner): ",
|
|
"dinformate-prompt-kopf": "\nHeader insertion point (lower right corner): ",
|
|
"dinformate-eingefuegt": "\nDIN format inserted: %1",
|
|
"dinformate-sprache-de": "German",
|
|
"dinformate-sprache-en": "English",
|
|
"dinformate-sprache-fr": "French",
|
|
"dinformate-sprache-it": "Italian",
|
|
"sl-pos-layer": "\nTarget layer",
|
|
"sl-pos-faktor": "\nScale factor",
|
|
"sl-pos-umrand": "\nPosition flag shape",
|
|
"sl-stkl-einfuegepunkt": "\nSelect upper left corner of the bill of materials",
|
|
"sl-stkl-kopf-pos": "POS",
|
|
"sl-stkl-kopf-menge": "QTY",
|
|
"sl-stkl-kopf-laenge": "LENGTH",
|
|
"sl-stkl-kopf-artikel": "PART NO",
|
|
"sl-stkl-kopf-bezeichnung": "DESCRIPTION",
|
|
"sl-erk-titel": "Flags + bill of materials from drawing",
|
|
"sl-erk-auswahl": "\nSelect elements <Enter = all in layout>: ",
|
|
"sl-erk-keine": "\nNo ILS/Omniflo/scaffold elements found.",
|
|
"sl-erk-ergebnis": "\n%1 element(s) recognised, %2 bill of materials line(s) written.",
|
|
"sl-erk-kreisel": "ILS roundabout/corner wheel",
|
|
"sl-erk-strecke": "ILS conveyor section (VarioFoerderer/gravity conveyor)",
|
|
"sl-erk-geruest": "Pipe scaffold",
|
|
"sl-erk-fahrstrecke": "Omniflo track",
|
|
"sl-erk-ap60": "Omniflo straight AP60",
|
|
"sl-erk-ap110": "Omniflo straight AP110",
|
|
"sl-erk-apg110": "Omniflo straight APG110",
|
|
"kreisel-bp-start": "Kreisel switch points",
|
|
"kreisel-bp-summe": "\n=== Kreisel switch points: %1 contact(s), %2 collision(s) (tolerance %3 mm) ===",
|
|
"kreisel-bp-zeile": "\n Switch %1: %2 <-> %3 [%4] at X=%5 Y=%6 Z=%7",
|
|
"kreisel-bp-kollision": "\n COLLISION %1: %2 <-> %3 [%4] at X=%5 Y=%6 Z=%7",
|
|
"kreisel-bp-marker": "\n%1 markers drawn (layer %2).",
|
|
"exp-kreisel-weichen": "\n[%1] Kreisel switch points: %2 contact(s), %3 collision(s) -> %4",
|
|
"exp-kreisel-kollision": "\n[%1] WARNING: %2 Kreisel collision(s) - command KREISEL_WEICHEN shows them."
|
|
}
|
|
}
|