Files
christian c11fe9ab04 Vogelalbum 1.0.0
Eine Kamera am Vogelhaus, ein Rechner der erkennt wer da war — und eine
Sammlung, die sich von allein fuellt.

Zwei neuronale Netze: eines findet den Vogel im Bild, eines bestimmt die
Art. 148 heimische Arten, auf Deutschland eingeschraenkt und neu normiert —
ohne diese Einschraenkung wird aus einer Kohlmeise eine nordamerikanische
Schwesterart. Daraus entsteht ein Sammelalbum: nummerierte Seiten,
gefundene Arten in Farbe, fehlende als Schatten, dazu Erstfang, Punkte,
Stufen und 15 Abzeichen.

Laeuft vollstaendig auf eigener Hardware. Kein Cloud-Dienst, kein Konto,
keine Telemetrie; die Bilder verlassen das eigene Netz nicht.

Zwei getrennt deploybare Teile: die Sammlung als Django-Anwendung, die
Erkennung als eigener Dienst. Der Erkennungs-Dienst fragt selbst an und
braucht deshalb weder eine erreichbare Adresse noch einen offenen Port —
er laeuft hinter einem gewoehnlichen Router.

Dabei: Firmware fuer Raspberry Pi und ESP32-S3, Anbindung an Home
Assistant ueber MQTT, Oberflaeche auf Deutsch und Englisch, Einstellungen
je Kamera aus dem Browser, und ein Weg fuer Fotos von unterwegs.

AGPL-3.0.
2026-10-15 14:30:02 +00:00

811 lines
36 KiB
Python

"""English species profiles.
Deliberately written rather than translated. A profile that reads like a
translation reads badly — the German text leans on words like „Futterhaus"
and „Streuobstwiese" that have no clean equivalent, and the facts worth
telling differ slightly for an English-speaking reader.
Same shape as ``species_info.py``: category, two paragraphs, and the short
fields. Keys must match the slugs in ``species_de.py``.
"""
from __future__ import annotations
from dataclasses import dataclass
# Type names as shown in the interface. The keys match TYPES in species_info.
TYPE_NAMES_EN = {
"meise": "Tit",
"fink": "Finch",
"sperling": "Sparrow",
"drossel": "Thrush",
"schnaepper": "Chat",
"grasmuecke": "Warbler",
"specht": "Woodpecker",
"rabenvogel": "Corvid",
"taube": "Pigeon",
"schwalbe": "Swallow",
"greifvogel": "Raptor",
"eule": "Owl",
"klettervogel": "Climber",
"buschvogel": "Skulker",
"stelze": "Wagtail",
"ammer": "Bunting",
}
ZUG_EN = {
"stand": "Resident",
"teil": "Partial migrant",
"zug": "Migrant",
}
RARITY_EN = {
"haeufig": "Common",
"gelegentlich": "Occasional",
"selten": "Rare",
"episch": "Epic",
"legendaer": "Legendary",
}
@dataclass(frozen=True)
class InfoEN:
kategorie: str
nahrung: str
lebensraum: str
stimme: str
text: str
# fmt: off
INFO_EN: dict[str, InfoEN] = {
"kohlmeise": InfoEN(
kategorie="The Loudest in the Garden",
nahrung="Caterpillars and insects in summer, seeds and fat in winter",
lebensraum="Gardens, parks and woodland — anywhere with a cavity to nest in",
stimme="A bright “tea-cher, tea-cher”, like a squeaky bicycle pump",
text=(
"The bird most people notice first at a feeder. It is the largest tit in "
"Europe, unmistakable with its black head, white cheeks and yellow belly. "
"The black stripe running down that belly tells you the sex: broad and "
"reaching between the legs on a male, narrow and often broken on a female."
"\n\n"
"Great Tits have a remarkably large vocabulary — more than forty distinct "
"calls have been described, which is why birders say that anything you "
"cannot place is probably a Great Tit. They are also problem solvers. In "
"1920s Britain they learned to pierce the foil caps of doorstep milk "
"bottles, and the trick spread across the country as one bird copied another."
),
),
"blaumeise": InfoEN(
kategorie="The Ultraviolet Signal",
nahrung="Aphids and caterpillars, seeds and nuts in winter",
lebensraum="Broadleaf woodland and mature gardens",
stimme="A quick, tinkling “tsee-tsee-tsirrr”",
text=(
"Smaller and rounder than a Great Tit, with a blue cap, blue wings and a "
"dark line through the eye that looks like a bandit's mask. The belly is "
"yellow, though paler than its larger cousin's."
"\n\n"
"What we see is only half the story. The blue crown reflects ultraviolet "
"light, and Blue Tits can see into the ultraviolet. To another Blue Tit "
"that patch blazes far brighter than it does to us — and the brighter it "
"is, the more attractive. Females choose mates partly on a colour that "
"human eyes cannot detect at all."
),
),
"tannenmeise": InfoEN(
kategorie="The Hoarder",
nahrung="Spruce seeds and small insects",
lebensraum="Conifer woodland, gardens in winter",
stimme="A high, two-note “see-too see-too”, faster than a Great Tit",
text=(
"The smallest tit here at just nine grams. The head is black like a Great "
"Tit's, but with a white patch on the nape — that is the reliable mark. "
"The underparts are buff rather than yellow."
"\n\n"
"Coal Tits cache food for winter, hiding seeds one at a time in bark "
"crevices, and remember hundreds of sites for weeks. The part of the brain "
"responsible measurably grows in autumn and shrinks again in spring."
),
),
"schwanzmeise": InfoEN(
kategorie="The Cotton Ball on a Stick",
nahrung="Tiny insects, spiders, aphid eggs",
lebensraum="Scrub, hedgerows and woodland edges",
stimme="A thin “srrih-srrih”, usually from a whole passing party",
text=(
"A ball of feathers with a tail longer than the rest of the bird. "
"Long-tailed Tits almost never travel alone — where there is one, eight "
"more are on the way."
"\n\n"
"Their nest is among the finest structures built by any European bird: a "
"closed pouch of moss and lichen lined with up to two thousand feathers "
"and bound with spider silk, which stretches as the chicks grow. In winter "
"they roost pressed together in a row along a branch — eight grams cannot "
"survive a frosty night any other way."
),
),
"haussperling": InfoEN(
kategorie="The Lodger",
nahrung="Seeds and scraps, insects for the chicks",
lebensraum="Villages and cities — almost always alongside people",
stimme="The familiar “cheep”, usually a chorus from inside a hedge",
text=(
"The house sparrow. Males wear a grey cap and a black bib; females are "
"plain brown with a pale stripe behind the eye. The species has lived "
"alongside humans for over ten thousand years and is scarcely found "
"anywhere people are not."
"\n\n"
"Despite its abundance it is in trouble. Renovated facades leave no "
"crevices to nest in and sealed surfaces produce no insects for the young. "
"In some European cities the population has more than halved since 1990."
),
),
"feldsperling": InfoEN(
kategorie="The One With the Ear Spot",
nahrung="Seeds and grain, insects while breeding",
lebensraum="Field margins, orchards, village edges",
stimme="Like a House Sparrow but higher and sharper",
text=(
"At a glance a sparrow, at second glance considerably smarter: a chestnut "
"cap instead of grey, and a clean black spot in the middle of a white "
"cheek. No other bird here has that ear patch."
"\n\n"
"Unlike the House Sparrow, males and females look identical. The Tree "
"Sparrow is shyer and keeps its distance from buildings — if one turns up "
"at your feeder, there is usually farmland or an old orchard nearby."
),
),
"amsel": InfoEN(
kategorie="The Early Riser",
nahrung="Earthworms and insects, berries and windfall fruit in autumn",
lebensraum="Gardens, parks and woodland — one of the great adapters",
stimme="A rich, fluting song from a high perch, often before sunrise",
text=(
"Males are jet black with a bright yellow bill and eye-ring; females are "
"an unassuming dark brown with a mottled breast. Anyone who sees a “brown "
"blackbird” is looking at a female, not another species."
"\n\n"
"The Blackbird was originally a shy forest bird. It only moved into towns "
"in the nineteenth century, and city birds now behave measurably "
"differently from their woodland relatives: they sing at a higher pitch to "
"cut through traffic noise, start earlier because street lights bring the "
"day forward, and let people approach within two metres."
),
),
"singdrossel": InfoEN(
kategorie="The Snail Smasher",
nahrung="Snails, worms and berries",
lebensraum="Woodland with dense undergrowth, larger gardens",
stimme="Short phrases, each repeated two to four times — the giveaway",
text=(
"Brown above, cream below with dark arrowhead spots. Smaller and neater "
"than a Blackbird, and a warmer shade of brown."
"\n\n"
"Song Thrushes use a tool, or more precisely an anvil. They carry snails "
"to a favoured stone and hammer the shells open on it. A stone ringed with "
"broken snail shells is a thrush's anvil, and the same birds often use it "
"for years."
),
),
"wacholderdrossel": InfoEN(
kategorie="The Winter Visitor",
nahrung="Berries, fallen fruit, worms",
lebensraum="Open country; large winter flocks in gardens",
stimme="A harsh “shack-shack-shack”, usually in flight",
text=(
"Grey head, chestnut back, spotted yellowish breast. In winter they "
"descend on apple trees and berry bushes in flocks — twenty thrushes "
"appearing in a garden in January are almost certainly Fieldfares."
"\n\n"
"They defend their nests with a method worth seeing once: the whole colony "
"bombards crows and raptors with droppings, aimed and in volume. It mats "
"the plumage so thoroughly that an attacker can be grounded."
),
),
"star": InfoEN(
kategorie="The Impressionist",
nahrung="Insects and grubs, masses of berries in autumn",
lebensraum="Open country with trees, towns, pasture",
stimme="A wild medley of whistles, rattles and borrowed sounds",
text=(
"Black from a distance; up close a metallic green and purple sheen flecked "
"with pale spots. Heavily spotted in winter, the pale feather tips wear "
"away by spring and the bird turns almost uniformly glossy."
"\n\n"
"Starlings mimic whatever they hear: other species, phone ringtones, car "
"alarms, lawnmowers. Their murmurations are famous — tens of thousands of "
"birds moving as one cloud. Each individual tracks only its seven nearest "
"neighbours; the shape of the whole flock emerges from that alone."
),
),
"rotkehlchen": InfoEN(
kategorie="The Territory Holder",
nahrung="Insects, worms and berries — follows the spade",
lebensraum="Undergrowth, hedges, gardens with cover",
stimme="A wistful, silvery song, sung through winter and at dusk",
text=(
"The orange-red breast runs up into the face; the rest is olive-brown. "
"Males and females are identical. Young Robins have no red at all, which "
"keeps their own parents from treating them as rivals."
"\n\n"
"For despite the friendly reputation, Robins are uncompromising. They hold "
"territory year-round and will attack their own reflection. In experiments "
"they attack a bare tuft of red feathers. Up to a tenth of adult Robins "
"die in fights with their own kind."
),
),
"hausrotschwanz": InfoEN(
kategorie="The Gutter Dweller",
nahrung="Insects, some berries in autumn",
lebensraum="Buildings, quarries, industrial sites — originally cliffs",
stimme="A scratchy song that sounds like gravel being shaken",
text=(
"Dark grey to almost black with a rust-red tail that it shivers "
"constantly. That shivering is the surest way to name it at fifty metres. "
"Females are plain grey-brown but share the same red tail."
"\n\n"
"It originally nested on mountain cliffs. Houses, barns and factory halls "
"are cliffs with better engineering, and most of the population now lives "
"in settlements. It is among the first to sing in the morning, often "
"before the Blackbird."
),
),
"gartenrotschwanz": InfoEN(
kategorie="The Long-Haul Flier",
nahrung="Insects taken in flight or from the ground",
lebensraum="Old orchards, open woodland, mature gardens",
stimme="A short, melancholy phrase with a distinctive twist at the end",
text=(
"Far more colourful than its cousin: the male has a black throat, white "
"forehead, grey back and a burning orange breast. A bird worth going out "
"of your way for."
"\n\n"
"It winters in the Sahel south of the Sahara — some five thousand "
"kilometres each way for a bird of fifteen grams. Numbers have fallen "
"sharply because two things failed at once: old orchard trees with "
"cavities here, and rainfall in the Sahel there."
),
),
"trauerschnaepper": InfoEN(
kategorie="The Nest Box Tenant",
nahrung="Flying insects caught on the wing",
lebensraum="Broadleaf woodland, parks, gardens with nest boxes",
stimme="A simple, slightly wooden “zick-zick tru-tru”",
text=(
"In spring the male is crisply black and white with a white forehead spot "
"and a bold wing panel. Females and autumn males are brown — the same "
"species, an entirely different impression."
"\n\n"
"It takes to nest boxes more readily than almost any other species, which "
"has made it one of the best-studied birds in Europe. Its problem is "
"climate change: it times its departure from Africa by day length, but the "
"caterpillars its chicks depend on now hatch earlier in the warmth. It "
"increasingly arrives after its own banquet has ended."
),
),
"grauschnaepper": InfoEN(
kategorie="The Sit-and-Wait Hunter",
nahrung="Flies, midges and moths — taken exclusively in flight",
lebensraum="Woodland edges, gardens, churchyards",
stimme="A thin, unremarkable “tsri” that is easy to miss",
text=(
"Nondescript grey-brown with fine streaking on the breast. Easy to "
"overlook, but the behaviour gives it away: it sits upright on an open "
"perch, launches, snaps up a fly and returns to exactly the same twig. "
"Again and again."
"\n\n"
"You can sometimes hear the bill snap shut. It is among the last migrants "
"to return in spring — rarely before mid-May, because before then there "
"simply is not enough flying."
),
),
"buchfink": InfoEN(
kategorie="The One With an Accent",
nahrung="Seeds, insects for the chicks",
lebensraum="Woodland, gardens and parks — one of Europe's commonest birds",
stimme="A descending rattle finishing with a flourish",
text=(
"The male has a blue-grey cap, a russet breast and two bold white wing "
"bars. Females are olive-brown but show the same white bars, which is how "
"you name them in flight."
"\n\n"
"Chaffinches have regional dialects. A bird from Bavaria sings measurably "
"differently from one in Schleswig-Holstein, and the boundaries between "
"dialects can be drawn on a map. Young finches learn the song from their "
"neighbours; one raised in isolation manages only a stammer."
),
),
"gruenfink": InfoEN(
kategorie="The Seed Cracker",
nahrung="Large, hard seeds — sunflower hearts above all",
lebensraum="Gardens, parks, churchyards",
stimme="A drawn-out, nasal “dzweee” like a slow squeak",
text=(
"Olive-green with yellow flashes along wing and tail that catch the light "
"in flight. Males are a stronger yellow-green, females greyer."
"\n\n"
"Its heavy conical bill cracks sunflower seeds that defeat the tits. At a "
"feeder it is dominant and drives smaller birds off the best spot. One "
"caution: Greenfinches are particularly prone to trichomonosis, which "
"spreads through soiled food and water. Cleaning feeders regularly matters."
),
),
"stieglitz": InfoEN(
kategorie="The Thistle Specialist",
nahrung="Thistle and teasel seeds, alder and birch seed",
lebensraum="Rough ground with tall herbs, orchards, wilder gardens",
stimme="A bright, tinkling call, cheerful and unmistakable",
text=(
"The most colourful finch here: a scarlet face, a black-and-white head and "
"a broad golden wing bar. Males and females look nearly the same."
"\n\n"
"Its long, fine bill reaches seeds inside thistles and teasels that "
"nothing else can get at. So if you want Goldfinches, the single most "
"useful thing is to leave dead flower heads standing over winter. A tidy "
"garden is an empty larder to them."
),
),
"erlenzeisig": InfoEN(
kategorie="The Irruption Guest",
nahrung="Alder and birch seed, spruce seed",
lebensraum="Conifer and mixed woodland; alders and feeders in winter",
stimme="A wheezy “tsooee” and constant chatter within the flock",
text=(
"Small, yellow-green and finely streaked, the male with a black cap. They "
"hang upside down from alder cones the way tits hang from a fat ball."
"\n\n"
"Some winters they are everywhere, others almost absent. It depends on the "
"spruce and alder seed crop further north: when it fails, whole "
"populations move south. Such irruption years cannot be predicted."
),
),
"gimpel": InfoEN(
kategorie="The Bullfinch",
nahrung="Buds, seeds and berries — fruit tree buds in spring",
lebensraum="Conifer woodland, gardens with hedges, churchyards",
stimme="A soft, mournful “deu” — quiet and easy to miss",
text=(
"The male carries the strongest colour of the whole winter half-year: a "
"glowing rose-red breast, black cap, grey back and a white rump. Females "
"are grey-brown instead of red but marked identically."
"\n\n"
"Bullfinches are strikingly calm and not especially shy — they can be "
"watched at length and rarely flush in a hurry. Pairs often stay together "
"for life and keep close contact even within a winter flock."
),
),
"girlitz": InfoEN(
kategorie="The Smallest",
nahrung="Very small seeds of herbs and grasses",
lebensraum="Settlements with conifers, vineyards, churchyards",
stimme="A hurried, jangling whirr like clockwork running down",
text=(
"Europe's smallest finch at eleven grams. Yellow-green, heavily streaked, "
"with a very short blunt bill — that is what separates it from a Siskin."
"\n\n"
"It spread north from the Mediterranean only in the nineteenth century. "
"Its song flight is worth watching: it flutters over its territory like a "
"butterfly, with slow, exaggerated wingbeats."
),
),
"kleiber": InfoEN(
kategorie="The Upside-Down Walker",
nahrung="Insects from bark, nuts and seeds in winter",
lebensraum="Mature broadleaf woodland, parks, gardens with big trees",
stimme="A loud, ringing “twit-twit-twit”, carrying surprisingly far",
text=(
"Blue-grey above, buff-orange below, with a black eye-stripe, a short tail "
"and a strong pointed bill. It looks like a small woodpecker without the "
"prop of a stiff tail."
"\n\n"
"It is the only bird here that can walk head-first down a tree trunk — "
"woodpeckers and treecreepers only manage upwards. Its German name comes "
"from plastering: if the entrance to its nest hole is too wide, it walls "
"it in with mud to the size it wants."
),
),
"zaunkoenig": InfoEN(
kategorie="The Loudest per Gram",
nahrung="Spiders and small insects from ground cover",
lebensraum="Dense scrub, brush piles, stream banks, wild garden corners",
stimme="A startlingly loud, ringing trill — up to 90 decibels",
text=(
"Tiny, round and rust-brown, with the tail cocked steeply upward. Nine "
"grams, and one of the loudest birds in Europe — relative to body size, "
"the loudest of all."
"\n\n"
"The male builds several nests and leads the female round so she can pick "
"one; the rest serve as winter roosts. In hard frost more than a dozen "
"Wrens have been found packed into a single such ball. It lives in ground "
"cover, so a garden cleared of every bramble loses it."
),
),
"heckenbraunelle": InfoEN(
kategorie="The Understated One",
nahrung="Small insects, fine seeds in winter",
lebensraum="Hedges, scrub, densely planted gardens",
stimme="A quick, even warble with no clear melody",
text=(
"At first glance a sparrow; at second glance far finer — a slender bill "
"instead of a stout cone, a grey head and breast, a streaked brown back. "
"It creeps mouse-like along the ground beneath bushes."
"\n\n"
"Behind that grey exterior sits the most complicated love life in the "
"garden. Dunnocks often live in threes or larger arrangements, females "
"with several males and the reverse. Males feed the chicks in proportion "
"to how likely they are to be the father."
),
),
"moenchsgrasmuecke": InfoEN(
kategorie="The Black Cap",
nahrung="Insects in summer, berries and elder in autumn",
lebensraum="Undergrowth, hedges, gardens with shrubs",
stimme="Quiet chatter building to a clear, fluting finish",
text=(
"Grey and unremarkable except for the cap: black on males, red-brown on "
"females. A rare case where the sexes are unambiguous and both handsome."
"\n\n"
"Its migration is changing in front of us. A growing share of the central "
"European population now winters in Britain rather than Spain, drawn by "
"garden feeding. Those birds return earlier in spring and take the best "
"territories. Evolution at speed, set off by bird feeders."
),
),
"zilpzalp": InfoEN(
kategorie="The One That Says Its Name",
nahrung="Tiny insects and larvae gleaned from foliage",
lebensraum="Woodland with undergrowth, gardens, parks",
stimme="Exactly what it is named for: “chiff-chaff-chiff-chaff”",
text=(
"A tiny olive-green bird with no obvious features — barely separable from "
"a Willow Warbler by eye. There is one mark: dark legs. The Willow Warbler "
"has pale ones."
"\n\n"
"Fortunately you do not need to see it. The song is so distinctive that "
"the bird is named after it in several languages, and it is among the "
"first migrants back in spring. The first chiff-chaff in March means "
"winter is over."
),
),
"buntspecht": InfoEN(
kategorie="The Drummer",
nahrung="Grubs from deadwood, conifer seeds, fat in winter",
lebensraum="All woodland types, parks, gardens with old trees",
stimme="A sharp “kick”, and in spring a fast drum roll on dead wood",
text=(
"Black and white with a vivid red vent. The male has a red patch on the "
"nape, the female none; juveniles have an entirely red crown."
"\n\n"
"Drumming, it strikes up to twenty times a second at a deceleration of "
"around a thousand times gravity. The skull works as a shock absorber: "
"spongy bone at the forehead, a hyoid that wraps right around the "
"braincase, and a brain packed so tightly it cannot slosh. The drumming "
"is not feeding, incidentally — it is song, and it marks territory."
),
),
"gruenspecht": InfoEN(
kategorie="The Ant Hunter",
nahrung="Ants, almost exclusively, summer and winter",
lebensraum="Old orchards, parks, gardens with short grass",
stimme="A loud ringing laugh — the “yaffle”, audible across the garden",
text=(
"Large and green with a red crown and a black facial mask. The male's "
"moustache has a red centre; the female's is solid black."
"\n\n"
"It behaves unusually for a woodpecker: rather than chiselling wood it "
"spends most of its time on the lawn, digging out ant nests. Its tongue is "
"up to ten centimetres long, sticky and barbed. In winter it tunnels "
"through snow to reach nests, which makes hard frosts more dangerous for "
"it than for most species."
),
),
"elster": InfoEN(
kategorie="The Self-Recogniser",
nahrung="Anything — insects, carrion, scraps, eggs, fruit",
lebensraum="Settlements and open country with scattered trees",
stimme="A hard, rattling “chack-a-chack-chack”",
text=(
"Black and white with a long tail that shows metallic green and violet in "
"sunlight. Unmistakable."
"\n\n"
"Magpies pass the mirror test: given a coloured mark on the throat that "
"they can only see in a mirror, they try to remove it. They recognise "
"themselves — something otherwise shown only in great apes, dolphins and "
"elephants. The reputation as an egg thief is overstated: studies find no "
"measurable effect on songbird populations. Habitat loss and domestic cats "
"do that."
),
),
"eichelhaeher": InfoEN(
kategorie="The Forest Planter",
nahrung="Acorns and beech mast, insects and eggs in summer",
lebensraum="Broadleaf and mixed woodland, gardens in winter",
stimme="A harsh, screeching alarm — the burglar alarm of the woods",
text=(
"Pinkish-brown with a black-and-white head, a white rump, and a barred "
"blue-and-black wing patch that is among the finest feathers in Europe."
"\n\n"
"A single Jay buries up to five thousand acorns each autumn, each in a "
"different spot. The ones it forgets germinate, which makes it one of the "
"most important planters of oak woodland, carrying acorns uphill for "
"kilometres to places they would never reach alone. It is also a fine "
"mimic, and does a convincing Buzzard."
),
),
"dohle": InfoEN(
kategorie="The One With Pale Eyes",
nahrung="Insects, seeds and scraps — highly adaptable",
lebensraum="Church towers, ruins, old trees, city centres",
stimme="A bright, clipped “kya” — the source of its scientific name",
text=(
"The smallest corvid here: slate grey with a black cap and a silver-grey "
"nape. The striking feature is the eye — pale ice blue, unique among our "
"crows."
"\n\n"
"Jackdaws are strictly monogamous and stay together for life, often more "
"than ten years. Colonies have a firm pecking order, and a female "
"automatically assumes her partner's rank on pairing. Konrad Lorenz "
"studied social behaviour in Jackdaws and called them the most political "
"birds he knew."
),
),
"rabenkraehe": InfoEN(
kategorie="The Toolmaker",
nahrung="Genuinely anything — carrion, insects, grain, refuse, eggs",
lebensraum="Everywhere: fields, woods, cities, car parks",
stimme="The familiar harsh “caw”, usually three times",
text=(
"All black with a heavy bill, recognisable in flight by the fingered "
"wingtips. Not to be confused with the Rook, which has a pale bare patch "
"at the base of the bill."
"\n\n"
"Crows are among the most intelligent animals alive. They drop nuts onto "
"roads for cars to crack and collect them at pedestrian crossings when the "
"lights are red. They recognise individual human faces, remember who "
"wished them harm, and pass that information to other crows — including "
"ones that were never there."
),
),
"kolkrabe": InfoEN(
kategorie="The Largest Songbird",
nahrung="Carrion, small mammals, eggs, refuse",
lebensraum="Woodland, crags and open country; avoids settlements",
stimme="A deep, resonant “kronk”, nothing like a crow's caw",
text=(
"Noticeably larger than a Carrion Crow, nearly the size of a Buzzard, with "
"a wedge-shaped tail, a massive bill and shaggy throat feathers. In flight "
"it soars and rolls, which crows do not."
"\n\n"
"The largest songbird in the world — corvids count as passerines despite "
"their size. Ravens solve multi-step puzzles that defeat four-year-old "
"children, plan for the future, and trade objects for better ones. In "
"nineteenth-century Germany the species was almost exterminated and has "
"only spread back in recent decades."
),
),
"ringeltaube": InfoEN(
kategorie="The Largest of Its Kind",
nahrung="Seeds, grain, buds and acorns",
lebensraum="Woodland and farmland, increasingly city parks and gardens",
stimme="A muffled five-note coo, often all day in summer",
text=(
"The largest pigeon here. Blue-grey with a pink breast, a white patch on "
"the side of the neck and bold white wing bars in flight."
"\n\n"
"That white neck patch — the “ring” of the name — is entirely absent in "
"juveniles and grows in over the first winter. Wood Pigeons feed their "
"young on crop milk, a nutrient-rich secretion produced by both parents. "
"That frees them from the insect season, which is why they go on breeding "
"into October."
),
),
"tuerkentaube": InfoEN(
kategorie="The Coloniser",
nahrung="Seeds, grain, bread scraps",
lebensraum="Villages, suburbs, gardens with conifers",
stimme="A monotonous three-note coo, repeated without end",
text=(
"Slim and sandy-buff with a narrow black half-collar on the nape. "
"Distinctly smaller and paler than a Wood Pigeon."
"\n\n"
"One of the fastest range expansions ever documented: in 1930 it was "
"confined to the Balkans, by 1945 it had reached Germany, by 1960 Britain. "
"It colonised a continent in thirty years without anyone releasing it. Why "
"it suddenly set off has never been fully explained."
),
),
"rauchschwalbe": InfoEN(
kategorie="The Good Omen",
nahrung="Flying insects, caught exclusively in the air",
lebensraum="Barns and stables, open country with livestock",
stimme="A twittering chatter ending in a dry rattle",
text=(
"A metallic blue-black back, rust-red throat and forehead, and a deeply "
"forked tail with long streamers. It nests inside — in stables and barns, "
"not on an outside wall."
"\n\n"
"Barn Swallows do almost everything on the wing: feed, drink, bathe, even "
"mate. Streamer length signals fitness, and females choose the longest. "
"Their numbers hang directly on farming — without open stables and insects "
"over pasture they disappear, and that is exactly what has been happening."
),
),
"mehlschwalbe": InfoEN(
kategorie="The Mud Mason",
nahrung="Flying insects, usually higher up than a Barn Swallow",
lebensraum="House walls, bridges, colonies on buildings",
stimme="A dry, rasping twitter",
text=(
"Blue-black above, entirely white below, with a conspicuous white rump "
"that separates it from a Barn Swallow at any distance. The tail is only "
"shallowly forked, with no streamers."
"\n\n"
"Its closed nest under the eaves is built from roughly a thousand mud "
"pellets, each flown in separately. Puddles and bare mud are therefore its "
"livelihood — in a sealed new-build estate it simply cannot find building "
"material. The nests are protected year-round, even when empty."
),
),
"mauersegler": InfoEN(
kategorie="The Endless Flier",
nahrung="Aerial plankton — tiny insects and ballooning spiders",
lebensraum="Tall buildings, cavities under roofs, towns",
stimme="A shrill, drawn-out scream over the rooftops on summer evenings",
text=(
"Scythe-shaped wings, a short forked tail, uniformly dark brown. Despite "
"the resemblance it is not a swallow at all but a swift — its closest "
"relatives are hummingbirds."
"\n\n"
"After leaving the nest a young Swift may stay airborne for up to ten "
"months without landing once: it feeds, drinks, mates and sleeps in "
"flight, one brain hemisphere at a time. It only lands to breed. Its legs "
"are so reduced it can barely take off from flat ground. It is here for "
"about a hundred days a year, early May to early August."
),
),
"bachstelze": InfoEN(
kategorie="The Tail Wagger",
nahrung="Insects picked from the ground while walking",
lebensraum="Open ground, watersides, car parks, rooftops",
stimme="A bright “chissick”, usually given in bounding flight",
text=(
"Black and white with a long tail and grey back. It walks briskly across "
"open ground rather than hopping, wagging its tail without pause."
"\n\n"
"Why it wags has never been settled. The most convincing explanation is "
"that it signals to a predator: I have seen you, an attack is not worth "
"it. In winter Wagtails like to roost communally somewhere warm — "
"glasshouses, industrial plants, lit city centres."
),
),
"goldammer": InfoEN(
kategorie="The One With the Mnemonic",
nahrung="Seeds, insects in summer",
lebensraum="Field margins, hedges, open country with bushes",
stimme="Remembered in English as “a little bit of bread and no cheeeese”",
text=(
"The male has a brilliant yellow head and breast with a chestnut rump. "
"Females are duller and more heavily streaked."
"\n\n"
"It sings from exposed perches, often for hours in the midday heat when "
"everything else has fallen silent. The song ends on a drawn-out note that "
"makes the species unmistakable. It is uncommon at feeders — it prefers to "
"feed on the ground beneath and needs open fields nearby."
),
),
"sperber": InfoEN(
kategorie="The Ambush Hunter",
nahrung="Small birds, taken in flight",
lebensraum="Woodland, gardens, settlements — hunts feeders deliberately",
stimme="A rapid “kew-kew-kew”, mostly while breeding",
text=(
"Short broad wings and a long tail — built to turn between branches, not "
"to fly fast in a straight line. Males at 150 grams are far smaller than "
"females at up to 300, an extreme difference even for a raptor."
"\n\n"
"When every bird at a feeder vanishes at once and it stays silent for "
"minutes, a Sparrowhawk has usually just been through. It hunts from "
"cover, using hedges and house corners as screens, and is visible only at "
"the last moment. That is no reason to stop feeding — it belongs there, "
"and a feeder with cover nearby gives the small birds a fair chance."
),
),
"turmfalke": InfoEN(
kategorie="The Hoverer",
nahrung="Voles, plus large insects and small birds",
lebensraum="Open country, church towers, tower blocks, motorway verges",
stimme="A rapid, shrill “kee-kee-kee”",
text=(
"A rusty-brown back with dark spots, pointed wings and a long tail. The "
"male has a grey head and a grey tail with a black band; the female is "
"barred brown throughout."
"\n\n"
"Its hovering flight is unmistakable: it holds station in the air with the "
"head absolutely still while the body works. What it is looking for we "
"cannot see — vole urine reflects ultraviolet light, and Kestrels see into "
"the ultraviolet. To them the runs through the grass glow."
),
),
"maeusebussard": InfoEN(
kategorie="The Commonest in the Sky",
nahrung="Voles, earthworms, carrion — often at the roadside",
lebensraum="Copses, woodland edges, farmland everywhere",
stimme="A mewing “peee-ow”, often mistaken for a Red Kite",
text=(
"Broad wings, a short rounded tail, and extremely variable plumage from "
"nearly white to nearly black. Circling over a field with wings held in a "
"shallow V, it is the commonest raptor in Germany."
"\n\n"
"It will of course never perch in a bird house. If the camera catches one "
"it will be overhead or on a fence post nearby. That is exactly why it "
"ranks high in this collection: not because it is rare, but because it is "
"rarely in front of this lens."
),
),
"steinkauz": InfoEN(
kategorie="The Bird of Athena",
nahrung="Voles, beetles, earthworms",
lebensraum="Old orchards, pollarded willows, old barns",
stimme="A plaintive, rising “goooek”, carrying far at night",
text=(
"Small and squat with a flat head and piercing yellow eyes under bold "
"white brows that give it a permanently stern expression. Barely twenty "
"centimetres tall."
"\n\n"
"It was the sacred bird of Athena, which is why an owl still appears on "
"the Greek one-euro coin — “carrying owls to Athens” traces back to it. "
"Unlike most owls it is often active by day. In Germany it is "
"endangered through the loss of old orchards and pollarded willows. In "
"front of a camera it is the greatest catch imaginable."
),
),
}
# fmt: on