diff --git a/.github/workflows/build_all.yml b/.github/workflows/build_all.yml index 2357b1a5a4..e0d2e1ea6c 100644 --- a/.github/workflows/build_all.yml +++ b/.github/workflows/build_all.yml @@ -449,10 +449,13 @@ jobs: # the bounds checks are compiled in, so a stripped exe still catches them. find "$d/build_flatpak/tests" -type f -perm -u+x -exec strip --strip-unneeded {} + 2>/dev/null || true # At runtime the tests read tests/ (TEST_DATA_DIR), scripts/, and under - # resources/ the shipped profiles (PROFILES_DIR) and the printers/ maps. + # resources/ the shipped profiles (PROFILES_DIR), the printers/ maps, and + # the icon SVGs (NativeCommands icon names are checked against them). find "$d" -mindepth 1 -maxdepth 1 -type d \ ! -name tests ! -name build_flatpak ! -name scripts ! -name resources -exec rm -rf {} + - find "$d/resources" -mindepth 1 -maxdepth 1 ! -name profiles ! -name printers -exec rm -rf {} + + find "$d/resources" -mindepth 1 -maxdepth 1 ! -name profiles ! -name printers ! -name images -exec rm -rf {} + + # Only the SVGs are read; the png/ico/icns/gif assets are ~35MB of dead weight. + find "$d/resources/images" -mindepth 1 -maxdepth 1 ! -name '*.svg' -exec rm -rf {} + 2>/dev/null || true tar -cf flatpak-test-asset.tar flatpak_app "$d" - name: Upload flatpak test asset uses: actions/upload-artifact@v7 diff --git a/localization/i18n/OrcaSlicer.pot b/localization/i18n/OrcaSlicer.pot index 32269c0e6d..74774f1bf2 100644 --- a/localization/i18n/OrcaSlicer.pot +++ b/localization/i18n/OrcaSlicer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -2320,6 +2320,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "" +msgid "Plugins refreshed." +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "" @@ -3904,6 +3917,21 @@ msgstr "" msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "" @@ -5356,9 +5384,6 @@ msgctxt "Noun" msgid "Print" msgstr "" -msgid "Printer" -msgstr "" - msgid "Time Estimation" msgstr "" @@ -5646,7 +5671,7 @@ msgstr "" msgid "Size:" msgstr "" -#, possible-c-format, possible-boost-format +#, possible-boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "" @@ -5806,6 +5831,9 @@ msgstr "" msgid "Logging" msgstr "" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "" @@ -6130,6 +6158,9 @@ msgstr "" msgid "Preferences" msgstr "" +msgid "Open speed dial..." +msgstr "" + msgctxt "Menu" msgid "Edit" msgstr "" @@ -7028,6 +7059,231 @@ msgstr "" msgid "Please refer to Wiki before use->" msgstr "" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "" + +msgid "Export 3MF" +msgstr "" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "" @@ -7817,18 +8073,12 @@ msgstr "" msgid "Delete Object" msgstr "" -msgid "Delete All Objects" -msgstr "" - msgid "Reset Project" msgstr "" msgid "The selected object couldn't be split." msgstr "" -msgid "Split to Objects" -msgstr "" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "" @@ -8577,6 +8827,33 @@ msgstr "" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "" +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "" @@ -8652,6 +8929,12 @@ msgstr "" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "" @@ -9296,6 +9579,126 @@ msgstr "" msgid "Simply switch to \"%1%\"" msgstr "" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s actions" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s tabs" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s matches" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "" @@ -10988,6 +11391,16 @@ msgstr "" msgid "Switch table page" msgstr "" +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "" @@ -11143,13 +11556,6 @@ msgstr "" msgid "Switch between Prepare/Preview" msgstr "" -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "" - -msgid "Open actions speed dial" -msgstr "" - msgid "Plater" msgstr "" @@ -16453,9 +16859,6 @@ msgstr "" msgid " not in range " msgstr "" -msgid "Export 3MF" -msgstr "" - msgid "This exports the project as a 3MF file." msgstr "" @@ -16471,9 +16874,6 @@ msgstr "" msgid "Load cached slicing data from directory." msgstr "" -msgid "Export STL" -msgstr "" - msgid "Export the objects as single STL." msgstr "" @@ -17159,9 +17559,6 @@ msgstr "" msgid "This OBJ file couldn't be read because it's empty." msgstr "" -msgid "Max Volumetric Speed Calibration" -msgstr "" - msgid "Manage Result" msgstr "" @@ -17908,9 +18305,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "" -msgid "Flow Ratio Calibration" -msgstr "" - msgid "Calibration Test Type" msgstr "" @@ -19882,6 +20276,2278 @@ msgstr "" msgid "The filament model is unknown. A random filament preset will be used." msgstr "" +msgid "Construction" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, possible-c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, possible-c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Face %d" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Sketch %d" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, possible-c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Edge %d" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, possible-c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid " · %d picked" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, possible-c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "feature %d" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d shown" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Fix %s" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Lock X %s" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, possible-c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, possible-c-format +msgid "Redo (%zu more)" +msgstr "" + +#, possible-c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, possible-c-format, possible-boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "Precise wall\nDid you know that turning on precise wall can improve precision and layer consistency?" msgstr "" diff --git a/localization/i18n/ca/OrcaSlicer_ca.po b/localization/i18n/ca/OrcaSlicer_ca.po index e1a06108b6..dedb57fff3 100644 --- a/localization/i18n/ca/OrcaSlicer_ca.po +++ b/localization/i18n/ca/OrcaSlicer_ca.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2025-03-15 10:55+0100\n" "Last-Translator: \n" "Language-Team: \n" @@ -2559,6 +2559,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "No s'ha pogut obrir el quadre de diàleg de Connectors (error desconegut)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal de connectors" @@ -4244,6 +4257,21 @@ msgstr "OrcaSlicer va néixer amb aquest mateix esperit, inspirant-se en PrusaSl msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Avui, OrcaSlicer és el laminador de codi obert més utilitzat i amb un desenvolupament més actiu de la comunitat d'impressió 3D. Moltes de les seves innovacions han estat adoptades per altres laminadors, cosa que el converteix en una força motriu per a tot el sector." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Impressora" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Configuració de materials AMS" @@ -5809,9 +5837,6 @@ msgctxt "Noun" msgid "Print" msgstr "Imprimir" -msgid "Printer" -msgstr "Impressora" - msgid "Time Estimation" msgstr "Estimació temporal" @@ -6110,7 +6135,7 @@ msgstr "Volum:" msgid "Size:" msgstr "Mida:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "S'han trobat conflictes de rutes gcode a la capa %d, Z = %.2lfmm. Si us plau, separeu els objectes conflictius més lluny ( %s <-> %s )." @@ -6276,6 +6301,9 @@ msgstr "Tancant l'aplicació mentre s'han modificat alguns perfils." msgid "Logging" msgstr "Registrant" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Preparació" @@ -6606,6 +6634,9 @@ msgstr "Mostrar el contorn al voltant de l'objecte seleccionat a l'escena 3D" msgid "Preferences" msgstr "Preferències" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7551,6 +7582,234 @@ msgstr "No tornis a mostrar aquest diàleg" msgid "Please refer to Wiki before use->" msgstr "Consulteu la Wiki abans d'usar ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportar STL" + +msgid "Export 3MF" +msgstr "Exportar 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibratge de Velocitat Volumètrica Màxima" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Calibratge de la relació de flux" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Suprimir tots els objectes" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Separar en objectes" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "S'ha desconnectat el ratolí 3D." @@ -8422,10 +8681,6 @@ msgstr "" msgid "Delete Object" msgstr "Suprimir l'objecte" -# AI Translated -msgid "Delete All Objects" -msgstr "Suprimir tots els objectes" - # AI Translated msgid "Reset Project" msgstr "Restablir el projecte" @@ -8433,10 +8688,6 @@ msgstr "Restablir el projecte" msgid "The selected object couldn't be split." msgstr "L'objecte seleccionat no s'ha pogut partir." -# AI Translated -msgid "Split to Objects" -msgstr "Separar en objectes" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Voleu desactivar la caiguda automàtica per conservar el posicionament en Z?\n" @@ -9259,6 +9510,33 @@ msgstr "Gestió multidispositiu" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Amb aquesta opció habilitada, podeu enviar una tasca a diversos dispositius alhora i gestionar múltiples dispositius." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Finestra emergent per seleccionar el mode d'agrupació de filaments" @@ -9340,6 +9618,12 @@ msgstr "Zoom invers del ratolí" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Si està habilitat, inverteix la direcció del zoom amb la roda del ratolí." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Panoràmica" @@ -10089,6 +10373,126 @@ msgstr "Per a \"%1%\", afegir \"%2%\" com a perfil nou" msgid "Simply switch to \"%1%\"" msgstr "Simplement canviar a \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Altre" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tasca cancel·lada" @@ -11950,6 +12354,17 @@ msgstr "Mostrar/Amagar quadre de diàleg Configuració de Dispositius 3Dconnexio msgid "Switch table page" msgstr "Canviar de pàgina de taula" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Espai" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Mostrar la llista de dreceres de teclat" @@ -12115,15 +12530,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Canviar entre Preparar/Previsualitzar" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Espai" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Obrir el marcatge ràpid d'accions" - msgid "Plater" msgstr "Plataforma" @@ -18262,9 +18668,6 @@ msgstr "amplada de línia massa gran " msgid " not in range " msgstr " fora de rang " -msgid "Export 3MF" -msgstr "Exportar 3MF" - msgid "This exports the project as a 3MF file." msgstr "Exportar projecte a 3MF." @@ -18280,9 +18683,6 @@ msgstr "Carregar dades de laminació" msgid "Load cached slicing data from directory." msgstr "Carregar les dades de laminació a la memòria cau des del directori" -msgid "Export STL" -msgstr "Exportar STL" - msgid "Export the objects as single STL." msgstr "Exportar tots els objectes com a un STL." @@ -18990,9 +19390,6 @@ msgstr "El fitxer conté índex de vèrtex no vàlid." msgid "This OBJ file couldn't be read because it's empty." msgstr "Aquest fitxer OBJ no s'ha pogut llegir perquè està buit." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibratge de Velocitat Volumètrica Màxima" - msgid "Manage Result" msgstr "Gestionar els resultats" @@ -19841,10 +20238,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTA: valors alts poden causar desplaçament de capes (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Calibratge de la relació de flux" - # AI Translated msgid "Calibration Test Type" msgstr "Tipus de prova de calibratge" @@ -22098,6 +22491,2278 @@ msgstr "El filament pot no ser compatible amb la configuració actual de la màq msgid "The filament model is unknown. A random filament preset will be used." msgstr "El model de filament és desconegut. S'utilitzarà un perfil de filament aleatori." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Final" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Inferior" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Esborrar" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22399,8 +25064,9 @@ msgstr "" "Evitar la deformació( warping )\n" "Sabíeu que quan imprimiu materials propensos a deformar-se, com ara l'ABS, augmentar adequadament la temperatura del llit pot reduir la probabilitat de deformació?" -#~ msgid "Other" -#~ msgstr "Altre" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Obrir el marcatge ràpid d'accions" # AI Translated #~ msgid "Left: " @@ -22544,9 +25210,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Ordre d'impressió dins d'una sola capa" -#~ msgid "Bottom" -#~ msgstr "Inferior" - #~ msgid "Front" #~ msgstr "Frontal" @@ -22556,9 +25219,6 @@ msgstr "" #~ msgid "Enter" #~ msgstr "Retorn" -#~ msgid "Del" -#~ msgstr "Esborrar" - #~ msgid "Backspace" #~ msgstr "Retrocés" @@ -22574,9 +25234,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Fletxa cap a la dreta" -#~ msgid "End" -#~ msgstr "Final" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/cs/OrcaSlicer_cs.po b/localization/i18n/cs/OrcaSlicer_cs.po index 9dd405673e..5518d1d81e 100644 --- a/localization/i18n/cs/OrcaSlicer_cs.po +++ b/localization/i18n/cs/OrcaSlicer_cs.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: \n" "Last-Translator: Jakub Hencl\n" "Language-Team: \n" @@ -2519,6 +2519,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Nepodařilo se otevřít dialog Pluginy (neznámá chyba)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminál pluginu" @@ -4199,6 +4212,21 @@ msgstr "OrcaSlicer vznikl ve stejném duchu a vycházel z projektů PrusaSlicer, msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Dnes je OrcaSlicer nejpoužívanějším a nejaktivněji vyvíjeným open-source slicerem v komunitě 3D tisku. Mnoho jeho inovací převzaly i další slicery, díky čemuž se stal hnací silou celého odvětví." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Tiskárna" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Nastavení materiálů AMS" @@ -5766,9 +5794,6 @@ msgctxt "Noun" msgid "Print" msgstr "Tisk" -msgid "Printer" -msgstr "Tiskárna" - msgid "Time Estimation" msgstr "Odhad času" @@ -6072,7 +6097,7 @@ msgstr "Objem:" msgid "Size:" msgstr "Velikost:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Byly nalezeny konflikty drah G-kódu ve vrstvě %d, Z = %.2lf mm. Oddělte prosím konfliktní objekty více od sebe (%s <-> %s)." @@ -6238,6 +6263,9 @@ msgstr "Zavírání aplikace, když jsou upraveny některé předvolby." msgid "Logging" msgstr "Protokolování" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Připravit" @@ -6571,6 +6599,9 @@ msgstr "Zobrazit obrys kolem vybraného objektu ve 3D scéně." msgid "Preferences" msgstr "Předvolby" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7518,6 +7549,233 @@ msgstr "Tento dialog již nezobrazovat" msgid "Please refer to Wiki before use->" msgstr "Před použitím si přečtěte Wiki ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportovat STL" + +msgid "Export 3MF" +msgstr "Exportovat 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Kalibrace maximální objemové rychlosti" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Kalibrace průtokového poměru" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Odstranit všechny objekty" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Rozdělit na objekty" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D myš odpojena." @@ -8383,10 +8641,6 @@ msgstr "" msgid "Delete Object" msgstr "Odstranit objekt" -# AI Translated -msgid "Delete All Objects" -msgstr "Odstranit všechny objekty" - # AI Translated msgid "Reset Project" msgstr "Resetovat projekt" @@ -8394,10 +8648,6 @@ msgstr "Resetovat projekt" msgid "The selected object couldn't be split." msgstr "Zvolený objekt nelze rozdělit." -# AI Translated -msgid "Split to Objects" -msgstr "Rozdělit na objekty" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Zakázat automatické položení pro zachování pozice v ose Z?\n" @@ -9213,6 +9463,33 @@ msgstr "Správa více zařízení" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Pokud je tato volba povolena, můžete odeslat úlohu na více zařízení současně a spravovat více zařízení." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Zobrazit dialog pro výběr režimu seskupení filamentů" @@ -9295,6 +9572,12 @@ msgstr "Změnit směr přibližování myší" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Je-li povoleno, obrátí se směr přiblížení kolečkem myši." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Posun" @@ -10038,6 +10321,126 @@ msgstr "Pro \"%1%\" přidat \"%2%\" jako novou předvolbu" msgid "Simply switch to \"%1%\"" msgstr "Jednoduše přepněte na \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Ostatní" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Úloha zrušena" @@ -11936,6 +12339,17 @@ msgstr "Zobrazit/Skrýt dialog nastavení zařízení 3Dconnexion" msgid "Switch table page" msgstr "Přepnout stránku tabulky" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Mezerník" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Zobrazit seznam klávesových zkratek" @@ -12098,15 +12512,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Přepnout mezi Přípravou/Náhledem" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Mezerník" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Otevřít rychlou nabídku akcí" - msgid "Plater" msgstr "Deska" @@ -18182,9 +18587,6 @@ msgstr "příliš velká šířka čáry " msgid " not in range " msgstr " není v rozsahu " -msgid "Export 3MF" -msgstr "Exportovat 3MF" - msgid "This exports the project as a 3MF file." msgstr "Exportovat projekt jako 3MF." @@ -18200,9 +18602,6 @@ msgstr "Načíst data řezu" msgid "Load cached slicing data from directory." msgstr "Načíst uložená data řezu z adresáře." -msgid "Export STL" -msgstr "Exportovat STL" - msgid "Export the objects as single STL." msgstr "Exportovat objekty jako jeden STL." @@ -18912,9 +19311,6 @@ msgstr "Soubor obsahuje neplatný index vrcholu." msgid "This OBJ file couldn't be read because it's empty." msgstr "Tento soubor OBJ nelze načíst, protože je prázdný." -msgid "Max Volumetric Speed Calibration" -msgstr "Kalibrace maximální objemové rychlosti" - msgid "Manage Result" msgstr "Správa výsledku" @@ -19761,9 +20157,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "POZNÁMKA: Vysoké hodnoty mohou způsobit posun vrstev (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Kalibrace průtokového poměru" - msgid "Calibration Test Type" msgstr "Typ kalibračního testu" @@ -22078,6 +22471,2278 @@ msgstr "Filament nemusí být kompatibilní s aktuálním nastavením stroje. Po msgid "The filament model is unknown. A random filament preset will be used." msgstr "Model filamentu je neznámý. Použije se náhodná předvolba filamentu." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Konec" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Dole" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22380,8 +25045,9 @@ msgstr "" "Zamezte kroucení\n" "Víte, že při tisku materiálů náchylných ke kroucení, jako je ABS, může vhodné zvýšení teploty vyhřívané desky snížit pravděpodobnost kroucení?" -#~ msgid "Other" -#~ msgstr "Ostatní" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Otevřít rychlou nabídku akcí" # AI Translated #~ msgid "Left: " @@ -22530,9 +25196,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Pořadí tisku v rámci jedné vrstvy." -#~ msgid "Bottom" -#~ msgstr "Dole" - #~ msgid "Front" #~ msgstr "Předek" @@ -22551,9 +25214,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Šipka vpravo" -#~ msgid "End" -#~ msgstr "Konec" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/de/OrcaSlicer_de.po b/localization/i18n/de/OrcaSlicer_de.po index a4909c409b..f6bd69a1b1 100644 --- a/localization/i18n/de/OrcaSlicer_de.po +++ b/localization/i18n/de/OrcaSlicer_de.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: \n" "Last-Translator: Heiko Liebscher \n" "Language-Team: \n" @@ -2467,6 +2467,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Öffnen des Plugins-Dialogs fehlgeschlagen (unbekannter Fehler)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Plugin-Terminal" @@ -4112,6 +4125,21 @@ msgstr "OrcaSlicer begann in diesem gleichen Geist, indem es von PrusaSlicer, Ba msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Heute ist OrcaSlicer der am weitesten verbreitete und aktiv entwickelte Open-Source-Slicer in der 3D-Druck-Community. Viele seiner Innovationen wurden von anderen Slicern übernommen und treiben die gesamte Industrie voran." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Drucker" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Material Einstellung" @@ -5666,9 +5694,6 @@ msgctxt "Noun" msgid "Print" msgstr "aktuelle Platte drucken" -msgid "Printer" -msgstr "Drucker" - msgid "Time Estimation" msgstr "Geschätzte Zeit" @@ -5966,7 +5991,7 @@ msgstr "Volumen:" msgid "Size:" msgstr "Größe:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Konflikte von G-Code-Pfaden wurden bei Layer %d, Z = %.2lf mm gefunden.Bitte trennen Sie die konfliktbehafteten Objekte weiter voneinander (%s <-> %s)." @@ -6131,6 +6156,9 @@ msgstr "Schließen der Anwendung, während einige Profileinstellungen geändert msgid "Logging" msgstr "Protokollierung" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Vorbereiten" @@ -6459,6 +6487,9 @@ msgstr "Kontur um das ausgewählte Objekt in der 3D-Szene anzeigen." msgid "Preferences" msgstr "Einstellungen" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7395,6 +7426,233 @@ msgstr "Diesen Dialog nicht erneut anzeigen" msgid "Please refer to Wiki before use->" msgstr "Bitte lesen Sie vor der Verwendung das Wiki->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportiere STL" + +msgid "Export 3MF" +msgstr "3mf exportieren" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Maximale volumetrische Geschwindigkeitskalibrierung" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Flussratenkalibrierung" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Alle Objekte löschen" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "In Objekte aufteilen" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D-Maus nicht angeschlossen." @@ -8253,10 +8511,6 @@ msgstr "" msgid "Delete Object" msgstr "Objekt löschen" -# AI Translated -msgid "Delete All Objects" -msgstr "Alle Objekte löschen" - # AI Translated msgid "Reset Project" msgstr "Projekt zurücksetzen" @@ -8264,10 +8518,6 @@ msgstr "Projekt zurücksetzen" msgid "The selected object couldn't be split." msgstr "Das ausgewählte Objekt konnte nicht geteilt werden." -# AI Translated -msgid "Split to Objects" -msgstr "In Objekte aufteilen" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Auto-Drop deaktivieren, um die Z-Positionierung beizubehalten?\n" @@ -9084,6 +9334,33 @@ msgstr "Multi-Geräte-Verwaltung" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Wenn diese Option aktiviert ist, können Sie eine Aufgabe gleichzeitig an mehrere Geräte senden und mehrere Geräte verwalten." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Popup zum Auswählen des Filament-Gruppierungsmodus" @@ -9165,6 +9442,12 @@ msgstr "Maus-Zoom umkehren" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Wenn aktiviert, wird die Richtung des Zooms mit dem Mausrad umgekehrt." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Schwenken" @@ -9871,6 +10154,126 @@ msgstr "Für \"%1%\", fügen Sie \"%2%\" als neues Profil hinzu" msgid "Simply switch to \"%1%\"" msgstr "Wechseln Sie einfach zu \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Sonstiges" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Auftrag abgebrochen" @@ -11695,6 +12098,17 @@ msgstr "Dialogfeld für 3Dconnexion Geräteeinstellungen anzeigen/ausblenden" msgid "Switch table page" msgstr "Seitenwechsel" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Leertaste" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Liste der Tastaturkürzel anzeigen" @@ -11855,15 +12269,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Zwischen Vorbereiten/ Vorschau wechseln" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Leertaste" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Aktions-Schnellwahl öffnen" - msgid "Plater" msgstr "Druckplatte" @@ -17835,9 +18240,6 @@ msgstr "Zu große Linienbreite" msgid " not in range " msgstr "nicht im Bereich" -msgid "Export 3MF" -msgstr "3mf exportieren" - msgid "This exports the project as a 3MF file." msgstr "Projekt als 3MF exportieren." @@ -17853,9 +18255,6 @@ msgstr "Slicing-Daten laden" msgid "Load cached slicing data from directory." msgstr "Zwischengespeicherte Slicing-Daten aus dem Verzeichnis laden" -msgid "Export STL" -msgstr "Exportiere STL" - msgid "Export the objects as single STL." msgstr "Exportieren Sie die Objekte als einzelne STL." @@ -18561,9 +18960,6 @@ msgstr "Die Datei enthält einen ungültigen Scheitelpunktindex." msgid "This OBJ file couldn't be read because it's empty." msgstr "Diese OBJ-Datei konnte nicht gelesen werden, da sie leer ist." -msgid "Max Volumetric Speed Calibration" -msgstr "Maximale volumetrische Geschwindigkeitskalibrierung" - msgid "Manage Result" msgstr "Ergebnis verwalten" @@ -19405,9 +19801,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "Hinweis: Hohe Werte können zu Schichverschiebungen führen (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Flussratenkalibrierung" - msgid "Calibration Test Type" msgstr "Kalibrierungstesttyp" @@ -21502,6 +21895,2278 @@ msgstr "Das Filament ist möglicherweise nicht mit den aktuellen Geräteeinstell msgid "The filament model is unknown. A random filament preset will be used." msgstr "Das Filamentprofil ist unbekannt. Es wird ein zufälliges Filamentprofil verwendet." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Ende" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Unten" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Entf" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21802,8 +24467,9 @@ msgstr "" "Verwerfungen vermeiden\n" "Wussten Sie, dass beim Drucken von Materialien, die zu Verwerfungen neigen, wie z.B. ABS, durch eine entsprechende Erhöhung der Heizbetttemperatur die Wahrscheinlichkeit von Verwerfungen verringert werden kann?" -#~ msgid "Other" -#~ msgstr "Sonstiges" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Aktions-Schnellwahl öffnen" #~ msgid "Left: " #~ msgstr "Links: " @@ -21943,9 +24609,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Druckreihenfolge innerhalb einer einzelnen Schicht" -#~ msgid "Bottom" -#~ msgstr "Unten" - #~ msgid "Front" #~ msgstr "Vorne" @@ -21958,9 +24621,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Entf" - #~ msgid "Backspace" #~ msgstr "Rücktaste" @@ -21976,9 +24636,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Pfeil rechts" -#~ msgid "End" -#~ msgstr "Ende" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/en/OrcaSlicer_en.po b/localization/i18n/en/OrcaSlicer_en.po index d6f39cacb5..080cae9632 100644 --- a/localization/i18n/en/OrcaSlicer_en.po +++ b/localization/i18n/en/OrcaSlicer_en.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2026-06-17 15:44-0300\n" "Last-Translator: Alexandre Folle de Menezes\n" "Language-Team: \n" @@ -2316,6 +2316,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "" @@ -3900,6 +3913,21 @@ msgstr "" msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "" @@ -5352,9 +5380,6 @@ msgctxt "Noun" msgid "Print" msgstr "" -msgid "Printer" -msgstr "" - msgid "Time Estimation" msgstr "" @@ -5642,7 +5667,7 @@ msgstr "" msgid "Size:" msgstr "" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "" @@ -5802,6 +5827,9 @@ msgstr "" msgid "Logging" msgstr "" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "" @@ -6126,6 +6154,9 @@ msgstr "" msgid "Preferences" msgstr "" +msgid "Open speed dial..." +msgstr "" + msgctxt "Menu" msgid "Edit" msgstr "" @@ -7024,6 +7055,231 @@ msgstr "" msgid "Please refer to Wiki before use->" msgstr "" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "" + +msgid "Export 3MF" +msgstr "" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "" @@ -7813,18 +8069,12 @@ msgstr "" msgid "Delete Object" msgstr "" -msgid "Delete All Objects" -msgstr "" - msgid "Reset Project" msgstr "" msgid "The selected object couldn't be split." msgstr "" -msgid "Split to Objects" -msgstr "" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "" @@ -8573,6 +8823,33 @@ msgstr "" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "" +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "" @@ -8648,6 +8925,12 @@ msgstr "" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "" @@ -9292,6 +9575,126 @@ msgstr "" msgid "Simply switch to \"%1%\"" msgstr "" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "" @@ -10984,6 +11387,16 @@ msgstr "" msgid "Switch table page" msgstr "" +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "" @@ -11139,13 +11552,6 @@ msgstr "" msgid "Switch between Prepare/Preview" msgstr "" -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "" - -msgid "Open actions speed dial" -msgstr "" - msgid "Plater" msgstr "" @@ -16449,9 +16855,6 @@ msgstr "" msgid " not in range " msgstr "" -msgid "Export 3MF" -msgstr "" - msgid "This exports the project as a 3MF file." msgstr "" @@ -16467,9 +16870,6 @@ msgstr "" msgid "Load cached slicing data from directory." msgstr "" -msgid "Export STL" -msgstr "" - msgid "Export the objects as single STL." msgstr "" @@ -17155,9 +17555,6 @@ msgstr "" msgid "This OBJ file couldn't be read because it's empty." msgstr "" -msgid "Max Volumetric Speed Calibration" -msgstr "" - msgid "Manage Result" msgstr "" @@ -17904,9 +18301,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "" -msgid "Flow Ratio Calibration" -msgstr "" - msgid "Calibration Test Type" msgstr "" @@ -19878,6 +20272,2278 @@ msgstr "" msgid "The filament model is unknown. A random filament preset will be used." msgstr "" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" diff --git a/localization/i18n/es/OrcaSlicer_es.po b/localization/i18n/es/OrcaSlicer_es.po index 56132eb970..5d864aa200 100644 --- a/localization/i18n/es/OrcaSlicer_es.po +++ b/localization/i18n/es/OrcaSlicer_es.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: \n" "Last-Translator: Ian A. Bassi <>\n" "Language-Team: \n" @@ -2387,6 +2387,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "No se pudo abrir el cuadro de diálogo de plugins (error desconocido)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "Terminal de plugins" @@ -3991,6 +4004,21 @@ msgstr "OrcaSlicer nació con ese mismo espíritu, inspirándose en PrusaSlicer, msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Hoy en día, OrcaSlicer es el programa de corte de código abierto más utilizado y con mayor desarrollo activo en la comunidad de la impresión 3D. Muchas de sus innovaciones han sido adoptadas por otros programas de corte, lo que lo convierte en un motor impulsor de todo el sector." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Impresora" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Ajustes de materiales AMS" @@ -5524,9 +5552,6 @@ msgctxt "Noun" msgid "Print" msgstr "Impresión" -msgid "Printer" -msgstr "Impresora" - msgid "Time Estimation" msgstr "Tiempo Estimado" @@ -5821,7 +5846,7 @@ msgstr "Volumen:" msgid "Size:" msgstr "Tamaño:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Se han encontrado conflictos de rutas G-Code en la capa %d, Z = %.2lfmm. Por favor, separe más los objetos en conflicto (%s <-> %s)." @@ -5987,6 +6012,9 @@ msgstr "Cerrando la aplicación tras haber modificado algunos perfiles." msgid "Logging" msgstr "Registrando" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Preparar" @@ -6315,6 +6343,9 @@ msgstr "Mostrar el contorno alrededor del objeto seleccionado en la escena 3D." msgid "Preferences" msgstr "Preferencias" +msgid "Open speed dial..." +msgstr "" + msgctxt "Menu" msgid "Edit" msgstr "Edición" @@ -7241,6 +7272,231 @@ msgstr "No mostrar este mensaje de nuevo" msgid "Please refer to Wiki before use->" msgstr "Consulte la Wiki antes de usar->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportar STL" + +msgid "Export 3MF" +msgstr "Exportar 3MF" + +msgid "Export Sliced File" +msgstr "Exportar Archivo laminado" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibración de Velocidad Volumétrica Máxima" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Calibración de factor de flujo" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Borrar todos los objetos" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Separar en objetos" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Ratón 3D desconectado." @@ -8052,18 +8308,12 @@ msgstr "" msgid "Delete Object" msgstr "Borrar objeto" -msgid "Delete All Objects" -msgstr "Borrar todos los objetos" - msgid "Reset Project" msgstr "Reiniciar proyecto" msgid "The selected object couldn't be split." msgstr "El objeto seleccionado no ha podido ser dividido." -msgid "Split to Objects" -msgstr "Separar en objetos" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "¿Desactivar la caída automática para mantener la posición en el eje Z?\n" @@ -8852,6 +9102,33 @@ msgstr "Gestión multidispositivo" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Con esta opción activada, puede enviar una tarea a varios dispositivos al mismo tiempo y gestionar varios dispositivos." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Ventana emergente para seleccionar el modo de agrupación de filamentos" @@ -8933,6 +9210,12 @@ msgstr "Invertir el zoom del ratón" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Si se activa, invierte la dirección del zoom con la rueda del ratón." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Desplazamiento" @@ -9629,6 +9912,126 @@ msgstr "Para \"%1%\", añada \"%2%\" como un nuevo perfil" msgid "Simply switch to \"%1%\"" msgstr "Simplemente cambia a \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Otro" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tarea cancelada" @@ -11398,6 +11801,16 @@ msgstr "Mostrar/Ocultar el diálogo de ajustes de los dispositivos 3Dconnexion" msgid "Switch table page" msgstr "Cambiar de página de tabla" +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Espacio" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Muestra lista de atajos de teclado" @@ -11553,13 +11966,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Cambiar entre Preparar/Previsualizar" -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Espacio" - -msgid "Open actions speed dial" -msgstr "Abrir el menú rápido de acciones" - msgid "Plater" msgstr "Cama" @@ -17436,9 +17842,6 @@ msgstr "ancho de línea excesivo " msgid " not in range " msgstr " fuera de rango " -msgid "Export 3MF" -msgstr "Exportar 3MF" - msgid "This exports the project as a 3MF file." msgstr "Exportar el proyecto como 3MF." @@ -17454,9 +17857,6 @@ msgstr "Cargar datos de laminado" msgid "Load cached slicing data from directory." msgstr "Cargar datos de laminado en caché desde el directorio." -msgid "Export STL" -msgstr "Exportar STL" - msgid "Export the objects as single STL." msgstr "Exportar los objetos como un único STL." @@ -18162,9 +18562,6 @@ msgstr "El archivo contiene un índice de vértices no válido." msgid "This OBJ file couldn't be read because it's empty." msgstr "Este archivo OBJ no se ha podido leer porque está vacío." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibración de Velocidad Volumétrica Máxima" - msgid "Manage Result" msgstr "Administrar Resultados" @@ -19010,9 +19407,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTA: Valores altos pueden causar desplazamiento de capa (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Calibración de factor de flujo" - msgid "Calibration Test Type" msgstr "Tipo de calibración" @@ -21050,6 +21444,2278 @@ msgstr "Es posible que el filamento no sea compatible con la configuración de l msgid "The filament model is unknown. A random filament preset will be used." msgstr "Modelo de filamento desconocido. Se utilizará la configuración de filamento genérico. Se utilizará una configuración de filamento aleatorio." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Final" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Inferior" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Borrar" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21350,8 +24016,8 @@ msgstr "" "Evita la deformación\n" "¿Sabías que al imprimir materiales propensos a la deformación como el ABS, aumentar adecuadamente la temperatura de la cama térmica puede reducir la probabilidad de deformaciones?" -#~ msgid "Other" -#~ msgstr "Otro" +#~ msgid "Open actions speed dial" +#~ msgstr "Abrir el menú rápido de acciones" #~ msgid "Left: " #~ msgstr "Izquierda: " @@ -21483,9 +24149,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Orden de impresión dentro de cada capa." -#~ msgid "Bottom" -#~ msgstr "Inferior" - #~ msgid "Front" #~ msgstr "Frontal" @@ -21498,9 +24161,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Borrar" - #~ msgid "Backspace" #~ msgstr "Retroceso" @@ -21516,9 +24176,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Flecha hacia derecha" -#~ msgid "End" -#~ msgstr "Final" - #~ msgid "Hotend" #~ msgstr "Hotend" @@ -24465,9 +27122,6 @@ msgstr "" #~ msgid "Error at line %1%:\n" #~ msgstr "Error en la línea %1%:\n" -#~ msgid "Export Sliced File" -#~ msgstr "Exportar Archivo laminado" - #~ msgid "Export current Sliced file" #~ msgstr "Exportar el archivo laminado actual" diff --git a/localization/i18n/eu/OrcaSlicer_eu.po b/localization/i18n/eu/OrcaSlicer_eu.po index a510fcd436..a3b02f9e87 100644 --- a/localization/i18n/eu/OrcaSlicer_eu.po +++ b/localization/i18n/eu/OrcaSlicer_eu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2026-07-20 13:33+0200\n" "Last-Translator: Manu Goiogana \n" "Language-Team: \n" @@ -2421,6 +2421,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Ezin izan da pluginen elkarrizketa-koadroa ireki (errore ezezaguna)" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "Plugin-terminala" @@ -4030,6 +4043,21 @@ msgstr "OrcaSlicer espiritu berean sortu zen, PrusaSlicer, BambuStudio, SuperSli msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Gaur egun, OrcaSlicer 3D inprimaketaren komunitatean gehien erabiltzen eta aktiboen garatzen den kode irekiko xerratzailea da. Haren berrikuntza asko beste xerratzaile batzuek bereganatu dituzte, eta industria osoaren eragile nagusietako bat bihurtu da." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Inprimagailua" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Materialen Ezarpena" @@ -5573,9 +5601,6 @@ msgctxt "Noun" msgid "Print" msgstr "Inprimaketa" -msgid "Printer" -msgstr "Inprimagailua" - msgid "Time Estimation" msgstr "Denbora zenbatespena" @@ -5871,7 +5896,7 @@ msgstr "Bolumena:" msgid "Size:" msgstr "Tamaina:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "G-code ibilbideen gatazkak aurkitu dira %d geruzan, Z = %.2lf mm. Urrundu gehiago gatazkan dauden objektuak (%s <-> %s)." @@ -6033,6 +6058,9 @@ msgstr "Aplikazioa ixten, aurrezarpen batzuk aldatu ondoren." msgid "Logging" msgstr "Saioa hasten" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Prestatu" @@ -6361,6 +6389,9 @@ msgstr "Erakutsi hautatutako objektuaren inguruko ingerada 3D eszenan." msgid "Preferences" msgstr "Hobespenak" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7288,6 +7319,231 @@ msgstr "Ez erakutsi elkarrizketa-koadro hau berriro" msgid "Please refer to Wiki before use->" msgstr "Kontsultatu Wikia erabili aurretik ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Esportatu STL" + +msgid "Export 3MF" +msgstr "Esportatu 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Gehieneko abiadura bolumetrikoaren kalibrazioa" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Fluxu-erlazioaren kalibrazioa" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Ezabatu objektu guztiak" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Banatu objektutan" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D Sagua deskonektatuta." @@ -8131,18 +8387,12 @@ msgstr "" msgid "Delete Object" msgstr "Ezabatu objektua" -msgid "Delete All Objects" -msgstr "Ezabatu objektu guztiak" - msgid "Reset Project" msgstr "Berrezarri proiektua" msgid "The selected object couldn't be split." msgstr "Hautatutako objektua ezin izan da zatitu." -msgid "Split to Objects" -msgstr "Banatu objektutan" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Auto-Drop desgaitu Z posizioa mantentzeko?\n" @@ -8933,6 +9183,33 @@ msgstr "Gailu anitzen kudeaketa" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Aukera hau gaituta, zeregin bat hainbat gailutara bidali eta hainbat gailu kudea ditzakezu aldi berean." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Erakutsi filamentuak taldekatzeko modua hautatzeko leihoa" @@ -9014,6 +9291,12 @@ msgstr "Alderantzikatu saguaren zooma" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Gaituta badago, saguaren gurpilarekin zoomaren norabidea alderantzikatzen du." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Desplazatu" @@ -9715,6 +9998,126 @@ msgstr "\"%1%\"(e)n, gehitu \"%2%\" aurrezarpen berri gisa" msgid "Simply switch to \"%1%\"" msgstr "Aldatu \"%1%\"(e)ra soilik" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Bestelakoak" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Zeregina bertan behera utzi da" @@ -11508,6 +11911,17 @@ msgstr "Erakutsi/Ezkutatu 3Dconnexion gailuen ezarpenen elkarrizketa-koadroa" msgid "Switch table page" msgstr "Aldatu taula-orria" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Zuriunea" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Erakutsi teklatu-lasterbideen zerrenda" @@ -11668,14 +12082,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Aldatu Prestatu/Aurrebista artean" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Zuriunea" - -msgid "Open actions speed dial" -msgstr "Ekintzen markatze azkarra ireki" - msgid "Plater" msgstr "Plaka-antolatzailea" @@ -17615,9 +18021,6 @@ msgstr "lerro-zabalera handiegia " msgid " not in range " msgstr " ez dago tartean " -msgid "Export 3MF" -msgstr "Esportatu 3MF" - msgid "This exports the project as a 3MF file." msgstr "Honek proiektua 3MF gisa esportatzen du." @@ -17633,9 +18036,6 @@ msgstr "Kargatu xerratze-datuak" msgid "Load cached slicing data from directory." msgstr "Kargatu cachean gordetako xerratze-datuak direktoriotik." -msgid "Export STL" -msgstr "Esportatu STL" - msgid "Export the objects as single STL." msgstr "Esportatu objektuak STL bakar gisa." @@ -18341,9 +18741,6 @@ msgstr "Fitxategiak erpin-indize baliogabea du." msgid "This OBJ file couldn't be read because it's empty." msgstr "OBJ fitxategi hau ezin izan da irakurri, hutsik dagoelako." -msgid "Max Volumetric Speed Calibration" -msgstr "Gehieneko abiadura bolumetrikoaren kalibrazioa" - msgid "Manage Result" msgstr "Kudeatu emaitza" @@ -19190,9 +19587,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "OHARRA: balio handiek geruza-desplazamendua eragin dezakete (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Fluxu-erlazioaren kalibrazioa" - msgid "Calibration Test Type" msgstr "Kalibrazio-probaren mota" @@ -21237,6 +21631,2278 @@ msgstr "Baliteke filamentua uneko makinaren ezarpenekin bateragarria ez izatea. msgid "The filament model is unknown. A random filament preset will be used." msgstr "Filamentu-modeloa ezezaguna da. Ausazko filamentuen aurrezarpen bat erabiliko da." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Amaiera" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Behekoa" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Ezabatu" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21537,8 +24203,8 @@ msgstr "" "Saihestu okertzea\n" "Ba al zenekien ABS bezalako okertzeko joera duten materialak inprimatzean ohe beroaren tenperatura egoki igotzeak okertzeko probabilitatea murriztu dezakeela?" -#~ msgid "Other" -#~ msgstr "Bestelakoak" +#~ msgid "Open actions speed dial" +#~ msgstr "Ekintzen markatze azkarra ireki" #~ msgid "Left: " #~ msgstr "Ezkerra: " @@ -21672,9 +24338,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Geruza bakarreko inprimatze-ordena." -#~ msgid "Bottom" -#~ msgstr "Behekoa" - #~ msgid "Front" #~ msgstr "Aurrekoa" @@ -21687,9 +24350,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Ezabatu" - #~ msgid "Backspace" #~ msgstr "Atzera-tekla" @@ -21705,9 +24365,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Eskuin gezia" -#~ msgid "End" -#~ msgstr "Amaiera" - #~ msgid "Hotend" #~ msgstr "Hotend-a" diff --git a/localization/i18n/fr/OrcaSlicer_fr.po b/localization/i18n/fr/OrcaSlicer_fr.po index 3d410daf6e..a4c3c88954 100644 --- a/localization/i18n/fr/OrcaSlicer_fr.po +++ b/localization/i18n/fr/OrcaSlicer_fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: Guislain Cyril, Thomas Lété\n" @@ -2448,6 +2448,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Échec de l'ouverture de la boîte de dialogue des plugins (erreur inconnue)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal des plugins" @@ -4067,6 +4080,21 @@ msgstr "OrcaSlicer est né dans ce même esprit, en s’inspirant de PrusaSlicer msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Aujourd’hui, OrcaSlicer est le slicer open-source le plus utilisé et le plus activement développé de la communauté de l’impression 3D. Beaucoup de ses innovations ont été adoptées par d’autres slicers, ce qui en fait une force motrice pour toute l’industrie." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Imprimante" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Réglage des matériaux AMS" @@ -5616,9 +5644,6 @@ msgctxt "Noun" msgid "Print" msgstr "Imprimer" -msgid "Printer" -msgstr "Imprimante" - msgid "Time Estimation" msgstr "Estimation de temps" @@ -5914,7 +5939,7 @@ msgstr "Volume :" msgid "Size:" msgstr "Taille :" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Des conflits de chemins G-code ont été trouvés au niveau de la couche %d, z = %.2lfmm. Veuillez séparer davantage les objets en conflit (%s <-> %s)." @@ -6080,6 +6105,9 @@ msgstr "Fermeture de l'application pendant que certains préréglages sont modif msgid "Logging" msgstr "Enregistrement" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Préparer" @@ -6408,6 +6436,9 @@ msgstr "Afficher le tracé contour de l’objet sélectionné dans la scène 3D. msgid "Preferences" msgstr "Préférences" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7338,6 +7369,231 @@ msgstr "Ne plus afficher cette boîte de dialogue" msgid "Please refer to Wiki before use->" msgstr "Veuillez consulter le Wiki avant utilisation ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exporter STL" + +msgid "Export 3MF" +msgstr "Exporter 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibration de la vitesse volumétrique maximale" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Calibration du rapport de débit" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Supprimer tous les objets" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Scinder en objets" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Souris 3D déconnectée." @@ -8187,18 +8443,12 @@ msgstr "" msgid "Delete Object" msgstr "Supprimer l’objet" -msgid "Delete All Objects" -msgstr "Supprimer tous les objets" - msgid "Reset Project" msgstr "Réinitialiser le projet" msgid "The selected object couldn't be split." msgstr "L'objet sélectionné n'a pas pu être divisé." -msgid "Split to Objects" -msgstr "Scinder en objets" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Désactiver le dépôt automatique pour préserver le positionnement en Z ?\n" @@ -9000,6 +9250,33 @@ msgstr "Gestion multi appareils" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Si cette option est activée, vous pouvez envoyer une tâche à plusieurs appareils en même temps et gérer plusieurs appareils." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Fenêtre contextuelle pour sélectionner le mode de regroupement des filaments" @@ -9081,6 +9358,12 @@ msgstr "Inverser le zoom de la souris" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Si cette option est activée, elle inverse le sens du zoom avec la molette de la souris." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Panoramique" @@ -9785,6 +10068,126 @@ msgstr "Pour \"%1%\", ajoutez \"%2%\" comme nouveau préréglage" msgid "Simply switch to \"%1%\"" msgstr "Passez simplement à \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Autre" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tâche annulée" @@ -11603,6 +12006,17 @@ msgstr "Afficher/Masquer la boîte de dialogue des paramètres des périphériqu msgid "Switch table page" msgstr "Page du tableau de commutation" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Espace" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Afficher la liste des raccourcis clavier" @@ -11763,15 +12177,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Basculer entre Préparer/Aperçu" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Espace" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Ouvrir le menu d'actions rapides" - msgid "Plater" msgstr "Plateau" @@ -17726,9 +18131,6 @@ msgstr "largeur de ligne trop grande " msgid " not in range " msgstr " hors plage " -msgid "Export 3MF" -msgstr "Exporter 3MF" - msgid "This exports the project as a 3MF file." msgstr "Exporter le projet au format 3MF." @@ -17744,9 +18146,6 @@ msgstr "Charger les données de tranchage" msgid "Load cached slicing data from directory." msgstr "Charger les données de tranchage mises en cache à partir du répertoire" -msgid "Export STL" -msgstr "Exporter STL" - msgid "Export the objects as single STL." msgstr "Exporter les objets en tant que STL unique." @@ -18452,9 +18851,6 @@ msgstr "Le fichier contient un index de sommets non valide." msgid "This OBJ file couldn't be read because it's empty." msgstr "Ce fichier OBJ n'a pas pu être lu car il est vide." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibration de la vitesse volumétrique maximale" - msgid "Manage Result" msgstr "Gérer le résultat" @@ -19299,9 +19695,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTE : Des valeurs élevées peuvent causer un décalage de couche (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Calibration du rapport de débit" - msgid "Calibration Test Type" msgstr "Type de test de calibration" @@ -21392,6 +21785,2278 @@ msgstr "Le filament peut ne pas être compatible avec les paramètres actuels de msgid "The filament model is unknown. A random filament preset will be used." msgstr "Le modèle de filament est inconnu. Un préréglage de filament aléatoire sera utilisé." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Fin" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Dessous" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Eff" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21692,8 +24357,9 @@ msgstr "" "Éviter la déformation\n" "Saviez-vous que lors de l’impression de matériaux susceptibles de se déformer, tels que l’ABS, une augmentation appropriée de la température du plateau chauffant peut réduire la probabilité de déformation?" -#~ msgid "Other" -#~ msgstr "Autre" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Ouvrir le menu d'actions rapides" #~ msgid "Left: " #~ msgstr "Gauche : " @@ -21833,9 +24499,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Ordre d’impression au sein d’une même couche" -#~ msgid "Bottom" -#~ msgstr "Dessous" - #~ msgid "Front" #~ msgstr "Avant" @@ -21848,9 +24511,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Échap" -#~ msgid "Del" -#~ msgstr "Eff" - #~ msgid "Backspace" #~ msgstr "Retour arrière" @@ -21866,9 +24526,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Flèche Droite" -#~ msgid "End" -#~ msgstr "Fin" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/hu/OrcaSlicer_hu.po b/localization/i18n/hu/OrcaSlicer_hu.po index bc65ceef4b..f83b1679e5 100644 --- a/localization/i18n/hu/OrcaSlicer_hu.po +++ b/localization/i18n/hu/OrcaSlicer_hu.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2497,6 +2497,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Nem sikerült megnyitni a Bővítmények párbeszédablakot (ismeretlen hiba)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Bővítményterminál" @@ -4156,6 +4169,21 @@ msgstr "Az OrcaSlicer ugyanebben a szellemben indult, a PrusaSlicer, a BambuStud msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Ma az OrcaSlicer a legszélesebb körben használt és legaktívabban fejlesztett nyílt forráskódú szeletelő a 3D nyomtatási közösségben. Sok újítását más szeletelők is átvették, így az egész iparág hajtóereje." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Nyomtató" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS anyagok beállítása" @@ -5713,9 +5741,6 @@ msgctxt "Noun" msgid "Print" msgstr "Nyomtatás" -msgid "Printer" -msgstr "Nyomtató" - msgid "Time Estimation" msgstr "Időbecslés" @@ -6014,7 +6039,7 @@ msgstr "Térfogat:" msgid "Size:" msgstr "Méret:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "G-kód útvonalütközés található a(z) %d. rétegen, Z = %.2lfmm. Helyezd távolabb egymástól az ütköző objektumokat (%s <-> %s)." @@ -6180,6 +6205,9 @@ msgstr "Alkalmazás bezárása egyes beállítások módosítása közben." msgid "Logging" msgstr "Naplózás" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Előkészítés" @@ -6510,6 +6538,9 @@ msgstr "Körvonal megjelenítése a kijelölt objektum körül a 3D nézetben." msgid "Preferences" msgstr "Beállítások" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7449,6 +7480,233 @@ msgstr "Ne jelenjen meg többé ez a párbeszédablak" msgid "Please refer to Wiki before use->" msgstr "Használat előtt nézd meg a Wikit ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "STL exportálása" + +msgid "Export 3MF" +msgstr "3MF exportálása" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Max. volumetrikus sebesség kalibrálása" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Anyagáramlás kalibrálás" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Összes objektum törlése" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Felosztás objektumokra" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D Mouse csatlakoztatva." @@ -8307,10 +8565,6 @@ msgstr "" msgid "Delete Object" msgstr "Objektum törlése" -# AI Translated -msgid "Delete All Objects" -msgstr "Összes objektum törlése" - # AI Translated msgid "Reset Project" msgstr "Projekt visszaállítása" @@ -8318,10 +8572,6 @@ msgstr "Projekt visszaállítása" msgid "The selected object couldn't be split." msgstr "A kijelölt objektumot nem lehet feldarabolni." -# AI Translated -msgid "Split to Objects" -msgstr "Felosztás objektumokra" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Letiltja az Auto-Drop funkciót a Z pozicionálás megőrzéséhez?\n" @@ -9136,6 +9386,33 @@ msgstr "Többeszközös kezelés" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Ezzel az opcióval egyszerre több eszközre küldhetsz feladatot és több eszközt kezelhetsz." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Felugró ablak a filamentcsoportosítási mód kiválasztásához" @@ -9217,6 +9494,12 @@ msgstr "Fordított egér-nagyítás" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Ha engedélyezve van, megfordítja az egérgörgős nagyítás irányát." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Pásztázás" @@ -9945,6 +10228,126 @@ msgstr "Ehhez: \"%1%\", add hozzá \"%2%\"-t új beállításként" msgid "Simply switch to \"%1%\"" msgstr "Csak válts a(z) \"%1%\"-ra" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Egyéb" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Feladat megszakítva" @@ -11785,6 +12188,17 @@ msgstr "3Dconnexion-eszközbeállítások párbeszédablak megjelenítése/elrej msgid "Switch table page" msgstr "Váltás táblázatra" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Szóköz" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Gyorsgombok listájának megjelenítése" @@ -11945,15 +12359,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Váltás előkészítés/előnézet között" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Szóköz" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Műveletek gyorsmenüjének megnyitása" - msgid "Plater" msgstr "Tálca" @@ -17997,9 +18402,6 @@ msgstr "túl nagy vonalszélesség " msgid " not in range " msgstr " nincs a tartományban " -msgid "Export 3MF" -msgstr "3MF exportálása" - msgid "This exports the project as a 3MF file." msgstr "Projekt exportálása 3MF formátumban." @@ -18015,9 +18417,6 @@ msgstr "Szeletelési adatok betöltése" msgid "Load cached slicing data from directory." msgstr "Gyorsítótárazott szeletelési adatok betöltése mappából" -msgid "Export STL" -msgstr "STL exportálása" - msgid "Export the objects as single STL." msgstr "Az objektumok exportálása egyetlen STL fájlként." @@ -18725,9 +19124,6 @@ msgstr "A fájl érvénytelen csúcsindexet tartalmaz." msgid "This OBJ file couldn't be read because it's empty." msgstr "Ez az OBJ fájl nem olvasható be, mert üres." -msgid "Max Volumetric Speed Calibration" -msgstr "Max. volumetrikus sebesség kalibrálása" - msgid "Manage Result" msgstr "Eredmények kezelése" @@ -19573,9 +19969,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "MEGJEGYZÉS: A magas értékek rétegeltolódást okozhatnak (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Anyagáramlás kalibrálás" - msgid "Calibration Test Type" msgstr "Kalibrációs teszt típusa" @@ -21820,6 +22213,2278 @@ msgstr "Előfordulhat, hogy a filament nem kompatibilis a jelenlegi gépbeállí msgid "The filament model is unknown. A random filament preset will be used." msgstr "A filament modellje ismeretlen. Egy véletlenszerű filamentbeállítást használ." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Vége" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Alul" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22121,8 +24786,9 @@ msgstr "" "Kunkorodás elkerülése\n" "Tudtad, hogy a kunkorodásra hajlamos anyagok (például ABS) nyomtatásakor az asztal hőmérsékletének növelése csökkentheti a kunkorodás valószínűségét?" -#~ msgid "Other" -#~ msgstr "Egyéb" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Műveletek gyorsmenüjének megnyitása" # AI Translated #~ msgid "Left: " @@ -22264,9 +24930,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Nyomtatási sorrend egyetlen rétegen belül." -#~ msgid "Bottom" -#~ msgstr "Alul" - #~ msgid "Front" #~ msgstr "Elöl" @@ -22288,9 +24951,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Jobbra nyíl" -#~ msgid "End" -#~ msgstr "Vége" - #~ msgid "Hotend" #~ msgstr "Fejegység" diff --git a/localization/i18n/it/OrcaSlicer_it.po b/localization/i18n/it/OrcaSlicer_it.po index a28bfe7c7e..087189ae93 100644 --- a/localization/i18n/it/OrcaSlicer_it.po +++ b/localization/i18n/it/OrcaSlicer_it.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2503,6 +2503,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Impossibile aprire la finestra di dialogo Plugin (errore sconosciuto)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminale plugin" @@ -4159,6 +4172,21 @@ msgstr "OrcaSlicer è nato con lo stesso spirito, traendo ispirazione da PrusaSl msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Oggi, OrcaSlicer è il programma di sezionamento a sorgente aperta più utilizzato e attivamente sviluppato nella comunità della stampa 3D. Molte delle sue innovazioni sono state adottate da altri programmi di stampa, rendendolo un punto di riferimento per l'intero settore." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Stampante" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Impostazione materiali AMS" @@ -5714,9 +5742,6 @@ msgctxt "Noun" msgid "Print" msgstr "Stampa" -msgid "Printer" -msgstr "Stampante" - msgid "Time Estimation" msgstr "Tempo stimato" @@ -6016,7 +6041,7 @@ msgstr "Volume:" msgid "Size:" msgstr "Dimensione:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Sono stati trovati conflitti di percorsi nel G-code sullo strato %d, Z = %.2lfmm. Si prega di separare gli oggetti in conflitto (%s <-> %s)." @@ -6182,6 +6207,9 @@ msgstr "Chiusura dell'applicazione durante la modifica di alcuni profili." msgid "Logging" msgstr "Accesso" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Prepara" @@ -6512,6 +6540,9 @@ msgstr "Mostra il contorno attorno all'oggetto selezionato nella scena 3D." msgid "Preferences" msgstr "Preferenze" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7452,6 +7483,233 @@ msgstr "Non mostrare più questa finestra di dialogo" msgid "Please refer to Wiki before use->" msgstr "Fare riferimento alla Wiki prima dell'uso ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Esporta STL" + +msgid "Export 3MF" +msgstr "Esporta 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibrazione della velocità volumetrica massima" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Calibrazione flusso di stampa" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Elimina tutti gli oggetti" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Dividi in oggetti" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Mouse 3D disconnesso." @@ -8307,10 +8565,6 @@ msgstr "" msgid "Delete Object" msgstr "Elimina oggetto" -# AI Translated -msgid "Delete All Objects" -msgstr "Elimina tutti gli oggetti" - # AI Translated msgid "Reset Project" msgstr "Reimposta progetto" @@ -8318,10 +8572,6 @@ msgstr "Reimposta progetto" msgid "The selected object couldn't be split." msgstr "L'oggetto selezionato non può essere diviso." -# AI Translated -msgid "Split to Objects" -msgstr "Dividi in oggetti" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Disabilitare la funzione di Rilascio automatico per preservare il posizionamento sull'asse Z?\n" @@ -9138,6 +9388,33 @@ msgstr "Gestione multi-dispositivo" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Abilitando questa opzione, puoi inviare un'attività a più dispositivi contemporaneamente e gestire più dispositivi." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Popup per selezionare la modalità di raggruppamento filamenti" @@ -9219,6 +9496,12 @@ msgstr "Inverti zoom del mouse" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Se abilitato, inverte la direzione dell'ingrandimento con la rotellina del mouse." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Panoramica" @@ -9963,6 +10246,126 @@ msgstr "Per \"%1%\", aggiungere \"%2%\" come nuovo profilo" msgid "Simply switch to \"%1%\"" msgstr "Passa semplicemente a \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Altro" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Attività annullata" @@ -11805,6 +12208,17 @@ msgstr "Mostra/nascondi la finestra di dialogo delle impostazioni dei dispositiv msgid "Switch table page" msgstr "Cambia pagina tabella" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Spazio" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Mostra elenco scorciatoie da tastiera" @@ -11966,15 +12380,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Passa tra Prepara e Anteprima" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Spazio" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Apri la selezione rapida delle azioni" - msgid "Plater" msgstr "Piatto" @@ -18020,9 +18425,6 @@ msgstr "larghezza della linea troppo grande " msgid " not in range " msgstr " fuori portata " -msgid "Export 3MF" -msgstr "Esporta 3MF" - msgid "This exports the project as a 3MF file." msgstr "Esporta il progetto come file 3MF." @@ -18038,9 +18440,6 @@ msgstr "Carica dati elaborati" msgid "Load cached slicing data from directory." msgstr "Carica i dati di elaborazione memorizzati nella cache dalla directory." -msgid "Export STL" -msgstr "Esporta STL" - msgid "Export the objects as single STL." msgstr "Esporta gli oggetti in un singolo STL." @@ -18748,9 +19147,6 @@ msgstr "Il file contiene un indice dei vertici non valido." msgid "This OBJ file couldn't be read because it's empty." msgstr "Impossibile leggere il file OBJ perché è vuoto." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibrazione della velocità volumetrica massima" - msgid "Manage Result" msgstr "Gestisci risultato" @@ -19595,9 +19991,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTA: valori elevati possono causare spostamento degli strati (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Calibrazione flusso di stampa" - msgid "Calibration Test Type" msgstr "Tipo test calibrazione" @@ -21844,6 +22237,2278 @@ msgstr "Il filamento potrebbe non essere compatibile con le impostazioni corrent msgid "The filament model is unknown. A random filament preset will be used." msgstr "Il modello di filamento è sconosciuto. Verrà utilizzato un profilo filamento casuale." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Fine" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Inferiore" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Elimina" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22145,8 +24810,9 @@ msgstr "" "Evita le deformazioni\n" "Sapevi che quando si stampano materiali soggetti a deformazioni come l'ABS, aumentare in modo appropriato la temperatura del piano riscaldato può ridurre la probabilità di deformazione?" -#~ msgid "Other" -#~ msgstr "Altro" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Apri la selezione rapida delle azioni" # AI Translated #~ msgid "Left: " @@ -22288,9 +24954,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Ordine di stampa all'interno di un singolo strato." -#~ msgid "Bottom" -#~ msgstr "Inferiore" - #~ msgid "Front" #~ msgstr "Frontale" @@ -22300,9 +24963,6 @@ msgstr "" #~ msgid "Enter" #~ msgstr "Invio" -#~ msgid "Del" -#~ msgstr "Elimina" - #~ msgid "Arrow Up" #~ msgstr "Freccia Su" @@ -22315,9 +24975,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Freccia Destra" -#~ msgid "End" -#~ msgstr "Fine" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/ja/OrcaSlicer_ja.po b/localization/i18n/ja/OrcaSlicer_ja.po index 68691d6700..98f937fc6d 100644 --- a/localization/i18n/ja/OrcaSlicer_ja.po +++ b/localization/i18n/ja/OrcaSlicer_ja.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2510,6 +2510,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "プラグインダイアログを開けませんでした (不明なエラー)。" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "プラグインターミナル" @@ -4169,6 +4182,21 @@ msgstr "OrcaSlicerも同じ精神のもと、PrusaSlicer、BambuStudio、SuperSl msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "現在、OrcaSlicerは3Dプリントコミュニティで最も広く使われ、最も活発に開発されているオープンソースのスライサーです。その革新の多くは他のスライサーにも採用され、業界全体を牽引する存在となっています。" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "プリンター" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS素材設定" @@ -5730,9 +5758,6 @@ msgctxt "Noun" msgid "Print" msgstr "造形する" -msgid "Printer" -msgstr "プリンター" - msgid "Time Estimation" msgstr "予測時間" @@ -6032,7 +6057,7 @@ msgstr "ボリューム" msgid "Size:" msgstr "サイズ:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "レイヤー%d、Z = %.2lfmmでG-codeパスの衝突が検出されました。衝突するオブジェクトをもっと離してください(%s <-> %s)。" @@ -6192,6 +6217,9 @@ msgstr "プリセットが変更されたが終了します" msgid "Logging" msgstr "ログ" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "準備" @@ -6522,6 +6550,9 @@ msgstr "3Dシーンで選択したオブジェクトの周りにアウトライ msgid "Preferences" msgstr "設定" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7461,6 +7492,235 @@ msgstr "このダイアログを再度表示しない" msgid "Please refer to Wiki before use->" msgstr "使用前にWikiを参照してください->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +# AI Translated +msgid "Export STL" +msgstr "STLをエクスポート" + +msgid "Export 3MF" +msgstr "3mf をエクスポート" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "最大体積速度キャリブレーション" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "流量比キャリブレーション" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "すべてのオブジェクトを削除" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "オブジェクトに分割" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D Mouseが切断されました。" @@ -8324,10 +8584,6 @@ msgstr "" msgid "Delete Object" msgstr "オブジェクトを削除" -# AI Translated -msgid "Delete All Objects" -msgstr "すべてのオブジェクトを削除" - # AI Translated msgid "Reset Project" msgstr "プロジェクトをリセット" @@ -8335,10 +8591,6 @@ msgstr "プロジェクトをリセット" msgid "The selected object couldn't be split." msgstr "選択したオブジェクトを分割できませんでした。" -# AI Translated -msgid "Split to Objects" -msgstr "オブジェクトに分割" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Z位置を維持するために自動ドロップを無効にしますか?\n" @@ -9159,6 +9411,33 @@ msgstr "マルチデバイス管理" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "このオプションを有効にすると、複数のデバイスに同時にタスクを送信し、複数のデバイスを管理できます。" +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "フィラメントグルーピングモード選択のポップアップ" @@ -9240,6 +9519,12 @@ msgstr "マウスの逆ズーム" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "有効にすると、マウス ホイールによるズームの方向が反転します。" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "パン" @@ -9986,6 +10271,126 @@ msgstr "\"%1%\"に対して、\"%2%\"を新しいプリセットとして追加 msgid "Simply switch to \"%1%\"" msgstr "\"%1%\"に切り替え" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "その他" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "タスクを取消しました" @@ -11827,6 +12232,17 @@ msgstr "3Dconnexion設定を表示/非表示" msgid "Switch table page" msgstr "テーブルページを切り替え" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "ショートカット一覧を表示" @@ -11989,15 +12405,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "準備/プレビュー間の切り替え" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "アクションスピードダイヤルを開く" - msgid "Plater" msgstr "準備" @@ -18419,9 +18826,6 @@ msgstr "線幅が大きすぎます" msgid " not in range " msgstr "範囲外 " -msgid "Export 3MF" -msgstr "3mf をエクスポート" - msgid "This exports the project as a 3MF file." msgstr "プロジェクトを3MF式で出力" @@ -18437,10 +18841,6 @@ msgstr "スライスデータを読込み" msgid "Load cached slicing data from directory." msgstr "スライスデータを読込み" -# AI Translated -msgid "Export STL" -msgstr "STLをエクスポート" - # AI Translated msgid "Export the objects as single STL." msgstr "オブジェクトを単一のSTLとしてエクスポートします。" @@ -19216,9 +19616,6 @@ msgstr "ファイルに無効な頂点インデックスが含まれています msgid "This OBJ file couldn't be read because it's empty." msgstr "このOBJファイルは空なので読み込めませんでした。" -msgid "Max Volumetric Speed Calibration" -msgstr "最大体積速度キャリブレーション" - msgid "Manage Result" msgstr "結果を管理" @@ -20099,10 +20496,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "注意: 値が大きいとレイヤーずれが発生する場合があります (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "流量比キャリブレーション" - # AI Translated msgid "Calibration Test Type" msgstr "キャリブレーションテストのタイプ" @@ -22389,6 +22782,2278 @@ msgstr "フィラメントが現在のマシン設定と互換性がない可能 msgid "The filament model is unknown. A random filament preset will be used." msgstr "フィラメントモデルが不明です。ランダムなフィラメントプリセットが使用されます。" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "終了" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "底面" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + # AI Translated #: resources/data/hints.ini: [hint:Precise wall] msgid "" @@ -22701,8 +25366,9 @@ msgstr "" "反りを避ける\n" "ABSのような反りやすい素材を印刷する場合、ヒートベッドの温度を適切に上げることで、反りが発生する確率を下げることができることをご存知ですか?" -#~ msgid "Other" -#~ msgstr "その他" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "アクションスピードダイヤルを開く" # AI Translated #~ msgid "Left: " @@ -22850,9 +25516,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "単一レイヤー内の印刷順序。" -#~ msgid "Bottom" -#~ msgstr "底面" - #~ msgid "Front" #~ msgstr "正面" @@ -22871,9 +25534,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "→" -#~ msgid "End" -#~ msgstr "終了" - #~ msgid "Hotend" #~ msgstr "ホットエンド" diff --git a/localization/i18n/ko/OrcaSlicer_ko.po b/localization/i18n/ko/OrcaSlicer_ko.po index dccc289f47..1dda527e28 100644 --- a/localization/i18n/ko/OrcaSlicer_ko.po +++ b/localization/i18n/ko/OrcaSlicer_ko.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2025-06-02 17:12+0900\n" "Last-Translator: crwusiz \n" "Language-Team: \n" @@ -2518,6 +2518,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "플러그인 대화 상자를 열지 못했습니다(알 수 없는 오류)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "플러그인 터미널" @@ -4176,6 +4189,21 @@ msgstr "OrcaSlicer도 같은 정신으로 시작하여 PrusaSlicer, BambuStudio, msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "오늘날 OrcaSlicer는 3D 프린팅 커뮤니티에서 가장 널리 사용되고 가장 활발하게 개발되는 오픈 소스 슬라이서입니다. 그 혁신 가운데 다수가 다른 슬라이서에도 채택되어 업계 전체를 이끄는 원동력이 되고 있습니다." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "프린터" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS 재료 설정" @@ -5742,9 +5770,6 @@ msgctxt "Noun" msgid "Print" msgstr "출력" -msgid "Printer" -msgstr "프린터" - msgid "Time Estimation" msgstr "추정 시간" @@ -6044,7 +6069,7 @@ msgstr "용량:" msgid "Size:" msgstr "크기:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "레이어 %d, Z = %.2lf mm에서 Gcode 경로 충돌이 발견되었습니다. 충돌하는 객체를 더 멀리 분리하세요 (%s <-> %s)." @@ -6206,6 +6231,9 @@ msgstr "일부 사전 설정을 수정하는 동안 응용 프로그램을 닫 msgid "Logging" msgstr "로깅" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "준비 하기" @@ -6535,6 +6563,9 @@ msgstr "3D 장면에서 선택한 객체 주변에 윤곽선 표시" msgid "Preferences" msgstr "기본 설정" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7473,6 +7504,234 @@ msgstr "이 대화 상자를 다시 표시하지 마세요." msgid "Please refer to Wiki before use->" msgstr "사용하기 전에 Wiki를 참조하십시오->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "STL 내보내기" + +msgid "Export 3MF" +msgstr "3MF 내보내기" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "최대 압출 속도 교정" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "압출량 비율 교정" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "모든 객체 삭제" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "객체로 분할" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D 마우스가 분리됨." @@ -8345,10 +8604,6 @@ msgstr "" msgid "Delete Object" msgstr "객체 삭제" -# AI Translated -msgid "Delete All Objects" -msgstr "모든 객체 삭제" - # AI Translated msgid "Reset Project" msgstr "프로젝트 초기화" @@ -8356,10 +8611,6 @@ msgstr "프로젝트 초기화" msgid "The selected object couldn't be split." msgstr "선택한 객체를 분할할 수 없습니다." -# AI Translated -msgid "Split to Objects" -msgstr "객체로 분할" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Z 위치를 유지하기 위해 자동 내려놓기를 비활성화하시겠습니까?\n" @@ -9220,6 +9471,33 @@ msgstr "다중 장치 관리" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "활성화하면 여러 장치에 동시에 작업을 보내고 여러 장치를 관리할 수 있습니다." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "필라멘트 그룹화 모드를 선택하기 위한 팝업" @@ -9310,6 +9588,12 @@ msgstr "역방향 마우스 줌" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "활성화되면 마우스 휠을 사용하여 확대/축소 방향을 반대로 바꿉니다." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "화면 이동" @@ -10076,6 +10360,126 @@ msgstr "%1%에 대해, %2%를 새 사전 설정으로 추가합니다" msgid "Simply switch to \"%1%\"" msgstr "\"%1%\"로 단순 전환" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "기타" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "작업이 취소됨" @@ -11959,6 +12363,17 @@ msgstr "3D 연결 장치 설정 표시/숨기기 대화상자" msgid "Switch table page" msgstr "테이블 페이지 전환" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "키보드 단축키 목록 보기" @@ -12123,15 +12538,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "준비 하기/미리 보기 전환" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "작업 스피드 다이얼 열기" - msgid "Plater" msgstr "출력판" @@ -18352,9 +18758,6 @@ msgstr "너무 넓은 선 너비 " msgid " not in range " msgstr " 범위를 벗어남 " -msgid "Export 3MF" -msgstr "3MF 내보내기" - msgid "This exports the project as a 3MF file." msgstr "프로젝트를 3MF로 내보내기." @@ -18370,9 +18773,6 @@ msgstr "슬라이싱 데이터 로드" msgid "Load cached slicing data from directory." msgstr "디렉토리에 캐시된 슬라이싱 데이터 로드" -msgid "Export STL" -msgstr "STL 내보내기" - msgid "Export the objects as single STL." msgstr "객체를 단일 STL로 내보냅니다." @@ -19097,9 +19497,6 @@ msgstr "파일에 잘못된 꼭지점 인덱스가 포함되어 있습니다." msgid "This OBJ file couldn't be read because it's empty." msgstr "이 OBJ 파일은 비어 있어서 읽을 수 없습니다." -msgid "Max Volumetric Speed Calibration" -msgstr "최대 압출 속도 교정" - msgid "Manage Result" msgstr "결과 관리" @@ -19982,10 +20379,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "참고: 값이 크면 레이어 밀림이 발생할 수 있습니다 (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "압출량 비율 교정" - # AI Translated msgid "Calibration Test Type" msgstr "교정 테스트 유형" @@ -22265,6 +22658,2278 @@ msgstr "필라멘트가 현재 기기 설정과 호환되지 않을 수 있습 msgid "The filament model is unknown. A random filament preset will be used." msgstr "미지의 필라멘트 모델. 무작위 필라멘트 사전 설정이 사용됩니다." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "끝" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "아래" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22567,8 +25232,9 @@ msgstr "" "뒤틀림 방지\n" "ABS와 같이 뒤틀림이 발생하기 쉬운 소재를 출력할 때, 히트베드 온도를 적절하게 높이면 뒤틀림 가능성을 줄일 수 있다는 사실을 알고 계셨나요?" -#~ msgid "Other" -#~ msgstr "기타" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "작업 스피드 다이얼 열기" # AI Translated #~ msgid "Left: " @@ -22713,9 +25379,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "단일 레이어 내의 출력 순서" -#~ msgid "Bottom" -#~ msgstr "아래" - #~ msgid "Front" #~ msgstr "앞" @@ -22734,9 +25397,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "화살표 오른쪽으로" -#~ msgid "End" -#~ msgstr "끝" - #~ msgid "Hotend" #~ msgstr "핫엔드" diff --git a/localization/i18n/list.txt b/localization/i18n/list.txt index fbc718cae8..cca4d9b9a7 100644 --- a/localization/i18n/list.txt +++ b/localization/i18n/list.txt @@ -125,6 +125,7 @@ src/slic3r/GUI/ThermalPreconditioningDialog.hpp src/slic3r/GUI/Jobs/SLAImportJob.cpp src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp src/slic3r/GUI/AboutDialog.cpp +src/slic3r/GUI/ActionRegistry.cpp src/slic3r/GUI/AMSMaterialsSetting.cpp src/slic3r/GUI/ExtrusionCalibration.cpp src/slic3r/GUI/AmsMappingPopup.cpp @@ -159,6 +160,7 @@ src/slic3r/GUI/SelectMachinePop.cpp src/slic3r/GUI/StatusPanel.cpp src/slic3r/GUI/Monitor.cpp src/slic3r/GUI/MsgDialog.cpp +src/slic3r/GUI/NativeCommands.cpp src/slic3r/GUI/NotificationManager.hpp src/slic3r/GUI/NotificationManager.cpp src/slic3r/GUI/ObjectDataViewModel.cpp @@ -179,6 +181,8 @@ src/slic3r/GUI/PublishDialog.cpp src/slic3r/GUI/PublishSettingsDialog.cpp src/slic3r/GUI/SavePresetDialog.cpp src/slic3r/GUI/Search.cpp +src/slic3r/GUI/SettingsIndex.cpp +src/slic3r/GUI/SpeedDialDialog.cpp src/slic3r/GUI/Selection.cpp src/slic3r/GUI/SelectMachine.cpp src/slic3r/GUI/PrePrintChecker.cpp diff --git a/localization/i18n/lt/OrcaSlicer_lt.po b/localization/i18n/lt/OrcaSlicer_lt.po index 7798105df7..6fe2933981 100644 --- a/localization/i18n/lt/OrcaSlicer_lt.po +++ b/localization/i18n/lt/OrcaSlicer_lt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2026-07-02 14:13+0300\n" "Last-Translator: Gintaras Kučinskas \n" "Language-Team: \n" @@ -2486,6 +2486,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Nepavyko atidaryti papildinių dialogo lango (nežinoma klaida)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Papildinio terminalas" @@ -4146,6 +4159,21 @@ msgstr "„OrcaSlicer“ buvo sukurtas vadovaujantis ta pačia dvasia, remiantis msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Šiandien „OrcaSlicer“ yra plačiausiai naudojama ir aktyviausiai tobulinama atvirojo kodo paruošimo spausdinimui (slicer) programa 3D spausdinimo bendruomenėje.. Daugelis jos naujovių buvo perimtos kitų pjaustymo programų, todėl ji tapo visos pramonės varomąja jėga." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Spausdintuvas" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS medžiagų nuostatos" @@ -5700,9 +5728,6 @@ msgctxt "Noun" msgid "Print" msgstr "Spausdinti" -msgid "Printer" -msgstr "Spausdintuvas" - msgid "Time Estimation" msgstr "Laiko įvertis (skaičiavimas)" @@ -6003,7 +6028,7 @@ msgstr "Tūris:" msgid "Size:" msgstr "Dydis:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Rasta G-kodo trajektorijų konfliktų %d sluoksnyje, Z = %.2lfmm. Prašome labiau atskirti konfliktuojančius objektus (%s <-> %s)." @@ -6169,6 +6194,9 @@ msgstr "Programa uždaroma, nors kai kurie profiliai yra pakeisti." msgid "Logging" msgstr "Registravimas" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Paruošimas" @@ -6497,6 +6525,9 @@ msgstr "Rodyti kontūrą aplink pasirinktą objektą 3D scenoje." msgid "Preferences" msgstr "Parinktys" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7433,6 +7464,233 @@ msgstr "Daugiau nerodyti šio dialogo lango" msgid "Please refer to Wiki before use->" msgstr "Prieš naudodami peržiūrėkite „Wiki“ ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Eksportuoti STL" + +msgid "Export 3MF" +msgstr "Eksportuoti 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Didžiausio tūrinio greičio kalibravimas" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Srauto santykio kalibravimas" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Ištrinti visus objektus" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Skaidyti į objektus" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D pelė atjungta." @@ -8299,10 +8557,6 @@ msgstr "" msgid "Delete Object" msgstr "Ištrinti objektą" -# AI Translated -msgid "Delete All Objects" -msgstr "Ištrinti visus objektus" - # AI Translated msgid "Reset Project" msgstr "Atkurti projektą" @@ -8310,10 +8564,6 @@ msgstr "Atkurti projektą" msgid "The selected object couldn't be split." msgstr "Pasirinkto objekto negalima suskaidyti." -# AI Translated -msgid "Split to Objects" -msgstr "Skaidyti į objektus" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Išjungti automatinį nuleidimą, kad būtų išsaugota Z pozicija?\n" @@ -9119,6 +9369,33 @@ msgstr "Kelių įrenginių valdymas" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Kai įjungta ši funkcija, jūs galite siųsti užduotį keliems įrenginiams vienu metu, taip apt kontroliuoti keletą įrenginių." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Iššokantis langas gijų grupavimo režimui pasirinkti" @@ -9200,6 +9477,12 @@ msgstr "Apversti pelės didinimą" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Jei įjungta, apverčia didinimo ar mažinimo kryptį pelės ratuku." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Slinkimas" @@ -9902,6 +10185,126 @@ msgstr "Profilio „%1%“ atveju, pridėti „%2%“ kaip naują profilį" msgid "Simply switch to \"%1%\"" msgstr "Paprasčiausiai persijunkite į \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Kita" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Užduotis atšaukta" @@ -11732,6 +12135,17 @@ msgstr "Rodyti/slėpti 3DConnexion įrenginių nustatymų dialogo langą" msgid "Switch table page" msgstr "Perjungti lentelės puslapį" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Tarpas" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Rodyti sparčiųjų klavišų sąrašą" @@ -11892,15 +12306,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Perjungimas tarp Paruošti / Peržiūrėti" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Tarpas" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Atidaryti veiksmų greitosios prieigos meniu" - msgid "Plater" msgstr "Plokštė" @@ -17874,9 +18279,6 @@ msgstr "per didelis linijos plotis " msgid " not in range " msgstr " nepatenka į intervalą " -msgid "Export 3MF" -msgstr "Eksportuoti 3MF" - msgid "This exports the project as a 3MF file." msgstr "Tai eksportuoja projektą kaip 3MF failą." @@ -17892,9 +18294,6 @@ msgstr "Įkelti sluoksniavimo duomenis" msgid "Load cached slicing data from directory." msgstr "Įkelti į talpyklą įrašytus sluoksniavimo duomenis iš katalogo." -msgid "Export STL" -msgstr "Eksportuoti STL" - msgid "Export the objects as single STL." msgstr "Eksportuoti visus objektus kaip vieną STL." @@ -18602,9 +19001,6 @@ msgstr "Faile yra neteisingas viršūnių indeksas." msgid "This OBJ file couldn't be read because it's empty." msgstr "Šio OBJ failo nepavyko perskaityti, nes jis tuščias." -msgid "Max Volumetric Speed Calibration" -msgstr "Didžiausio tūrinio greičio kalibravimas" - msgid "Manage Result" msgstr "Tvarkyti rezultatus" @@ -19452,9 +19848,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "PASTABA: didelės reikšmės gali lemti sluoksnių poslinkį (Layer shift) (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Srauto santykio kalibravimas" - msgid "Calibration Test Type" msgstr "Kalibravimo testo tipas" @@ -21549,6 +21942,2278 @@ msgstr "Gija gali būti nesuderinama su dabartiniais įrenginio nustatymais. Bus msgid "The filament model is unknown. A random filament preset will be used." msgstr "Gijos modelis nežinomas. Bus naudojamas atsitiktinis gijos profilis." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Pabaiga" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Apačia" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Del" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21849,8 +24514,9 @@ msgstr "" "Venkite deformacijų (warping)\n" "Ar žinojote, kad spausdinant medžiagas, kurios yra linkusios trauktis ir riestis (pvz., ABS), tinkamas kaitinamojo pagrindo temperatūros padidinimas gali sumažinti deformacijų (warping) tikimybę?" -#~ msgid "Other" -#~ msgstr "Kita" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Atidaryti veiksmų greitosios prieigos meniu" #~ msgid "Left: " #~ msgstr "Kairė:" @@ -21992,9 +24658,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Elementų spausdinimo eiliškumas vieno sluoksnio ribose." -#~ msgid "Bottom" -#~ msgstr "Apačia" - #~ msgid "Front" #~ msgstr "Priekis" @@ -22007,9 +24670,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Del" - #~ msgid "Backspace" #~ msgstr "Backspace" @@ -22025,9 +24685,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Rodyklė dešinėn" -#~ msgid "End" -#~ msgstr "Pabaiga" - #~ msgid "Hotend" #~ msgstr "Kaitinimo blokas (Hotend)" diff --git a/localization/i18n/nl/OrcaSlicer_nl.po b/localization/i18n/nl/OrcaSlicer_nl.po index 24d2f3a322..685be64863 100644 --- a/localization/i18n/nl/OrcaSlicer_nl.po +++ b/localization/i18n/nl/OrcaSlicer_nl.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -2716,6 +2716,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Openen van het dialoogvenster Plug-ins is mislukt (onbekende fout)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Plug-in-terminal" @@ -4525,6 +4538,22 @@ msgstr "OrcaSlicer begon in diezelfde geest en putte uit PrusaSlicer, BambuStudi msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Vandaag de dag is OrcaSlicer de meest gebruikte en actiefst ontwikkelde open-source slicer in de 3D-printgemeenschap. Veel van zijn innovaties zijn overgenomen door andere slicers, waardoor het een drijvende kracht is voor de hele branche." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +# AI Translated +msgid "Printer" +msgstr "Printer" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Materiaal instellingen" @@ -6231,10 +6260,6 @@ msgctxt "Noun" msgid "Print" msgstr "Print" -# AI Translated -msgid "Printer" -msgstr "Printer" - msgid "Time Estimation" msgstr "Geschatte duur" @@ -6554,7 +6579,7 @@ msgid "Size:" msgstr "Maat:" # AI Translated -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Er zijn conflicten tussen G-code-paden gevonden op laag %d, Z = %.2lfmm. Plaats de conflicterende objecten verder uit elkaar (%s <-> %s)." @@ -6738,6 +6763,9 @@ msgstr "Applicatie sluiten terwijl sommige voorinstellingen zijn gewijzigd." msgid "Logging" msgstr "Vastleggen" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Voorbereiden" @@ -7091,6 +7119,9 @@ msgstr "Toon een omtrek rond het geselecteerde object in de 3D-scène." msgid "Preferences" msgstr "Voorkeuren" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -8118,6 +8149,234 @@ msgstr "Dit dialoogvenster niet meer tonen" msgid "Please refer to Wiki before use->" msgstr "Raadpleeg de wiki vóór gebruik->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "STL exporteren" + +msgid "Export 3MF" +msgstr "Exporteer 3mf" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Kalibratie van maximale volumetrische snelheid" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Kalibratie van de flow verhouding" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Alle objecten verwijderen" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Splitsen naar objecten" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D-muis losgekoppeld." @@ -9054,10 +9313,6 @@ msgstr "" msgid "Delete Object" msgstr "Object verwijderen" -# AI Translated -msgid "Delete All Objects" -msgstr "Alle objecten verwijderen" - # AI Translated msgid "Reset Project" msgstr "Project terugzetten" @@ -9065,10 +9320,6 @@ msgstr "Project terugzetten" msgid "The selected object couldn't be split." msgstr "Het geselecteerde object kan niet opgesplitst worden." -# AI Translated -msgid "Split to Objects" -msgstr "Splitsen naar objecten" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Automatisch laten vallen uitschakelen om de Z-positie te behouden?\n" @@ -9967,6 +10218,33 @@ msgstr "Beheer van meerdere apparaten" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Met deze optie ingeschakeld kunt u een taak tegelijkertijd naar meerdere apparaten sturen en meerdere apparaten beheren." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # AI Translated msgid "Pop up to select filament grouping mode" msgstr "Pop-up om de filamentgroeperingsmodus te kiezen" @@ -10059,6 +10337,12 @@ msgstr "Omgekeerde muiszoom" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Als deze optie is ingeschakeld, wordt de zoomrichting met het muiswiel omgedraaid." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Pannen" @@ -10835,6 +11119,126 @@ msgstr "Voor \"%1%\", dient \"%2%\" toegevoegd te worden als nieuwe voorinstelli msgid "Simply switch to \"%1%\"" msgstr "Schakel eenvoudig over naar \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Anders" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Taak geannuleerd" @@ -12853,6 +13257,17 @@ msgstr "Dialoogvenster met instellingen voor 3Dconnexion-apparaten weergeven/ver msgid "Switch table page" msgstr "Schakeltabel pagina" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Spatie" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Toon lijst met sneltoetsen" @@ -13020,15 +13435,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Wisselen tussen Voorbereiden/Voorvertoning" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Spatie" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Snelmenu met acties openen" - msgid "Plater" msgstr "Plaat" @@ -19742,9 +20148,6 @@ msgstr "te grote lijnbreedte " msgid " not in range " msgstr " niet in bereik " -msgid "Export 3MF" -msgstr "Exporteer 3mf" - msgid "This exports the project as a 3MF file." msgstr "Dit exporteert het project als 3MF." @@ -19760,9 +20163,6 @@ msgstr "Laad slicinggegevens" msgid "Load cached slicing data from directory." msgstr "Laad slicinggegevens in de cache uit de directory" -msgid "Export STL" -msgstr "STL exporteren" - # AI Translated msgid "Export the objects as single STL." msgstr "Exporteer de objecten als één STL." @@ -20626,9 +21026,6 @@ msgstr "Het bestand bevat een ongeldige hoekpuntindex." msgid "This OBJ file couldn't be read because it's empty." msgstr "Dit OBJ-bestand kon niet worden gelezen omdat het leeg is." -msgid "Max Volumetric Speed Calibration" -msgstr "Kalibratie van maximale volumetrische snelheid" - msgid "Manage Result" msgstr "Resultaat beheren" @@ -21537,10 +21934,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "LET OP: hoge waarden kunnen laagverschuiving veroorzaken (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Kalibratie van de flow verhouding" - # AI Translated msgid "Calibration Test Type" msgstr "Type kalibratietest" @@ -23980,6 +24373,2278 @@ msgstr "Het filament is mogelijk niet compatibel met de huidige machine-instelli msgid "The filament model is unknown. A random filament preset will be used." msgstr "Het filamentmodel is onbekend. Er wordt een willekeurige filamentvoorinstelling gebruikt." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Einde" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Onderkant" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -24281,8 +26946,9 @@ msgstr "" "Kromtrekken voorkomen\n" "Wist je dat bij het printen van materialen die gevoelig zijn voor kromtrekken, zoals ABS, een juiste verhoging van de temperatuur van het warmtebed de kans op kromtrekken kan verkleinen?" -#~ msgid "Other" -#~ msgstr "Anders" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Snelmenu met acties openen" # AI Translated #~ msgid "Left: " @@ -24437,9 +27103,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Printvolgorde binnen één laag." -#~ msgid "Bottom" -#~ msgstr "Onderkant" - #~ msgid "Front" #~ msgstr "Voorkant" @@ -24458,9 +27121,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Pijl naar rechts" -#~ msgid "End" -#~ msgstr "Einde" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/pl/OrcaSlicer_pl.po b/localization/i18n/pl/OrcaSlicer_pl.po index 8f66233eb3..25b5b664cf 100644 --- a/localization/i18n/pl/OrcaSlicer_pl.po +++ b/localization/i18n/pl/OrcaSlicer_pl.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer 2.3.0-rc\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: \n" "Last-Translator: Krzysztof Morga <>\n" "Language-Team: \n" @@ -2549,6 +2549,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Nie udało się otworzyć okna wtyczek (nieznany błąd)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal wtyczek" @@ -4251,6 +4264,21 @@ msgstr "OrcaSlicer powstał w tym samym duchu, czerpiąc z PrusaSlicer, BambuStu msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Dziś OrcaSlicer jest najczęściej używanym i najaktywniej rozwijanym otwartoźródłowym slicerem w społeczności druku 3D. Wiele jego innowacji zostało przejętych przez inne slicery, co czyni go siłą napędową całej branży." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Drukarka" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Ustawienia filamentów AMS" @@ -5839,9 +5867,6 @@ msgctxt "Noun" msgid "Print" msgstr "Drukuj" -msgid "Printer" -msgstr "Drukarka" - msgid "Time Estimation" msgstr "Szacowany czas" @@ -6152,7 +6177,7 @@ msgstr "Objętość:" msgid "Size:" msgstr "Rozmiar:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Wykryto konflikty ścieżek G-code na warstwie %d, Z = %.2lfmm. Proszę oddalić od siebie obiekty będące w konflikcie (%s <-> %s)." @@ -6323,6 +6348,9 @@ msgstr "Zamykanie aplikacji podczas modyfikacji niektórych ustawień." msgid "Logging" msgstr "Logowanie" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Przygotowanie" @@ -6658,6 +6686,9 @@ msgstr "Przełącza wyświetlanie konturu wokół zaznaczonego obiektu w scenie msgid "Preferences" msgstr "Preferencje" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7621,6 +7652,234 @@ msgstr "Nie pokazuj tego okna dialogowego ponownie" msgid "Please refer to Wiki before use->" msgstr "Przed użyciem zapoznaj się z Wiki->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Eksportuj STL" + +msgid "Export 3MF" +msgstr "Eksportuj 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Kalibracja Maks. Prędkości Przepływu" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Kalibracja współczynnika przepływu" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Usuń wszystkie obiekty" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Podziel na obiekty" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Mysz 3D niepodłączona." @@ -8501,10 +8760,6 @@ msgstr "" msgid "Delete Object" msgstr "Usuń obiekt" -# AI Translated -msgid "Delete All Objects" -msgstr "Usuń wszystkie obiekty" - # AI Translated msgid "Reset Project" msgstr "Zresetuj projekt" @@ -8512,10 +8767,6 @@ msgstr "Zresetuj projekt" msgid "The selected object couldn't be split." msgstr "Nie można podzielić wybranego obiektu." -# AI Translated -msgid "Split to Objects" -msgstr "Podziel na obiekty" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Wyłączyć automatyczne opuszczanie, aby zachować pozycję Z?\n" @@ -9375,6 +9626,33 @@ msgstr "Obsługiwanie wielu urządzeń" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Umożliwia wysyłanie zadania do wielu urządzeń jednocześnie i zarządzanie nimi." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Okno dialogowe do wyboru trybu grupowania filamentów" @@ -9465,6 +9743,12 @@ msgstr "Odwrócone przybliżanie myszką" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Odwraca kierunek przybliżania kółkiem myszy." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Przesuwanie" @@ -10232,6 +10516,126 @@ msgstr "Dla „%1%” dodaj „%2%” jako nowy szablon" msgid "Simply switch to \"%1%\"" msgstr "Po prostu przełącz na „%1%”" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Inne" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Zadanie anulowane" @@ -12132,6 +12536,17 @@ msgstr "Pokaż/ukryj okno dialogowe ustawień urządzeń 3Dconnexion" msgid "Switch table page" msgstr "Przełącz stronę tabeli" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Spacja" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Pokaż listę skrótów klawiszowych" @@ -12294,15 +12709,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Przełączanie między przygotowaniem/podglądem" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Spacja" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Otwórz szybkie menu akcji" - msgid "Plater" msgstr "Płyta" @@ -18531,9 +18937,6 @@ msgstr "zbyt duża szerokość linii " msgid " not in range " msgstr " nie w zakresie " -msgid "Export 3MF" -msgstr "Eksportuj 3MF" - msgid "This exports the project as a 3MF file." msgstr "Eksportuj projekt jako 3MF." @@ -18549,9 +18952,6 @@ msgstr "Wczytaj dane cięcia" msgid "Load cached slicing data from directory." msgstr "Załaduj buforowane dane slicowania z katalogu" -msgid "Export STL" -msgstr "Eksportuj STL" - msgid "Export the objects as single STL." msgstr "Eksportuj obiekty jako jeden plik STL." @@ -19273,9 +19673,6 @@ msgstr "Plik zawiera nieprawidłowy indeks wierzchołka." msgid "This OBJ file couldn't be read because it's empty." msgstr "Ten plik OBJ nie mógł zostać odczytany, ponieważ jest pusty." -msgid "Max Volumetric Speed Calibration" -msgstr "Kalibracja Maks. Prędkości Przepływu" - msgid "Manage Result" msgstr "Zarządzanie Wynikiem" @@ -20160,10 +20557,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "UWAGA: wysokie wartości mogą powodować przesunięcie warstw (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Kalibracja współczynnika przepływu" - # AI Translated msgid "Calibration Test Type" msgstr "Typ testu kalibracyjnego" @@ -22443,6 +22836,2278 @@ msgstr "Filament może być niezgodny z bieżącymi ustawieniami urządzenia. U msgid "The filament model is unknown. A random filament preset will be used." msgstr "Model filamentu jest nieznany. Losowy profil filamentu zostanie użyty" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "Offset" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Koniec" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Dół" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22744,8 +25409,9 @@ msgstr "" "Unikaj odkształceń\n" "Czy wiesz, że podczas drukowania filamentami podatnymi na odkształcenia, takimi jak ABS, odpowiednie zwiększenie temperatury podgrzewanej płyty może zmniejszyć prawdopodobieństwo odkształceń?" -#~ msgid "Other" -#~ msgstr "Inne" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Otwórz szybkie menu akcji" # AI Translated #~ msgid "Left: " @@ -22890,9 +25556,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Kolejność druku obiektów w obrębie jednej warstwy. Domyślnie lub według listy obiektów" -#~ msgid "Bottom" -#~ msgstr "Dół" - #~ msgid "Front" #~ msgstr "Przód" @@ -22917,9 +25580,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Strzałka w prawo" -#~ msgid "End" -#~ msgstr "Koniec" - #~ msgid "Hotend" #~ msgstr "Hotend" @@ -25381,9 +28041,6 @@ msgstr "" #~ msgid "Preview hollowed and drilled model" #~ msgstr "Podgląd drążenia/wiercenia" -#~ msgid "Offset" -#~ msgstr "Offset" - #~ msgid "Closing distance" #~ msgstr "Dystans domykania" diff --git a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po index dd701176a7..db28922786 100644 --- a/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po +++ b/localization/i18n/pt_BR/OrcaSlicer_pt_BR.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2026-07-26 11:14-0300\n" "Last-Translator: Alexandre Folle de Menezes\n" "Language-Team: Portuguese, Brazilian\n" @@ -2388,6 +2388,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Falha ao abrir a caixa de diálogo de Plugins (erro desconhecido)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal de plugin" @@ -4002,6 +4015,21 @@ msgstr "O OrcaSlicer começou com esse mesmo espírito, inspirando-se no PrusaSl msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Atualmente, o OrcaSlicer é o fatiador de código aberto mais utilizado e ativamente desenvolvido na comunidade de impressão 3D. Muitas de suas inovações foram adotadas por outros fatiadores, tornando-o uma força motriz para toda a indústria." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Impressora" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Configuração de Materiais AMS" @@ -5540,9 +5568,6 @@ msgctxt "Noun" msgid "Print" msgstr "Impressão" -msgid "Printer" -msgstr "Impressora" - msgid "Time Estimation" msgstr "Estimativa de Tempo" @@ -5838,7 +5863,7 @@ msgstr "Volume:" msgid "Size:" msgstr "Tamanho:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Foram encontrados conflitos de caminhos de G-code na camada %d, Z = %.2lfmm. Por favor, separe mais os objetos em conflito (%s <-> %s)." @@ -6004,6 +6029,9 @@ msgstr "Fechando o aplicativo enquanto algumas predefinições são modificadas. msgid "Logging" msgstr "Registro" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Preparar" @@ -6332,6 +6360,9 @@ msgstr "Mostrar contorno ao redor do objeto selecionado na cena 3D." msgid "Preferences" msgstr "Preferências" +msgid "Open speed dial..." +msgstr "" + msgctxt "Menu" msgid "Edit" msgstr "Editar" @@ -7260,6 +7291,232 @@ msgstr "Não mostrar esse diálogo novamente" msgid "Please refer to Wiki before use->" msgstr "Consulte o Wiki antes de usar->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportar STL" + +msgid "Export 3MF" +msgstr "Exportar 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Calibração de Velocidade Volumétrica Máxima" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Calibração de Taxa de Fluxo" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Excluir Todos os Objetos" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Dividir em objetos" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Mouse 3D desconectado." @@ -8087,19 +8344,12 @@ msgstr "" msgid "Delete Object" msgstr "Excluir Objeto" -msgid "Delete All Objects" -msgstr "Excluir Todos os Objetos" - msgid "Reset Project" msgstr "Redefinir Projeto" msgid "The selected object couldn't be split." msgstr "O objeto selecionado não pôde ser dividido." -# AI Translated -msgid "Split to Objects" -msgstr "Dividir em objetos" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Desativar a Queda automática para preservar o posicionamento Z?\n" @@ -8904,6 +9154,33 @@ msgstr "Gerenciamento de multi dispositivos" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Com esta opção habilitada, você pode enviar uma tarefa para vários dispositivos ao mesmo tempo e gerenciar vários dispositivos." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Abrir seleção do modo de agrupamento de filamento" @@ -8985,6 +9262,12 @@ msgstr "Inverter zoom do mouse" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Se ativo, inverte a direção de zoom com a roda do mouse." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Mover" @@ -9688,6 +9971,126 @@ msgstr "Para \"%1%\", adicione \"%2%\" como uma nova predefinição" msgid "Simply switch to \"%1%\"" msgstr "Simplesmente mude para \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Outro" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tarefa cancelada" @@ -11468,6 +11871,16 @@ msgstr "Mostrar/Ocultar diálogo de configurações de dispositivos 3Dconnexion" msgid "Switch table page" msgstr "Trocar página da tabela" +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Espaço" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Mostrar lista de atalhos de teclado" @@ -11623,13 +12036,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Alternar entre Preparar/Pré-visualizar" -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Espaço" - -msgid "Open actions speed dial" -msgstr "Abrir menu rápido de ações" - msgid "Plater" msgstr "Mesa" @@ -17499,9 +17905,6 @@ msgstr "largura de linha muito grande " msgid " not in range " msgstr " fora do intervalo " -msgid "Export 3MF" -msgstr "Exportar 3MF" - msgid "This exports the project as a 3MF file." msgstr "Isso exporta o projeto como um arquivo 3MF." @@ -17517,9 +17920,6 @@ msgstr "Carregar dados de fatiamento" msgid "Load cached slicing data from directory." msgstr "Carregar dados de fatiamento em cache do diretório." -msgid "Export STL" -msgstr "Exportar STL" - msgid "Export the objects as single STL." msgstr "Exporte os objetos como STL único." @@ -18224,9 +18624,6 @@ msgstr "O arquivo contém um índice de vértice inválido." msgid "This OBJ file couldn't be read because it's empty." msgstr "Este arquivo OBJ não pôde ser lido porque está vazio." -msgid "Max Volumetric Speed Calibration" -msgstr "Calibração de Velocidade Volumétrica Máxima" - msgid "Manage Result" msgstr "Gerenciar Resultado" @@ -19061,9 +19458,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOTA: Valores altos podem causar deslocamento de camada (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Calibração de Taxa de Fluxo" - msgid "Calibration Test Type" msgstr "Tipo de Teste de Calibração" @@ -21102,6 +21496,2278 @@ msgstr "O filamento pode não ser compatível com as configurações atuais da m msgid "The filament model is unknown. A random filament preset will be used." msgstr "O modelo do filamento é desconhecido. Uma predefinição de filamento aleatória será usada." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Inferior" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21402,8 +24068,8 @@ msgstr "" "Evitar empenamento\n" "Você sabia que ao imprimir materiais propensos ao empenamento como ABS, aumentar adequadamente a temperatura da mesa aquecida pode reduzir a probabilidade de empenamento?" -#~ msgid "Other" -#~ msgstr "Outro" +#~ msgid "Open actions speed dial" +#~ msgstr "Abrir menu rápido de ações" #~ msgid "Left: " #~ msgstr "Esquerda: " @@ -21528,9 +24194,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Ordem de impressão dentro de uma única camada." -#~ msgid "Bottom" -#~ msgstr "Inferior" - #~ msgid "Front" #~ msgstr "Frente" diff --git a/localization/i18n/ru/OrcaSlicer_ru.po b/localization/i18n/ru/OrcaSlicer_ru.po index 97c1830426..6b28f87f7e 100644 --- a/localization/i18n/ru/OrcaSlicer_ru.po +++ b/localization/i18n/ru/OrcaSlicer_ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: OrcaSlicer V2.5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2026-02-25 13:38+0300\n" "Last-Translator: Felix14_v2\n" "Language-Team: Felix14_v2 (ДС/ТГ: @felix14_v2, почта: aleks111001@list.ru), Andylg \n" @@ -2462,6 +2462,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Не удалось открыть меню плагинов (неизвестная ошибка)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "Консоль плагина" @@ -4131,6 +4144,21 @@ msgstr "OrcaSlicer начинал свой путь с тем же замысл msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "В наши дни OrcaSlicer – самый прогрессивный и распространённый в сообществе слайсер с открытым исходным кодом. Благодаря множеству инноваций он становится основой других слайсеров и движущей силой всей индустрии 3D-печати." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Принтер" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Настройка материалов AMS" @@ -5733,9 +5761,6 @@ msgctxt "Noun" msgid "Print" msgstr "Печать" -msgid "Printer" -msgstr "Принтер" - msgid "Time Estimation" msgstr "Оценка времени" @@ -6035,7 +6060,7 @@ msgstr "Объём:" msgid "Size:" msgstr "Размер:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "В G-коде на %d слое (z = %.2lf мм) обнаружен конфликт путей. Пожалуйста, разместите конфликтующие модели дальше друг от друга (%s <-> %s)." @@ -6225,6 +6250,9 @@ msgstr "Закрытие приложения, при имеющихся изм msgid "Logging" msgstr "Авторизация" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Подготовка" @@ -6566,6 +6594,9 @@ msgstr "Отображение контура вокруг выбранных м msgid "Preferences" msgstr "Настройки" +msgid "Open speed dial..." +msgstr "" + msgctxt "Menu" msgid "Edit" msgstr "Правка" @@ -7512,6 +7543,231 @@ msgstr "Не показывать снова" msgid "Please refer to Wiki before use->" msgstr "Перед использованием обратитесь к руководству →" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Экспорт в STL" + +msgid "Export 3MF" +msgstr "Экспорт в 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Калибровка макс. объёмного расхода" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "Калибровка коэффициента потока" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Удалить все модели" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Разделить на модели" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D-мышь отключена." @@ -8365,18 +8621,12 @@ msgstr "" msgid "Delete Object" msgstr "Удалить модель" -msgid "Delete All Objects" -msgstr "Удалить все модели" - msgid "Reset Project" msgstr "Сбросить проект" msgid "The selected object couldn't be split." msgstr "Невозможно разделить выбранную модель." -msgid "Split to Objects" -msgstr "Разделить на модели" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Отключить притягивание компонентов к столу для сохранения высоты?\n" @@ -9183,6 +9433,33 @@ msgstr "Управление несколькими устройствами Bam msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Если включено, вы сможете управлять несколькими устройствами и отправлять задания на печать на несколько устройств одновременно." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # Запрашивать выбор режима группировки? msgid "Pop up to select filament grouping mode" msgstr "Всплывающее окно для выбора режима группировки материалов" @@ -9267,6 +9544,12 @@ msgstr "Инвертировать приближение" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Инвертировать масштабирование с помощью колеса мыши." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "Смещение" @@ -9984,6 +10267,126 @@ msgstr "Для «%1%» добавить «%2%» как новый профиль msgid "Simply switch to \"%1%\"" msgstr "Просто переключиться на «%1%»" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Прочее" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Задание отменено" @@ -11821,6 +12224,16 @@ msgstr "Показать/скрыть диалоговое окно настро msgid "Switch table page" msgstr "Переключение между вкладками" +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Пробел" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Показать список сочетаний клавиш" @@ -11977,13 +12390,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Переключение между подготовкой и просмотром нарезки" -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Пробел" - -msgid "Open actions speed dial" -msgstr "Открыть строку быстрых действий" - # Plater – это название библиотеки. Используется в меню горячих клавиш в качестве заголовка сочетаний клавиш, которые работают внутри пространства Plater. Как минимум на Windows не отображается. msgid "Plater" msgstr "Рабочая область" @@ -18467,9 +18873,6 @@ msgstr "слишком большая ширина линии " msgid " not in range " msgstr " вне диапазона " -msgid "Export 3MF" -msgstr "Экспорт в 3MF" - msgid "This exports the project as a 3MF file." msgstr "Экспорт проекта в 3MF." @@ -18486,9 +18889,6 @@ msgstr "Загрузка данных о нарезке" msgid "Load cached slicing data from directory." msgstr "Загрузка кэша данных нарезки из папки." -msgid "Export STL" -msgstr "Экспорт в STL" - msgid "Export the objects as single STL." msgstr "Экспорт моделей в единый STL-файл." @@ -19240,9 +19640,6 @@ msgstr "Файл содержит неверное количество верш msgid "This OBJ file couldn't be read because it's empty." msgstr "Этот OBJ файл не может быть прочитан, так как он пуст." -msgid "Max Volumetric Speed Calibration" -msgstr "Калибровка макс. объёмного расхода" - msgid "Manage Result" msgstr "Управление результатами" @@ -20097,9 +20494,6 @@ msgstr "Скорость должна быть в диапазоне от 0 до msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "Примечание: высокие значения могут привести к смещению слоёв (>%s)" -msgid "Flow Ratio Calibration" -msgstr "Калибровка коэффициента потока" - msgid "Calibration Test Type" msgstr "Вариант калибровки" @@ -22201,6 +22595,2278 @@ msgstr "Материал может быть несовместим с теку msgid "The filament model is unknown. A random filament preset will be used." msgstr "Модель материала неизвестна. Будет использован случайный профиль материала." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Снизу" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22499,8 +25165,8 @@ msgstr "" "Предотвращение коробления материала\n" "Знаете ли вы, что при печати материалами, склонными к короблению, таких как ABS, повышение температуры подогреваемого стола может снизить эту вероятность?" -#~ msgid "Other" -#~ msgstr "Прочее" +#~ msgid "Open actions speed dial" +#~ msgstr "Открыть строку быстрых действий" #~ msgid "Left: " #~ msgstr "Левый: " @@ -22636,9 +25302,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Последовательность печати моделей в пределах одного слоя." -#~ msgid "Bottom" -#~ msgstr "Снизу" - #~ msgid "Front" #~ msgstr "Спереди" diff --git a/localization/i18n/sv/OrcaSlicer_sv.po b/localization/i18n/sv/OrcaSlicer_sv.po index ce0d5f5034..e4f3079704 100644 --- a/localization/i18n/sv/OrcaSlicer_sv.po +++ b/localization/i18n/sv/OrcaSlicer_sv.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2804,6 +2804,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Det gick inte att öppna dialogrutan Insticksmoduler (okänt fel)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal för insticksmoduler" @@ -4584,6 +4597,21 @@ msgstr "OrcaSlicer började i samma anda och hämtade från PrusaSlicer, BambuSt msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "I dag är OrcaSlicer det mest använda och mest aktivt utvecklade beredningsprogrammet med öppen källkod i 3D-utskriftscommunityn. Många av dess nyheter har tagits upp av andra program, vilket gör det till en drivkraft för hela branschen." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Skrivare" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Material Inställning" @@ -6311,9 +6339,6 @@ msgctxt "Noun" msgid "Print" msgstr "Skriv ut" -msgid "Printer" -msgstr "Skrivare" - msgid "Time Estimation" msgstr "Beräknad tid" @@ -6637,7 +6662,7 @@ msgid "Size:" msgstr "Storlek:" # AI Translated -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Konflikter mellan G-code-banor hittades på lager %d, Z = %.2lfmm. Placera de objekt som krockar längre ifrån varandra (%s <-> %s)." @@ -6823,6 +6848,9 @@ msgstr "Stänger Begäran medans vissa inställningar ändrats." msgid "Logging" msgstr "Loggar" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Förbered" @@ -7174,6 +7202,9 @@ msgstr "Visa en kontur runt det markerade objektet i 3D-scenen." msgid "Preferences" msgstr "Inställningar" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -8207,6 +8238,234 @@ msgstr "Visa inte den här dialogrutan igen" msgid "Please refer to Wiki before use->" msgstr "Läs wikin före användning->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Exportera STL" + +msgid "Export 3MF" +msgstr "Exportera 3mf" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Max volymetrisk hastighets kalibrering" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Kalibrering av flödesförhållande" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Radera alla objekt" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Dela upp i objekt" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D mus bortkopplad." @@ -9143,10 +9402,6 @@ msgstr "" msgid "Delete Object" msgstr "Radera objekt" -# AI Translated -msgid "Delete All Objects" -msgstr "Radera alla objekt" - # AI Translated msgid "Reset Project" msgstr "Återställ projekt" @@ -9154,10 +9409,6 @@ msgstr "Återställ projekt" msgid "The selected object couldn't be split." msgstr "Det valda objektet kan inte delas." -# AI Translated -msgid "Split to Objects" -msgstr "Dela upp i objekt" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Vill du avaktivera automatiskt nedsläpp för att behålla Z-positionen?\n" @@ -10073,6 +10324,33 @@ msgstr "Hantering av flera enheter" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Med det här alternativet aktiverat kan du skicka en uppgift till flera enheter samtidigt och hantera flera enheter." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # AI Translated msgid "Pop up to select filament grouping mode" msgstr "Visa dialogruta för val av filamentgrupperingsläge" @@ -10169,6 +10447,12 @@ msgstr "Omvänd muszoomning" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Om aktiverad, vänder zoomriktningen med mushjulet." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Panorera" @@ -10949,6 +11233,126 @@ msgstr "För \"%1%\", lägg till \"%2%\" som ny förinställning" msgid "Simply switch to \"%1%\"" msgstr "Byta till \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Andra" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Uppgift avbruten" @@ -13017,6 +13421,17 @@ msgstr "Visa/Dölj 3Dconnexion enheternas inställnings dialogruta" msgid "Switch table page" msgstr "Byt tabellsida" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Blanksteg" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Visa tangentbordets genvägs lista" @@ -13182,15 +13597,6 @@ msgstr "Tabb" msgid "Switch between Prepare/Preview" msgstr "Växla mellan Förbered/Förhandsgranska" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Blanksteg" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Öppna snabbvalsmenyn för åtgärder" - msgid "Plater" msgstr "Plätering/Förgyllning" @@ -19972,9 +20378,6 @@ msgstr "för stor linjebredd " msgid " not in range " msgstr " inte inom intervallet " -msgid "Export 3MF" -msgstr "Exportera 3mf" - msgid "This exports the project as a 3MF file." msgstr "Exportera projekt som 3MF." @@ -19990,9 +20393,6 @@ msgstr "Ladda berednings data" msgid "Load cached slicing data from directory." msgstr "Ladda cachad berednings data från katalogen" -msgid "Export STL" -msgstr "Exportera STL" - # AI Translated msgid "Export the objects as single STL." msgstr "Exportera objekten som en enda STL." @@ -20846,9 +21246,6 @@ msgstr "Filen innehåller ett ogiltigt vertex index." msgid "This OBJ file couldn't be read because it's empty." msgstr "Denna OBJ fil kunde inte läsas eftersom den är tom." -msgid "Max Volumetric Speed Calibration" -msgstr "Max volymetrisk hastighets kalibrering" - msgid "Manage Result" msgstr "Hantera resultat" @@ -21768,10 +22165,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "OBS! Höga värden kan orsaka lagerförskjutning (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Kalibrering av flödesförhållande" - # AI Translated msgid "Calibration Test Type" msgstr "Typ av kalibreringstest" @@ -24253,6 +24646,2278 @@ msgstr "Filamentet kanske inte är kompatibelt med de aktuella maskininställnin msgid "The filament model is unknown. A random filament preset will be used." msgstr "Filamentmodellen är okänd. En slumpmässig filamentförinställning används." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Slut" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Botten" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + # AI Translated #: resources/data/hints.ini: [hint:Precise wall] msgid "" @@ -24568,8 +27233,9 @@ msgstr "" "Undvik vridning\n" "Visste du att när du skriver ut material som är benägna att vrida, såsom ABS, kan en lämplig ökning av värmebäddens temperatur minska sannolikheten för vridning?" -#~ msgid "Other" -#~ msgstr "Andra" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Öppna snabbvalsmenyn för åtgärder" # AI Translated #~ msgid "Left: " @@ -24727,9 +27393,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Utskriftsordning inom ett enskilt lager." -#~ msgid "Bottom" -#~ msgstr "Botten" - #~ msgid "Front" #~ msgstr "Framifrån" @@ -24751,9 +27414,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Pil Höger" -#~ msgid "End" -#~ msgstr "Slut" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/th/OrcaSlicer_th.po b/localization/i18n/th/OrcaSlicer_th.po index 410e3899dc..47aa50fb13 100644 --- a/localization/i18n/th/OrcaSlicer_th.po +++ b/localization/i18n/th/OrcaSlicer_th.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2026-06-19 13:40+0700\n" "Last-Translator: Icezaza\n" "Language-Team: Thai\n" @@ -2493,6 +2493,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "ไม่สามารถเปิดกล่องโต้ตอบปลั๊กอินได้ (ข้อผิดพลาดที่ไม่รู้จัก)" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "เทอร์มินัลปลั๊กอิน" @@ -4141,6 +4154,21 @@ msgstr "OrcaSlicer เริ่มต้นด้วยจิตวิญญา msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "ปัจจุบัน OrcaSlicer เป็นตัวแบ่งส่วนข้อมูลแบบโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายและได้รับการพัฒนาอย่างแข็งขันที่สุดในชุมชนการพิมพ์ 3 มิติ นวัตกรรมหลายอย่างของบริษัทได้ถูกนำไปใช้โดยตัวแบ่งส่วนข้อมูลอื่นๆ ทำให้สิ่งนี้เป็นแรงผลักดันสำหรับอุตสาหกรรมทั้งหมด" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "เครื่องพิมพ์" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "การตั้งค่าวัสดุ AMS" @@ -5694,9 +5722,6 @@ msgctxt "Noun" msgid "Print" msgstr "พิมพ์" -msgid "Printer" -msgstr "เครื่องพิมพ์" - msgid "Time Estimation" msgstr "การประมาณเวลา" @@ -5995,7 +6020,7 @@ msgstr "ปริมาณ:" msgid "Size:" msgstr "ขนาด:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "พบความขัดแย้งของเส้นทางรหัส G ที่เลเยอร์ %d, Z = %.2lfmm โปรดแยกวัตถุที่ขัดแย้งกันให้ไกลออกไป (%s <-> %s)" @@ -6161,6 +6186,9 @@ msgstr "การปิดแอปพลิเคชันในขณะที msgid "Logging" msgstr "การบันทึก" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "เตรียมพิมพ์" @@ -6489,6 +6517,9 @@ msgstr "แสดงเค้าร่างรอบๆ วัตถุที msgid "Preferences" msgstr "การตั้งค่า" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7416,6 +7447,233 @@ msgstr "อย่าแสดงกล่องโต้ตอบนี้อี msgid "Please refer to Wiki before use->" msgstr "โปรดดู Wiki ก่อนใช้งาน ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "ส่งออก STL" + +msgid "Export 3MF" +msgstr "ส่งออก 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "ปรับเทียบความเร็วปริมาตรสูงสุด" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "การปรับเทียบอัตราส่วนการไหล" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "ลบวัตถุทั้งหมด" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "แยกเป็นวัตถุ" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "เมาส์ 3D ถูกตัดการเชื่อมต่อ" @@ -8262,10 +8520,6 @@ msgstr "" msgid "Delete Object" msgstr "ลบวัตถุ" -# AI Translated -msgid "Delete All Objects" -msgstr "ลบวัตถุทั้งหมด" - # AI Translated msgid "Reset Project" msgstr "รีเซ็ตโปรเจกต์" @@ -8273,10 +8527,6 @@ msgstr "รีเซ็ตโปรเจกต์" msgid "The selected object couldn't be split." msgstr "ไม่สามารถแยกวัตถุที่เลือกได้" -# AI Translated -msgid "Split to Objects" -msgstr "แยกเป็นวัตถุ" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "ปิดการใช้งานการวางอัตโนมัติเพื่อรักษาตำแหน่ง z หรือไม่\n" @@ -9088,6 +9338,33 @@ msgstr "การจัดการอุปกรณ์หลายเครื msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "เมื่อเปิดใช้งานตัวเลือกนี้ คุณสามารถส่งงานไปยังอุปกรณ์หลายเครื่องพร้อมกันและจัดการอุปกรณ์หลายเครื่องได้" +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "ปรากฏขึ้นเพื่อเลือกโหมดการจัดกลุ่มเส้นพลาสติก" @@ -9169,6 +9446,12 @@ msgstr "ย้อนกลับการซูมเมาส์" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "หากเปิดใช้งาน จะกลับทิศทางการซูมด้วยล้อเลื่อนของเมาส์" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "แพน" @@ -9876,6 +10159,126 @@ msgstr "สำหรับ \"%1%\" ให้เพิ่ม \"%2%\" เป็น msgid "Simply switch to \"%1%\"" msgstr "เพียงเปลี่ยนเป็น \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "อื่นๆ" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "ยกเลิกงานแล้ว" @@ -11702,6 +12105,17 @@ msgstr "แสดง/ซ่อนกล่องโต้ตอบการต msgid "Switch table page" msgstr "สลับหน้าตาราง" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "แสดงรายการแป้นพิมพ์ลัด" @@ -11862,15 +12276,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "สลับระหว่างการเตรียม/ดูตัวอย่าง" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "เปิดสปีดไดอัลการดำเนินการ" - msgid "Plater" msgstr "เพลเตอร์" @@ -17864,9 +18269,6 @@ msgstr "ความกว้างของเส้นใหญ่เกิน msgid " not in range " msgstr "ไม่อยู่ในช่วง" -msgid "Export 3MF" -msgstr "ส่งออก 3MF" - msgid "This exports the project as a 3MF file." msgstr "ส่งออกโครงการเป็น 3MF" @@ -17882,9 +18284,6 @@ msgstr "โหลดข้อมูลการแบ่งส่วน" msgid "Load cached slicing data from directory." msgstr "โหลดข้อมูลการแบ่งส่วนแคชจากไดเรกทอรี" -msgid "Export STL" -msgstr "ส่งออก STL" - msgid "Export the objects as single STL." msgstr "ส่งออกวัตถุเป็น STL เดี่ยว" @@ -18590,9 +18989,6 @@ msgstr "ไฟล์นี้มีดัชนีจุดยอดที่ไ msgid "This OBJ file couldn't be read because it's empty." msgstr "ไฟล์ OBJ นี้ไม่สามารถอ่านได้เนื่องจากไฟล์ว่างเปล่า" -msgid "Max Volumetric Speed Calibration" -msgstr "ปรับเทียบความเร็วปริมาตรสูงสุด" - msgid "Manage Result" msgstr "จัดการผลลัพธ์" @@ -19440,9 +19836,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "หมายเหตุ: ค่าที่สูงอาจทำให้เกิดการเลื่อนเลเยอร์ (>%s)" -msgid "Flow Ratio Calibration" -msgstr "การปรับเทียบอัตราส่วนการไหล" - msgid "Calibration Test Type" msgstr "ประเภทการทดสอบการสอบเทียบ" @@ -21575,6 +21968,2278 @@ msgstr "เส้นพลาสติกอาจไม่เข้ากัน msgid "The filament model is unknown. A random filament preset will be used." msgstr "ไม่ทราบแบบจำลองเส้นพลาสติก ระบบจะใช้การตั้งค่าฟิลาเมนต์แบบสุ่ม" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "จบ" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "ล่าง" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "เดล" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21875,8 +24540,9 @@ msgstr "" "หลีกเลี่ยงการบิดเบี้ยว\n" "คุณรู้หรือไม่ว่าเมื่อพิมพ์วัสดุที่มีแนวโน้มที่จะเกิดการบิดเบี้ยว เช่น ABS การเพิ่มอุณหภูมิฐานพิมพ์อย่างเหมาะสมสามารถลดความน่าจะเป็นของการบิดเบี้ยวได้" -#~ msgid "Other" -#~ msgstr "อื่นๆ" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "เปิดสปีดไดอัลการดำเนินการ" # AI Translated #~ msgid "Left: " @@ -22018,9 +24684,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "สั่งพิมพ์ภายในชั้นเดียว" -#~ msgid "Bottom" -#~ msgstr "ล่าง" - #~ msgid "Front" #~ msgstr "ด้านหน้า" @@ -22033,9 +24696,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "เดล" - #~ msgid "Backspace" #~ msgstr "แบ็คสเปซ" @@ -22051,9 +24711,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "ลูกศรขวา" -#~ msgid "End" -#~ msgstr "จบ" - #~ msgid "Hotend" #~ msgstr "ฮอตเอนด์" diff --git a/localization/i18n/tr/OrcaSlicer_tr.po b/localization/i18n/tr/OrcaSlicer_tr.po index 39ca72ae0f..91c5660328 100644 --- a/localization/i18n/tr/OrcaSlicer_tr.po +++ b/localization/i18n/tr/OrcaSlicer_tr.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2026-08-21 23:18+0300\n" "Last-Translator: GlauTech\n" "Language-Team: \n" @@ -2517,6 +2517,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Eklentiler iletişim kutusu açılamadı (bilinmeyen hata)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Eklenti Terminali" @@ -4195,6 +4208,21 @@ msgstr "OrcaSlicer da aynı ruhla, PrusaSlicer, BambuStudio, SuperSlicer ve Cura msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Bugün OrcaSlicer, 3D baskı topluluğunda en yaygın kullanılan ve en etkin geliştirilen açık kaynaklı dilimleyicidir. Yeniliklerinin birçoğu diğer dilimleyiciler tarafından da benimsendi ve bu da onu tüm sektör için itici bir güç haline getirdi." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Yazıcı" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS Malzeme Ayarı" @@ -5760,9 +5788,6 @@ msgctxt "Noun" msgid "Print" msgstr "Yazdır" -msgid "Printer" -msgstr "Yazıcı" - msgid "Time Estimation" msgstr "Zaman Tahmini" @@ -6062,7 +6087,7 @@ msgstr "Hacim:" msgid "Size:" msgstr "Boyut:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "%d katmanında G-code yollarında çakışmalar bulundu, Z = %.2lfmm. Lütfen çakışan nesneleri daha uzağa ayırın (%s <-> %s)." @@ -6229,6 +6254,9 @@ msgstr "Bazı ön ayarlar değiştirilirken Uygulama kapatılıyor." msgid "Logging" msgstr "Günlük kaydı" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Hazırlık" @@ -6557,6 +6585,9 @@ msgstr "3D sahnede seçilen nesnenin etrafındaki ana hatları göster." msgid "Preferences" msgstr "Tercihler" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7496,6 +7527,234 @@ msgstr "Bu iletişim kutusunu bir daha gösterme" msgid "Please refer to Wiki before use->" msgstr "Lütfen kullanmadan önce Wiki'ye bakın->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "STL'yi dışa aktar" + +msgid "Export 3MF" +msgstr "3MF'yi dışa aktar" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Maksimum Hacimsel Hız Kalibrasyonu" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Akış Oranı Kalibrasyonu" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Tüm Nesneleri Sil" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Nesnelere Ayır" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D Fare bağlantısı kesildi." @@ -8360,10 +8619,6 @@ msgstr "" msgid "Delete Object" msgstr "Nesneyi Sil" -# AI Translated -msgid "Delete All Objects" -msgstr "Tüm Nesneleri Sil" - # AI Translated msgid "Reset Project" msgstr "Projeyi Sıfırla" @@ -8371,10 +8626,6 @@ msgstr "Projeyi Sıfırla" msgid "The selected object couldn't be split." msgstr "Seçilen nesne bölünemedi." -# AI Translated -msgid "Split to Objects" -msgstr "Nesnelere Ayır" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Z konumunu korumak için Otomatik düşürme devre dışı bırakılsın mı?\n" @@ -9193,6 +9444,33 @@ msgstr "Çoklu cihaz yönetimi" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Bu seçenek etkinleştirildiğinde, aynı anda birden fazla cihaza bir görev gönderebilir ve birden fazla cihazı yönetebilirsiniz." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "Filament gruplama modunu seçmek için açılır pencere" @@ -9274,6 +9552,12 @@ msgstr "Mouse yakınlaştırmasını tersine çevir" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Etkinleştirilirse, mouse tekerleğiyle yakınlaştırmanın yönü tersine çevrilir." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Kaydır" @@ -10020,6 +10304,126 @@ msgstr "\"%1%\" için \"%2%\"yi yeni ön ayar olarak ekleyin" msgid "Simply switch to \"%1%\"" msgstr "Kolayca \"%1%\"e geçin" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Diğer" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Görev iptal edildi" @@ -11888,6 +12292,17 @@ msgstr "3Dconnexion cihazları ayarları iletişim kutusunu Göster/Gizle" msgid "Switch table page" msgstr "Tablo sayfasını değiştir" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Boşluk" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Klavye kısayolları listesini göster" @@ -12050,15 +12465,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Hazırlama/Önizleme arasında geçiş yap" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Boşluk" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Eylem hızlı erişim menüsünü aç" - msgid "Plater" msgstr "Plakacı" @@ -18194,9 +18600,6 @@ msgstr "çok büyük çizgi genişliği " msgid " not in range " msgstr " aralıkta değil " -msgid "Export 3MF" -msgstr "3MF'yi dışa aktar" - msgid "This exports the project as a 3MF file." msgstr "Projeyi 3MF olarak dışa aktarın." @@ -18212,9 +18615,6 @@ msgstr "Dilimleme verilerini yükle" msgid "Load cached slicing data from directory." msgstr "Önbelleğe alınmış dilimleme verilerini dizinden yükle." -msgid "Export STL" -msgstr "STL'yi dışa aktar" - msgid "Export the objects as single STL." msgstr "Nesneleri tek STL olarak dışa aktarın." @@ -18922,9 +19322,6 @@ msgstr "Dosya geçersiz köşe dizini içeriyor." msgid "This OBJ file couldn't be read because it's empty." msgstr "Bu OBJ dosyası boş olduğundan okunamadı." -msgid "Max Volumetric Speed Calibration" -msgstr "Maksimum Hacimsel Hız Kalibrasyonu" - msgid "Manage Result" msgstr "Sonucu Yönet" @@ -19778,10 +20175,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "NOT: Yüksek değerler Katman kaymasına neden olabilir (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Akış Oranı Kalibrasyonu" - # AI Translated msgid "Calibration Test Type" msgstr "Kalibrasyon Testi Tipi" @@ -22028,6 +22421,2278 @@ msgstr "Filament mevcut makine ayarlarıyla uyumlu olmayabilir. Rastgele bir fil msgid "The filament model is unknown. A random filament preset will be used." msgstr "Filament modeli bilinmiyor. Rastgele bir filament ön ayarı kullanılacaktır." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Son" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Alt" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Sil" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22330,8 +24995,9 @@ msgstr "" "Eğilmeyi önleyin\n" "ABS gibi bükülmeye yatkın malzemelere baskı yaparken, ısıtma yatağı sıcaklığının uygun şekilde arttırılmasının bükülme olasılığını azaltabileceğini biliyor muydunuz?" -#~ msgid "Other" -#~ msgstr "Diğer" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Eylem hızlı erişim menüsünü aç" # AI Translated #~ msgid "Left: " @@ -22475,18 +25141,12 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Tek bir katmanda yazdırma sırası." -#~ msgid "Bottom" -#~ msgstr "Alt" - #~ msgid "Front" #~ msgstr "Ön" #~ msgid "Rear" #~ msgstr "Arka" -#~ msgid "Del" -#~ msgstr "Sil" - #~ msgid "Arrow Up" #~ msgstr "Yukarı ok" @@ -22499,9 +25159,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Sağ Yön Tuşu" -#~ msgid "End" -#~ msgstr "Son" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/uk/OrcaSlicer_uk.po b/localization/i18n/uk/OrcaSlicer_uk.po index 9232201869..ffa055a2ff 100644 --- a/localization/i18n/uk/OrcaSlicer_uk.po +++ b/localization/i18n/uk/OrcaSlicer_uk.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: orcaslicerua\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2026-07-17 16:25+0300\n" "Last-Translator: Andrij Mizyk \n" "Language-Team: Ukrainian\n" @@ -2458,6 +2458,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Не вдалося відкрити діалогове вікно плагінів (невідома помилка)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Термінал плагіна" @@ -4112,6 +4125,21 @@ msgstr "OrcaSlicer народився в тому ж дусі, спираючи msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Сьогодні OrcaSlicer — це найпоширеніший і найактивніше розвинений слайсер з відкритим кодом у спільноті 3D-друку. Багато його нововведень перейняли інші слайсери, що робить його рушійною силою для всієї галузі." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Принтер" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Налаштування матеріалів AMS" @@ -5716,9 +5744,6 @@ msgctxt "Noun" msgid "Print" msgstr "Друк" -msgid "Printer" -msgstr "Принтер" - msgid "Time Estimation" msgstr "Оцінка часу" @@ -6021,7 +6046,7 @@ msgid "Size:" msgstr "Розмір:" # AI Translated -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Виявлено конфлікти шляхів G-коду на шарі %d, Z = %.2lf мм. Будь ласка, рознесіть конфліктуючі обʼєкти далі один від одного (%s <-> %s)." @@ -6198,6 +6223,9 @@ msgstr "Закриття програми під чвс зміни деяких msgid "Logging" msgstr "Ведення журналу" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Підготовка" @@ -6526,6 +6554,9 @@ msgstr "Показувати контур навколо виділеного о msgid "Preferences" msgstr "Налаштування" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7470,6 +7501,232 @@ msgstr "Більше не показувати це діалогове вікн msgid "Please refer to Wiki before use->" msgstr "Зверніться до Вікі перед використанням->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Експортувати STL" + +msgid "Export 3MF" +msgstr "Експортувати 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Максимальна калібрування об’ємної швидкості" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Калібрування коефіцієнта потоку" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "Видалити всі обʼєкти" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "Розділити по обʼєктах" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D-миша відʼєднана." @@ -8373,18 +8630,12 @@ msgstr "" msgid "Delete Object" msgstr "Видалити обʼєкт" -msgid "Delete All Objects" -msgstr "Видалити всі обʼєкти" - msgid "Reset Project" msgstr "Скинути проєкт" msgid "The selected object couldn't be split." msgstr "Вибраний обʼєкт не може бути поділений." -msgid "Split to Objects" -msgstr "Розділити по обʼєктах" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Вимкнути авто-кидання, щоб зберегти розташування по осі Z?\n" @@ -9211,6 +9462,33 @@ msgstr "Керування кількома пристроями" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "З цією опцією ввімкненою, ви можете відправляти завдання на кілька пристроїв одночасно та керувати декількома пристроями." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # AI Translated msgid "Pop up to select filament grouping mode" msgstr "Показувати вікно вибору режиму групування філаментів" @@ -9300,6 +9578,12 @@ msgstr "Зворотне масштабування мишкою" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Якщо увімкнено, змінює напрямок масштабування за допомогою коліщатка миші." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Панорамування" @@ -10024,6 +10308,126 @@ msgstr "Для \"%1%\" додайте \"%2%\" як новий пресет" msgid "Simply switch to \"%1%\"" msgstr "Просто перейдіть на \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Інший" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Завдання скасовано" @@ -11952,6 +12356,17 @@ msgstr "Показати/приховати діалог налаштувань msgid "Switch table page" msgstr "Перемкнути сторінку таблиці" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Пробіл" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Показати список клавіш" @@ -12114,15 +12529,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Переключення між Підготовка/Попередній перегляд" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Пробіл" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Відкрити панель швидких дій" - msgid "Plater" msgstr "Тарілка" @@ -18405,9 +18811,6 @@ msgstr "надто велика ширина лінії " msgid " not in range " msgstr " не в зоні " -msgid "Export 3MF" -msgstr "Експортувати 3MF" - msgid "This exports the project as a 3MF file." msgstr "Експортувати проєкт як 3MF." @@ -18423,9 +18826,6 @@ msgstr "Завантажити дані про нарізку" msgid "Load cached slicing data from directory." msgstr "Завантажити кешовані дані нарізки з каталогу" -msgid "Export STL" -msgstr "Експортувати STL" - msgid "Export the objects as single STL." msgstr "Експортувати обʼєкти як єдиний STL." @@ -19146,9 +19546,6 @@ msgstr "У файлі містяться недійсний індекс вер msgid "This OBJ file couldn't be read because it's empty." msgstr "Цей файл формату OBJ не може бути прочитаний через те, що він порожній." -msgid "Max Volumetric Speed Calibration" -msgstr "Максимальна калібрування об’ємної швидкості" - msgid "Manage Result" msgstr "Керування результатом" @@ -20034,10 +20431,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "ПРИМІТКА: високі значення можуть спричинити зсув шарів (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Калібрування коефіцієнта потоку" - msgid "Calibration Test Type" msgstr "Тип тесту калібрування" @@ -22188,6 +22581,2278 @@ msgstr "Цей філамент може бути несумісним з пот msgid "The filament model is unknown. A random filament preset will be used." msgstr "Модель філамента невідома. Буде використаний випадковий пресет філамента" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Кінець" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Низ" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "Видалити" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -22493,8 +25158,9 @@ msgstr "" "Уникнення деформації\n" "Чи знаєте ви, що при друку матеріалами, схильними до деформації, такими як ABS, відповідне підвищення температури столу може зменшити ймовірність деформації?" -#~ msgid "Other" -#~ msgstr "Інший" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Відкрити панель швидких дій" #~ msgid "Left: " #~ msgstr "Лівий: " @@ -22635,9 +25301,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Друк замовлення в один шар" -#~ msgid "Bottom" -#~ msgstr "Низ" - #~ msgid "Front" #~ msgstr "Перед" @@ -22650,9 +25313,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "Видалити" - #~ msgid "Backspace" #~ msgstr "Назад" @@ -22668,9 +25328,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Стрілка праворуч" -#~ msgid "End" -#~ msgstr "Кінець" - #~ msgid "Hotend" #~ msgstr "Хотенд" diff --git a/localization/i18n/vi/OrcaSlicer_vi.po b/localization/i18n/vi/OrcaSlicer_vi.po index 65ad344552..3263e575c5 100644 --- a/localization/i18n/vi/OrcaSlicer_vi.po +++ b/localization/i18n/vi/OrcaSlicer_vi.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2025-10-02 17:43+0700\n" "Last-Translator: \n" "Language-Team: hainguyen.ts13@gmail.com\n" @@ -2605,6 +2605,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "Không thể mở hộp thoại Plugin (lỗi không xác định)." +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "Terminal plugin" @@ -4364,6 +4377,21 @@ msgstr "OrcaSlicer khởi đầu với cùng tinh thần đó, kế thừa từ msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "Ngày nay, OrcaSlicer là phần mềm slice mã nguồn mở được sử dụng rộng rãi nhất và phát triển tích cực nhất trong cộng đồng in 3D. Nhiều đổi mới của nó đã được các phần mềm slice khác áp dụng, khiến nó trở thành động lực thúc đẩy cả ngành." +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "Máy in" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "Cài đặt vật liệu AMS" @@ -6036,9 +6064,6 @@ msgctxt "Noun" msgid "Print" msgstr "In" -msgid "Printer" -msgstr "Máy in" - msgid "Time Estimation" msgstr "Ước tính thời gian" @@ -6358,7 +6383,7 @@ msgstr "Thể tích:" msgid "Size:" msgstr "Kích thước:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "Đã tìm thấy xung đột đường đi G-code tại lớp %d, Z = %.2lfmm. Vui lòng tách các vật thể xung đột ra xa hơn (%s <-> %s)." @@ -6542,6 +6567,9 @@ msgstr "Đang đóng ứng dụng trong khi một số preset được sửa đ msgid "Logging" msgstr "Ghi nhật ký" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "Chuẩn bị" @@ -6876,6 +6904,9 @@ msgstr "Hiện đường viền xung quanh vật thể đã chọn trong cảnh msgid "Preferences" msgstr "Tùy chọn" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7866,6 +7897,234 @@ msgstr "Không hiển thị hộp thoại này nữa" msgid "Please refer to Wiki before use->" msgstr "Vui lòng tham khảo Wiki trước khi dùng->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "Xuất STL" + +msgid "Export 3MF" +msgstr "Xuất 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "Hiệu chỉnh tốc độ thể tích tối đa" + +msgid "Pressure Advance Calibration" +msgstr "" + +# AI Translated +msgid "Flow Ratio Calibration" +msgstr "Hiệu chỉnh tỷ lệ lưu lượng" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "Xóa tất cả vật thể" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "Tách thành các vật thể" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "Chuột 3D đã ngắt kết nối." @@ -8776,10 +9035,6 @@ msgstr "" msgid "Delete Object" msgstr "Xóa vật thể" -# AI Translated -msgid "Delete All Objects" -msgstr "Xóa tất cả vật thể" - # AI Translated msgid "Reset Project" msgstr "Đặt lại dự án" @@ -8787,10 +9042,6 @@ msgstr "Đặt lại dự án" msgid "The selected object couldn't be split." msgstr "Đối tượng đã chọn không thể được tách." -# AI Translated -msgid "Split to Objects" -msgstr "Tách thành các vật thể" - # AI Translated msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "Tắt Tự động thả để giữ nguyên vị trí Z?\n" @@ -9672,6 +9923,33 @@ msgstr "Quản lý nhiều thiết bị" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "Với tùy chọn này được bật, bạn có thể gửi tác vụ đến nhiều thiết bị cùng lúc và quản lý nhiều thiết bị." +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + # AI Translated msgid "Pop up to select filament grouping mode" msgstr "Hiện cửa sổ để chọn chế độ nhóm filament" @@ -9762,6 +10040,12 @@ msgstr "Đảo ngược thu phóng chuột" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "Nếu được bật, đảo ngược hướng thu phóng bằng con lăn chuột." +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + # AI Translated msgid "Pan" msgstr "Di chuyển khung nhìn" @@ -10535,6 +10819,126 @@ msgstr "Cho \"%1%\", thêm \"%2%\" như một preset mới" msgid "Simply switch to \"%1%\"" msgstr "Đơn giản chuyển sang \"%1%\"" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "Khác" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "Tác vụ đã hủy" @@ -12500,6 +12904,17 @@ msgstr "Hiển thị/Ẩn hộp thoại cài đặt thiết bị 3Dconnexion" msgid "Switch table page" msgstr "Chuyển trang bảng" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "Hiển thị danh sách phím tắt" @@ -12666,15 +13081,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "Chuyển đổi giữa Chuẩn bị/Xem trước" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "Mở vòng quay thao tác nhanh" - msgid "Plater" msgstr "Bàn in" @@ -18928,9 +19334,6 @@ msgstr "độ rộng đường quá lớn " msgid " not in range " msgstr " không trong phạm vi " -msgid "Export 3MF" -msgstr "Xuất 3MF" - msgid "This exports the project as a 3MF file." msgstr "Xuất dự án dưới dạng 3MF." @@ -18946,9 +19349,6 @@ msgstr "Nạp dữ liệu slice" msgid "Load cached slicing data from directory." msgstr "Nạp dữ liệu slice đã lưu từ thư mục." -msgid "Export STL" -msgstr "Xuất STL" - msgid "Export the objects as single STL." msgstr "Xuất các đối tượng dưới dạng STL đơn." @@ -19673,9 +20073,6 @@ msgstr "File chứa chỉ số đỉnh không hợp lệ." msgid "This OBJ file couldn't be read because it's empty." msgstr "File OBJ này không thể đọc được vì nó trống." -msgid "Max Volumetric Speed Calibration" -msgstr "Hiệu chỉnh tốc độ thể tích tối đa" - msgid "Manage Result" msgstr "Quản lý kết quả" @@ -20559,10 +20956,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "LƯU Ý: Giá trị cao có thể gây dịch lớp (>%s)" -# AI Translated -msgid "Flow Ratio Calibration" -msgstr "Hiệu chỉnh tỷ lệ lưu lượng" - # AI Translated msgid "Calibration Test Type" msgstr "Loại bài kiểm tra hiệu chỉnh" @@ -22909,6 +23302,2278 @@ msgstr "Filament có thể không tương thích với cài đặt máy hiện t msgid "The filament model is unknown. A random filament preset will be used." msgstr "Không rõ mẫu filament. Một cài đặt sẵn filament ngẫu nhiên sẽ được dùng." +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "Kết thúc" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "Dưới" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -23210,8 +25875,9 @@ msgstr "" "Tránh cong vênh\n" "Bạn có biết rằng khi in vật liệu dễ cong vênh như ABS, tăng nhiệt độ bàn nóng một cách thích hợp có thể giảm xác suất cong vênh không?" -#~ msgid "Other" -#~ msgstr "Khác" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "Mở vòng quay thao tác nhanh" # AI Translated #~ msgid "Left: " @@ -23359,9 +26025,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "Thứ tự in trong một lớp đơn." -#~ msgid "Bottom" -#~ msgstr "Dưới" - #~ msgid "Front" #~ msgstr "Trước" @@ -23380,9 +26043,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "Mũi tên phải" -#~ msgid "End" -#~ msgstr "Kết thúc" - #~ msgid "Hotend" #~ msgstr "Hotend" diff --git a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po index 84df96d57c..d3c0b03ec1 100644 --- a/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po +++ b/localization/i18n/zh_CN/OrcaSlicer_zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Slic3rPE\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2026-06-11 12:37-0300\n" "Last-Translator: Handle \n" "Language-Team: \n" @@ -2393,6 +2393,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "无法打开插件对话框(未知错误)。" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + msgid "Plugin Terminal" msgstr "插件终端" @@ -4002,6 +4015,21 @@ msgstr "OrcaSlicer 也始于同样的精神,汲取了 PrusaSlicer、BambuStudi msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "如今,OrcaSlicer 是 3D 打印社区中使用最广泛、开发最活跃的开源切片软件。它的许多创新已被其他切片软件采用,成为推动整个行业发展的力量。" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "打印机" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS 材料设置" @@ -5550,9 +5578,6 @@ msgctxt "Noun" msgid "Print" msgstr "打印" -msgid "Printer" -msgstr "打印机" - msgid "Time Estimation" msgstr "时间预估" @@ -5850,7 +5875,7 @@ msgstr "体积:" msgid "Size:" msgstr "尺寸:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "发现G-code路径在层%d,高度为%.2lf mm处有冲突。请将有冲突的对象分离得更远(%s <-> %s)。" @@ -6016,6 +6041,9 @@ msgstr "正在关闭应用程序,部分预设已修改。" msgid "Logging" msgstr "日志" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "准备" @@ -6344,6 +6372,9 @@ msgstr "在3D场景中显示选中对象的轮廓" msgid "Preferences" msgstr "偏好设置" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7270,6 +7301,231 @@ msgstr "不再显示此对话框?" msgid "Please refer to Wiki before use->" msgstr "使用前请参考 Wiki->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "导出STL文件" + +msgid "Export 3MF" +msgstr "导出 3MF" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "最大体积流量校准" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "流量比校准" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +msgid "Delete All Objects" +msgstr "删除所有对象" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +msgid "Split to Objects" +msgstr "拆分为对象" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D鼠标断连。" @@ -8095,18 +8351,12 @@ msgstr "" msgid "Delete Object" msgstr "删除对象" -msgid "Delete All Objects" -msgstr "删除所有对象" - msgid "Reset Project" msgstr "重置项目" msgid "The selected object couldn't be split." msgstr "选中的模型不可分裂。" -msgid "Split to Objects" -msgstr "拆分为对象" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "禁用自动落板以保留 Z 轴定位?\n" @@ -8910,6 +9160,33 @@ msgstr "多设备管理" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "启用此选项后,您可以同时向多个设备发送任务并管理多个设备。" +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "弹出选择耗材丝分组模式" @@ -8991,6 +9268,12 @@ msgstr "反转鼠标缩放" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "如果启用,使用鼠标滚轮缩放的方向会反转。" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "平移" @@ -9698,6 +9981,126 @@ msgstr "为“%1%”,添加“%2%”为一个新预设" msgid "Simply switch to \"%1%\"" msgstr "直接切换到“%1%”" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "其他" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "任务已取消" @@ -11491,6 +11894,17 @@ msgstr "显示/隐藏 3Dconnexion设备的设置对话框" msgid "Switch table page" msgstr "切换标签页" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "显示键盘快捷键列表" @@ -11658,15 +12072,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "准备/预览之间的切换" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "打开快捷操作盘" - msgid "Plater" msgstr "准备" @@ -17614,9 +18019,6 @@ msgstr "线宽过大" msgid " not in range " msgstr " 不在合理范围内" -msgid "Export 3MF" -msgstr "导出 3MF" - msgid "This exports the project as a 3MF file." msgstr "导出项目为 3MF。" @@ -17632,9 +18034,6 @@ msgstr "导入切片数据" msgid "Load cached slicing data from directory." msgstr "从目录导入缓存的切片数据" -msgid "Export STL" -msgstr "导出STL文件" - msgid "Export the objects as single STL." msgstr "将对象导出为单个STL。" @@ -18342,9 +18741,6 @@ msgstr "该文件包含无效的顶点索引。" msgid "This OBJ file couldn't be read because it's empty." msgstr "无法读取该OBJ文件,因为该文件内容为空。" -msgid "Max Volumetric Speed Calibration" -msgstr "最大体积流量校准" - msgid "Manage Result" msgstr "管理结果" @@ -19190,9 +19586,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "注意:较高的值可能会导致层移位 (>%s)" -msgid "Flow Ratio Calibration" -msgstr "流量比校准" - msgid "Calibration Test Type" msgstr "校准测试类型" @@ -21323,6 +21716,2278 @@ msgstr "此耗材可能与当前设备设置不兼容,将使用随机耗材预 msgid "The filament model is unknown. A random filament preset will be used." msgstr "此耗材可能于当前设备设置不兼容,将使用随机耗材预设。" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "结束" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "底部" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "删除" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21623,8 +24288,9 @@ msgstr "" "避免翘曲\n" "您知道吗?打印ABS这类易翘曲材料时,适当提高热床温度可以降低翘曲的概率。" -#~ msgid "Other" -#~ msgstr "其他" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "打开快捷操作盘" # AI Translated #~ msgid "Left: " @@ -21768,9 +24434,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "同一层内的打印顺序" -#~ msgid "Bottom" -#~ msgstr "底部" - #~ msgid "Front" #~ msgstr "前面" @@ -21783,9 +24446,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "删除" - #~ msgid "Backspace" #~ msgstr "回退键" @@ -21801,9 +24461,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "右箭头" -#~ msgid "End" -#~ msgstr "结束" - #~ msgid "Hotend" #~ msgstr "热端" diff --git a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po index b60602ca38..d50ec44d21 100644 --- a/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po +++ b/localization/i18n/zh_TW/OrcaSlicer_zh_TW.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: Orca Slicer\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-17 12:41-0300\n" +"POT-Creation-Date: 2026-09-18 15:50+0800\n" "PO-Revision-Date: 2025-11-28 13:48-0600\n" "Last-Translator: tntchn <15895303+tntchn@users.noreply.github.com>\n" "Language-Team: \n" @@ -2462,6 +2462,19 @@ msgstr "" msgid "Failed to open the Plugins dialog (unknown error)." msgstr "無法開啟外掛對話框(未知錯誤)。" +msgid "Plugins refreshed." +msgstr "" + +#, c-format, boost-format +msgid "Failed to refresh plugins: %s" +msgstr "" + +msgid "Select plugin package" +msgstr "" + +msgid "Plugin files (*.py;*.whl)|*.py;*.whl" +msgstr "" + # AI Translated msgid "Plugin Terminal" msgstr "外掛終端機" @@ -4104,6 +4117,21 @@ msgstr "OrcaSlicer 也源於同樣的精神,汲取了 PrusaSlicer、BambuStudi msgid "Today, OrcaSlicer is the most widely used and actively developed open-source slicer in the 3D printing community. Many of its innovations have been adopted by other slicers, making it a driving force for the entire industry." msgstr "如今,OrcaSlicer 是 3D 列印社群中使用最廣泛、開發最活躍的開源切片軟體。它的許多創新已被其他切片軟體採用,使其成為推動整個產業的動力。" +msgid "Script plugin skipped." +msgstr "" + +msgid "Script plugin finished." +msgstr "" + +msgid "Printer" +msgstr "列印裝置" + +msgid "Recent Projects" +msgstr "" + +msgid "Go to Plate" +msgstr "" + msgid "AMS Materials Setting" msgstr "AMS 線材設定" @@ -5679,9 +5707,6 @@ msgctxt "Noun" msgid "Print" msgstr "列印" -msgid "Printer" -msgstr "列印裝置" - msgid "Time Estimation" msgstr "時間預估" @@ -5979,7 +6004,7 @@ msgstr "體積:" msgid "Size:" msgstr "尺寸:" -#, c-format, boost-format +#, boost-format msgid "Conflicts of G-code paths have been found at layer %d, Z = %.2lfmm. Please separate the conflicted objects farther (%s <-> %s)." msgstr "發現 G-code 路徑在 %d 層,Z = %.2lf mm 處的衝突。請將有衝突的物件分離得更遠(%s <-> %s)。" @@ -6146,6 +6171,9 @@ msgstr "正在關閉應用程式,部分預設已修改。" msgid "Logging" msgstr "日誌" +msgid "Design" +msgstr "" + msgid "Prepare" msgstr "準備" @@ -6474,6 +6502,9 @@ msgstr "在 3D 場景中顯示選定物件的輪廓" msgid "Preferences" msgstr "偏好設定" +msgid "Open speed dial..." +msgstr "" + # AI Translated msgctxt "Menu" msgid "Edit" @@ -7407,6 +7438,233 @@ msgstr "不要再顯示此提示" msgid "Please refer to Wiki before use->" msgstr "使用前請參考 Wiki ->" +msgid "Plates are a filament (FFF) feature." +msgstr "" + +msgid "Open the 3D view first." +msgstr "" + +msgid "Select an object first." +msgstr "" + +msgid "Slice and Preview" +msgstr "" + +msgid "Slice & Export" +msgstr "" + +msgid "Go to layer (percent)" +msgstr "" + +msgid "Commands" +msgstr "" + +msgid "Go to tab..." +msgstr "" + +msgid "Load Project" +msgstr "" + +msgid "Save Project As" +msgstr "" + +msgid "Mode: Simple" +msgstr "" + +msgid "Mode: Advanced" +msgstr "" + +msgid "Mode: Expert" +msgstr "" + +msgid "Toggle Developer Mode" +msgstr "" + +msgid "Developer mode enabled." +msgstr "" + +msgid "Developer mode disabled." +msgstr "" + +msgid "Export STL" +msgstr "匯出為 STL 檔案" + +msgid "Export 3MF" +msgstr "匯出為 3MF 檔案" + +msgid "Export Sliced File" +msgstr "" + +msgid "Export All Sliced Files" +msgstr "" + +msgid "Max Volumetric Speed Calibration" +msgstr "最大體積流量校正" + +msgid "Pressure Advance Calibration" +msgstr "" + +msgid "Flow Ratio Calibration" +msgstr "流量比例校正" + +msgid "Retraction Calibration" +msgstr "" + +msgid "Cornering Calibration" +msgstr "" + +msgid "Input Shaping Frequency Calibration" +msgstr "" + +msgid "Input Shaping Damping Calibration" +msgstr "" + +msgid "VFA Calibration" +msgstr "" + +msgid "View: Top" +msgstr "" + +msgid "View: Bottom" +msgstr "" + +msgid "View: Front" +msgstr "" + +msgid "View: Rear" +msgstr "" + +msgid "View: Left" +msgstr "" + +msgid "View: Right" +msgstr "" + +msgid "View: Isometric" +msgstr "" + +msgid "View: Default" +msgstr "" + +msgid "Fit Bed to View" +msgstr "" + +msgid "Toggle Perspective" +msgstr "" + +# AI Translated +msgid "Delete All Objects" +msgstr "刪除所有物件" + +msgid "Mirror X" +msgstr "" + +msgid "Mirror Y" +msgstr "" + +msgid "Mirror Z" +msgstr "" + +# AI Translated +msgid "Split to Objects" +msgstr "分割為物件" + +msgid "Split to Parts" +msgstr "" + +msgid "Center Selected on Plate" +msgstr "" + +msgid "Drop to Bed" +msgstr "" + +msgid "Scale to Fit Print Volume" +msgstr "" + +msgid "Increase Instances" +msgstr "" + +msgid "Decrease Instances" +msgstr "" + +msgid "Auto-Arrange" +msgstr "" + +msgid "Auto-Orient" +msgstr "" + +msgid "Add Plate" +msgstr "" + +msgid "Cannot add another plate (maximum reached)." +msgstr "" + +msgid "Duplicate Plate" +msgstr "" + +msgid "Cannot duplicate a plate (maximum reached)." +msgstr "" + +msgid "Cannot delete the only plate." +msgstr "" + +msgid "Rename Plate" +msgstr "" + +msgid "Toggle Plate Lock" +msgstr "" + +msgid "No plates available." +msgstr "" + +msgid "Synchronize Filament List from AMS" +msgstr "" + +msgid "Connect a printer to synchronize the AMS filament list." +msgstr "" + +msgid "Open Preset Bundle" +msgstr "" + +msgid "Sign in to sync presets." +msgstr "" + +msgid "Export All Objects as STLs" +msgstr "" + +msgid "Export All Objects as DRC (one file)" +msgstr "" + +msgid "Export All Objects as DRCs" +msgstr "" + +msgid "Export Toolpaths as OBJ" +msgstr "" + +msgid "About OrcaSlicer" +msgstr "" + +msgid "Open Wiki" +msgstr "" + +msgid "Open YouTube Channel" +msgstr "" + +msgid "Open Plugins" +msgstr "" + +msgid "Refresh Plugins" +msgstr "" + +msgid "Install Plugin" +msgstr "" + +msgid "Install Local Plugin" +msgstr "" + +msgid "Unknown command." +msgstr "" + msgid "3D Mouse disconnected." msgstr "3D 滑鼠已中斷連線。" @@ -8256,10 +8514,6 @@ msgstr "" msgid "Delete Object" msgstr "刪除物件" -# AI Translated -msgid "Delete All Objects" -msgstr "刪除所有物件" - # AI Translated msgid "Reset Project" msgstr "重設專案" @@ -8267,10 +8521,6 @@ msgstr "重設專案" msgid "The selected object couldn't be split." msgstr "選取的模型不可分割。" -# AI Translated -msgid "Split to Objects" -msgstr "分割為物件" - msgid "Disable Auto-Drop to preserve Z positioning?\n" msgstr "停用自動落板以保留 Z 定位?\n" @@ -9083,6 +9333,33 @@ msgstr "多臺裝置管理" msgid "With this option enabled, you can send a task to multiple devices at the same time and manage multiple devices." msgstr "啟用時可以同時傳送到並管理多個機臺。" +msgid "Open the Speed Dial with the Space key" +msgstr "" + +msgid "When enabled, pressing Space (with no other key held) opens the Speed Dial action search from any page." +msgstr "" + +msgid "Recent actions" +msgstr "" + +msgid "actions" +msgstr "" + +msgid "How many recently launched actions to show at the top of the Speed Dial. Set to 0 to hide recent actions." +msgstr "" + +msgid "CAD feature (experimental)" +msgstr "" + +msgid "With this option enabled, the Design tab is shown, where models can be built and edited parametrically. This feature is experimental and still under development." +msgstr "" + +msgid "Auto-close sketch loops" +msgstr "" + +msgid "Treat sketch endpoints within 0.001 mm as one joint and weld the loop shut. Off: only exactly coincident endpoints join, so a loop with a tiny gap is shown as open instead of being closed for you." +msgstr "" + msgid "Pop up to select filament grouping mode" msgstr "彈出視窗選擇線材分組模式" @@ -9164,6 +9441,12 @@ msgstr "反轉滑鼠滾輪縮放方向" msgid "If enabled, reverses the direction of zoom with mouse wheel." msgstr "啟用後,改變滑鼠滾輪縮放方向。" +msgid "Draw mate connectors as a face" +msgstr "" + +msgid "In the Design tab, draw a mate connector as a small face instead of the conventional disc with a roll quadrant. A face's orientation is read without being learned. Turn this off for the conventional CAD representation." +msgstr "" + msgid "Pan" msgstr "平移" @@ -9871,6 +10154,126 @@ msgstr "為「%1%」,增加「%2%」為一個新預設" msgid "Simply switch to \"%1%\"" msgstr "直接切換到「%1%」" +msgid "Expert" +msgstr "" + +msgid "Simple" +msgstr "" + +msgid "Search actions" +msgstr "" + +#, c-format, boost-format +msgid "Search %s actions" +msgstr "" + +msgid "Recent" +msgstr "" + +msgid "Other" +msgstr "其他" + +#, c-format, boost-format +msgid "No actions match (Total: %s)" +msgstr "" + +msgid "No actions yet" +msgstr "" + +msgid "No tabs match" +msgstr "" + +msgid "No tabs" +msgstr "" + +#, c-format, boost-format +msgid "Showing %s of %s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s actions" +msgstr "" + +#, c-format, boost-format +msgid "%s tabs" +msgstr "" + +#, c-format, boost-format +msgid "%s matches" +msgstr "" + +#, c-format, boost-format +msgid "Favourites are full (%s max)" +msgstr "" + +#, c-format, boost-format +msgid "Go to %s%% of the layer range" +msgstr "" + +msgid "Enter a layer percentage (0-100)" +msgstr "" + +#, c-format, boost-format +msgid "Go to layer %% (0-100)" +msgstr "" + +msgid "Go to tab" +msgstr "" + +#, c-format, boost-format +msgid "Favourite %s (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Pin to favourites (%s)" +msgstr "" + +#, c-format, boost-format +msgid "Unpin from favourites (%s)" +msgstr "" + +msgid "Remove from favourites" +msgstr "" + +msgid "Move left" +msgstr "" + +msgid "Move right" +msgstr "" + +msgid "Unpin" +msgstr "" + +msgid "Wiki (F1)" +msgstr "" + +msgid "No wiki page for this action" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a Developer setting. Enable Developer mode to edit it?" +msgstr "" + +msgid "Developer setting" +msgstr "" + +#, c-format, boost-format +msgid "\"%s\" is a %s setting. Switch from %s mode to %s mode to edit it?" +msgstr "" + +msgid "Switch settings mode" +msgstr "" + +#, c-format, boost-format +msgid "Run \"%s\"?" +msgstr "" + +msgid "Run plugin" +msgstr "" + +msgid "Don't ask again for this action" +msgstr "" + msgid "Task canceled" msgstr "任務已取消" @@ -11699,6 +12102,17 @@ msgstr "顯示/隱藏 3Dconnexion 裝置的設定對話框" msgid "Switch table page" msgstr "切換表單頁面" +# AI Translated +msgctxt "Keyboard Shortcut" +msgid "Space" +msgstr "Space" + +msgid "Open speed dial" +msgstr "" + +msgid "Run a Speed Dial favourite (while the Speed Dial is open)" +msgstr "" + msgid "Show keyboard shortcuts list" msgstr "顯示鍵盤快速鍵清單" @@ -11863,15 +12277,6 @@ msgstr "Tab" msgid "Switch between Prepare/Preview" msgstr "在準備/預覽模式之中切換" -# AI Translated -msgctxt "Keyboard Shortcut" -msgid "Space" -msgstr "Space" - -# AI Translated -msgid "Open actions speed dial" -msgstr "開啟操作快捷選單" - msgid "Plater" msgstr "準備" @@ -17802,9 +18207,6 @@ msgstr "線寬過大" msgid " not in range " msgstr " 不在合理的區間" -msgid "Export 3MF" -msgstr "匯出為 3MF 檔案" - msgid "This exports the project as a 3MF file." msgstr "將專案匯出為 3MF 檔案。" @@ -17820,9 +18222,6 @@ msgstr "載入切片資料" msgid "Load cached slicing data from directory." msgstr "從資料夾載入快取的切片資料" -msgid "Export STL" -msgstr "匯出為 STL 檔案" - msgid "Export the objects as single STL." msgstr "將所有物件匯出為單一 STL 檔案。" @@ -18528,9 +18927,6 @@ msgstr "檔案包含無效的頂點索引。" msgid "This OBJ file couldn't be read because it's empty." msgstr "無法讀取此 OBJ 檔案,因為它是空的。" -msgid "Max Volumetric Speed Calibration" -msgstr "最大體積流量校正" - msgid "Manage Result" msgstr "管理結果" @@ -19376,9 +19772,6 @@ msgstr "" msgid "NOTE: High values may cause Layer shift (>%s)" msgstr "注意:較高的值可能會導致層移位 (>%s)" -msgid "Flow Ratio Calibration" -msgstr "流量比例校正" - msgid "Calibration Test Type" msgstr "校正測試類型" @@ -21515,6 +21908,2278 @@ msgstr "線材可能與目前的列印裝置設定不相容,將使用隨機線 msgid "The filament model is unknown. A random filament preset will be used." msgstr "線材型號未知,將使用隨機線材預設。" +msgid "Construction" +msgstr "" + +#, c-format, boost-format +msgid "%s · on %s" +msgstr "" + +msgid "Line — click start, then end" +msgstr "" + +msgid "Rectangle — click two opposite corners" +msgstr "" + +msgid "Circle — click center, then radius" +msgstr "" + +msgid "Arc — click start, end, then a point" +msgstr "" + +msgid "Slot — two centerline ends, then end radius" +msgstr "" + +msgid "Ellipse — center, major end, minor point" +msgstr "" + +msgid "Spline — click control points" +msgstr "" + +msgid "Point — click to place" +msgstr "" + +msgid "Dimension — click 2 points or an entity" +msgstr "" + +msgid "Trim — click a segment to trim it" +msgstr "" + +msgid "Extend — click a line/arc to extend it" +msgstr "" + +msgid "Offset — pick an entity, drag the distance" +msgstr "" + +msgid "Mirror — pick axis, then entities" +msgstr "" + +msgid "Fillet — pick two lines, set the radius" +msgstr "" + +msgid "Chamfer — pick two lines, set the distance" +msgstr "" + +msgid "Polygon — click center, then a vertex" +msgstr "" + +msgid "Nothing here has a value to type — pick a line, an arc, a circle, or two entities" +msgstr "" + +msgid "Normal to the sketch plane" +msgstr "" + +msgid "Converted the selection between construction and real geometry" +msgstr "" + +msgid "Origin planes shown" +msgstr "" + +msgid "Origin planes hidden" +msgstr "" + +msgid "World axes shown" +msgstr "" + +msgid "World axes hidden" +msgstr "" + +msgid "Isometric view, fitted" +msgstr "" + +msgid "Bed shown" +msgstr "" + +msgid "Bed hidden" +msgstr "" + +msgid "FEATURES" +msgstr "" + +msgid "Sketch" +msgstr "" + +#, c-format, boost-format +msgid "Sketching on %s — pick a tool" +msgstr "" + +msgid "Click a face or a reference plane in the viewport, then a sketch tool" +msgstr "" + +#, c-format, boost-format +msgid "" +"Drawing on %s.\n" +"Pick a tool, or press Menu for the list." +msgstr "" + +msgid "Click a face or a reference plane, then a sketch tool." +msgstr "" + +msgid "Add material (extrude / revolve / sweep / loft / thicken / rib)" +msgstr "" + +msgid "Extrude a sketch profile, or push/pull a picked face" +msgstr "" + +msgid "Create a sketch, or pick a solid face, first" +msgstr "" + +msgid "Revolve" +msgstr "" + +msgid "Revolve a profile about an axis" +msgstr "" + +msgid "Create a sketch profile to revolve first" +msgstr "" + +msgid "Sweep" +msgstr "" + +msgid "Sweep a profile along a path" +msgstr "" + +msgid "Create a profile sketch to sweep first" +msgstr "" + +msgid "Loft" +msgstr "" + +msgid "Loft (skin) between two or more profiles" +msgstr "" + +msgid "Create at least two profile sketches to loft" +msgstr "" + +msgid "Thicken" +msgstr "" + +msgid "Offset a solid face into a thin plate (new body)" +msgstr "" + +msgid "Thicken needs a solid body — add or import one first" +msgstr "" + +#, c-format +msgid "Body %zu" +msgstr "" + +msgid "Grow a thin wall from an open sketch line, fused to a body" +msgstr "" + +msgid "Rib needs a solid body — add or import one first" +msgstr "" + +msgid "Create a sketch with an open line first" +msgstr "" + +msgid "Create a solid body to pattern first" +msgstr "" + +msgid "Pattern — needs a solid body to replicate" +msgstr "" + +msgid "Surface (extrude / revolve / loft / fill / offset / thicken)" +msgstr "" + +msgid "Surface Extrude" +msgstr "" + +msgid "Extrude a sketch into a sheet body (no end caps)" +msgstr "" + +msgid "Create a sketch first" +msgstr "" + +msgid "Surface Revolve" +msgstr "" + +msgid "Revolve a sketch profile into a sheet body" +msgstr "" + +msgid "Surface Loft" +msgstr "" + +msgid "Loft (skin) between 2+ profiles, open (no end caps)" +msgstr "" + +msgid "Surface Fill" +msgstr "" + +msgid "Fill a sketch boundary with a smooth face" +msgstr "" + +msgid "Create a sketch profile to fill first" +msgstr "" + +msgid "Surface Offset" +msgstr "" + +msgid "Offset a sheet body's shell by a signed distance" +msgstr "" + +msgid "No sheet body to offset — create a surface feature first" +msgstr "" + +msgid "Thicken Surface" +msgstr "" + +msgid "Thicken a sheet body into a solid" +msgstr "" + +msgid "No sheet body to thicken — create a surface feature first" +msgstr "" + +msgid "Datum / Curve (plane / axis / coord sys / helix / project)" +msgstr "" + +msgid "Reference plane (offset / tilt / midplane / tangent / two edges / coincident)" +msgstr "" + +msgid "Axis" +msgstr "" + +msgid "Datum axis (two points, face normal, cylinder centerline, two planes, along edge)" +msgstr "" + +msgid "Coord Sys" +msgstr "" + +msgid "Datum coordinate system (world point, or face + direction edge)" +msgstr "" + +msgid "Helix" +msgstr "" + +msgid "Helical curve (spring path) — use as a sweep path for coils / springs / augers" +msgstr "" + +msgid "Project body edges onto a plane as sketch entities" +msgstr "" + +msgid "Project needs a body — add or import one first" +msgstr "" + +msgid "(all edges)" +msgstr "" + +msgid "Placement (transform / mirror / mate)" +msgstr "" + +msgid "Transform" +msgstr "" + +msgid "Move and/or rotate an existing body" +msgstr "" + +msgid "Transform needs a body — add or import one first" +msgstr "" + +msgid "Reflect a body about a plane" +msgstr "" + +msgid "Mirror needs a body — add or import one first" +msgstr "" + +msgid "Mate" +msgstr "" + +msgid "Assembly: align two CoordSys features (fastened, planar, revolute, slider, cylindrical)" +msgstr "" + +msgid "Boolean (combine bodies)" +msgstr "" + +msgid "Boolean — needs two solid bodies to combine" +msgstr "" + +msgid "Cut (split a body with a plane)" +msgstr "" + +msgid "Create a solid body to cut first" +msgstr "" + +msgid "Cut — needs a solid body to slice" +msgstr "" + +msgid "Color — set the selected body's display colour" +msgstr "" + +msgid "Select a feature, or a body, first — then rename it" +msgstr "" + +msgid "Fillet / chamfer / draft / shell / delete face" +msgstr "" + +msgid "Fillet / Chamfer" +msgstr "" + +msgid "Round or bevel a picked edge" +msgstr "" + +msgid "Draft (taper a face)" +msgstr "" + +msgid "Tilt a picked face by a draft angle" +msgstr "" + +msgid "Hollow the body to a wall thickness, opening a picked face" +msgstr "" + +msgid "Delete Face" +msgstr "" + +msgid "Remove faces from a body and heal the solid" +msgstr "" + +msgid "Delete Face needs a body — add or import one first" +msgstr "" + +msgid "(none)" +msgstr "" + +msgid "Hole / thread" +msgstr "" + +msgid "Drill a hole, centred on a picked face or placed on a plane" +msgstr "" + +msgid "Thread" +msgstr "" + +msgid "Thread a cylindrical surface (inner bore / outer) or a circular edge" +msgstr "" + +msgid "Pick a cylindrical surface (bore / outer) or a circular edge for a thread" +msgstr "" + +msgid "Import STEP (editable B-rep solid)" +msgstr "" + +msgid "Import mesh (STL/OBJ) as an editable B-rep solid" +msgstr "" + +msgid "Constrain selected sketch" +msgstr "" + +msgid "SKETCH" +msgstr "" + +msgid "Click to select; Shift to add; double-click for a whole loop" +msgstr "" + +msgid "Dimension" +msgstr "" + +msgid "Click 2 points or a line / circle / arc to place a dimension" +msgstr "" + +msgid "Line / polyline" +msgstr "" + +msgid "Click start, then end — then set the exact length" +msgstr "" + +msgid "Polyline" +msgstr "" + +msgid "Click points; click first / right-click to close the loop" +msgstr "" + +msgid "Corner rectangle" +msgstr "" + +msgid "Click two opposite corners" +msgstr "" + +msgid "Center rectangle" +msgstr "" + +msgid "Click center, then a corner" +msgstr "" + +msgid "Oblique rectangle" +msgstr "" + +msgid "Click two corners of one edge, then a point for the width" +msgstr "" + +msgid "Rounded rectangle" +msgstr "" + +msgid "Click two opposite corners, then a point for the corner radius" +msgstr "" + +msgid "Center circle" +msgstr "" + +msgid "Click center, then radius" +msgstr "" + +msgid "2-point circle" +msgstr "" + +msgid "Click two ends of the diameter" +msgstr "" + +msgid "3-point circle" +msgstr "" + +msgid "Click three points on the circle" +msgstr "" + +msgid "Arc" +msgstr "" + +msgid "3-point arc" +msgstr "" + +msgid "Click start, end, then a point on the arc" +msgstr "" + +msgid "Tangent arc" +msgstr "" + +msgid "Click start (on the last entity) then end" +msgstr "" + +msgid "Center-point arc" +msgstr "" + +msgid "Click center, then start, then a point for the end angle" +msgstr "" + +msgid "Slot" +msgstr "" + +msgid "Click two centerline ends, then a point for the end radius" +msgstr "" + +msgid "Arc slot" +msgstr "" + +msgid "Click center, start, end, then a point for the width" +msgstr "" + +msgid "Ellipse" +msgstr "" + +msgid "Click center, a major-axis end, then a point for the minor axis" +msgstr "" + +msgid "Elliptical arc" +msgstr "" + +msgid "Click center, major-axis end, minor point, then arc start and end" +msgstr "" + +msgid "Spline" +msgstr "" + +msgid "Click control points; double-click or right-click to finish" +msgstr "" + +msgid "Click to place a point" +msgstr "" + +msgid "Select — click to select; Shift to add" +msgstr "" + +msgid "Text — emboss text as a profile" +msgstr "" + +msgid "SVG — import an outline as a profile" +msgstr "" + +msgid "Fillet / chamfer" +msgstr "" + +msgid "Fillet" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the radius to set it" +msgstr "" + +msgid "Chamfer" +msgstr "" + +msgid "Pick two lines, then drag the arrow or click the distance to set it" +msgstr "" + +msgid "Offset" +msgstr "" + +msgid "Pick an entity, then drag the arrow or click the distance; click empty to apply" +msgstr "" + +msgid "Pick a mirror-axis line, then the entities to mirror; click empty to apply" +msgstr "" + +msgid "Trim" +msgstr "" + +msgid "Click a segment to trim it back to its nearest intersection; right-click exits" +msgstr "" + +msgid "Extend" +msgstr "" + +msgid "Click a line or arc to extend it to the nearest entity; right-click exits" +msgstr "" + +msgid "Constrain — add geometric/dimensional relations" +msgstr "" + +msgid "Move / rotate / scale" +msgstr "" + +msgid "Move (translate)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the distance; click empty to apply" +msgstr "" + +msgid "Rotate (about centroid)" +msgstr "" + +msgid "Pick entities, then drag around the pivot or click the angle; click empty to apply" +msgstr "" + +msgid "Scale (about centroid)" +msgstr "" + +msgid "Pick entities, then drag the handle or click the factor; click empty to apply" +msgstr "" + +msgid "Linear / polar array" +msgstr "" + +msgid "Linear array" +msgstr "" + +msgid "Pick entities, drag the spacing handle, click the count; click empty to apply" +msgstr "" + +msgid "Polar array (about centroid)" +msgstr "" + +msgid "Pick entities, drag the sweep handle, click the count; click empty to apply" +msgstr "" + +#, c-format, boost-format +msgid "Click center then a vertex — %d sides, %s" +msgstr "" + +msgid "circumscribed" +msgstr "" + +msgid "inscribed" +msgstr "" + +msgid "Polygon" +msgstr "" + +#, c-format, boost-format +msgid "Converted %d entit%s between construction and real geometry" +msgstr "" + +msgid "CONSTRAIN" +msgstr "" + +msgid "Perpendicular" +msgstr "" + +msgid "Coincident" +msgstr "" + +msgid "Equal length" +msgstr "" + +msgid "Equal radius" +msgstr "" + +msgid "Collinear" +msgstr "" + +msgid "Tangent" +msgstr "" + +msgid "Midpoint" +msgstr "" + +msgid "Symmetric" +msgstr "" + +msgid "Symmetric about the vertical axis" +msgstr "" + +msgid "Symmetric about the horizontal axis" +msgstr "" + +msgid "Fix point (anchor in place)" +msgstr "" + +msgid "Horizontal distance" +msgstr "" + +msgid "Vertical distance" +msgstr "" + +msgid "✓ Confirm" +msgstr "" + +msgid "✗ Cancel" +msgstr "" + +msgid "Undo (Ctrl+Z)" +msgstr "" + +msgid "Redo (Ctrl+Shift+Z)" +msgstr "" + +msgid "New Design — clear the feature tree" +msgstr "" + +msgid "Export STEP…" +msgstr "" + +msgid "Show the printer bed and its plate grid" +msgstr "" + +msgid "Place on Face (F) — lay the picked face on the bed" +msgstr "" + +msgid "Section View — hide part of the model to see inside. PageUp/PageDown move the plane; Delete removes it." +msgstr "" + +msgid "Flip Section — show the opposite half" +msgstr "" + +msgid "Commit to Plate — send the solid to Prepare" +msgstr "" + +msgid "Width / X" +msgstr "" + +msgid "Height / Y" +msgstr "" + +msgid "Distance X" +msgstr "" + +msgid "Distance Y" +msgstr "" + +msgid "Distance Z" +msgstr "" + +msgid "Z" +msgstr "" + +msgid "Rotation axis" +msgstr "" + +msgid "Angle °" +msgstr "" + +msgid "Move / Rotate" +msgstr "" + +msgid "Sketch: —" +msgstr "" + +msgid "Extrude dist" +msgstr "" + +msgid "End" +msgstr "結束" + +msgid "2nd dist" +msgstr "" + +msgid "Taper °" +msgstr "" + +msgid "New body" +msgstr "" + +msgid "Intersect" +msgstr "" + +msgid "Result" +msgstr "" + +msgid "Flip direction" +msgstr "" + +msgid "(no edge picked — group below)" +msgstr "" + +msgid "Bottom" +msgstr "底部" + +msgid "Lateral" +msgstr "" + +msgid "Edges" +msgstr "" + +msgid "Size (r/dist)" +msgstr "" + +msgid "XY" +msgstr "" + +msgid "XZ" +msgstr "" + +msgid "YZ" +msgstr "" + +msgid "Hole plane" +msgstr "" + +msgid "Depth (blind)" +msgstr "" + +msgid "Pos X" +msgstr "" + +msgid "Pos Y" +msgstr "" + +msgid "Through" +msgstr "" + +msgid "(none — uses Hole plane)" +msgstr "" + +msgid "On face" +msgstr "" + +msgid "Thread plane" +msgstr "" + +msgid "Pitch" +msgstr "" + +msgid "Thread depth" +msgstr "" + +msgid "(none — uses Thread plane)" +msgstr "" + +msgid "Plane X" +msgstr "" + +msgid "Plane Y" +msgstr "" + +msgid "Profile: —" +msgstr "" + +msgid "Path" +msgstr "" + +msgid "Linear" +msgstr "" + +msgid "Direction" +msgstr "" + +msgid "Total angle°" +msgstr "" + +msgid "Boolean" +msgstr "" + +msgid "Union (join)" +msgstr "" + +msgid "Subtract (cut)" +msgstr "" + +msgid "Target (kept)" +msgstr "" + +msgid "Keep tool body" +msgstr "" + +msgid "Body" +msgstr "" + +msgid "Insert" +msgstr "" + +msgid "" +"Drag a corner to size, the centre to move.\n" +"Confirm or Cancel in the toolbar above." +msgstr "" + +msgid "Midplane" +msgstr "" + +msgid "Two edges" +msgstr "" + +msgid "Plane type" +msgstr "" + +msgid "Base" +msgstr "" + +msgid "Angle°" +msgstr "" + +msgid "Base X" +msgstr "" + +msgid "Base Y" +msgstr "" + +msgid "Tilt axis" +msgstr "" + +msgid "Pick Face A" +msgstr "" + +msgid "Pick Face B" +msgstr "" + +msgid "Pick Edge A" +msgstr "" + +msgid "Pick Edge B" +msgstr "" + +msgid "Size U" +msgstr "" + +msgid "Size V" +msgstr "" + +msgid "Profiles (check 2+, in order):" +msgstr "" + +msgid "Ruled (straight) sections" +msgstr "" + +msgid "Fills the sketch's closed boundary with a smooth face." +msgstr "" + +msgid "Sheet body" +msgstr "" + +msgid "Offsets a sheet body's shell. Positive = outward, negative = inward." +msgstr "" + +msgid "Thickens a sheet body into a solid. Flip reverses the direction." +msgstr "" + +msgid "(all faces — closed hollow)" +msgstr "" + +msgid "Open face" +msgstr "" + +msgid "Pick a solid face to open it, then set the wall thickness." +msgstr "" + +msgid "Angle (°)" +msgstr "" + +msgid "(pick a side face)" +msgstr "" + +msgid "Draft" +msgstr "" + +msgid "Pick a side face, then set the draft angle. The face pivots about the body base." +msgstr "" + +msgid "Translate X" +msgstr "" + +msgid "Translate Y" +msgstr "" + +msgid "Translate Z" +msgstr "" + +msgid "Rotate axis" +msgstr "" + +msgid "Pivot X" +msgstr "" + +msgid "Pivot Y" +msgstr "" + +msgid "Pivot Z" +msgstr "" + +msgid "Keep original (make a copy)" +msgstr "" + +msgid "Translate and/or rotate the selected body. Rotation is applied about the pivot, then translation follows." +msgstr "" + +msgid "Mirror plane" +msgstr "" + +msgid "Keep original" +msgstr "" + +msgid "Reflect the selected body about a plane. The mirror is always a new body; keeping the original gives you both." +msgstr "" + +msgid "(pick a solid face)" +msgstr "" + +msgid "Pick a solid face and offset it into a new thin body. Not for sheet bodies — use Thicken Surface for those." +msgstr "" + +msgid "Target body" +msgstr "" + +msgid "Entity index" +msgstr "" + +msgid "Grow a thin wall from an open sketch Line entity, fused to the target body. Entity index is the position of the open Line in the sketch." +msgstr "" + +msgid "Source body" +msgstr "" + +msgid "Target plane" +msgstr "" + +msgid "Project the edges of a body onto a plane as sketch entities. Pick a face to project only its edges, or leave the face empty to project the whole body." +msgstr "" + +msgid "Add picked face" +msgstr "" + +msgid "Click a face on the body first, then Add picked face" +msgstr "" + +#, c-format, boost-format +msgid "Face %d is already in the list" +msgstr "" + +msgid "Faces to delete" +msgstr "" + +msgid "Pick a solid face, then click 'Add picked face' to accumulate faces. Confirm to remove all listed faces and heal the solid." +msgstr "" + +msgid "Left-handed" +msgstr "" + +msgid "Taper (°)" +msgstr "" + +msgid "A helical curve (spring path). Use as a sweep path to build springs, coils, or augers." +msgstr "" + +msgid "Two points" +msgstr "" + +msgid "Face normal" +msgstr "" + +msgid "Cylinder centerline" +msgstr "" + +msgid "Plane intersection" +msgstr "" + +msgid "Along edge" +msgstr "" + +msgid "Axis type" +msgstr "" + +msgid "Pick Face" +msgstr "" + +msgid "Pick Edge" +msgstr "" + +msgid "Plane A" +msgstr "" + +msgid "Plane B" +msgstr "" + +msgid "Point 1 X" +msgstr "" + +msgid "Point 1 Y" +msgstr "" + +msgid "Point 1 Z" +msgstr "" + +msgid "Point 2 X" +msgstr "" + +msgid "Point 2 Y" +msgstr "" + +msgid "Point 2 Z" +msgstr "" + +msgid "Point (world)" +msgstr "" + +msgid "Face + direction" +msgstr "" + +msgid "(all)" +msgstr "" + +msgid "Restrict picking to one body — the others go see-through and stop catching clicks" +msgstr "" + +msgid "Edge (sets in-plane direction)" +msgstr "" + +msgid "Without an edge the frame takes X from the face's first edge — pick one to choose it yourself" +msgstr "" + +msgid "X hint X" +msgstr "" + +msgid "X hint Y" +msgstr "" + +msgid "X hint Z" +msgstr "" + +msgid "Fastened — 6 DOF locked, B driven onto A exactly" +msgstr "" + +msgid "Planar — z aligned, offset distance; free in-plane slide" +msgstr "" + +msgid "Revolute — axes collinear; free rotation about z" +msgstr "" + +msgid "Slider — orientation locked; free axial slide" +msgstr "" + +msgid "Cylindrical — axes collinear; free spin + axial slide" +msgstr "" + +msgid "Kind" +msgstr "" + +msgid "CS A (fixed)" +msgstr "" + +msgid "CS B (moves)" +msgstr "" + +msgid "Flip (oppose z axes)" +msgstr "" + +msgid "Plane distance" +msgstr "" + +msgid "Axial position" +msgstr "" + +msgid "Expression" +msgstr "" + +msgid "Field" +msgstr "" + +msgid "Expr" +msgstr "" + +msgid "(no bindings)" +msgstr "" + +msgid "Value" +msgstr "" + +msgid "Constraints" +msgstr "" + +msgid "Feature tree" +msgstr "" + +msgid " — the eye suppresses this mate" +msgstr "" + +#, c-format, boost-format +msgid "%s selected — F2 or right-click renames it, double-click edits it" +msgstr "" + +msgid "Rename\tF2" +msgstr "" + +msgid "Scale artwork" +msgstr "" + +msgid "Move up" +msgstr "" + +msgid "Move down" +msgstr "" + +msgid "Show / hide" +msgstr "" + +msgid "Check interference — find overlapping bodies" +msgstr "" + +msgid "Bodies" +msgstr "" + +msgid "Move body" +msgstr "" + +msgid "Select a body row first, then move it" +msgstr "" + +msgid "Boolean — join, subtract or intersect with another body" +msgstr "" + +msgid "Colour" +msgstr "" + +#, c-format, boost-format +msgid "Body %d selected — right-click for what applies to it" +msgstr "" + +msgid "Variables" +msgstr "" + +msgid "+" +msgstr "" + +msgid "Del" +msgstr "刪除" + +msgid "Sketch created — select it, then right-click to Extrude" +msgstr "" + +msgid "Sketch empty — nothing committed" +msgstr "" + +msgid "Sketch updated" +msgstr "" + +#, c-format +msgid "Sketch created (%zu driving dims) — select it, then right-click to Extrude" +msgstr "" + +msgid "Could not resolve the sketch to extrude" +msgstr "" + +msgid "Face selected — set the depth and Confirm" +msgstr "" + +msgid "Region selected — right-click to Extrude, or double-click to edit" +msgstr "" + +msgid "Sketch selected — right-click to Extrude, or double-click to edit" +msgstr "" + +#, c-format, boost-format +msgid "Face %d" +msgstr "" + +#, c-format, boost-format +msgid "Body %d " +msgstr "" + +msgid "vertex selected — click again for the whole body" +msgstr "" + +msgid "selected (whole body) — right-click for what applies to it" +msgstr "" + +#, c-format, boost-format +msgid "face %d selected — right-click to push/pull it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "edge %d selected — Fillet/Chamfer to dress it, or click again for the whole body" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click for the drawing tools" +msgstr "" + +#, c-format, boost-format +msgid "%s plane selected — right-click to sketch on it, or click an object to select it" +msgstr "" + +#, c-format, boost-format +msgid "placed (%.1f, %.1f, %.1f) mm — drag arrows to move, rings to rotate" +msgstr "" + +msgid "Tool exited" +msgstr "" + +msgid "Sketch kept — Finish to commit it, Cancel to discard" +msgstr "" + +msgid "✗ Conflicting constraints" +msgstr "" + +msgid "✓ Fully constrained" +msgstr "" + +#, c-format, boost-format +msgid "%d degrees of freedom" +msgstr "" + +#, c-format, boost-format +msgid "Sketch %d" +msgstr "" + +#, c-format, boost-format +msgid "Editing: Sketch %d · N = look normal to the plane · Finish or Cancel in the toolbar" +msgstr "" + +#, c-format +msgid "OK — %zu triangles" +msgstr "" + +msgid "Text to insert:" +msgstr "" + +msgid "Import SVG" +msgstr "" + +msgid "Import STEP" +msgstr "" + +msgid "Reading STEP…" +msgstr "" + +msgid "No solids found in STEP" +msgstr "" + +msgid "STEP import failed: " +msgstr "" + +msgid "Rebuilding model…" +msgstr "" + +#, c-format, boost-format +msgid "Imported %d solid(s) — pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +msgid "Import mesh" +msgstr "" + +msgid "Could not read the STL file" +msgstr "" + +msgid "Could not read the OBJ file: " +msgstr "" + +msgid "Unsupported mesh format (STL and OBJ are supported)" +msgstr "" + +msgid "The mesh contains no triangles" +msgstr "" + +#, c-format, boost-format +msgid "" +"This mesh has %d triangles. Every triangle becomes a B-rep face before coplanar merging, so importing it may take a long time and leave a body that is slow to edit. Decimating the mesh first is usually better.\n" +"\n" +"Import anyway?" +msgstr "" + +msgid "Large mesh" +msgstr "" + +msgid "Mesh conversion failed: " +msgstr "" + +msgid "Mesh conversion produced no geometry" +msgstr "" + +msgid "Mesh import failed: " +msgstr "" + +#, c-format, boost-format +msgid "Imported solid — %d triangles → %d faces, volume %.2f mm³. Pick a face or edge, then Fillet / Cut / Shell to modify" +msgstr "" + +#, c-format, boost-format +msgid "Imported as an open shell (not watertight): %d boundary edge(s), %d non-manifold edge(s) — %d triangles → %d faces. The source mesh has holes or duplicated geometry; boolean features may fail on it" +msgstr "" + +msgid "No importable geometry found" +msgstr "" + +#, c-format, boost-format +msgid "%s added to the sketch — Confirm to commit it" +msgstr "" + +msgid " — drag to place/size, then Confirm" +msgstr "" + +msgid "Insert cancelled" +msgstr "" + +msgid "Drag a corner to scale, the centre to move — right-click when done" +msgstr "" + +#, c-format, boost-format +msgid "Sketch added on %s — select it, then right-click to Extrude" +msgstr "" + +msgid "Recompute error: " +msgstr "" + +msgid "Add a solid (sketch + extrude) first" +msgstr "" + +#, c-format, boost-format +msgid "Edge %d" +msgstr "" + +#, c-format, boost-format +msgid "Thread standard: %s (pitch %.3g mm)" +msgstr "" + +msgid "Thread needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to revolve first" +msgstr "" + +msgid "Revolve needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a profile sketch to sweep first" +msgstr "" + +msgid "Pick a path sketch for the sweep" +msgstr "" + +msgid "Sweep needs a solid body — add or import one first" +msgstr "" + +msgid "Check at least two profile sketches to loft" +msgstr "" + +msgid "Loft needs a solid body — add or import one first" +msgstr "" + +msgid "Pick a sketch profile to extrude first" +msgstr "" + +msgid "Pick a sketch to fill first" +msgstr "" + +msgid "Select a sheet body first" +msgstr "" + +msgid "Pick a solid face to thicken first" +msgstr "" + +msgid "Pick a sketch with an open line first" +msgstr "" + +msgid "Add at least one face to delete first" +msgstr "" + +msgid "Mate needs two CoordSys features — create them first" +msgstr "" + +msgid "Mate: CS A and CS B must be different CoordSys features" +msgstr "" + +msgid "Mate rejected" +msgstr "" + +msgid "No interference — need at least two solid bodies to check" +msgstr "" + +msgid "No interference found" +msgstr "" + +#, c-format +msgid "%zu interference pairs, worst %.2f mm³" +msgstr "" + +msgid "" +"Interference pairs:\n" +"\n" +msgstr "" + +#, c-format, boost-format +msgid "Body %d" +msgstr "" + +msgid "Interference" +msgstr "" + +msgid "Select a solid body first — its mass properties are what is reported" +msgstr "" + +msgid "Mass properties could not be computed for this body" +msgstr "" + +#, c-format, boost-format +msgid "%s: sheet body — %.2f cm² of surface, no volume" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Sheet body (open shell)\n" +"Surface area: %.2f cm²\n" +"\n" +"A sheet encloses no material, so it has no volume. Thicken it into a solid to get one." +msgstr "" + +msgid "Mass properties" +msgstr "" + +#, c-format, boost-format +msgid "%s: %.3f cm³, %.2f cm²" +msgstr "" + +#, c-format, boost-format +msgid "" +"%s\n" +"\n" +"Volume: %.3f cm³\n" +"Surface area: %.2f cm²" +msgstr "" + +msgid "Pattern needs a solid body — add or import one first" +msgstr "" + +msgid "Boolean needs two solid bodies — add or import a second one" +msgstr "" + +msgid "Cut needs a solid body — add or import one first" +msgstr "" + +#, c-format, boost-format +msgid "the picked face of Body %d" +msgstr "" + +msgid "the picked face" +msgstr "" + +#, c-format, boost-format +msgid " · %d picked" +msgstr "" + +#, c-format, boost-format +msgid "%d selected · Del removes them · Shift-click adds · double-click takes the whole loop" +msgstr "" + +msgid "Select — click an entity to pick it · drag an endpoint or centre to move it · Shift-click adds · Del removes" +msgstr "" + +#, c-format, boost-format +msgid "%d picked · now choose a constraint (Horizontal, Parallel, Tangent, Equal…)" +msgstr "" + +msgid "Constrain — click one or two entities, then choose a constraint" +msgstr "" + +msgid "Dimension — click an entity, or the first of two points" +msgstr "" + +msgid "Dimension — click the second point" +msgstr "" + +msgid "Line — click the start point" +msgstr "" + +msgid "Line — click the end point, or type the length" +msgstr "" + +msgid "Polyline — click the first point" +msgstr "" + +msgid "Polyline — click the next point · click the start point to close it · right-click to end the chain" +msgstr "" + +msgid "Rectangle — click one corner" +msgstr "" + +msgid "Rectangle — click the opposite corner" +msgstr "" + +msgid "Centre rectangle — click the centre" +msgstr "" + +msgid "Centre rectangle — click a corner" +msgstr "" + +msgid "Oblique rectangle — click the start of the base edge" +msgstr "" + +msgid "Oblique rectangle — click the end of the base edge (this sets the angle)" +msgstr "" + +msgid "Oblique rectangle — click to set the width" +msgstr "" + +msgid "Rounded rectangle — click one corner" +msgstr "" + +msgid "Rounded rectangle — click the opposite corner" +msgstr "" + +msgid "Rounded rectangle — click to set the corner radius" +msgstr "" + +msgid "Circle — click the centre" +msgstr "" + +msgid "Circle — click to set the radius, or type it" +msgstr "" + +msgid "Circle (2 points) — click one end of the diameter" +msgstr "" + +msgid "Circle (2 points) — click the other end of the diameter" +msgstr "" + +msgid "Circle (3 points) — click the first point on the circle" +msgstr "" + +msgid "Circle (3 points) — click the second point" +msgstr "" + +msgid "Circle (3 points) — click the third point" +msgstr "" + +msgid "Arc — click the start point" +msgstr "" + +msgid "Arc — click the end point" +msgstr "" + +msgid "Arc — click a point the arc passes through" +msgstr "" + +msgid "Tangent arc — click the endpoint it leaves from" +msgstr "" + +msgid "Tangent arc — click its far end" +msgstr "" + +msgid "Centre arc — click the centre" +msgstr "" + +msgid "Centre arc — click the start point (this sets the radius)" +msgstr "" + +msgid "Centre arc — click the end point" +msgstr "" + +msgid "Slot — click one end of the centreline" +msgstr "" + +msgid "Slot — click the other end of the centreline" +msgstr "" + +msgid "Slot — click to set the width" +msgstr "" + +msgid "Arc slot — click the centre the slot curves about" +msgstr "" + +msgid "Arc slot — click the start of the centreline (this sets the radius)" +msgstr "" + +msgid "Arc slot — click the end of the centreline" +msgstr "" + +msgid "Arc slot — click to set the width" +msgstr "" + +msgid "Polygon — click the centre" +msgstr "" + +msgid "Polygon — click a vertex (this sets size and orientation)" +msgstr "" + +msgid "Ellipse — click the centre" +msgstr "" + +msgid "Ellipse — click the end of the major axis" +msgstr "" + +msgid "Ellipse — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click the centre" +msgstr "" + +msgid "Elliptical arc — click the end of the major axis" +msgstr "" + +msgid "Elliptical arc — click a point on the minor axis" +msgstr "" + +msgid "Elliptical arc — click where the arc starts" +msgstr "" + +msgid "Elliptical arc — click where the arc ends" +msgstr "" + +msgid "Spline — click the first control point" +msgstr "" + +msgid "Spline — click the next control point · right-click to finish the curve" +msgstr "" + +msgid "Point — click to place one; the tool stays armed for more" +msgstr "" + +msgid "Trim — click a segment where it crosses another entity · right-click to exit" +msgstr "" + +msgid "Extend — click a line or arc to grow it out to the nearest entity · right-click to exit" +msgstr "" + +msgid "Fillet — click the first of two lines that meet" +msgstr "" + +msgid "Fillet — click the second line" +msgstr "" + +msgid "Fillet — drag the arrow, or click the number to type the radius · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Chamfer — click the first of two lines that meet" +msgstr "" + +msgid "Chamfer — click the second line" +msgstr "" + +msgid "Chamfer — drag the arrow, or click the number to type the setback · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Offset — click the entity to offset" +msgstr "" + +msgid "Offset — drag the arrow to either side, or click the number to type the distance · click empty space to apply · right-click cancels" +msgstr "" + +msgid "Mirror — first click the LINE to mirror about (a construction line works)" +msgstr "" + +msgid "Mirror — axis set · now click the entities to mirror · right-click cancels" +msgstr "" + +#, c-format, boost-format +msgid "Mirror — axis set · %d to mirror · click another to add or remove it · click empty space to apply" +msgstr "" + +msgid "Move — click the entities to move" +msgstr "" + +msgid "Move — drag the handle, or click the number to type the distance · click empty space to apply" +msgstr "" + +msgid "Rotate — click the entities to rotate" +msgstr "" + +msgid "Rotate — drag the handle, or click the number to type the angle · click empty space to apply" +msgstr "" + +msgid "Scale — click the entities to scale" +msgstr "" + +msgid "Scale — drag the handle, or click the number to type the factor · click empty space to apply" +msgstr "" + +msgid "Array — click the entities to repeat" +msgstr "" + +msgid "Array — drag the handle to set the step, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Polar array — click the entities to repeat" +msgstr "" + +msgid "Polar array — drag the handle to set the sweep, click the count to type it · click empty space to apply" +msgstr "" + +msgid "Drag a corner to scale, the centre to move · right-click when done" +msgstr "" + +msgid " · Esc goes back to Select" +msgstr "" + +msgid " · click a constraint badge to remove it" +msgstr "" + +msgid "select something first" +msgstr "" + +#, c-format, boost-format +msgid "Mate: %s → %s" +msgstr "" + +msgid "Fastened" +msgstr "" + +msgid "Revolute" +msgstr "" + +msgid "Slider" +msgstr "" + +msgid "Cylindrical" +msgstr "" + +msgid "Click a solid FACE in the viewport" +msgstr "" + +msgid "Click a solid EDGE in the viewport" +msgstr "" + +msgid "An angled plane needs an edge to tilt about — pick Edge A" +msgstr "" + +msgid "A midplane needs two faces — pick Face A and Face B" +msgstr "" + +msgid "Face A and Face B are the same face — a midplane needs two different faces" +msgstr "" + +msgid "A tangent plane needs a cylindrical face — pick Face A" +msgstr "" + +msgid "This plane needs two edges — pick Edge A and Edge B" +msgstr "" + +msgid "Plane added — pick it as a sketch plane" +msgstr "" + +msgid "Axis added" +msgstr "" + +msgid "Coord Sys added" +msgstr "" + +msgid "Shell needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a solid body — add or import one first" +msgstr "" + +msgid "Draft needs a picked face — click a side face first" +msgstr "" + +msgid "" +"Nothing yet — import a STEP or a mesh from the toolbar,\n" +"or click a reference plane and right-click it to start a sketch." +msgstr "" + +msgid "No solid yet — select a sketch and right-click it to Extrude." +msgstr "" + +msgid "Could not restore the CAD model from this project" +msgstr "" + +msgid "Could not restore the CAD model: " +msgstr "" + +#, c-format +msgid "Body %zu — %s" +msgstr "" + +msgid "Section view on — hides half the model to see inside; PageUp / PageDown move the plane, Flip shows the other half" +msgstr "" + +msgid "Section view off" +msgstr "" + +#, c-format, boost-format +msgid "Section view — showing the %s half" +msgstr "" + +msgid "upper" +msgstr "" + +msgid "lower" +msgstr "" + +msgid "Boolean needs two bodies — create or import a second solid" +msgstr "" + +msgid "Select a body first — click it in the viewport or the Bodies list" +msgstr "" + +msgid "That body has no display mesh yet — recompute first" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — then Confirm (Esc cancels)" +msgstr "" + +msgid "Drag the arrows to move, the rings to rotate — the numbers follow" +msgstr "" + +msgid "Select a body first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d colour set" +msgstr "" + +msgid "Click a face on the solid, then press F" +msgstr "" + +msgid "Placed on face — body laid flat on the bed" +msgstr "" + +msgid "Edit rejected: " +msgstr "" + +msgid "Erase all features and bodies and start a new design? This cannot be undone." +msgstr "" + +msgid "New Design" +msgstr "" + +msgid "This body has no feature to delete — use New Design to start over" +msgstr "" + +#, c-format, boost-format +msgid "feature %d" +msgstr "" + +#, c-format, boost-format +msgid "" +"Delete %s?\n" +"\n" +"That is the feature this body was made from. Features built on it may be removed or stop working." +msgstr "" + +msgid "Delete body" +msgstr "" + +msgid "Select the FEATURE that created this body (or use New Design)" +msgstr "" + +msgid "Select a feature in the tree first" +msgstr "" + +#, c-format, boost-format +msgid "Body %d shown" +msgstr "" + +#, c-format, boost-format +msgid "Body %d hidden" +msgstr "" + +msgid "Feature shown" +msgstr "" + +msgid "Feature hidden" +msgstr "" + +msgid "Draw a sketch first, then Constrain" +msgstr "" + +msgid "Select a sketch in the tree first" +msgstr "" + +msgid "Selected feature is not a sketch" +msgstr "" + +msgid "Pick 1-2 lines, then a constraint; right-click exits" +msgstr "" + +msgid "Pick 1-2 entities, then a constraint or dimension; right-click exits" +msgstr "" + +msgid "Pick an entity first" +msgstr "" + +msgid "Pick two entities first" +msgstr "" + +msgid "Horizontal and Vertical apply to a line" +msgstr "" + +msgid "Angle applies between two lines" +msgstr "" + +msgid "Collinear needs two lines" +msgstr "" + +msgid "Parallel, perpendicular and equal length apply to two lines" +msgstr "" + +msgid "Equal radius needs two circles or arcs" +msgstr "" + +msgid "Concentric needs two circles or arcs" +msgstr "" + +msgid "Tangent needs a line and a circle/arc, or two circles/arcs" +msgstr "" + +msgid "This constraint needs two entities with a point to join" +msgstr "" + +msgid "This dimension needs two entities with a point to measure between" +msgstr "" + +msgid "Midpoint needs a point and a line" +msgstr "" + +msgid "Symmetric needs two points or two lines + an axis" +msgstr "" + +msgid "Symmetric needs two points or two lines" +msgstr "" + +msgid "Symmetric: pick two entities, then an axis line" +msgstr "" + +msgid "Radius/Diameter needs a circle or arc" +msgstr "" + +msgid "Unsupported constraint" +msgstr "" + +msgid "Constraint rejected (over-constrained)" +msgstr "" + +msgid "Applied constraint · its badge is on the sketch — click the badge to remove it" +msgstr "" + +#, c-format, boost-format +msgid "%s — %d selected. Press Esc for the Select tool, click one line, then Shift- or Ctrl-click the other." +msgstr "" + +msgid "Applied constraint" +msgstr "" + +#, c-format, boost-format +msgid "Fix %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock X %s" +msgstr "" + +#, c-format, boost-format +msgid "Lock Y %s" +msgstr "" + +msgid "Equal" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric %s — %s / %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about Y axis %s — %s" +msgstr "" + +#, c-format, boost-format +msgid "Symmetric about X axis %s — %s" +msgstr "" + +msgid "On line" +msgstr "" + +msgid "On edge" +msgstr "" + +msgid "Constraint" +msgstr "" + +#, c-format, boost-format +msgid "Constraints (%d)" +msgstr "" + +msgid "No constraints yet" +msgstr "" + +msgid "Delete constraint" +msgstr "" + +msgid "Constraint deleted" +msgstr "" + +msgid "Press Constrain on a sketch first" +msgstr "" + +msgid "Pick the entity, then a mirror-axis line" +msgstr "" + +msgid "Mirror axis must be a line" +msgstr "" + +msgid "Mirror produced nothing" +msgstr "" + +msgid "Offset distance (+left / -right of direction)" +msgstr "" + +msgid "Offset collapsed the entity" +msgstr "" + +msgid "Pick two lines to fillet" +msgstr "" + +msgid "Fillet needs two lines" +msgstr "" + +msgid "Fillet radius" +msgstr "" + +msgid "Fillet failed (parallel lines or radius too large)" +msgstr "" + +msgid "Pick two lines to chamfer" +msgstr "" + +msgid "Chamfer needs two lines" +msgstr "" + +msgid "Chamfer distance" +msgstr "" + +msgid "Chamfer failed (parallel lines or distance too large)" +msgstr "" + +msgid "Trim works on lines, arcs and circles" +msgstr "" + +msgid "Extend works on lines and arcs" +msgstr "" + +msgid "Pick the edge to trim/extend" +msgstr "" + +msgid "Nothing to trim at the pick" +msgstr "" + +msgid "No edge to extend to" +msgstr "" + +msgid "Array count (incl. original)" +msgstr "" + +msgid "Spacing (mm)" +msgstr "" + +msgid "Array produced nothing" +msgstr "" + +msgid "Move dX (mm)" +msgstr "" + +msgid "Move dY (mm)" +msgstr "" + +msgid "Move produced nothing" +msgstr "" + +msgid "Rotate angle (deg)" +msgstr "" + +msgid "Rotate produced nothing" +msgstr "" + +msgid "Scale factor" +msgstr "" + +msgid "Scale produced nothing" +msgstr "" + +msgid "Polar count (incl. original)" +msgstr "" + +msgid "Total sweep (deg)" +msgstr "" + +msgid "Polar array produced nothing" +msgstr "" + +msgid "Applied edit" +msgstr "" + +msgid " — type a value, press Enter (or Confirm)" +msgstr "" + +msgid "Pick a segment in the viewport first" +msgstr "" + +msgid "Applied Horizontal" +msgstr "" + +msgid "Applied Vertical" +msgstr "" + +msgid "Sketch: " +msgstr "" + +#, c-format, boost-format +msgid "On a face of Body %d" +msgstr "" + +msgid "On a stored face" +msgstr "" + +msgid "Editing sketch — drag a handle or click a quote to edit" +msgstr "" + +msgid "An imported solid has no parameters — use Transform to move or rotate it" +msgstr "" + +msgid "This feature type can't be edited yet" +msgstr "" + +msgid "Nothing to export — add a feature first" +msgstr "" + +msgid "Export STEP" +msgstr "" + +msgid "Exported STEP" +msgstr "" + +msgid "STEP export failed: " +msgstr "" + +msgid "Nothing to commit — add a feature first" +msgstr "" + +msgid "All bodies hidden — show one before committing" +msgstr "" + +msgid "Plane ready" +msgstr "" + +msgid "Axis ready" +msgstr "" + +msgid "Coord Sys ready" +msgstr "" + +msgid "Helix ready" +msgstr "" + +msgid "Project ready" +msgstr "" + +msgid "Sketch ready" +msgstr "" + +msgid "Mate needs at least two CoordSys features" +msgstr "" + +msgid "Mate: CS A and CS B must be different" +msgstr "" + +msgid "Mate ready" +msgstr "" + +msgid "Invalid: " +msgstr "" + +#, c-format +msgid "Preview — %zu triangles" +msgstr "" + +#, c-format, boost-format +msgid "Body %d — moved (%.1f, %.1f, %.1f) mm, rotated %.1f°" +msgstr "" + +msgid "Profile: " +msgstr "" + +#, c-format, boost-format +msgid "Face %d (push/pull)" +msgstr "" + +msgid "Move cancelled" +msgstr "" + +msgid "Discard this sketch and everything drawn in it?" +msgstr "" + +msgid "Discard sketch" +msgstr "" + +msgid "Keep drawing" +msgstr "" + +msgid "Finish or cancel the current tool first (Esc)" +msgstr "" + +msgid "Nothing to redo" +msgstr "" + +msgid "Nothing to undo" +msgstr "" + +#, c-format +msgid "Redo (%zu more)" +msgstr "" + +#, c-format +msgid "Undo (%zu more)" +msgstr "" + +msgid "Variable name:" +msgstr "" + +msgid "Add Variable" +msgstr "" + +msgid "Variable name must not contain spaces" +msgstr "" + +#, c-format, boost-format +msgid "Expression for '%s':" +msgstr "" + +msgid "Select a variable first" +msgstr "" + +msgid "Edit Variable" +msgstr "" + +#, c-format, boost-format +msgid "Variable '%s' could not be removed (likely still referenced by a feature expression): %s" +msgstr "" + +msgid "No binding for that field" +msgstr "" + +msgid "Primitive" +msgstr "" + +msgid "Empty mesh generated" +msgstr "" + +msgid "Pocket (Cut)" +msgstr "" + +msgid "Clear All" +msgstr "" + #: resources/data/hints.ini: [hint:Precise wall] msgid "" "Precise wall\n" @@ -21836,8 +24501,9 @@ msgstr "" "避免翹曲\n" "您知道嗎?當列印容易翹曲的材料(如 ABS)時,適當提高熱床溫度可以降低翹曲的機率。" -#~ msgid "Other" -#~ msgstr "其他" +# AI Translated +#~ msgid "Open actions speed dial" +#~ msgstr "開啟操作快捷選單" # AI Translated #~ msgid "Left: " @@ -21980,9 +24646,6 @@ msgstr "" #~ msgid "Print order within a single layer." #~ msgstr "每一層的列印順序" -#~ msgid "Bottom" -#~ msgstr "底部" - #~ msgid "Front" #~ msgstr "前面" @@ -21995,9 +24658,6 @@ msgstr "" #~ msgid "Esc" #~ msgstr "Esc" -#~ msgid "Del" -#~ msgstr "刪除" - #~ msgid "Backspace" #~ msgstr "Backspace" @@ -22013,9 +24673,6 @@ msgstr "" #~ msgid "Arrow Right" #~ msgstr "右箭頭" -#~ msgid "End" -#~ msgstr "結束" - #~ msgid "Hotend" #~ msgstr "熱端" diff --git a/resources/images/action_default.svg b/resources/images/action_default.svg new file mode 100644 index 0000000000..118f4792a6 --- /dev/null +++ b/resources/images/action_default.svg @@ -0,0 +1,2 @@ + + diff --git a/resources/web/dialog/SpeedDial/index.html b/resources/web/dialog/SpeedDial/index.html index 95a34b377a..a9070b972e 100644 --- a/resources/web/dialog/SpeedDial/index.html +++ b/resources/web/dialog/SpeedDial/index.html @@ -19,7 +19,10 @@ - + + + + @@ -27,6 +30,7 @@
+ diff --git a/resources/web/dialog/SpeedDial/speeddial.js b/resources/web/dialog/SpeedDial/speeddial.js index 65f64b4399..c5caf0d423 100644 --- a/resources/web/dialog/SpeedDial/speeddial.js +++ b/resources/web/dialog/SpeedDial/speeddial.js @@ -1,267 +1,852 @@ // Speed Dial launcher page. Static-safe module: no DOM access at load time so a -// node vm can exercise the pure helpers (filterActions / actionLabel / nextSel). +// node vm can exercise the pure helpers (searchActions / filterTabs / actionLabel / nextSel / +// commandList / commandSections / actionCategory / groupActions / favDigitFromEvent / spacerHeight). +// +// Cross-boundary contracts (keep in sync; the C++ side pins its half in tests): +// - favourite cap 10 -> ActionRegistry::kFavLimit (K_FAV_LIMIT here) +// - mode rank simple ConfigOptionMode order (MODE_RANK here) +// - action.mode token -> ActionRegistry::mode_key / SpeedDialDialog::mode_label +// - action.input "percent"/"tab" -> NativeCommands catalog (phases handled in activateEntry) +// - action.icon SVG base name -> AppAction::icon / resources/images/.svg +// - action.desc/wiki -> AppAction::tooltip / help_url (footer detail strip) +// - payload.tooltip_expanded -> ActionRegistry::tooltip_expanded (persisted footer state) +// - action list is frecency-sorted -> ActionRegistry::snapshot() // ---- state (populated by the C++ bridge via window.HandleStudio) ---- -var ACTIONS = []; // [{id,title,source,shortcut}], already frecency-sorted by C++ +var ACTIONS = []; // [{id,title,source,group,kind,input,icon,mode}], already frecency-sorted by C++ var FAVS = []; // [id...] +var RECENTS = []; // [{id,title,source,group,kind,input,icon,mode}] - last-N launched var query = ""; var sel = { zone: "list", i: 0 }; // zone: 'list' | 'fav' -var lastResizeHeight = 0; var matchIndex = {}; -// why: fuzzy matcher (FoldChar/Norm/FuzzyRanges) lives in shared ../../js/fuzzy-search.js, loaded before -// this script - it is shared with the Plugins dialog. Speed dial search is always case-insensitive. +// Global tooltip expansion, seeded from C++ (persisted in the speed_dial config section). Collapsing +// hides the footer description + wiki link for every action; the arrow remains to expand again. +var TOOLTIP_EXPANDED = true; -// element handles, assigned in OnInit (kept null so load-time touches no DOM) -var qEl = null, listEl = null, favEl = null, clearEl = null, eyeEl = null, countEl = null; +// The user's current settings mode (from the C++ payload) plus the rank order of the modes. Each +// action carries the mode it requires, so "would this need a switch?" is a rank comparison. +var USER_MODE = "simple"; +var MODE_RANK = { simple: 0, advanced: 1, expert: 2, develop: 3 }; -// ---- pure helpers (no DOM; unit-tested) ------------------------------------- -function filterActions(actions, query) { - var q = (query || "").trim(); - var list = actions || []; - matchIndex = {}; - if (!q) - return list.slice(0); +// Search ranking weights: every contiguous match must outrank every fuzzy one regardless of field, +// and title must outrank group, which outranks source. +var SCORE_CONTIGUOUS = 100000; +var SCORE_TITLE = 2000; +var SCORE_GROUP = 1000; +// A whole-query match in a single field must outrank any multi-token match distributed across fields. +// Larger than the largest plausible sum of per-token scores (SCORE_CONTIGUOUS * token count). +var SCORE_PHRASE = 10000000; - var out = []; - for (var i = 0; i < list.length; i++) { - var a = list[i]; - var titleMatch = FuzzyRanges(a.title, q, false); - var sourceMatch = FuzzyRanges(a.source, q, false); - if (!titleMatch && !sourceMatch) - continue; - matchIndex[a.id] = { title: titleMatch, source: sourceMatch, useTitle: !!titleMatch }; - out.push(a); - } - return out; +// Localized lookup for strings this page builds at runtime. The host injects the translated table +// as a document-start user script (SpeedDialWebDialog::add_user_scripts); the English literal is a +// fallback for the node vm test / before the injection runs. Extra args replace successive %s +// placeholders; %% collapses to a literal % (the C++ table escapes percent signs for gettext). +var UI_STRINGS = (typeof ORCA_UI_STRINGS !== "undefined" && ORCA_UI_STRINGS) || {}; + +function T(key, fallback) { + var s = UI_STRINGS[key] !== undefined ? UI_STRINGS[key] : fallback; + for (var i = 2; i < arguments.length; i++) + s = s.replace("%s", arguments[i]); + return s.split("%%").join("%"); } +// Platform shortcut prefixes ("Alt+"/"⌥+", "Ctrl+"/"⌘+"), injected alongside the strings. +function shortcutAlt() { return UI_STRINGS.shortcut_alt || "Alt+"; } +function shortcutCtrl() { return UI_STRINGS.shortcut_ctrl || "Ctrl+"; } + +// ---- windowed list render ---------------------------------------------------- +// The command list is rendered in windows (append-on-scroll) so a huge settings pool doesn't build +// the whole DOM per keystroke. Rows are exactly ROW_H tall (matches .row min-height 44px; see --row-h, +// which is documented to stay in sync). `renderEnd` is the exclusive count of rows currently in the DOM; +// a bottom spacer fills the rest of the list so the scrollbar reflects the full match count and +// "scroll past the last rendered row" reveals the next window. +var K_ROWS = 50; +var ROW_H = 44; +var renderEnd = 0; +var builtKey = ""; // phase|query|total - when it changes, rows are rebuilt from the first window [0, K_ROWS) +var spacerEl = null; // the trailing height spacer, always the last child of listEl + +// Section headers in the empty-query list ("Recent" then one per category). sectionStarts maps a flat +// action index to the header label that sits above it. sectionTotal/Rendered count headers so the +// bottom spacer reserves the same vertical space the not-yet-rendered headers will occupy. +var SECTION_H = 30; // MUST match .dial-section height (30px) +var sectionStarts = null; +var sectionTotal = 0; +var sectionRendered = 0; + +// search-cache: the normalized (folded+lowercased) needle for the current query pass, plus the +// whitespace-separated tokens and their compiled whole-word regexes for the multi-token path. +var searchNeedle = ""; +var searchTokens = []; +var searchTokenRes = []; + +// Palette phase: 'commands' (one unified search over actions/commands/settings, recents on empty +// query), 'percent' ("Go to layer" second phase: enter a 0-100 percentage), 'tab' ("Go to tab..." +// second phase: pick a notebook tab). +var phase = "commands"; +var tabOptions = []; // [{id,title}] - notebook pages, fetched on entering the tab phase + +// why: the fuzzy matcher (NormText/FuzzyRangesNorm) lives in shared +// ../../js/fuzzy-search.js, loaded before this script. Search is always case-insensitive. + +// element handles, assigned in OnInit (kept null so load-time touches no DOM) +var qEl = null, listEl = null, favEl = null, clearEl = null, eyeEl = null, countEl = null, detailEl = null; +var ghostEl = null, ghostTypedEl = null, ghostSuffixEl = null; +// The completion currently offered as ghost text ({suffix, word, id}), or null. Tab accepts it. +var activeCompletion = null; + +// ---- pure helpers (no DOM; unit-tested) ------------------------------------- +// Pre-normalized haystacks, cached on the action object. The fold is length-preserving (1:1 per +// char) so the ranges FuzzyRangesNorm returns slice the ORIGINAL title/group/source text correctly. +// The action objects arrive from C++ and are stable for the dialog's lifetime, so we compute these once. +function titleNorm(a) { + if (a._tn === undefined) + a._tn = NormText(a.title, false); + return a._tn; +} +// The eyebrow (header) line shows group when present, else source. Settings keep an empty group so +// their source path is the eyebrow; commands / plates / recents carry a non-empty group. Splitting the +// two lets a match range stay aligned to whichever string the eyebrow actually renders. +function groupNorm(a) { + if (a._gn === undefined) + a._gn = NormText(a.group || "", false); + return a._gn; +} +function sourceNorm(a) { + if (a._sn === undefined) + a._sn = NormText(a.source || "", false); + return a._sn; +} +// Search-only alias for the descriptive name when the title differs (e.g. "Reverse on even" vs +// "Overhang reversal"). Never rendered, so no highlight ranges. +function fullNorm(a) { + if (a._fn === undefined) + a._fn = NormText(a.full_label || "", false); + return a._fn; +} + +// Match one pre-normalized field vs one pre-normalized needle. Returns {score, ranges, contiguous} +// when the needle is present, else null. wwRe is a compiled whole-word (\b-bounded) regex for the +// needle. A whole-word hit is preferred - it highlights the full word (e.g. "orient" in "Auto-Orient", +// not the stray "o" of "Auto") and marks a perfect match. Otherwise FuzzyRangesNorm (which prefers the +// most-contiguous run) is used. score is higher for an earlier start and fewer gaps; contiguous marks +// a perfect match - the whole needle landed as one unbroken run. +function fieldMatchScore(norm, needle, wwRe) { + if (!needle) return null; + if (wwRe) { + var m = wwRe.exec(norm || ""); + if (m) + return { score: 1000 - m.index * 10, ranges: [[m.index, m.index + m[0].length]], contiguous: true }; + } + var r = FuzzyRangesNorm(norm || "", needle); + if (!r) return null; + var gaps = 0, len = 0; + for (var i = 0; i < r.length; i++) { + if (i > 0) + gaps += r[i][0] - r[i - 1][1]; + len += r[i][1] - r[i][0]; + } + return { score: 1000 - r[0][0] * 10 - gaps * 10, ranges: r, contiguous: r.length === 1 && len === needle.length }; +} + +// Split a query into normalized (folded+lowercased) whitespace-separated tokens. Empty for a blank +// query. These drive the multi-token path: every token must match some field, but different tokens +// may match different fields (the title, the group, or the source breadcrumb). +function queryTokens(query) { + var norm = NormText(String(query || "").trim(), false); + return norm ? norm.split(/\s+/).filter(Boolean) : []; +} + +// Whole-word regex for one normalized token, same shape fieldMatchScore expects. +function tokenWordRe(token) { + return new RegExp("\\b" + EscapeRegExp(token) + "\\b"); +} + +// One token's best match across an action's searchable fields, keeping per-field ranges for +// highlighting. Returns {score, title, group, source}, or null if no field matches. +function tokenMatch(a, token, wwRe) { + var t = fieldMatchScore(titleNorm(a), token, wwRe); + var g = fieldMatchScore(groupNorm(a), token, wwRe); + var s = fieldMatchScore(sourceNorm(a), token, wwRe); + var f = fieldMatchScore(fullNorm(a), token, wwRe); + if (!t && !g && !s && !f) return null; + var score = Math.max( + t ? (t.contiguous ? SCORE_CONTIGUOUS : 0) + SCORE_TITLE + t.score : -Infinity, + g ? (g.contiguous ? SCORE_CONTIGUOUS : 0) + SCORE_GROUP + g.score : -Infinity, + s ? (s.contiguous ? SCORE_CONTIGUOUS : 0) + s.score : -Infinity, + f ? (f.contiguous ? SCORE_CONTIGUOUS : 0) + f.score : -Infinity + ); + return { score: score, title: t ? t.ranges : null, group: g ? g.ranges : null, source: s ? s.ranges : null }; +} + +// Merge per-field token ranges into sorted, coalesced ranges for highlighting. Overlapping or adjacent +// runs (the same word matched by two tokens) collapse to one span. Null when nothing matched. +function mergeRanges(ranges) { + var flat = []; + (ranges || []).forEach(function (rs) { + if (rs) rs.forEach(function (r) { flat.push([r[0], r[1]]); }); + }); + if (!flat.length) return null; + flat.sort(function (a, b) { return a[0] - b[0] || a[1] - b[1]; }); + var out = [flat[0].slice()]; + for (var i = 1; i < flat.length; i++) { + var last = out[out.length - 1]; + if (flat[i][0] <= last[1]) + last[1] = Math.max(last[1], flat[i][1]); + else + out.push(flat[i].slice()); + } + return out; +} + +// Combine per-field scores into one value, or null when nothing matched. +// Ranking: contiguous > fuzzy, then title > group > source/full alias, then start/gaps. +function scoreFields(t, g, s, f) { + var best = null; + function consider(m, weight) { + if (!m) return; + var v = (m.contiguous ? SCORE_CONTIGUOUS : 0) + weight + m.score; + best = best === null ? v : Math.max(best, v); + } + consider(t, SCORE_TITLE); + consider(g, SCORE_GROUP); + consider(s, 0); + consider(f, 0); + return best; +} + +// The unified main-phase search: every action (command/plugin/setting) matching the query, ranked +// by relevance (not by action type). Sets matchIndex so rows highlight their match ranges. The query +// is normalized ONCE per pass - FuzzyRangesNorm then runs against each action's pre-normalized +// haystack, so per-keystroke cost is a cheap scan (no per-char normalize/regex). +// +// Two match modes, phrase preferred: +// - phrase: the whole trimmed query as one ordered subsequence in a SINGLE field (as before). +// - tokens: every whitespace-separated word must match SOME field, but different words may match +// different fields. This is what lets "speed acceleration inner" find "Inner wall" whose path is +// "Process : Speed : Acceleration" (title + source breadcrumb together). +// full_label is searchable too but never highlighted, since it is not rendered. +// A phrase match always outranks a distributed token match. +function searchActions(actions, query) { + var q = (query || "").trim(); + var list = actions || []; + matchIndex = {}; + if (!q) { searchNeedle = ""; searchTokens = []; searchTokenRes = []; return list.slice(0); } + searchNeedle = NormText(q, false); + searchTokens = queryTokens(q); + searchTokenRes = searchTokens.map(tokenWordRe); + // Mode keywords ("advanced"/"expert"/"developer") are a union, not a filter: the normal text + // search still runs on the full query, and every setting requiring a named mode is appended. + var modes = modeFilterFromQuery(q); + // Compiled once per pass, reused over every field: non-global so no exec()/lastIndex state leaks + // between fields, and EscapeRegExp keeps regex metachars in the query literal. + var wwRe = new RegExp("\\b" + EscapeRegExp(searchNeedle) + "\\b"); + + var scored = []; + var seen = {}; + for (var i = 0; i < list.length; i++) { + var a = list[i]; + var t = fieldMatchScore(titleNorm(a), searchNeedle, wwRe); + var g = fieldMatchScore(groupNorm(a), searchNeedle, wwRe); + var s = fieldMatchScore(sourceNorm(a), searchNeedle, wwRe); + var f = fieldMatchScore(fullNorm(a), searchNeedle, wwRe); + var phrase = scoreFields(t, g, s, f); + var score, ranges; + if (phrase !== null) { + score = phrase + SCORE_PHRASE; + ranges = { title: t ? t.ranges : null, group: g ? g.ranges : null, source: s ? s.ranges : null }; + } else { + // Require every token; a token that matches nothing drops the action immediately. Ranges + // from all matching tokens are merged per field so each matched word highlights. + var sum = 0, titleR = null, groupR = null, sourceR = null, all = true; + for (var k = 0; k < searchTokens.length; k++) { + var m = tokenMatch(a, searchTokens[k], searchTokenRes[k]); + if (!m) { all = false; break; } + sum += m.score; + if (m.title) (titleR || (titleR = [])).push(m.title); + if (m.group) (groupR || (groupR = [])).push(m.group); + if (m.source) (sourceR || (sourceR = [])).push(m.source); + } + if (!all) continue; + score = sum; + ranges = { title: mergeRanges(titleR), group: mergeRanges(groupR), source: mergeRanges(sourceR) }; + } + // Ranges are per-field against the ACTUAL text drawn: title for the row-name, and group (or + // source when group is empty) for the eyebrow - so highlight offsets stay aligned to the label. + matchIndex[a.id] = { + title: ranges.title, + group: ranges.group, + source: ranges.source, + useEyebrowGroup: !!(a.group) + }; + scored.push({ a: a, s: score }); + seen[a.id] = true; + } + scored.sort(function (x, y) { + if (x.s !== y.s) return y.s - x.s; + if (x.a.title !== y.a.title) return x.a.title < y.a.title ? -1 : 1; + return x.a.id < y.a.id ? -1 : x.a.id > y.a.id ? 1 : 0; + }); + var result = scored.map(function (e) { return e.a; }); + if (modes.length) { + // Settings requiring a named mode, after the ranked text matches and without duplicates. + var extras = []; + for (var j = 0; j < list.length; j++) { + if (!seen[list[j].id] && modes.indexOf(list[j].mode) !== -1) + extras.push(list[j]); + } + extras.sort(function (x, y) { + if (x.title !== y.title) return x.title < y.title ? -1 : 1; + return x.id < y.id ? -1 : x.id > y.id ? 1 : 0; + }); + result = result.concat(extras); + } + return result; +} + +// Candidate words for inline completion, in reading order. Whitespace and the breadcrumb separator +// split them, so "Process : Speed : Acceleration" yields Process/Speed/Acceleration. Pure. +function completionWords(text) { + return String(text || "").split(/[\s:]+/).filter(Boolean); +} + +// The inline completion for the query's LAST token: scan the top-ranked results' name first, then +// their path breadcrumb, and return the first word that extends the typed token as a prefix. Headlines +// the most likely word without committing to a result. Returns {suffix, word, id} or null. Pure so the +// node-vm test can exercise it; the caller appends `suffix` to the input. +function completionFor(query, list) { + var raw = String(query || ""); + var parts = raw.match(/(\S+)\s*$/); + if (!parts) return null; + var prefix = NormText(parts[1], false); + if (!prefix) return null; + var top = (list || []).slice(0, 10); + for (var i = 0; i < top.length; i++) { + var a = top[i]; + var fields = [a.title, a.group, a.source, a.full_label]; + for (var f = 0; f < fields.length; f++) { + var words = completionWords(fields[f]); + for (var w = 0; w < words.length; w++) { + var norm = NormText(words[w], false); + if (norm.length > prefix.length && norm.indexOf(prefix) === 0) + return { suffix: words[w].slice(prefix.length), word: words[w], id: a.id }; + } + } + } + return null; +} + +// Pure: how many rows must be materialized to cover the given starting index plus `size` more. +// Clamped to the total; used to decide "render the next window" on scroll / arrow-nav. +function revealTarget(total, fromIndex, size) { + return Math.min(total, Math.max(0, fromIndex) + size); +} + +// Pure: the bottom spacer's height - the un-rendered row tail plus any not-yet-rendered section +// headers, so the scrollbar reflects the full list and the last rows stay reachable. +function spacerHeight(total, rendered, totalSections, renderedSections) { + return Math.max(0, total - rendered) * ROW_H + Math.max(0, totalSections - renderedSections) * SECTION_H; +} + +// buildKey: the command-list signature that decides whether rows must be rebuilt (new search / phase) +// or just have their selection refreshed in place (arrow-nav / click). Cheap to compute. +function buildKey() { return phase + "|" + (query || "").trim(); } + function visibleFavourites(favourites, actions) { - // why: a fav whose id has no live action (plugin unloaded/disabled) renders a dead - // monogram tile whose click run()s to a silent no-op; drop it from the quick-bar. - var seen = {}; - (actions || []).forEach(function (a) { seen[a.id] = true; }); - return (favourites || []).filter(function (id, i, arr) { - return seen[id] && arr.indexOf(id) === i; - }); + // why: a fav whose id has no live action (plugin unloaded/disabled) renders a dead + // placeholder tile whose click run()s to a silent no-op; drop it from the quick-bar. + var seen = {}; + (actions || []).forEach(function (a) { seen[a.id] = true; }); + return (favourites || []).filter(function (id, i, arr) { + return seen[id] && arr.indexOf(id) === i; + }); +} + +// Numbered quick-launch slots (mirrors ActionRegistry::kFavLimit). Pure so the node-vm test +// can exercise the digit<->slot mapping without a DOM. +var K_FAV_LIMIT = 10; + +// Badge label for a 0-based fav-bar index: 0..8 -> "1".."9", index 9 (the 10th) -> "0". +function favSlotForIndex(i) { + if (i < 0 || i >= K_FAV_LIMIT) return null; + return i < 9 ? String(i + 1) : "0"; +} + +// Digit key -> 0-based fav-bar index (1..9 -> 0..8, 0 -> 9); -1 for anything else. +function favIndexForDigit(d) { + var c = String(d || "").charCodeAt(0); + if (c >= 49 && c <= 57) return c - 49; + if (c === 48) return 9; + return -1; +} + +// Physical digit for a keydown event. Use e.code so macOS Option+digit (which composes to a symbol +// in e.key, e.g. Alt+1 -> "¡") still maps to the intended slot; fall back to e.key elsewhere. +function favDigitFromEvent(e) { + var m = /^(?:Digit|Numpad)([0-9])$/.exec((e && e.code) || ""); + return m ? m[1] : ((e && e.key) || ""); } function resultCountText(total, shown, query) { - return (query || "").trim() ? "Showing " + shown + " of " + total + " actions" : total + " actions"; + return (query || "").trim() ? + T("sd_result_count", "Showing %s of %s actions", shown, total) : + T("sd_result_count_all", "%s actions", total); +} + +// Display label for a notebook tab. Trim any stray whitespace; pages added with an empty title +// (Home, MainFrame adds TAB_ID_HOME with "") fall back to the title-cased id ("home" -> "Home"). +function tabTitle(t) { + var title = (t && t.title) ? String(t.title).trim() : ""; + return title || prettySource((t && t.id) || ""); +} + +// Filter the tab list by a fuzzy title/id match. Pure so the node-vm test can exercise it. +function filterTabs(tabs, query) { + var q = (query || "").trim(); + if (!q) + return (tabs || []).slice(0); + return (tabs || []).filter(function (t) { + return FuzzyRanges(tabTitle(t), q, false) || FuzzyRanges(t.id, q, false); + }); } function shouldRenderActionList(query) { - return !!(query || "").trim(); + return !!((query || "").trim()); +} + +// Tile pictogram base path. The page lives at resources/web/dialog/SpeedDial/, so this climbs to +// resources/images/ where the same SVG icons the native GUI controls use are shipped. +var ICON_BASE = "../../../images/"; + +// SVG base name for an action's tile pictogram, or "" when it has none (commands without a GUI +// icon, plugins). Pure so the node-vm test can exercise it. +function actionIcon(a) { + return (a && a.icon) ? a.icon : ""; +} + +// Pictogram shown when an action carries none (plugins, icon-less commands/settings). A dedicated +// theme-neutral glyph (resources/images/action_default.svg: frame + ">_" prompt), so no tile is +// blank and no existing action's icon is borrowed. +var DEFAULT_ICON = "action_default"; + +// SVG base name a tile actually renders: the action's own icon, else the placeholder. Pure. +function tileIcon(a) { + return actionIcon(a) || DEFAULT_ICON; +} + +// Put a pictogram into a tile (search row, favourites tile, or tab row). `mono` marks the white +// tab-strip glyphs, which the CSS recolors to the shared gray. +function fillTile(tile, a, mono) { + tile.textContent = ""; + var icon = tileIcon(a); + var img = document.createElement("img"); + img.className = mono ? "tile-icon tab-mono" : "tile-icon"; + img.src = ICON_BASE + icon + ".svg"; + img.alt = ""; + img.setAttribute("aria-hidden", "true"); + tile.appendChild(img); +} + +// Category a row is grouped under in the empty-query list. Native commands and dynamic plate/recent +// actions carry a group; settings derive their top-level preset type from the source breadcrumb +// ("Process : Quality : Layers" -> "Process"); plugins all share one header. +function actionCategory(a) { + if (!a) return T("sd_other", "Other"); + if (a.kind === "plugin") return T("sd_plugins", "Plugins"); + if (a.group) return a.group; + var src = a.source || ""; + var sep = src.indexOf(" : "); + var cat = sep === -1 ? src : src.slice(0, sep); + return cat || T("sd_other", "Other"); +} + +// Stable-bucket actions by category, then order the groups alphabetically. Within a group the incoming +// (frecency) order is kept. Pure so the node-vm test can exercise grouping. +function groupActions(list) { + var buckets = Object.create(null); + var order = []; + (list || []).forEach(function (a) { + var c = actionCategory(a); + if (!buckets[c]) { buckets[c] = []; order.push(c); } + buckets[c].push(a); + }); + order.sort(function (x, y) { + var a = x.toLowerCase(), b = y.toLowerCase(); + return a < b ? -1 : a > b ? 1 : 0; + }); + var out = []; + order.forEach(function (c) { out = out.concat(buckets[c]); }); + return out; +} + +// The active list for the main phase. A typed query ranks every action (commands/plugins/settings) +// by relevance; an empty query shows the recents first, then the rest grouped under category headers. +// The empty-query result is cached on the action/recents array identities so scrolling doesn't regroup. +var commandListCache = null; +// Typed-query result cache, keyed on the pool identity + query. searchActions populates the +// module-level matchIndex/searchNeedle; a hit restores both so a repeated call (keydown + input, +// or a scroll tick) skips the whole scan instead of recomputing it. +var searchCache = null; +function commandList(actions, recents, query) { + var all = actions || []; + if (shouldRenderActionList(query)) { + if (searchCache && searchCache.actions === all && searchCache.query === query) { + matchIndex = searchCache.matchIndex; + searchNeedle = searchCache.needle; + searchTokens = searchCache.tokens; + searchTokenRes = searchCache.tokenRes; + return searchCache.list; + } + var found = searchActions(all, query); + searchCache = { actions: all, query: query, list: found, matchIndex: matchIndex, needle: searchNeedle, + tokens: searchTokens, tokenRes: searchTokenRes }; + return found; + } + var rec = recents || []; + if (commandListCache && commandListCache.actions === all && commandListCache.recents === rec) + return commandListCache.list; + var recentIds = {}; + for (var i = 0; i < rec.length; i++) + recentIds[rec[i].id] = true; + var rest = all.filter(function (a) { return !recentIds[a.id]; }); + var list = rec.concat(groupActions(rest)); + commandListCache = { actions: all, recents: rec, list: list }; + return list; +} + +// Section headers for the main list: "Recent" (when recents exist) then one per category. The list is +// already grouped, so a header is emitted whenever the category changes. A typed query has no headers. +// Returns {startIndex: label}, where startIndex is the flat list index the header sits above. +function commandSections(list, recentsLen, query) { + if (shouldRenderActionList(query) || !list || !list.length) + return null; + var sections = {}; + if (recentsLen > 0) + sections[0] = T("sd_recent", "Recent"); + var prev = null; + for (var i = recentsLen; i < list.length; i++) { + var c = actionCategory(list[i]); + if (i === recentsLen || c !== prev) + sections[i] = c; + prev = c; + } + return sections; } // Resolve the selection cursor {zone,i} to the action id it points at: fav zone indexes the -// visible favourites, list zone the filtered actions. Pure so runSelected() shares one lookup. -function selectedActionId(sel, actions, favIds, query) { - if (sel.zone === "fav") - return favIds[sel.i]; - // why: search-first keeps the list blank until the user types; an empty query still - // filters to ALL actions, so without this gate Enter fires an action never shown. - if (!shouldRenderActionList(query)) - return null; - var a = actions[sel.i]; - return a && a.id; +// visible favourites, list zone the active commands list. `actions` must be the already-resolved +// list (recents for an empty query, the filtered list otherwise) - pure so runSelected() shares +// one lookup and the node-vm test can call it directly. +function selectedActionId(sel, actions, favIds) { + if (sel.zone === "fav") + return favIds[sel.i]; + if (!actions || !actions.length) + return null; + var a = actions[sel.i]; + return a && a.id; } +function actionHasWiki(a) { return !!(a && a.wiki); } + +// Whether the action has anything for the footer strip to show (a description or a wiki link). +function actionHasDetail(a) { return !!(a && ((a.desc && a.desc.length) || a.wiki)); } + +// The expand/collapse arrow is offered for actions that carry a description. Collapsing is a global +// (persisted) preference, so even a short tooltip gets the control. +function detailToggleVisible(a) { return !!(a && a.desc && a.desc.length); } + function foldLabel(s) { return String(s || "").toLowerCase().replace(/[^a-z0-9]+/g, ""); } // Title-case a source for display: "GCODE OPTIMIZER"/"iRoNiNg pRo" -> "Gcode Optimizer"/"Ironing Pro". function prettySource(source) { - return String(source || "").toLowerCase().replace(/\b\w/g, function (c) { return c.toUpperCase(); }); + return String(source || "").toLowerCase().replace(/\b\w/g, function (c) { return c.toUpperCase(); }); +} + +// True when the action's required mode is above the user's current mode, i.e. selecting it will +// prompt a mode switch. Unknown/empty modes are treated as "simple" so commands never flag. +function needsModeSwitch(item, userMode) { + var need = MODE_RANK[(item && item.mode) || "simple"] || 0; + var have = MODE_RANK[userMode || "simple"] || 0; + return need > have; +} + +// Short mode tag for an action that needs a switch, or "" when it is already available. +function modeBadge(item, userMode) { + if (!needsModeSwitch(item, userMode)) return ""; + if (item.mode === "develop") return T("sd_mode_develop", "Developer"); + if (item.mode === "expert") return T("sd_mode_expert", "Expert"); + if (item.mode === "advanced") return T("sd_mode_advanced", "Advanced"); + return ""; +} + +// Search keywords that name a settings mode. "developer" (and the internal "develop") both select +// Developer; Simple is deliberately absent so it never floods the list with every command. +var MODE_WORDS = { advanced: "advanced", expert: "expert", developer: "develop", develop: "develop" }; + +// The mode values named as whole words in `query`, deduped. Case/diacritic-insensitive via Norm. A +// query with no mode keyword returns [] so the normal text search is completely unaffected. +function modeFilterFromQuery(query) { + var norm = NormText(String(query || "").trim(), false); + var found = []; + norm.split(/[^a-z0-9]+/).forEach(function (word) { + var mode = MODE_WORDS[word]; + if (mode && found.indexOf(mode) === -1) + found.push(mode); + }); + return found; +} + +// Precomputed label parts for one action pool, keyed on the pool's array identity. The fold pass is +// O(N); doing it here instead of inside every actionLabel() call keeps row rendering O(rows), not O(rows*N). +var labelCache = null; +function labelParts(actions) { + if (labelCache && labelCache.actions === actions) + return labelCache; + var sig = {}, count = {}; + (actions || []).forEach(function (o) { + var s = foldLabel(o.title) + "|" + foldLabel(o.source || o.group || ""); + sig[o.id] = s; + count[s] = (count[s] || 0) + 1; + }); + labelCache = { actions: actions, sig: sig, count: count }; + return labelCache; } // Accessible label "Title from Pretty Source", disambiguated with the opaque action id when another // action shares the same title+source (case/separator-insensitive) - so two rows never read out identically. function actionLabel(action, actions) { - var label = action.title + " from " + prettySource(action.source); - if (actions && actions.length) { - var mine = foldLabel(action.title) + "|" + foldLabel(action.source); - var clash = actions.some(function (o) { - return o.id !== action.id && foldLabel(o.title) + "|" + foldLabel(o.source) === mine; - }); - if (clash) - label += " (" + action.id + ")"; - } - return label; -} - -// Monogram code for a tile: title initial, escalated on collision by PREPENDING the source -// initial (pi+ti, e.g. "GC"), then a 1-based ordinal - so same-titled actions stay distinct. -// why: ordinal is assigned by id, not by ACTIONS order - ACTIONS is frecency-sorted and -// reshuffles as usage changes, which would otherwise flip who's "1" and who's "2" across runs. -function tileCode(action, actions) { - var list = actions || []; - var ti = (action.title || " ").charAt(0).toUpperCase(); - var sameTitle = list.filter(function (o) { return (o.title || " ").charAt(0).toUpperCase() === ti; }); - if (sameTitle.length <= 1) - return ti; - var pi = (action.source || " ").charAt(0).toUpperCase(); - var sameSource = sameTitle.filter(function (o) { return (o.source || " ").charAt(0).toUpperCase() === pi; }); - if (sameSource.length <= 1) - return pi + ti; - sameSource.sort(function (a, b) { return a.id < b.id ? -1 : a.id > b.id ? 1 : 0; }); - for (var i = 0; i < sameSource.length; i++) - if (sameSource[i].id === action.id) - return pi + ti + (i + 1); - return pi + ti; + var label = action.title + " from " + prettySource(action.source || action.group || ""); + if (actions && actions.length) { + var cache = labelParts(actions); + var mine = cache.sig[action.id]; + // mine is undefined only for an action outside the cached pool (e.g. a transient row); scan then. + var clash = mine !== undefined ? cache.count[mine] > 1 : + actions.some(function (o) { + return o.id !== action.id && foldLabel(o.title) + "|" + foldLabel(o.source || o.group || "") === + foldLabel(action.title) + "|" + foldLabel(action.source || action.group || ""); + }); + if (clash) + label += " (" + action.id + ")"; + } + return label; } function syncClearButton() { - if (clearEl) - clearEl.hidden = !query; + if (clearEl) + clearEl.hidden = !query; } function stateFromPayload(payload) { - return { - actions: payload.actions || [], - favourites: payload.favourites || [], - query: "", - sel: { zone: "list", i: 0 }, - lastResizeHeight: 0 - }; + return { + actions: payload.actions || [], + favourites: payload.favourites || [], + recent: payload.recent || [], + userMode: payload.user_mode || "simple", + tooltipExpanded: payload.tooltip_expanded !== false + }; } function resetScrollPositions(list, doc) { - if (list) - list.scrollTop = 0; - if (doc && doc.scrollingElement) - doc.scrollingElement.scrollTop = 0; - if (doc && doc.documentElement) - doc.documentElement.scrollTop = 0; - if (doc && doc.body) - doc.body.scrollTop = 0; + if (list) + list.scrollTop = 0; + if (doc && doc.scrollingElement) + doc.scrollingElement.scrollTop = 0; + if (doc && doc.documentElement) + doc.documentElement.scrollTop = 0; + if (doc && doc.body) + doc.body.scrollTop = 0; } -// nextSel: pure arrow-nav transition. Down fav->list0; Down list->clamp; Up list@0->fav0; -// Up list->i-1; Left/Right clamp within fav. Returns a fresh {zone,i}. +// nextSel: pure arrow-nav transition. Down fav->list0; Down list wraps at the bottom (last -> first). +// Up list wraps at the top (first -> last) only when there's no fav bar above; with a fav bar, Up at +// the list top goes to fav0 (unchanged). Left/Right clamp within fav. Returns a fresh {zone,i}. function nextSel(sel, key, listLen, favLen) { - var zone = sel.zone, i = sel.i; - if (key === "ArrowDown") { - if (zone === "fav") return { zone: "list", i: 0 }; - return { zone: "list", i: Math.min(i + 1, Math.max(0, listLen - 1)) }; - } - if (key === "ArrowUp") { - if (zone === "list") { - if (i <= 0) return favLen ? { zone: "fav", i: 0 } : { zone: "list", i: 0 }; - return { zone: "list", i: i - 1 }; + var zone = sel.zone, i = sel.i; + var last = Math.max(0, listLen - 1); + if (key === "ArrowDown") { + if (zone === "fav") return { zone: "list", i: 0 }; + return { zone: "list", i: i >= last ? 0 : i + 1 }; } + if (key === "ArrowUp") { + if (zone === "list") { + if (i <= 0) return favLen ? { zone: "fav", i: 0 } : { zone: "list", i: last }; + return { zone: "list", i: i - 1 }; + } + return { zone: zone, i: i }; + } + if (key === "ArrowLeft" && zone === "fav") return { zone: "fav", i: Math.max(0, i - 1) }; + if (key === "ArrowRight" && zone === "fav") return { zone: "fav", i: Math.min(favLen - 1, i + 1) }; return { zone: zone, i: i }; - } - if (key === "ArrowLeft" && zone === "fav") return { zone: "fav", i: Math.max(0, i - 1) }; - if (key === "ArrowRight" && zone === "fav") return { zone: "fav", i: Math.min(favLen - 1, i + 1) }; - return { zone: zone, i: i }; } // ---- bridge ------------------------------------------------------------------ function SendMessage(msg) { - if (typeof SendWXMessage !== "function") - return; - if (typeof msg === "string") msg = { command: msg }; - if (msg.sequence_id === undefined) msg.sequence_id = Date.now(); - SendWXMessage(JSON.stringify(msg)); + if (typeof SendWXMessage !== "function") + return; + if (typeof msg === "string") msg = { command: msg }; + if (msg.sequence_id === undefined) msg.sequence_id = Date.now(); + SendWXMessage(JSON.stringify(msg)); } -// C++ pushes payloads here. Only list_actions is handled; it (re)seeds all state. +// C++ pushes payloads here. window.HandleStudio = function (payload) { - if (!payload) return; - if (typeof payload === "string") { try { payload = JSON.parse(payload); } catch (e) { return; } } - if (payload.command === "list_actions") { - var next = stateFromPayload(payload); - ACTIONS = next.actions; - FAVS = next.favourites; - query = next.query; - sel = next.sel; - lastResizeHeight = next.lastResizeHeight; - if (qEl) { - qEl.value = ""; - qEl.placeholder = "Search " + ACTIONS.length + " actions"; - syncClearButton(); + if (!payload) return; + if (typeof payload === "string") { try { payload = JSON.parse(payload); } catch (e) { return; } } + if (payload.command === "list_actions") { + var next = stateFromPayload(payload); + ACTIONS = next.actions; + FAVS = next.favourites; + RECENTS = next.recent; + USER_MODE = next.userMode; + TOOLTIP_EXPANDED = next.tooltipExpanded; + // A fresh payload re-opens the main phase; C++ never rehydrates the transient phase/query state. + phase = "commands"; + tabOptions = []; + query = ""; + sel = { zone: "list", i: 0 }; + // why: builtKey caches phase|query so renderCommandsList can skip a rebuild on arrow-nav. + // It survives a re-open (which never goes through exitPhase), so without a reset the cached + // empty-query key would skip the rebuild and leave stale list content. + builtKey = ""; + if (qEl) { + qEl.value = ""; + qEl.placeholder = T("sd_search_n", "Search %s actions", ACTIONS.length); + syncClearButton(); + } + render({ resize: true, resetScroll: true }); + focusInput(); + } else if (payload.command === "tab_results") { + tabOptions = payload.tabs || []; + if (sel.zone === "list") + sel.i = Math.max(0, Math.min(sel.i, tabOptions.length - 1)); + render({ resize: true }); + } else if (payload.command === "favourite_full") { + // Favourites are at the quick-launch cap - undo the optimistic pin and flash a hint. + var fid = payload.id; + if (fid && FAVS.indexOf(fid) !== -1) FAVS.splice(FAVS.indexOf(fid), 1); + render({ resize: true, keepScroll: true }); + flashHint(T("sd_favs_full", "Favourites are full (%s max)", (payload.limit || K_FAV_LIMIT))); } - render({ resize: true, resetScroll: true }); - focusInput(); - } }; // ---- DOM helpers ------------------------------------------------------------- function $(id) { return document.getElementById(id); } function byId(id) { - for (var i = 0; i < ACTIONS.length; i++) if (ACTIONS[i].id === id) return ACTIONS[i]; - return null; + for (var i = 0; i < ACTIONS.length; i++) if (ACTIONS[i].id === id) return ACTIONS[i]; + return null; +} + +function findActionByInput(input) { + for (var i = 0; i < ACTIONS.length; i++) if (ACTIONS[i].input === input) return ACTIONS[i]; + return null; } function currentVisibleFavs() { return visibleFavourites(FAVS, ACTIONS); } -function hue(id) { - var h = 0; - for (var i = 0; i < id.length; i++) - h = (h * 31 + id.charCodeAt(i)) >>> 0; - return h % 360; +// Active list for the current phase (drives list rendering + arrow nav). +function currentList() { + if (phase === "tab") return filterTabs(tabOptions, query); + if (phase === "commands") return commandList(ACTIONS, RECENTS, query); + return []; // percent - the input itself is the only field } // Build a
with the search-match ranges wrapped in . Used for both the // title and the source eyebrow. Pure (only touches the document factory), so the node-vm test never // calls it and load-time stays DOM-free. function markedText(className, text, match) { - var node = document.createElement("div"); - node.className = className; node.title = text; - if (!match || !match.length) { - node.textContent = text; + var node = document.createElement("div"); + node.className = className; node.title = text; + if (!match || !match.length) { + node.textContent = text; + return node; + } + var last = 0; + for (var i = 0; i < match.length; i++) { + var range = match[i]; + if (range[0] > last) + node.appendChild(document.createTextNode(text.slice(last, range[0]))); + var m = document.createElement("mark"); + m.textContent = text.slice(range[0], range[1]); + node.appendChild(m); + last = range[1]; + } + if (last < text.length) + node.appendChild(document.createTextNode(text.slice(last))); return node; - } - var last = 0; - for (var i = 0; i < match.length; i++) { - var range = match[i]; - if (range[0] > last) - node.appendChild(document.createTextNode(text.slice(last, range[0]))); - var m = document.createElement("mark"); - m.textContent = text.slice(range[0], range[1]); - node.appendChild(m); - last = range[1]; - } - if (last < text.length) - node.appendChild(document.createTextNode(text.slice(last))); - return node; } -function starSvg(on) { - return '' + - ''; +// A bookmark glyph: outlined when unpinned, filled when saved to favourites. +function pinSvg(on) { + return '' + + ''; +} + +// Sync one pin button to its favourite state. Shared by row construction and the in-place +// updatePins pass so the two can't drift. +function setPinState(pin, on) { + pin.classList.toggle("on", on); + pin.innerHTML = pinSvg(on); + pin.title = on ? T("sd_unpin_fav", "Unpin from favourites (%s)", shortcutCtrl() + "B") : + T("sd_pin_fav", "Pin to favourites (%s)", shortcutCtrl() + "B"); } // ---- render ------------------------------------------------------------------ function renderFav() { - favEl.innerHTML = ""; - var favs = currentVisibleFavs(); - favEl.hidden = favs.length === 0; - if (!favs.length && sel.zone === "fav") - sel = { zone: "list", i: 0 }; - else if (sel.zone === "fav") - sel.i = Math.max(0, Math.min(sel.i, favs.length - 1)); - updateFavEyebrow(favs); - favs.forEach(function (id, i) { - var a = byId(id); - var tile = document.createElement("button"); - tile.className = "fav-tile" + (sel.zone === "fav" && sel.i === i ? " sel" : ""); - tile.style.setProperty("--h", hue(id)); - tile.textContent = tileCode(a, ACTIONS); - tile.title = a.title; - tile.setAttribute("aria-label", actionLabel(a, ACTIONS)); - tile.onclick = function () { sel = { zone: "fav", i: i }; run(a); }; - tile.oncontextmenu = function (ev) { - ev.preventDefault(); - // why: selecting shows the eyebrow, which grows the launcher - resize so the popup - // isn't clipped (mirrors arrow-nav). requestResize no-ops when height is unchanged. - sel = { zone: "fav", i: i }; render({ resize: true }); - showFavMenu(ev.clientX, ev.clientY, id); - }; - favEl.appendChild(tile); - }); + // Only the commands phase shows the pinned quick-bar. + if (phase !== "commands") { + if (favEl) { favEl.innerHTML = ""; favEl.hidden = true; } + if (eyeEl) eyeEl.hidden = true; + return; + } + favEl.innerHTML = ""; + var favs = currentVisibleFavs(); + favEl.hidden = favs.length === 0; + if (!favs.length && sel.zone === "fav") + sel = { zone: "list", i: 0 }; + else if (sel.zone === "fav") + sel.i = Math.max(0, Math.min(sel.i, favs.length - 1)); + updateFavEyebrow(favs); + favs.forEach(function (id, i) { + var a = byId(id); + var tile = document.createElement("button"); + tile.className = "fav-tile" + (sel.zone === "fav" && sel.i === i ? " sel" : ""); + fillTile(tile, a); + var tileBadge = modeBadge(a, USER_MODE); + tile.title = a.title + (tileBadge ? " (" + tileBadge + ")" : ""); + tile.setAttribute("aria-label", actionLabel(a, ACTIONS)); + tile.onclick = function () { sel = { zone: "fav", i: i }; activateEntry(a); }; + // Numbered quick-launch badge (Alt/Option+digit), drawn on the corner. + var slot = favSlotForIndex(i); + if (slot) { + var badge = document.createElement("span"); + badge.className = "fav-slot"; + badge.textContent = slot; + // Slot "0" is the 10th favourite (Alt/Option+0). + var slot_num = slot === "0" ? "10" : slot; + badge.title = T("sd_fav_slot", "Favourite %s (%s)", slot_num, shortcutAlt() + slot); + tile.appendChild(badge); + } + // Direct removal: a hover-revealed ✕ in the tile's corner. click() stops propagation so it + // unpins without activating the action. + var unpin = document.createElement("button"); + unpin.className = "fav-unpin"; + unpin.title = T("sd_remove_fav", "Remove from favourites"); + unpin.setAttribute("aria-label", T("sd_remove_fav", "Remove from favourites")); + unpin.innerHTML = ''; + unpin.onclick = function (ev) { ev.stopPropagation(); toggleFav(id); }; + tile.appendChild(unpin); + tile.oncontextmenu = function (ev) { + ev.preventDefault(); + // why: selecting shows the eyebrow, which grows the launcher - resize so the popup + // isn't clipped (mirrors arrow-nav). requestResize no-ops when height is unchanged. + sel = { zone: "fav", i: i }; render({ resize: true }); + showFavMenu(ev.clientX, ev.clientY, id); + }; + favEl.appendChild(tile); + }); } // ---- favourite context menu (right-click a tile) ----------------------------- @@ -270,229 +855,657 @@ var favMenuEl = null; function hideFavMenu() { if (favMenuEl) favMenuEl.hidden = true; } function addFavMenuItem(label, enabled, fn) { - var item = document.createElement("button"); - item.className = "ctx-item"; - item.textContent = label; - item.disabled = !enabled; - item.onclick = function () { hideFavMenu(); fn(); }; - favMenuEl.appendChild(item); + var item = document.createElement("button"); + item.className = "ctx-item"; + item.textContent = label; + item.disabled = !enabled; + item.onclick = function () { hideFavMenu(); fn(); }; + favMenuEl.appendChild(item); } // One reused menu node (Move left/right + Unpin), positioned at the cursor and clamped // to the viewport. Native browser context menus can't add items, so we roll our own tiny one. function showFavMenu(x, y, id) { - if (!favMenuEl) { - favMenuEl = document.createElement("div"); - favMenuEl.className = "ctx-menu"; - document.body.appendChild(favMenuEl); - } - favMenuEl.innerHTML = ""; - var favs = currentVisibleFavs(); - var vi = favs.indexOf(id); - addFavMenuItem("Move left", vi > 0, function () { moveFav(id, -1); }); - addFavMenuItem("Move right", vi >= 0 && vi < favs.length - 1, function () { moveFav(id, 1); }); - addFavMenuItem("Unpin", true, function () { toggleFav(id); }); - favMenuEl.hidden = false; - favMenuEl.style.left = Math.max(0, Math.min(x, window.innerWidth - favMenuEl.offsetWidth - 4)) + "px"; - favMenuEl.style.top = Math.max(0, Math.min(y, window.innerHeight - favMenuEl.offsetHeight - 4)) + "px"; + if (!favMenuEl) { + favMenuEl = document.createElement("div"); + favMenuEl.className = "ctx-menu"; + document.body.appendChild(favMenuEl); + } + favMenuEl.innerHTML = ""; + var favs = currentVisibleFavs(); + var vi = favs.indexOf(id); + addFavMenuItem(T("sd_move_left", "Move left"), vi > 0, function () { moveFav(id, -1); }); + addFavMenuItem(T("sd_move_right", "Move right"), vi >= 0 && vi < favs.length - 1, function () { moveFav(id, 1); }); + addFavMenuItem(T("sd_unpin", "Unpin"), true, function () { toggleFav(id); }); + favMenuEl.hidden = false; + favMenuEl.style.left = Math.max(0, Math.min(x, window.innerWidth - favMenuEl.offsetWidth - 4)) + "px"; + favMenuEl.style.top = Math.max(0, Math.min(y, window.innerHeight - favMenuEl.offsetHeight - 4)) + "px"; } // Swap a favourite with its visible neighbour (dir -1/+1) and persist the new order. Swapping -// by id inside FAVS (not the visible slice) keeps any hidden pins (no live action) in place. +// by id inside FAVS (not the visible slice) keeps the persisted order stable. function moveFav(id, dir) { - var favs = currentVisibleFavs(); - var vi = favs.indexOf(id); - var ni = vi + dir; - if (vi === -1 || ni < 0 || ni >= favs.length) return; - var a = FAVS.indexOf(id), b = FAVS.indexOf(favs[ni]); - if (a === -1 || b === -1) return; - FAVS[a] = favs[ni]; FAVS[b] = id; - SendMessage({ command: "reorder_favourites", ids: FAVS.slice() }); - sel = { zone: "fav", i: ni }; - render({ resize: true }); + var favs = currentVisibleFavs(); + var vi = favs.indexOf(id); + var ni = vi + dir; + if (vi === -1 || ni < 0 || ni >= favs.length) return; + var a = FAVS.indexOf(id), b = FAVS.indexOf(favs[ni]); + if (a === -1 || b === -1) return; + FAVS[a] = favs[ni]; FAVS[b] = id; + SendMessage({ command: "reorder_favourites", ids: FAVS.slice() }); + sel = { zone: "fav", i: ni }; + render({ resize: true }); } // Name of the selected favourite, shown above the bar; hidden unless a fav is selected. function updateFavEyebrow(favs) { - if (!eyeEl) return; - var a = sel.zone === "fav" && favs.length ? byId(favs[sel.i]) : null; - eyeEl.textContent = a ? a.title : ""; - eyeEl.hidden = !a; + if (!eyeEl) return; + var a = sel.zone === "fav" && favs.length ? byId(favs[sel.i]) : null; + eyeEl.textContent = a ? a.title : ""; + eyeEl.hidden = !a; } -function renderList() { - var q = (query || "").trim(); - var arr = filterActions(ACTIONS, query); - if (sel.zone === "list") - sel.i = Math.max(0, Math.min(sel.i, arr.length - 1)); - listEl.innerHTML = ""; - // why: search-first - the list stays blank until the user types; only a - // non-empty query with zero hits earns the "No actions match" message. - if (!shouldRenderActionList(query)) { - listEl.className = "dial-list empty"; - if (countEl) countEl.hidden = true; - return; - } - listEl.className = "dial-list" + (!arr.length ? " empty" : ""); - if (!arr.length) { - if (countEl) countEl.hidden = true; - var empty = document.createElement("div"); - empty.className = "dial-empty"; - empty.textContent = "No actions match (Total: " + ACTIONS.length + ")"; - listEl.appendChild(empty); - return; - } - if (countEl) { - countEl.hidden = false; - countEl.textContent = resultCountText(ACTIONS.length, arr.length, query); - } - arr.forEach(function (a, i) { - var on = FAVS.indexOf(a.id) !== -1; +// Row shell shared by action and tab rows: the row (selection class + aria label), the icon tile and +// the text column. Returns the pieces the caller fills in (eyebrow/name/badge/pin, handlers). +function beginRow(item, i, mono, ariaLabel) { var row = document.createElement("div"); row.className = "row" + (sel.zone === "list" && sel.i === i ? " sel" : ""); - row.setAttribute("aria-label", actionLabel(a, ACTIONS)); + row.setAttribute("aria-label", ariaLabel); var tile = document.createElement("div"); tile.className = "tile"; - tile.style.setProperty("--h", hue(a.id)); - tile.textContent = tileCode(a, ACTIONS); + fillTile(tile, item, mono); var left = document.createElement("div"); left.className = "row-left"; - var mi = matchIndex[a.id]; - var sourceEl = markedText("row-eyebrow", a.source, mi ? mi.source : null); var line = document.createElement("div"); line.className = "row-line"; - var name = markedText("row-name", a.title, mi ? mi.title : null); - line.appendChild(name); - if (a.shortcut) { - var sc = document.createElement("div"); - sc.className = "row-sc"; - a.shortcut.split("+").forEach(function (k) { - var key = document.createElement("kbd"); - key.textContent = k; - sc.appendChild(key); - }); - line.appendChild(sc); - } - left.appendChild(sourceEl); left.appendChild(line); row.appendChild(tile); row.appendChild(left); + return { row: row, left: left, line: line }; +} - var star = document.createElement("button"); - star.className = "star" + (on ? " on" : ""); - star.innerHTML = starSvg(on); - star.title = on ? "Unpin from favourites" : "Pin to favourites"; - star.onclick = function (ev) { ev.stopPropagation(); toggleFav(a.id); }; +// A command/action row - used for search results, recents, and (because settings are actions now) +// the setting options too. All rows are pinnable, so every row carries a bookmark. +function renderActionRow(a, i) { + var on = FAVS.indexOf(a.id) !== -1; + var shell = beginRow(a, i, false, actionLabel(a, ACTIONS)); + var mi = matchIndex[a.id]; + // The eyebrow shows group when present, else source. Highlight with the ranges of whichever of the + // two the eyebrow actually renders (so a "Recent Projects"/"Object" header match lights up like a + // setting path does - the offsets are computed against the same string we are marking). + var eyebrow = a.group || a.source; + var eyebrowMatch = mi ? (mi.useEyebrowGroup ? mi.group : mi.source) : null; + shell.left.insertBefore(markedText("row-eyebrow", eyebrow, eyebrowMatch), shell.line); + shell.line.appendChild(markedText("row-name", a.title, mi ? mi.title : null)); + var badge = modeBadge(a, USER_MODE); + if (badge) { + var tag = document.createElement("span"); + tag.className = "row-mode"; + tag.textContent = badge; + shell.line.appendChild(tag); + } + + var pin = document.createElement("button"); + pin.className = "pin"; + setPinState(pin, on); + pin.onclick = function (ev) { ev.stopPropagation(); toggleFav(a.id); }; // why: two quick fav/unfav clicks must not dblclick-run the row - star.ondblclick = function (ev) { ev.stopPropagation(); }; - row.appendChild(star); + pin.ondblclick = function (ev) { ev.stopPropagation(); }; + shell.row.appendChild(pin); - row.onclick = function () { sel = { zone: "list", i: i }; render(); }; - row.ondblclick = function () { sel = { zone: "list", i: i }; run(a); }; - listEl.appendChild(row); - }); + shell.row.onclick = function () { sel = { zone: "list", i: i }; render({ resize: true }); }; + shell.row.ondblclick = function () { sel = { zone: "list", i: i }; activateEntry(a); }; + return shell.row; +} + +// Append rows [from, to) into listEl, always inserting before the bottom spacer so row order is +// preserved. A section header is inserted just before the first row of its section. +function appendActionRows(list, from, to) { + var spacer = spacerEl || ensureSpacer(); + for (var i = from; i < to; i++) { + if (sectionStarts && sectionStarts[i] !== undefined) { + var header = document.createElement("div"); + header.className = "dial-section"; + header.textContent = sectionStarts[i]; + listEl.insertBefore(header, spacer); + sectionRendered++; + } + var row = renderActionRow(list[i], i); + row.setAttribute("data-idx", i); + listEl.insertBefore(row, spacer); + } +} + +// Set the section map for the current list and reset the rendered-header counters (a fresh build). +function setSections(sections) { + sectionStarts = sections || null; + sectionTotal = sectionStarts ? Object.keys(sectionStarts).length : 0; + sectionRendered = 0; +} + +// Ensure the bottom spacer exists as the last child of listEl. It is (re)created on rebuild because +// listEl.innerHTML="" destroys the old node. +function ensureSpacer() { + if (!spacerEl || spacerEl.parentNode !== listEl) { + spacerEl = document.createElement("div"); + spacerEl.className = "dial-spacer-bottom"; + listEl.appendChild(spacerEl); + } + return spacerEl; +} + +// Size the spacer to the un-rendered tail so the scrollbar reflects the full match count. Pending +// section headers reserve their own height too, so the last rows stay reachable. +function setBottomSpacer(total) { + ensureSpacer(); + spacerEl.style.height = spacerHeight(total, renderEnd, sectionTotal, sectionRendered) + "px"; +} + +// Reveal rows up to `upto` (an exclusive index), appending without rebuilding the whole list. Used by +// the scroll handler (viewport + overscan) and by arrow-nav that runs off the end of the current window. +// The window is append-only and row indices are absolute, so jumping the selection to the very last row +// (ArrowUp wrap with no fav bar) necessarily materializes the whole list; the label/search caches above +// keep that one-off cost linear rather than quadratic. +function revealTo(list, upto) { + var need = Math.min(list.length, upto); + if (need <= renderEnd) + return; + appendActionRows(list, renderEnd, need); + renderEnd = need; + setBottomSpacer(list.length); +} + +// Rebuild the list from the first window (new search / phase change), clearing stale rows. +function rebuildCommandsList(list) { + listEl.innerHTML = ""; + listEl.className = "dial-list"; + ensureSpacer(); + renderEnd = 0; + sectionRendered = 0; + appendActionRows(list, 0, Math.min(list.length, K_ROWS)); + renderEnd = Math.min(list.length, K_ROWS); + setBottomSpacer(list.length); +} + +// Toggle the .sel class in place - arrow-nav/click don't rebuild the DOM, just re-highlight the row. +function updateSelection() { + var rows = listEl ? listEl.querySelectorAll(".row") : []; + for (var i = 0; i < rows.length; i++) { + var idx = parseInt(rows[i].getAttribute("data-idx"), 10); + rows[i].classList.toggle("sel", sel.zone === "list" && idx === sel.i); + } +} + +// Sync the pin buttons in place when FAVS changes but the row set doesn't (fav toggle), so a +// bookmark fills/empties without a rebuild that would reset scroll. Rows carry data-idx into the +// active list. +function updatePins(list) { + var rows = listEl ? listEl.querySelectorAll(".row") : []; + for (var i = 0; i < rows.length; i++) { + var a = list[parseInt(rows[i].getAttribute("data-idx"), 10)]; + var pin = rows[i].querySelector(".pin"); + if (!a || !pin) continue; + var on = FAVS.indexOf(a.id) !== -1; + if (pin.classList.contains("on") !== on) + setPinState(pin, on); + } +} + +// Replace the list with a single placeholder message (no matches / empty state). Shared by all phases. +function renderEmpty(text) { + listEl.innerHTML = ""; + spacerEl = null; + listEl.className = "dial-list empty"; + setSections(null); + if (countEl) countEl.hidden = true; + var empty = document.createElement("div"); + empty.className = "dial-empty"; + empty.textContent = text; + listEl.appendChild(empty); +} + +function renderCommandsList() { + var list = currentList(); + var total = list.length; + if (sel.zone === "list") + sel.i = Math.max(0, Math.min(sel.i, total - 1)); + var showList = shouldRenderActionList(query); + // Recents are not filtered, so clear any stale match marks from a previous typed query. + if (!showList) + matchIndex = {}; + + if (!total) { + renderEmpty(showList ? T("sd_no_match_total", "No actions match (Total: %s)", ACTIONS.length) + : T("sd_no_actions", "No actions yet")); + renderEnd = 0; + builtKey = buildKey() + "|0"; + return; + } + + var key = buildKey() + "|" + total; + if (key !== builtKey) { + builtKey = key; + // Headers split the empty-query list into recents + category groups; typed queries have none. + setSections(showList ? null : commandSections(list, (RECENTS || []).length, query)); + rebuildCommandsList(list); + } else if (sel.i >= renderEnd) { + // Arrow-nav walked past the rendered window - reveal enough to keep the selection visible. + revealTo(list, revealTarget(total, sel.i, K_ROWS)); + } + + listEl.className = "dial-list"; + // The empty-query list is labelled by its section headers instead. + if (countEl) { + countEl.hidden = !showList; + if (showList) + countEl.textContent = resultCountText(ACTIONS.length, total, query); + } + updateSelection(); + updatePins(list); +} + +// A tab row: no pin/unpin (tabs aren't pinnable), and a tile that shows the page icon when the +// notebook has one (plugin pages often don't). Uses tabTitle so pages added with an empty text +// (e.g. Home) still show a label. +function renderTabRow(t, i) { + var label = tabTitle(t); + var shell = beginRow(t, i, true, label); + var name = document.createElement("div"); + name.className = "row-name"; + name.textContent = label; + shell.line.appendChild(name); + shell.row.onclick = function () { sel = { zone: "list", i: i }; render({ resize: true }); }; + shell.row.ondblclick = function () { sel = { zone: "list", i: i }; jumpToTab(t); }; + return shell.row; +} + +function renderTabList() { + var q = (query || "").trim(); + var list = currentList(); + listEl.innerHTML = ""; + spacerEl = null; // the tab list has no windowed spacer; rebuildCommandsList recreates it + + if (!list.length) { + renderEmpty(q ? T("sd_no_tabs_match", "No tabs match") : T("sd_no_tabs", "No tabs")); + return; + } + if (sel.zone === "list") + sel.i = Math.max(0, Math.min(sel.i, list.length - 1)); + listEl.className = "dial-list"; + if (countEl) { + countEl.hidden = false; + countEl.textContent = q ? T("sd_tab_match_count", "%s matches", list.length) : T("sd_tab_count", "%s tabs", list.length); + } + list.forEach(function (t, i) { listEl.appendChild(renderTabRow(t, i)); }); +} + +function renderPercentList() { + var q = (query || "").trim(); + renderEmpty(q ? T("sd_go_to_pct", "Go to %s% of the layer range", q) : T("sd_enter_pct", "Enter a layer percentage (0-100)")); +} + +function renderList() { + if (phase === "tab") + renderTabList(); + else if (phase === "percent") + renderPercentList(); + else + renderCommandsList(); +} + +// The action the footer describes: the current selection resolved through the active list/fav bar. +function currentDetailAction() { + if (phase !== "commands") return null; + var id = selectedActionId(sel, currentList(), currentVisibleFavs()); + return id ? byId(id) : null; +} + +// Footer detail strip: the selected action's description, its wiki link and the expand/collapse +// arrow. Shown whenever the highlighted action has a description or a wiki page; expanding is a +// persisted global preference, so the arrow stays available to collapse/expand every tooltip. +function renderDetail() { + if (!detailEl) return; + var a = currentDetailAction(); + var hasDesc = detailToggleVisible(a); + var show = phase === "commands" && actionHasDetail(a); + detailEl.hidden = !show; + detailEl.innerHTML = ""; + if (!show) return; + if (hasDesc && TOOLTIP_EXPANDED) { + var desc = document.createElement("div"); + desc.className = "detail-desc"; + desc.textContent = a.desc; + detailEl.appendChild(desc); + } + // The wiki link is part of the expanded detail, so collapsing hides it too. An action with only a + // wiki (no description) has nothing to collapse, so its link always shows. + if (a.wiki && (!hasDesc || TOOLTIP_EXPANDED)) { + var link = document.createElement("button"); + link.type = "button"; + link.className = "detail-wiki"; + link.textContent = T("sd_wiki_f1", "Wiki (F1)"); + link.onclick = function (ev) { ev.stopPropagation(); SendMessage({ command: "open_wiki", id: a.id }); }; + detailEl.appendChild(link); + } + if (hasDesc) { + var toggle = document.createElement("button"); + toggle.type = "button"; + toggle.className = "detail-toggle"; + toggle.setAttribute("aria-expanded", TOOLTIP_EXPANDED ? "true" : "false"); + var label = TOOLTIP_EXPANDED ? T("sd_hide_details", "Hide details") : T("sd_show_details", "Show details"); + toggle.title = label; + toggle.setAttribute("aria-label", label); + toggle.innerHTML = ''; + toggle.onclick = function (ev) { + ev.stopPropagation(); + TOOLTIP_EXPANDED = !TOOLTIP_EXPANDED; + SendMessage({ command: "set_tooltip_expanded", expanded: TOOLTIP_EXPANDED }); + render({ resize: true }); + }; + detailEl.appendChild(toggle); + } +} + +// Refresh the muted inline completion shown at the end of the search field. Only offered in the +// commands phase, with the caret at the end of a non-empty, non-trailing-space input that isn't +// scrolled (so the overlay lines up with the real caret). The ghost is the typed text (hidden, to +// reserve its width) followed by the suggested suffix, so it sits exactly after the caret. +function updateGhost() { + activeCompletion = null; + if (!ghostEl || !qEl) return; + var eligible = phase === "commands" && qEl.value && qEl.selectionStart === qEl.value.length && + !/\s$/.test(qEl.value) && qEl.scrollWidth <= qEl.clientWidth; + var comp = eligible ? completionFor(query, currentList()) : null; + if (!comp) { ghostEl.hidden = true; return; } + ghostTypedEl.textContent = qEl.value; + ghostSuffixEl.textContent = comp.suffix; + ghostEl.hidden = false; + activeCompletion = comp; } function render(opts) { - renderFav(); - renderList(); - scrollSelectedIntoView(); - if (opts && opts.resetScroll) - resetScrollPositions(listEl, document); - if (opts && opts.resize) - requestResize(); + renderFav(); + renderList(); + renderDetail(); + updateGhost(); + // Pin toggles don't move the selection, so they pass keepScroll to avoid snapping the list + // back to a row that is currently off-screen. + if (!(opts && opts.keepScroll)) + scrollSelectedIntoView(); + if (opts && opts.resetScroll) + resetScrollPositions(listEl, document); + if (opts && opts.resize) + requestResize(); } // Keep the selected item in view as arrows move it: the list scrolls vertically, the fav bar // horizontally (arrow nav "pushes" the scrollable fav row to follow the selection). function scrollSelectedIntoView() { - var el = null; - if (sel.zone === "list" && listEl) - el = listEl.querySelector(".row.sel"); - else if (sel.zone === "fav" && favEl) - el = favEl.querySelector(".fav-tile.sel"); - if (el && el.scrollIntoView) - el.scrollIntoView({ block: "nearest", inline: "nearest" }); + var el = null; + if (sel.zone === "list" && listEl) + el = listEl.querySelector(".row.sel"); + else if (sel.zone === "fav" && favEl) + el = favEl.querySelector(".fav-tile.sel"); + if (el && el.scrollIntoView) + el.scrollIntoView({ block: "nearest", inline: "nearest" }); } function requestResize() { - if (!document.body) - return; - setTimeout(function () { + if (!document.body) + return; + setTimeout(function () { + var launcher = document.querySelector(".launcher"); + if (!launcher) + return; + // Include any overflow (WebKit can report a -webkit-box border box a fraction short of its + // content), so the window never clips the footer's last line. + var height = Math.ceil(Math.max(launcher.getBoundingClientRect().height, launcher.scrollHeight)); + if (!height) + return; + // Always (re)send rather than caching: a resize can be measured but dropped (e.g. while the + // window is being shown) and an unchanged-size cache would then suppress every retry. C++ + // SetClientSize is a no-op on an unchanged size, so this is cheap. + SendMessage({ command: "resize", height: height }); + }, 0); +} + +// Transient inline hint pinned to the top of the launcher (e.g. "favourites are full"). +function flashHint(text) { + if (!document.body) return; var launcher = document.querySelector(".launcher"); - if (!launcher) - return; - var height = Math.ceil(launcher.getBoundingClientRect().height); - if (!height || height === lastResizeHeight) - return; - lastResizeHeight = height; - SendMessage({ command: "resize", height: height }); - }, 0); + if (!launcher) return; + var hint = document.createElement("div"); + hint.className = "dial-flash"; + hint.textContent = text; + launcher.insertBefore(hint, launcher.firstChild); + setTimeout(function () { + if (hint && hint.parentNode) { + hint.parentNode.removeChild(hint); + requestResize(); // reclaim the hint's height so the popup doesn't stay tall + } + }, 2500); } // ---- actions ----------------------------------------------------------------- function toggleFav(id) { - var k = FAVS.indexOf(id); - var newState = k === -1; - if (newState) FAVS.push(id); else FAVS.splice(k, 1); - SendMessage({ command: "toggle_favourite", id: id, fav: newState }); - render({ resize: true }); + var k = FAVS.indexOf(id); + var newState = k === -1; + if (newState) FAVS.push(id); else FAVS.splice(k, 1); + SendMessage({ command: "toggle_favourite", id: id, fav: newState }); + render({ resize: true, keepScroll: true }); } -// Fire the action; C++ owns the run-confirm (native dialog) + suppression, then closes the popup + toasts. +// Fire a command/plugin action; C++ owns the run-confirm (native dialog) + suppression, then +// closes the popup + toasts. function run(a) { - if (!a) return; - SendMessage({ command: "run_action", id: a.id, title: a.title }); + if (!a) return; + SendMessage({ command: "run_action", id: a.id, title: a.title, param: "" }); +} + +// Activate an entry in the main phase. Two-phase commands switch the palette to their input phase +// instead of running; everything else (including a setting jump, which is a plain action now) runs. +function activateEntry(a) { + if (!a) return; + if (a.input === "percent") { enterPercentPhase(); return; } + if (a.input === "tab") { enterTabsPhase(); return; } + run(a); } function runSelected() { - var id = selectedActionId(sel, filterActions(ACTIONS, query), currentVisibleFavs(), query); - if (id) run(byId(id)); + if (phase === "percent") { + runJumpToLayer(query.trim()); + return; + } + if (phase === "tab") { + var t = currentList()[sel.i]; + if (t) jumpToTab(t); + return; + } + var list = currentList(); + var id = selectedActionId(sel, list, currentVisibleFavs()); + if (id) activateEntry(byId(id)); } -function focusInput() { setTimeout(function () { qEl.focus(); }, 0); } +function runJumpToLayer(pct) { + if (pct === "") return; + var n = parseFloat(pct); + if (!isFinite(n) || n < 0 || n > 100) return; + var a = findActionByInput("percent"); + if (!a) return; + SendMessage({ command: "run_action", id: a.id, title: a.title, param: String(n) }); +} + +function jumpToTab(t) { + var a = findActionByInput("tab"); + if (!a || !t) return; + SendMessage({ command: "run_action", id: a.id, title: a.title, param: t.id }); +} + +// Clear the shared query/cursor state when entering or leaving a phase. Callers set the +// phase-specific placeholder, then render. +function resetPhaseInput() { + query = ""; qEl.value = ""; sel = { zone: "list", i: 0 }; + syncClearButton(); +} + +function enterPercentPhase() { + phase = "percent"; + resetPhaseInput(); + qEl.placeholder = T("sd_go_layer_ph", "Go to layer % (0-100)"); + render({ resize: true, resetScroll: true }); + qEl.focus(); +} + +function enterTabsPhase() { + phase = "tab"; tabOptions = []; + resetPhaseInput(); + qEl.placeholder = T("sd_go_tab_ph", "Go to tab"); + render({ resize: true, resetScroll: true }); + qEl.focus(); + SendMessage({ command: "search_tabs" }); +} + +function exitPhase() { + phase = "commands"; tabOptions = []; + resetPhaseInput(); + // why: builtKey caches phase|query so renderCommandsList can skip a rebuild on arrow-nav/click. + // It survives a second-phase exit (which never goes through exitPhase from the commands view), + // so without a reset the cached empty-query key would skip the rebuild and leave stale content. + builtKey = ""; + qEl.placeholder = T("sd_search_n", "Search %s actions", ACTIONS.length); + render({ resize: true, resetScroll: true }); + qEl.focus(); +} + +function focusInput() { setTimeout(function () { if (qEl) qEl.focus(); }, 0); } // ---- init -------------------------------------------------------------------- function OnInit() { - qEl = $("q"); listEl = $("list"); favEl = $("favBar"); clearEl = $("clear"); eyeEl = $("favEyebrow"); countEl = $("count"); - syncClearButton(); - - $("clear").onclick = function () { - query = ""; qEl.value = ""; sel = { zone: "list", i: 0 }; render({ resize: true, resetScroll: true }); qEl.focus(); - syncClearButton(); - }; - qEl.addEventListener("input", function () { - query = qEl.value; sel = { zone: "list", i: 0 }; syncClearButton(); render({ resize: true, resetScroll: true }); - }); - - // why: dismiss the fav context menu on any click/scroll away from it (capture scroll to catch nested scrollers). - document.addEventListener("click", hideFavMenu); - document.addEventListener("scroll", hideFavMenu, true); - - document.addEventListener("keydown", function (e) { - if (favMenuEl && !favMenuEl.hidden && e.key === "Escape") { e.preventDefault(); hideFavMenu(); return; } - var arr = filterActions(ACTIONS, query); - var favs = currentVisibleFavs(); - // why: Up/Down always navigate; Left/Right only navigate the fav bar. In the list zone, - // let Left/Right fall through so they move the caret in the focused search field. - var lr = e.key === "ArrowLeft" || e.key === "ArrowRight"; - if (e.key === "ArrowDown" || e.key === "ArrowUp" || (lr && sel.zone === "fav")) { - e.preventDefault(); - sel = nextSel(sel, e.key, arr.length, favs.length); - // why: entering/leaving the fav zone toggles the eyebrow line, changing launcher height; - // resize so the popup grows/shrinks instead of clipping. requestResize no-ops when unchanged. - render({ resize: true }); - } else if (e.key === "Enter") { - e.preventDefault(); - runSelected(); - } else if (e.key === "Escape") { - e.preventDefault(); - if (query) { query = ""; qEl.value = ""; sel = { zone: "list", i: 0 }; syncClearButton(); render({ resize: true, resetScroll: true }); } - else SendMessage({ command: "close_page" }); + qEl = $("q"); listEl = $("list"); favEl = $("favBar"); clearEl = $("clear"); eyeEl = $("favEyebrow"); countEl = $("count"); detailEl = $("detail"); + ghostEl = $("ghost"); ghostTypedEl = $("ghostTyped"); ghostSuffixEl = $("ghostSuffix"); + // text.js's TranslatePage() targets jQuery `.trans` nodes; this page has none and defines its own + // `$`, so don't call it. Runtime strings go through T() instead. + qEl.placeholder = T("sd_search", "Search actions"); + qEl.setAttribute("aria-label", T("sd_search", "Search actions")); + if (clearEl) { + clearEl.title = T("sd_clear", "Clear"); + clearEl.setAttribute("aria-label", T("sd_clear", "Clear")); } - }); + syncClearButton(); - SendMessage({ command: "request_actions" }); + $("clear").onclick = function () { + resetPhaseInput(); + render({ resize: true, resetScroll: true }); + qEl.focus(); + }; + qEl.addEventListener("input", function () { + query = qEl.value; sel = { zone: "list", i: 0 }; syncClearButton(); + render({ resize: true, resetScroll: true }); + }); + // Caret moves without a value change (click / arrow keys) can enable or invalidate the ghost. + qEl.addEventListener("keyup", updateGhost); + qEl.addEventListener("click", updateGhost); + // Windowed reveal: as the list scrolls, materialize the next window (append-only, no rebuild) so the + // DOM stays bounded to what's near the viewport. Guarded to the commands phase (tabs/percent are tiny). + listEl.addEventListener("scroll", function () { + if (phase !== "commands") + return; + var list = currentList(); + if (renderEnd >= list.length) + return; + var firstVisible = Math.max(0, Math.floor(listEl.scrollTop / ROW_H)); + // Reveal the viewport + a full window of lookahead so fast scrolling doesn't hit a blank tail. + revealTo(list, revealTarget(list.length, firstVisible, 2 * K_ROWS)); + }); + + // why: dismiss the fav context menu on any click/scroll away from it (capture scroll to catch nested scrollers). + document.addEventListener("click", hideFavMenu); + document.addEventListener("scroll", hideFavMenu, true); + + document.addEventListener("keydown", function (e) { + if (favMenuEl && !favMenuEl.hidden && e.key === "Escape") { e.preventDefault(); hideFavMenu(); return; } + // F1 opens the selected setting's wiki page. Settings without one flash a hint instead. + if (e.key === "F1") { + e.preventDefault(); + if (phase !== "commands") return; + var help = currentDetailAction(); + if (actionHasWiki(help)) SendMessage({ command: "open_wiki", id: help.id }); + else flashHint(T("sd_no_wiki", "No wiki page for this action")); + return; + } + // Accept the inline completion: append the suggested word's suffix. Text only - the list + // selection is left where it is; Enter still runs the highlighted result. Shift+Tab is left + // alone so keyboard focus traversal still works. + if (e.key === "Tab" && phase === "commands" && activeCompletion && + !e.altKey && !e.ctrlKey && !e.metaKey && !e.shiftKey) { + e.preventDefault(); + qEl.value += activeCompletion.suffix; + query = qEl.value; + syncClearButton(); + render({ resize: true, resetScroll: true }); + qEl.focus(); + return; + } + // Pin/unpin the highlighted action: Ctrl/Cmd+B. Commands phase only (tabs/percent aren't pinnable). + if (phase === "commands" && (e.ctrlKey || e.metaKey) && !e.altKey && !e.shiftKey && + e.key.toLowerCase() === "b") { + e.preventDefault(); + var id = selectedActionId(sel, currentList(), currentVisibleFavs()); + if (id) toggleFav(id); + return; + } + // Quick-launch a numbered favourite: Alt/Option + digit (0 = the 10th). Only in the + // commands phase, where the pinned bar is shown. + if (phase === "commands" && e.altKey && !e.ctrlKey && !e.metaKey) { + var slotIdx = favIndexForDigit(favDigitFromEvent(e)); + var favIds = currentVisibleFavs(); + if (slotIdx >= 0 && slotIdx < favIds.length) { + e.preventDefault(); + var fav = byId(favIds[slotIdx]); + if (fav) activateEntry(fav); + return; + } + } + var list = currentList(); + // why: fav bar only exists in the commands phase; other phases are list-only, so an + // ArrowUp at the top must not jump into a hidden fav zone. + var favs = (phase === "commands") ? currentVisibleFavs() : []; + // why: Up/Down always navigate; Left/Right only navigate the fav bar. In the list zone, + // let Left/Right fall through so they move the caret in the focused search field. + var lr = e.key === "ArrowLeft" || e.key === "ArrowRight"; + if (e.key === "ArrowDown" || e.key === "ArrowUp" || (lr && sel.zone === "fav")) { + // In the percent phase the input control owns the caret - arrows edit text, not rows. + if (phase === "percent") return; + e.preventDefault(); + sel = nextSel(sel, e.key, list.length, favs.length); + // why: entering/leaving the fav zone toggles the eyebrow line, changing launcher height; + // resize so the popup grows/shrinks instead of clipping. + render({ resize: true }); + } else if (e.key === "Enter") { + e.preventDefault(); + if (phase === "percent") runJumpToLayer(query.trim()); + else runSelected(); + } else if (e.key === "Escape") { + e.preventDefault(); + if (phase !== "commands") { exitPhase(); } + else if (query) { query = ""; qEl.value = ""; sel = { zone: "list", i: 0 }; syncClearButton(); render({ resize: true, resetScroll: true }); qEl.focus(); } + else SendMessage({ command: "close_page" }); + } + }); + + // Keep the dialog sized to the content: any reflow that lands after a render (tooltip + // expand/collapse or clamped-box settling, font metrics, list reveal) re-measures. Without this + // a later reflow left the window a few pixels short and clipped the footer's last line. + if (typeof ResizeObserver !== "undefined") { + new ResizeObserver(function () { requestResize(); }).observe(document.querySelector(".launcher")); + } + // Font metrics can swap after first layout; re-measure once they settle. + if (document.fonts && document.fonts.ready && document.fonts.ready.then) + document.fonts.ready.then(function () { requestResize(); }); + + SendMessage({ command: "request_actions" }); } diff --git a/resources/web/dialog/SpeedDial/speeddial.test.js b/resources/web/dialog/SpeedDial/speeddial.test.js index 05c1e69c23..03099df91b 100644 --- a/resources/web/dialog/SpeedDial/speeddial.test.js +++ b/resources/web/dialog/SpeedDial/speeddial.test.js @@ -13,33 +13,427 @@ vm.runInContext(fs.readFileSync(__dirname + "/speeddial.js", "utf8"), ctx); assert.equal(typeof ctx.parseId, "undefined", "opaque action ids must never be parsed"); const duplicateActions = [ - { id: "0123456789abcdef", title: "Repair", source: "Mesh Tools" }, - { id: "fedcba9876543210", title: "Repair", source: "Mesh Tools" } + { id: "0123456789abcdef", title: "Repair", source: "Mesh Tools" }, + { id: "fedcba9876543210", title: "Repair", source: "Mesh Tools" } ]; assert.equal( - ctx.actionLabel(duplicateActions[0], duplicateActions), - "Repair from Mesh Tools (0123456789abcdef)", - "duplicate labels should use the opaque id without interpreting its contents" + ctx.actionLabel(duplicateActions[0], duplicateActions), + "Repair from Mesh Tools (0123456789abcdef)", + "duplicate labels should use the opaque id without interpreting its contents" ); -assert.equal(ctx.shouldRenderActionList(""), false, "an empty search keeps the action list hidden"); -assert.equal(ctx.shouldRenderActionList(" "), false, "whitespace-only search keeps the action list hidden"); +assert.equal(ctx.shouldRenderActionList(""), false, "an empty search shows the recents+pool list"); +assert.equal(ctx.shouldRenderActionList(" "), false, "whitespace-only search shows the recents+pool list"); assert.equal(ctx.shouldRenderActionList("r"), true, "typing starts rendering matching actions"); +// commandList: an empty query shows recents first, then every other action; a typed query filters all. +assert.deepEqual(ctx.commandList(duplicateActions, [], ""), duplicateActions, + "empty query + no recents shows the whole action pool"); +assert.deepEqual(ctx.commandList(duplicateActions, [duplicateActions[0]], ""), + [duplicateActions[0], duplicateActions[1]], + "empty query shows the recent first, then the remaining actions"); +assert.deepEqual(ctx.commandList(duplicateActions, [], "rep"), duplicateActions, + "a typed query filters actions (both identical titles match) instead of showing recents"); + +// filterTabs (tab phase): an empty query keeps the whole list; a typed query filters by title/id. +const tabOptions = [ + { id: "home", title: "Home" }, + { id: "prepare", title: "Prepare" }, + { id: "monitor", title: "Device" }, + { id: "project", title: "Project" } +]; +assert.deepEqual(ctx.filterTabs(tabOptions, ""), tabOptions, + "empty query keeps the whole tab list"); +assert.equal(ctx.filterTabs(tabOptions, "prep").length, 1, + "a typed query filters tabs by title"); +assert.equal(ctx.filterTabs(tabOptions, "Device").length, 1, + "a typed query matches a tab title"); +assert.deepEqual(ctx.filterTabs(tabOptions, "zzz"), [], + "a typed query with no match returns an empty list"); + +// tabTitle: pages added with an empty title (e.g. MainFrame's Home tab) fall back to the id. +assert.equal(ctx.tabTitle({ id: "home", title: "" }), "Home", + "an empty title falls back to the title-cased id"); +assert.equal(ctx.tabTitle({ id: "home" }), "Home", + "a missing title falls back to the title-cased id"); +assert.equal(ctx.tabTitle({ id: "prepare", title: "Prepare" }), "Prepare", + "a populated title is kept as-is"); +assert.equal(ctx.tabTitle({ id: "prepare", title: " Prepare" }), "Prepare", + "a stray leading space in a tab title is trimmed so the label shows cleanly"); +assert.equal(ctx.filterTabs([{ id: "home", title: "" }], "home").length, 1, + "an untitled tab still matches a typed query via the id/title fallback"); +assert.equal(ctx.filterTabs([{ id: "prepare", title: " Prepare" }], "prepare").length, 1, + "a leading-space tab title still matches a typed query"); + +// The main phase is ONE pool: commands/plugins/settings are all actions, ranked by relevance +// (no group headers, no actions-vs-settings discrimination). +const pool = [ + { id: "c1", title: "Layer Height", source: "Quality", group: "Quality : Layers", input: "" }, + { id: "s1", title: "Go to layer (percent)", source: "OrcaSlicer", group: "Commands", input: "percent" }, + { id: "c2", title: "Top Surface Layers", source: "Quality", group: "Quality : Layers", input: "" } +]; +assert.deepEqual(ctx.searchActions(pool, ""), pool, "an empty query returns the pool unchanged"); +assert.equal(ctx.searchActions(pool, "zzz").length, 0, "a query with no match returns nothing"); +// "layer" matches multiple; the exact-titled action ranks above the loosely-matching command. +assert.equal(ctx.searchActions(pool, "layer")[0].id, "c1", + "a title-exact match ranks above a partial match"); +assert.equal(ctx.searchActions(pool, "layer").length >= 2, true, + "both a setting and a command match the same query in the same list"); +assert.equal(ctx.searchActions(pool, "surface")[0].id, "c2", + "a later-but-precise match still ranks by relevance, not by pool type"); + +// A perfect match (the needle as one contiguous run) outranks a fuzzy match of the same field - and a +// contiguous GROUP/header hit ("Recent Projects") beats a scattered fuzzy TITLE hit ("Retraction Length"), +// which is what the old flat title-bonus ranking got backwards. +const perfectPool = [ + { id: "set", title: "Retraction Length", source: "Process : Quality : Retraction", group: "", input: "" }, + { id: "recent", title: "myproject.3mf", source: "/home/me/projects/myproject.3mf", group: "Recent Projects", input: "" } +]; +assert.equal(ctx.searchActions(perfectPool, "recent")[0].id, "recent", + "a contiguous header/group match ranks above a scattered fuzzy title match"); +// Within a perfect match, the row-name (title) outranks the header (group): the action whose TITLE +// contains the needle perfectly beats the action whose GROUP does, both being contiguous matches. +const titleFirstPool = [ + { id: "grp", title: "Delete Selected", source: "OrcaSlicer", group: "Object", input: "" }, + { id: "t", title: "Object Preview", source: "OrcaSlicer", group: "View", input: "" } +]; +assert.equal(ctx.searchActions(titleFirstPool, "object")[0].id, "t", + "a perfect title match ranks above an equally-perfect group match"); + +// Highlighting: the needle is matched as a whole word / most-contiguous run, so "orient" lights up the +// whole word in "Auto-Orient" instead of the stray "o" of "Auto" plus "rient" (greedy-leftmost). +const orientPool = [ + { id: "ao", title: "Auto-Orient", source: "OrcaSlicer", group: "Object", input: "" } +]; +ctx.searchActions(orientPool, "orient"); +assert.deepEqual(ctx.matchIndex.ao.title, [[5, 11]], + "a whole-word match highlights the full word, not a scattered fuzzy pick"); + +// A fuzzy source-only match with a very late start still counts, even though its score is negative; +// the old `score < 0` sentinel mistook it for "no field matched" and dropped the action. +const negativePool = [ + { id: "n", title: "Unrelated", source: "o" + "x".repeat(200) + "rnt", group: "", input: "" } +]; +assert.equal(ctx.searchActions(negativePool, "ornt").length, 1, + "a low-score fuzzy match is not mistaken for no match"); + +// A setting whose displayed title is the page row label keeps the descriptive ConfigOptionDef name as +// a search-only alias, so the old wording still finds it without being shown. +const aliasPool = [ + { id: "rev", title: "Reverse on even", full_label: "Overhang reversal", source: "Process : Quality : Overhangs", group: "", input: "" } +]; +assert.deepEqual(ctx.searchActions(aliasPool, "overhang reversal").map(function (a) { return a.id; }), ["rev"], + "the descriptive full_label is searchable even though the title shows the row label"); +assert.equal(ctx.matchIndex.rev.title, null, + "an alias-only match does not highlight the displayed title"); +assert.deepEqual(ctx.searchActions(aliasPool, "reversal").map(function (a) { return a.id; }), ["rev"], + "a token that exists only in the full_label still matches"); + +// Multi-token cross-field search: each whitespace-separated word must match SOME searchable field, +// but different words may match different fields. "inner" is the title while "speed" and +// "acceleration" live in the source breadcrumb, so the query as a whole is never contiguous in one +// field - the old single-needle match found nothing for this. +const crossPool = [ + { id: "acc", title: "Inner wall", source: "Process : Speed : Acceleration", group: "", input: "" }, + { id: "spd", title: "Inner wall", source: "Process : Speed : Other layers speed", group: "", input: "" }, + { id: "other", title: "Outer wall", source: "Process : Quality : Walls", group: "", input: "" } +]; +assert.deepEqual( + ctx.searchActions(crossPool, "speed acceleration inner").map(function (a) { return a.id; }), + ["acc"], + "words may match different fields and every word is required" +); +assert.deepEqual( + ctx.searchActions(crossPool, "speed inner").map(function (a) { return a.id; }).sort(), + ["acc", "spd"], + "a two-word title+source query matches every setting under Speed" +); +assert.deepEqual( + ctx.searchActions(crossPool, "quality inner").map(function (a) { return a.id; }), + [], + "an action is dropped when any one word matches no field" +); +// Highlighting merges the per-field ranges the tokens produced. +ctx.searchActions(crossPool, "speed acceleration inner"); +assert.deepEqual(ctx.matchIndex.acc.title, [[0, 5]], "the title token highlights in the title"); +assert.deepEqual(ctx.matchIndex.acc.source, [[10, 15], [18, 30]], "each path token highlights in the breadcrumb"); + +assert.deepEqual(ctx.queryTokens(" Speed Acceleration "), ["speed", "acceleration"], + "a query splits into normalized whitespace-separated tokens"); +assert.deepEqual(ctx.queryTokens(""), [], "an empty query has no tokens"); + +// Inline completion: the LAST token is completed to a word in the top-ranked result, name first then +// breadcrumb. Pure - the caller appends `suffix`. +const compPool = [ + { id: "acc", title: "Inner wall", source: "Process : Speed : Acceleration", group: "", input: "" }, + { id: "smooth", title: "Smooth", source: "Process : Speed : Other layers speed", group: "", input: "" } +]; +assert.equal(ctx.completionFor("speed acc", ctx.searchActions(compPool, "speed acc")).suffix, "eleration", + "the last token completes to the next word in the breadcrumb"); +assert.equal(ctx.completionFor("inner w", ctx.searchActions(compPool, "inner w")).suffix, "all", + "the title is preferred over the breadcrumb for completion"); +assert.equal(ctx.completionFor("inner wall", ctx.searchActions(compPool, "inner wall")), null, + "an already-complete word has nothing to add"); +assert.equal(ctx.completionFor("", compPool), null, "an empty query has no completion"); +assert.equal(ctx.completionFor("zzz", ctx.searchActions(compPool, "zzz")), null, + "a query with no match has no completion"); + +// actionCategory: a command/dynamic action's group is its category; a setting uses the top-level +// source segment; every plugin shares one header; a category-less action falls back to "Other". +assert.equal(ctx.actionCategory({ id: "c", group: "Help", source: "OrcaSlicer", kind: "command" }), "Help", + "a command's group is its category"); +assert.equal(ctx.actionCategory({ id: "s", group: "", source: "Process : Quality : Layers", kind: "command" }), "Process", + "a setting's category is the top-level source segment"); +assert.equal(ctx.actionCategory({ id: "s", group: "", source: "Filament : Cooling", kind: "command" }), "Filament", + "a Filament setting groups under Filament"); +assert.equal(ctx.actionCategory({ id: "plugin_script_action:Foo:bar.py", group: "", source: "Gcode Optimizer", kind: "plugin" }), "Plugins", + "every plugin shares one Plugins header"); +assert.equal(ctx.actionCategory({ id: "x", group: "", source: "", kind: "command" }), "Other", + "a category-less action falls back to Other"); + +// groupActions: bucket by category, order the groups alphabetically, keep the incoming order within +// each group (the pool arrives frecency-sorted). +const groupPool = [ + { id: "q1", title: "Q1", source: "Quality", group: "Quality", kind: "command" }, + { id: "h1", title: "H1", source: "OrcaSlicer", group: "Help", kind: "command" }, + { id: "p1", title: "P1", source: "Process : A", group: "", kind: "command" }, + { id: "h2", title: "H2", source: "OrcaSlicer", group: "Help", kind: "command" } +]; +assert.deepEqual(ctx.groupActions(groupPool).map(function (a) { return a.id; }), ["h1", "h2", "p1", "q1"], + "groups are alphabetical and each group keeps its incoming order"); + +// commandList (the main-phase list) delegates to the ranked search for a typed query and returns +// recents + the category-grouped pool for an empty query. +const mixed = [ + { id: "cmd", title: "Slice", source: "OrcaSlicer", group: "Commands", kind: "command", input: "" }, + { id: "set", title: "Sparse Infill Density", source: "Quality", group: "Quality", kind: "command", input: "" } +]; +assert.equal(ctx.commandList(mixed, [], "sli")[0].id, "cmd", + "a typed query keeps the relevance-ranked action list (best match first)"); +assert.deepEqual(ctx.commandList(mixed, mixed.slice(0, 1), "").map(function (a) { return a.id; }), ["cmd", "set"], + "an empty query shows the recents first and de-dupes them out of the tail"); +assert.deepEqual(ctx.commandList(mixed, [], "").map(function (a) { return a.id; }), ["cmd", "set"], + "empty query + no recents shows the whole action pool"); +assert.deepEqual(ctx.commandList(mixed, [mixed[1]], "").map(function (a) { return a.id; }), ["set", "cmd"], + "the recent is hoisted above the alphabetically-ordered groups"); + +// commandSections: "Recent" (when recents exist) plus one header per category in the grouped list; +// a typed query or an empty list yields no headers. Uses a computed grouped list so the recents +// hoist and the category ordering are exercised together. +const sectionPool = [ + { id: "cmd", title: "Slice", source: "OrcaSlicer", group: "Commands", kind: "command" }, + { id: "help", title: "Shortcuts", source: "OrcaSlicer", group: "Help", kind: "command" }, + { id: "set", title: "Infill", source: "Quality", group: "Quality", kind: "command" } +]; +const sectionList = ctx.commandList(sectionPool, [sectionPool[0]], ""); +assert.deepEqual(sectionList.map(function (a) { return a.id; }), ["cmd", "help", "set"], + "recents are hoisted, then the rest is grouped alphabetically (Commands, Help, Quality)"); +assert.deepEqual(ctx.commandSections(sectionList, 1, ""), { 0: "Recent", 1: "Help", 2: "Quality" }, + "recents + grouped actions get one header per category"); +assert.deepEqual(ctx.commandSections([sectionPool[0]], 1, ""), { 0: "Recent" }, + "a list that is all recents gets only the Recent header"); +assert.deepEqual(ctx.commandSections(ctx.commandList(sectionPool, [], ""), 0, ""), + { 0: "Commands", 1: "Help", 2: "Quality" }, + "with no recents the grouped list still gets category headers"); +assert.equal(ctx.commandSections(sectionList, 1, "sli"), null, + "a typed query has no section headers"); +assert.equal(ctx.commandSections([], 0, ""), null, + "an empty list has no section headers"); + +// selectedActionId: resolves the active list (recents+pool for an empty query, filtered list otherwise). assert.equal( - ctx.selectedActionId({ zone: "list", i: 0 }, duplicateActions, [], ""), - null, - "Enter with an empty query must not resolve to an action the blank list never showed" + ctx.selectedActionId({ zone: "list", i: 0 }, ctx.commandList(duplicateActions, [], ""), []), + "0123456789abcdef", + "Enter with an empty query resolves the first action in the recents+pool list" ); assert.equal( - ctx.selectedActionId({ zone: "list", i: 0 }, duplicateActions, [], "rep"), - "0123456789abcdef", - "a typed query resolves the list selection" + ctx.selectedActionId({ zone: "list", i: 0 }, ctx.commandList(duplicateActions, [], "rep"), []), + "0123456789abcdef", + "a typed query resolves the list selection" ); assert.equal( - ctx.selectedActionId({ zone: "fav", i: 0 }, duplicateActions, ["fedcba9876543210"], ""), - "fedcba9876543210", - "favourites stay runnable with an empty query - the fav bar is always visible" + ctx.selectedActionId({ zone: "list", i: 0 }, ctx.commandList(duplicateActions, [duplicateActions[0]], ""), []), + "0123456789abcdef", + "Enter with an empty query resolves the recent entry" +); +assert.equal( + ctx.selectedActionId({ zone: "fav", i: 0 }, duplicateActions, ["fedcba9876543210"]), + "fedcba9876543210", + "favourites stay runnable with an empty query - the fav bar is always visible" ); +// Fav quick-launch slots: digit 1..9 -> index 0..8, digit 0 -> index 9 (the 10th), else -1. +assert.equal(ctx.favIndexForDigit("1"), 0, "digit 1 maps to the 1st favourite slot"); +assert.equal(ctx.favIndexForDigit("9"), 8, "digit 9 maps to the 9th favourite slot"); +assert.equal(ctx.favIndexForDigit("0"), 9, "digit 0 maps to the 10th (last) favourite slot"); +assert.equal(ctx.favIndexForDigit("x"), -1, "non-digit keys are not a slot"); +assert.equal(ctx.favIndexForDigit(""), -1, "an empty key is not a slot"); + +// Badge label per 0-based index: 0..8 -> "1".."9", index 9 -> "0", out of range -> null. +assert.equal(ctx.favSlotForIndex(0), "1", "index 0 shows badge 1"); +assert.equal(ctx.favSlotForIndex(8), "9", "index 8 shows badge 9"); +assert.equal(ctx.favSlotForIndex(9), "0", "index 9 shows badge 0 (the 10th slot)"); +assert.equal(ctx.favSlotForIndex(10), null, "index 10 is beyond the cap"); +assert.equal(ctx.favSlotForIndex(-1), null, "negative index is not a slot"); +assert.equal(ctx.K_FAV_LIMIT, 10, "the slot count matches the quick-launch cap"); + +// favDigitFromEvent: prefer the physical code (so macOS Option+digit still maps even though e.key +// is the composed symbol), and fall back to e.key for keyboards/synthetic events without a code. +assert.equal(ctx.favDigitFromEvent({ code: "Digit1", key: "¡" }), "1", "Digit1 wins over a composed key"); +assert.equal(ctx.favDigitFromEvent({ code: "Digit0", key: "0" }), "0", "Digit0 is a physical digit"); +assert.equal(ctx.favDigitFromEvent({ code: "Numpad7", key: "7" }), "7", "numpad digits count"); +assert.equal(ctx.favDigitFromEvent({ code: "", key: "3" }), "3", "a missing code falls back to key"); +assert.equal(ctx.favDigitFromEvent({ key: "a" }), "a", "non-digit input is passed through (maps to -1)"); +assert.equal(ctx.favDigitFromEvent(null), "", "a null event yields no digit"); + +// nextSel: arrow-nav wrapping. Down wraps at the list bottom to the first row; Up wraps at the +// list top to the last row ONLY when there's no fav bar above (else it goes to the fav bar). +assert.deepEqual(ctx.nextSel({ zone: "list", i: 2 }, "ArrowDown", 3, 0), { zone: "list", i: 0 }, + "ArrowDown at the last row wraps to the first row"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 1 }, "ArrowDown", 3, 0), { zone: "list", i: 2 }, + "ArrowDown in the middle advances by one"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 0 }, "ArrowUp", 3, 0), { zone: "list", i: 2 }, + "ArrowUp at the first row with no fav bar wraps to the last row"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 0 }, "ArrowUp", 3, 2), { zone: "fav", i: 0 }, + "ArrowUp at the first row with a fav bar goes to the fav bar (unchanged)"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 2 }, "ArrowUp", 3, 0), { zone: "list", i: 1 }, + "ArrowUp in the middle moves up by one"); +assert.deepEqual(ctx.nextSel({ zone: "fav", i: 1 }, "ArrowDown", 3, 2), { zone: "list", i: 0 }, + "ArrowDown from the fav bar lands on the first list row"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 0 }, "ArrowDown", 1, 0), { zone: "list", i: 0 }, + "a single-row list never wraps off the end"); +assert.deepEqual(ctx.nextSel({ zone: "list", i: 0 }, "ArrowUp", 1, 0), { zone: "list", i: 0 }, + "ArrowUp on the only row stays put"); + +// Windowed list reveal: how many rows must be materialized to cover `fromIndex` plus `size` more, +// clamped to the total. Drives the "render the next window on scroll / arrow-nav" append. +assert.equal(ctx.revealTarget(100, 0, 100), 100, "covers the whole list when the window reaches the end"); +assert.equal(ctx.revealTarget(100, 60, 100), 100, "clamps to the total at the tail"); +assert.equal(ctx.revealTarget(30, 5, 100), 30, "a short list is fully covered"); +assert.equal(ctx.revealTarget(100, 5, 50), 55, "reveals exactly fromIndex + size"); +assert.equal(ctx.revealTarget(100, -5, 50), 50, "negative start is clamped to the first row"); +assert.equal(ctx.revealTarget(200, 50, 100), 150, "a scroll viewpoint reveals a window past the current rows"); +assert.equal(ctx.revealTarget(10, 0, 50), 10, "a list shorter than one window stays fully materialized"); + +// spacerHeight: un-rendered rows (44px) plus un-rendered section headers (30px), never negative. +assert.equal(ctx.spacerHeight(100, 50, 0, 0), 50 * 44, "the tail rows reserve their full height"); +assert.equal(ctx.spacerHeight(100, 100, 0, 0), 0, "a fully-rendered list needs no spacer"); +assert.equal(ctx.spacerHeight(100, 50, 3, 1), 50 * 44 + 2 * 30, "pending section headers reserve their height too"); +assert.equal(ctx.spacerHeight(10, 0, 2, 0), 10 * 44 + 2 * 30, "a short list still reserves its headers"); +assert.equal(ctx.spacerHeight(0, 0, 0, 0), 0, "an empty list has no spacer"); +assert.equal(ctx.spacerHeight(10, 20, 0, 5), 0, "over-rendered counters clamp to zero"); + +// visibleFavourites: the quick-bar drops pins whose action no longer exists (plugin unloaded, +// command removed) and collapses duplicate ids, keeping the persisted pin order. +assert.deepEqual(ctx.visibleFavourites(["a", "b", "c"], [{ id: "a" }, { id: "b" }]), + ["a", "b"], "a pin with no live action is dropped from the quick-bar"); +assert.deepEqual(ctx.visibleFavourites(["b", "a", "b"], [{ id: "a" }, { id: "b" }]), + ["b", "a"], "duplicate pins collapse to the first occurrence"); +assert.deepEqual(ctx.visibleFavourites([], [{ id: "a" }]), [], "no pins renders an empty quick-bar"); +assert.deepEqual(ctx.visibleFavourites(["a"], []), [], "a stale config with no actions renders nothing"); + +// actionIcon: the SVG base name for a tile's pictogram, or "" when the action has none (blank tile). +assert.equal(ctx.actionIcon({ id: "x", title: "Slice", icon: "media_play" }), "media_play", + "an action's icon base name is returned verbatim"); +assert.equal(ctx.actionIcon({ id: "x", title: "Go to tab...", icon: "" }), "", + "an empty icon renders a blank tile"); +assert.equal(ctx.actionIcon({ id: "x", title: "Plugin action" }), "", + "a missing icon field renders a blank tile"); +assert.equal(ctx.actionIcon(null), "", + "a null action (tab row) renders a blank tile"); + +// tileIcon: the base name a tile renders - the action's own icon when present, else the placeholder. +assert.equal(ctx.tileIcon({ id: "x", title: "Slice", icon: "media_play" }), "media_play", + "an action with an icon keeps it"); +assert.equal(ctx.tileIcon({ id: "x", title: "Go to tab...", icon: "" }), "action_default", + "an empty icon falls back to the placeholder"); +assert.equal(ctx.tileIcon({ id: "x", title: "Plugin action" }), "action_default", + "a missing icon falls back to the placeholder"); +assert.equal(ctx.DEFAULT_ICON, "action_default", "the placeholder is the dedicated default glyph"); +assert.ok(fs.existsSync(__dirname + "/../../../images/action_default.svg"), + "the placeholder SVG ships alongside the page's other icons"); + +// needsModeSwitch: a setting is gated only when its required mode outranks the user's current mode. +assert.equal(ctx.needsModeSwitch({ mode: "advanced" }, "simple"), true, "Advanced is gated in Simple mode"); +assert.equal(ctx.needsModeSwitch({ mode: "expert" }, "simple"), true, "Expert is gated in Simple mode"); +assert.equal(ctx.needsModeSwitch({ mode: "expert" }, "advanced"), true, "Expert is gated in Advanced mode"); +assert.equal(ctx.needsModeSwitch({ mode: "develop" }, "expert"), true, "Developer is gated in Expert mode"); +assert.equal(ctx.needsModeSwitch({ mode: "simple" }, "simple"), false, "a Simple setting is not gated"); +assert.equal(ctx.needsModeSwitch({ mode: "advanced" }, "advanced"), false, "an Advanced setting is not gated in Advanced mode"); +assert.equal(ctx.needsModeSwitch({ mode: "develop" }, "develop"), false, "a Developer setting is not gated in Developer mode"); +assert.equal(ctx.needsModeSwitch({}, "simple"), false, "a command with no mode is never gated"); + +// MODE_RANK must match the C++ ConfigOptionMode order (comSimple < comAdvanced < comExpert < comDevelop). +assert.deepEqual(ctx.MODE_RANK, { simple: 0, advanced: 1, expert: 2, develop: 3 }, + "mode rank matches the C++ ConfigOptionMode order"); + +// modeBadge: the tag text for gated settings, empty once the setting is available. +assert.equal(ctx.modeBadge({ mode: "advanced" }, "simple"), "Advanced", "Advanced badge text"); +assert.equal(ctx.modeBadge({ mode: "expert" }, "simple"), "Expert", "Expert badge text"); +assert.equal(ctx.modeBadge({ mode: "develop" }, "simple"), "Developer", "Developer badge text"); +assert.equal(ctx.modeBadge({ mode: "advanced" }, "advanced"), "", "no badge when the mode already matches"); + +// modeFilterFromQuery: whole-word, case-insensitive mode keywords -> internal mode values. "developer" +// maps to the internal "develop"; "simple" is deliberately not a keyword; a prefix is not a match. +assert.deepEqual(ctx.modeFilterFromQuery("advanced"), ["advanced"], "Advanced is a mode keyword"); +assert.deepEqual(ctx.modeFilterFromQuery("Expert"), ["expert"], "the keyword is case-insensitive"); +assert.deepEqual(ctx.modeFilterFromQuery("developer"), ["develop"], "Developer maps to the develop value"); +assert.deepEqual(ctx.modeFilterFromQuery("develop"), ["develop"], "the internal develop spelling also works"); +assert.deepEqual(ctx.modeFilterFromQuery("expert retraction"), ["expert"], "a keyword is found among other text"); +assert.deepEqual(ctx.modeFilterFromQuery("advanced expert"), ["advanced", "expert"], "multiple keywords are deduped in order"); +assert.deepEqual(ctx.modeFilterFromQuery("advanced advanced"), ["advanced"], "a repeated keyword is deduped"); +assert.deepEqual(ctx.modeFilterFromQuery("simple"), [], "Simple is not a mode keyword"); +assert.deepEqual(ctx.modeFilterFromQuery("advance"), [], "a mode-word prefix is not a whole-word match"); +assert.deepEqual(ctx.modeFilterFromQuery(""), [], "an empty query names no mode"); + +// searchActions mode union: a mode keyword keeps the normal text matches AND appends every setting +// requiring that mode. Not a filter - a Simple setting literally named "Advanced..." still shows, and +// commands (mode "simple") are never pulled in by a keyword. +const modePool = [ + { id: "a1", title: "Top Surface Layers", source: "Quality", group: "Quality : Layers", mode: "advanced" }, + { id: "a2", title: "Advanced Detection", source: "Quality", group: "Quality", mode: "simple" }, + { id: "a3", title: "Retraction Length", source: "Process", group: "Process : Quality", mode: "expert" }, + { id: "a4", title: "Slice", source: "OrcaSlicer", group: "Commands", mode: "simple" } +]; +var adv = ctx.searchActions(modePool, "advanced"); +assert.deepEqual(adv.map(function (a) { return a.id; }), ["a2", "a1"], + "a text match (a2) ranks above the mode-only setting (a1), and no expert/command leaks in"); +var expert = ctx.searchActions(modePool, "expert"); +assert.deepEqual(expert.map(function (a) { return a.id; }), ["a3"], "the expert keyword pulls in the expert setting"); +assert.deepEqual(ctx.searchActions(modePool, "developer"), [], "no developer settings means no mode extras"); +assert.equal(ctx.searchActions(modePool, "retraction")[0].id, "a3", + "a query with no mode keyword is unaffected by the mode union"); +assert.equal(ctx.searchActions([{ id: "both", title: "Advanced", source: "Quality", group: "", mode: "advanced" }], "advanced").length, + 1, "a setting that both matches text and requires the mode appears exactly once"); + +// actionHasWiki: the footer's wiki link/F1 path is offered only when the action carries a wiki flag. +assert.equal(ctx.actionHasWiki({ id: "x", wiki: true }), true, "a wiki-flagged setting offers the wiki action"); +assert.equal(ctx.actionHasWiki({ id: "x", wiki: false }), false, "a setting without a wiki path offers nothing"); +assert.equal(ctx.actionHasWiki({ id: "x" }), false, "a missing wiki field offers nothing"); +assert.equal(ctx.actionHasWiki(null), false, "no action selected offers nothing"); + +// actionHasDetail: the footer strip appears only when the highlighted action has a description or +// wiki link; selecting a plain command hides it. +assert.equal(ctx.actionHasDetail({ id: "a", desc: "Layer height" }), true, "a description shows the footer"); +assert.equal(ctx.actionHasDetail({ id: "a", wiki: true }), true, "a wiki link shows the footer"); +assert.equal(ctx.actionHasDetail({ id: "a", desc: "Layer height", wiki: true }), true, "both show the footer"); +assert.equal(ctx.actionHasDetail({ id: "a", desc: "" }), false, "an empty description hides the footer"); +assert.equal(ctx.actionHasDetail({ id: "a", desc: "", wiki: false }), false, "empty description and false wiki hide the footer"); +assert.equal(ctx.actionHasDetail({ id: "a" }), false, "an action with neither hides the footer"); +assert.equal(ctx.actionHasDetail(null), false, "no selected action hides the footer"); + +// detailToggleVisible: the expand/collapse arrow is offered only when there is a description to +// toggle. Collapse is a global preference, so the control stays for short tooltips too. +assert.equal(ctx.detailToggleVisible({ id: "a", desc: "Layer height" }), true, "a description offers the toggle"); +assert.equal(ctx.detailToggleVisible({ id: "a", desc: "" }), false, "an empty description offers no toggle"); +assert.equal(ctx.detailToggleVisible({ id: "a", wiki: true }), false, "a wiki-only action has nothing to collapse"); +assert.equal(ctx.detailToggleVisible({ id: "a" }), false, "an action with no description offers no toggle"); +assert.equal(ctx.detailToggleVisible(null), false, "no selected action offers no toggle"); + +// stateFromPayload: the footer expansion is a persisted global and defaults to expanded when the +// C++ payload omits it (first run / older config). +assert.equal(ctx.stateFromPayload({}).tooltipExpanded, true, "expansion defaults to true when absent"); +assert.equal(ctx.stateFromPayload({ tooltip_expanded: false }).tooltipExpanded, false, "a collapsed payload is honored"); +assert.equal(ctx.stateFromPayload({ tooltip_expanded: true }).tooltipExpanded, true, "an expanded payload is honored"); + console.log("ok"); diff --git a/resources/web/dialog/SpeedDial/style.css b/resources/web/dialog/SpeedDial/style.css index 72de412f66..3aaeddb460 100644 --- a/resources/web/dialog/SpeedDial/style.css +++ b/resources/web/dialog/SpeedDial/style.css @@ -1,225 +1,549 @@ -* { box-sizing: border-box; } -html, body { margin: 0; } -body { - font-family: var(--orca-font, "Segoe UI", sans-serif); - font-size: 13px; - color: var(--text, var(--orca-fg, #1b1c1e)); - background: var(--bg, var(--orca-bg, #fff)); - overflow: hidden; - user-select: none; +* { + box-sizing: border-box; } + +html, +body { + margin: 0; +} + +body { + font-family: var(--orca-font, "Segoe UI", sans-serif); + font-size: 13px; + color: var(--text, var(--orca-fg, #1b1c1e)); + background: var(--bg, var(--orca-bg, #fff)); + overflow: hidden; + user-select: none; +} + .launcher { - display: flex; - flex-direction: column; - background: var(--panel, var(--orca-bg, #fff)); - border: 1px solid var(--border, var(--orca-border, #ddd)); - overflow: hidden; - /* why: no height cap here - the launcher reports its true natural height to C++, which + display: flex; + flex-direction: column; + background: var(--panel, var(--orca-bg, #fff)); + border: 1px solid var(--border, var(--orca-border, #ddd)); + border-radius: 7px; + overflow: hidden; + /* why: no height cap here - the launcher reports its true natural height to C++, which sizes the popup to match (HTML is source of truth). The list's own max-height is what bounds growth; capping the launcher would make the measurement circular. */ } + .fav-bar { - flex: 0 0 auto; - display: flex; - align-items: center; - gap: 8px; - padding: 9px 10px; - border-bottom: 1px solid var(--border, var(--orca-border, #ddd)); - overflow-x: auto; /* scroll horizontally once favourites overflow the row */ - scrollbar-width: thin; - /* why: keep scrollIntoView (arrow-nav) from scrolling the first/last tile flush to the edge, + flex: 0 0 auto; + display: flex; + align-items: center; + gap: 8px; + padding: 9px 10px; + border-bottom: 1px solid var(--border, var(--orca-border, #ddd)); + overflow-x: auto; + /* scroll horizontally once favourites overflow the row */ + scrollbar-width: thin; + /* why: keep scrollIntoView (arrow-nav) from scrolling the first/last tile flush to the edge, which would clip its selected outline. Matches the 10px horizontal padding. */ - scroll-padding-inline: 10px; + scroll-padding-inline: 10px; } -.fav-bar[hidden] { display: none; } + +.fav-bar[hidden] { + display: none; +} + /* Name of the selected favourite, above the bar; left-aligned to the tiles' 10px inset. */ -.fav-eyebrow { flex: 0 0 auto; padding: 8px 10px 0; } +.fav-eyebrow { + flex: 0 0 auto; + padding: 8px 10px 0; +} + .fav-tile { - flex: 0 0 auto; /* keep tiles full-size; don't shrink to fit - scroll instead */ - width: 30px; - height: 30px; - border: 0; - border-radius: 8px; - cursor: pointer; - color: hsl(var(--h) var(--speed-tile-text-s, 72%) var(--speed-tile-text-l, 38%)); - font-weight: 700; - /* why: mirror .tile centering - tileCode can be 2-3 chars (e.g. "EA1") on collision, and a - bare