From 291d21cd37c30e474fe8a3046e32d9e8d1b8aeb8 Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Sat, 24 Aug 2019 00:05:18 +0200 Subject: [PATCH] Use URL param and drop down in footer to select language --- locale/en/LC_MESSAGES/boxes.py.mo | Bin 0 -> 54345 bytes po/en.po | 3876 +++++++++++++++++++++++++++++ scripts/boxesserver | 90 +- 3 files changed, 3949 insertions(+), 17 deletions(-) create mode 100644 locale/en/LC_MESSAGES/boxes.py.mo create mode 100644 po/en.po diff --git a/locale/en/LC_MESSAGES/boxes.py.mo b/locale/en/LC_MESSAGES/boxes.py.mo new file mode 100644 index 0000000000000000000000000000000000000000..c50e0912760b2501139f2afc8eef198ef56ed1ca GIT binary patch literal 54345 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 gG>N!`)E$=OciAZ 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 F{||XsRZsu` literal 0 HcmV?d00001 diff --git a/po/en.po b/po/en.po new file mode 100644 index 0000000..b9fbead --- /dev/null +++ b/po/en.po @@ -0,0 +1,3876 @@ +# English translations for PACKAGE package. +# Copyright (C) 2019 THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Florian Festi , 2019. +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2019-08-23 14:09+0200\n" +"PO-Revision-Date: 2019-08-23 19:42+0200\n" +"Last-Translator: Florian Festi \n" +"Language-Team: English\n" +"Language: en\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. name of generator group +#: boxes/generators/__init__.py +msgid "Box" +msgstr "Box" + +#. title of group Box +#: boxes/generators/__init__.py +msgid "Boxes" +msgstr "Boxes" + +#. name of generator group +#: boxes/generators/__init__.py +msgid "FlexBox" +msgstr "FlexBox" + +#. title of group FlexBox +#: boxes/generators/__init__.py +msgid "Boxes with flex" +msgstr "Boxes with flex" + +#. name of generator group +#: boxes/generators/__init__.py +msgid "Tray" +msgstr "Tray" + +#. title of group Tray +#: boxes/generators/__init__.py +msgid "Trays and Drawer Inserts" +msgstr "Trays and Drawer Inserts" + +#. name of generator group +#: boxes/generators/__init__.py +msgid "Shelf" +msgstr "Shelf" + +#. title of group Shelf +#: boxes/generators/__init__.py +msgid "Shelves" +msgstr "Shelves" + +#. name of generator group +#: boxes/generators/__init__.py +msgid "SlatWall" +msgstr "SlatWall" + +#. name of generator group +#: boxes/generators/__init__.py +msgid "Part" +msgstr "Part" + +#. title of group Part +#: boxes/generators/__init__.py +msgid "Parts and Samples" +msgstr "Parts and Samples" + +#. name of generator group +#: boxes/generators/__init__.py +msgid "Misc" +msgstr "Misc" + +#. name of generator group +#: boxes/generators/__init__.py +msgid "Unstable" +msgstr "Unstable" + +#. description of group Unstable +#: boxes/generators/__init__.py +msgid "Generators are still untested or need manual adjustment to be useful." +msgstr "Generators are still untested or need manual adjustment to be useful." + +msgid "DefaultParams Settings" +msgstr "DefaultParams Settings" + +#. parameter name +msgid "x" +msgstr "x" + +#. help for parameter x +msgid "inner width in mm (unless outside selected)" +msgstr "inner width in mm (unless outside selected)" + +#. parameter name +msgid "y" +msgstr "y" + +#. help for parameter y +msgid "inner depth in mm (unless outside selected)" +msgstr "inner depth in mm (unless outside selected)" + +#. parameter name +msgid "h" +msgstr "h" + +#. help for parameter h +msgid "inner height in mm (unless outside selected)" +msgstr "inner height in mm (unless outside selected)" + +#. parameter name +msgid "hi" +msgstr "hi" + +#. help for parameter hi +msgid "" +"inner height of inner walls in mm (unless outside selected)(leave to zero " +"for same as outer walls)" +msgstr "" +"inner height of inner walls in mm (unless outside selected)(leave to zero " +"for same as outer walls)" + +#. parameter name +msgid "sx" +msgstr "sx" + +#. help for parameter sx +msgid "sections left to right in mm. See --sy for format" +msgstr "sections left to right in mm. See --sy for format" + +#. parameter name +msgid "sy" +msgstr "sy" + +#. help for parameter sy +msgid "" +"sections back to front in mm. Possible formats: overallwidth/numberof " +"sections e.g. \"250/5\"; sectionwidth*numberofsections e.g. \"50*5\"; " +"section widths separated by \":\" e.g. \"30:25.5:70" +msgstr "" +"sections back to front in mm. Possible formats: overallwidth/numberof " +"sections e.g. \"250/5\"; sectionwidth*numberofsections e.g. \"50*5\"; " +"section widths separated by \":\" e.g. \"30:25.5:70" + +#. parameter name +msgid "sh" +msgstr "sh" + +#. help for parameter sh +msgid "sections bottom to top in mm. See --sy for format" +msgstr "sections bottom to top in mm. See --sy for format" + +#. parameter name +msgid "bottom_edge" +msgstr "bottom_edge" + +#. help for parameter bottom_edge +msgid "edge type for bottom edge" +msgstr "edge type for bottom edge" + +#. possible choice for bottom_edge +msgid "F" +msgstr "F" + +#. possible choice for bottom_edge +msgid "s" +msgstr "s" + +#. possible choice for bottom_edge +msgid "e" +msgstr "e" + +#. parameter name +msgid "top_edge" +msgstr "top_edge" + +#. help for parameter top_edge +msgid "edge type for top edge" +msgstr "edge type for top edge" + +#. possible choice for top_edge +msgid "f" +msgstr "f" + +#. possible choice for top_edge +msgid "c" +msgstr "c" + +#. possible choice for top_edge +msgid "E" +msgstr "E" + +#. possible choice for top_edge +msgid "S" +msgstr "S" + +#. possible choice for top_edge +msgid "i" +msgstr "i" + +#. possible choice for top_edge +msgid "k" +msgstr "k" + +#. possible choice for top_edge +msgid "v" +msgstr "v" + +#. possible choice for top_edge +msgid "L" +msgstr "L" + +#. possible choice for top_edge +msgid "t" +msgstr "t" + +#. parameter name +msgid "outside" +msgstr "outside" + +#. help for parameter outside +msgid "treat sizes as outside measurements that include the walls" +msgstr "treat sizes as outside measurements that include the walls" + +#. parameter name +msgid "nema_mount" +msgstr "nema_mount" + +#. help for parameter nema_mount +msgid "NEMA size of motor" +msgstr "NEMA size of motor" + +msgid "Default Settings" +msgstr "Default Settings" + +#. parameter name +msgid "thickness" +msgstr "thickness" + +#. help for parameter thickness +msgid "thickness of the material" +msgstr "thickness of the material" + +#. parameter name +msgid "format" +msgstr "format" + +#. help for parameter format +msgid "format of resulting file" +msgstr "format of resulting file" + +#. possible choice for format +msgid "ai" +msgstr "ai" + +#. possible choice for format +msgid "dxf" +msgstr "dxf" + +#. possible choice for format +msgid "gcode" +msgstr "gcode" + +#. possible choice for format +msgid "pdf" +msgstr "pdf" + +#. possible choice for format +msgid "plt" +msgstr "plt" + +#. possible choice for format +msgid "ps" +msgstr "ps" + +#. possible choice for format +msgid "svg" +msgstr "svg" + +#. possible choice for format +msgid "svg_Ponoko" +msgstr "svg_Ponoko" + +#. parameter name +msgid "tabs" +msgstr "tabs" + +#. help for parameter tabs +msgid "" +"width of tabs holding the parts in place in mm (not supported everywhere)" +msgstr "" +"width of tabs holding the parts in place in mm (not supported everywhere)" + +#. parameter name +msgid "debug" +msgstr "debug" + +#. help for parameter debug +msgid "print surrounding boxes for some structures" +msgstr "print surrounding boxes for some structures" + +#. parameter name +msgid "reference" +msgstr "reference" + +#. help for parameter reference +msgid "print reference rectangle with given length (zero to disable)" +msgstr "print reference rectangle with given length (zero to disable)" + +#. parameter name +msgid "burn" +msgstr "burn" + +#. help for parameter burn +msgid "burn correction in mm (bigger values for tighter fit)" +msgstr "burn correction in mm (bigger values for tighter fit)" + +msgid "Settings for Finger Joints" +msgstr "Settings for Finger Joints" + +#. parameter name for FingerJoint +msgid "angle" +msgstr "angle" + +#. parameter name for FingerJoint +msgid "surroundingspaces" +msgstr "surroundingspaces" + +#. help for parameter surroundingspaces +msgid "maximum space at the start and end in multiple of normal spaces" +msgstr "maximum space at the start and end in multiple of normal spaces" + +#. parameter name for FingerJoint +msgid "edge_width" +msgstr "edge_width" + +#. help for parameter edge_width +msgid "space below holes of FingerHoleEdge" +msgstr "space below holes of FingerHoleEdge" + +#. parameter name for FingerJoint +msgid "finger" +msgstr "finger" + +#. help for parameter finger +msgid "width of the fingers" +msgstr "width of the fingers" + +#. parameter name for FingerJoint +msgid "play" +msgstr "play" + +#. help for parameter play +msgid "extra space to allow movement" +msgstr "extra space to allow movement" + +#. parameter name for FingerJoint +msgid "space" +msgstr "space" + +#. help for parameter space +msgid "space between fingers" +msgstr "space between fingers" + +#. parameter name for FingerJoint +msgid "width" +msgstr "width" + +#. help for parameter width +msgid "width of finger holes" +msgstr "width of finger holes" + +msgid "Settings for Stackable Edges" +msgstr "Settings for Stackable Edges" + +#. help for parameter angle +msgid "inside angle of the feet" +msgstr "inside angle of the feet" + +#. parameter name for Stackable +msgid "height" +msgstr "height" + +#. help for parameter height +msgid "height of the feet" +msgstr "height of the feet" + +#. parameter name for Stackable +msgid "holedistance" +msgstr "holedistance" + +#. help for parameter holedistance +msgid "distance from finger holes to bottom edge" +msgstr "distance from finger holes to bottom edge" + +#. help for parameter width +msgid "width of the feet" +msgstr "width of the feet" + +msgid "Settings for Hinges and HingePins" +msgstr "Settings for Hinges and HingePins" + +#. parameter name for Hinge +msgid "grip_percentage" +msgstr "grip_percentage" + +#. parameter name for Hinge +msgid "outset" +msgstr "outset" + +#. help for parameter outset +msgid "have lid overlap at the sides (similar to OutSetEdge)" +msgstr "have lid overlap at the sides (similar to OutSetEdge)" + +#. parameter name for Hinge +msgid "pinwidth" +msgstr "pinwidth" + +#. help for parameter pinwidth +msgid "set to lower value to get disks surrounding the pins" +msgstr "set to lower value to get disks surrounding the pins" + +#. parameter name for Hinge +msgid "style" +msgstr "style" + +#. help for parameter style +msgid "\"outset\" or \"flush\"" +msgstr "\"outset\" or \"flush\"" + +#. possible choice for style +msgid "flush" +msgstr "flush" + +#. parameter name for Hinge +msgid "axle" +msgstr "axle" + +#. help for parameter axle +msgid "diameter of the pin hole" +msgstr "diameter of the pin hole" + +#. parameter name for Hinge +msgid "grip_length" +msgstr "grip_length" + +#. help for parameter grip_length +msgid "fixed length of the grips on he lids" +msgstr "fixed length of the grips on he lids" + +#. parameter name for Hinge +msgid "hingestrength" +msgstr "hingestrength" + +#. help for parameter hingestrength +msgid "thickness of the arc holding the pin in place" +msgstr "thickness of the arc holding the pin in place" + +msgid "Settings for Slide-on Lids" +msgstr "Settings for Slide-on Lids" + +#. parameter name for Lid +msgid "second_pin" +msgstr "second_pin" + +#. parameter name for Lid +msgid "spring" +msgstr "spring" + +#. possible choice for spring +msgid "both" +msgstr "both" + +#. possible choice for spring +msgid "none" +msgstr "none" + +#. possible choice for spring +msgid "left" +msgstr "left" + +#. possible choice for spring +msgid "right" +msgstr "right" + +msgid "Settings for Click-on Lids" +msgstr "Settings for Click-on Lids" + +#. parameter name for Click +msgid "bottom_radius" +msgstr "bottom_radius" + +#. parameter name for Click +msgid "depth" +msgstr "depth" + +msgid "Settings for Flex" +msgstr "Settings for Flex" + +#. parameter name for Flex +msgid "stretch" +msgstr "stretch" + +#. help for parameter stretch +msgid "Hint of how much the flex part should be shortend" +msgstr "Hint of how much the flex part should be shortend" + +#. parameter name for Flex +msgid "connection" +msgstr "connection" + +#. help for parameter connection +msgid "width of the gaps in the cuts" +msgstr "width of the gaps in the cuts" + +#. parameter name for Flex +msgid "distance" +msgstr "distance" + +#. help for parameter distance +msgid "width of the pattern perpendicular to the cuts" +msgstr "width of the pattern perpendicular to the cuts" + +#. name of box generator +#: boxes/generators/alledges.py +msgid "AllEdges" +msgstr "AllEdges" + +#. description of AllEdges +#: boxes/generators/alledges.py +msgid "Showing all edge types" +msgstr "Showing all edge types" + +msgid "AllEdges Settings" +msgstr "AllEdges Settings" + +#. name of box generator +#: boxes/generators/angledbox.py +msgid "AngledBox" +msgstr "AngledBox" + +#. description of AngledBox +#: boxes/generators/angledbox.py +msgid "Box with both ends cornered" +msgstr "Box with both ends cornered" + +msgid "AngledBox Settings" +msgstr "AngledBox Settings" + +#. parameter name +#: boxes/generators/angledbox.py +msgid "n" +msgstr "n" + +#. help for parameter n +#: boxes/generators/angledbox.py +msgid "number of walls at one side (1+)" +msgstr "number of walls at one side (1+)" + +#. parameter name +#: boxes/generators/angledbox.py +msgid "top" +msgstr "top" + +#. help for parameter top +#: boxes/generators/angledbox.py +msgid "style of the top and lid" +msgstr "style of the top and lid" + +#. possible choice for top +#: boxes/generators/angledbox.py +msgid "angled hole" +msgstr "angled hole" + +#. possible choice for top +#: boxes/generators/angledbox.py +msgid "angled lid" +msgstr "angled lid" + +#. possible choice for top +#: boxes/generators/angledbox.py +msgid "angled lid2" +msgstr "angled lid2" + +#. name of box generator +#: boxes/generators/angledcutjig.py +msgid "AngledCutJig" +msgstr "AngledCutJig" + +#. description of AngledCutJig +#: boxes/generators/angledcutjig.py +msgid "Jig for making angled cuts in a laser cutter" +msgstr "Jig for making angled cuts in a laser cutter" + +msgid "AngledCutJig Settings" +msgstr "AngledCutJig Settings" + +#. help for parameter angle +#: boxes/generators/angledcutjig.py +msgid "Angle of the cut" +msgstr "Angle of the cut" + +#. name of box generator +#: boxes/generators/arcade.py +msgid "Arcade" +msgstr "Arcade" + +#. description of Arcade +#: boxes/generators/arcade.py +msgid "Desktop Arcade Maschine" +msgstr "Desktop Arcade Maschine" + +msgid "Arcade Settings" +msgstr "Arcade Settings" + +#. help for parameter width +#: boxes/generators/arcade.py +msgid "inner width of the console" +msgstr "inner width of the console" + +#. name of box generator +#: boxes/generators/bintray.py +msgid "BinTray" +msgstr "BinTray" + +#. description of BinTray +#: boxes/generators/bintray.py +msgid "A Type tray variant to be used up right with sloped walls in front" +msgstr "A Type tray variant to be used up right with sloped walls in front" + +msgid "BinTray Settings" +msgstr "BinTray Settings" + +#. parameter name +#: boxes/generators/bintray.py +msgid "front" +msgstr "front" + +#. help for parameter front +#: boxes/generators/bintray.py +msgid "fraction of bin height covert with slope" +msgstr "fraction of bin height covert with slope" + +#. name of box generator +#: boxes/generators/cardbox.py +msgid "CardBox" +msgstr "CardBox" + +#. description of CardBox +#: boxes/generators/cardbox.py +msgid "Box for storage of playingcards" +msgstr "Box for storage of playingcards" + +msgid "CardBox Settings" +msgstr "CardBox Settings" + +#. parameter name +#: boxes/generators/cardbox.py +msgid "cardwidth" +msgstr "cardwidth" + +#. help for parameter cardwidth +#: boxes/generators/cardbox.py +msgid "Width of the cards" +msgstr "Width of the cards" + +#. parameter name +#: boxes/generators/cardbox.py +msgid "cardheight" +msgstr "cardheight" + +#. help for parameter cardheight +#: boxes/generators/cardbox.py +msgid "Height of the cards" +msgstr "Height of the cards" + +#. parameter name +#: boxes/generators/cardbox.py +msgid "num" +msgstr "num" + +#. help for parameter num +#: boxes/generators/cardbox.py +msgid "number of compartments" +msgstr "number of compartments" + +#. name of box generator +#: boxes/generators/castle.py +msgid "Castle" +msgstr "Castle" + +#. description of Castle +#: boxes/generators/castle.py +msgid "Castle tower with two walls" +msgstr "Castle tower with two walls" + +msgid "Castle Settings" +msgstr "Castle Settings" + +#. name of box generator +#: boxes/generators/closedbox.py +msgid "ClosedBox" +msgstr "ClosedBox" + +#. description of ClosedBox +#: boxes/generators/closedbox.py +msgid "Fully closed box" +msgstr "Fully closed box" + +msgid "ClosedBox Settings" +msgstr "ClosedBox Settings" + +#. name of box generator +#: boxes/generators/concaveknob.py +msgid "ConcaveKnob" +msgstr "ConcaveKnob" + +#. description of ConcaveKnob +#: boxes/generators/concaveknob.py +msgid "Round knob serrated outside for better gripping" +msgstr "Round knob serrated outside for better gripping" + +msgid "ConcaveKnob Settings" +msgstr "ConcaveKnob Settings" + +#. parameter name +#: boxes/generators/concaveknob.py +msgid "diameter" +msgstr "diameter" + +#. help for parameter diameter +#: boxes/generators/concaveknob.py +msgid "Diameter of the knob (mm)" +msgstr "Diameter of the knob (mm)" + +#. parameter name +#: boxes/generators/concaveknob.py +msgid "serrations" +msgstr "serrations" + +#. help for parameter serrations +#: boxes/generators/concaveknob.py +msgid "Number of serrations" +msgstr "Number of serrations" + +#. parameter name +#: boxes/generators/concaveknob.py +msgid "rounded" +msgstr "rounded" + +#. help for parameter rounded +#: boxes/generators/concaveknob.py +msgid "Amount of circumference used for non convex parts" +msgstr "Amount of circumference used for non convex parts" + +#. help for parameter angle +#: boxes/generators/concaveknob.py +msgid "Angle between convex and concave parts" +msgstr "Angle between convex and concave parts" + +#. parameter name +#: boxes/generators/concaveknob.py +msgid "bolthole" +msgstr "bolthole" + +#. help for parameter bolthole +#: boxes/generators/concaveknob.py +msgid "Diameter of the bolt hole (mm)" +msgstr "Diameter of the bolt hole (mm)" + +#. parameter name +#: boxes/generators/concaveknob.py +msgid "dhole" +msgstr "dhole" + +#. help for parameter dhole +#: boxes/generators/concaveknob.py +msgid "D-Flat in fraction of the diameter" +msgstr "D-Flat in fraction of the diameter" + +#. parameter name +#: boxes/generators/concaveknob.py +msgid "hexhead" +msgstr "hexhead" + +#. help for parameter hexhead +#: boxes/generators/concaveknob.py +msgid "Width of the hex bolt head (mm)" +msgstr "Width of the hex bolt head (mm)" + +#. name of box generator +#: boxes/generators/discrack.py +msgid "DiscRack" +msgstr "DiscRack" + +#. description of DiscRack +#: boxes/generators/discrack.py +msgid "A rack for storing disk-shaped objects vertically next to each other" +msgstr "A rack for storing disk-shaped objects vertically next to each other" + +msgid "DiscRack Settings" +msgstr "DiscRack Settings" + +#. parameter name +#: boxes/generators/discrack.py +msgid "disc_diameter" +msgstr "disc_diameter" + +#. help for parameter disc_diameter +#: boxes/generators/discrack.py +msgid "Disc diameter in mm" +msgstr "Disc diameter in mm" + +#. parameter name +#: boxes/generators/discrack.py +msgid "disc_thickness" +msgstr "disc_thickness" + +#. help for parameter disc_thickness +#: boxes/generators/discrack.py +msgid "Thickness of the discs in mm" +msgstr "Thickness of the discs in mm" + +#. parameter name +#: boxes/generators/discrack.py +msgid "lower_factor" +msgstr "lower_factor" + +#. help for parameter lower_factor +#: boxes/generators/discrack.py +msgid "Position of the lower rack grids along the radius" +msgstr "Position of the lower rack grids along the radius" + +#. parameter name +#: boxes/generators/discrack.py +msgid "rear_factor" +msgstr "rear_factor" + +#. help for parameter rear_factor +#: boxes/generators/discrack.py +msgid "Position of the rear rack grids along the radius" +msgstr "Position of the rear rack grids along the radius" + +#. parameter name +#: boxes/generators/discrack.py +msgid "disc_outset" +msgstr "disc_outset" + +#. help for parameter disc_outset +#: boxes/generators/discrack.py +msgid "Additional space kept between the disks and the outbox of the rack" +msgstr "Additional space kept between the disks and the outbox of the rack" + +#. help for parameter angle +#: boxes/generators/discrack.py +msgid "Backwards slant of the rack" +msgstr "Backwards slant of the rack" + +#. name of box generator +#: boxes/generators/display.py +msgid "Display" +msgstr "Display" + +#. description of Display +#: boxes/generators/display.py +msgid "Diplay for flyers or leaflets" +msgstr "Diplay for flyers or leaflets" + +msgid "Display Settings" +msgstr "Display Settings" + +#. parameter name +#: boxes/generators/display.py +msgid "radius" +msgstr "radius" + +#. help for parameter radius +#: boxes/generators/display.py +msgid "radius of the corners in mm" +msgstr "radius of the corners in mm" + +#. help for parameter angle +#: boxes/generators/display.py +msgid "greater zero for top wider as bottom" +msgstr "greater zero for top wider as bottom" + +#. name of box generator +#: boxes/generators/displaycase.py +msgid "DisplayCase" +msgstr "DisplayCase" + +#. description of DisplayCase +#: boxes/generators/displaycase.py +msgid "" +"Fully closed box intended to be cut from transparent acrylics and to serve " +"as a display case." +msgstr "" +"Fully closed box intended to be cut from transparent acrylics and to serve " +"as a display case." + +msgid "DisplayCase Settings" +msgstr "DisplayCase Settings" + +#. parameter name +#: boxes/generators/displaycase.py +msgid "overhang" +msgstr "overhang" + +#. help for parameter overhang +#: boxes/generators/displaycase.py +msgid "overhang for joints in mm" +msgstr "overhang for joints in mm" + +#. name of box generator +#: boxes/generators/displayshelf.py +msgid "DisplayShelf" +msgstr "DisplayShelf" + +#. description of DisplayShelf +#: boxes/generators/displayshelf.py +msgid "Shelf with forward slanted floors" +msgstr "Shelf with forward slanted floors" + +msgid "DisplayShelf Settings" +msgstr "DisplayShelf Settings" + +#. help for parameter num +#: boxes/generators/displayshelf.py +msgid "number of shelves" +msgstr "number of shelves" + +#. help for parameter front +#: boxes/generators/displayshelf.py +msgid "height of front walls" +msgstr "height of front walls" + +#. help for parameter angle +#: boxes/generators/displayshelf.py +msgid "angle of floors" +msgstr "angle of floors" + +#. name of box generator +#: boxes/generators/drillbox.py +msgid "DrillBox" +msgstr "DrillBox" + +#. description of DrillBox +#: boxes/generators/drillbox.py +msgid "" +"Not yet parametrized box for drills from 1 to 12.5mm\n" +"in 0.5mm steps, 3 holes each size" +msgstr "" +"Not yet parametrized box for drills from 1 to 12.5mm\n" +"in 0.5mm steps, 3 holes each size" + +msgid "DrillBox Settings" +msgstr "DrillBox Settings" + +#. name of box generator +#: boxes/generators/electronicsbox.py +msgid "ElectronicsBox" +msgstr "ElectronicsBox" + +#. description of ElectronicsBox +#: boxes/generators/electronicsbox.py +msgid "Closed box with screw on top and mounting holes" +msgstr "Closed box with screw on top and mounting holes" + +msgid "ElectronicsBox Settings" +msgstr "ElectronicsBox Settings" + +#. parameter name +#: boxes/generators/electronicsbox.py +msgid "triangle" +msgstr "triangle" + +#. help for parameter triangle +#: boxes/generators/electronicsbox.py +msgid "Sides of the triangles holding the lid in mm" +msgstr "Sides of the triangles holding the lid in mm" + +#. parameter name +#: boxes/generators/electronicsbox.py +msgid "d1" +msgstr "d1" + +#. help for parameter d1 +#: boxes/generators/electronicsbox.py +msgid "Diameter of the inner lid screw holes in mm" +msgstr "Diameter of the inner lid screw holes in mm" + +#. parameter name +#: boxes/generators/electronicsbox.py +msgid "d2" +msgstr "d2" + +#. help for parameter d2 +#: boxes/generators/electronicsbox.py +msgid "Diameter of the lid screw holes in mm" +msgstr "Diameter of the lid screw holes in mm" + +#. parameter name +#: boxes/generators/electronicsbox.py +msgid "d3" +msgstr "d3" + +#. help for parameter d3 +#: boxes/generators/electronicsbox.py +msgid "Diameter of the mounting screw holes in mm" +msgstr "Diameter of the mounting screw holes in mm" + +#. parameter name +#: boxes/generators/electronicsbox.py +msgid "outsidemounts" +msgstr "outsidemounts" + +#. help for parameter outsidemounts +#: boxes/generators/electronicsbox.py +msgid "Add external mounting points" +msgstr "Add external mounting points" + +#. parameter name +#: boxes/generators/electronicsbox.py +msgid "holedist" +msgstr "holedist" + +#. help for parameter holedist +#: boxes/generators/electronicsbox.py +msgid "Distance of the screw holes from the wall in mm" +msgstr "Distance of the screw holes from the wall in mm" + +#. description of FlexBox +#: boxes/generators/flexbox.py +msgid "Box with living hinge and round corners" +msgstr "Box with living hinge and round corners" + +msgid "FlexBox Settings" +msgstr "FlexBox Settings" + +#. help for parameter radius +#: boxes/generators/flexbox.py +msgid "Radius of the latch in mm" +msgstr "Radius of the latch in mm" + +#. parameter name +#: boxes/generators/flexbox.py +msgid "latchsize" +msgstr "latchsize" + +#. help for parameter latchsize +#: boxes/generators/flexbox.py +msgid "size of latch in multiples of thickness" +msgstr "size of latch in multiples of thickness" + +#. name of box generator +#: boxes/generators/flexbox2.py +msgid "FlexBox2" +msgstr "FlexBox2" + +#. description of FlexBox2 +#: boxes/generators/flexbox2.py +msgid "Box with living hinge and top corners rounded" +msgstr "Box with living hinge and top corners rounded" + +msgid "FlexBox2 Settings" +msgstr "FlexBox2 Settings" + +#. help for parameter radius +#: boxes/generators/flexbox2.py +msgid "Radius of the corners in mm" +msgstr "Radius of the corners in mm" + +#. name of box generator +#: boxes/generators/flexbox3.py +msgid "FlexBox3" +msgstr "FlexBox3" + +#. description of FlexBox3 +#: boxes/generators/flexbox3.py +msgid "Box with living hinge" +msgstr "Box with living hinge" + +msgid "FlexBox3 Settings" +msgstr "FlexBox3 Settings" + +#. parameter name +#: boxes/generators/flexbox3.py +msgid "z" +msgstr "z" + +#. help for parameter z +#: boxes/generators/flexbox3.py +msgid "height of the box" +msgstr "height of the box" + +#. help for parameter h +#: boxes/generators/flexbox3.py +msgid "height of the lid" +msgstr "height of the lid" + +#. help for parameter radius +#: boxes/generators/flexbox3.py +msgid "radius of the lids living hinge" +msgstr "radius of the lids living hinge" + +#. help for parameter c +#: boxes/generators/flexbox3.py +msgid "clearance of the lid" +msgstr "clearance of the lid" + +#. name of box generator +#: boxes/generators/flexbox4.py +msgid "FlexBox4" +msgstr "FlexBox4" + +#. description of FlexBox4 +#: boxes/generators/flexbox4.py +msgid "Box with living hinge and left corners rounded" +msgstr "Box with living hinge and left corners rounded" + +msgid "FlexBox4 Settings" +msgstr "FlexBox4 Settings" + +#. name of box generator +#: boxes/generators/flexbox5.py +msgid "FlexBox5" +msgstr "FlexBox5" + +msgid "FlexBox5 Settings" +msgstr "FlexBox5 Settings" + +#. parameter name +#: boxes/generators/flexbox5.py +msgid "top_diameter" +msgstr "top_diameter" + +#. help for parameter top_diameter +#: boxes/generators/flexbox5.py +msgid "diameter at the top" +msgstr "diameter at the top" + +#. parameter name +#: boxes/generators/flexbox5.py +msgid "bottom_diameter" +msgstr "bottom_diameter" + +#. help for parameter bottom_diameter +#: boxes/generators/flexbox5.py +msgid "diameter at the bottom" +msgstr "diameter at the bottom" + +#. name of box generator +#: boxes/generators/flextest.py +msgid "FlexTest" +msgstr "FlexTest" + +#. description of FlexTest +#: boxes/generators/flextest.py +msgid "Piece for testing different flex settings" +msgstr "Piece for testing different flex settings" + +msgid "FlexTest Settings" +msgstr "FlexTest Settings" + +#. name of box generator +#: boxes/generators/flextest2.py +msgid "FlexTest2" +msgstr "FlexTest2" + +#. description of FlexTest2 +#: boxes/generators/flextest2.py +msgid "Piece for testing 2D flex settings" +msgstr "Piece for testing 2D flex settings" + +msgid "FlexTest2 Settings" +msgstr "FlexTest2 Settings" + +#. parameter name +#: boxes/generators/flextest2.py +msgid "fw" +msgstr "fw" + +#. help for parameter fw +#: boxes/generators/flextest2.py +msgid "distance of flex cuts in multiples of thickness" +msgstr "distance of flex cuts in multiples of thickness" + +#. name of box generator +#: boxes/generators/folder.py +msgid "Folder" +msgstr "Folder" + +#. description of Folder +#: boxes/generators/folder.py +msgid "Book cover with flex for the spine" +msgstr "Book cover with flex for the spine" + +msgid "Folder Settings" +msgstr "Folder Settings" + +#. parameter name +#: boxes/generators/folder.py +msgid "r" +msgstr "r" + +#. help for parameter r +#: boxes/generators/folder.py +msgid "radius of the corners" +msgstr "radius of the corners" + +#. name of box generator +#: boxes/generators/gear.py +msgid "Gears" +msgstr "Gears" + +msgid "Gears Settings" +msgstr "Gears Settings" + +#. parameter name +#: boxes/generators/gear.py +msgid "teeth1" +msgstr "teeth1" + +#. help for parameter teeth1 +#: boxes/generators/gear.py +msgid "number of teeth" +msgstr "number of teeth" + +#. parameter name +#: boxes/generators/gear.py +msgid "shaft1" +msgstr "shaft1" + +#. help for parameter shaft1 +#: boxes/generators/gear.py +msgid "diameter of the shaft 1" +msgstr "diameter of the shaft 1" + +#. parameter name +#: boxes/generators/gear.py +msgid "dpercentage1" +msgstr "dpercentage1" + +#. help for parameter dpercentage1 +#: boxes/generators/gear.py +msgid "percent of the D section of shaft 1 (100 for round shaft)" +msgstr "percent of the D section of shaft 1 (100 for round shaft)" + +#. parameter name +#: boxes/generators/gear.py +msgid "teeth2" +msgstr "teeth2" + +#. help for parameter teeth2 +#: boxes/generators/gear.py +msgid "number of teeth in the other size of gears" +msgstr "number of teeth in the other size of gears" + +#. parameter name +#: boxes/generators/gear.py +msgid "shaft2" +msgstr "shaft2" + +#. help for parameter shaft2 +#: boxes/generators/gear.py +msgid "diameter of the shaft2 (zero for same as shaft 1)" +msgstr "diameter of the shaft2 (zero for same as shaft 1)" + +#. parameter name +#: boxes/generators/gear.py +msgid "dpercentage2" +msgstr "dpercentage2" + +#. help for parameter dpercentage2 +#: boxes/generators/gear.py +msgid "percent of the D section of shaft 1 (0 for same as shaft 1)" +msgstr "percent of the D section of shaft 1 (0 for same as shaft 1)" + +#. parameter name +#: boxes/generators/gear.py +msgid "modulus" +msgstr "modulus" + +#. help for parameter modulus +#: boxes/generators/gear.py +msgid "width of teeth in mm" +msgstr "width of teeth in mm" + +#. parameter name +#: boxes/generators/gear.py +msgid "pressure_angle" +msgstr "pressure_angle" + +#. help for parameter pressure_angle +#: boxes/generators/gear.py +msgid "angle of the teeth touching (in degrees)" +msgstr "angle of the teeth touching (in degrees)" + +#. parameter name +#: boxes/generators/gear.py +msgid "profile_shift" +msgstr "profile_shift" + +#. help for parameter profile_shift +#: boxes/generators/gear.py +msgid "in precent of the modulus" +msgstr "in precent of the modulus" + +#. name of box generator +#: boxes/generators/gearbox.py +msgid "GearBox" +msgstr "GearBox" + +#. description of GearBox +#: boxes/generators/gearbox.py +msgid "Gearbox with multiple identical stages" +msgstr "Gearbox with multiple identical stages" + +msgid "GearBox Settings" +msgstr "GearBox Settings" + +#. help for parameter teeth1 +#: boxes/generators/gearbox.py +msgid "number of teeth on ingoing shaft" +msgstr "number of teeth on ingoing shaft" + +#. help for parameter teeth2 +#: boxes/generators/gearbox.py +msgid "number of teeth on outgoing shaft" +msgstr "number of teeth on outgoing shaft" + +#. help for parameter modulus +#: boxes/generators/gearbox.py +msgid "modulus of the theeth in mm" +msgstr "modulus of the theeth in mm" + +#. parameter name +#: boxes/generators/gearbox.py +msgid "shaft" +msgstr "shaft" + +#. help for parameter shaft +#: boxes/generators/gearbox.py +msgid "diameter of the shaft" +msgstr "diameter of the shaft" + +#. parameter name +#: boxes/generators/gearbox.py +msgid "stages" +msgstr "stages" + +#. help for parameter stages +#: boxes/generators/gearbox.py +msgid "number of stages in the gear reduction" +msgstr "number of stages in the gear reduction" + +#. name of box generator +#: boxes/generators/heart.py +msgid "HeartBox" +msgstr "HeartBox" + +#. description of HeartBox +#: boxes/generators/heart.py +msgid "Box in the form of an heart" +msgstr "Box in the form of an heart" + +msgid "HeartBox Settings" +msgstr "HeartBox Settings" + +#. possible choice for top +#: boxes/generators/heart.py +msgid "closed" +msgstr "closed" + +#. possible choice for top +#: boxes/generators/heart.py +msgid "hole" +msgstr "hole" + +#. possible choice for top +#: boxes/generators/heart.py +msgid "lid" +msgstr "lid" + +#. name of box generator +#: boxes/generators/hingebox.py +msgid "HingeBox" +msgstr "HingeBox" + +#. description of HingeBox +#: boxes/generators/hingebox.py +msgid "Box with lid attached by cabinet hinges" +msgstr "Box with lid attached by cabinet hinges" + +msgid "HingeBox Settings" +msgstr "HingeBox Settings" + +#. parameter name +#: boxes/generators/hingebox.py +msgid "lidheight" +msgstr "lidheight" + +#. help for parameter lidheight +#: boxes/generators/hingebox.py +msgid "height of lid in mm" +msgstr "height of lid in mm" + +#. parameter name +#: boxes/generators/hingebox.py +msgid "splitlid" +msgstr "splitlid" + +#. help for parameter splitlid +#: boxes/generators/hingebox.py +msgid "split the lid in y direction (mm)" +msgstr "split the lid in y direction (mm)" + +msgid "Settings for Cabinet Hinges" +msgstr "Settings for Cabinet Hinges" + +#. parameter name for CabinetHinge +#: boxes/generators/hingebox.py +msgid "bore" +msgstr "bore" + +#. help for parameter bore +#: boxes/generators/hingebox.py +msgid "diameter of the pin hole in mm" +msgstr "diameter of the pin hole in mm" + +#. parameter name for CabinetHinge +#: boxes/generators/hingebox.py +msgid "eyes_per_hinge" +msgstr "eyes_per_hinge" + +#. help for parameter eyes_per_hinge +#: boxes/generators/hingebox.py +msgid "pieces per hinge" +msgstr "pieces per hinge" + +#. parameter name for CabinetHinge +#: boxes/generators/hingebox.py +msgid "hinges" +msgstr "hinges" + +#. help for parameter hinges +#: boxes/generators/hingebox.py +msgid "number of hinges per edge" +msgstr "number of hinges per edge" + +#. help for parameter style +#: boxes/generators/hingebox.py +msgid "style of hinge used" +msgstr "style of hinge used" + +#. possible choice for style +#: boxes/generators/hingebox.py +msgid "inside" +msgstr "inside" + +#. parameter name for CabinetHinge +#: boxes/generators/hingebox.py +msgid "eye" +msgstr "eye" + +#. help for parameter eye +#: boxes/generators/hingebox.py +msgid "radius of the eye (in multiples of thickness)" +msgstr "radius of the eye (in multiples of thickness)" + +#. help for parameter play +#: boxes/generators/hingebox.py +msgid "space between eyes (in multiples of thickness)" +msgstr "space between eyes (in multiples of thickness)" + +#. parameter name for CabinetHinge +#: boxes/generators/hingebox.py +msgid "spacing" +msgstr "spacing" + +#. help for parameter spacing +#: boxes/generators/hingebox.py +msgid "minimum space around the hinge" +msgstr "minimum space around the hinge" + +#. name of box generator +#: boxes/generators/hooks.py +msgid "Hook" +msgstr "Hook" + +#. description of Hook +#: boxes/generators/hooks.py +msgid "A hook wit a rectangular mouth to mount at the wall" +msgstr "A hook wit a rectangular mouth to mount at the wall" + +msgid "Hook Settings" +msgstr "Hook Settings" + +#. help for parameter width +#: boxes/generators/hooks.py +msgid "width of the hook (back plate is a bit wider)" +msgstr "width of the hook (back plate is a bit wider)" + +#. help for parameter height +#: boxes/generators/hooks.py +msgid "inner height of the hook" +msgstr "inner height of the hook" + +#. help for parameter depth +#: boxes/generators/hooks.py +msgid "inner depth of the hook" +msgstr "inner depth of the hook" + +#. parameter name +#: boxes/generators/hooks.py +msgid "strength" +msgstr "strength" + +#. help for parameter strength +#: boxes/generators/hooks.py +msgid "width of the hook from the side" +msgstr "width of the hook from the side" + +#. help for parameter angle +#: boxes/generators/hooks.py +msgid "angle of the support underneeth" +msgstr "angle of the support underneeth" + +#. name of box generator +#: boxes/generators/integratedhingebox.py +msgid "IntegratedHingeBox" +msgstr "IntegratedHingeBox" + +#. description of IntegratedHingeBox +#: boxes/generators/integratedhingebox.py +msgid "Box with lid and integraded hinge" +msgstr "Box with lid and integraded hinge" + +msgid "IntegratedHingeBox Settings" +msgstr "IntegratedHingeBox Settings" + +msgid "Settings for Chest Hinges" +msgstr "Settings for Chest Hinges" + +#. parameter name for ChestHinge +#: boxes/generators/integratedhingebox.py +msgid "hinge_strength" +msgstr "hinge_strength" + +#. parameter name for ChestHinge +#: boxes/generators/integratedhingebox.py +msgid "pin_height" +msgstr "pin_height" + +#. help for parameter pin_height +#: boxes/generators/integratedhingebox.py +msgid "radius of the disc rotating in the hinge" +msgstr "radius of the disc rotating in the hinge" + +#. name of box generator +#: boxes/generators/laserclamp.py +msgid "LaserClamp" +msgstr "LaserClamp" + +#. description of LaserClamp +#: boxes/generators/laserclamp.py +msgid "A clamp to hold down material to a knife table" +msgstr "A clamp to hold down material to a knife table" + +#. long description of LaserClamp in markdown +#: boxes/generators/laserclamp.py +msgid "" +"You need a tension spring of the proper length to make the clamp work.\n" +"Increace extraheight to get more space for the spring and to make the\n" +"sliding mechanism less likely to bind. You may need to add some wax on the\n" +"parts sliding on each other to reduce friction.\n" +msgstr "" +"You need a tension spring of the proper length to make the clamp work.\n" +"Increace extraheight to get more space for the spring and to make the\n" +"sliding mechanism less likely to bind. You may need to add some wax on the\n" +"parts sliding on each other to reduce friction.\n" + +msgid "LaserClamp Settings" +msgstr "LaserClamp Settings" + +#. parameter name +#: boxes/generators/laserclamp.py +msgid "minheight" +msgstr "minheight" + +#. help for parameter minheight +#: boxes/generators/laserclamp.py +msgid "minimal clamping height in mm" +msgstr "minimal clamping height in mm" + +#. parameter name +#: boxes/generators/laserclamp.py +msgid "maxheight" +msgstr "maxheight" + +#. help for parameter maxheight +#: boxes/generators/laserclamp.py +msgid "maximal clamping height in mm" +msgstr "maximal clamping height in mm" + +#. parameter name +#: boxes/generators/laserclamp.py +msgid "extraheight" +msgstr "extraheight" + +#. help for parameter extraheight +#: boxes/generators/laserclamp.py +msgid "extra height to make operation smoother in mm" +msgstr "extra height to make operation smoother in mm" + +#. name of box generator +#: boxes/generators/lbeam.py +msgid "LBeam" +msgstr "LBeam" + +#. description of LBeam +#: boxes/generators/lbeam.py +msgid "Simple L-Beam: two pieces joined with a right angle" +msgstr "Simple L-Beam: two pieces joined with a right angle" + +msgid "LBeam Settings" +msgstr "LBeam Settings" + +#. name of box generator +#: boxes/generators/magazinefile.py +msgid "MagazinFile" +msgstr "MagazinFile" + +#. description of MagazinFile +#: boxes/generators/magazinefile.py +msgid "Open magazine file" +msgstr "Open magazine file" + +msgid "MagazinFile Settings" +msgstr "MagazinFile Settings" + +#. name of box generator +#: boxes/generators/makitapowersupply.py +msgid "MakitaPowerSupply" +msgstr "MakitaPowerSupply" + +#. description of MakitaPowerSupply +#: boxes/generators/makitapowersupply.py +msgid "" +"Bench power supply powered with Maktia 18V battery or laptop power supply" +msgstr "" +"Bench power supply powered with Maktia 18V battery or laptop power supply" + +#. long description of MakitaPowerSupply in markdown +#: boxes/generators/makitapowersupply.py +msgid "" +"\n" +"Vitamins: DSP5005 (or similar) power supply, two banana sockets, two 4.8mm " +"flat terminals with flat soldering tag\n" +"\n" +"To allow powering by laptop power supply: flip switch, Lenovo round socket " +"(or adjust right hole for different socket)\n" +msgstr "" +"\n" +"Vitamins: DSP5005 (or similar) power supply, two banana sockets, two 4.8mm " +"flat terminals with flat soldering tag\n" +"\n" +"To allow powering by laptop power supply: flip switch, Lenovo round socket " +"(or adjust right hole for different socket)\n" + +msgid "MakitaPowerSupply Settings" +msgstr "MakitaPowerSupply Settings" + +#. name of box generator +#: boxes/generators/nemamount.py +msgid "NemaMount" +msgstr "NemaMount" + +#. description of NemaMount +#: boxes/generators/nemamount.py +msgid "Mounting braket for a Nema motor" +msgstr "Mounting braket for a Nema motor" + +msgid "NemaMount Settings" +msgstr "NemaMount Settings" + +#. parameter name +#: boxes/generators/nemamount.py +msgid "size" +msgstr "size" + +#. help for parameter size +#: boxes/generators/nemamount.py +msgid "Nema size of the motor" +msgstr "Nema size of the motor" + +#. name of box generator +#: boxes/generators/notesholder.py +msgid "NotesHolder" +msgstr "NotesHolder" + +#. description of NotesHolder +#: boxes/generators/notesholder.py +msgid "Box for holding a stack of paper, coasters etc" +msgstr "Box for holding a stack of paper, coasters etc" + +msgid "NotesHolder Settings" +msgstr "NotesHolder Settings" + +#. parameter name +#: boxes/generators/notesholder.py +msgid "slots" +msgstr "slots" + +#. help for parameter slots +#: boxes/generators/notesholder.py +msgid "slots for grabbing the notes" +msgstr "slots for grabbing the notes" + +#. possible choice for slots +#: boxes/generators/notesholder.py +msgid "one" +msgstr "one" + +#. possible choice for slots +#: boxes/generators/notesholder.py +msgid "two" +msgstr "two" + +#. possible choice for slots +#: boxes/generators/notesholder.py +msgid "four" +msgstr "four" + +#. name of box generator +#: boxes/generators/openbox.py +msgid "OpenBox" +msgstr "OpenBox" + +#. description of OpenBox +#: boxes/generators/openbox.py +msgid "Box with top and front open" +msgstr "Box with top and front open" + +msgid "OpenBox Settings" +msgstr "OpenBox Settings" + +#. name of box generator +#: boxes/generators/organpipe.py +msgid "OrganPipe" +msgstr "OrganPipe" + +#. description of OrganPipe +#: boxes/generators/organpipe.py +msgid "Rectangular organ pipe based on pipecalc" +msgstr "Rectangular organ pipe based on pipecalc" + +msgid "OrganPipe Settings" +msgstr "OrganPipe Settings" + +#. parameter name +#: boxes/generators/organpipe.py +msgid "pitch" +msgstr "pitch" + +#. possible choice for pitch +#: boxes/generators/organpipe.py +msgid "c#" +msgstr "c#" + +#. possible choice for pitch +#: boxes/generators/organpipe.py +msgid "d" +msgstr "d" + +#. possible choice for pitch +#: boxes/generators/organpipe.py +msgid "d#" +msgstr "d#" + +#. possible choice for pitch +#: boxes/generators/organpipe.py +msgid "f#" +msgstr "f#" + +#. possible choice for pitch +#: boxes/generators/organpipe.py +msgid "g" +msgstr "g" + +#. possible choice for pitch +#: boxes/generators/organpipe.py +msgid "g#" +msgstr "g#" + +#. possible choice for pitch +#: boxes/generators/organpipe.py +msgid "a" +msgstr "a" + +#. possible choice for pitch +#: boxes/generators/organpipe.py +msgid "a#" +msgstr "a#" + +#. possible choice for pitch +#: boxes/generators/organpipe.py +msgid "b" +msgstr "b" + +#. parameter name +#: boxes/generators/organpipe.py +msgid "octave" +msgstr "octave" + +#. help for parameter octave +#: boxes/generators/organpipe.py +msgid "Octave in International Pitch Notation (2 == C)" +msgstr "Octave in International Pitch Notation (2 == C)" + +#. parameter name +#: boxes/generators/organpipe.py +msgid "intonation" +msgstr "intonation" + +#. help for parameter intonation +#: boxes/generators/organpipe.py +msgid "Intonation Number. 2 for max. efficiency, 3 max." +msgstr "Intonation Number. 2 for max. efficiency, 3 max." + +#. parameter name +#: boxes/generators/organpipe.py +msgid "mouthratio" +msgstr "mouthratio" + +#. help for parameter mouthratio +#: boxes/generators/organpipe.py +msgid "" +"mouth to circumference ratio (0.1 to 0.45). Determines the width to depth " +"ratio" +msgstr "" +"mouth to circumference ratio (0.1 to 0.45). Determines the width to depth " +"ratio" + +#. parameter name +#: boxes/generators/organpipe.py +msgid "cutup" +msgstr "cutup" + +#. help for parameter cutup +#: boxes/generators/organpipe.py +msgid "Cutup to mouth ratio" +msgstr "Cutup to mouth ratio" + +#. parameter name +#: boxes/generators/organpipe.py +msgid "mensur" +msgstr "mensur" + +#. help for parameter mensur +#: boxes/generators/organpipe.py +msgid "Distance in halftones in the Normalmensur by Töpfer" +msgstr "Distance in halftones in the Normalmensur by Töpfer" + +#. parameter name +#: boxes/generators/organpipe.py +msgid "windpressure" +msgstr "windpressure" + +#. help for parameter windpressure +#: boxes/generators/organpipe.py +msgid "uses unit selected below" +msgstr "uses unit selected below" + +#. parameter name +#: boxes/generators/organpipe.py +msgid "windpressure_units" +msgstr "windpressure_units" + +#. help for parameter windpressure_units +#: boxes/generators/organpipe.py +msgid "in Pa" +msgstr "in Pa" + +#. possible choice for windpressure_units +#: boxes/generators/organpipe.py +msgid "Pa" +msgstr "Pa" + +#. possible choice for windpressure_units +#: boxes/generators/organpipe.py +msgid "mBar" +msgstr "mBar" + +#. possible choice for windpressure_units +#: boxes/generators/organpipe.py +msgid "mmHg" +msgstr "mmHg" + +#. possible choice for windpressure_units +#: boxes/generators/organpipe.py +msgid "mmH2O" +msgstr "mmH2O" + +#. parameter name +#: boxes/generators/organpipe.py +msgid "stopped" +msgstr "stopped" + +#. help for parameter stopped +#: boxes/generators/organpipe.py +msgid "pipe is closed at the top" +msgstr "pipe is closed at the top" + +#. name of box generator +#: boxes/generators/ottobody.py +msgid "OttoBody" +msgstr "OttoBody" + +#. description of OttoBody +#: boxes/generators/ottobody.py +msgid "Otto LC - a laser cut chassis for Otto DIY - body" +msgstr "Otto LC - a laser cut chassis for Otto DIY - body" + +msgid "OttoBody Settings" +msgstr "OttoBody Settings" + +#. name of box generator +#: boxes/generators/ottolegs.py +msgid "OttoLegs" +msgstr "OttoLegs" + +#. description of OttoLegs +#: boxes/generators/ottolegs.py +msgid "Otto LC - a laser cut chassis for Otto DIY - legs" +msgstr "Otto LC - a laser cut chassis for Otto DIY - legs" + +msgid "OttoLegs Settings" +msgstr "OttoLegs Settings" + +#. parameter name +#: boxes/generators/ottolegs.py +msgid "anklebolt1" +msgstr "anklebolt1" + +#. help for parameter anklebolt1 +#: boxes/generators/ottolegs.py +msgid "diameter for hole for ankle bolts - foot side" +msgstr "diameter for hole for ankle bolts - foot side" + +#. parameter name +#: boxes/generators/ottolegs.py +msgid "anklebolt2" +msgstr "anklebolt2" + +#. help for parameter anklebolt2 +#: boxes/generators/ottolegs.py +msgid "diameter for hole for ankle bolts - leg side" +msgstr "diameter for hole for ankle bolts - leg side" + +#. parameter name +#: boxes/generators/ottolegs.py +msgid "length" +msgstr "length" + +#. help for parameter length +#: boxes/generators/ottolegs.py +msgid "length of legs (34mm min)" +msgstr "length of legs (34mm min)" + +#. name of box generator +#: boxes/generators/ottosoles.py +msgid "OttoSoles" +msgstr "OttoSoles" + +#. description of OttoSoles +#: boxes/generators/ottosoles.py +msgid "Foam soles for the OttO bot" +msgstr "Foam soles for the OttO bot" + +msgid "OttoSoles Settings" +msgstr "OttoSoles Settings" + +#. help for parameter width +#: boxes/generators/ottosoles.py +msgid "width of sole stripe" +msgstr "width of sole stripe" + +#. parameter name +#: boxes/generators/ottosoles.py +msgid "chamfer" +msgstr "chamfer" + +#. help for parameter chamfer +#: boxes/generators/ottosoles.py +msgid "chamfer at the corners" +msgstr "chamfer at the corners" + +#. help for parameter num +#: boxes/generators/ottosoles.py +msgid "number of soles" +msgstr "number of soles" + +#. name of box generator +#: boxes/generators/paintbox.py +msgid "PaintStorage" +msgstr "PaintStorage" + +#. description of PaintStorage +#: boxes/generators/paintbox.py +msgid "Stackable paint storage" +msgstr "Stackable paint storage" + +msgid "PaintStorage Settings" +msgstr "PaintStorage Settings" + +#. parameter name +#: boxes/generators/paintbox.py +msgid "canheight" +msgstr "canheight" + +#. help for parameter canheight +#: boxes/generators/paintbox.py +msgid "Height of the paintcans" +msgstr "Height of the paintcans" + +#. parameter name +#: boxes/generators/paintbox.py +msgid "candiameter" +msgstr "candiameter" + +#. help for parameter candiameter +#: boxes/generators/paintbox.py +msgid "Diameter of the paintcans" +msgstr "Diameter of the paintcans" + +#. parameter name +#: boxes/generators/paintbox.py +msgid "minspace" +msgstr "minspace" + +#. help for parameter minspace +#: boxes/generators/paintbox.py +msgid "Minimum space between the paintcans" +msgstr "Minimum space between the paintcans" + +#. parameter name +#: boxes/generators/paintbox.py +msgid "hexpattern" +msgstr "hexpattern" + +#. help for parameter hexpattern +#: boxes/generators/paintbox.py +msgid "Use hexagonal arrangement for the holes instead of orthogonal" +msgstr "Use hexagonal arrangement for the holes instead of orthogonal" + +#. name of box generator +#: boxes/generators/planetary.py +msgid "Planetary" +msgstr "Planetary" + +#. description of Planetary +#: boxes/generators/planetary.py +msgid "Planetary Gear with possibly multiple identical stages" +msgstr "Planetary Gear with possibly multiple identical stages" + +msgid "Planetary Settings" +msgstr "Planetary Settings" + +#. parameter name +#: boxes/generators/planetary.py +msgid "sunteeth" +msgstr "sunteeth" + +#. help for parameter sunteeth +#: boxes/generators/planetary.py +msgid "number of teeth on sun gear" +msgstr "number of teeth on sun gear" + +#. parameter name +#: boxes/generators/planetary.py +msgid "planetteeth" +msgstr "planetteeth" + +#. help for parameter planetteeth +#: boxes/generators/planetary.py +msgid "number of teeth on planets" +msgstr "number of teeth on planets" + +#. parameter name +#: boxes/generators/planetary.py +msgid "maxplanets" +msgstr "maxplanets" + +#. help for parameter maxplanets +#: boxes/generators/planetary.py +msgid "limit the number of planets (0 for as much as fit)" +msgstr "limit the number of planets (0 for as much as fit)" + +#. parameter name +#: boxes/generators/planetary.py +msgid "deltateeth" +msgstr "deltateeth" + +#. help for parameter deltateeth +#: boxes/generators/planetary.py +msgid "enable secondary ring with given delta to the ring gear" +msgstr "enable secondary ring with given delta to the ring gear" + +#. name of box generator +#: boxes/generators/planetary2.py +msgid "Planetary2" +msgstr "Planetary2" + +#. description of Planetary2 +#: boxes/generators/planetary2.py +msgid "Balanced force Difference Planetary Gear" +msgstr "Balanced force Difference Planetary Gear" + +msgid "Planetary2 Settings" +msgstr "Planetary2 Settings" + +#. parameter name +#: boxes/generators/planetary2.py +msgid "profile" +msgstr "profile" + +#. help for parameter profile +#: boxes/generators/planetary2.py +msgid "profile of the teeth/belt" +msgstr "profile of the teeth/belt" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "40DP" +msgstr "40DP" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "AT5" +msgstr "AT5" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "GT2_2mm" +msgstr "GT2_2mm" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "GT2_3mm" +msgstr "GT2_3mm" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "GT2_5mm" +msgstr "GT2_5mm" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "H" +msgstr "H" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "HTD_3mm" +msgstr "HTD_3mm" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "HTD_5mm" +msgstr "HTD_5mm" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "HTD_8mm" +msgstr "HTD_8mm" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "MXL" +msgstr "MXL" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "T10" +msgstr "T10" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "T2_5" +msgstr "T2_5" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "T5" +msgstr "T5" + +#. possible choice for profile +#: boxes/generators/planetary2.py +msgid "XL" +msgstr "XL" + +#. parameter name +#: boxes/generators/planetary2.py +msgid "screw1" +msgstr "screw1" + +#. help for parameter screw1 +#: boxes/generators/planetary2.py +msgid "diameter of lower part of the screw hole" +msgstr "diameter of lower part of the screw hole" + +#. parameter name +#: boxes/generators/planetary2.py +msgid "screw2" +msgstr "screw2" + +#. help for parameter screw2 +#: boxes/generators/planetary2.py +msgid "diameter of upper part of the screw hole" +msgstr "diameter of upper part of the screw hole" + +#. parameter name +#: boxes/generators/planetary2.py +msgid "pinsize" +msgstr "pinsize" + +#. help for parameter pinsize +#: boxes/generators/planetary2.py +msgid "diameter of alignment pins" +msgstr "diameter of alignment pins" + +#. name of box generator +#: boxes/generators/polehook.py +msgid "PoleHook" +msgstr "PoleHook" + +#. description of PoleHook +#: boxes/generators/polehook.py +msgid "Hook for pole like things to be clamped to another pole" +msgstr "Hook for pole like things to be clamped to another pole" + +msgid "PoleHook Settings" +msgstr "PoleHook Settings" + +#. help for parameter diameter +#: boxes/generators/polehook.py +msgid "diameter of the thing to hook" +msgstr "diameter of the thing to hook" + +#. parameter name +#: boxes/generators/polehook.py +msgid "screw" +msgstr "screw" + +#. help for parameter screw +#: boxes/generators/polehook.py +msgid "diameter of the screw in mm" +msgstr "diameter of the screw in mm" + +#. parameter name +#: boxes/generators/polehook.py +msgid "screwhead" +msgstr "screwhead" + +#. help for parameter screwhead +#: boxes/generators/polehook.py +msgid "with of the screw head in mm" +msgstr "with of the screw head in mm" + +#. parameter name +#: boxes/generators/polehook.py +msgid "screwheadheight" +msgstr "screwheadheight" + +#. help for parameter screwheadheight +#: boxes/generators/polehook.py +msgid "height of the screw head in mm" +msgstr "height of the screw head in mm" + +#. parameter name +#: boxes/generators/polehook.py +msgid "pin" +msgstr "pin" + +#. help for parameter pin +#: boxes/generators/polehook.py +msgid "diameter of the pin in mm" +msgstr "diameter of the pin in mm" + +#. name of box generator +#: boxes/generators/pulley.py +msgid "Pulley" +msgstr "Pulley" + +#. description of Pulley +#: boxes/generators/pulley.py +msgid "Timing belt pulleys for different profiles" +msgstr "Timing belt pulleys for different profiles" + +msgid "Pulley Settings" +msgstr "Pulley Settings" + +#. parameter name +#: boxes/generators/pulley.py +msgid "teeth" +msgstr "teeth" + +#. help for parameter axle +#: boxes/generators/pulley.py +msgid "diameter of the axle" +msgstr "diameter of the axle" + +#. parameter name +#: boxes/generators/pulley.py +msgid "insideout" +msgstr "insideout" + +#. help for parameter insideout +#: boxes/generators/pulley.py +msgid "create a ring gear with the belt being pushed against from within" +msgstr "create a ring gear with the belt being pushed against from within" + +#. help for parameter top +#: boxes/generators/pulley.py +msgid "overlap of top rim (zero for none)" +msgstr "overlap of top rim (zero for none)" + +#. name of box generator +#: boxes/generators/rack19box.py +msgid "Rack19Box" +msgstr "Rack19Box" + +#. description of Rack19Box +#: boxes/generators/rack19box.py +msgid "Closed box with screw on top for mounting in a 19\" rack." +msgstr "Closed box with screw on top for mounting in a 19\" rack." + +msgid "Rack19Box Settings" +msgstr "Rack19Box Settings" + +#. help for parameter depth +#: boxes/generators/rack19box.py +msgid "inner depth in mm" +msgstr "inner depth in mm" + +#. help for parameter height +#: boxes/generators/rack19box.py +msgid "height in rack units" +msgstr "height in rack units" + +#. name of box generator +#: boxes/generators/rack10box.py +msgid "Rack10Box" +msgstr "Rack10Box" + +#. description of Rack10Box +#: boxes/generators/rack10box.py +msgid "Closed box with screw on top for mounting in a 10\" rack." +msgstr "Closed box with screw on top for mounting in a 10\" rack." + +msgid "Rack10Box Settings" +msgstr "Rack10Box Settings" + +#. name of box generator +#: boxes/generators/rackbox.py +msgid "RackBox" +msgstr "RackBox" + +msgid "RackBox Settings" +msgstr "RackBox Settings" + +#. name of box generator +#: boxes/generators/rectangularWall.py +msgid "RectangularWall" +msgstr "RectangularWall" + +#. description of RectangularWall +#: boxes/generators/rectangularWall.py +msgid "Simple wall" +msgstr "Simple wall" + +msgid "RectangularWall Settings" +msgstr "RectangularWall Settings" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "C" +msgstr "C" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "D" +msgstr "D" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "I" +msgstr "I" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "j" +msgstr "j" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "J" +msgstr "J" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "K" +msgstr "K" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "l" +msgstr "l" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "m" +msgstr "m" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "M" +msgstr "M" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "o" +msgstr "o" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "O" +msgstr "O" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "p" +msgstr "p" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "P" +msgstr "P" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "q" +msgstr "q" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "Q" +msgstr "Q" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "R" +msgstr "R" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "u" +msgstr "u" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "U" +msgstr "U" + +#. possible choice for bottom_edge +#: boxes/generators/rectangularWall.py +msgid "V" +msgstr "V" + +#. parameter name +#: boxes/generators/rectangularWall.py +msgid "right_edge" +msgstr "right_edge" + +#. help for parameter right_edge +#: boxes/generators/rectangularWall.py +msgid "edge type for right edge" +msgstr "edge type for right edge" + +#. parameter name +#: boxes/generators/rectangularWall.py +msgid "left_edge" +msgstr "left_edge" + +#. help for parameter left_edge +#: boxes/generators/rectangularWall.py +msgid "edge type for left edge" +msgstr "edge type for left edge" + +msgid "Settings for Dove Tail Joints" +msgstr "Settings for Dove Tail Joints" + +#. help for parameter angle +#: boxes/generators/rectangularWall.py +msgid "how much should fingers widen (-80 to 80)" +msgstr "how much should fingers widen (-80 to 80)" + +#. help for parameter depth +#: boxes/generators/rectangularWall.py +msgid "how far the dove tails stick out of/into the edge" +msgstr "how far the dove tails stick out of/into the edge" + +#. help for parameter radius +#: boxes/generators/rectangularWall.py +msgid "radius used on all four corners" +msgstr "radius used on all four corners" + +#. help for parameter size +#: boxes/generators/rectangularWall.py +msgid "from one middle of a dove tail to another" +msgstr "from one middle of a dove tail to another" + +msgid "Settings for rack (and pinion) edge" +msgstr "Settings for rack (and pinion) edge" + +#. help for parameter angle +#: boxes/generators/rectangularWall.py +msgid "pressure angle" +msgstr "pressure angle" + +#. parameter name for Gear +#: boxes/generators/rectangularWall.py +msgid "clearance" +msgstr "clearance" + +#. parameter name for Gear +#: boxes/generators/rectangularWall.py +msgid "dimension" +msgstr "dimension" + +#. help for parameter dimension +#: boxes/generators/rectangularWall.py +msgid "modulus of the gear (in mm)" +msgstr "modulus of the gear (in mm)" + +#. help for parameter profile_shift +#: boxes/generators/rectangularWall.py +msgid "Profile shift" +msgstr "Profile shift" + +msgid "Settings for GrippingEdge" +msgstr "Settings for GrippingEdge" + +#. help for parameter outset +#: boxes/generators/rectangularWall.py +msgid "extend outward the straight edge" +msgstr "extend outward the straight edge" + +#. help for parameter style +#: boxes/generators/rectangularWall.py +msgid "\"wave\" or \"bumps\"" +msgstr "\"wave\" or \"bumps\"" + +#. possible choice for style +#: boxes/generators/rectangularWall.py +msgid "wave" +msgstr "wave" + +#. possible choice for style +#: boxes/generators/rectangularWall.py +msgid "bumps" +msgstr "bumps" + +#. help for parameter depth +#: boxes/generators/rectangularWall.py +msgid "depth of the grooves" +msgstr "depth of the grooves" + +#. name of box generator +#: boxes/generators/regularbox.py +msgid "RegularBox" +msgstr "RegularBox" + +#. description of RegularBox +#: boxes/generators/regularbox.py +msgid "Box with regular polygon as base" +msgstr "Box with regular polygon as base" + +msgid "RegularBox Settings" +msgstr "RegularBox Settings" + +#. help for parameter radius +#: boxes/generators/regularbox.py +msgid "inner radius if the box (at the corners)" +msgstr "inner radius if the box (at the corners)" + +#. help for parameter n +#: boxes/generators/regularbox.py +msgid "number of sides" +msgstr "number of sides" + +#. possible choice for top +#: boxes/generators/regularbox.py +msgid "round lid" +msgstr "round lid" + +#. name of box generator +#: boxes/generators/robotarm.py +msgid "RobotArm" +msgstr "RobotArm" + +#. description of RobotArm +#: boxes/generators/robotarm.py +msgid "Segments of servo powered robot arm" +msgstr "Segments of servo powered robot arm" + +msgid "RobotArm Settings" +msgstr "RobotArm Settings" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "type1" +msgstr "type1" + +#. help for parameter type1 +#: boxes/generators/robotarm.py +msgid "type of arm segment" +msgstr "type of arm segment" + +#. possible choice for type1 +#: boxes/generators/robotarm.py +msgid "RobotArmMM" +msgstr "RobotArmMM" + +#. possible choice for type1 +#: boxes/generators/robotarm.py +msgid "RobotArmMm" +msgstr "RobotArmMm" + +#. possible choice for type1 +#: boxes/generators/robotarm.py +msgid "RobotArmUU" +msgstr "RobotArmUU" + +#. possible choice for type1 +#: boxes/generators/robotarm.py +msgid "RobotArmUu" +msgstr "RobotArmUu" + +#. possible choice for type1 +#: boxes/generators/robotarm.py +msgid "RobotArmMu" +msgstr "RobotArmMu" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo1a" +msgstr "servo1a" + +#. help for parameter servo1a +#: boxes/generators/robotarm.py +msgid "type of servo to use" +msgstr "type of servo to use" + +#. possible choice for servo1a +#: boxes/generators/robotarm.py +msgid "Servo9g" +msgstr "Servo9g" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo1b" +msgstr "servo1b" + +#. help for parameter servo1b +#: boxes/generators/robotarm.py +msgid "type of servo to use on second side (if different is supported)" +msgstr "type of servo to use on second side (if different is supported)" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "length1" +msgstr "length1" + +#. help for parameter length1 +#: boxes/generators/robotarm.py +msgid "length of segment axle to axle" +msgstr "length of segment axle to axle" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "type2" +msgstr "type2" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo2a" +msgstr "servo2a" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo2b" +msgstr "servo2b" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "length2" +msgstr "length2" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "type3" +msgstr "type3" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo3a" +msgstr "servo3a" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo3b" +msgstr "servo3b" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "length3" +msgstr "length3" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "type4" +msgstr "type4" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo4a" +msgstr "servo4a" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo4b" +msgstr "servo4b" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "length4" +msgstr "length4" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "type5" +msgstr "type5" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo5a" +msgstr "servo5a" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "servo5b" +msgstr "servo5b" + +#. parameter name +#: boxes/generators/robotarm.py +msgid "length5" +msgstr "length5" + +#. name of box generator +#: boxes/generators/rotary.py +msgid "Rotary" +msgstr "Rotary" + +#. description of Rotary +#: boxes/generators/rotary.py +msgid "Rotary Attachment for engraving cylindrical objects in a laser cutter" +msgstr "Rotary Attachment for engraving cylindrical objects in a laser cutter" + +msgid "Rotary Settings" +msgstr "Rotary Settings" + +#. help for parameter diameter +#: boxes/generators/rotary.py +msgid "outer diameter of the wheels (including O rings)" +msgstr "outer diameter of the wheels (including O rings)" + +#. parameter name +#: boxes/generators/rotary.py +msgid "rubberthickness" +msgstr "rubberthickness" + +#. help for parameter rubberthickness +#: boxes/generators/rotary.py +msgid "diameter of the strings of the O rings" +msgstr "diameter of the strings of the O rings" + +#. help for parameter axle +#: boxes/generators/rotary.py +msgid "diameter of the axles" +msgstr "diameter of the axles" + +#. parameter name +#: boxes/generators/rotary.py +msgid "knifethickness" +msgstr "knifethickness" + +#. help for parameter knifethickness +#: boxes/generators/rotary.py +msgid "thickness of the knifes in mm. Use 0 for use with honey comb table." +msgstr "thickness of the knifes in mm. Use 0 for use with honey comb table." + +#. parameter name +#: boxes/generators/rotary.py +msgid "beamwidth" +msgstr "beamwidth" + +#. help for parameter beamwidth +#: boxes/generators/rotary.py +msgid "width of the (aluminium) profile connecting the parts" +msgstr "width of the (aluminium) profile connecting the parts" + +#. parameter name +#: boxes/generators/rotary.py +msgid "beamheight" +msgstr "beamheight" + +#. help for parameter beamheight +#: boxes/generators/rotary.py +msgid "height of the (aluminium) profile connecting the parts" +msgstr "height of the (aluminium) profile connecting the parts" + +#. name of box generator +#: boxes/generators/roundedbox.py +msgid "RoundedBox" +msgstr "RoundedBox" + +#. description of RoundedBox +#: boxes/generators/roundedbox.py +msgid "Box with vertical edges rounded" +msgstr "Box with vertical edges rounded" + +msgid "RoundedBox Settings" +msgstr "RoundedBox Settings" + +#. parameter name +#: boxes/generators/roundedbox.py +msgid "wallpieces" +msgstr "wallpieces" + +#. help for parameter wallpieces +#: boxes/generators/roundedbox.py +msgid "# pieces of outer wall" +msgstr "# pieces of outer wall" + +#. name of box generator +#: boxes/generators/royalgame.py +msgid "RoyalGame" +msgstr "RoyalGame" + +#. description of RoyalGame +#: boxes/generators/royalgame.py +msgid "The Royal Game of Ur" +msgstr "The Royal Game of Ur" + +#. long description of RoyalGame in markdown +#: boxes/generators/royalgame.py +msgid "" +"Most of the blue lines need to be engraved by cutting with high speed and " +"low power. But there are three blue holes that actually need to be cut: The " +"grip hole in the lid and two tiny rectangles on the top and bottom for the " +"lid to grip into.\n" +msgstr "" +"Most of the blue lines need to be engraved by cutting with high speed and " +"low power. But there are three blue holes that actually need to be cut: The " +"grip hole in the lid and two tiny rectangles on the top and bottom for the " +"lid to grip into.\n" + +msgid "RoyalGame Settings" +msgstr "RoyalGame Settings" + +#. name of box generator +#: boxes/generators/shutterbox.py +msgid "ShutterBox" +msgstr "ShutterBox" + +#. description of ShutterBox +#: boxes/generators/shutterbox.py +msgid "Box with a rolling shutter made of flex" +msgstr "Box with a rolling shutter made of flex" + +#. long description of ShutterBox in markdown +#: boxes/generators/shutterbox.py +msgid "Beware of the rolling shutter effect! Use wax on sliding surfaces." +msgstr "Beware of the rolling shutter effect! Use wax on sliding surfaces." + +msgid "ShutterBox Settings" +msgstr "ShutterBox Settings" + +#. help for parameter style +#: boxes/generators/shutterbox.py +msgid "Number of rounded top corners" +msgstr "Number of rounded top corners" + +#. possible choice for style +#: boxes/generators/shutterbox.py +msgid "single" +msgstr "single" + +#. possible choice for style +#: boxes/generators/shutterbox.py +msgid "double" +msgstr "double" + +#. name of box generator +#: boxes/generators/silverwarebox.py +msgid "Silverware" +msgstr "Silverware" + +#. description of Silverware +#: boxes/generators/silverwarebox.py +msgid "" +"\n" +" Cuttlery stand with carrying grip\n" +" using flex for rounded corners\n" +" " +msgstr "" +"\n" +" Cuttlery stand with carrying grip\n" +" using flex for rounded corners\n" +" " + +msgid "Silverware Settings" +msgstr "Silverware Settings" + +#. parameter name +#: boxes/generators/silverwarebox.py +msgid "cornerradius" +msgstr "cornerradius" + +#. help for parameter cornerradius +#: boxes/generators/silverwarebox.py +msgid "Radius of the corners" +msgstr "Radius of the corners" + +#. parameter name +#: boxes/generators/silverwarebox.py +msgid "handleheight" +msgstr "handleheight" + +#. help for parameter handleheight +#: boxes/generators/silverwarebox.py +msgid "Height of the handle" +msgstr "Height of the handle" + +#. parameter name +#: boxes/generators/silverwarebox.py +msgid "handlewidth" +msgstr "handlewidth" + +#. help for parameter handlewidth +#: boxes/generators/silverwarebox.py +msgid "Width of the handle" +msgstr "Width of the handle" + +#. name of box generator +#: boxes/generators/slatwall.py +msgid "SlatwallEdges" +msgstr "SlatwallEdges" + +#. description of SlatwallEdges +#: boxes/generators/slatwall.py +msgid "Shows the different edge types for slat walls" +msgstr "Shows the different edge types for slat walls" + +msgid "SlatwallEdges Settings" +msgstr "SlatwallEdges Settings" + +msgid "Settings for SlatWallEdges" +msgstr "Settings for SlatWallEdges" + +#. parameter name for SlatWall +#: boxes/generators/slatwall.py +msgid "bottom_hook" +msgstr "bottom_hook" + +#. help for parameter bottom_hook +#: boxes/generators/slatwall.py +msgid "\"spring\", \"stud\" or \"none\"" +msgstr "\"spring\", \"stud\" or \"none\"" + +#. possible choice for bottom_hook +#: boxes/generators/slatwall.py +msgid "hook" +msgstr "hook" + +#. possible choice for bottom_hook +#: boxes/generators/slatwall.py +msgid "stud" +msgstr "stud" + +#. parameter name for SlatWall +#: boxes/generators/slatwall.py +msgid "hook_extra_height" +msgstr "hook_extra_height" + +#. help for parameter hook_extra_height +#: boxes/generators/slatwall.py +msgid "space surrounding connectors (in multiples of thickness)" +msgstr "space surrounding connectors (in multiples of thickness)" + +#. name of box generator +#: boxes/generators/slatwallcaliperholder.py +msgid "SlatwallCaliper" +msgstr "SlatwallCaliper" + +#. description of SlatwallCaliper +#: boxes/generators/slatwallcaliperholder.py +msgid "Holds a single caliper to a slat wall" +msgstr "Holds a single caliper to a slat wall" + +msgid "SlatwallCaliper Settings" +msgstr "SlatwallCaliper Settings" + +#. help for parameter width +#: boxes/generators/slatwallcaliperholder.py +msgid "width of the long end" +msgstr "width of the long end" + +#. parameter name +#: boxes/generators/slatwallcaliperholder.py +msgid "heigth" +msgstr "heigth" + +#. help for parameter heigth +#: boxes/generators/slatwallcaliperholder.py +msgid "heigth of the body" +msgstr "heigth of the body" + +#. name of box generator +#: boxes/generators/slatwallconsole.py +msgid "SlatwallConsole" +msgstr "SlatwallConsole" + +#. description of SlatwallConsole +#: boxes/generators/slatwallconsole.py +msgid "Outset and angled plate to mount stuff to" +msgstr "Outset and angled plate to mount stuff to" + +msgid "SlatwallConsole Settings" +msgstr "SlatwallConsole Settings" + +#. parameter name +#: boxes/generators/slatwallconsole.py +msgid "top_depth" +msgstr "top_depth" + +#. help for parameter top_depth +#: boxes/generators/slatwallconsole.py +msgid "depth at the top" +msgstr "depth at the top" + +#. parameter name +#: boxes/generators/slatwallconsole.py +msgid "bottom_depth" +msgstr "bottom_depth" + +#. help for parameter bottom_depth +#: boxes/generators/slatwallconsole.py +msgid "depth at the bottom" +msgstr "depth at the bottom" + +#. name of box generator +#: boxes/generators/slatwalldrillbox.py +msgid "SlatwallDrillBox" +msgstr "SlatwallDrillBox" + +#. description of SlatwallDrillBox +#: boxes/generators/slatwalldrillbox.py +msgid "Box for drills with each compartment with a different height" +msgstr "Box for drills with each compartment with a different height" + +msgid "SlatwallDrillBox Settings" +msgstr "SlatwallDrillBox Settings" + +#. parameter name +#: boxes/generators/slatwalldrillbox.py +msgid "extra_height" +msgstr "extra_height" + +#. help for parameter extra_height +#: boxes/generators/slatwalldrillbox.py +msgid "height difference left to right" +msgstr "height difference left to right" + +#. name of box generator +#: boxes/generators/slatwallplaneholder.py +msgid "SlatwallPlaneHolder" +msgstr "SlatwallPlaneHolder" + +#. description of SlatwallPlaneHolder +#: boxes/generators/slatwallplaneholder.py +msgid "Hold a plane to a slatwall" +msgstr "Hold a plane to a slatwall" + +msgid "SlatwallPlaneHolder Settings" +msgstr "SlatwallPlaneHolder Settings" + +#. help for parameter width +#: boxes/generators/slatwallplaneholder.py +msgid "width of the plane" +msgstr "width of the plane" + +#. help for parameter length +#: boxes/generators/slatwallplaneholder.py +msgid "legth of the plane" +msgstr "legth of the plane" + +#. parameter name +#: boxes/generators/slatwallplaneholder.py +msgid "hold_length" +msgstr "hold_length" + +#. help for parameter hold_length +#: boxes/generators/slatwallplaneholder.py +msgid "legth of the part hiolding the plane over the front" +msgstr "legth of the part hiolding the plane over the front" + +#. help for parameter height +#: boxes/generators/slatwallplaneholder.py +msgid "height of the front of plane" +msgstr "height of the front of plane" + +#. name of box generator +#: boxes/generators/slatwallpliersholder.py +msgid "SlatwallPliersHolder" +msgstr "SlatwallPliersHolder" + +#. description of SlatwallPliersHolder +#: boxes/generators/slatwallpliersholder.py +msgid "Bar to hang pliers on" +msgstr "Bar to hang pliers on" + +msgid "SlatwallPliersHolder Settings" +msgstr "SlatwallPliersHolder Settings" + +#. help for parameter angle +#: boxes/generators/slatwallpliersholder.py +msgid "bracing angle - less for more bracing" +msgstr "bracing angle - less for more bracing" + +#. name of box generator +#: boxes/generators/slatwallslottedholder.py +msgid "SlatwallSlottedHolder" +msgstr "SlatwallSlottedHolder" + +#. description of SlatwallSlottedHolder +#: boxes/generators/slatwallslottedholder.py +msgid "Slat wall tool holder with slots" +msgstr "Slat wall tool holder with slots" + +msgid "SlatwallSlottedHolder Settings" +msgstr "SlatwallSlottedHolder Settings" + +#. parameter name +#: boxes/generators/slatwallslottedholder.py +msgid "slot_depth" +msgstr "slot_depth" + +#. help for parameter slot_depth +#: boxes/generators/slatwallslottedholder.py +msgid "depth of slots from the front" +msgstr "depth of slots from the front" + +#. parameter name +#: boxes/generators/slatwallslottedholder.py +msgid "additional_depth" +msgstr "additional_depth" + +#. help for parameter additional_depth +#: boxes/generators/slatwallslottedholder.py +msgid "depth behind the lots" +msgstr "depth behind the lots" + +#. parameter name +#: boxes/generators/slatwallslottedholder.py +msgid "slot_width" +msgstr "slot_width" + +#. help for parameter slot_width +#: boxes/generators/slatwallslottedholder.py +msgid "width of slots" +msgstr "width of slots" + +#. parameter name +#: boxes/generators/slatwallslottedholder.py +msgid "tool_width" +msgstr "tool_width" + +#. help for parameter tool_width +#: boxes/generators/slatwallslottedholder.py +msgid "overall width for the tools" +msgstr "overall width for the tools" + +#. help for parameter radius +#: boxes/generators/slatwallslottedholder.py +msgid "radius of the slots at the front" +msgstr "radius of the slots at the front" + +#. parameter name +#: boxes/generators/slatwallslottedholder.py +msgid "number" +msgstr "number" + +#. help for parameter number +#: boxes/generators/slatwallslottedholder.py +msgid "number of tools/slots" +msgstr "number of tools/slots" + +#. parameter name +#: boxes/generators/slatwallslottedholder.py +msgid "hooks" +msgstr "hooks" + +#. help for parameter hooks +#: boxes/generators/slatwallslottedholder.py +msgid "amount of hooks / braces" +msgstr "amount of hooks / braces" + +#. possible choice for hooks +#: boxes/generators/slatwallslottedholder.py +msgid "all" +msgstr "all" + +#. possible choice for hooks +#: boxes/generators/slatwallslottedholder.py +msgid "odds" +msgstr "odds" + +#. possible choice for hooks +#: boxes/generators/slatwallslottedholder.py +msgid "everythird" +msgstr "everythird" + +#. name of box generator +#: boxes/generators/slatwalltypetray.py +msgid "SlatwallTypeTray" +msgstr "SlatwallTypeTray" + +#. description of SlatwallTypeTray +#: boxes/generators/slatwalltypetray.py +msgid "Type tray - allows only continuous walls" +msgstr "Type tray - allows only continuous walls" + +msgid "SlatwallTypeTray Settings" +msgstr "SlatwallTypeTray Settings" + +#. parameter name +#: boxes/generators/slatwalltypetray.py +msgid "back_height" +msgstr "back_height" + +#. help for parameter back_height +#: boxes/generators/slatwalltypetray.py +msgid "additional height of the back wall" +msgstr "additional height of the back wall" + +#. help for parameter radius +#: boxes/generators/slatwalltypetray.py +msgid "radius for strengthening walls with the hooks" +msgstr "radius for strengthening walls with the hooks" + +#. name of box generator +#: boxes/generators/slatwallwrenchholder.py +msgid "SlatwallWrenchHolder" +msgstr "SlatwallWrenchHolder" + +#. description of SlatwallWrenchHolder +#: boxes/generators/slatwallwrenchholder.py +msgid "Hold a set of wrenches at a slat wall" +msgstr "Hold a set of wrenches at a slat wall" + +msgid "SlatwallWrenchHolder Settings" +msgstr "SlatwallWrenchHolder Settings" + +#. help for parameter depth +#: boxes/generators/slatwallwrenchholder.py +msgid "depth of the sides" +msgstr "depth of the sides" + +#. help for parameter number +#: boxes/generators/slatwallwrenchholder.py +msgid "number of wrenches" +msgstr "number of wrenches" + +#. parameter name +#: boxes/generators/slatwallwrenchholder.py +msgid "min_width" +msgstr "min_width" + +#. help for parameter min_width +#: boxes/generators/slatwallwrenchholder.py +msgid "width of smallest wrench" +msgstr "width of smallest wrench" + +#. parameter name +#: boxes/generators/slatwallwrenchholder.py +msgid "max_width" +msgstr "max_width" + +#. help for parameter max_width +#: boxes/generators/slatwallwrenchholder.py +msgid "width of largest wrench" +msgstr "width of largest wrench" + +#. parameter name +#: boxes/generators/slatwallwrenchholder.py +msgid "min_strength" +msgstr "min_strength" + +#. help for parameter min_strength +#: boxes/generators/slatwallwrenchholder.py +msgid "strength of smallest wrench" +msgstr "strength of smallest wrench" + +#. parameter name +#: boxes/generators/slatwallwrenchholder.py +msgid "max_strength" +msgstr "max_strength" + +#. help for parameter max_strength +#: boxes/generators/slatwallwrenchholder.py +msgid "strength of largest wrench" +msgstr "strength of largest wrench" + +#. name of box generator +#: boxes/generators/slotwallchiselholder.py +msgid "SlatwallChiselHolder" +msgstr "SlatwallChiselHolder" + +#. description of SlatwallChiselHolder +#: boxes/generators/slotwallchiselholder.py +msgid "Slat wall tool holder for chisels, files and similar tools" +msgstr "Slat wall tool holder for chisels, files and similar tools" + +msgid "SlatwallChiselHolder Settings" +msgstr "SlatwallChiselHolder Settings" + +#. parameter name +#: boxes/generators/slotwallchiselholder.py +msgid "tooldiameter" +msgstr "tooldiameter" + +#. help for parameter tooldiameter +#: boxes/generators/slotwallchiselholder.py +msgid "diameter of the tool including space to grab" +msgstr "diameter of the tool including space to grab" + +#. parameter name +#: boxes/generators/slotwallchiselholder.py +msgid "holediameter" +msgstr "holediameter" + +#. help for parameter holediameter +#: boxes/generators/slotwallchiselholder.py +msgid "diameter of the hole for the tool (handle should not fit through)" +msgstr "diameter of the hole for the tool (handle should not fit through)" + +#. help for parameter radius +#: boxes/generators/slotwallchiselholder.py +msgid "radius at the slots" +msgstr "radius at the slots" + +#. name of box generator +#: boxes/generators/stachel.py +msgid "Stachel" +msgstr "Stachel" + +#. description of Stachel +#: boxes/generators/stachel.py +msgid "Bass Recorder Endpin" +msgstr "Bass Recorder Endpin" + +msgid "Stachel Settings" +msgstr "Stachel Settings" + +#. parameter name +#: boxes/generators/stachel.py +msgid "flutediameter" +msgstr "flutediameter" + +#. help for parameter flutediameter +#: boxes/generators/stachel.py +msgid "diameter of the flutes bottom in mm" +msgstr "diameter of the flutes bottom in mm" + +#. parameter name +#: boxes/generators/stachel.py +msgid "polediameter" +msgstr "polediameter" + +#. help for parameter polediameter +#: boxes/generators/stachel.py +msgid "diameter if the pin in mm" +msgstr "diameter if the pin in mm" + +#. parameter name +#: boxes/generators/stachel.py +msgid "wall" +msgstr "wall" + +#. help for parameter wall +#: boxes/generators/stachel.py +msgid "width of the surrounding wall in mm" +msgstr "width of the surrounding wall in mm" + +#. name of box generator +#: boxes/generators/storagerack.py +msgid "StorageRack" +msgstr "StorageRack" + +#. description of StorageRack +#: boxes/generators/storagerack.py +msgid "StorageRack to store boxes and trays which have their own floor" +msgstr "StorageRack to store boxes and trays which have their own floor" + +msgid "StorageRack Settings" +msgstr "StorageRack Settings" + +#. help for parameter depth +#: boxes/generators/storagerack.py +msgid "depth of the rack" +msgstr "depth of the rack" + +#. parameter name +#: boxes/generators/storagerack.py +msgid "rail" +msgstr "rail" + +#. name of box generator +#: boxes/generators/storageshelf.py +msgid "StorageShelf" +msgstr "StorageShelf" + +#. description of StorageShelf +#: boxes/generators/storageshelf.py +msgid "StorageShelf can be used to store Typetray" +msgstr "StorageShelf can be used to store Typetray" + +#. long description of StorageShelf in markdown +#: boxes/generators/storageshelf.py +msgid "This is a simple shelf box." +msgstr "This is a simple shelf box." + +msgid "StorageShelf Settings" +msgstr "StorageShelf Settings" + +msgid "Settings for RoundedTriangleEdge" +msgstr "Settings for RoundedTriangleEdge" + +#. help for parameter height +#: boxes/generators/storageshelf.py +msgid "height above the wall" +msgstr "height above the wall" + +#. parameter name for RoundedTriangleEdge +#: boxes/generators/storageshelf.py +msgid "r_hole" +msgstr "r_hole" + +#. help for parameter r_hole +#: boxes/generators/storageshelf.py +msgid "radius of hole" +msgstr "radius of hole" + +#. help for parameter radius +#: boxes/generators/storageshelf.py +msgid "radius of top corner" +msgstr "radius of top corner" + +#. help for parameter outset +#: boxes/generators/storageshelf.py +msgid "extend the triangle along the length of the edge" +msgstr "extend the triangle along the length of the edge" + +#. name of box generator +#: boxes/generators/trafficlight.py +msgid "TrafficLight" +msgstr "TrafficLight" + +#. description of TrafficLight +#: boxes/generators/trafficlight.py +msgid "Traffic light" +msgstr "Traffic light" + +#. long description of TrafficLight in markdown +#: boxes/generators/trafficlight.py +msgid "" +"The traffic light was created to visualize the status of a Icinga monitored " +"system.\n" +"\n" +"When turned by 90°, it can be also used to create a bottle holder." +msgstr "" +"The traffic light was created to visualize the status of a Icinga monitored " +"system.\n" +"\n" +"When turned by 90°, it can be also used to create a bottle holder." + +msgid "TrafficLight Settings" +msgstr "TrafficLight Settings" + +#. help for parameter depth +#: boxes/generators/trafficlight.py +msgid "inner depth not including the shades" +msgstr "inner depth not including the shades" + +#. parameter name +#: boxes/generators/trafficlight.py +msgid "shades" +msgstr "shades" + +#. help for parameter shades +#: boxes/generators/trafficlight.py +msgid "depth of the shaders" +msgstr "depth of the shaders" + +#. help for parameter n +#: boxes/generators/trafficlight.py +msgid "number of lights" +msgstr "number of lights" + +#. parameter name +#: boxes/generators/trafficlight.py +msgid "upright" +msgstr "upright" + +#. help for parameter upright +#: boxes/generators/trafficlight.py +msgid "stack lights upright (or side by side)" +msgstr "stack lights upright (or side by side)" + +#. name of box generator +#: boxes/generators/trayinsert.py +msgid "TrayInsert" +msgstr "TrayInsert" + +#. description of TrayInsert +#: boxes/generators/trayinsert.py +msgid "" +"Tray insert without floor and outer walls - allows only continuous walls" +msgstr "" +"Tray insert without floor and outer walls - allows only continuous walls" + +msgid "TrayInsert Settings" +msgstr "TrayInsert Settings" + +#. name of box generator +#: boxes/generators/traylayout.py +msgid "TrayLayout" +msgstr "TrayLayout" + +#. description of TrayLayout +#: boxes/generators/traylayout.py +msgid "Generate a typetray from a layout file" +msgstr "Generate a typetray from a layout file" + +msgid "optional arguments" +msgstr "optional arguments" + +#. help for parameter x +#: boxes/generators/traylayout.py +msgid "number of compartments side by side" +msgstr "number of compartments side by side" + +#. help for parameter y +#: boxes/generators/traylayout.py +msgid "number of compartments back to front" +msgstr "number of compartments back to front" + +#. name of box generator +#: boxes/generators/traylayout.py +msgid "TrayLayout2" +msgstr "TrayLayout2" + +msgid "TrayLayout2 Settings" +msgstr "TrayLayout2 Settings" + +#. name of box generator +#: boxes/generators/two_piece.py +msgid "TwoPiece" +msgstr "TwoPiece" + +#. description of TwoPiece +#: boxes/generators/two_piece.py +msgid "" +"A two piece box where top slips over the bottom half to form \n" +" the enclosure.\n" +" " +msgstr "" +"A two piece box where top slips over the bottom half to form \n" +" the enclosure.\n" +" " + +msgid "TwoPiece Settings" +msgstr "TwoPiece Settings" + +#. help for parameter play +#: boxes/generators/two_piece.py +msgid "play between the two parts as multipleof the wall thickness" +msgstr "play between the two parts as multipleof the wall thickness" + +#. name of box generator +#: boxes/generators/typetray.py +msgid "TypeTray" +msgstr "TypeTray" + +msgid "TypeTray Settings" +msgstr "TypeTray Settings" + +#. parameter name +#: boxes/generators/typetray.py +msgid "gripheight" +msgstr "gripheight" + +#. help for parameter gripheight +#: boxes/generators/typetray.py +msgid "height of the grip hole in mm" +msgstr "height of the grip hole in mm" + +#. parameter name +#: boxes/generators/typetray.py +msgid "gripwidth" +msgstr "gripwidth" + +#. help for parameter gripwidth +#: boxes/generators/typetray.py +msgid "width of th grip hole in mm (zero for no hole)" +msgstr "width of th grip hole in mm (zero for no hole)" + +#. name of box generator +#: boxes/generators/ubox.py +msgid "UBox" +msgstr "UBox" + +#. description of UBox +#: boxes/generators/ubox.py +msgid "Box various options for different stypes and lids" +msgstr "Box various options for different stypes and lids" + +msgid "UBox Settings" +msgstr "UBox Settings" + +#. help for parameter radius +#: boxes/generators/ubox.py +msgid "radius of bottom corners" +msgstr "radius of bottom corners" + +#. help for parameter lid +#: boxes/generators/ubox.py +msgid "additional lid" +msgstr "additional lid" + +#. possible choice for lid +#: boxes/generators/ubox.py +msgid "default (none)" +msgstr "default (none)" + +#. possible choice for lid +#: boxes/generators/ubox.py +msgid "chest" +msgstr "chest" + +#. possible choice for lid +#: boxes/generators/ubox.py +msgid "flat" +msgstr "flat" + +#. name of box generator +#: boxes/generators/unevenheightbox.py +msgid "UnevenHeightBox" +msgstr "UnevenHeightBox" + +#. description of UnevenHeightBox +#: boxes/generators/unevenheightbox.py +msgid "Box with different height in each corner" +msgstr "Box with different height in each corner" + +msgid "UnevenHeightBox Settings" +msgstr "UnevenHeightBox Settings" + +#. parameter name +#: boxes/generators/unevenheightbox.py +msgid "height0" +msgstr "height0" + +#. help for parameter height0 +#: boxes/generators/unevenheightbox.py +msgid "height of the front left corner in mm" +msgstr "height of the front left corner in mm" + +#. parameter name +#: boxes/generators/unevenheightbox.py +msgid "height1" +msgstr "height1" + +#. help for parameter height1 +#: boxes/generators/unevenheightbox.py +msgid "height of the front right corner in mm" +msgstr "height of the front right corner in mm" + +#. parameter name +#: boxes/generators/unevenheightbox.py +msgid "height2" +msgstr "height2" + +#. help for parameter height2 +#: boxes/generators/unevenheightbox.py +msgid "height of the right back corner in mm" +msgstr "height of the right back corner in mm" + +#. parameter name +#: boxes/generators/unevenheightbox.py +msgid "height3" +msgstr "height3" + +#. help for parameter height3 +#: boxes/generators/unevenheightbox.py +msgid "height of the left back corner in mm" +msgstr "height of the left back corner in mm" + +#. help for parameter lid +#: boxes/generators/unevenheightbox.py +msgid "add a lid (works best with high corners opposing each other)" +msgstr "add a lid (works best with high corners opposing each other)" + +#. name of box generator +#: boxes/generators/universalbox.py +msgid "UniversalBox" +msgstr "UniversalBox" + +#. description of UniversalBox +#: boxes/generators/universalbox.py +msgid "Box with various options for different styles and lids" +msgstr "Box with various options for different styles and lids" + +msgid "UniversalBox Settings" +msgstr "UniversalBox Settings" + +#. help for parameter lid +#: boxes/generators/universalbox.py +msgid "additional lid (for straight top_edge only)" +msgstr "additional lid (for straight top_edge only)" + +#. name of box generator +#: boxes/generators/waivyknob.py +msgid "WaivyKnob" +msgstr "WaivyKnob" + +#. description of WaivyKnob +#: boxes/generators/waivyknob.py +msgid "Round knob serraded outside for better gripping" +msgstr "Round knob serraded outside for better gripping" + +msgid "WaivyKnob Settings" +msgstr "WaivyKnob Settings" + +#. parameter name +#: boxes/generators/waivyknob.py +msgid "serrationangle" +msgstr "serrationangle" + +#. help for parameter serrationangle +#: boxes/generators/waivyknob.py +msgid "higher values for deeper serrations (degrees)" +msgstr "higher values for deeper serrations (degrees)" + +#. name of box generator +#: boxes/generators/winerack.py +msgid "WineRack" +msgstr "WineRack" + +#. description of WineRack +#: boxes/generators/winerack.py +msgid "Honey Comb Style Wine Rack" +msgstr "Honey Comb Style Wine Rack" + +msgid "WineRack Settings" +msgstr "WineRack Settings" + +#. help for parameter radius +#: boxes/generators/winerack.py +msgid "Radius of comb" +msgstr "Radius of comb" + +#. parameter name +#: boxes/generators/winerack.py +msgid "walls" +msgstr "walls" + +#. help for parameter walls +#: boxes/generators/winerack.py +msgid "which of the honey comb walls to add" +msgstr "which of the honey comb walls to add" + +#. possible choice for walls +#: boxes/generators/winerack.py +msgid "minimal" +msgstr "minimal" + +#. possible choice for walls +#: boxes/generators/winerack.py +msgid "no_verticals" +msgstr "no_verticals" + +#: scripts/boxesserver:219 +#, python-format +msgid "Boxes - %s" +msgstr "Boxes - %s" + +#: scripts/boxesserver:258 +msgid "Generate" +msgstr "Generate" + +#: scripts/boxesserver:288 scripts/boxesserver:308 +msgid "Boxes.py" +msgstr "Boxes.py" + +#: scripts/boxesserver:310 +msgid "Create boxes and more with a laser cutter!" +msgstr "Create boxes and more with a laser cutter!" + +#: scripts/boxesserver:313 +msgid "" +"\n" +" Boxes.py " +"is an Open Source box generator written in Python. " +"It features both finished parametrized generators as well as a Python API " +"for writing your own. It features finger and (flat) dovetail joints, flex " +"cuts, holes and slots for screws, hinges, gears, pulleys and much more." +msgstr "" +"\n" +" Boxes.py " +"is an Open Source box generator written in Python. " +"It features both finished parametrized generators as well as a Python API " +"for writing your own. It features finger and (flat) dovetail joints, flex " +"cuts, holes and slots for screws, hinges, gears, pulleys and much more." + +#: scripts/boxesserver:366 +msgid "Get Source at GitHub" +msgstr "Get Source at GitHub" + +#: scripts/boxesserver:367 +msgid "Documentation and API Description" +msgstr "Documentation and API Description" + +#: scripts/boxesserver:368 +msgid "Hackaday.io Project Page" +msgstr "Hackaday.io Project Page" + +#: scripts/boxesserver:377 +#, python-format +msgid "Error generating %s" +msgstr "Error generating %s" + +#: scripts/boxesserver:382 +msgid "An error occurred!" +msgstr "An error occurred!" diff --git a/scripts/boxesserver b/scripts/boxesserver index 80d3108..6471dba 100755 --- a/scripts/boxesserver +++ b/scripts/boxesserver @@ -26,6 +26,7 @@ import mimetypes import re import markdown import gettext +import glob # Python 2 vs Python 3 compat try: @@ -105,16 +106,50 @@ class BServer: self.groups_by_name["Misc"]).add(box) self.staticdir = os.path.join(os.path.dirname(__file__), '../static/') + self._languages = None - def getLanguage(self, accept_language): - languages = accept_language.split(",") + def getLanguages(self, domain=None, localedir=None): + if self._languages is not None: + return self._languages + self._languages = [] + domain = "boxes.py" + for localedir in ["locale", gettext._default_localedir]: + files = glob.glob(os.path.join(localedir, '*', 'LC_MESSAGES', '%s.mo' % domain)) + self._languages.extend([file.split(os.path.sep)[-3] for file in files]) + self._languages.sort() + return self._languages + + def getLanguage(self, args, accept_language): + + lang = None langs = [] + + for i, arg in enumerate(args): + if arg.startswith("language="): + lang = arg[len("language="):] + del args[i] + break + if lang: + try: + return gettext.translation('boxes.py', localedir='locale', + languages=[lang]) + except OSError: + pass + try: + return gettext.translation('boxes.py', languages=[lang]) + except OSError: + pass + + # selected language not found try browser default + languages = accept_language.split(",") for l in languages: m = self.lang_re.match(l.strip()) if m: langs.append((float(m.group(4) or 1.0), m.group(1))) + langs.sort(reverse=True) langs = [l[1].replace("-", "_") for l in langs] + try: return gettext.translation('boxes.py', localedir='locale', languages=langs) @@ -173,7 +208,14 @@ class BServer: """ - def args2html(self, name, box, action="", defaults={}, _=lambda s:s): + def args2html(self, name, box, lang, action="", defaults={}): + _ = lang.gettext + lang_name = lang.info().get('language', None) + if lang_name: + langparam = "?language=" + lang_name + else: + langparam = "" + result = [""" @@ -189,7 +231,7 @@ class BServer:
self-Logo @@ -234,12 +276,18 @@ class BServer: result.append(markdown.markdown(_(box.description))) result.append("""
-""" + self.footer(_) + """ +""" + self.footer(lang) + """ """ ) return (s.encode("utf-8") for s in result) - def menu(self, _): + def menu(self, lang): + _ = lang.gettext + lang_name = lang.info().get('language', None) + if lang_name: + langparam = "?language=" + lang_name + else: + langparam = "" result = [""" @@ -296,8 +344,8 @@ class BServer: docs = "" if box.__doc__: docs = " - " + _(box.__doc__) - result.append("""
  • %s%s
  • \n""" % ( - group.name, name, group.name, name, _(name), docs)) + result.append("""
  • %s%s
  • \n""" % ( + group.name, name, group.name, name, langparam, _(name), docs)) result.append("\n
    \n") result.append(""" @@ -306,17 +354,25 @@ class BServer:

    -""" + self.footer(_) + """ +""" + self.footer(lang) + """ """) return (s.encode("utf-8") for s in result) - def footer(self, _): + def footer(self, lang): + _ = lang.gettext + language = lang.info().get('language', '') return """