Shorts L03–L10 und Vorlagen-Shorts V01–V08 (Wer bin ich?, Zähl mit!, Welche Farbe?), DE/ES/FR mit Stimmen

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lara 2026-11-08 12:57:45 +00:00
parent 65ecb90ce9
commit 4165810916
11 changed files with 2953 additions and 17 deletions

View file

@ -6,34 +6,73 @@ import {Musik} from '../baukasten/musik';
import {S_GIRAFFE, Giraffe} from './giraffe'; import {S_GIRAFFE, Giraffe} from './giraffe';
import {H, W} from './hochformat'; import {H, W} from './hochformat';
import {S_IGEL, Igel} from './igel'; import {S_IGEL, Igel} from './igel';
import {Blaetter, Hals, Hase, Herbstfarben, S_BLAETTER, S_HALS, S_HASE, S_HERBST, S_SCHATTEN, S_SCHLEIFEN, S_WIND, S_WINTER, Schatten, Schleifen, Wind, Winter} from './lernen';
import {TEXTE} from './plan';
import {WelcheFarbeFreunde, WelcheFarbeGarten, WerBinIch, ZaehlMit, farbePlan, werPlan, zaehlPlan} from './vorlagen';
// Lern-Shorts „Pinos Wissen“ (Hochformat, je ca. 30 s): kurze Sachfragen mit Pino, Noa und Lulu. // Shorts im Hochformat (je ca. 20–40 s): Lern-Shorts L01–L10 und Vorlagen-Shorts V01–V08
// (Plan und Termine: veroeffentlichung/shorts-plan.md).
// Kürzel F90 nur für die Werkzeuge (Stimmen: npx tsx werkzeuge/stimmen.mts F90 --sprache de). // Kürzel F90 nur für die Werkzeuge (Stimmen: npx tsx werkzeuge/stimmen.mts F90 --sprache de).
// Rendern: npx remotion render src/index.ts L01-igel out.mp4 --props='{"sprache":"de"}' // Rendern: npx remotion render src/index.ts L01-igel out.mp4 --props='{"sprache":"de"}'
const garten = {atmo: 'garten_tag', atmoLaut: 0.08}; const garten = {atmo: 'garten_tag', atmoLaut: 0.08};
const abend = {atmo: 'garten_abend', atmoLaut: 0.1};
const wind = {atmo: 'wind', atmoLaut: 0.12};
const musik = {datei: 'musik/folge01/lied.mp3', lautstaerke: 0.12, ducken: 0.5, rein: 0.5, raus: 1.2}; const musik = {datei: 'musik/folge01/lied.mp3', lautstaerke: 0.12, ducken: 0.5, rein: 0.5, raus: 1.2};
const leise = {datei: 'musik/folge01/schlaflied.mp3', lautstaerke: 0.14, ducken: 0.5, rein: 0.5, raus: 1.2};
const w = (k: string, farben: string[]) => farben.map((farbe, i) => ({text: TEXTE.zeilen[`${k}/w${i + 1}`], farbe}));
export const SZENEN: SzenenEintrag[] = [ const P_WER_PINO = werPlan('wer_pino', 'pino');
{name: 'Igel', datei: 'igel.tsx', plan: S_IGEL, K: mitKlang(Igel, S_IGEL, garten), musik}, const P_WER_LULU = werPlan('wer_lulu', 'lulu');
{name: 'Giraffe', datei: 'giraffe.tsx', plan: S_GIRAFFE, K: mitKlang(Giraffe, S_GIRAFFE, garten), musik}, const P_WER_NOA = werPlan('wer_noa', 'noa');
const P_AEPFEL = zaehlPlan('zaehl_aepfel', 5, 'PINO');
const P_BLAETTER = zaehlPlan('zaehl_blaetter', 6, 'PINO');
const P_STERNE = zaehlPlan('zaehl_sterne', 5, 'NOA');
const P_FARBE_GARTEN = farbePlan('farbe_garten', 'PINO');
const P_FARBE_FREUNDE = farbePlan('farbe_freunde', 'NOA');
type Short = {id: string; e: SzenenEintrag};
const short = (id: string, name: string, datei: string, plan: SzenenEintrag['plan'], K: React.FC, klang = garten, m = musik): Short => ({
id,
e: {name, datei, plan, K: mitKlang(K, plan, klang), musik: m},
});
const SHORTS: Short[] = [
short('L01-igel', 'Igel', 'igel.tsx', S_IGEL, Igel),
short('L02-giraffe', 'Giraffe', 'giraffe.tsx', S_GIRAFFE, Giraffe),
short('L03-schatten', 'Schatten', 'lernen.tsx', S_SCHATTEN, Schatten, abend, leise),
short('L04-hase', 'Hase', 'lernen.tsx', S_HASE, Hase, abend, leise),
short('L05-wind', 'Wind', 'lernen.tsx', S_WIND, Wind, wind),
short('L06-schleifen', 'Schleifen', 'lernen.tsx', S_SCHLEIFEN, Schleifen, wind),
short('L07-winter', 'Winter', 'lernen.tsx', S_WINTER, Winter, garten, leise),
short('L08-blaetter', 'Blaetter', 'lernen.tsx', S_BLAETTER, Blaetter),
short('L09-hals', 'Hals', 'lernen.tsx', S_HALS, Hals),
short('L10-herbstfarben', 'Herbstfarben', 'lernen.tsx', S_HERBST, Herbstfarben),
short('V01-wer-pino', 'Wer Pino', 'vorlagen.tsx', P_WER_PINO, () => <WerBinIch k="wer_pino" wer="pino" plan={P_WER_PINO} />),
short('V02-zaehl-aepfel', 'Zaehl Aepfel', 'vorlagen.tsx', P_AEPFEL, () => <ZaehlMit k="zaehl_aepfel" n={5} ding="apfel" wer="pino" plan={P_AEPFEL} />),
short('V03-wer-lulu', 'Wer Lulu', 'vorlagen.tsx', P_WER_LULU, () => <WerBinIch k="wer_lulu" wer="lulu" plan={P_WER_LULU} />),
short('V04-farbe-garten', 'Farbe Garten', 'vorlagen.tsx', P_FARBE_GARTEN, () => <WelcheFarbeGarten k="farbe_garten" worte={w('farbe_garten', ['#c8362c', '#5b7fd1', '#d9a21e'])} plan={P_FARBE_GARTEN} />),
short('V05-zaehl-blaetter', 'Zaehl Blaetter', 'vorlagen.tsx', P_BLAETTER, () => <ZaehlMit k="zaehl_blaetter" n={6} ding="blatt" wer="pino" plan={P_BLAETTER} />),
short('V06-wer-noa', 'Wer Noa', 'vorlagen.tsx', P_WER_NOA, () => <WerBinIch k="wer_noa" wer="noa" plan={P_WER_NOA} />),
short('V07-zaehl-sterne', 'Zaehl Sterne', 'vorlagen.tsx', P_STERNE, () => <ZaehlMit k="zaehl_sterne" n={5} ding="stern" wer="noa" plan={P_STERNE} />),
short('V08-farbe-freunde', 'Farbe Freunde', 'vorlagen.tsx', P_FARBE_FREUNDE, () => <WelcheFarbeFreunde k="farbe_freunde" worte={w('farbe_freunde', ['#335f99', '#4f7f3d', '#c8362c'])} plan={P_FARBE_FREUNDE} />),
]; ];
export const SZENEN: SzenenEintrag[] = SHORTS.map((s) => s.e);
// für werkzeuge/szenenliste.mts (Stimmen); nicht als Querformat-Folge registriert // für werkzeuge/szenenliste.mts (Stimmen); nicht als Querformat-Folge registriert
export const F90 = baueFolge('F90', SZENEN); export const F90 = baueFolge('F90', SZENEN);
const IDS = ['L01-igel', 'L02-giraffe'];
export const LernShorts: React.FC = () => ( export const LernShorts: React.FC = () => (
<> <>
{SZENEN.map((sz, i) => { {SHORTS.map(({id, e}) => {
const K: React.FC = () => ( const K: React.FC = () => (
<AbsoluteFill style={{background: '#f4ead8'}}> <AbsoluteFill style={{background: '#f4ead8'}}>
<sz.K /> <e.K />
{sz.musik && <Musik {...sz.musik} dauer={sz.plan.dauer} zeilen={sz.plan.liste} />} {e.musik && <Musik {...e.musik} dauer={e.plan.dauer} zeilen={e.plan.liste} />}
</AbsoluteFill> </AbsoluteFill>
); );
return <Composition key={IDS[i]} id={IDS[i]} component={K} durationInFrames={sz.plan.dauer} fps={30} width={W} height={H} />; return <Composition key={id} id={id} component={K} durationInFrames={e.plan.dauer} fps={30} width={W} height={H} />;
})} })}
</> </>
); );

View file

@ -72,3 +72,30 @@ export const Nein: React.FC = () => (
<path d="M -90 90 L 90 -90" stroke="#d0473a" strokeWidth={18} strokeLinecap="round" opacity={0.9} /> <path d="M -90 90 L 90 -90" stroke="#d0473a" strokeWidth={18} strokeLinecap="round" opacity={0.9} />
</svg> </svg>
); );
// Herbstblatt (Ahorn) in beliebiger Farbe
export const BlattBild: React.FC<{farbe: string}> = ({farbe}) => (
<Rahmen>
<g transform="scale(2)">
<path d="M0,40 L4,18 L22,27 L18,12 L40,5 L30,-2 L37,-21 L18,-14 L16,-31 L6,-22 L0,-46 L-6,-22 L-16,-31 L-18,-14 L-37,-21 L-30,-2 L-40,5 L-18,12 L-22,27 L-4,18 Z" fill={farbe} />
<path d="M0,52 L0,-38 M0,10 L30,-14 M0,10 L-30,-14 M0,18 L18,24 M0,18 L-18,24" stroke="rgba(90,50,20,0.45)" strokeWidth={2.2} fill="none" strokeLinecap="round" />
</g>
</Rahmen>
);
// Stern wie auf Noas Laterne
export const SternBild: React.FC = () => (
<Rahmen>
<path
d={Array.from({length: 10}, (_, i) => {
const r = i % 2 ? 36 : 84;
const w = (Math.PI / 5) * i - Math.PI / 2;
return `${i ? 'L' : 'M'} ${(r * Math.cos(w)).toFixed(1)} ${(r * Math.sin(w)).toFixed(1)}`;
}).join(' ') + ' Z'}
fill="#f2c84b"
stroke="#c9952a"
strokeWidth={6}
strokeLinejoin="round"
/>
</Rahmen>
);

View file

@ -12,12 +12,14 @@ export const W = 1080;
export const H = 1920; export const H = 1920;
export const VOLL = H / 1080; // kleinste Vergrößerung, bei der die Bühne das Hochformat füllt export const VOLL = H / 1080; // kleinste Vergrößerung, bei der die Bühne das Hochformat füllt
export const Buehne: React.FC<{x: number; y?: number; z?: number; children: React.ReactNode}> = ({x, y = 540, z = VOLL, children}) => { // `frei`: y nicht begrenzen – die Bühne darf nach oben rutschen, unten füllt der Hintergrund
// (so stehen die Figuren über den Untertiteln statt dahinter)
export const Buehne: React.FC<{x: number; y?: number; z?: number; frei?: boolean; children: React.ReactNode}> = ({x, y = 540, z = VOLL, frei = false, children}) => {
const halbB = W / 2 / z; const halbB = W / 2 / z;
const halbH = H / 2 / z; const halbH = H / 2 / z;
// Ist der Ausschnitt größer als die Bühne, bleibt sie mittig (oben/unten Papierrand) // Ist der Ausschnitt größer als die Bühne, bleibt sie mittig (oben/unten Papierrand)
const bx = halbB * 2 >= 1920 ? 960 : Math.min(1920 - halbB, Math.max(halbB, x)); const bx = halbB * 2 >= 1920 ? 960 : Math.min(1920 - halbB, Math.max(halbB, x));
const by = halbH * 2 >= 1080 ? 540 : Math.min(1080 - halbH, Math.max(halbH, y)); const by = frei ? y : halbH * 2 >= 1080 ? 540 : Math.min(1080 - halbH, Math.max(halbH, y));
return ( return (
<div style={{position: 'absolute', width: 1920, height: 1080, transformOrigin: '0 0', transform: `translate(${W / 2}px, ${H / 2}px) scale(${z}) translate(${-bx}px, ${-by}px)`}}> <div style={{position: 'absolute', width: 1920, height: 1080, transformOrigin: '0 0', transform: `translate(${W / 2}px, ${H / 2}px) scale(${z}) translate(${-bx}px, ${-by}px)`}}>
{children} {children}
@ -72,10 +74,10 @@ export const BildKarte: React.FC<{x: number; y: number; ab: number; r?: number;
// Großes Wort zum Mitsagen (klein – mittel – groß) // Großes Wort zum Mitsagen (klein – mittel – groß)
// `puls`: Zeitpunkte, an denen das Wort noch einmal kurz groß wird (beim Mitsagen) // `puls`: Zeitpunkte, an denen das Wort noch einmal kurz groß wird (beim Mitsagen)
export const Wort: React.FC<{text: string; x: number; y: number; ab: number; puls?: number[]; groesse?: number; farbe?: string}> = ({text, x, y, ab, puls = [], groesse = 90, farbe = '#c8502c'}) => { export const Wort: React.FC<{text: string; x: number; y: number; ab: number; sichtbarBis?: number; puls?: number[]; groesse?: number; farbe?: string}> = ({text, x, y, ab, sichtbarBis = 1e9, puls = [], groesse = 90, farbe = '#c8502c'}) => {
const f = useCurrentFrame(); const f = useCurrentFrame();
const {fps} = useVideoConfig(); const {fps} = useVideoConfig();
if (f < ab) return null; if (f < ab || f >= sichtbarBis) return null;
const pulsen = puls.reduce((m, p) => m + 0.35 * Math.max(0, Math.sin(Math.PI * Math.min(1, Math.max(0, (f - p) / 18)))), 0); const pulsen = puls.reduce((m, p) => m + 0.35 * Math.max(0, Math.sin(Math.PI * Math.min(1, Math.max(0, (f - p) / 18)))), 0);
const s = spring({frame: f - ab, fps, config: {damping: 10}}) + pulsen; const s = spring({frame: f - ab, fps, config: {damping: 10}}) + pulsen;
return ( return (
@ -101,6 +103,9 @@ export const Wort: React.FC<{text: string; x: number; y: number; ab: number; pul
}; };
// `hintergrund`: füllt oben und unten, wenn die Bühne das Hochformat nicht ganz ausfüllt // `hintergrund`: füllt oben und unten, wenn die Bühne das Hochformat nicht ganz ausfüllt
// Bühnen-Mitte (y), bei der die Fußlinie BODEN auf Bildschirmhöhe `schirm` landet
export const fussAuf = (z: number, schirm = 1390) => 935 - (schirm - H / 2) / z;
export const Hochformat: React.FC<{hintergrund?: string; children: React.ReactNode}> = ({hintergrund = '#f4ead8', children}) => ( export const Hochformat: React.FC<{hintergrund?: string; children: React.ReactNode}> = ({hintergrund = '#f4ead8', children}) => (
<AbsoluteFill style={{background: hintergrund, overflow: 'hidden'}}>{children}</AbsoluteFill> <AbsoluteFill style={{background: hintergrund, overflow: 'hidden'}}>{children}</AbsoluteFill>
); );

View file

@ -0,0 +1,429 @@
import React from 'react';
import {interpolate, useCurrentFrame} from 'remotion';
import {Figur, POSEN_SKALA} from '../baukasten/figur';
import {Drachen, pendeln} from '../baukasten/drachen';
import {gang} from '../baukasten/gang';
import {Hand} from '../baukasten/hand';
import {Blende, atmen, huepfer, kamFahrt, punkt} from '../baukasten/helfer';
import {Blaetterregen, Blaetterwind, Nest, Zzz} from '../baukasten/natur';
import {BODEN, Ort} from '../baukasten/orte';
import {HandSchatten} from '../folge08/teile';
import {Wandszene} from '../folge08/wand';
import {LuluImWind, PLATZ as WIND_PLATZ, SchnurUndDrachen, WindGarten} from '../folge09/teile';
import {BlattBild, Kaefer} from './bilder';
import {BildKarte, Buehne, FrageKarte, HochUntertitel, Hochformat, Wort, fussAuf} from './hochformat';
import {TEXTE, plane} from './plan';
// Lern-Shorts L03–L10 (Plan: veroeffentlichung/shorts-plan.md). Gleicher Rahmen wie L01/L02.
const t = (k: string) => TEXTE.zeilen[k];
const WIESE = 'linear-gradient(#e9e3d2 0 50%, #93ad5c 50% 100%)';
const NACHT = 'linear-gradient(#232845 0 50%, #2f3a2c 50% 100%)';
const klemm = {extrapolateLeft: 'clamp', extrapolateRight: 'clamp'} as const;
const OHNE_LULU = {pose: 'lulu_A3_lachen', x: 2700}; // Lulu steht in diesen Shorts außerhalb der Bühne
// ---------------------------------------------------------------- L03 Schatten
// Abends an der Hauswand (Bühne aus Folge 8): Die Laterne steht im Gras, Pino läuft von weit weg
// ganz nah heran – sein Schatten an der Wand wächst.
export const S_SCHATTEN = plane('schatten', [
{id: 'bild0', dauer: 1.0},
{id: 'e1', wer: 'ERZ', pause: 3},
{id: 'n1', wer: 'NOA'},
{id: 'e2', wer: 'ERZ'},
{id: 'e3', wer: 'ERZ'},
{id: 'gehen', dauer: 2.6},
{id: 'p1', wer: 'PINO'},
{id: 'e4', wer: 'ERZ'},
{id: 'e5', wer: 'ERZ'},
{id: 'bild1', dauer: 1.0},
]);
const LAMPE = {x: 560, y: BODEN - 56};
export const Schatten: React.FC = () => {
const f = useCurrentFrame();
const {z, dauer} = S_SCHATTEN;
const weg = gang('pino', z.e3.start + 10, 1320, 720, 2.5);
const pinoX = f < weg.start ? weg.von : weg.geht(f) ? weg.x(f) : weg.nach;
const kam = kamFahrt(f, [
[0, 560, 540, 2.0],
[z.n1.ende, 560, 540, 2.0],
[z.e2.start + 20, 1180, 540, 2.0],
[z.e3.start + 10, 1180, 540, 2.0],
[weg.ende, 760, 540, 2.0],
[dauer, 760, 540, 2.0],
]);
return (
<Hochformat hintergrund={NACHT}>
<Buehne x={kam.x} y={fussAuf(2.0)} z={2.0} frei>
<Wandszene
f={f}
kam={{x: 960, y: 540, zoom: 1}}
laterne={{inHand: false, licht: 1, x: LAMPE.x, y: LAMPE.y}}
noa={{pose: [[0, 'noa_B_hocken'], [z.n1.start, 'noa_B_zeigen'], [z.n1.ende + 10, 'noa_B_hocken']], x: 420, schatten: 0.6}}
pino={{pose: [[0, 'pino_A5_blick-links'], [weg.ende, 'pino_A4_staunen'], [z.p1.start - 4, 'pino_A3_lachen']], x: pinoX, gang: weg, y: BODEN + huepfer(f, z.p1.start, 16, 10)}}
lulu={OHNE_LULU}
/>
</Buehne>
<FrageKarte text={t('schatten/frage')} />
<HochUntertitel zeilen={S_SCHATTEN.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};
// ---------------------------------------------------------------- L04 Hand-Hase
// Wie Folge 8, Szene 7: Noa hockt neben der Laterne und macht mit der Hand einen Hasen, dann einen Igel;
// die Hand-Karte zeigt, welche Finger hoch müssen.
export const S_HASE = plane('hase', [
{id: 'bild0', dauer: 1.0},
{id: 'e1', wer: 'ERZ', pause: 2},
{id: 'n1', wer: 'NOA'},
{id: 'e2', wer: 'ERZ', pause: 4},
{id: 'n2', wer: 'NOA'},
{id: 'e3', wer: 'ERZ', pause: 3},
{id: 'p1', wer: 'PINO'},
{id: 'e4', wer: 'ERZ'},
{id: 'bild1', dauer: 1.0},
]);
const HASE_LAMPE = {x: 1010, y: BODEN - 56};
const HASE_NOA = 840;
const HOCKE = 340 * POSEN_SKALA.noa_B_hocken;
const HAND_HASE = punkt('noa', HASE_NOA, BODEN, 870, 285, HOCKE);
const HAND_IGEL = punkt('noa', HASE_NOA, BODEN, 880, 345, HOCKE);
const HandKarte: React.FC<{art: 'hase' | 'igel'; von: number; bis: number}> = ({art, von, bis}) => {
const f = useCurrentFrame();
const auf = interpolate(f, [von, von + 10, bis - 8, bis], [0, 1, 1, 0], klemm);
if (auf <= 0) return null;
return (
<div style={{position: 'absolute', left: 0, right: 0, top: 400, display: 'flex', justifyContent: 'center', opacity: auf}}>
<div style={{padding: '18px 26px 10px', borderRadius: 36, background: 'rgba(251,244,228,0.94)', border: '8px solid #3f5a8a', transform: `scale(${0.85 + 0.15 * auf}) rotate(${Math.sin(f * 0.18) * 3}deg)`}}>
<Hand hoch={art === 'hase' ? [false, true, true, false, false] : [true, true, true, true, true]} gespreizt />
</div>
</div>
);
};
export const Hase: React.FC = () => {
const f = useCurrentFrame();
const {z, dauer} = S_HASE;
const hase = interpolate(f, [z.n1.start, z.n1.start + 10, z.n2.start - 4, z.n2.start + 4], [0, 1, 1, 0], klemm);
const igel = interpolate(f, [z.n2.start, z.n2.start + 12, dauer - 20, dauer - 6], [0, 1, 1, 0], klemm);
const wackeln = Math.sin(f * 0.2);
return (
<Hochformat hintergrund={NACHT}>
<Buehne x={930} y={fussAuf(1.9)} z={1.9} frei>
<Wandszene
f={f}
kam={{x: 960, y: 540, zoom: 1}}
laterne={{inHand: false, licht: 1, x: HASE_LAMPE.x, y: HASE_LAMPE.y}}
noa={{pose: [[0, 'noa_B_hocken'], [z.n1.start, 'noa_B_hand-hase'], [z.n2.start - 2, 'noa_B_hand-igel']], x: HASE_NOA, schatten: 1 - Math.max(hase, igel)}}
pino={{pose: [[0, 'pino_A4_staunen'], [z.p1.start, 'pino_A3_lachen']], x: HASE_LAMPE.x + 200, y: BODEN + huepfer(f, z.p1.start, 16, 10)}}
lulu={OHNE_LULU}
wandExtra={
<>
<HandSchatten art="hase" hand={HAND_HASE} licht={HASE_LAMPE} s={0.26} k={3} deckkraft={0.42 * hase} wackeln={wackeln} />
<HandSchatten art="igel" hand={HAND_IGEL} licht={HASE_LAMPE} s={0.26} k={3} deckkraft={0.42 * igel} wackeln={wackeln} />
</>
}
/>
</Buehne>
<FrageKarte text={t('hase/frage')} />
<HandKarte art="hase" von={z.e2.start} bis={z.e2.frei} />
<HandKarte art="igel" von={z.e3.start} bis={z.e3.frei} />
<HochUntertitel zeilen={S_HASE.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};
// ---------------------------------------------------------------- L05 Wind
// Windiger Garten aus Folge 9; die Kamera zeigt nacheinander Blätter, Lulus Schal und den Drachen.
export const S_WIND = plane('wind', [
{id: 'bild0', dauer: 1.0},
{id: 'e1', wer: 'ERZ', pause: 3},
{id: 'e2', wer: 'ERZ', pause: 0.6},
{id: 'e3', wer: 'ERZ', pause: 0.6},
{id: 'e4', wer: 'ERZ', pause: 0.6},
{id: 'l1', wer: 'LULU'},
{id: 'e5', wer: 'ERZ', pause: 3},
{id: 'p1', wer: 'PINO'},
{id: 'bild1', dauer: 1.0},
]);
const WIND_HIMMEL = {x: 1600, y: 200};
export const Wind: React.FC = () => {
const f = useCurrentFrame();
const {z, dauer} = S_WIND;
const boeen = interpolate(f, [z.e5.ende, z.e5.ende + 10, z.e5.frei, z.e5.frei + 20], [0, 1, 1, 0], klemm);
const kam = kamFahrt(f, [
[0, 1000, 540, 1.6],
[z.e2.start, 1000, 540, 1.6],
[z.e2.start + 20, 650, 600, 1.9], // Blätter bei Pino
[z.e3.start, 650, 600, 1.9],
[z.e3.start + 20, 1000, 420, 2.0], // Lulus Schal
[z.e4.start, 1000, 420, 2.0],
[z.e4.start + 20, 1450, 380, 1.7], // Drachen
[z.l1.start, 1450, 380, 1.7],
[z.l1.start + 20, 1000, 450, 1.8],
[z.e5.start + 10, 1000, 540, 1.6],
[dauer, 1000, 540, 1.6],
]);
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={kam.x} y={kam.y} z={kam.zoom}>
<WindGarten wind={1.4} boeen={boeen} />
<LuluImWind />
<SchnurUndDrachen lage={pendeln(f, WIND_HIMMEL, 1)} noaX={WIND_PLATZ.noa} spiegeln={false} />
<Figur pose="noa_A_drachenschnur" x={WIND_PLATZ.noa} y={BODEN} stauchY={atmen(f, 2)} />
<Figur pose={[[0, 'pino_A6_blick-rechts'], [z.e5.frei, 'pino_A3_lachen']]} x={WIND_PLATZ.pino} y={BODEN + huepfer(f, z.p1.start, 16, 10)} stauchY={atmen(f, 1, 0.015)} />
</Buehne>
<FrageKarte text={t('wind/frage')} />
<HochUntertitel zeilen={S_WIND.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};
// ---------------------------------------------------------------- L06 Schleifen
// Noa hält den Drachen vor der Brust (Pose wie Folge 9, Szene 2), die drei Schleifen leuchten nacheinander,
// darüber erscheinen die Farbwörter.
export const S_SCHLEIFEN = plane('schleifen', [
{id: 'bild0', dauer: 1.0},
{id: 'e1', wer: 'ERZ', pause: 3},
{id: 'e2', wer: 'ERZ', pause: 0.4},
{id: 'e3', wer: 'ERZ', pause: 0.4},
{id: 'e4', wer: 'ERZ', pause: 0.6},
{id: 'e5', wer: 'ERZ', pause: 0.8},
{id: 'n1', wer: 'NOA'},
{id: 'bild1', dauer: 1.0},
]);
const SCHL_NOA = 900;
const KITE_OBEN = punkt('noa', SCHL_NOA, BODEN, 686, 336);
const KITE_UNTEN = punkt('noa', SCHL_NOA, BODEN, 686, 651);
const KITE_S = (KITE_UNTEN.y - KITE_OBEN.y) / 120;
export const Schleifen: React.FC = () => {
const f = useCurrentFrame();
const {z, dauer} = S_SCHLEIFEN;
const zaehl = (i: number) => z.e5.start + Math.round(((z.e5.ende - z.e5.start) * (i + 1)) / 4);
const leuchte = (i: number) => {
const ab = [z.e2.start, z.e3.start, z.e4.start][i];
const an = interpolate(f, [ab, ab + 6, ab + 40, ab + 50], [0, 1, 1, 0.3], klemm);
const puls = interpolate(f, [zaehl(i), zaehl(i) + 5, zaehl(i) + 14], [0, 1, 0.3], klemm);
return Math.max(an, puls);
};
const nurSchwanz = `polygon(0 ${KITE_UNTEN.y - 2}px, 100% ${KITE_UNTEN.y - 2}px, 100% 100%, 0 100%)`;
const worte = [
{text: t('schleifen/w1'), farbe: '#d9a21e'},
{text: t('schleifen/w2'), farbe: '#4f7f3d'},
{text: t('schleifen/w3'), farbe: '#335f99'},
];
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={SCHL_NOA + 110} y={BODEN - 120} z={2.1}>
<WindGarten wind={0.8} />
<Figur pose={[[0, 'noa_A_drachen-vorn']]} x={SCHL_NOA} y={BODEN} />
<div style={{position: 'absolute', inset: 0, clipPath: nurSchwanz}}>
<Drachen x={SCHL_NOA} y={KITE_UNTEN.y - 78 * KITE_S} s={KITE_S} schwanz={72} flattern={6} boden={BODEN} leuchten={[leuchte(0), leuchte(1), leuchte(2)]} />
</div>
</Buehne>
<FrageKarte text={t('schleifen/frage')} />
{worte.map((w, i) => (
<Wort key={i} text={w.text} x={250 + i * 290} y={470} ab={[z.e2.start, z.e3.start, z.e4.start][i] + 4} groesse={80} farbe={w.farbe} puls={[zaehl(i)]} />
))}
<HochUntertitel zeilen={S_SCHLEIFEN.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};
// ---------------------------------------------------------------- L07 Winterschlaf
// Pino frisst sich satt (Käfer-Karte, runder Bauch), das Laubnest wächst um ihn, er rollt sich ein,
// der Garten wird winterlich, Zzz.
export const S_WINTER = plane('winter', [
{id: 'bild0', dauer: 1.0},
{id: 'e1', wer: 'ERZ', pause: 3},
{id: 'e2', wer: 'ERZ'},
{id: 'p1', wer: 'PINO'},
{id: 'e3', wer: 'ERZ', pause: 0.8},
{id: 'e4', wer: 'ERZ'},
{id: 'p2', wer: 'PINO', leise: true},
{id: 'e5', wer: 'ERZ', leise: true},
{id: 'bild1', dauer: 1.2},
]);
const NEST_X = 960;
export const Winter: React.FC = () => {
const f = useCurrentFrame();
const {z, dauer} = S_WINTER;
const dick = interpolate(f, [z.e2.start + 20, z.e2.ende], [1, 1.12], klemm);
const nest = interpolate(f, [z.e3.start, z.e3.ende + 10], [0, 1], klemm);
const winter = interpolate(f, [z.e4.start, z.e4.start + 30], [0, 1], klemm);
const schlaeft = f >= z.e4.start + 6;
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={NEST_X} y={600} z={1.9}>
<Ort name="garten_herbst" />
<div style={{position: 'absolute', inset: 0, opacity: winter}}>
<Ort name="garten_frost" />
</div>
<Blaetterwind anzahl={6} seed="winter" tempo={0.4} yBereich={[300, 800]} />
<Nest x={NEST_X} y={BODEN - 60} seite="hinten" voll={nest} s={1.3} />
{schlaeft ? (
<Figur pose="pino_B_schlaeft-eingerollt" x={NEST_X} y={BODEN - 70} hoehe={200} stauchY={atmen(f, 1, 0.03)} />
) : (
<Figur
pose={[[0, 'pino_A4_staunen'], [z.e2.start, 'pino_A3_lachen'], [z.e3.start, 'pino_A2_augen-halb']]}
x={NEST_X}
y={BODEN - 70 + huepfer(f, z.p1.start, 14, 10)}
hoehe={240}
stauchX={dick}
stauchY={atmen(f, 1, 0.015)}
/>
)}
<Nest x={NEST_X} y={BODEN - 60} seite="vorne" voll={nest} s={1.3} />
<Zzz x={NEST_X + 90} y={BODEN - 230} start={z.e4.start + 30} s={1.3} />
</Buehne>
<FrageKarte text={t('winter/frage')} />
<BildKarte x={540} y={560} ab={z.e2.start + 10} aus={z.e3.start}>
<Kaefer />
</BildKarte>
<HochUntertitel zeilen={S_WINTER.liste} />
<Blende dauer={dauer} rein={8} raus={18} />
</Hochformat>
);
};
// ---------------------------------------------------------------- L08 Blätter
// Der Baum links im Garten: Blätter fallen (Herbst), dann Frost (Winterpause), dann grün (Frühling).
export const S_BLAETTER = plane('blaetter', [
{id: 'bild0', dauer: 1.0},
{id: 'e1', wer: 'ERZ', pause: 3},
{id: 'e2', wer: 'ERZ'},
{id: 'e3', wer: 'ERZ', pause: 0.8},
{id: 'l1', wer: 'LULU'},
{id: 'e4', wer: 'ERZ', pause: 0.8},
{id: 'n1', wer: 'NOA'},
{id: 'bild1', dauer: 1.0},
]);
export const Blaetter: React.FC = () => {
const f = useCurrentFrame();
const {z, dauer} = S_BLAETTER;
const winter = interpolate(f, [z.e3.start + 20, z.e3.ende + 10], [0, 1], klemm);
const fruehling = interpolate(f, [z.e4.start, z.e4.start + 30], [0, 1], klemm);
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={640} z={1.5}>
<Ort name="garten_herbst" />
<div style={{position: 'absolute', inset: 0, opacity: winter * (1 - fruehling)}}>
<Ort name="garten_frost" />
</div>
<div style={{position: 'absolute', inset: 0, opacity: fruehling}}>
<Ort name="garten" />
</div>
{f < z.e4.start && <Blaetterregen start={z.e1.start} x0={340} y0={300} boden={BODEN} anzahl={30} aus={z.e3.ende} seed="baum" />}
<Figur pose={[[0, 'lulu_A5_blick-links'], [z.l1.start, 'lulu_A3_lachen']]} x={1000} y={BODEN - 6} stauchY={atmen(f, 3)} />
<Figur pose={[[0, 'noa_A5_blick-links'], [z.n1.start - 4, 'noa_A3_lachen']]} x={770} y={BODEN + huepfer(f, z.n1.start, 16, 10)} stauchY={atmen(f, 2)} />
</Buehne>
<FrageKarte text={t('blaetter/frage')} />
<HochUntertitel zeilen={S_BLAETTER.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};
// ---------------------------------------------------------------- L09 Giraffenhals
// Lulu groß im Bild; entlang ihres Halses erscheinen sieben Punkte mit Zahlen (die Halswirbel).
export const S_HALS = plane('hals', [
{id: 'bild0', dauer: 1.0},
{id: 'e1', wer: 'ERZ', pause: 3},
{id: 'e2', wer: 'ERZ', pause: 0.4},
...Array.from({length: 7}, (_, i) => ({id: `c${i + 1}`, wer: 'ERZ' as const, pause: 0.35})),
{id: 'e3', wer: 'ERZ'},
{id: 'l1', wer: 'LULU'},
{id: 'bild1', dauer: 1.0},
]);
const HALS_X = 960;
const HALS_Y = BODEN - 6;
// Hals in lulu_A3_lachen (Leinwand): unter dem Kopf 647/185 bis zu den Schultern 652/365
const wirbel = (i: number) => punkt('lulu', HALS_X, HALS_Y, 647 + i * 0.8, 186 + i * 31);
export const Hals: React.FC = () => {
const f = useCurrentFrame();
const {z, dauer} = S_HALS;
const kopf = punkt('lulu', HALS_X, HALS_Y, 600, 140);
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={HALS_X - 20} y={kopf.y + 200} z={2.0}>
<Ort name="garten_herbst" />
<Blaetterwind anzahl={6} seed="hals" tempo={0.5} yBereich={[200, 700]} />
<Figur pose={[[0, 'lulu_A6_blick-rechts'], [z.e3.start, 'lulu_A3_lachen']]} x={HALS_X} y={HALS_Y} stauchY={atmen(f, 3)} />
{Array.from({length: 7}, (_, i) => {
const p = wirbel(i);
const ab = z[`c${i + 1}`].start;
const s = interpolate(f, [ab, ab + 6, ab + 12], [0, 1.3, 1], klemm);
return (
<div key={i} style={{position: 'absolute', left: p.x - 19, top: p.y - 19, width: 38, height: 38, borderRadius: '50%', background: '#fbf4e4', border: '4px solid #3f5a8a', transform: `scale(${s})`, display: 'flex', alignItems: 'center', justifyContent: 'center', fontFamily: 'sans-serif', fontWeight: 700, fontSize: 24, color: '#3f5a8a'}}>
{i + 1}
</div>
);
})}
</Buehne>
<FrageKarte text={t('hals/frage')} />
<Wort text="7" x={860} y={620} ab={z.e3.start} groesse={180} farbe="#c8502c" />
<HochUntertitel zeilen={S_HALS.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};
// ---------------------------------------------------------------- L10 Herbstfarben
export const S_HERBST = plane('herbstfarben', [
{id: 'bild0', dauer: 1.0},
{id: 'e1', wer: 'ERZ', pause: 3},
{id: 'e2', wer: 'ERZ', pause: 0.4},
{id: 'e3', wer: 'ERZ', pause: 0.4},
{id: 'e4', wer: 'ERZ', pause: 0.4},
{id: 'e5', wer: 'ERZ', pause: 0.6},
{id: 'e6', wer: 'ERZ', pause: 0.6},
{id: 'n1', wer: 'NOA'},
{id: 'bild1', dauer: 1.0},
]);
const HERBST = [
{farbe: '#c8362c', x: 290, y: 560},
{farbe: '#f0c048', x: 790, y: 560},
{farbe: '#e07a2e', x: 290, y: 860},
{farbe: '#8a5a2e', x: 790, y: 860},
];
export const Herbstfarben: React.FC = () => {
const f = useCurrentFrame();
const {z, dauer} = S_HERBST;
const zaehl = (i: number) => z.e6.start + Math.round(((z.e6.ende - z.e6.start) * (i + 2)) / 6);
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={960} z={1.6}>
<Ort name="garten_herbst" />
<Blaetterwind anzahl={10} seed="herbst" tempo={0.5} yBereich={[300, 800]} />
<Figur pose={[[0, 'noa_A4_staunen'], [z.n1.start - 4, 'noa_A3_lachen']]} x={960} y={860 + huepfer(f, z.n1.start, 16, 10)} hoehe={300} stauchY={atmen(f, 2)} />
</Buehne>
<FrageKarte text={t('herbstfarben/frage')} />
{HERBST.map((b, i) => {
const ab = z[`e${i + 2}`].start;
return (
<React.Fragment key={i}>
<BildKarte x={b.x} y={b.y} ab={ab} r={130}>
<BlattBild farbe={b.farbe} />
</BildKarte>
<Wort text={t(`herbstfarben/w${i + 1}`)} x={b.x} y={b.y + 165} ab={ab + 4} groesse={64} farbe={b.farbe} puls={[zaehl(i)]} />
</React.Fragment>
);
})}
<HochUntertitel zeilen={S_HERBST.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};

View file

@ -73,5 +73,595 @@
"datei": "giraffe-e6.mp3", "datei": "giraffe-e6.mp3",
"dauer": 3.47, "dauer": 3.47,
"text": "Sag mit: klein, mittel, groß!" "text": "Sag mit: klein, mittel, groß!"
},
"schatten/e1": {
"datei": "schatten-e1.mp3",
"dauer": 4.75,
"text": "Warum ist ein Schatten mal groß und mal klein? Was meinst du?"
},
"schatten/n1": {
"datei": "schatten-n1.mp3",
"dauer": 2.43,
"text": "Ich zeig es dir mit meiner Laterne!"
},
"schatten/e2": {
"datei": "schatten-e2.mp3",
"dauer": 4.99,
"text": "Das Licht scheint auf Pino. Hinter ihm an der Wand ist sein Schatten."
},
"schatten/e3": {
"datei": "schatten-e3.mp3",
"dauer": 3.55,
"text": "Jetzt geht Pino ganz nah an die Laterne."
},
"schatten/p1": {
"datei": "schatten-p1.mp3",
"dauer": 2.77,
"text": "Huch! Ich bin ja riesig!"
},
"schatten/e4": {
"datei": "schatten-e4.mp3",
"dauer": 5.64,
"text": "Nah am Licht wird der Schatten groß. Weit weg vom Licht wird er klein."
},
"schatten/e5": {
"datei": "schatten-e5.mp3",
"dauer": 3.24,
"text": "Probier es heute Abend mit einer Taschenlampe aus!"
},
"hase/e1": {
"datei": "hase-e1.mp3",
"dauer": 3.16,
"text": "Kannst du mit deiner Hand einen Hasen machen?"
},
"hase/n1": {
"datei": "hase-n1.mp3",
"dauer": 1.96,
"text": "Schau mal, so geht das!"
},
"hase/e2": {
"datei": "hase-e2.mp3",
"dauer": 4.36,
"text": "Zwei Finger nach oben, das sind die langen Ohren. Mach mit!"
},
"hase/n2": {
"datei": "hase-n2.mp3",
"dauer": 2.12,
"text": "Und jetzt ein Igel!"
},
"hase/e3": {
"datei": "hase-e3.mp3",
"dauer": 3.87,
"text": "Alle Finger weit auseinander, das sind die Stacheln!"
},
"hase/p1": {
"datei": "hase-p1.mp3",
"dauer": 1.49,
"text": "Das bin ja ich!"
},
"hase/e4": {
"datei": "hase-e4.mp3",
"dauer": 4.21,
"text": "Mit Licht und deiner Hand kannst du ganz viele Tiere machen."
},
"wind/e1": {
"datei": "wind-e1.mp3",
"dauer": 5.15,
"text": "Wind kann man nicht sehen. Aber woran merkst du, dass es windig ist?"
},
"wind/e2": {
"datei": "wind-e2.mp3",
"dauer": 2.51,
"text": "Die Blätter fliegen durch die Luft."
},
"wind/e3": {
"datei": "wind-e3.mp3",
"dauer": 1.88,
"text": "Lulus Schal weht."
},
"wind/e4": {
"datei": "wind-e4.mp3",
"dauer": 3.08,
"text": "Und der Drachen steigt hoch in den Himmel."
},
"wind/l1": {
"datei": "wind-l1.mp3",
"dauer": 2.85,
"text": "Huii, mein Schal fliegt gleich weg!"
},
"wind/e5": {
"datei": "wind-e5.mp3",
"dauer": 3.79,
"text": "Puste mal ganz fest. Jetzt machst du Wind!"
},
"wind/p1": {
"datei": "wind-p1.mp3",
"dauer": 2.51,
"text": "Das war ein starker Wind!"
},
"schleifen/e1": {
"datei": "schleifen-e1.mp3",
"dauer": 4.44,
"text": "Noas Drachen hat drei Schleifen. Welche Farben haben sie?"
},
"schleifen/e2": {
"datei": "schleifen-e2.mp3",
"dauer": 2.27,
"text": "Die erste Schleife ist gelb."
},
"schleifen/e3": {
"datei": "schleifen-e3.mp3",
"dauer": 2.04,
"text": "Die zweite ist grün."
},
"schleifen/e4": {
"datei": "schleifen-e4.mp3",
"dauer": 1.96,
"text": "Und die dritte ist blau."
},
"schleifen/e5": {
"datei": "schleifen-e5.mp3",
"dauer": 3.63,
"text": "Zähl mit: eins, zwei, drei!"
},
"schleifen/n1": {
"datei": "schleifen-n1.mp3",
"dauer": 4.28,
"text": "Gelb, grün, blau. Mein Drachen ist bunt!"
},
"winter/e1": {
"datei": "winter-e1.mp3",
"dauer": 3.4,
"text": "Was macht ein Igel im Winter? Was meinst du?"
},
"winter/e2": {
"datei": "winter-e2.mp3",
"dauer": 5.56,
"text": "Im Herbst frisst der Igel ganz viel. So bekommt er einen dicken Bauch."
},
"winter/p1": {
"datei": "winter-p1.mp3",
"dauer": 2.12,
"text": "Ich bin schon ganz satt!"
},
"winter/e3": {
"datei": "winter-e3.mp3",
"dauer": 3.47,
"text": "Dann baut er sich ein warmes Nest aus Blättern."
},
"winter/e4": {
"datei": "winter-e4.mp3",
"dauer": 5.96,
"text": "Darin schläft er den ganzen Winter, bis zum Frühling. Das heißt Winterschlaf."
},
"winter/p2": {
"datei": "winter-p2.mp3",
"dauer": 2.35,
"text": "Gute Nacht, bis zum Frühling."
},
"winter/e5": {
"datei": "winter-e5.mp3",
"dauer": 4.6,
"text": "Psst! Wenn du einen Igel im Laub siehst, lass ihn schlafen."
},
"blaetter/e1": {
"datei": "blaetter-e1.mp3",
"dauer": 3.24,
"text": "Warum fallen im Herbst die Blätter von den Bäumen?"
},
"blaetter/e2": {
"datei": "blaetter-e2.mp3",
"dauer": 4.13,
"text": "Im Winter ist es kalt, und der Baum bekommt wenig Wasser."
},
"blaetter/e3": {
"datei": "blaetter-e3.mp3",
"dauer": 4.52,
"text": "Darum lässt er seine Blätter fallen und macht eine lange Pause."
},
"blaetter/l1": {
"datei": "blaetter-l1.mp3",
"dauer": 3.08,
"text": "Der Baum schläft, so wie Pino!"
},
"blaetter/e4": {
"datei": "blaetter-e4.mp3",
"dauer": 3.79,
"text": "Im Frühling wachsen dann ganz neue, grüne Blätter."
},
"blaetter/n1": {
"datei": "blaetter-n1.mp3",
"dauer": 1.96,
"text": "Dann ist der Baum wieder wach!"
},
"hals/e1": {
"datei": "hals-e1.mp3",
"dauer": 5.56,
"text": "Lulu hat einen langen Hals. Wie viele Knochen sind darin? Was meinst du?"
},
"hals/e2": {
"datei": "hals-e2.mp3",
"dauer": 1.15,
"text": "Zähl mit!"
},
"hals/c1": {
"datei": "hals-c1.mp3",
"dauer": 0.91,
"text": "Eins"
},
"hals/c2": {
"datei": "hals-c2.mp3",
"dauer": 0.99,
"text": "Zwei"
},
"hals/c3": {
"datei": "hals-c3.mp3",
"dauer": 0.91,
"text": "Drei"
},
"hals/c4": {
"datei": "hals-c4.mp3",
"dauer": 0.91,
"text": "Vier"
},
"hals/c5": {
"datei": "hals-c5.mp3",
"dauer": 0.91,
"text": "Fünf"
},
"hals/c6": {
"datei": "hals-c6.mp3",
"dauer": 1.07,
"text": "Sechs"
},
"hals/c7": {
"datei": "hals-c7.mp3",
"dauer": 0.91,
"text": "Sieben!"
},
"hals/e3": {
"datei": "hals-e3.mp3",
"dauer": 3.87,
"text": "Sieben Knochen. Genauso viele wie in deinem Hals!"
},
"hals/l1": {
"datei": "hals-l1.mp3",
"dauer": 3.47,
"text": "Meine sind nur viel, viel länger!"
},
"herbstfarben/e1": {
"datei": "herbstfarben-e1.mp3",
"dauer": 4.21,
"text": "Im Herbst werden die Blätter bunt. Welche Farben siehst du?"
},
"herbstfarben/e2": {
"datei": "herbstfarben-e2.mp3",
"dauer": 0.99,
"text": "Rot!"
},
"herbstfarben/e3": {
"datei": "herbstfarben-e3.mp3",
"dauer": 0.91,
"text": "Gelb!"
},
"herbstfarben/e4": {
"datei": "herbstfarben-e4.mp3",
"dauer": 1.15,
"text": "Orange!"
},
"herbstfarben/e5": {
"datei": "herbstfarben-e5.mp3",
"dauer": 1.57,
"text": "Und braun!"
},
"herbstfarben/e6": {
"datei": "herbstfarben-e6.mp3",
"dauer": 5.49,
"text": "Vier Farben! Zähl mit: eins, zwei, drei, vier!"
},
"herbstfarben/n1": {
"datei": "herbstfarben-n1.mp3",
"dauer": 2.27,
"text": "Ich sammle die schönsten Blätter!"
},
"wer_pino/e1": {
"datei": "wer_pino-e1.mp3",
"dauer": 2.69,
"text": "Wer bin ich? Hör gut zu!"
},
"wer_pino/h1": {
"datei": "wer_pino-h1.mp3",
"dauer": 1.49,
"text": "Ich bin klein."
},
"wer_pino/h2": {
"datei": "wer_pino-h2.mp3",
"dauer": 2.43,
"text": "Ich habe ganz viele Stacheln."
},
"wer_pino/h3": {
"datei": "wer_pino-h3.mp3",
"dauer": 2.43,
"text": "Und ich trage eine blaue Mütze."
},
"wer_pino/e2": {
"datei": "wer_pino-e2.mp3",
"dauer": 1.23,
"text": "Weißt du es?"
},
"wer_pino/a1": {
"datei": "wer_pino-a1.mp3",
"dauer": 1.41,
"text": "Ich bin Pino!"
},
"wer_pino/e3": {
"datei": "wer_pino-e3.mp3",
"dauer": 2.27,
"text": "Pino, der kleine Igel!"
},
"zaehl_aepfel/e1": {
"datei": "zaehl_aepfel-e1.mp3",
"dauer": 3.32,
"text": "Wie viele Äpfel hängen am Baum? Zähl mit!"
},
"zaehl_aepfel/c1": {
"datei": "zaehl_aepfel-c1.mp3",
"dauer": 0.91,
"text": "Eins"
},
"zaehl_aepfel/c2": {
"datei": "zaehl_aepfel-c2.mp3",
"dauer": 0.99,
"text": "Zwei"
},
"zaehl_aepfel/c3": {
"datei": "zaehl_aepfel-c3.mp3",
"dauer": 0.91,
"text": "Drei"
},
"zaehl_aepfel/c4": {
"datei": "zaehl_aepfel-c4.mp3",
"dauer": 0.91,
"text": "Vier"
},
"zaehl_aepfel/c5": {
"datei": "zaehl_aepfel-c5.mp3",
"dauer": 0.84,
"text": "Fünf"
},
"zaehl_aepfel/e2": {
"datei": "zaehl_aepfel-e2.mp3",
"dauer": 1.57,
"text": "Fünf Äpfel!"
},
"zaehl_aepfel/f1": {
"datei": "zaehl_aepfel-f1.mp3",
"dauer": 2.93,
"text": "Einen für jeden, und zwei für Lulu!"
},
"wer_lulu/e1": {
"datei": "wer_lulu-e1.mp3",
"dauer": 2.77,
"text": "Wer bin ich? Hör gut zu!"
},
"wer_lulu/h1": {
"datei": "wer_lulu-h1.mp3",
"dauer": 2.12,
"text": "Ich bin ganz groß."
},
"wer_lulu/h2": {
"datei": "wer_lulu-h2.mp3",
"dauer": 2.43,
"text": "Ich habe einen langen Hals."
},
"wer_lulu/h3": {
"datei": "wer_lulu-h3.mp3",
"dauer": 2.77,
"text": "Und ich trage einen grünen Schal."
},
"wer_lulu/e2": {
"datei": "wer_lulu-e2.mp3",
"dauer": 1.07,
"text": "Weißt du es?"
},
"wer_lulu/a1": {
"datei": "wer_lulu-a1.mp3",
"dauer": 1.49,
"text": "Ich bin Lulu!"
},
"wer_lulu/e3": {
"datei": "wer_lulu-e3.mp3",
"dauer": 1.96,
"text": "Lulu, die Giraffe!"
},
"farbe_garten/q1": {
"datei": "farbe_garten-q1.mp3",
"dauer": 2.19,
"text": "Welche Farbe hat der Apfel?"
},
"farbe_garten/a1": {
"datei": "farbe_garten-a1.mp3",
"dauer": 3,
"text": "Rot! Der Apfel ist rot."
},
"farbe_garten/q2": {
"datei": "farbe_garten-q2.mp3",
"dauer": 1.57,
"text": "Und die Blume?"
},
"farbe_garten/a2": {
"datei": "farbe_garten-a2.mp3",
"dauer": 3,
"text": "Blau! Die Blume ist blau."
},
"farbe_garten/q3": {
"datei": "farbe_garten-q3.mp3",
"dauer": 1.49,
"text": "Und das Blatt?"
},
"farbe_garten/a3": {
"datei": "farbe_garten-a3.mp3",
"dauer": 2.77,
"text": "Gelb! Das Blatt ist gelb."
},
"farbe_garten/f1": {
"datei": "farbe_garten-f1.mp3",
"dauer": 4.36,
"text": "Rot, blau, gelb. So bunt ist der Garten!"
},
"zaehl_blaetter/e1": {
"datei": "zaehl_blaetter-e1.mp3",
"dauer": 3.24,
"text": "Wie viele Blätter fallen herunter? Zähl mit!"
},
"zaehl_blaetter/c1": {
"datei": "zaehl_blaetter-c1.mp3",
"dauer": 0.99,
"text": "Eins"
},
"zaehl_blaetter/c2": {
"datei": "zaehl_blaetter-c2.mp3",
"dauer": 0.99,
"text": "Zwei"
},
"zaehl_blaetter/c3": {
"datei": "zaehl_blaetter-c3.mp3",
"dauer": 0.91,
"text": "Drei"
},
"zaehl_blaetter/c4": {
"datei": "zaehl_blaetter-c4.mp3",
"dauer": 0.76,
"text": "Vier"
},
"zaehl_blaetter/c5": {
"datei": "zaehl_blaetter-c5.mp3",
"dauer": 0.84,
"text": "Fünf"
},
"zaehl_blaetter/c6": {
"datei": "zaehl_blaetter-c6.mp3",
"dauer": 0.91,
"text": "Sechs"
},
"zaehl_blaetter/e2": {
"datei": "zaehl_blaetter-e2.mp3",
"dauer": 1.65,
"text": "Sechs Blätter!"
},
"zaehl_blaetter/f1": {
"datei": "zaehl_blaetter-f1.mp3",
"dauer": 2.43,
"text": "Ein ganzer Haufen für mich!"
},
"wer_noa/e1": {
"datei": "wer_noa-e1.mp3",
"dauer": 2.93,
"text": "Wer bin ich? Hör gut zu!"
},
"wer_noa/h1": {
"datei": "wer_noa-h1.mp3",
"dauer": 1.57,
"text": "Ich bin ein Mädchen."
},
"wer_noa/h2": {
"datei": "wer_noa-h2.mp3",
"dauer": 1.96,
"text": "Ich habe zwei Zöpfe."
},
"wer_noa/h3": {
"datei": "wer_noa-h3.mp3",
"dauer": 2.27,
"text": "Und ich trage rote Stiefel."
},
"wer_noa/e2": {
"datei": "wer_noa-e2.mp3",
"dauer": 1.23,
"text": "Weißt du es?"
},
"wer_noa/a1": {
"datei": "wer_noa-a1.mp3",
"dauer": 1.41,
"text": "Ich bin Noa!"
},
"wer_noa/e3": {
"datei": "wer_noa-e3.mp3",
"dauer": 2.35,
"text": "Noa ist fünf Jahre alt."
},
"zaehl_sterne/e1": {
"datei": "zaehl_sterne-e1.mp3",
"dauer": 3.97,
"text": "Wie viele Sterne hat Noas Laterne? Zähl mit!"
},
"zaehl_sterne/c1": {
"datei": "zaehl_sterne-c1.mp3",
"dauer": 0.99,
"text": "Eins"
},
"zaehl_sterne/c2": {
"datei": "zaehl_sterne-c2.mp3",
"dauer": 0.84,
"text": "Zwei"
},
"zaehl_sterne/c3": {
"datei": "zaehl_sterne-c3.mp3",
"dauer": 0.99,
"text": "Drei"
},
"zaehl_sterne/c4": {
"datei": "zaehl_sterne-c4.mp3",
"dauer": 0.91,
"text": "Vier"
},
"zaehl_sterne/c5": {
"datei": "zaehl_sterne-c5.mp3",
"dauer": 0.91,
"text": "Fünf"
},
"zaehl_sterne/e2": {
"datei": "zaehl_sterne-e2.mp3",
"dauer": 1.49,
"text": "Fünf Sterne!"
},
"zaehl_sterne/f1": {
"datei": "zaehl_sterne-f1.mp3",
"dauer": 3,
"text": "Meine Laterne leuchtet wie der Himmel!"
},
"farbe_freunde/q1": {
"datei": "farbe_freunde-q1.mp3",
"dauer": 2.69,
"text": "Welche Farbe hat Pinos Mütze?"
},
"farbe_freunde/a1": {
"datei": "farbe_freunde-a1.mp3",
"dauer": 3,
"text": "Blau! Pinos Mütze ist blau."
},
"farbe_freunde/q2": {
"datei": "farbe_freunde-q2.mp3",
"dauer": 1.72,
"text": "Und Lulus Schal?"
},
"farbe_freunde/a2": {
"datei": "farbe_freunde-a2.mp3",
"dauer": 3.16,
"text": "Grün! Lulus Schal ist grün."
},
"farbe_freunde/q3": {
"datei": "farbe_freunde-q3.mp3",
"dauer": 1.88,
"text": "Und Noas Stiefel?"
},
"farbe_freunde/a3": {
"datei": "farbe_freunde-a3.mp3",
"dauer": 3.16,
"text": "Rot! Noas Stiefel sind rot."
},
"farbe_freunde/f1": {
"datei": "farbe_freunde-f1.mp3",
"dauer": 4.21,
"text": "Blau, grün, rot. Wir sind ganz schön bunt!"
} }
} }

View file

@ -73,5 +73,595 @@
"datei": "giraffe-e6.mp3", "datei": "giraffe-e6.mp3",
"dauer": 4.36, "dauer": 4.36,
"text": "Dilo conmigo: pequeño, mediano, grande." "text": "Dilo conmigo: pequeño, mediano, grande."
},
"schatten/e1": {
"datei": "schatten-e1.mp3",
"dauer": 4.83,
"text": "¿Por qué una sombra a veces es grande y a veces pequeña? ¿Tú qué crees?"
},
"schatten/n1": {
"datei": "schatten-n1.mp3",
"dauer": 2.19,
"text": "¡Te lo enseño con mi farolillo!"
},
"schatten/e2": {
"datei": "schatten-e2.mp3",
"dauer": 5.56,
"text": "La luz ilumina a Pino. Detrás de él, en la pared, está su sombra."
},
"schatten/e3": {
"datei": "schatten-e3.mp3",
"dauer": 3.4,
"text": "Ahora Pino se acerca mucho al farolillo."
},
"schatten/p1": {
"datei": "schatten-p1.mp3",
"dauer": 2.43,
"text": "¡Anda! ¡Soy gigante!"
},
"schatten/e4": {
"datei": "schatten-e4.mp3",
"dauer": 6.43,
"text": "Cerca de la luz, la sombra se hace grande. Lejos de la luz, se hace pequeña."
},
"schatten/e5": {
"datei": "schatten-e5.mp3",
"dauer": 2.51,
"text": "¡Pruébalo esta noche con una linterna!"
},
"hase/e1": {
"datei": "hase-e1.mp3",
"dauer": 2.27,
"text": "¿Puedes hacer un conejo con tu mano?"
},
"hase/n1": {
"datei": "hase-n1.mp3",
"dauer": 2.04,
"text": "¡Mira, se hace así!"
},
"hase/e2": {
"datei": "hase-e2.mp3",
"dauer": 5.07,
"text": "Dos dedos hacia arriba: son las orejas largas. ¡Hazlo tú también!"
},
"hase/n2": {
"datei": "hase-n2.mp3",
"dauer": 1.88,
"text": "¡Y ahora un erizo!"
},
"hase/e3": {
"datei": "hase-e3.mp3",
"dauer": 4.13,
"text": "Todos los dedos bien separados: ¡son las púas!"
},
"hase/p1": {
"datei": "hase-p1.mp3",
"dauer": 1.57,
"text": "¡Ese soy yo!"
},
"hase/e4": {
"datei": "hase-e4.mp3",
"dauer": 3.47,
"text": "Con luz y tu mano puedes hacer muchos animales."
},
"wind/e1": {
"datei": "wind-e1.mp3",
"dauer": 4.52,
"text": "El viento no se ve. Pero ¿cómo sabes que hace viento?"
},
"wind/e2": {
"datei": "wind-e2.mp3",
"dauer": 2.43,
"text": "Las hojas vuelan por el aire."
},
"wind/e3": {
"datei": "wind-e3.mp3",
"dauer": 2.27,
"text": "La bufanda de Lulu se mueve."
},
"wind/e4": {
"datei": "wind-e4.mp3",
"dauer": 2.69,
"text": "Y la cometa sube alto en el cielo."
},
"wind/l1": {
"datei": "wind-l1.mp3",
"dauer": 3.16,
"text": "¡Uy, mi bufanda va a salir volando!"
},
"wind/e5": {
"datei": "wind-e5.mp3",
"dauer": 3.79,
"text": "Sopla muy fuerte. ¡Ahora tú haces viento!"
},
"wind/p1": {
"datei": "wind-p1.mp3",
"dauer": 2.12,
"text": "¡Qué viento tan fuerte!"
},
"schleifen/e1": {
"datei": "schleifen-e1.mp3",
"dauer": 4.05,
"text": "La cometa de Noa tiene tres lazos. ¿De qué color son?"
},
"schleifen/e2": {
"datei": "schleifen-e2.mp3",
"dauer": 2.43,
"text": "El primer lazo es amarillo."
},
"schleifen/e3": {
"datei": "schleifen-e3.mp3",
"dauer": 2.27,
"text": "El segundo es verde."
},
"schleifen/e4": {
"datei": "schleifen-e4.mp3",
"dauer": 2.27,
"text": "Y el tercero es azul."
},
"schleifen/e5": {
"datei": "schleifen-e5.mp3",
"dauer": 3.32,
"text": "Cuenta conmigo: ¡uno, dos, tres!"
},
"schleifen/n1": {
"datei": "schleifen-n1.mp3",
"dauer": 4.99,
"text": "Amarillo, verde, azul. ¡Mi cometa es de colores!"
},
"winter/e1": {
"datei": "winter-e1.mp3",
"dauer": 3.32,
"text": "¿Qué hace un erizo en invierno? ¿Tú qué crees?"
},
"winter/e2": {
"datei": "winter-e2.mp3",
"dauer": 5.88,
"text": "En otoño, el erizo come muchísimo. Así se le pone la tripa gordita."
},
"winter/p1": {
"datei": "winter-p1.mp3",
"dauer": 2.04,
"text": "¡Ya estoy llenito!"
},
"winter/e3": {
"datei": "winter-e3.mp3",
"dauer": 3.79,
"text": "Después se hace un nido calentito de hojas."
},
"winter/e4": {
"datei": "winter-e4.mp3",
"dauer": 5.96,
"text": "Ahí duerme todo el invierno, hasta la primavera. Eso se llama hibernar."
},
"winter/p2": {
"datei": "winter-p2.mp3",
"dauer": 2.69,
"text": "Buenas noches, hasta la primavera."
},
"winter/e5": {
"datei": "winter-e5.mp3",
"dauer": 4.68,
"text": "¡Chis! Si ves un erizo entre las hojas, déjalo dormir."
},
"blaetter/e1": {
"datei": "blaetter-e1.mp3",
"dauer": 3.24,
"text": "¿Por qué en otoño se caen las hojas de los árboles?"
},
"blaetter/e2": {
"datei": "blaetter-e2.mp3",
"dauer": 4.36,
"text": "En invierno hace frío y el árbol recibe poca agua."
},
"blaetter/e3": {
"datei": "blaetter-e3.mp3",
"dauer": 4.21,
"text": "Por eso deja caer sus hojas y descansa mucho tiempo."
},
"blaetter/l1": {
"datei": "blaetter-l1.mp3",
"dauer": 2.93,
"text": "¡El árbol duerme, como Pino!"
},
"blaetter/e4": {
"datei": "blaetter-e4.mp3",
"dauer": 3.87,
"text": "En primavera le salen hojas nuevas y verdes."
},
"blaetter/n1": {
"datei": "blaetter-n1.mp3",
"dauer": 2.69,
"text": "¡Entonces el árbol se despierta!"
},
"hals/e1": {
"datei": "hals-e1.mp3",
"dauer": 5.33,
"text": "Lulu tiene el cuello muy largo. ¿Cuántos huesos tiene? ¿Tú qué crees?"
},
"hals/e2": {
"datei": "hals-e2.mp3",
"dauer": 1.49,
"text": "¡Cuenta conmigo!"
},
"hals/c1": {
"datei": "hals-c1.mp3",
"dauer": 0.91,
"text": "Uno"
},
"hals/c2": {
"datei": "hals-c2.mp3",
"dauer": 0.91,
"text": "Dos"
},
"hals/c3": {
"datei": "hals-c3.mp3",
"dauer": 0.99,
"text": "Tres"
},
"hals/c4": {
"datei": "hals-c4.mp3",
"dauer": 0.99,
"text": "Cuatro"
},
"hals/c5": {
"datei": "hals-c5.mp3",
"dauer": 1.07,
"text": "Cinco"
},
"hals/c6": {
"datei": "hals-c6.mp3",
"dauer": 1.07,
"text": "Seis"
},
"hals/c7": {
"datei": "hals-c7.mp3",
"dauer": 1.07,
"text": "¡Siete!"
},
"hals/e3": {
"datei": "hals-e3.mp3",
"dauer": 3.4,
"text": "Siete huesos. ¡Los mismos que en tu cuello!"
},
"hals/l1": {
"datei": "hals-l1.mp3",
"dauer": 4.13,
"text": "¡Solo que los míos son mucho, mucho más largos!"
},
"herbstfarben/e1": {
"datei": "herbstfarben-e1.mp3",
"dauer": 4.6,
"text": "En otoño las hojas se ponen de colores. ¿Qué colores ves?"
},
"herbstfarben/e2": {
"datei": "herbstfarben-e2.mp3",
"dauer": 1.07,
"text": "¡Rojo!"
},
"herbstfarben/e3": {
"datei": "herbstfarben-e3.mp3",
"dauer": 1.07,
"text": "¡Amarillo!"
},
"herbstfarben/e4": {
"datei": "herbstfarben-e4.mp3",
"dauer": 1.23,
"text": "¡Naranja!"
},
"herbstfarben/e5": {
"datei": "herbstfarben-e5.mp3",
"dauer": 1.31,
"text": "¡Y marrón!"
},
"herbstfarben/e6": {
"datei": "herbstfarben-e6.mp3",
"dauer": 5.41,
"text": "¡Cuatro colores! Cuenta: uno, dos, tres, cuatro."
},
"herbstfarben/n1": {
"datei": "herbstfarben-n1.mp3",
"dauer": 2.85,
"text": "¡Yo recojo las hojas más bonitas!"
},
"wer_pino/e1": {
"datei": "wer_pino-e1.mp3",
"dauer": 2.27,
"text": "¿Quién soy? ¡Escucha bien!"
},
"wer_pino/h1": {
"datei": "wer_pino-h1.mp3",
"dauer": 1.31,
"text": "Soy pequeño."
},
"wer_pino/h2": {
"datei": "wer_pino-h2.mp3",
"dauer": 2.19,
"text": "Tengo muchísimas púas."
},
"wer_pino/h3": {
"datei": "wer_pino-h3.mp3",
"dauer": 2.12,
"text": "Y llevo un gorro azul."
},
"wer_pino/e2": {
"datei": "wer_pino-e2.mp3",
"dauer": 1.23,
"text": "¿Lo sabes?"
},
"wer_pino/a1": {
"datei": "wer_pino-a1.mp3",
"dauer": 1.41,
"text": "¡Soy Pino!"
},
"wer_pino/e3": {
"datei": "wer_pino-e3.mp3",
"dauer": 2.27,
"text": "¡Pino, el pequeño erizo!"
},
"zaehl_aepfel/e1": {
"datei": "zaehl_aepfel-e1.mp3",
"dauer": 3.63,
"text": "¿Cuántas manzanas hay en el árbol? ¡Cuenta conmigo!"
},
"zaehl_aepfel/c1": {
"datei": "zaehl_aepfel-c1.mp3",
"dauer": 0.91,
"text": "Uno"
},
"zaehl_aepfel/c2": {
"datei": "zaehl_aepfel-c2.mp3",
"dauer": 0.91,
"text": "Dos"
},
"zaehl_aepfel/c3": {
"datei": "zaehl_aepfel-c3.mp3",
"dauer": 0.99,
"text": "Tres"
},
"zaehl_aepfel/c4": {
"datei": "zaehl_aepfel-c4.mp3",
"dauer": 0.91,
"text": "Cuatro"
},
"zaehl_aepfel/c5": {
"datei": "zaehl_aepfel-c5.mp3",
"dauer": 0.91,
"text": "Cinco"
},
"zaehl_aepfel/e2": {
"datei": "zaehl_aepfel-e2.mp3",
"dauer": 1.8,
"text": "¡Cinco manzanas!"
},
"zaehl_aepfel/f1": {
"datei": "zaehl_aepfel-f1.mp3",
"dauer": 3.16,
"text": "¡Una para cada uno, y dos para Lulu!"
},
"wer_lulu/e1": {
"datei": "wer_lulu-e1.mp3",
"dauer": 2.19,
"text": "¿Quién soy? ¡Escucha bien!"
},
"wer_lulu/h1": {
"datei": "wer_lulu-h1.mp3",
"dauer": 1.96,
"text": "Soy muy alta."
},
"wer_lulu/h2": {
"datei": "wer_lulu-h2.mp3",
"dauer": 2.43,
"text": "Tengo un cuello muy largo."
},
"wer_lulu/h3": {
"datei": "wer_lulu-h3.mp3",
"dauer": 2.27,
"text": "Y llevo una bufanda verde."
},
"wer_lulu/e2": {
"datei": "wer_lulu-e2.mp3",
"dauer": 1.15,
"text": "¿Lo sabes?"
},
"wer_lulu/a1": {
"datei": "wer_lulu-a1.mp3",
"dauer": 1.41,
"text": "¡Soy Lulu!"
},
"wer_lulu/e3": {
"datei": "wer_lulu-e3.mp3",
"dauer": 1.96,
"text": "¡Lulu, la jirafa!"
},
"farbe_garten/q1": {
"datei": "farbe_garten-q1.mp3",
"dauer": 1.88,
"text": "¿De qué color es la manzana?"
},
"farbe_garten/a1": {
"datei": "farbe_garten-a1.mp3",
"dauer": 3.16,
"text": "¡Roja! La manzana es roja."
},
"farbe_garten/q2": {
"datei": "farbe_garten-q2.mp3",
"dauer": 1.23,
"text": "¿Y la flor?"
},
"farbe_garten/a2": {
"datei": "farbe_garten-a2.mp3",
"dauer": 2.93,
"text": "¡Azul! La flor es azul."
},
"farbe_garten/q3": {
"datei": "farbe_garten-q3.mp3",
"dauer": 1.31,
"text": "¿Y la hoja?"
},
"farbe_garten/a3": {
"datei": "farbe_garten-a3.mp3",
"dauer": 3.32,
"text": "¡Amarilla! La hoja es amarilla."
},
"farbe_garten/f1": {
"datei": "farbe_garten-f1.mp3",
"dauer": 5.15,
"text": "Rojo, azul, amarillo. ¡Qué jardín tan colorido!"
},
"zaehl_blaetter/e1": {
"datei": "zaehl_blaetter-e1.mp3",
"dauer": 2.85,
"text": "¿Cuántas hojas caen? ¡Cuenta conmigo!"
},
"zaehl_blaetter/c1": {
"datei": "zaehl_blaetter-c1.mp3",
"dauer": 0.91,
"text": "Uno"
},
"zaehl_blaetter/c2": {
"datei": "zaehl_blaetter-c2.mp3",
"dauer": 0.91,
"text": "Dos"
},
"zaehl_blaetter/c3": {
"datei": "zaehl_blaetter-c3.mp3",
"dauer": 0.99,
"text": "Tres"
},
"zaehl_blaetter/c4": {
"datei": "zaehl_blaetter-c4.mp3",
"dauer": 0.99,
"text": "Cuatro"
},
"zaehl_blaetter/c5": {
"datei": "zaehl_blaetter-c5.mp3",
"dauer": 1.07,
"text": "Cinco"
},
"zaehl_blaetter/c6": {
"datei": "zaehl_blaetter-c6.mp3",
"dauer": 1.07,
"text": "Seis"
},
"zaehl_blaetter/e2": {
"datei": "zaehl_blaetter-e2.mp3",
"dauer": 1.65,
"text": "¡Seis hojas!"
},
"zaehl_blaetter/f1": {
"datei": "zaehl_blaetter-f1.mp3",
"dauer": 2.04,
"text": "¡Un montón para mí!"
},
"wer_noa/e1": {
"datei": "wer_noa-e1.mp3",
"dauer": 2.35,
"text": "¿Quién soy? ¡Escucha bien!"
},
"wer_noa/h1": {
"datei": "wer_noa-h1.mp3",
"dauer": 1.65,
"text": "Soy una niña."
},
"wer_noa/h2": {
"datei": "wer_noa-h2.mp3",
"dauer": 1.88,
"text": "Tengo dos coletas."
},
"wer_noa/h3": {
"datei": "wer_noa-h3.mp3",
"dauer": 2.04,
"text": "Y llevo botas rojas."
},
"wer_noa/e2": {
"datei": "wer_noa-e2.mp3",
"dauer": 1.23,
"text": "¿Lo sabes?"
},
"wer_noa/a1": {
"datei": "wer_noa-a1.mp3",
"dauer": 1.23,
"text": "¡Soy Noa!"
},
"wer_noa/e3": {
"datei": "wer_noa-e3.mp3",
"dauer": 2.19,
"text": "Noa tiene cinco años."
},
"zaehl_sterne/e1": {
"datei": "zaehl_sterne-e1.mp3",
"dauer": 4.28,
"text": "¿Cuántas estrellas tiene el farolillo de Noa? ¡Cuenta conmigo!"
},
"zaehl_sterne/c1": {
"datei": "zaehl_sterne-c1.mp3",
"dauer": 0.91,
"text": "Uno"
},
"zaehl_sterne/c2": {
"datei": "zaehl_sterne-c2.mp3",
"dauer": 0.99,
"text": "Dos"
},
"zaehl_sterne/c3": {
"datei": "zaehl_sterne-c3.mp3",
"dauer": 0.91,
"text": "Tres"
},
"zaehl_sterne/c4": {
"datei": "zaehl_sterne-c4.mp3",
"dauer": 0.99,
"text": "Cuatro"
},
"zaehl_sterne/c5": {
"datei": "zaehl_sterne-c5.mp3",
"dauer": 1.07,
"text": "Cinco"
},
"zaehl_sterne/e2": {
"datei": "zaehl_sterne-e2.mp3",
"dauer": 1.72,
"text": "¡Cinco estrellas!"
},
"zaehl_sterne/f1": {
"datei": "zaehl_sterne-f1.mp3",
"dauer": 2.85,
"text": "¡Mi farolillo brilla como el cielo!"
},
"farbe_freunde/q1": {
"datei": "farbe_freunde-q1.mp3",
"dauer": 2.43,
"text": "¿De qué color es el gorro de Pino?"
},
"farbe_freunde/a1": {
"datei": "farbe_freunde-a1.mp3",
"dauer": 3.24,
"text": "¡Azul! El gorro de Pino es azul."
},
"farbe_freunde/q2": {
"datei": "farbe_freunde-q2.mp3",
"dauer": 1.8,
"text": "¿Y la bufanda de Lulu?"
},
"farbe_freunde/a2": {
"datei": "farbe_freunde-a2.mp3",
"dauer": 3.47,
"text": "¡Verde! La bufanda de Lulu es verde."
},
"farbe_freunde/q3": {
"datei": "farbe_freunde-q3.mp3",
"dauer": 1.72,
"text": "¿Y las botas de Noa?"
},
"farbe_freunde/a3": {
"datei": "farbe_freunde-a3.mp3",
"dauer": 3.47,
"text": "¡Rojas! Las botas de Noa son rojas."
},
"farbe_freunde/f1": {
"datei": "farbe_freunde-f1.mp3",
"dauer": 4.83,
"text": "Azul, verde, rojo. ¡Somos de muchos colores!"
} }
} }

View file

@ -73,5 +73,595 @@
"datei": "giraffe-e6.mp3", "datei": "giraffe-e6.mp3",
"dauer": 3.63, "dauer": 3.63,
"text": "Dis avec moi : petit, moyen, grand !" "text": "Dis avec moi : petit, moyen, grand !"
},
"schatten/e1": {
"datei": "schatten-e1.mp3",
"dauer": 4.83,
"text": "Pourquoi une ombre est parfois grande et parfois petite ? Qu'est-ce que tu crois ?"
},
"schatten/n1": {
"datei": "schatten-n1.mp3",
"dauer": 2.19,
"text": "Je te montre avec ma lanterne !"
},
"schatten/e2": {
"datei": "schatten-e2.mp3",
"dauer": 5.64,
"text": "La lumière éclaire Pino. Derrière lui, sur le mur, il y a son ombre."
},
"schatten/e3": {
"datei": "schatten-e3.mp3",
"dauer": 3.55,
"text": "Maintenant, Pino s'approche tout près de la lanterne."
},
"schatten/p1": {
"datei": "schatten-p1.mp3",
"dauer": 2.19,
"text": "Oh ! Je suis géant !"
},
"schatten/e4": {
"datei": "schatten-e4.mp3",
"dauer": 6.35,
"text": "Près de la lumière, l'ombre devient grande. Loin de la lumière, elle devient petite."
},
"schatten/e5": {
"datei": "schatten-e5.mp3",
"dauer": 2.59,
"text": "Essaie ce soir avec une lampe de poche !"
},
"hase/e1": {
"datei": "hase-e1.mp3",
"dauer": 1.88,
"text": "Tu peux faire un lapin avec ta main ?"
},
"hase/n1": {
"datei": "hase-n1.mp3",
"dauer": 1.96,
"text": "Regarde, on fait comme ça !"
},
"hase/e2": {
"datei": "hase-e2.mp3",
"dauer": 4.52,
"text": "Deux doigts vers le haut : ce sont les longues oreilles. Fais comme Noa !"
},
"hase/n2": {
"datei": "hase-n2.mp3",
"dauer": 2.19,
"text": "Et maintenant, un hérisson !"
},
"hase/e3": {
"datei": "hase-e3.mp3",
"dauer": 3.55,
"text": "Tous les doigts bien écartés : ce sont les piquants !"
},
"hase/p1": {
"datei": "hase-p1.mp3",
"dauer": 1.23,
"text": "Mais c'est moi !"
},
"hase/e4": {
"datei": "hase-e4.mp3",
"dauer": 3.71,
"text": "Avec de la lumière et ta main, tu peux faire plein d'animaux."
},
"wind/e1": {
"datei": "wind-e1.mp3",
"dauer": 3.79,
"text": "On ne voit pas le vent. Mais comment sais-tu qu'il y a du vent ?"
},
"wind/e2": {
"datei": "wind-e2.mp3",
"dauer": 2.12,
"text": "Les feuilles volent dans l'air."
},
"wind/e3": {
"datei": "wind-e3.mp3",
"dauer": 2.19,
"text": "L'écharpe de Lulu s'envole."
},
"wind/e4": {
"datei": "wind-e4.mp3",
"dauer": 2.85,
"text": "Et le cerf-volant monte haut dans le ciel."
},
"wind/l1": {
"datei": "wind-l1.mp3",
"dauer": 2.59,
"text": "Houlà, mon écharpe va s'envoler !"
},
"wind/e5": {
"datei": "wind-e5.mp3",
"dauer": 4.05,
"text": "Souffle très fort. Maintenant, c'est toi qui fais du vent !"
},
"wind/p1": {
"datei": "wind-p1.mp3",
"dauer": 1.8,
"text": "Quel vent fort !"
},
"schleifen/e1": {
"datei": "schleifen-e1.mp3",
"dauer": 4.21,
"text": "Le cerf-volant de Noa a trois nœuds. De quelles couleurs sont-ils ?"
},
"schleifen/e2": {
"datei": "schleifen-e2.mp3",
"dauer": 2.19,
"text": "Le premier nœud est jaune."
},
"schleifen/e3": {
"datei": "schleifen-e3.mp3",
"dauer": 2.04,
"text": "Le deuxième est vert."
},
"schleifen/e4": {
"datei": "schleifen-e4.mp3",
"dauer": 2.04,
"text": "Et le troisième est bleu."
},
"schleifen/e5": {
"datei": "schleifen-e5.mp3",
"dauer": 3.32,
"text": "Compte avec moi : un, deux, trois !"
},
"schleifen/n1": {
"datei": "schleifen-n1.mp3",
"dauer": 4.44,
"text": "Jaune, vert, bleu. Mon cerf-volant est tout coloré !"
},
"winter/e1": {
"datei": "winter-e1.mp3",
"dauer": 3.32,
"text": "Que fait un hérisson en hiver ? Qu'est-ce que tu crois ?"
},
"winter/e2": {
"datei": "winter-e2.mp3",
"dauer": 5.15,
"text": "En automne, le hérisson mange beaucoup. Comme ça, il a un gros ventre."
},
"winter/p1": {
"datei": "winter-p1.mp3",
"dauer": 2.27,
"text": "Je suis déjà bien rempli !"
},
"winter/e3": {
"datei": "winter-e3.mp3",
"dauer": 3.63,
"text": "Ensuite, il se fait un nid bien chaud avec des feuilles."
},
"winter/e4": {
"datei": "winter-e4.mp3",
"dauer": 4.68,
"text": "Il y dort tout l'hiver, jusqu'au printemps. Ça s'appelle hiberner."
},
"winter/p2": {
"datei": "winter-p2.mp3",
"dauer": 2.35,
"text": "Bonne nuit, à bientôt au printemps."
},
"winter/e5": {
"datei": "winter-e5.mp3",
"dauer": 4.52,
"text": "Chut ! Si tu vois un hérisson dans les feuilles, laisse-le dormir."
},
"blaetter/e1": {
"datei": "blaetter-e1.mp3",
"dauer": 3.55,
"text": "Pourquoi, en automne, les feuilles tombent des arbres ?"
},
"blaetter/e2": {
"datei": "blaetter-e2.mp3",
"dauer": 4.05,
"text": "En hiver, il fait froid et l'arbre reçoit peu d'eau."
},
"blaetter/e3": {
"datei": "blaetter-e3.mp3",
"dauer": 4.05,
"text": "Alors il laisse tomber ses feuilles et fait une longue pause."
},
"blaetter/l1": {
"datei": "blaetter-l1.mp3",
"dauer": 2.35,
"text": "L'arbre dort, comme Pino !"
},
"blaetter/e4": {
"datei": "blaetter-e4.mp3",
"dauer": 3.16,
"text": "Au printemps, de nouvelles feuilles vertes poussent."
},
"blaetter/n1": {
"datei": "blaetter-n1.mp3",
"dauer": 2.35,
"text": "Alors l'arbre se réveille !"
},
"hals/e1": {
"datei": "hals-e1.mp3",
"dauer": 4.68,
"text": "Lulu a un long cou. Combien d'os y a-t-il dedans ? Qu'est-ce que tu crois ?"
},
"hals/e2": {
"datei": "hals-e2.mp3",
"dauer": 1.31,
"text": "Compte avec moi !"
},
"hals/c1": {
"datei": "hals-c1.mp3",
"dauer": 0.91,
"text": "Un"
},
"hals/c2": {
"datei": "hals-c2.mp3",
"dauer": 0.91,
"text": "Deux"
},
"hals/c3": {
"datei": "hals-c3.mp3",
"dauer": 0.84,
"text": "Trois"
},
"hals/c4": {
"datei": "hals-c4.mp3",
"dauer": 0.91,
"text": "Quatre"
},
"hals/c5": {
"datei": "hals-c5.mp3",
"dauer": 0.99,
"text": "Cinq"
},
"hals/c6": {
"datei": "hals-c6.mp3",
"dauer": 0.99,
"text": "Six"
},
"hals/c7": {
"datei": "hals-c7.mp3",
"dauer": 0.99,
"text": "Sept !"
},
"hals/e3": {
"datei": "hals-e3.mp3",
"dauer": 2.93,
"text": "Sept os. Autant que dans ton cou !"
},
"hals/l1": {
"datei": "hals-l1.mp3",
"dauer": 3.4,
"text": "Les miens sont juste beaucoup, beaucoup plus longs !"
},
"herbstfarben/e1": {
"datei": "herbstfarben-e1.mp3",
"dauer": 4.28,
"text": "En automne, les feuilles changent de couleur. Quelles couleurs vois-tu ?"
},
"herbstfarben/e2": {
"datei": "herbstfarben-e2.mp3",
"dauer": 1.15,
"text": "Rouge !"
},
"herbstfarben/e3": {
"datei": "herbstfarben-e3.mp3",
"dauer": 1.15,
"text": "Jaune !"
},
"herbstfarben/e4": {
"datei": "herbstfarben-e4.mp3",
"dauer": 1.07,
"text": "Orange !"
},
"herbstfarben/e5": {
"datei": "herbstfarben-e5.mp3",
"dauer": 1.31,
"text": "Et marron !"
},
"herbstfarben/e6": {
"datei": "herbstfarben-e6.mp3",
"dauer": 5.33,
"text": "Quatre couleurs ! Compte : un, deux, trois, quatre !"
},
"herbstfarben/n1": {
"datei": "herbstfarben-n1.mp3",
"dauer": 2.43,
"text": "Je ramasse les plus belles feuilles !"
},
"wer_pino/e1": {
"datei": "wer_pino-e1.mp3",
"dauer": 2.19,
"text": "Qui suis-je ? Écoute bien !"
},
"wer_pino/h1": {
"datei": "wer_pino-h1.mp3",
"dauer": 1.41,
"text": "Je suis petit."
},
"wer_pino/h2": {
"datei": "wer_pino-h2.mp3",
"dauer": 1.65,
"text": "J'ai plein de piquants."
},
"wer_pino/h3": {
"datei": "wer_pino-h3.mp3",
"dauer": 2.04,
"text": "Et je porte un bonnet bleu."
},
"wer_pino/e2": {
"datei": "wer_pino-e2.mp3",
"dauer": 0.99,
"text": "Tu as trouvé ?"
},
"wer_pino/a1": {
"datei": "wer_pino-a1.mp3",
"dauer": 1.31,
"text": "Je suis Pino !"
},
"wer_pino/e3": {
"datei": "wer_pino-e3.mp3",
"dauer": 2.19,
"text": "Pino, le petit hérisson !"
},
"zaehl_aepfel/e1": {
"datei": "zaehl_aepfel-e1.mp3",
"dauer": 3,
"text": "Combien de pommes dans l'arbre ? Compte avec moi !"
},
"zaehl_aepfel/c1": {
"datei": "zaehl_aepfel-c1.mp3",
"dauer": 0.91,
"text": "Un"
},
"zaehl_aepfel/c2": {
"datei": "zaehl_aepfel-c2.mp3",
"dauer": 0.84,
"text": "Deux"
},
"zaehl_aepfel/c3": {
"datei": "zaehl_aepfel-c3.mp3",
"dauer": 0.84,
"text": "Trois"
},
"zaehl_aepfel/c4": {
"datei": "zaehl_aepfel-c4.mp3",
"dauer": 0.99,
"text": "Quatre"
},
"zaehl_aepfel/c5": {
"datei": "zaehl_aepfel-c5.mp3",
"dauer": 0.99,
"text": "Cinq"
},
"zaehl_aepfel/e2": {
"datei": "zaehl_aepfel-e2.mp3",
"dauer": 1.49,
"text": "Cinq pommes !"
},
"zaehl_aepfel/f1": {
"datei": "zaehl_aepfel-f1.mp3",
"dauer": 2.77,
"text": "Une pour chacun, et deux pour Lulu !"
},
"wer_lulu/e1": {
"datei": "wer_lulu-e1.mp3",
"dauer": 2.19,
"text": "Qui suis-je ? Écoute bien !"
},
"wer_lulu/h1": {
"datei": "wer_lulu-h1.mp3",
"dauer": 1.88,
"text": "Je suis très grande."
},
"wer_lulu/h2": {
"datei": "wer_lulu-h2.mp3",
"dauer": 1.8,
"text": "J'ai un très long cou."
},
"wer_lulu/h3": {
"datei": "wer_lulu-h3.mp3",
"dauer": 2.27,
"text": "Et je porte une écharpe verte."
},
"wer_lulu/e2": {
"datei": "wer_lulu-e2.mp3",
"dauer": 1.15,
"text": "Tu as trouvé ?"
},
"wer_lulu/a1": {
"datei": "wer_lulu-a1.mp3",
"dauer": 1.31,
"text": "Je suis Lulu !"
},
"wer_lulu/e3": {
"datei": "wer_lulu-e3.mp3",
"dauer": 2.04,
"text": "Lulu, la girafe !"
},
"farbe_garten/q1": {
"datei": "farbe_garten-q1.mp3",
"dauer": 1.96,
"text": "De quelle couleur est la pomme ?"
},
"farbe_garten/a1": {
"datei": "farbe_garten-a1.mp3",
"dauer": 3,
"text": "Rouge ! La pomme est rouge."
},
"farbe_garten/q2": {
"datei": "farbe_garten-q2.mp3",
"dauer": 1.07,
"text": "Et la fleur ?"
},
"farbe_garten/a2": {
"datei": "farbe_garten-a2.mp3",
"dauer": 2.69,
"text": "Bleue ! La fleur est bleue."
},
"farbe_garten/q3": {
"datei": "farbe_garten-q3.mp3",
"dauer": 1.07,
"text": "Et la feuille ?"
},
"farbe_garten/a3": {
"datei": "farbe_garten-a3.mp3",
"dauer": 2.85,
"text": "Jaune ! La feuille est jaune."
},
"farbe_garten/f1": {
"datei": "farbe_garten-f1.mp3",
"dauer": 4.36,
"text": "Rouge, bleu, jaune. Le jardin est tout coloré !"
},
"zaehl_blaetter/e1": {
"datei": "zaehl_blaetter-e1.mp3",
"dauer": 2.85,
"text": "Combien de feuilles tombent ? Compte avec moi !"
},
"zaehl_blaetter/c1": {
"datei": "zaehl_blaetter-c1.mp3",
"dauer": 0.91,
"text": "Un"
},
"zaehl_blaetter/c2": {
"datei": "zaehl_blaetter-c2.mp3",
"dauer": 0.84,
"text": "Deux"
},
"zaehl_blaetter/c3": {
"datei": "zaehl_blaetter-c3.mp3",
"dauer": 0.91,
"text": "Trois"
},
"zaehl_blaetter/c4": {
"datei": "zaehl_blaetter-c4.mp3",
"dauer": 0.99,
"text": "Quatre"
},
"zaehl_blaetter/c5": {
"datei": "zaehl_blaetter-c5.mp3",
"dauer": 0.99,
"text": "Cinq"
},
"zaehl_blaetter/c6": {
"datei": "zaehl_blaetter-c6.mp3",
"dauer": 0.99,
"text": "Six"
},
"zaehl_blaetter/e2": {
"datei": "zaehl_blaetter-e2.mp3",
"dauer": 1.57,
"text": "Six feuilles !"
},
"zaehl_blaetter/f1": {
"datei": "zaehl_blaetter-f1.mp3",
"dauer": 1.88,
"text": "Un tas rien que pour moi !"
},
"wer_noa/e1": {
"datei": "wer_noa-e1.mp3",
"dauer": 2.04,
"text": "Qui suis-je ? Écoute bien !"
},
"wer_noa/h1": {
"datei": "wer_noa-h1.mp3",
"dauer": 1.49,
"text": "Je suis une fille."
},
"wer_noa/h2": {
"datei": "wer_noa-h2.mp3",
"dauer": 1.57,
"text": "J'ai deux couettes."
},
"wer_noa/h3": {
"datei": "wer_noa-h3.mp3",
"dauer": 2.19,
"text": "Et je porte des bottes rouges."
},
"wer_noa/e2": {
"datei": "wer_noa-e2.mp3",
"dauer": 0.99,
"text": "Tu as trouvé ?"
},
"wer_noa/a1": {
"datei": "wer_noa-a1.mp3",
"dauer": 1.15,
"text": "Je suis Noa !"
},
"wer_noa/e3": {
"datei": "wer_noa-e3.mp3",
"dauer": 1.65,
"text": "Noa a cinq ans."
},
"zaehl_sterne/e1": {
"datei": "zaehl_sterne-e1.mp3",
"dauer": 3.55,
"text": "Combien d'étoiles sur la lanterne de Noa ? Compte avec moi !"
},
"zaehl_sterne/c1": {
"datei": "zaehl_sterne-c1.mp3",
"dauer": 0.91,
"text": "Un"
},
"zaehl_sterne/c2": {
"datei": "zaehl_sterne-c2.mp3",
"dauer": 0.84,
"text": "Deux"
},
"zaehl_sterne/c3": {
"datei": "zaehl_sterne-c3.mp3",
"dauer": 0.91,
"text": "Trois"
},
"zaehl_sterne/c4": {
"datei": "zaehl_sterne-c4.mp3",
"dauer": 0.91,
"text": "Quatre"
},
"zaehl_sterne/c5": {
"datei": "zaehl_sterne-c5.mp3",
"dauer": 0.99,
"text": "Cinq"
},
"zaehl_sterne/e2": {
"datei": "zaehl_sterne-e2.mp3",
"dauer": 1.49,
"text": "Cinq étoiles !"
},
"zaehl_sterne/f1": {
"datei": "zaehl_sterne-f1.mp3",
"dauer": 2.35,
"text": "Ma lanterne brille comme le ciel !"
},
"farbe_freunde/q1": {
"datei": "farbe_freunde-q1.mp3",
"dauer": 2.19,
"text": "De quelle couleur est le bonnet de Pino ?"
},
"farbe_freunde/a1": {
"datei": "farbe_freunde-a1.mp3",
"dauer": 3.08,
"text": "Bleu ! Le bonnet de Pino est bleu."
},
"farbe_freunde/q2": {
"datei": "farbe_freunde-q2.mp3",
"dauer": 1.57,
"text": "Et l'écharpe de Lulu ?"
},
"farbe_freunde/a2": {
"datei": "farbe_freunde-a2.mp3",
"dauer": 3.32,
"text": "Verte ! L'écharpe de Lulu est verte."
},
"farbe_freunde/q3": {
"datei": "farbe_freunde-q3.mp3",
"dauer": 1.41,
"text": "Et les bottes de Noa ?"
},
"farbe_freunde/a3": {
"datei": "farbe_freunde-a3.mp3",
"dauer": 3.32,
"text": "Rouges ! Les bottes de Noa sont rouges."
},
"farbe_freunde/f1": {
"datei": "farbe_freunde-f1.mp3",
"dauer": 3.71,
"text": "Bleu, vert, rouge. On est tout colorés !"
} }
} }

View file

@ -21,6 +21,153 @@
"giraffe/w1": "klein", "giraffe/w1": "klein",
"giraffe/w2": "mittel", "giraffe/w2": "mittel",
"giraffe/w3": "groß", "giraffe/w3": "groß",
"kanal": "Pinos kleine Welt" "kanal": "Pinos kleine Welt",
"schatten/frage": "Warum wird der Schatten groß?",
"schatten/e1": "Warum ist ein Schatten mal groß und mal klein? Was meinst du?",
"schatten/n1": "Ich zeig es dir mit meiner Laterne!",
"schatten/e2": "Das Licht scheint auf Pino. Hinter ihm an der Wand ist sein Schatten.",
"schatten/e3": "Jetzt geht Pino ganz nah an die Laterne.",
"schatten/p1": "Huch! Ich bin ja riesig!",
"schatten/e4": "Nah am Licht wird der Schatten groß. Weit weg vom Licht wird er klein.",
"schatten/e5": "Probier es heute Abend mit einer Taschenlampe aus!",
"hase/frage": "Kannst du einen Hasen machen?",
"hase/e1": "Kannst du mit deiner Hand einen Hasen machen?",
"hase/n1": "Schau mal, so geht das!",
"hase/e2": "Zwei Finger nach oben, das sind die langen Ohren. Mach mit!",
"hase/n2": "Und jetzt ein Igel!",
"hase/e3": "Alle Finger weit auseinander, das sind die Stacheln!",
"hase/p1": "Das bin ja ich!",
"hase/e4": "Mit Licht und deiner Hand kannst du ganz viele Tiere machen.",
"wind/frage": "Woran sieht man den Wind?",
"wind/e1": "Wind kann man nicht sehen. Aber woran merkst du, dass es windig ist?",
"wind/e2": "Die Blätter fliegen durch die Luft.",
"wind/e3": "Lulus Schal weht.",
"wind/e4": "Und der Drachen steigt hoch in den Himmel.",
"wind/l1": "Huii, mein Schal fliegt gleich weg!",
"wind/e5": "Puste mal ganz fest. Jetzt machst du Wind!",
"wind/p1": "Das war ein starker Wind!",
"schleifen/frage": "Welche Farben siehst du?",
"schleifen/e1": "Noas Drachen hat drei Schleifen. Welche Farben haben sie?",
"schleifen/e2": "Die erste Schleife ist gelb.",
"schleifen/e3": "Die zweite ist grün.",
"schleifen/e4": "Und die dritte ist blau.",
"schleifen/e5": "Zähl mit: eins, zwei, drei!",
"schleifen/n1": "Gelb, grün, blau. Mein Drachen ist bunt!",
"schleifen/w1": "gelb",
"schleifen/w2": "grün",
"schleifen/w3": "blau",
"winter/frage": "Was macht der Igel im Winter?",
"winter/e1": "Was macht ein Igel im Winter? Was meinst du?",
"winter/e2": "Im Herbst frisst der Igel ganz viel. So bekommt er einen dicken Bauch.",
"winter/p1": "Ich bin schon ganz satt!",
"winter/e3": "Dann baut er sich ein warmes Nest aus Blättern.",
"winter/e4": "Darin schläft er den ganzen Winter, bis zum Frühling. Das heißt Winterschlaf.",
"winter/p2": "Gute Nacht, bis zum Frühling.",
"winter/e5": "Psst! Wenn du einen Igel im Laub siehst, lass ihn schlafen.",
"blaetter/frage": "Warum fallen die Blätter?",
"blaetter/e1": "Warum fallen im Herbst die Blätter von den Bäumen?",
"blaetter/e2": "Im Winter ist es kalt, und der Baum bekommt wenig Wasser.",
"blaetter/e3": "Darum lässt er seine Blätter fallen und macht eine lange Pause.",
"blaetter/l1": "Der Baum schläft, so wie Pino!",
"blaetter/e4": "Im Frühling wachsen dann ganz neue, grüne Blätter.",
"blaetter/n1": "Dann ist der Baum wieder wach!",
"hals/frage": "Wie viele Knochen hat der Hals?",
"hals/e1": "Lulu hat einen langen Hals. Wie viele Knochen sind darin? Was meinst du?",
"hals/e2": "Zähl mit!",
"hals/c1": "Eins",
"hals/c2": "Zwei",
"hals/c3": "Drei",
"hals/c4": "Vier",
"hals/c5": "Fünf",
"hals/c6": "Sechs",
"hals/c7": "Sieben!",
"hals/e3": "Sieben Knochen. Genauso viele wie in deinem Hals!",
"hals/l1": "Meine sind nur viel, viel länger!",
"herbstfarben/frage": "Welche Farbe hat das Blatt?",
"herbstfarben/e1": "Im Herbst werden die Blätter bunt. Welche Farben siehst du?",
"herbstfarben/e2": "Rot!",
"herbstfarben/e3": "Gelb!",
"herbstfarben/e4": "Orange!",
"herbstfarben/e5": "Und braun!",
"herbstfarben/e6": "Vier Farben! Zähl mit: eins, zwei, drei, vier!",
"herbstfarben/n1": "Ich sammle die schönsten Blätter!",
"herbstfarben/w1": "rot",
"herbstfarben/w2": "gelb",
"herbstfarben/w3": "orange",
"herbstfarben/w4": "braun",
"wer_pino/frage": "Wer bin ich?",
"wer_pino/e1": "Wer bin ich? Hör gut zu!",
"wer_pino/h1": "Ich bin klein.",
"wer_pino/h2": "Ich habe ganz viele Stacheln.",
"wer_pino/h3": "Und ich trage eine blaue Mütze.",
"wer_pino/e2": "Weißt du es?",
"wer_pino/a1": "Ich bin Pino!",
"wer_pino/e3": "Pino, der kleine Igel!",
"wer_lulu/frage": "Wer bin ich?",
"wer_lulu/e1": "Wer bin ich? Hör gut zu!",
"wer_lulu/h1": "Ich bin ganz groß.",
"wer_lulu/h2": "Ich habe einen langen Hals.",
"wer_lulu/h3": "Und ich trage einen grünen Schal.",
"wer_lulu/e2": "Weißt du es?",
"wer_lulu/a1": "Ich bin Lulu!",
"wer_lulu/e3": "Lulu, die Giraffe!",
"wer_noa/frage": "Wer bin ich?",
"wer_noa/e1": "Wer bin ich? Hör gut zu!",
"wer_noa/h1": "Ich bin ein Mädchen.",
"wer_noa/h2": "Ich habe zwei Zöpfe.",
"wer_noa/h3": "Und ich trage rote Stiefel.",
"wer_noa/e2": "Weißt du es?",
"wer_noa/a1": "Ich bin Noa!",
"wer_noa/e3": "Noa ist fünf Jahre alt.",
"zaehl_aepfel/frage": "Wie viele Äpfel?",
"zaehl_aepfel/e1": "Wie viele Äpfel hängen am Baum? Zähl mit!",
"zaehl_aepfel/e2": "Fünf Äpfel!",
"zaehl_aepfel/f1": "Einen für jeden, und zwei für Lulu!",
"zaehl_aepfel/c1": "Eins",
"zaehl_aepfel/c2": "Zwei",
"zaehl_aepfel/c3": "Drei",
"zaehl_aepfel/c4": "Vier",
"zaehl_aepfel/c5": "Fünf",
"zaehl_blaetter/frage": "Wie viele Blätter?",
"zaehl_blaetter/e1": "Wie viele Blätter fallen herunter? Zähl mit!",
"zaehl_blaetter/e2": "Sechs Blätter!",
"zaehl_blaetter/f1": "Ein ganzer Haufen für mich!",
"zaehl_blaetter/c1": "Eins",
"zaehl_blaetter/c2": "Zwei",
"zaehl_blaetter/c3": "Drei",
"zaehl_blaetter/c4": "Vier",
"zaehl_blaetter/c5": "Fünf",
"zaehl_blaetter/c6": "Sechs",
"zaehl_sterne/frage": "Wie viele Sterne?",
"zaehl_sterne/e1": "Wie viele Sterne hat Noas Laterne? Zähl mit!",
"zaehl_sterne/e2": "Fünf Sterne!",
"zaehl_sterne/f1": "Meine Laterne leuchtet wie der Himmel!",
"zaehl_sterne/c1": "Eins",
"zaehl_sterne/c2": "Zwei",
"zaehl_sterne/c3": "Drei",
"zaehl_sterne/c4": "Vier",
"zaehl_sterne/c5": "Fünf",
"farbe_garten/frage": "Welche Farbe?",
"farbe_garten/q1": "Welche Farbe hat der Apfel?",
"farbe_garten/a1": "Rot! Der Apfel ist rot.",
"farbe_garten/q2": "Und die Blume?",
"farbe_garten/a2": "Blau! Die Blume ist blau.",
"farbe_garten/q3": "Und das Blatt?",
"farbe_garten/a3": "Gelb! Das Blatt ist gelb.",
"farbe_garten/f1": "Rot, blau, gelb. So bunt ist der Garten!",
"farbe_freunde/frage": "Welche Farbe?",
"farbe_freunde/q1": "Welche Farbe hat Pinos Mütze?",
"farbe_freunde/a1": "Blau! Pinos Mütze ist blau.",
"farbe_freunde/q2": "Und Lulus Schal?",
"farbe_freunde/a2": "Grün! Lulus Schal ist grün.",
"farbe_freunde/q3": "Und Noas Stiefel?",
"farbe_freunde/a3": "Rot! Noas Stiefel sind rot.",
"farbe_freunde/f1": "Blau, grün, rot. Wir sind ganz schön bunt!",
"farbe_garten/w1": "rot",
"farbe_garten/w2": "blau",
"farbe_garten/w3": "gelb",
"farbe_freunde/w1": "blau",
"farbe_freunde/w2": "grün",
"farbe_freunde/w3": "rot"
} }
} }

View file

@ -21,6 +21,153 @@
"giraffe/w1": "pequeño", "giraffe/w1": "pequeño",
"giraffe/w2": "mediano", "giraffe/w2": "mediano",
"giraffe/w3": "grande", "giraffe/w3": "grande",
"kanal": "El pequeño mundo de Pino" "kanal": "El pequeño mundo de Pino",
"schatten/frage": "¿Por qué crece la sombra?",
"schatten/e1": "¿Por qué una sombra a veces es grande y a veces pequeña? ¿Tú qué crees?",
"schatten/n1": "¡Te lo enseño con mi farolillo!",
"schatten/e2": "La luz ilumina a Pino. Detrás de él, en la pared, está su sombra.",
"schatten/e3": "Ahora Pino se acerca mucho al farolillo.",
"schatten/p1": "¡Anda! ¡Soy gigante!",
"schatten/e4": "Cerca de la luz, la sombra se hace grande. Lejos de la luz, se hace pequeña.",
"schatten/e5": "¡Pruébalo esta noche con una linterna!",
"hase/frage": "¿Sabes hacer un conejo?",
"hase/e1": "¿Puedes hacer un conejo con tu mano?",
"hase/n1": "¡Mira, se hace así!",
"hase/e2": "Dos dedos hacia arriba: son las orejas largas. ¡Hazlo tú también!",
"hase/n2": "¡Y ahora un erizo!",
"hase/e3": "Todos los dedos bien separados: ¡son las púas!",
"hase/p1": "¡Ese soy yo!",
"hase/e4": "Con luz y tu mano puedes hacer muchos animales.",
"wind/frage": "¿Cómo se ve el viento?",
"wind/e1": "El viento no se ve. Pero ¿cómo sabes que hace viento?",
"wind/e2": "Las hojas vuelan por el aire.",
"wind/e3": "La bufanda de Lulu se mueve.",
"wind/e4": "Y la cometa sube alto en el cielo.",
"wind/l1": "¡Uy, mi bufanda va a salir volando!",
"wind/e5": "Sopla muy fuerte. ¡Ahora tú haces viento!",
"wind/p1": "¡Qué viento tan fuerte!",
"schleifen/frage": "¿Qué colores ves?",
"schleifen/e1": "La cometa de Noa tiene tres lazos. ¿De qué color son?",
"schleifen/e2": "El primer lazo es amarillo.",
"schleifen/e3": "El segundo es verde.",
"schleifen/e4": "Y el tercero es azul.",
"schleifen/e5": "Cuenta conmigo: ¡uno, dos, tres!",
"schleifen/n1": "Amarillo, verde, azul. ¡Mi cometa es de colores!",
"schleifen/w1": "amarillo",
"schleifen/w2": "verde",
"schleifen/w3": "azul",
"winter/frage": "¿Qué hace el erizo en invierno?",
"winter/e1": "¿Qué hace un erizo en invierno? ¿Tú qué crees?",
"winter/e2": "En otoño, el erizo come muchísimo. Así se le pone la tripa gordita.",
"winter/p1": "¡Ya estoy llenito!",
"winter/e3": "Después se hace un nido calentito de hojas.",
"winter/e4": "Ahí duerme todo el invierno, hasta la primavera. Eso se llama hibernar.",
"winter/p2": "Buenas noches, hasta la primavera.",
"winter/e5": "¡Chis! Si ves un erizo entre las hojas, déjalo dormir.",
"blaetter/frage": "¿Por qué se caen las hojas?",
"blaetter/e1": "¿Por qué en otoño se caen las hojas de los árboles?",
"blaetter/e2": "En invierno hace frío y el árbol recibe poca agua.",
"blaetter/e3": "Por eso deja caer sus hojas y descansa mucho tiempo.",
"blaetter/l1": "¡El árbol duerme, como Pino!",
"blaetter/e4": "En primavera le salen hojas nuevas y verdes.",
"blaetter/n1": "¡Entonces el árbol se despierta!",
"hals/frage": "¿Cuántos huesos tiene el cuello?",
"hals/e1": "Lulu tiene el cuello muy largo. ¿Cuántos huesos tiene? ¿Tú qué crees?",
"hals/e2": "¡Cuenta conmigo!",
"hals/c1": "Uno",
"hals/c2": "Dos",
"hals/c3": "Tres",
"hals/c4": "Cuatro",
"hals/c5": "Cinco",
"hals/c6": "Seis",
"hals/c7": "¡Siete!",
"hals/e3": "Siete huesos. ¡Los mismos que en tu cuello!",
"hals/l1": "¡Solo que los míos son mucho, mucho más largos!",
"herbstfarben/frage": "¿De qué color es la hoja?",
"herbstfarben/e1": "En otoño las hojas se ponen de colores. ¿Qué colores ves?",
"herbstfarben/e2": "¡Rojo!",
"herbstfarben/e3": "¡Amarillo!",
"herbstfarben/e4": "¡Naranja!",
"herbstfarben/e5": "¡Y marrón!",
"herbstfarben/e6": "¡Cuatro colores! Cuenta: uno, dos, tres, cuatro.",
"herbstfarben/n1": "¡Yo recojo las hojas más bonitas!",
"herbstfarben/w1": "rojo",
"herbstfarben/w2": "amarillo",
"herbstfarben/w3": "naranja",
"herbstfarben/w4": "marrón",
"wer_pino/frage": "¿Quién soy?",
"wer_pino/e1": "¿Quién soy? ¡Escucha bien!",
"wer_pino/h1": "Soy pequeño.",
"wer_pino/h2": "Tengo muchísimas púas.",
"wer_pino/h3": "Y llevo un gorro azul.",
"wer_pino/e2": "¿Lo sabes?",
"wer_pino/a1": "¡Soy Pino!",
"wer_pino/e3": "¡Pino, el pequeño erizo!",
"wer_lulu/frage": "¿Quién soy?",
"wer_lulu/e1": "¿Quién soy? ¡Escucha bien!",
"wer_lulu/h1": "Soy muy alta.",
"wer_lulu/h2": "Tengo un cuello muy largo.",
"wer_lulu/h3": "Y llevo una bufanda verde.",
"wer_lulu/e2": "¿Lo sabes?",
"wer_lulu/a1": "¡Soy Lulu!",
"wer_lulu/e3": "¡Lulu, la jirafa!",
"wer_noa/frage": "¿Quién soy?",
"wer_noa/e1": "¿Quién soy? ¡Escucha bien!",
"wer_noa/h1": "Soy una niña.",
"wer_noa/h2": "Tengo dos coletas.",
"wer_noa/h3": "Y llevo botas rojas.",
"wer_noa/e2": "¿Lo sabes?",
"wer_noa/a1": "¡Soy Noa!",
"wer_noa/e3": "Noa tiene cinco años.",
"zaehl_aepfel/frage": "¿Cuántas manzanas?",
"zaehl_aepfel/e1": "¿Cuántas manzanas hay en el árbol? ¡Cuenta conmigo!",
"zaehl_aepfel/e2": "¡Cinco manzanas!",
"zaehl_aepfel/f1": "¡Una para cada uno, y dos para Lulu!",
"zaehl_aepfel/c1": "Uno",
"zaehl_aepfel/c2": "Dos",
"zaehl_aepfel/c3": "Tres",
"zaehl_aepfel/c4": "Cuatro",
"zaehl_aepfel/c5": "Cinco",
"zaehl_blaetter/frage": "¿Cuántas hojas?",
"zaehl_blaetter/e1": "¿Cuántas hojas caen? ¡Cuenta conmigo!",
"zaehl_blaetter/e2": "¡Seis hojas!",
"zaehl_blaetter/f1": "¡Un montón para mí!",
"zaehl_blaetter/c1": "Uno",
"zaehl_blaetter/c2": "Dos",
"zaehl_blaetter/c3": "Tres",
"zaehl_blaetter/c4": "Cuatro",
"zaehl_blaetter/c5": "Cinco",
"zaehl_blaetter/c6": "Seis",
"zaehl_sterne/frage": "¿Cuántas estrellas?",
"zaehl_sterne/e1": "¿Cuántas estrellas tiene el farolillo de Noa? ¡Cuenta conmigo!",
"zaehl_sterne/e2": "¡Cinco estrellas!",
"zaehl_sterne/f1": "¡Mi farolillo brilla como el cielo!",
"zaehl_sterne/c1": "Uno",
"zaehl_sterne/c2": "Dos",
"zaehl_sterne/c3": "Tres",
"zaehl_sterne/c4": "Cuatro",
"zaehl_sterne/c5": "Cinco",
"farbe_garten/frage": "¿Qué color?",
"farbe_garten/q1": "¿De qué color es la manzana?",
"farbe_garten/a1": "¡Roja! La manzana es roja.",
"farbe_garten/q2": "¿Y la flor?",
"farbe_garten/a2": "¡Azul! La flor es azul.",
"farbe_garten/q3": "¿Y la hoja?",
"farbe_garten/a3": "¡Amarilla! La hoja es amarilla.",
"farbe_garten/f1": "Rojo, azul, amarillo. ¡Qué jardín tan colorido!",
"farbe_freunde/frage": "¿Qué color?",
"farbe_freunde/q1": "¿De qué color es el gorro de Pino?",
"farbe_freunde/a1": "¡Azul! El gorro de Pino es azul.",
"farbe_freunde/q2": "¿Y la bufanda de Lulu?",
"farbe_freunde/a2": "¡Verde! La bufanda de Lulu es verde.",
"farbe_freunde/q3": "¿Y las botas de Noa?",
"farbe_freunde/a3": "¡Rojas! Las botas de Noa son rojas.",
"farbe_freunde/f1": "Azul, verde, rojo. ¡Somos de muchos colores!",
"farbe_garten/w1": "rojo",
"farbe_garten/w2": "azul",
"farbe_garten/w3": "amarillo",
"farbe_freunde/w1": "azul",
"farbe_freunde/w2": "verde",
"farbe_freunde/w3": "rojo"
} }
} }

View file

@ -21,6 +21,153 @@
"giraffe/w1": "petit", "giraffe/w1": "petit",
"giraffe/w2": "moyen", "giraffe/w2": "moyen",
"giraffe/w3": "grand", "giraffe/w3": "grand",
"kanal": "Le petit monde de Pino" "kanal": "Le petit monde de Pino",
"schatten/frage": "Pourquoi l'ombre grandit ?",
"schatten/e1": "Pourquoi une ombre est parfois grande et parfois petite ? Qu'est-ce que tu crois ?",
"schatten/n1": "Je te montre avec ma lanterne !",
"schatten/e2": "La lumière éclaire Pino. Derrière lui, sur le mur, il y a son ombre.",
"schatten/e3": "Maintenant, Pino s'approche tout près de la lanterne.",
"schatten/p1": "Oh ! Je suis géant !",
"schatten/e4": "Près de la lumière, l'ombre devient grande. Loin de la lumière, elle devient petite.",
"schatten/e5": "Essaie ce soir avec une lampe de poche !",
"hase/frage": "Tu sais faire un lapin ?",
"hase/e1": "Tu peux faire un lapin avec ta main ?",
"hase/n1": "Regarde, on fait comme ça !",
"hase/e2": "Deux doigts vers le haut : ce sont les longues oreilles. Fais comme Noa !",
"hase/n2": "Et maintenant, un hérisson !",
"hase/e3": "Tous les doigts bien écartés : ce sont les piquants !",
"hase/p1": "Mais c'est moi !",
"hase/e4": "Avec de la lumière et ta main, tu peux faire plein d'animaux.",
"wind/frage": "Comment voit-on le vent ?",
"wind/e1": "On ne voit pas le vent. Mais comment sais-tu qu'il y a du vent ?",
"wind/e2": "Les feuilles volent dans l'air.",
"wind/e3": "L'écharpe de Lulu s'envole.",
"wind/e4": "Et le cerf-volant monte haut dans le ciel.",
"wind/l1": "Houlà, mon écharpe va s'envoler !",
"wind/e5": "Souffle très fort. Maintenant, c'est toi qui fais du vent !",
"wind/p1": "Quel vent fort !",
"schleifen/frage": "Quelles couleurs vois-tu ?",
"schleifen/e1": "Le cerf-volant de Noa a trois nœuds. De quelles couleurs sont-ils ?",
"schleifen/e2": "Le premier nœud est jaune.",
"schleifen/e3": "Le deuxième est vert.",
"schleifen/e4": "Et le troisième est bleu.",
"schleifen/e5": "Compte avec moi : un, deux, trois !",
"schleifen/n1": "Jaune, vert, bleu. Mon cerf-volant est tout coloré !",
"schleifen/w1": "jaune",
"schleifen/w2": "vert",
"schleifen/w3": "bleu",
"winter/frage": "Que fait le hérisson en hiver ?",
"winter/e1": "Que fait un hérisson en hiver ? Qu'est-ce que tu crois ?",
"winter/e2": "En automne, le hérisson mange beaucoup. Comme ça, il a un gros ventre.",
"winter/p1": "Je suis déjà bien rempli !",
"winter/e3": "Ensuite, il se fait un nid bien chaud avec des feuilles.",
"winter/e4": "Il y dort tout l'hiver, jusqu'au printemps. Ça s'appelle hiberner.",
"winter/p2": "Bonne nuit, à bientôt au printemps.",
"winter/e5": "Chut ! Si tu vois un hérisson dans les feuilles, laisse-le dormir.",
"blaetter/frage": "Pourquoi les feuilles tombent ?",
"blaetter/e1": "Pourquoi, en automne, les feuilles tombent des arbres ?",
"blaetter/e2": "En hiver, il fait froid et l'arbre reçoit peu d'eau.",
"blaetter/e3": "Alors il laisse tomber ses feuilles et fait une longue pause.",
"blaetter/l1": "L'arbre dort, comme Pino !",
"blaetter/e4": "Au printemps, de nouvelles feuilles vertes poussent.",
"blaetter/n1": "Alors l'arbre se réveille !",
"hals/frage": "Combien d'os dans le cou ?",
"hals/e1": "Lulu a un long cou. Combien d'os y a-t-il dedans ? Qu'est-ce que tu crois ?",
"hals/e2": "Compte avec moi !",
"hals/c1": "Un",
"hals/c2": "Deux",
"hals/c3": "Trois",
"hals/c4": "Quatre",
"hals/c5": "Cinq",
"hals/c6": "Six",
"hals/c7": "Sept !",
"hals/e3": "Sept os. Autant que dans ton cou !",
"hals/l1": "Les miens sont juste beaucoup, beaucoup plus longs !",
"herbstfarben/frage": "De quelle couleur est la feuille ?",
"herbstfarben/e1": "En automne, les feuilles changent de couleur. Quelles couleurs vois-tu ?",
"herbstfarben/e2": "Rouge !",
"herbstfarben/e3": "Jaune !",
"herbstfarben/e4": "Orange !",
"herbstfarben/e5": "Et marron !",
"herbstfarben/e6": "Quatre couleurs ! Compte : un, deux, trois, quatre !",
"herbstfarben/n1": "Je ramasse les plus belles feuilles !",
"herbstfarben/w1": "rouge",
"herbstfarben/w2": "jaune",
"herbstfarben/w3": "orange",
"herbstfarben/w4": "marron",
"wer_pino/frage": "Qui suis-je ?",
"wer_pino/e1": "Qui suis-je ? Écoute bien !",
"wer_pino/h1": "Je suis petit.",
"wer_pino/h2": "J'ai plein de piquants.",
"wer_pino/h3": "Et je porte un bonnet bleu.",
"wer_pino/e2": "Tu as trouvé ?",
"wer_pino/a1": "Je suis Pino !",
"wer_pino/e3": "Pino, le petit hérisson !",
"wer_lulu/frage": "Qui suis-je ?",
"wer_lulu/e1": "Qui suis-je ? Écoute bien !",
"wer_lulu/h1": "Je suis très grande.",
"wer_lulu/h2": "J'ai un très long cou.",
"wer_lulu/h3": "Et je porte une écharpe verte.",
"wer_lulu/e2": "Tu as trouvé ?",
"wer_lulu/a1": "Je suis Lulu !",
"wer_lulu/e3": "Lulu, la girafe !",
"wer_noa/frage": "Qui suis-je ?",
"wer_noa/e1": "Qui suis-je ? Écoute bien !",
"wer_noa/h1": "Je suis une fille.",
"wer_noa/h2": "J'ai deux couettes.",
"wer_noa/h3": "Et je porte des bottes rouges.",
"wer_noa/e2": "Tu as trouvé ?",
"wer_noa/a1": "Je suis Noa !",
"wer_noa/e3": "Noa a cinq ans.",
"zaehl_aepfel/frage": "Combien de pommes ?",
"zaehl_aepfel/e1": "Combien de pommes dans l'arbre ? Compte avec moi !",
"zaehl_aepfel/e2": "Cinq pommes !",
"zaehl_aepfel/f1": "Une pour chacun, et deux pour Lulu !",
"zaehl_aepfel/c1": "Un",
"zaehl_aepfel/c2": "Deux",
"zaehl_aepfel/c3": "Trois",
"zaehl_aepfel/c4": "Quatre",
"zaehl_aepfel/c5": "Cinq",
"zaehl_blaetter/frage": "Combien de feuilles ?",
"zaehl_blaetter/e1": "Combien de feuilles tombent ? Compte avec moi !",
"zaehl_blaetter/e2": "Six feuilles !",
"zaehl_blaetter/f1": "Un tas rien que pour moi !",
"zaehl_blaetter/c1": "Un",
"zaehl_blaetter/c2": "Deux",
"zaehl_blaetter/c3": "Trois",
"zaehl_blaetter/c4": "Quatre",
"zaehl_blaetter/c5": "Cinq",
"zaehl_blaetter/c6": "Six",
"zaehl_sterne/frage": "Combien d'étoiles ?",
"zaehl_sterne/e1": "Combien d'étoiles sur la lanterne de Noa ? Compte avec moi !",
"zaehl_sterne/e2": "Cinq étoiles !",
"zaehl_sterne/f1": "Ma lanterne brille comme le ciel !",
"zaehl_sterne/c1": "Un",
"zaehl_sterne/c2": "Deux",
"zaehl_sterne/c3": "Trois",
"zaehl_sterne/c4": "Quatre",
"zaehl_sterne/c5": "Cinq",
"farbe_garten/frage": "Quelle couleur ?",
"farbe_garten/q1": "De quelle couleur est la pomme ?",
"farbe_garten/a1": "Rouge ! La pomme est rouge.",
"farbe_garten/q2": "Et la fleur ?",
"farbe_garten/a2": "Bleue ! La fleur est bleue.",
"farbe_garten/q3": "Et la feuille ?",
"farbe_garten/a3": "Jaune ! La feuille est jaune.",
"farbe_garten/f1": "Rouge, bleu, jaune. Le jardin est tout coloré !",
"farbe_freunde/frage": "Quelle couleur ?",
"farbe_freunde/q1": "De quelle couleur est le bonnet de Pino ?",
"farbe_freunde/a1": "Bleu ! Le bonnet de Pino est bleu.",
"farbe_freunde/q2": "Et l'écharpe de Lulu ?",
"farbe_freunde/a2": "Verte ! L'écharpe de Lulu est verte.",
"farbe_freunde/q3": "Et les bottes de Noa ?",
"farbe_freunde/a3": "Rouges ! Les bottes de Noa sont rouges.",
"farbe_freunde/f1": "Bleu, vert, rouge. On est tout colorés !",
"farbe_garten/w1": "rouge",
"farbe_garten/w2": "bleu",
"farbe_garten/w3": "jaune",
"farbe_freunde/w1": "bleu",
"farbe_freunde/w2": "vert",
"farbe_freunde/w3": "rouge"
} }
} }

View file

@ -0,0 +1,225 @@
import React from 'react';
import {interpolate, useCurrentFrame} from 'remotion';
import {Figur} from '../baukasten/figur';
import {Blende, atmen, huepfer, kamFahrt} from '../baukasten/helfer';
import {Blaetterwind, Blume, Funkeln} from '../baukasten/natur';
import {Ort} from '../baukasten/orte';
import {ApfelBild, BlattBild, SternBild} from './bilder';
import {BildKarte, Buehne, FrageKarte, HochUntertitel, Hochformat, Wort} from './hochformat';
import {TEXTE, plane} from './plan';
// Vorlagen für die schnellen Shorts (je ca. 20–30 s): „Wer bin ich?“, „Zähl mit!“, „Welche Farbe?“.
// Gleicher Rahmen wie die Lern-Shorts: Frage-Karte oben, Untertitel über den Shorts-Knöpfen.
const WIESE = 'linear-gradient(#e9e3d2 0 50%, #93ad5c 50% 100%)';
const t = (k: string) => TEXTE.zeilen[k];
// ---------------------------------------------------------------- Wer bin ich?
// Die Figur steht erst als dunkler Umriss da, drei Hinweise (Punkte unter der Frage füllen sich),
// Mitmach-Pause, dann wird sie hell und sagt ihren Namen.
type Wer = 'pino' | 'noa' | 'lulu';
const WER: Record<Wer, {pose: string; hoehe: number; sprecher: 'PINO' | 'NOA' | 'LULU'}> = {
pino: {pose: 'pino_A3_lachen', hoehe: 300, sprecher: 'PINO'},
noa: {pose: 'noa_A3_lachen', hoehe: 520, sprecher: 'NOA'},
lulu: {pose: 'lulu_A3_lachen', hoehe: 600, sprecher: 'LULU'},
};
export const werPlan = (k: string, wer: Wer) =>
plane(k, [
{id: 'bild0', dauer: 0.8},
{id: 'e1', wer: 'ERZ'},
{id: 'h1', wer: wer.toUpperCase() as 'PINO', pause: 0.5},
{id: 'h2', wer: wer.toUpperCase() as 'PINO', pause: 0.5},
{id: 'h3', wer: wer.toUpperCase() as 'PINO'},
{id: 'e2', wer: 'ERZ', pause: 3},
{id: 'a1', wer: wer.toUpperCase() as 'PINO'},
{id: 'e3', wer: 'ERZ'},
{id: 'bild1', dauer: 1.0},
]);
const Punkte: React.FC<{an: number[]}> = ({an}) => {
const f = useCurrentFrame();
return (
<div style={{position: 'absolute', top: 390, left: 0, right: 0, display: 'flex', justifyContent: 'center', gap: 34}}>
{an.map((ab, i) => {
const v = interpolate(f, [ab, ab + 8], [0, 1], {extrapolateLeft: 'clamp', extrapolateRight: 'clamp'});
return <div key={i} style={{width: 46, height: 46, borderRadius: '50%', border: '6px solid #3f5a8a', background: `rgba(63,90,138,${v})`, transform: `scale(${1 + 0.25 * v * (1 - v) * 4})`}} />;
})}
</div>
);
};
export const WerBinIch: React.FC<{k: string; wer: Wer; plan: ReturnType<typeof werPlan>}> = ({k, wer, plan}) => {
const f = useCurrentFrame();
const {z, dauer} = plan;
const w = WER[wer];
const hell = interpolate(f, [z.a1.start - 8, z.a1.start + 6], [0, 1], {extrapolateLeft: 'clamp', extrapolateRight: 'clamp'});
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={960} z={1.6}>
<Ort name="garten_herbst" />
<Blaetterwind anzahl={6} seed={k} tempo={0.5} yBereich={[300, 800]} />
<Figur
pose={w.pose}
x={960}
y={815 + huepfer(f, z.a1.start, 18, 10)}
hoehe={w.hoehe}
stauchY={atmen(f, 2)}
schatten={hell > 0.5}
filter={hell < 1 ? `brightness(${hell}) opacity(${0.82 + 0.18 * hell})` : undefined}
/>
<Funkeln x={960} y={815 - w.hoehe * 0.6} start={z.a1.start} s={2.2} />
</Buehne>
<FrageKarte text={t(`${k}/frage`)} />
<Punkte an={[z.h1.start, z.h2.start, z.h3.start]} />
<HochUntertitel zeilen={plan.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};
// ---------------------------------------------------------------- Zähl mit!
// Dinge ploppen nacheinander auf (mit Zahl), dann sagt eine Figur unten etwas dazu.
type Ding = 'apfel' | 'blatt' | 'stern';
const ZAHLEN_PLATZ = [
[230, 560],
[540, 560],
[850, 560],
[230, 820],
[540, 820],
[850, 820],
];
const BLATT_FARBEN = ['#d4522a', '#e9a83a', '#c2412a', '#f0c048', '#b8662a', '#e07a2e'];
export const zaehlPlan = (k: string, n: number, sprecher: 'PINO' | 'NOA' | 'LULU') =>
plane(k, [
{id: 'bild0', dauer: 0.8},
{id: 'e1', wer: 'ERZ', pause: 0.6},
...Array.from({length: n}, (_, i) => ({id: `c${i + 1}`, wer: 'ERZ' as const, pause: 0.45})),
{id: 'e2', wer: 'ERZ'},
{id: 'f1', wer: sprecher},
{id: 'bild1', dauer: 1.0},
]);
export const ZaehlMit: React.FC<{k: string; n: number; ding: Ding; wer: Wer; plan: ReturnType<typeof zaehlPlan>}> = ({k, n, ding, wer, plan}) => {
const f = useCurrentFrame();
const {z, dauer} = plan;
const w = WER[wer];
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={960} z={1.6}>
<Ort name="garten_herbst" />
<Blaetterwind anzahl={6} seed={k} tempo={0.5} yBereich={[300, 800]} />
<Figur pose={[[0, wer === 'pino' ? 'pino_B_blick-nach-oben' : `${wer}_A4_staunen`], [z.e2.start, w.pose]]} x={960} y={850 + huepfer(f, z.f1.start, 18, 10)} hoehe={w.hoehe * 0.75} stauchY={atmen(f, 2)} />
</Buehne>
<FrageKarte text={t(`${k}/frage`)} />
{Array.from({length: n}, (_, i) => {
const [x, y] = ZAHLEN_PLATZ[i];
const ab = z[`c${i + 1}`].start;
return (
<React.Fragment key={i}>
<BildKarte x={x} y={y} ab={ab} r={120}>
{ding === 'apfel' ? <ApfelBild /> : ding === 'stern' ? <SternBild /> : <BlattBild farbe={BLATT_FARBEN[i]} />}
</BildKarte>
<Wort text={String(i + 1)} x={x + 95} y={y + 85} ab={ab + 4} groesse={74} farbe="#3f5a8a" puls={[z.e2.start + i * 4]} />
</React.Fragment>
);
})}
</Hochformat>
);
};
// ---------------------------------------------------------------- Welche Farbe?
// Drei Fragen nacheinander. „garten“: Apfel, Blume, Blatt als Bildkarte; „freunde“: die Kamera fährt
// nah an Pinos Mütze, Lulus Schal und Noas Stiefel. Nach jeder Pause erscheint das Farbwort.
export const farbePlan = (k: string, sprecher: 'PINO' | 'NOA' | 'LULU') =>
plane(k, [
{id: 'bild0', dauer: 0.8},
{id: 'q1', wer: 'ERZ', pause: 2.5},
{id: 'a1', wer: 'ERZ', pause: 0.4},
{id: 'q2', wer: 'ERZ', pause: 2.5},
{id: 'a2', wer: 'ERZ', pause: 0.4},
{id: 'q3', wer: 'ERZ', pause: 2.5},
{id: 'a3', wer: 'ERZ', pause: 0.4},
{id: 'f1', wer: sprecher},
{id: 'bild1', dauer: 1.0},
]);
type FarbWort = {text: string; farbe: string};
export const WelcheFarbeGarten: React.FC<{k: string; worte: FarbWort[]; plan: ReturnType<typeof farbePlan>}> = ({k, worte, plan}) => {
const f = useCurrentFrame();
const {z, dauer} = plan;
const bilder = [<ApfelBild key="a" />, <BlumeBild key="b" />, <BlattBild key="c" farbe="#f0c048" />];
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={960} z={1.6}>
<Ort name="garten_herbst" />
<Blaetterwind anzahl={6} seed={k} tempo={0.5} yBereich={[300, 800]} />
<Figur pose={[[0, 'pino_A4_staunen'], [z.f1.start - 4, 'pino_A3_lachen']]} x={960} y={850 + huepfer(f, z.f1.start, 18, 10)} hoehe={240} stauchY={atmen(f, 1, 0.015)} />
</Buehne>
<FrageKarte text={t(`${k}/frage`)} />
{[1, 2, 3].map((i) => (
<React.Fragment key={i}>
<BildKarte x={540} y={720} ab={z[`q${i}`].start} aus={i < 3 ? z[`q${i + 1}`].start - 6 : z.f1.start} r={200}>
<div style={{transform: 'scale(1.5)'}}>{bilder[i - 1]}</div>
</BildKarte>
{f < (i < 3 ? z[`q${i + 1}`].start - 6 : z.f1.start) && (
<Wort text={worte[i - 1].text} x={540} y={980} ab={z[`a${i}`].start} groesse={110} farbe={worte[i - 1].farbe} />
)}
</React.Fragment>
))}
{/* zum Schluss alle drei Wörter nebeneinander */}
{worte.map((w, i) => (
<Wort key={w.text} text={w.text} x={200 + i * 340} y={760} ab={z.f1.start + i * 6} groesse={84} farbe={w.farbe} />
))}
<HochUntertitel zeilen={plan.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};
// Freunde nebeneinander wie im Größen-Short; die Kamera zeigt nacheinander Mütze, Schal und Stiefel
const FREUNDE = {pino: 700, noa: 870, lulu: 1110, y: 815};
export const WelcheFarbeFreunde: React.FC<{k: string; worte: FarbWort[]; plan: ReturnType<typeof farbePlan>}> = ({k, worte, plan}) => {
const f = useCurrentFrame();
const {z, dauer} = plan;
const kam = kamFahrt(f, [
[0, 960, 540, 1.5],
[z.q1.start, 960, 540, 1.5],
[z.q1.start + 24, FREUNDE.pino + 10, FREUNDE.y - 110, 3.4], // Pinos Mütze
[z.a1.frei, FREUNDE.pino + 10, FREUNDE.y - 110, 3.4],
[z.q2.start + 24, FREUNDE.lulu - 40, 420, 2.4], // Lulus Schal
[z.a2.frei, FREUNDE.lulu - 40, 420, 2.4],
[z.q3.start + 24, FREUNDE.noa, FREUNDE.y - 30, 3.2], // Noas Stiefel
[z.a3.frei, FREUNDE.noa, FREUNDE.y - 30, 3.2],
[z.f1.start + 10, 960, 540, 1.5],
[dauer, 960, 540, 1.5],
]);
return (
<Hochformat hintergrund={WIESE}>
<Buehne x={kam.x} y={kam.y} z={kam.zoom}>
<Ort name="garten_herbst" />
<Blaetterwind anzahl={6} seed={k} tempo={0.5} yBereich={[300, 800]} />
<Figur pose="lulu_A3_lachen" x={FREUNDE.lulu} y={FREUNDE.y} stauchY={atmen(f, 3)} />
<Figur pose={[[0, 'noa_A5_blick-links'], [z.f1.start, 'noa_A3_lachen']]} x={FREUNDE.noa} y={FREUNDE.y + huepfer(f, z.f1.start, 18, 10)} stauchY={atmen(f, 2)} />
<Figur pose={[[0, 'pino_A6_blick-rechts'], [z.a1.start, 'pino_A3_lachen']]} x={FREUNDE.pino} y={FREUNDE.y} stauchY={atmen(f, 1, 0.015)} />
</Buehne>
<FrageKarte text={t(`${k}/frage`)} />
{[1, 2, 3].map((i) => (
<Wort key={i} text={worte[i - 1].text} x={540} y={520} ab={z[`a${i}`].start} groesse={120} farbe={worte[i - 1].farbe} sichtbarBis={i < 3 ? z[`q${i + 1}`].start : z.f1.start} />
))}
<HochUntertitel zeilen={plan.liste} />
<Blende dauer={dauer} rein={8} raus={14} />
</Hochformat>
);
};
const BlumeBild: React.FC = () => (
<div style={{position: 'relative', width: 220, height: 220}}>
<Blume x={110} y={200} s={1.9} />
</div>
);