import {SPRACHE, type FolgenTexte} from '../baukasten/sprache'; import {plane as basis, type PlanOptionen, type Zeile} from '../baukasten/zeit'; import DE from './texte/de.json'; import ES from './texte/es.json'; import FR from './texte/fr.json'; import STIMMEN_DE from './stimmen/de.json'; import STIMMEN_ES from './stimmen/es.json'; import STIMMEN_FR from './stimmen/fr.json'; // Sprechtexte stehen nur in texte/.json (Schlüssel „szene/zeile“), // die Szenen enthalten nur Ablauf und Bewegung. Aufnahmen je Sprache in // stimmen/.json bzw. public/stimmen/folge01// (erzeugt von // werkzeuge/stimmen.mts). export const TEXTE: FolgenTexte = {de: DE, es: ES, fr: FR}[SPRACHE]; const AUFNAHMEN = {de: STIMMEN_DE, es: STIMMEN_ES, fr: STIMMEN_FR}[SPRACHE]; export const TITEL = TEXTE.titel; // Zeitplan einer Szene dieser Folge, mit den Texten der gewählten Sprache export const plane = (szene: string, zeilen: Zeile[], opt: PlanOptionen = {}) => basis( zeilen.map((z) => { if (z.text !== undefined || !z.wer) return z; const text = TEXTE.zeilen[`${szene}/${z.id}`]; return {...z, text: text ?? `[fehlt: ${szene}/${z.id}]`}; }), {...opt, szene, aufnahmen: AUFNAHMEN, ordner: `stimmen/folge01/${SPRACHE}`}, );