Skip to content

Commit

Permalink
New Generator Fatballfeeder
Browse files Browse the repository at this point in the history
- Added generator fatballfeeder
- Added translations (de, en)
- Added sample image
  • Loading branch information
mrab authored and florianfesti committed Dec 28, 2024
1 parent d8b5e45 commit 4b67be5
Show file tree
Hide file tree
Showing 12 changed files with 4,198 additions and 669 deletions.
546 changes: 546 additions & 0 deletions boxes/generators/fatballdispenser.py

Large diffs are not rendered by default.

248 changes: 248 additions & 0 deletions examples/FatBallDispenser.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified locale/de/LC_MESSAGES/boxes.py.mo
Binary file not shown.
Binary file modified locale/en/LC_MESSAGES/boxes.py.mo
Binary file not shown.
Binary file modified locale/fr/LC_MESSAGES/boxes.py.mo
Binary file not shown.
Binary file modified locale/zh_CN/LC_MESSAGES/boxes.py.mo
Binary file not shown.
3,369 changes: 2,700 additions & 669 deletions po/boxes.py.pot

Large diffs are not rendered by default.

337 changes: 337 additions & 0 deletions po/de.po
Original file line number Diff line number Diff line change
Expand Up @@ -1068,6 +1068,343 @@ msgstr "Riegelradius in mm"
msgid "latchsize"
msgstr "Riegelgröße"

#. name of box generator
#: boxes/generators/fatballdispenser.py
msgid "FatBallDispenser"
msgstr "Meisenknödelspender"

#. description of FatBallDispenser
#: boxes/generators/fatballdispenser.py
msgid "Birdhouse for fat balls."
msgstr "Vogelhäuschen für Meisenknödel."

#. long description of FatBallDispenser in markdown
#: boxes/generators/fatballdispenser.py
msgid ""
"\n"
"### Description\n"
"Fat balls are quite common to feed tits. Here you can build a dispenser that "
"protects\n"
"the fat balls from rain and snow. The design was tested using 4mm plywood "
"for the\n"
"main structural parts. For the spacer of the locking mechanism two layers of "
"3mm\n"
"plywood have been stacked. The poles were made from 8mm diameter beech rod "
"and 19cm\n"
"in length. Some basic consistency checks have been made for different "
"numbers, but\n"
"only the defaults have ever been built.\n"
"\n"
"The final dispenser consists of two parts which slide into each other. You "
"can mount\n"
"a hook to hang it into a tree. All edges that have angles different from 90 "
"degrees (chamfers)\n"
"have engraved guiding lines which indicate the angle. You have to sand the "
"edge such\n"
"that the pieces fit together.\n"
"\n"
"The top part (roof) consists of the the following elements for a N sided "
"dispenser:\n"
"\n"
" * The N sided roof bottom plate which supports the roof tiles. It has a "
"central cut out\n"
" which is needed for assembly and on the bottom side an engraved line "
"which indicates the\n"
" position of the mounting bracket.\n"
" * N triangles forming the roof. They also have a small arc at the tip "
"(roof_hole_diameter)\n"
" which acts as a drilling guide if you want to mount a hook.\n"
" * The N sided roof support piece which has a central hole for the hook. It "
"is been mounted\n"
" to the roof tiles through the hole in the roof bottom plate to support the "
"roof\n"
" tiles and acts as a mounting plate for the hook.\n"
" * Spacer(s); in the reference builds 2 spacers using 3mm plywood have been "
"used. The spacer\n"
" needs to be a bit thicker than the ceiling (see below). That's the "
"smaller\n"
" \"U\" shaped part which is glued to the bottom side of the roof bottom "
"plate.\n"
" * The bracket is also \"U\" shaped and a bit wider than the spacer. This "
"is glued to the\n"
" bottom of the spacer and holds the cage (bottom part).\n"
"\n"
"The bottom part (cage) consists of the follwoing elements:\n"
"\n"
" * The ceiling is N sided with the central refill hole and N smaller holes "
"into which\n"
" the poles are fitted.\n"
" * The N sided floor part with finger joints for the balcony walls and "
"holes for\n"
" the poles. A central hole to drain rain water can be added as well.\n"
" * N balcony walls surrounding the floor.\n"
" * N poles that join floor and ceiling (not part of the drawing)\n"
"\n"
"Other parts needed for assembly:\n"
"\n"
" * Wooden rod (N times the length of the poles).\n"
" * A hook (e.g. M5x50mm)\n"
" * A washer to distribute the load of the hook to the support piece\n"
" * One or two nuts to secure the hook\n"
" * Optional, a pice of wire mesh\n"
"\n"
"Assembly:\n"
"\n"
" * Sand all chamfers\n"
" * Glue balcony walls to the floor\n"
" * Glue pairs of roof tiles and use the roof bottom plate as a jig, Hot "
"glue may be used to\n"
" tack the parts.\n"
" * Glue all roof tiles to form the roof\n"
" * Glue spacer(s) and the bracket into a stack\n"
" * Glue roof tiles to the roof bottom plate and attach the support piece\n"
" * Glue the stack to the roof bottom plate\n"
" * Cut the poles to length\n"
" * If you want to use multiple colors paint now, otherwise you also can "
"paint later\n"
" * After painting you may need to get the paint out of the pole holes again "
"using a drillbit\n"
" * Glue the poles into floor plate and ceiling\n"
" * Attach the hanger\n"
" * Attach the wire mesh\n"
" "
msgstr ""
"\n"
"### Beschreibung\n"
"Meisenknödel werden gerne verwendet, um Meisen durch den Winter zu bringen. Hier kannst Du ein Vogelhäuschen bauen, "
"das die Meisenknödel vor Regen und Schnee schützt. "
"Das Design wurde mit 4mm Pappelsperrholz für die Hauptkomponenten getestet. "
"Für den Abstandshalter der 'Kupplung' wurden 2 Lagen 3mm Sperrholz verwendet. "
"Die Stangen sind aus 8mm Dübel(stange) und 19cm lang. "
"Für das Design wurden Tests für verschiedene Parameterwerte durchgeführt. Gebaut wurden aber nur Häuser mit den "
"Vorgabewerten für die Parameter.\n"
"\n"
"Das Vogelhäuschen besteht aus zwei Teilen, die sich ineinander schieben lassen. "
"Zum Aufhängen kann ein Haken/Öse im Dach montiert werden, um es in einen Baum hängen zu können. "
"An allen Kanten die mit einer Fase versehen werden müssen sind Markierungen angebracht um das Schleifen zu erleichtern. "
"Diese Kanten müssen noch nachbearbeitet werden damit die Teile zusammen passen.\n"
"\n"
"Das obere Teil (Dach) besteht aus den folgenden Teilen (für ein N-seitiges Häuschen):\n"
"\n"
" * Der N-seitige Dachboden (roof bottom plate), der die Dachplatten trägt. Er hat mittig ein Locha, das für den Zusammenbau benötigt wird. "
" Auf der Unterseite ist eine Gravur, die die Positionierung der Kupplung angibt.\n"
" * N Dreiecke (roof tile) die das Dach bilden. An der oberen Ecke befindet sich ein kleiner Kreisbogen der als Bohrhilfe für die "
" Aufhängung dient. (Dachbohrungs-Durchmesser). \n"
" * Die N-seitige Dachverstärkung (roof support) mit einem mittigen Loch für die Aufhängung. Sie wird von unten durch das Loch im Dachboden an "
" die Dachplatten geleimt, um das Dach zu verstärken und den Haken zu stützen.\n"
" * Abstandshalter (spacer); Im auf dem Foto abgebildeten Häuschen wurden 2 Abstandshalter aus 3mm Sperrholz verwendet. "
" Der Abstandshalter muss etwas dicker als die Decke sein (siehe unten). \n"
" Das ist das schmälere von den \"U\"-förmigen Teilen und wird von unten an den Dachboden geleimt.\n"
" * Die Halterung (bracket) ist auch \"U\"-förmig und etwas breiter als der Abstandshalter. "
" Sie wird von unten an den Abstandshalter geleimt und hält später den Käfig (unteres Teil).\n"
"\n"
"Das untere Teil (Käfig) besteht aus den folgenden Komponenten:\n"
"\n"
" * Die Decke (ceiling) ist N-seitig mit einer großen Nachfüllöffnung in der Mitte und N kleineren Löchern in die die Stangen passen.\n"
" * Der N-seitige Boden (floor) mit Fingerzinken für die Balkonwände und Löchern für die Stangen. "
" Mittig gibt es noch ein kleines Loch durch das Wasser ablaufen kann.\n"
" * N Balkonwände (balcony wall), die um den Boden geleimt werden.\n"
" * N Stangen (pole), die Boden und Decke verbinden (nicht Teil der generierten Zeichnung).\n"
"\n"
"Weitere Teile die sonst noch benötigt werden:\n"
"\n"
" * Rundstab (N mal die Länge der Stangen).\n"
" * Ein Haken / Schrauböse (z.B. M5x50mm)\n"
" * Eine Unterlegscheibe, um die Last vom Haken auf die Dachverstärkung zu verteilen\n"
" * Ein oder zwei Muttern, um den Haken zu fixieren\n"
" * Optional ein Stück Maschendraht\n"
"\n"
"Zusammenbau:\n"
"\n"
" * Alle Fasen schleifen / schnitzen\n"
" * Balkonwände an den Boden leimen\n"
" * Die Dachplatten paarweise verleimen. Der Dachboden kann als Lehre für den Winkel benutzt werden."
" Ggfs. hilft etwas Heißkleber, die Teile zu fixieren so lange der Leim noch nicht hält.\n"
" * Die Dachplattenpaare zusammenleimen.\n"
" * Die Abstandshalter und die Halterung als Stapel verleimen.\n"
" * Die verleimten Dachplatten und den Dachboden verleimen. Dabei auch die Dachverstärkung von unten im Dach verleimen.\n"
" * Den Stapel aus Abstandshalter(n) und Halterung von unten gegen den Dachboden leimen.\n"
" * Die Stangen zusägen.\n"
" * Wenn die Stangen in einer anderen Farbe lackiert werden sollen, jetzt alles lackieren. Ansonsten kann das auch noch "
" später passieren.\n"
" * Nach dem lackieren ggfs. die Löcher für die Stangen mit einem Bohrer wieder auf die richtige Größe bringen.\n"
" * Die Stangen mit Boden und Decke verleimen.\n"
" * Den Haken montieren\n"
" * Das Drahtgitter einbauen\n"
" "

msgid "FatBallDispenser Settings"
msgstr "Meisenknödelspender Einstellungen"

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "sides"
msgstr "Ecken"

#. help for parameter sides
#: boxes/generators/fatballdispenser.py
msgid "The number of sides of the floor plan."
msgstr "Die Anzahl der Ecken (von oben betrachtet)."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "pole_diameter"
msgstr "Stangendurchmesser"

#. help for parameter pole_diameter
#: boxes/generators/fatballdispenser.py
msgid "The diameter of the poles."
msgstr "Der Stangendurchmesser in mm."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "ball_diameter"
msgstr "Knödeldurchmesser"

#. help for parameter ball_diameter
#: boxes/generators/fatballdispenser.py
msgid ""
"The diameter of the fat balls. Give some extra mm to make it a loose fit"
msgstr ""
"Der Knödeldurchmesser in mm. Sollte etwas größer gewählt werden damit die Knödel gut durch passen."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "balcony_width"
msgstr "Balkonbreite"

#. help for parameter balcony_width
#: boxes/generators/fatballdispenser.py
msgid "The width of the area outside of the poles."
msgstr "Die Breite des Balkons (der Bereich außerhalb der Stangen) in mm."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "balcony_height"
msgstr "Balkonhöhe"

#. help for parameter balcony_height
#: boxes/generators/fatballdispenser.py
msgid "The height of the balcony in mm. Set to 0 if no walls are needed."
msgstr "Die Höhe des Blakongeländers in mm. 0mm falls keine Wände gewünscht sind."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "drain_hole_diameter"
msgstr "Abflusslochdurchmesser"

#. help for parameter drain_hole_diameter
#: boxes/generators/fatballdispenser.py
msgid ""
"The diameter of the hole of the floor (to drain rainwater)\n"
" in mm. Set to 0 if you don't need it."
msgstr ""
"Der Durchmesser des Abflusslochs im Boden (falls es zu schräg regnet) in mm. 0mm um das Loch wegzulassen."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "pole_clearance"
msgstr "Stangenabstand"

#. help for parameter pole_clearance
#: boxes/generators/fatballdispenser.py
msgid ""
"The minimum distance between a pole and the central\n"
" refill hole in the ceiling in mm."
msgstr ""
"Der minimale Abstand zwischen den Löchern für die Stangen und der Nachfüllöffnung in der Deck in mm."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "slide_clearance"
msgstr "Spiel im Verschluss"

#. help for parameter slide_clearance
#: boxes/generators/fatballdispenser.py
msgid ""
"The gap between the parts that slide into each other\n"
" in the locking mechanism in mm."
msgstr ""
"Das (horizontale) Spiel zwischen den Verschlussteilen die ineinander gleiten in mm."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "spacer_width"
msgstr "Abstandshalterbreite"

#. help for parameter spacer_width
#: boxes/generators/fatballdispenser.py
msgid "The width of the spacer (part of the locking mechanism) in mm."
msgstr "Die Beite des Abstandshalters (Teil des Verschlusses) in mm."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "pole_clearance_factor"
msgstr "Stangenabstandsfaktor"

#. help for parameter pole_clearance_factor
#: boxes/generators/fatballdispenser.py
msgid ""
"The fraction of the pole clearance which is being used for\n"
" the locking mechanism."
msgstr ""
"Der Anteil des Stangenabstands der für den Verschluss verwendet wird."

#. parameter name
#: boxes/generators/birdhouse.py
msgid "roof_overhang"
msgstr "Dachüberstand"

#. help for parameter roof_overhang
#: boxes/generators/fatballdispenser.py
msgid "Defines how much wider than the bottom floor the roof is."
msgstr "Definiert wie weit (in mm) das Dach über den Boden übersteht."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "roof_height"
msgstr "Dachhöhe"

#. help for parameter roof_height
#: boxes/generators/fatballdispenser.py
msgid "The height of the roof in mm."
msgstr "Die Höhe des Daches in mm."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "roof_hole_diameter"
msgstr "Dachbohrungs-Durchmesser"

#. help for parameter roof_hole_diameter
#: boxes/generators/fatballdispenser.py
msgid ""
"The diameter of the hole of the roof in mm.\n"
" Set to 0 if you don't want to attach a hanger."
msgstr ""
"Der Durchmesser des Lochs im Dachs in mm. Falls keine Aufhängung gewünscht ist auf 0mm setzen."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "roof_maintenance_clearance"
msgstr "Wartungsöffnung im Dachboden"

#. help for parameter roof_maintenance_clearance
#: boxes/generators/fatballdispenser.py
msgid ""
"The distance from on bottom corner of the roof to the maintenance hole in mm."
msgstr ""
"Der Abstand von einer Ecke des Dachbodens zur Wartungsöffnung in mm."

#. parameter name
#: boxes/generators/fatballdispenser.py
msgid "roof_support_fraction"
msgstr "Relative Dachverstärkungsgröße"

#. help for parameter roof_support_fraction
#: boxes/generators/fatballdispenser.py
msgid "The radius of the roof support part as a fraction of the roof radius."
msgstr "Die Größe der Dachverstärkung als Anteil der Größe des Dachbodens."

#. help for parameter latchsize
#: boxes/generators/flexbox.py
msgid "size of latch in multiples of thickness"
Expand Down
Loading

0 comments on commit 4b67be5

Please sign in to comment.