{
  "common": {
    "you": "Du",
    "confirm": "Bestätigen",
    "cancel": "Abbrechen",
    "loading": "Wird geladen...",
    "errorPrefix": "Fehler: ",
    "loadingClassroom": "Klassenzimmer wird geladen ...",
    "retry": "Erneut versuchen",
    "close": "Schließen"
  },
  "home": {
    "slogan": "Generatives Lernen im interaktiven Lernraum mit mehreren KI-Agenten",
    "greetingWithName": "Hallo, {{name}}"
  },
  "toolbar": {
    "pdfParser": "Parser",
    "pdfUpload": "PDF hochladen",
    "removePdf": "Datei entfernen",
    "documentExtractor": "Extraktor",
    "courseMaterialUpload": "Kursmaterial hochladen",
    "courseMaterialsSelected": "Ausgewählte Materialien: {{n}}",
    "courseMaterialMergeOrder": "Die Materialien werden in der unten gezeigten Reihenfolge zusammengeführt.",
    "removeCourseMaterial": "Datei entfernen",
    "webSearchOn": "Aktiviert",
    "webSearchOff": "Zum Aktivieren klicken",
    "webSearchDesc": "Vor der Generierung das Web nach aktuellen Informationen durchsuchen",
    "webSearchProvider": "Suchmaschine",
    "webSearchNoProvider": "Such-API-Schlüssel in den Einstellungen konfigurieren",
    "selectProvider": "Anbieter auswählen",
    "configureProvider": "Modell einrichten",
    "configureProviderHint": "Richte mindestens einen Modellanbieter ein, um Kurse zu generieren",
    "enterClassroom": "Kurs erstellen",
    "advancedSettings": "Erweiterte Einstellungen",
    "thinking": "Nachdenken",
    "thinkingBudget": "Budget",
    "default": "Standard",
    "on": "Ein",
    "off": "Aus",
    "auto": "Automatisch",
    "dynamic": "Dynamisch",
    "ttsTitle": "Sprachausgabe",
    "ttsHint": "Wähle eine Stimme für die KI-Lehrkraft",
    "ttsPreview": "Vorschau",
    "ttsPreviewing": "Wird abgespielt...",
    "interactiveModeHint": "Aktiviere den interaktiven Modus, damit bevorzugt interaktive Inhalte erzeugt werden",
    "interactiveModeLabel": "Interaktiver Modus"
  },
  "export": {
    "pptx": "PPTX exportieren",
    "resourcePack": "Ressourcenpaket exportieren",
    "resourcePackDesc": "PPTX + interaktive Seiten",
    "exporting": "Wird exportiert...",
    "exportSuccess": "Export erfolgreich",
    "exportFailed": "Export fehlgeschlagen",
    "classroomZip": "Kurs-ZIP exportieren",
    "classroomZipDesc": "Kursstruktur + Mediendateien",
    "scriptMd": "Skript herunterladen (.md)",
    "scriptMdDesc": "Erzähltext als Markdown",
    "script": "Skript herunterladen",
    "scriptDocx": "Skript herunterladen (.docx)",
    "scriptDocxDesc": "Echtes Word-Dokument im DOCX-Format",
    "slideFallback": "Folie {{order}}",
    "textOnly": "Skript exportieren",
    "mediaPending": "Warten auf Fertigstellung der Medien",
    "inlinePartial": "Externe Ressourcen konnten nicht vollständig eingebunden werden ({{count}}); der Kurs wird offline möglicherweise nicht korrekt angezeigt.",
    "video": "Video exportieren",
    "videoDesc": "Eigenständiges Hyperframes-Projekt (als MP4 rendern)",
    "videoNoScenes": "Keine Szenen zum Exportieren verfügbar.",
    "videoCompiling": "Video-Zeitleiste wird zusammengestellt...",
    "videoRendering": "Folien werden gerendert und Ressourcen gesammelt...",
    "videoPackaging": "Videoprojekt wird gepackt...",
    "videoSuccess": "Videoprojekt exportiert",
    "videoFailed": "Videoexport fehlgeschlagen",
    "videoWarnings": "Exportbericht — fehlende Ressourcen: {{assets}}, Probleme: {{diagnostics}}.",
    "videoMp4Success": "Video gerendert",
    "videoServiceUnavailable": "Renderdienst nicht konfiguriert — das Projekt-ZIP wurde zum lokalen Rendern heruntergeladen.",
    "videoResolution": "Auflösung",
    "videoFps": "Bildrate",
    "videoQuality": "Qualität",
    "videoQuality_draft": "Entwurf",
    "videoQuality_standard": "Standard",
    "videoQuality_high": "Hoch",
    "videoProgress": "{{percent}} %",
    "videoProgressWithEta": "{{percent}} % · noch etwa {{remaining}}",
    "videoEtaMinSec": "{{min}} Min. {{sec}} Sek.",
    "videoEtaSec": "{{sec}} Sek.",
    "videoRenderMp4": "MP4 rendern",
    "videoDownloadZip": "Projekt-ZIP herunterladen",
    "videoServiceHint": "Zum Rendern als MP4 ist der Renderdienst erforderlich. Lade das ZIP zum lokalen Rendern herunter.",
    "videoBurnSubtitles": "Untertitel einbrennen",
    "videoBurnSubtitlesDesc": "Aus: Exportiere ein Video ohne Untertitel und füge die Untertiteldatei im Editor hinzu.",
    "videoQuizCtaPrompt": "Möchtest du ein interaktives Quiz ausprobieren?",
    "videoPblCtaPrompt": "Möchtest du projektbasiertes Lernen entdecken?",
    "videoCtaVisit": "Besuche",
    "videoDownloadSubtitles": "Untertitel herunterladen (.srt)",
    "subtitlesCompiling": "Untertitel werden zusammengestellt...",
    "subtitlesSuccess": "Untertitel heruntergeladen",
    "subtitlesEmpty": "Keine Erzählspur zum Erstellen von Untertiteln vorhanden",
    "subtitlesFailed": "Untertitel konnten nicht heruntergeladen werden",
    "noSlides": "Keine Folien zum Exportieren",
    "noSlidesSkipped": "Dieser Kurs enthält keine Folien — PPTX wurde übersprungen",
    "nothingToExport": "Nichts zu exportieren"
  },
  "import": {
    "classroom": "Kurs importieren",
    "pptx": "PPTX importieren",
    "parsing": "ZIP wird verarbeitet...",
    "parsingPptx": "PPTX wird verarbeitet...",
    "validating": "Daten werden überprüft...",
    "writingMedia": "Mediendateien werden gespeichert...",
    "writingCourse": "Kursdaten werden gespeichert...",
    "success": "Kurs erfolgreich importiert",
    "pptxSuccess": "PPTX erfolgreich verarbeitet (Folien: {{count}}; Ausgabe in der Konsole protokolliert)",
    "error": {
      "invalidZip": "Ungültige Datei. Wähle eine gültige .maic.zip-Datei aus.",
      "invalidPptx": "PPTX konnte nicht verarbeitet werden. Prüfe, ob die Datei gültig ist.",
      "parserUnavailable": "Der PPTX-Import ist nicht verfügbar: Das Parser-Bundle wurde nicht bereitgestellt. Führe Installation/Synchronisierung erneut aus.",
      "invalidManifest": "Ungültige Kursdatei: manifest.json fehlt oder ist beschädigt.",
      "missingData": "Ungültige Kursdatei: Erforderliche Kursdaten fehlen.",
      "storageFull": "Import fehlgeschlagen: Der Browserspeicher ist voll. Lösche alte Kurse."
    }
  },
  "chat": {
    "lecture": "Vortrag",
    "noConversations": "Keine Chats",
    "startConversation": "Gib unten eine Nachricht ein, um den Chat zu beginnen",
    "noMessages": "Noch keine Nachrichten",
    "ended": "beendet",
    "unknown": "Unbekannt",
    "stopDiscussion": "Diskussion beenden",
    "endQA": "Fragerunde beenden",
    "softClosing": "Diskussion fortsetzen",
    "error": {
      "emptyAgentResponses": "Die Agenten haben leere Antworten zurückgegeben; die Diskussion wurde beendet. Versuche es erneut oder prüfe deine Modelleinstellungen.",
      "streamInterrupted": "Der Stream wurde unerwartet beendet; die Diskussion konnte nicht abgeschlossen werden. Versuche es erneut."
    },
    "elementReference": {
      "button": "Folie referenzieren",
      "unavailable": "Nur die aktuelle PPT-Folie kann referenziert werden",
      "instruction": "Folienelement anklicken · Esc zum Beenden",
      "fallback": "Weitere Folienelemente ({{count}})",
      "clear": "Folienreferenz entfernen",
      "summary": {
        "noText": "Kein Text",
        "emptyContent": "Kein Inhalt",
        "code": "Code",
        "line": "Linie",
        "imageMetadata": "Bild (nur Metadaten)",
        "videoMetadata": "Video (nur Metadaten)",
        "audioMetadata": "Audio (nur Metadaten)"
      }
    },
    "tabs": {
      "lecture": "Notizen",
      "chat": "Chat"
    },
    "lectureNotes": {
      "empty": "Nach der Wiedergabe des Vortrags erscheinen hier Notizen",
      "emptyHint": "Starte den Vortrag mit der Wiedergabetaste",
      "pageLabel": "Seite {{n}}",
      "currentPage": "Aktuell",
      "jumpToLine": "Zu dieser Zeile springen",
      "jumpUnavailable": "Für diese Zeile ist kein Sprung verfügbar"
    },
    "badge": {
      "qa": "Q&A",
      "discussion": "Disk.",
      "lecture": "Vortrag"
    }
  },
  "actions": {
    "names": {
      "spotlight": "Spotlight",
      "laser": "Laser",
      "wb_open": "Whiteboard öffnen",
      "wb_draw_text": "Whiteboard-Text",
      "wb_draw_shape": "Whiteboard-Form",
      "wb_draw_chart": "Whiteboard-Diagramm",
      "wb_draw_latex": "Whiteboard-Formel",
      "wb_draw_table": "Whiteboard-Tabelle",
      "wb_draw_line": "Whiteboard-Linie",
      "wb_clear": "Whiteboard leeren",
      "wb_delete": "Element löschen",
      "wb_close": "Whiteboard schließen",
      "discussion": "Diskussion"
    },
    "status": {
      "inputStreaming": "Wartet",
      "inputAvailable": "Wird ausgeführt",
      "outputAvailable": "Abgeschlossen",
      "outputError": "Fehler",
      "outputDenied": "Abgelehnt",
      "running": "Wird ausgeführt",
      "result": "Abgeschlossen",
      "error": "Fehler"
    }
  },
  "agentBar": {
    "readyToLearn": "Bereit, gemeinsam zu lernen?",
    "expandedTitle": "Rollen im Kurs konfigurieren",
    "configTooltip": "Klicke, um die Rollen im Kurs zu konfigurieren",
    "voiceLabel": "Stimme",
    "voiceLoading": "Wird geladen...",
    "voiceAutoAssign": "Stimmen werden automatisch zugewiesen",
    "searchVoice": "Stimmen durchsuchen",
    "noMatchingVoices": "Keine passenden Stimmen",
    "noVoice": "Keine Stimme"
  },
  "proactiveCard": {
    "discussion": "Diskussion",
    "join": "Mitmachen",
    "skip": "Überspringen",
    "pause": "Pausieren",
    "resume": "Fortsetzen"
  },
  "voice": {
    "startListening": "Spracheingabe",
    "stopListening": "Aufnahme beenden"
  },
  "stage": {
    "currentScene": "Aktuelle Szene",
    "generating": "Wird generiert...",
    "paused": "Pausiert",
    "generationFailed": "Generierung fehlgeschlagen",
    "confirmSwitchTitle": "Szene wechseln",
    "confirmSwitchMessage": "Ein Thema läuft gerade. Beim Wechseln der Szene wird das aktuelle Thema beendet. Möchtest du wirklich wechseln?",
    "generatingNextPage": "Die Szene wird generiert. Bitte warten...",
    "courseComplete": "Kurs abgeschlossen",
    "fullscreen": "Vollbild",
    "exitFullscreen": "Vollbild beenden",
    "editCourse": "Kurs bearbeiten",
    "doneEditing": "Bearbeitung abschließen",
    "proModeDisabledHint": "Diese Seite kann nicht bearbeitet werden — öffne eine Kursfolie, um sie im Pro-Modus zu bearbeiten."
  },
  "edit": {
    "proMode": "Pro",
    "undo": "Rückgängig",
    "redo": "Wiederholen",
    "delete": "Löschen",
    "title": "Bearbeiten · {{type}}",
    "unsupportedScene": "{{type}} kann noch nicht bearbeitet werden",
    "readOnlyBadge": "{{type}} · nur anzeigen",
    "sceneType": {
      "slide": "Folie",
      "quiz": "Quiz",
      "interactive": "Interaktiv",
      "pbl": "Projektbasiertes Lernen"
    },
    "text": {
      "toolbar": "Textwerkzeuge",
      "label": "Text",
      "font": "Schriftart",
      "fontDefault": "Standard",
      "sizeUp": "Schrift vergrößern",
      "sizeDown": "Schrift verkleinern",
      "fontSize": "Schriftgröße",
      "bold": "Fett",
      "italic": "Kursiv",
      "underline": "Unterstrichen",
      "color": "Textfarbe",
      "alignLeft": "Linksbündig",
      "alignCenter": "Zentriert",
      "alignRight": "Rechtsbündig",
      "bullet": "Aufzählung",
      "colorHex": "Farbwert"
    },
    "line": {
      "toolbar": "Linienwerkzeuge",
      "kind": "Linientyp",
      "color": "Linienfarbe",
      "width": "Linienstärke",
      "style": "Linienstil",
      "start": "Startmarkierung",
      "end": "Endmarkierung",
      "straight": "Gerade",
      "broken": "Geknickte Linie",
      "broken2": "Doppelt geknickte Linie",
      "curve": "Kurve",
      "cubic": "Kubische Kurve",
      "solid": "Durchgezogen",
      "dashed": "Gestrichelt",
      "dotted": "Gepunktet",
      "none": "Keine",
      "arrow": "Pfeil",
      "dot": "Punkt"
    },
    "insert": {
      "toolbar": "Einfügewerkzeuge",
      "textBox": "Textfeld",
      "line": "Linie",
      "linePresets": {
        "straight": "Gerade Linie",
        "dashed": "Gestrichelte Linie",
        "arrow": "Pfeillinie",
        "dashedArrow": "Gestrichelte Pfeillinie",
        "dottedEnd": "Linie mit Punkt am Ende",
        "broken": "Geknickte Linie",
        "doubleBroken": "Doppelt geknickte Linie",
        "curve": "Kurve",
        "cubic": "Kubische Kurve"
      },
      "table": "Tabelle",
      "formula": "Formel",
      "chart": "Diagramm",
      "chartBar": "Balkendiagramm",
      "chartLine": "Liniendiagramm",
      "chartPie": "Kreisdiagramm",
      "tableDimensions": "Tabelle mit {{rows}} × {{columns}}",
      "dragToolbar": "Einfügewerkzeuge verschieben",
      "dragToolbarKeyboard": "Einfügewerkzeuge verschieben: Eingabe- oder Leertaste drücken, dann die Pfeiltasten verwenden",
      "collapseToolbar": "Einfügewerkzeuge einklappen",
      "expandToolbar": "Einfügewerkzeuge ausklappen",
      "image": "Bild",
      "imageDrop": "Bild hier ablegen oder zur Dateiauswahl klicken",
      "imageOr": "oder eine Bild-URL einfügen",
      "imageUrlPlaceholder": "https://…",
      "imageInsert": "Einfügen",
      "video": "Video",
      "videoDrop": "Video hier ablegen oder zur Dateiauswahl klicken",
      "videoOr": "oder eine Video-URL einfügen",
      "videoUrlPlaceholder": "https://…",
      "videoInsert": "Einfügen",
      "audio": "Audio",
      "audioDrop": "Audiodatei hier ablegen oder zur Dateiauswahl klicken",
      "audioOr": "oder eine Audio-URL einfügen",
      "audioUrlPlaceholder": "https://…",
      "audioInsert": "Einfügen"
    },
    "asset": {
      "drop": "Datei hier ablegen oder zur Auswahl klicken",
      "orUrl": "oder eine Datei-URL einfügen",
      "urlPlaceholder": "https://…",
      "insert": "Einfügen",
      "invalidType": "Nicht unterstützter Dateityp",
      "readFailed": "Datei konnte nicht gelesen werden"
    },
    "latex": {
      "toolbar": "Formelwerkzeuge",
      "editFormula": "Formel bearbeiten",
      "dialog": "Formeleditor",
      "source": "LaTeX-Quelltext",
      "preview": "Vorschau",
      "symbols": "Symbole",
      "presets": "Vorlagen",
      "invalidSource": "Der LaTeX-Quelltext ist ungültig."
    },
    "video": {
      "toolbar": "Videowerkzeuge",
      "poster": "Vorschaubild festlegen"
    },
    "audio": {
      "toolbar": "Audiowerkzeuge",
      "preview": "Audio wiedergeben",
      "pause": "Wiedergabe pausieren",
      "loop": "Wiederholen"
    },
    "table": {
      "doubleClickToEdit": "Zum Bearbeiten doppelklicken"
    },
    "nav": {
      "addSlide": "Folie hinzufügen",
      "duplicate": "Duplizieren",
      "delete": "Löschen",
      "deleted": "Gelöscht",
      "undo": "Rückgängig",
      "copySuffix": "(Kopie)",
      "untitledSlide": "Unbenannte Folie",
      "collapse": "Leiste einklappen",
      "expand": "Leiste ausklappen",
      "dragHandle": "Zum Neuanordnen ziehen",
      "deckLabel": "Szenen",
      "moreActions": "Weitere Aktionen",
      "rename": "Umbenennen",
      "sceneIncomplete": "Diese Seite enthält unvollständige Inhalte",
      "addPage": "Seite hinzufügen",
      "nextPage": "Next page",
      "prevPage": "Previous page"
    },
    "zorder": {
      "toFront": "In den Vordergrund",
      "toBack": "In den Hintergrund"
    },
    "image": {
      "toolbar": "Bildwerkzeuge",
      "replace": "Bild ersetzen",
      "flipH": "Horizontal spiegeln",
      "flipV": "Vertikal spiegeln",
      "crop": "Bild zuschneiden"
    },
    "contextMenu": {
      "horizontalAlignment": "Horizontale Ausrichtung",
      "verticalAlignment": "Vertikale Ausrichtung",
      "selectAll": "Alles auswählen",
      "copy": "Kopieren",
      "cut": "Ausschneiden",
      "paste": "Einfügen",
      "unlock": "Entsperren",
      "lock": "Sperren",
      "group": "Gruppieren",
      "ungroup": "Gruppierung aufheben",
      "bringForward": "Eine Ebene nach vorne",
      "sendBackward": "Eine Ebene nach hinten",
      "alignTop": "Oben ausrichten",
      "alignMiddle": "Mittig ausrichten",
      "alignBottom": "Unten ausrichten"
    },
    "background": {
      "label": "Hintergrund",
      "solid": "Einfarbig",
      "image": "Bild",
      "color": "Farbe"
    },
    "common": {
      "cancel": "Abbrechen",
      "confirm": "Bestätigen"
    },
    "quiz": {
      "addQuestion": "Frage hinzufügen",
      "reorder": "Zum Neuanordnen ziehen",
      "deleteQuestion": "Frage löschen",
      "untitledQuestion": "Unbenannte Frage",
      "questionLabel": "Frage",
      "questionPlaceholder": "Frage eingeben…",
      "typeLabel": "Typ",
      "pointsLabel": "Punkte",
      "optionsLabel": "Antwortmöglichkeiten",
      "optionPlaceholder": "Antworttext",
      "addOption": "Antwortmöglichkeit hinzufügen",
      "deleteOption": "Antwortmöglichkeit entfernen",
      "markCorrect": "Als richtige Antwort markieren",
      "moveUp": "Nach oben",
      "moveDown": "Nach unten",
      "analysisLabel": "Erklärung",
      "analysisPlaceholder": "Wird nach der Bewertung der Frage angezeigt…",
      "commentPromptLabel": "Bewertungshinweise",
      "commentPromptPlaceholder": "Wie soll diese offene Antwort bewertet werden?",
      "empty": "Noch keine Fragen",
      "emptyHint": "Erstelle mit „Frage hinzufügen“ die erste Frage.",
      "type": {
        "single": "Einfachauswahl",
        "multiple": "Mehrfachauswahl",
        "short_answer": "Kurzantwort"
      },
      "shortAnswerGradingNote": "Kurzantworten werden immer von der KI anhand der folgenden Hinweise bewertet.",
      "hint": {
        "emptyText": "Frage {{n}}: Fragetext hinzufügen",
        "fewOptions": "Frage {{n}}: mindestens zwei Antwortmöglichkeiten hinzufügen",
        "emptyOption": "Frage {{n}}: eine Antwortmöglichkeit ist leer",
        "noCorrect": "Frage {{n}}: eine richtige Antwort markieren"
      }
    },
    "cue": {
      "speech": "Sprechertext",
      "spotlight": "Spotlight",
      "laser": "Laser",
      "whiteboardOpen": "Whiteboard",
      "whiteboardText": "Schreiben",
      "whiteboardShape": "Form",
      "whiteboardLatex": "Formel",
      "whiteboardTable": "Tabelle",
      "action": "Aktion",
      "discussion": "Diskussionsrunde"
    },
    "element": {
      "toolbar": "Elementwerkzeuge",
      "text": "Text",
      "image": "Bild",
      "shape": "Form",
      "line": "Linie",
      "chart": "Diagramm",
      "table": "Tabelle",
      "latex": "Formel",
      "video": "Video",
      "audio": "Audio",
      "code": "Code"
    },
    "agent": {
      "expand": "KI-Assistenten ausklappen",
      "collapse": "Einklappen",
      "stopped": "Angehalten",
      "emptyTitle": "Was möchtest du ändern?",
      "emptyHint": "Nachdem du diese Folie auf der Arbeitsfläche bearbeitet hast, kann die KI den passenden Sprechertext neu erstellen.",
      "placeholder": "Beschreibe deine Änderungen an dieser Folie…",
      "stop": "Generierung stoppen",
      "empty": {
        "lead": "Sag mir, wie ich diese Folie ändern soll – ich überarbeite den Inhalt und passe den Sprechertext neu an.",
        "boundary": "Nutze den Editor für Detailänderungen; Folien kannst du über die linke Navigation hinzufügen, löschen oder neu anordnen.",
        "comingSoon": "Weitere Funktionen folgen in Kürze."
      },
      "interactive": {
        "emptyTitle": "Was muss auf dieser Seite korrigiert werden?",
        "lead": "Beschreibe einen Fehler auf dieser interaktiven Seite, etwa eine wirkungslose Schaltfläche. Ich behebe gezielt nur diesen Fehler und lasse alles andere unverändert.",
        "placeholder": "Beschreibe den Fehler auf dieser interaktiven Seite…",
        "boundary": "Ich korrigiere die Seite gezielt und erstelle sie nicht vollständig neu. Wechsle Szenen über die linke Navigation."
      },
      "cap": {
        "content": {
          "label": "Folie neu erstellen",
          "examples": "„Auf 3 Punkte kürzen“, „Ein Beispiel aus der Praxis ergänzen“"
        },
        "narration": {
          "label": "Sprechertext neu erstellen",
          "examples": "„Lockerer formulieren“, „An meine Änderungen auf der Arbeitsfläche anpassen“"
        },
        "fixHtml": {
          "label": "Fehler auf der Seite beheben",
          "examples": "„Die Startschaltfläche reagiert nicht“, „Die Bereiche überlappen sich auf Mobilgeräten“"
        },
        "elements": {
          "label": "Ausgewählte Elemente anpassen",
          "examples": "„Den Titel blau färben und nach oben verschieben“, „Diese Abbildung verkleinern“"
        }
      },
      "newConversation": "Neuer Chat",
      "sessionHistory": "Verlauf",
      "sessionUntitled": "Unbenannter Chat",
      "sessionDelete": "Löschen",
      "sessionEmpty": "Keine bisherigen Chats",
      "thinking": "Denkt nach…",
      "reasoning": "Denkprozess",
      "thought": "Denkdauer:",
      "title": "Mit KI bearbeiten"
    },
    "timeline": {
      "title": "Sprechertext",
      "regenAllTts": "Alle Vertonungen neu erstellen",
      "voiceAll": "Alles vertonen",
      "counts": "Sprechertexte: {{speech}} · Aktionen: {{cue}}",
      "panLeft": "Nach links verschieben",
      "panRight": "Nach rechts verschieben",
      "collapseAxis": "Auf Achse einklappen",
      "expandTrack": "Spur ausklappen",
      "emptyHint": "Ziehe Aktionen auf die Achse, um zu beginnen, oder lass den MAIC Agent einen Sprechertext erstellen.",
      "speechPlaceholder": "Sprechertext eingeben…",
      "reorder": "Zum Neuanordnen ziehen",
      "moveLeft": "Nach links",
      "moveRight": "Nach rechts",
      "pickElement": "Element auswählen",
      "bound": "Verknüpft",
      "fieldAction": "Aktion",
      "fieldElement": "Element",
      "fieldContent": "Inhalt",
      "addDiscussionExists": "Pro Szene ist nur eine Diskussionsrunde möglich",
      "discussionTerminal": "ENDE",
      "discussionTerminalHint": "Eine Diskussionsrunde bleibt am Ende der Szene (eine pro Szene)",
      "discussionTopicPlaceholder": "Diskussionsthema (erforderlich)",
      "discussionPromptPlaceholder": "Anweisung (optional)",
      "discussionAgent": "Startrolle",
      "discussionAgentUnset": "Nicht festgelegt",
      "addAction": "Aktion hinzufügen"
    },
    "picker": {
      "title": "Aktion einfügen",
      "speechDesc": "Text sprechen – automatische Vertonung möglich",
      "spotlightDesc": "Ein Element auf der Arbeitsfläche hervorheben",
      "laserDesc": "Mit einem Laser auf ein Element zeigen",
      "discussionDesc": "Eine Frage stellen und auswählen, wer beginnt"
    },
    "tts": {
      "cancelPreview": "Vorschau abbrechen",
      "preview": "Vorschau",
      "regenerate": "Vertonung neu erstellen",
      "statusReady": "Vertont",
      "statusNone": "Nicht vertont",
      "statusGenerating": "Wird erstellt",
      "stopPreview": "Vorschau stoppen",
      "statusError": "Fehlgeschlagen"
    },
    "pick": {
      "pickFor": "Element für „{{label}}“ auswählen",
      "pickHint": "Klicke auf ein markiertes Element oder einen Eintrag in der Liste · Esc zum Abbrechen",
      "pageElements": "Seitenelemente · {{count}}",
      "expand": "Ausklappen",
      "collapse": "Einklappen",
      "noElements": "Auf dieser Folie sind keine auswählbaren Elemente vorhanden.",
      "bindHint": "Klicke zum Verknüpfen auf ein markiertes Element auf der Arbeitsfläche",
      "refCapHint": "Grenze erreicht – eines entfernen zum Tauschen · Esc zum Beenden",
      "refHint": "Klicken zum Hinzufügen oder Entfernen · Esc zum Beenden",
      "refLead": "Elemente referenzieren · {{count}}/{{max}}"
    },
    "regen": {
      "title": "Sprechertext neu erstellen",
      "running": "Wird erstellt…",
      "noActions": "Keine Aktionen erstellt",
      "actionsCount": "Aktionen: {{count}}",
      "generating": "Wird erstellt",
      "notGenerated": "Nicht erstellt",
      "updated": "Aktualisiert"
    },
    "regenScene": {
      "title": "Folie neu erstellen",
      "generating": "Wird erstellt",
      "updated": "Aktualisiert",
      "notGenerated": "Nicht erstellt",
      "elementsCount": "Elemente: {{count}}",
      "restore": "Vorherige Version wiederherstellen",
      "restored": "Wiederhergestellt",
      "resume": "Fortsetzen"
    },
    "fixHtml": {
      "title": "Interaktive Seite korrigieren",
      "fixing": "Wird korrigiert",
      "fixed": "Korrigiert",
      "notFixed": "Nicht korrigiert",
      "editsCount": "Änderungen: {{count}}"
    },
    "readCard": {
      "title": "Folieninhalt lesen",
      "reading": "Wird gelesen",
      "done": "Gelesen",
      "failed": "Nicht gelesen"
    },
    "editElements": {
      "title": "Elemente bearbeiten",
      "editing": "Wird bearbeitet",
      "applied": "Angewendet",
      "notApplied": "Nicht angewendet",
      "applyFailed": "Der Editor konnte die Elementänderung nicht anwenden. Es wurde nichts geändert.",
      "applyPartiallyFailed": "Der Editor konnte mindestens eine Elementänderung nicht anwenden. Andere Änderungen wurden möglicherweise übernommen."
    },
    "roster": {
      "title": "Kursteilnehmende",
      "count": "Anzahl: {{count}}",
      "editHint": "Zum Bearbeiten ein Mitglied anklicken",
      "personaLabel": "Persona",
      "personaPlaceholder": "Persönlichkeit der Rolle, Lehrstil und Aufgaben beschreiben…",
      "noPersona": "Noch keine Persona",
      "unnamed": "Unbenannt",
      "teacherBadge": "Leitung",
      "moveUp": "Nach oben",
      "moveDown": "Nach unten",
      "removeFromClass": "Aus dem Kurs entfernen",
      "aiClassmates": "KI-Mitlernende · {{count}}",
      "addRole": "Rolle hinzufügen",
      "shortTitle": "Roster"
    },
    "elementRef": {
      "remove": "移除引用 {{label}}",
      "counts": "{{count}}/{{max}} referenziert",
      "exitPicking": "Auswahl beenden",
      "startPicking": "Elemente referenzieren"
    },
    "dock": {
      "elementRefHint": "Elementverweise – Elemente für die nächste Nachricht auswählen",
      "globalTools": "Globale Werkzeuge"
    }
  },
  "classroomComplete": {
    "title": "Kurs abgeschlossen",
    "trailLabels": {
      "slide": "Folien",
      "quiz": "Quiz",
      "interactive": "interaktive Inhalte",
      "pbl": "Projekte"
    },
    "quizScoreLabel": "{{correct}} / {{total}} richtig",
    "encouragement": {
      "high": "Hervorragend — das sitzt.",
      "mid": "Starke Leistung — weiter so.",
      "low": "Ein guter Anfang — wiederhole den Stoff und versuche es erneut."
    }
  },
  "whiteboard": {
    "title": "Interaktives Whiteboard",
    "open": "Whiteboard öffnen",
    "clear": "Whiteboard leeren",
    "minimize": "Whiteboard minimieren",
    "ready": "Das Whiteboard ist bereit",
    "readyHint": "Elemente erscheinen hier, wenn die KI sie hinzufügt",
    "clearSuccess": "Whiteboard erfolgreich geleert",
    "clearError": "Whiteboard konnte nicht geleert werden: ",
    "resetView": "Ansicht zurücksetzen",
    "restoreError": "Whiteboard konnte nicht wiederhergestellt werden: ",
    "history": "Verlauf",
    "restore": "Wiederherstellen",
    "noHistory": "Noch kein Verlauf",
    "restored": "Whiteboard wiederhergestellt",
    "elementCount": "Elemente: {{count}}"
  },
  "quiz": {
    "title": "Quiz",
    "subtitle": "Prüfe dein Wissen",
    "questionsCount": "Fragen",
    "totalPrefix": "",
    "pointsSuffix": "Pkt.",
    "startQuiz": "Quiz starten",
    "multipleChoiceHint": "(Mehrfachauswahl — wähle alle richtigen Antworten aus)",
    "inputPlaceholder": "Gib deine Antwort hier ein...",
    "charCount": "Zeichen",
    "yourAnswer": "Deine Antwort:",
    "notAnswered": "Nicht beantwortet",
    "aiComment": "KI-Feedback",
    "singleChoice": "Einfachauswahl",
    "multipleChoice": "Mehrfachauswahl",
    "shortAnswer": "Kurzantwort",
    "analysis": "Erklärung: ",
    "excellent": "Ausgezeichnet!",
    "keepGoing": "Weiter so!",
    "needsReview": "Noch etwas üben",
    "correct": "richtig",
    "incorrect": "falsch",
    "answering": "In Bearbeitung",
    "submitAnswers": "Antworten abgeben",
    "aiGrading": "Die KI wertet aus...",
    "aiGradingWait": "Bitte warten, deine Antworten werden ausgewertet",
    "quizReport": "Quizbericht",
    "retry": "Erneut versuchen"
  },
  "roundtable": {
    "teacher": "LEHRKRAFT",
    "you": "DU",
    "inputPlaceholder": "Gib deine Nachricht ein...",
    "listening": "Hört zu...",
    "processing": "Wird verarbeitet...",
    "noSpeechDetected": "Keine Sprache erkannt. Versuche es erneut.",
    "discussionEnded": "Diskussion beendet",
    "qaEnded": "Fragerunde beendet",
    "thinking": "Denkt nach",
    "yourTurn": "Du bist dran",
    "stopDiscussion": "Diskussion beenden",
    "softClosing": "Diskussion fortsetzen",
    "autoPlay": "Automatische Wiedergabe",
    "autoPlayOff": "Automatische Wiedergabe beenden",
    "speed": "Geschwindigkeit",
    "previousLine": "Vorherige Zeile",
    "nextLine": "Nächste Zeile",
    "lineProgress": "Zeile {{current}} / {{total}}",
    "voiceInput": "Spracheingabe",
    "voiceInputDisabled": "Spracheingabe deaktiviert",
    "textInput": "Texteingabe",
    "stopRecording": "Aufnahme beenden",
    "startRecording": "Aufnahme starten"
  },
  "pbl": {
    "emptyProject": "Das PBL-Projekt wurde noch nicht generiert. Erstelle es über die Kursgenerierung.",
    "v2": {
      "hero": {
        "title": "Projektbasiertes Lernen",
        "stage": "Phasen",
        "task": "Aufgaben",
        "tutor": "Lernbegleitung",
        "greetingBanner": "Deine Lernbegleitung begrüßt dich …",
        "startProject": "Projekt starten",
        "continueProject": "Projekt fortsetzen",
        "resetProgress": "Lernfortschritt zurücksetzen",
        "resetConfirmTitle": "Lernfortschritt zurücksetzen?",
        "resetConfirmDescription": "Dadurch wird dein gesamter Fortschritt in diesem Projekt gelöscht — Chatverlauf, Einreichungen und Phasenstatus — und du beginnst wieder von vorn. Dieser Vorgang kann nicht rückgängig gemacht werden.",
        "resetConfirmConfirm": "Zurücksetzen",
        "resetConfirmCancel": "Abbrechen",
        "startHint": "Klicke, um den Arbeitsbereich zu öffnen. {{name}} begleitet dich durch jede Phase.",
        "startError": "Start nicht möglich: {{error}}",
        "youWillLearn": "Das nimmst du mit",
        "instructorTagline": "Begleitet dich durch das gesamte Projekt",
        "scenarioCharacter": "Rollenspielfigur",
        "scenarioCharacterTagline": "Die Figur, mit der du im Szenario interagierst",
        "scenarioFlow": "Ablauf",
        "close": "Schließen"
      },
      "sidebar": {
        "title": "Projektplan",
        "summary": "{{completed}} / {{total}} Aufgaben · {{stages}} Phasen",
        "enterScenario": "Szene betreten",
        "advanceScene": "Szene fortsetzen",
        "continueScene": "Nächste Phase",
        "stagePrep": "Vorbereitung",
        "stageRoleplay": "Simulation",
        "stageWrapup": "Nachbesprechung",
        "completeAct": "Akt abschließen",
        "completeTask": "Erledigt"
      },
      "workspace": {
        "progressLabel": "Fortschritt",
        "resizeSidebar": "Größe von Seitenleiste und Chat ändern",
        "resizeSubmission": "Größe von Chat und Einreichungsbereich ändern",
        "enterFullscreen": "Arbeitsbereich im Vollbild öffnen",
        "exitFullscreen": "Vollbild des Arbeitsbereichs beenden",
        "exitNativeFullscreen": "Vollbild beenden",
        "returnToHero": "Zurück zur Projektübersicht",
        "breadcrumbOverview": "Übersicht",
        "breadcrumbCurrent": "Arbeitsbereich"
      },
      "chat": {
        "placeholder": "Sprich mit {{name}} über deinen Fortschritt...",
        "placeholderCompleted": "Projekt abgeschlossen. Sieh dir deinen Bericht an.",
        "send": "Senden",
        "voiceInput": "Spracheingabe",
        "keyboardHint": "Enter zum Senden · Shift+Enter für eine neue Zeile",
        "readingSubmission": "Einreichung wird gelesen …",
        "generatingMilestoneFeedback": "Meilenstein-Feedback wird erstellt …",
        "generatingFinalEval": "Abschlussauswertung wird erstellt …",
        "readingSubmissionWithTitle": "Neueste Einreichung für „{{title}}“ wird gelesen …",
        "evaluatingTask": "{{name}} · Aufgabe wird geprüft",
        "evaluatingFinal": "{{name}} · Abschlussauswertung",
        "narrating": "Szene wird vorbereitet …",
        "choosePrompt": "Wähle eine Option",
        "choiceOrType": "Wähle eine Option oder gib eine eigene Antwort ein …",
        "suggestionsToggle": "Brauchst du Ideen? Sieh dir mögliche Antworten an",
        "guidancePointer": "Du kommst nicht weiter? Sieh dir im rechten Bereich das Ziel und die Tipps für diesen Akt an.",
        "roleplayHistoryTitle": "Rollenspielverlauf",
        "coachHint": "Tipp der Lernbegleitung",
        "thinking": "{{name}} · Denkt nach",
        "typing": "{{name}} · Schreibt …",
        "submitted": "Arbeit eingereicht",
        "evaluatingSubmission": "Deine Einreichung wird ausgewertet …",
        "evaluatingSubmissionDetail": "Aufgabe: „{{title}}“. Sobald die Auswertung abgeschlossen ist, erscheint hier das Feedback zu dieser Einreichung.",
        "milestoneFeedbackPending": "Das Meilenstein-Feedback erscheint, sobald es bereit ist.",
        "emptyChat": "Noch keine Nachrichten.",
        "emptyChatHint": "Hier beginnt deine Projektbegleitung mit {{name}}.",
        "continueError": "Fortsetzen nicht möglich: {{error}}",
        "stillTyping": "Schreibt noch",
        "handoverHint": "Klicke auf „Weiter zur nächsten Phase“, um fortzufahren."
      },
      "scene": {
        "expand": "Vergrößern",
        "collapse": "Einklappen",
        "greetHint": "Tippe, um Hallo zu sagen",
        "label": "Die Szene"
      },
      "milestoneCard": {
        "title": "Meilenstein-Rückblick",
        "youLearned": "Das hast du gelernt",
        "nextStage": "Nächste Phase:",
        "continueHint": "Klicke auf „Weiter“, um die nächste Phase zu öffnen.",
        "alreadyEntered": "Nächste Phase geöffnet",
        "continueToNext": "Weiter zur nächsten Phase",
        "projectAlmostDone": "🎉 Projekt fast abgeschlossen — Abschlussbericht steht noch aus"
      },
      "taskEvalCard": {
        "title": "Feedback zur Einreichung",
        "strengths": "Das lief gut",
        "improvements": "Nächste Schritte"
      },
      "briefing": {
        "intro": "Die in der Vorbereitung vorgestellte Ausgangslage — hier gespeichert, damit du sie in der Szene jederzeit nachlesen kannst.",
        "tablistLabel": "Registerkarten im rechten Bereich",
        "submissionTab": "Abgabe",
        "briefingTab": "Briefing",
        "setting": "Rahmen",
        "learnerRole": "Deine Rolle",
        "goal": "Ziel",
        "rules": "Regeln",
        "cast": "Besetzung",
        "identity": "Identität",
        "situation": "Situation"
      },
      "submission": {
        "textSubmission": "Texteinreichung",
        "fileTooLarge": "Die Datei überschreitet das Größenlimit von 5 MB. Teile oder komprimiere sie.",
        "contentRequired": "Der Inhalt darf nicht leer sein",
        "readFileFailed": "Datei konnte nicht gelesen werden: {{error}}",
        "parsingPdf": "PDF wird verarbeitet …",
        "parsePdfFailed": "PDF konnte nicht verarbeitet werden: {{error}}",
        "pdfNoText": "In dieser PDF wurde kein extrahierbarer Text gefunden.",
        "imageUploadFailed": "Bild konnte nicht hochgeladen werden: {{error}}",
        "imageTooLargeNoStorage": "Das Bild ist zu groß, um es ohne konfigurierten Speicher anzuhängen (lokal max. 2 MB).",
        "imageNeedsCaptionNoVision": "Das aktuelle Modell kann keine Bilder lesen. Füge vor dem Einreichen eine Textbeschreibung des Bildes hinzu oder wechsle in den Einstellungen zu einem bildfähigen Modell.",
        "unsupportedFileType": "Nicht unterstützter Dateityp. Akzeptiert werden nur Textdateien (.txt, .md, .csv, .json, .py, …) und PDF.",
        "pasteTab": "Text/Bild einfügen",
        "uploadTab": "Datei hochladen",
        "pastePlaceholder": "Füge deinen Code, dein Dokument, deine Antwort oder ein Bild/einen Screenshot hier ein …",
        "uploadPlaceholder": "Hochgeladene Inhalte erscheinen hier. Bearbeite sie vor dem Einreichen …",
        "imageCaptionPlaceholder": "Füge optional eine Bildunterschrift hinzu …",
        "imageSelectedReplace": "Bild ausgewählt · zum Ersetzen klicken",
        "removeImage": "Bild entfernen",
        "processing": "Wird verarbeitet …",
        "cancelProcessingConfirm": "Eine Datei wird noch verarbeitet. Möchtest du abbrechen und diesen Upload verwerfen?",
        "currentTask": "Aktuelle Aufgabe",
        "hints": "Tipps",
        "submitOutput": "Einreichen",
        "evaluating": "Einreichung wird ausgewertet …",
        "lockedWhileStreaming": "Die Lernbegleitung antwortet gerade — warte bitte mit dem Einreichen.",
        "evalFailed": "Auswertung fehlgeschlagen: {{error}}",
        "submittedCount": "{{count}} eingereicht",
        "submissionHistory": "Einreichungsverlauf",
        "fromTask": "Aufgabe: {{title}}",
        "download": "Herunterladen",
        "viewSubmission": "Einreichung ansehen",
        "noActiveTask": "Keine aktive Aufgabe.",
        "canceling": "Abbrechen",
        "submitting": "Wird eingereicht …",
        "selectFileHint": "Datei auswählen · max. 5 MB · Text, PDF oder Bild",
        "modalTitle": "Arbeit einreichen",
        "modalTaskLabel": "Aufgabe: {{title}}",
        "fileRead": "Gelesen: {{filename}} · {{size}} KB",
        "submittedBadge": "Eingereicht ({{count}})",
        "receiptFile": "Datei: {{filename}}",
        "receiptTemplate": "Für diese Aufgabe eingereichte Arbeit ({{label}})."
      },
      "agentTabs": {
        "noAgent": "Für dieses Projekt ist kein KI-Agent konfiguriert."
      },
      "completion": {
        "noWhatsNext": "Die Abschlussauswertung wurde noch nicht erstellt.",
        "backToWorkspace": "Zurück zum Arbeitsbereich",
        "completionCta": "Bericht ansehen",
        "title": "Abschlussbericht",
        "whatYouBuilt": "Was du erstellt hast",
        "whatYouLearned": "Was du gelernt hast",
        "whatsNext": "Wie es weitergeht",
        "noDataFallback": "Noch nicht erstellt",
        "stageReview": "Phasenrückblicke",
        "summary": "Du hast {{completed}} von {{total}} Aufgaben in {{stages}} Phasen abgeschlossen.",
        "statConcepts": "Beherrschte Konzepte",
        "statTurns": "Ausgetauschte Nachrichten",
        "statScope": "Phasen · Aufgaben",
        "statDuration": "Aufgewendete Zeit",
        "statSubmissions": "Eingereichte Arbeiten",
        "coreStageBadge": "Kernphase",
        "conceptsInStageLabel": "Konzepte:",
        "submissionsInStage": "Eingereichte Arbeiten: {{count}}",
        "coreConceptGrasp": "Kernkonzept „{{concept}}“ — {{quality}}",
        "stageNoData": "Für diese Phase wurde kein Ergebnis aufgezeichnet.",
        "scenario": {
          "summary": "Du hast alle {{acts}} Akte dieses Szenarios abgeschlossen. So ist das Rollenspiel verlaufen.",
          "whatYouDidWell": "Das hast du gut gemacht",
          "skillsPracticed": "Geübte Fähigkeiten",
          "statGoals": "Erreichte Ziele",
          "statActs": "Abgeschlossene Akte",
          "goalReviewTitle": "Rückblick nach Akten",
          "goalReviewHint": "Dieses Szenario hatte für jeden Akt einige wichtige Ziele. Hier siehst du rückblickend, wie dein Gespräch tatsächlich verlief — diesmal hast du {{achieved}} von {{total}} Zielen erreicht.",
          "goalListTitle": "Was jeder Akt von dir verlangt hat",
          "goalListHint": "Dieses Szenario hatte für jeden Akt einige wichtige Ziele. Hier siehst du rückblickend, was du in den einzelnen Akten tun solltest.",
          "goalAchieved": "erreicht",
          "goalPartial": "teilweise erfüllt",
          "goalMissed": "nicht erfüllt",
          "statGoodDecisions": "Starke Entscheidungen",
          "statScore": "Entscheidungswertung",
          "statBeats": "Abgeschlossene Akte",
          "decisionReviewTitle": "Entscheidungsrückblick",
          "good": "stark",
          "ok": "in Ordnung",
          "poor": "ausbaufähig",
          "decisionScore": "Entscheidungswertung: {{score}}",
          "castLabel": "Deine Gesprächspartner: {{names}}"
        },
        "highlightsTitle": "Höhepunkte",
        "highlight": {
          "independence": "Bei {{unlocks}} von {{total}} Konzepten hast du selbstständig gezeigt, was du kannst — ganz ohne Hinweise. Das zeugt von einem starken Verständnis.",
          "resilience": "Bei „{{title}}“ hast du {{errors}} Fehler behoben — einen nach dem anderen. Das zeigt echte Ausdauer.",
          "resilienceGeneral": "Du hast {{errors}} Fehler behoben — einen nach dem anderen. Das zeigt echte Ausdauer.",
          "completion": "Du hast jede Aufgabe abgeschlossen und dabei durchgehend Fortschritte gemacht."
        },
        "synthesisQuality": {
          "strong": "Starkes Verständnis ✅",
          "ok": "Gutes Verständnis 👍",
          "weak": "Da geht noch mehr 💪"
        },
        "durationMinutes": "{{m}} Min.",
        "durationHours": "{{h}} Std.",
        "durationHoursMinutes": "{{h}} Std. {{m}} Min."
      },
      "completionCard": {
        "title": "Projekt abgeschlossen · Auswertung",
        "subtitle": "Glückwunsch! Du hast das gesamte Projekt abgeschlossen.",
        "description": "Auf Grundlage deiner Leistungsdaten (aufgewendete Zeit, Gespräche, Umgang mit Fehlern, erschlossene Konzepte …) haben wir einen Abschlussbericht erstellt. Er zeigt, was du erstellt und gelernt hast und wie es weitergehen kann."
      }
    }
  },
  "share": {
    "notReady": "Verfügbar, sobald die Generierung abgeschlossen ist"
  },
  "classroom": {
    "recentClassrooms": "Zuletzt verwendet",
    "today": "Heute",
    "yesterday": "Gestern",
    "daysAgo": "Tage her",
    "slides": "Folien",
    "nameCopied": "Name kopiert",
    "deleteConfirmTitle": "Löschen",
    "delete": "Löschen",
    "rename": "Umbenennen",
    "renamePlaceholder": "Kursnamen eingeben",
    "renameFailed": "Kurs konnte nicht umbenannt werden",
    "searchPlaceholder": "Kurse durchsuchen...",
    "searchAriaLabel": "Kurse durchsuchen",
    "clearSearch": "Suchfeld leeren",
    "searchEmpty": "Keine Kurse entsprechen deiner Suche",
    "newFolderTitle": "Neuer Ordner",
    "newFolderDesc": "Gruppiere Kurse nach Thema oder lege sie für einen einfacheren Zugriff ab.",
    "newFolderInline": "Neuer Ordner …",
    "folderNameLabel": "Ordnername",
    "folderNamePlaceholder": "z. B. Mathematik, Englisch, Hauptfachkurse",
    "folderNameHint": "CJK- und lateinische Zeichen sind möglich; Leerzeichen zählen mit.",
    "folderNameExists": "Ein Ordner mit diesem Namen ist bereits vorhanden",
    "folderCountLimit": "Maximale Anzahl an Ordnern erreicht",
    "folderWidth": "Breite {{width}}/{{max}}",
    "folderCreate": "Erstellen",
    "folderBadge": "Ordner",
    "folderCourseCountUnit": "Kurse",
    "deleteFolderTitle": "Ordner „{{name}}“ löschen",
    "deleteFolderEmptyDesc": "Dieser Ordner ist leer. Das Löschen kann nicht rückgängig gemacht werden.",
    "deleteFolderUngroupDesc": "Die Kurse bleiben unter „Meine Kurse“, werden aber aus dem Ordner entfernt.",
    "moveToFolder": "In Ordner verschieben",
    "moveToFolderLabel": "Verschieben nach …",
    "ungrouped": "Ohne Ordner",
    "searchResults": "Suchergebnisse",
    "folderCreateFailed": "Ordner konnte nicht erstellt werden",
    "folderRenameFailed": "Ordner konnte nicht umbenannt werden",
    "folderDeleteFailed": "Ordner konnte nicht gelöscht werden",
    "moveFailed": "Kurs konnte nicht verschoben werden",
    "emptyFolderHint": "Dieser Ordner ist leer",
    "emptyLibraryHint": "Noch keine Kurse — erstelle oben einen oder importiere einen Kurs.",
    "folderNameEmpty": "Der Ordnername darf nicht leer sein",
    "deleteFolderOnly": "Nur Ordner löschen",
    "deleteFolderAndCourses": "Ordner und {{count}} Kurs löschen",
    "deleteFolderAndCourses_other": "Ordner und {{count}} Kurse löschen",
    "deleteFolderConfirmRemove": "Dadurch werden der Ordner und seine Kurse einschließlich des Chatverlaufs gelöscht.",
    "notFound": "Kurs nicht gefunden",
    "notFoundDesc": "Dieser Kurs existiert nicht oder wurde gelöscht.",
    "backToHome": "Zurück zur Startseite"
  },
  "upload": {
    "pdfSizeLimit": "Unterstützt PDF-Dateien bis zu 50 MB",
    "courseMaterialSizeLimit": "Dokumente, Präsentationen, Tabellendateien, Bilder und Klartext – bis zu 50 MB (unterstützte Formate hängen vom gewählten Extraktor ab)",
    "generateFailed": "Kurs konnte nicht erstellt werden. Bitte versuche es erneut.",
    "requirementPlaceholder": "Beschreibe, was du lernen möchtest, z. B.\n\"Bring mir Python in 30 Minuten von Grund auf bei\"\n\"Erkläre die Fourier-Transformation am Whiteboard\"\n\"Wie spielt man das Brettspiel Avalon?\"",
    "requirementRequired": "Bitte gib die Kursanforderungen ein",
    "fileTooLarge": "Die Datei ist zu groß. Wähle bitte eine Datei unter 50 MB aus.",
    "courseMaterialCountLimit": "Du kannst bis zu 5 Dateien als Kursmaterial hochladen",
    "courseMaterialTotalSizeLimit": "Die Gesamtgröße der Kursmaterialien muss unter 150 MB liegen",
    "unsupportedCourseMaterial": "Dieses Format wird vom aktuellen Extraktor nicht unterstützt. Wechsle den Extraktor oder wähle eine andere Datei."
  },
  "generation": {
    "pdfLoadFailed": "PDF-Datei konnte nicht geladen werden. Bitte versuche es erneut.",
    "pdfParseFailed": "PDF konnte nicht verarbeitet werden",
    "analyzingCourseMaterial": "Dokumente werden analysiert",
    "analyzingCourseMaterialDesc": "Dokumentstruktur und Inhalte werden extrahiert…",
    "courseMaterialLoadFailed": "Kursmaterial konnte nicht geladen werden. Bitte versuche es erneut.",
    "courseMaterialParseFailed": "Kursmaterial konnte nicht verarbeitet werden",
    "streamNotReadable": "Generierungsstream konnte nicht gelesen werden",
    "generatingOutlines": "Kursgliederung wird erstellt",
    "generatingOutlinesDesc": "Der Lernpfad wird strukturiert…",
    "generatingSlideContent": "Seiteninhalte werden erstellt",
    "generatingSlideContentDesc": "Folien, Quizfragen und interaktive Inhalte werden erstellt…",
    "generatingActions": "Unterrichtsaktionen werden erstellt",
    "generatingActionsDesc": "Sprechertexte, Spotlights und Interaktionen werden abgestimmt…",
    "generationComplete": "Generierung abgeschlossen!",
    "generationFailed": "Generierung fehlgeschlagen",
    "speechFailed": "Spracherzeugung fehlgeschlagen",
    "retryScene": "Erneut versuchen",
    "retryingScene": "Wird neu erstellt…",
    "backToHome": "Zurück zur Startseite",
    "sessionNotFound": "Sitzung nicht gefunden",
    "sessionNotFoundDesc": "Gib die Kursanforderungen ein, um die Generierung zu starten.",
    "goBackAndRetry": "Zurück und erneut versuchen",
    "classroomReady": "Dein Kurs ist fertig.",
    "aiWorking": "KI-Agenten arbeiten…",
    "textTruncated": "Der Text des Dokuments ist zu lang. Für die Generierung werden nur die ersten {{n}} Zeichen verwendet.",
    "imageTruncated": "{{total}} Bilder gefunden; das Limit liegt bei {{max}}. Für die übrigen Bilder werden nur Textbeschreibungen verwendet.",
    "agentGeneration": "Kursrollen werden erstellt",
    "agentGenerationDesc": "Rollen werden anhand der Kursinhalte erstellt…",
    "agentRevealTitle": "Deine Rollen im Kurs",
    "viewAgents": "Rollen anzeigen",
    "continue": "Weiter",
    "outlineRetrying": "Problem bei der Gliederungserstellung. Neuer Versuch…",
    "outlineEmptyResponse": "Das Modell hat keine gültige Gliederung zurückgegeben. Prüfe die Modellkonfiguration und versuche es erneut.",
    "outlineGenerateFailed": "Gliederung konnte nicht erstellt werden. Bitte versuche es später erneut.",
    "sceneGenerateFailed": "Szene konnte nicht erstellt werden. Bitte versuche es später erneut.",
    "sceneGenerateAuthFailed": "Die Szene konnte nicht erstellt werden, weil der Modellanbieter die Zugangsdaten abgelehnt hat. Prüfe deine Modellkonfiguration.",
    "sceneGenerateRateLimited": "Zu viele Anfragen zur Szenengenerierung. Warte einen Moment und versuche es erneut.",
    "sceneGenerateProviderUnavailable": "Der Modellanbieter ist vorübergehend nicht verfügbar. Bitte versuche es später erneut.",
    "sceneGenerateInvalidResponse": "Das Modell hat keine gültigen Szeneninhalte zurückgegeben. Probiere ein anderes Modell aus oder passe die Kursanforderungen an.",
    "reviewOutlineTitle": "Prüfe deine Gliederung",
    "reviewOutlineDesc": "Bearbeite, verschiebe, entferne oder ergänze Szenen, bevor die Inhaltserstellung beginnt.",
    "reviewOutlineAutoContinue": "Die Generierung wird automatisch fortgesetzt, wenn du die Gliederung nicht prüfst.",
    "outlineEditorTitle": "Szenengliederung",
    "outlineEditorSummary": "Szenen insgesamt: {{count}}. Du kannst sie bearbeiten, hinzufügen, entfernen oder neu anordnen, bevor die Generierung beginnt.",
    "addFirstScene": "Erste Szene hinzufügen",
    "noOutlines": "Noch keine Szenen in der Gliederung",
    "sceneTitlePlaceholder": "Szenentitel",
    "sceneTypeSlide": "Folie",
    "sceneTypeQuiz": "Quiz",
    "sceneTypeInteractive": "Interaktiv",
    "sceneTypePbl": "Projektbasiertes Lernen",
    "sceneDescriptionPlaceholder": "Zweck und Inhalt dieser Szene kurz beschreiben",
    "quizQuestionCount": "Anzahl der Fragen",
    "quizDifficulty": "Schwierigkeitsgrad",
    "quizType": "Fragetyp",
    "quizDifficultyEasy": "Leicht",
    "quizDifficultyMedium": "Mittel",
    "quizDifficultyHard": "Schwer",
    "quizTypeSingle": "Einfachauswahl",
    "quizTypeMultiple": "Mehrfachauswahl",
    "quizTypeText": "Kurzantwort",
    "alwaysReviewOutlines": "Gliederungen vor der Generierung immer prüfen",
    "outlineEditorEyebrow": "KI-generierte Gliederung",
    "outlineEditorStreamingProgress": "Übertragung läuft · Szenen bereit: {{count}}",
    "outlineEditorStreamingWaiting": "Warten auf die erste Szene…",
    "outlineEditorWaitingConfirm": "Warten auf die Gliederung…",
    "outlineExpandHint": "Zum Prüfen antippen",
    "reviewOutlineStreamingDesc": "Die Gliederung wird noch übertragen. Nach Abschluss kannst du sie bearbeiten.",
    "addKeyPoint": "Kernpunkt hinzufügen",
    "removeKeyPoint": "Kernpunkt entfernen",
    "insertSceneHere": "Szene hier einfügen",
    "deleteSceneConfirm": "Diese Szene löschen?",
    "deleteSceneConfirmDesc": "Diese Szene und ihre Kernpunkte werden aus der Gliederung entfernt.",
    "deleteSceneConfirmAction": "Löschen",
    "collapseEditor": "Einklappen",
    "quizConfigSummary": "Fragen: {{count}}",
    "interactiveWidgetKind": "Widget-Typ",
    "widgetSimulation": "Simulation",
    "widgetDiagram": "Diagramm",
    "widgetCode": "Code",
    "widgetGame": "Spiel",
    "widgetVisualization3d": "3D",
    "interactiveConcept": "Konzept",
    "interactiveConceptPlaceholder": "Zu erkundendes Konzept",
    "pblConfigSummary": "Projekt",
    "pblSubtype": "Art des projektbasierten Lernens",
    "pblSubtypeProject": "Projekt",
    "pblSubtypeScenario": "Szenario",
    "pblProjectTopic": "Projektthema",
    "pblProjectTopicPlaceholder": "Projektthema",
    "pblProjectDescription": "Beschreibung",
    "pblProjectDescriptionPlaceholder": "Was die Lernenden erstellen werden",
    "pblScenarioBrief": "Szenariobeschreibung",
    "pblScenarioBriefPlaceholder": "Situation, Rollen und Übungsziel",
    "pblTargetSkills": "Zielfertigkeiten",
    "pblAddSkill": "Fertigkeit hinzufügen",
    "widgetProceduralSkill": "Prozedurale Fertigkeit",
    "removeSkill": "Fertigkeit entfernen",
    "dragSceneHint": "Zum Neuanordnen ziehen; alternativ den Fokus auf die Szene setzen und Ctrl/⌘ + ↑ / ↓ drücken",
    "deleteScene": "Szene löschen",
    "backToRequirements": "Zurück zu den Anforderungen",
    "confirmAndGenerateCourse": "Bestätigen und Kurs erstellen",
    "generatingInProgress": "Wird erstellt…",
    "webSearching": "Websuche",
    "webSearchingDesc": "Das Web wird nach aktuellen Informationen durchsucht",
    "webSearchFailed": "Websuche fehlgeschlagen",
    "outlinesReadyCount": "Abschnitte bereit: {{ready}} / {{total}}",
    "jumpToBlankTitle": "Zu einem Abschnitt ohne Titel springen",
    "analyzingMediaMaterial": "Audio- und Videomaterial wird analysiert"
  },
  "settings": {
    "title": "Einstellungen",
    "description": "Anwendungseinstellungen konfigurieren",
    "language": "Sprache",
    "languageDesc": "Sprache der Benutzeroberfläche auswählen",
    "theme": "Design",
    "themeDesc": "Darstellungsmodus auswählen (Hell/Dunkel/System)",
    "themeOptions": {
      "light": "Hell",
      "dark": "Dunkel",
      "system": "System"
    },
    "apiKey": "API-Schlüssel",
    "apiKeyDesc": "API-Schlüssel konfigurieren",
    "apiBaseUrl": "API-Endpunkt-URL",
    "apiBaseUrlDesc": "API-Endpunkt-URL konfigurieren",
    "apiKeyRequired": "Der API-Schlüssel darf nicht leer sein",
    "model": "Modellkonfiguration",
    "modelDesc": "KI-Modelle konfigurieren",
    "modelPlaceholder": "Modellnamen eingeben oder auswählen",
    "ttsModel": "TTS-Modell",
    "ttsModelDesc": "TTS-Modelle konfigurieren",
    "ttsModelPlaceholder": "TTS-Modellnamen eingeben oder auswählen",
    "ttsModelOptions": {
      "openaiTts": "OpenAI TTS",
      "azureTts": "Azure TTS"
    },
    "availableModels": "Verfügbare Modelle",
    "modelSelectedViaVoice": "Die Stimmauswahl bestimmt das Modell",
    "testConnection": "Verbindung testen",
    "testConnectionDesc": "Prüfen, ob die aktuelle API-Konfiguration verfügbar ist",
    "testing": "Test läuft ...",
    "agentSettings": "Agenteneinstellungen",
    "agentSettingsDesc": "Wähle die Agenten aus, die am Gespräch teilnehmen. Wähle einen Agenten für den Einzelagentenmodus oder mehrere für den kollaborativen Multi-Agenten-Modus.",
    "agentMode": "Agentenmodus",
    "agentModePreset": "Voreinstellung",
    "agentModeAuto": "Automatisch generieren",
    "agentModeAutoDesc": "Die KI generiert automatisch passende Rollen",
    "autoAgentCount": "Anzahl der Agenten",
    "autoAgentCountDesc": "Anzahl der automatisch zu generierenden Agenten (einschließlich Lehrkraft)",
    "atLeastOneAgent": "Wähle bitte mindestens einen Agenten aus",
    "singleAgentMode": "Einzelagentenmodus",
    "directAnswer": "Direkte Antwort",
    "multiAgentMode": "Multi-Agenten-Modus",
    "agentsCollaborating": "Gemeinsame Diskussion",
    "agentsCollaboratingCount": "{{count}} Agenten für die gemeinsame Diskussion ausgewählt",
    "priority": "Priorität",
    "actions": "Aktionen",
    "actionCount": "Aktionen: {{count}}",
    "selectedAgent": "Ausgewählter Agent",
    "selectedAgents": "Ausgewählte Agenten",
    "required": "Erforderlich",
    "agentNames": {
      "default-1": "KI-Lehrkraft",
      "default-2": "KI-Assistent",
      "default-3": "Klassenclown",
      "default-4": "Neugieriger Geist",
      "default-5": "Mitschreiber",
      "default-6": "Denker"
    },
    "agentRoles": {
      "teacher": "Lehrkraft",
      "assistant": "Assistent",
      "student": "Lernender"
    },
    "agentDescriptions": {
      "default-1": "Leitet den Unterricht mit klaren und strukturierten Erklärungen",
      "default-2": "Unterstützt beim Lernen und verdeutlicht wichtige Punkte",
      "default-3": "Bringt Humor und Schwung in den Kurs",
      "default-4": "Ist stets neugierig und fragt gern, warum und wie etwas funktioniert",
      "default-5": "Hält Unterrichtsnotizen gewissenhaft fest und ordnet sie",
      "default-6": "Denkt gründlich nach und ergründet den Kern der Themen"
    },
    "close": "Schließen",
    "save": "Speichern",
    "providers": "LLM",
    "addProviderDescription": "Benutzerdefinierte Modellanbieter hinzufügen, um die verfügbaren KI-Modelle zu erweitern",
    "providerNames": {
      "openai": "OpenAI",
      "azure": "Azure OpenAI",
      "anthropic": "Claude",
      "google": "Gemini",
      "bedrock": "Amazon Bedrock",
      "deepseek": "DeepSeek",
      "qwen": "Qwen",
      "kimi": "Kimi",
      "minimax": "MiniMax",
      "glm": "GLM",
      "siliconflow": "SiliconFlow",
      "doubao": "Doubao",
      "openrouter": "OpenRouter",
      "grok": "Grok",
      "tencent-hunyuan": "Tencent Hunyuan",
      "xiaomi": "Xiaomi MiMo",
      "lemonade": "Lemonade (Lokal)",
      "ollama": "Ollama (Lokal)",
      "tavily": "Tavily",
      "bocha": "Bocha",
      "brave": "Brave Search",
      "baidu": "Baidu",
      "claude": "Claude",
      "searxng": "SearXNG"
    },
    "providerTypes": {
      "openai": "OpenAI-Protokoll",
      "azure": "Azure OpenAI",
      "anthropic": "Claude-Protokoll",
      "google": "Gemini-Protokoll",
      "bedrock": "Amazon Bedrock"
    },
    "modelCount": "Modelle",
    "modelSingular": "Modell",
    "defaultModel": "Standardmodell",
    "webSearch": "Websuche",
    "mcp": "MCP",
    "knowledgeBase": "Wissensdatenbank",
    "documentParser": "Dokumentparser",
    "conversationSettings": "Chat",
    "keyboardShortcuts": "Tastenkürzel",
    "generalSettings": "Allgemein",
    "systemSettings": "System",
    "addProvider": "Hinzufügen",
    "importFromClipboard": "Aus Zwischenablage importieren",
    "apiSecret": "API-Schlüssel",
    "apiHost": "Basis-URL",
    "azureDeploymentHint": "Gib oben deinen Azure OpenAI-Endpunkt ein und füge anschließend den Namen jeder Azure-Bereitstellung als Modell hinzu.",
    "baseUrlRegion": {
      "china": "China",
      "international": "International",
      "xiaomiPayg": "Nutzungsabhängige Abrechnung",
      "xiaomiTokenPlanCN": "Token-Tarif CN",
      "xiaomiTokenPlanSGP": "Token-Tarif SG",
      "xiaomiTokenPlanEU": "Token-Tarif EU"
    },
    "requestUrl": "Anfrage-URL",
    "models": "Modelle",
    "comfyuiWorkflows": "Workflows",
    "comfyuiRefresh": "Aktualisieren",
    "comfyuiNoWorkflowsFoundPrefix": "Keine Workflow-JSON-Dateien gefunden unter",
    "comfyuiAddWorkflowPrefix": "Füge die Datei",
    "comfyuiAddWorkflowSuffix": "hinzu, um loszulegen.",
    "comfyuiFolderHintPrefix": "Lege Workflow-JSON-Dateien unter",
    "comfyuiFolderHintMiddle": "ab. Der Dateiname wird zum Anzeigenamen – z. B.",
    "comfyuiLoadError": "Workflows konnten nicht geladen werden: {error}",
    "addModel": "Hinzufügen",
    "reset": "Zurücksetzen",
    "fetch": "Abrufen",
    "connectionSuccess": "Verbindung erfolgreich",
    "connectionFailed": "Verbindung fehlgeschlagen",
    "capabilities": {
      "vision": "Bildverarbeitung",
      "tools": "Tools",
      "streaming": "Streaming"
    },
    "contextWindow": "Kontext",
    "contextShort": "ctx",
    "outputWindow": "Ausgabe",
    "addProviderButton": "Hinzufügen",
    "addProviderDialog": "Modellanbieter hinzufügen",
    "providerName": "Name",
    "providerNamePlaceholder": "z. B. Mein OpenAI-Proxy",
    "providerNameRequired": "Gib bitte einen Anbieternamen ein",
    "providerApiMode": "API-Modus",
    "apiModeOpenAI": "OpenAI-Protokoll",
    "apiModeAnthropic": "Claude-Protokoll",
    "apiModeGoogle": "Gemini-Protokoll",
    "defaultBaseUrl": "Standard-Basis-URL",
    "providerIcon": "URL des Anbieter-Icons",
    "requiresApiKey": "API-Schlüssel erforderlich",
    "deleteProvider": "Anbieter löschen",
    "deleteProviderConfirm": "Möchtest du diesen Anbieter wirklich löschen?",
    "addCustomTTSProvider": "Benutzerdefinierten TTS-Anbieter hinzufügen",
    "addCustomASRProvider": "Benutzerdefinierten ASR-Anbieter hinzufügen",
    "addCustomAudioProviderDescription": "Einen OpenAI-kompatiblen benutzerdefinierten Audioanbieter hinzufügen",
    "customVoices": "Stimmen",
    "voiceIdPlaceholder": "Stimmen-ID (z. B. alloy)",
    "voiceNamePlaceholder": "Anzeigename",
    "addVoice": "Hinzufügen",
    "modelNamePlaceholder": "Optional",
    "defaultModelHint": "In API-Anfragen gesendeter Modellname (z. B. kokoro, tts-1)",
    "noVoicesAdded": "Noch keine Stimmen hinzugefügt. Füge unten Stimmen für die Auswahl pro Agent hinzu.",
    "noModelsAdded": "Noch keine Modelle hinzugefügt. Füge unten Modelle hinzu, um die Modellauswahl zu aktivieren.",
    "noModelsWarning": "Füge bitte unten mindestens ein Modell hinzu, bevor du diesen Anbieter verwendest.",
    "asrNoTranscription": "Keine Transkription erstellt. Sprich lauter oder länger.",
    "cannotDeleteBuiltIn": "Integrierter Anbieter kann nicht gelöscht werden",
    "resetToDefault": "Auf Standard zurücksetzen",
    "resetToDefaultDescription": "Modellliste auf die Standardkonfiguration zurücksetzen (API-Schlüssel und Basis-URL bleiben erhalten)",
    "resetConfirmDescription": "Dadurch werden alle benutzerdefinierten Modelle entfernt und die integrierte Standardmodellliste wiederhergestellt. API-Schlüssel und Basis-URL bleiben erhalten.",
    "confirmReset": "Zurücksetzen bestätigen",
    "resetSuccess": "Standardkonfiguration erfolgreich wiederhergestellt",
    "saveSuccess": "Einstellungen gespeichert",
    "saveFailed": "Einstellungen konnten nicht gespeichert werden. Versuche es erneut.",
    "cannotDeleteBuiltInModel": "Integriertes Modell kann nicht gelöscht werden",
    "cannotEditBuiltInModel": "Integriertes Modell kann nicht bearbeitet werden",
    "modelIdRequired": "Gib bitte eine Modell-ID ein",
    "noModelsAvailable": "Keine Modelle zum Testen verfügbar",
    "providerMetadata": "Anbieter-Metadaten",
    "editModel": "Modell bearbeiten",
    "editModelDescription": "Modellkonfiguration und Funktionen bearbeiten",
    "addNewModel": "Neues Modell",
    "modelsManagementDescription": "Die für diesen Anbieter verfügbaren Modelle und Funktionen verwalten.",
    "addNewModelDescription": "Eine neue Modellkonfiguration hinzufügen",
    "modelId": "Modell-ID",
    "modelIdPlaceholder": "z. B. gpt-4o",
    "modelName": "Anzeigename",
    "modelCapabilities": "Funktionen",
    "advancedSettings": "Erweiterte Einstellungen",
    "contextWindowLabel": "Kontextfenster",
    "contextWindowPlaceholder": "z. B. 128000",
    "outputWindowLabel": "Max. Ausgabe-Tokens",
    "outputWindowPlaceholder": "z. B. 4096",
    "testModel": "Modell testen",
    "deleteModel": "Löschen",
    "cancelEdit": "Abbrechen",
    "saveModel": "Speichern",
    "howToUse": "Verwendung",
    "step1ConfigureProvider": "Öffne \"Modellanbieter\", wähle einen Anbieter aus oder füge einen hinzu und konfiguriere die Verbindungseinstellungen (API-Schlüssel, Basis-URL usw.).",
    "step2SelectModel": "Wähle unten unter \"Aktives Modell\" das gewünschte Modell aus",
    "step3StartUsing": "Nach dem Speichern verwendet das System dein ausgewähltes Modell",
    "activeModel": "Aktives Modell",
    "activeModelDescription": "Modell für KI-Chats und Inhaltserstellung auswählen",
    "searchModels": "Modelle suchen",
    "noModelsFound": "Keine passenden Modelle gefunden",
    "noConfiguredProviders": "Keine konfigurierten Anbieter",
    "configureProvidersFirst": "Konfiguriere bitte links unter \"Modellanbieter\" die Verbindungseinstellungen des Anbieters",
    "currentlyUsing": "Derzeit verwendet",
    "ttsSettings": "Text-to-Speech",
    "asrSettings": "Spracherkennung",
    "audioSettings": "Audioeinstellungen",
    "ttsSection": "Text-to-Speech (TTS)",
    "asrSection": "Automatische Spracherkennung (ASR)",
    "ttsDescription": "TTS (Text-to-Speech) – Text in Sprache umwandeln",
    "asrDescription": "ASR (automatische Spracherkennung) – Sprache in Text umwandeln",
    "enableTTS": "Text-to-Speech aktivieren",
    "ttsEnabledDescription": "Wenn aktiviert, wird bei der Kurserstellung Audio für die Sprachausgabe generiert",
    "ttsVoiceConfigHint": "Die Stimme jedes Agenten kann auf der Startseite unter der Rollenkonfiguration festgelegt werden",
    "enableASR": "Spracherkennung aktivieren",
    "asrEnabledDescription": "Wenn aktiviert, können Lernende das Mikrofon für Spracheingaben verwenden",
    "ttsProvider": "TTS-Anbieter",
    "ttsLanguageFilter": "Sprachfilter",
    "allLanguages": "Alle Sprachen",
    "ttsVoice": "Stimme",
    "ttsSpeed": "Geschwindigkeit",
    "ttsBaseUrl": "Basis-URL",
    "ttsApiKey": "API-Schlüssel",
    "doubaoAppId": "App-ID",
    "doubaoAccessKey": "Zugriffsschlüssel",
    "asrProvider": "ASR-Anbieter",
    "asrLanguage": "Erkennungssprache",
    "asrBaseUrl": "Basis-URL",
    "asrApiKey": "API-Schlüssel",
    "enterApiKey": "API-Schlüssel eingeben",
    "enterCustomBaseUrl": "Benutzerdefinierte Basis-URL eingeben",
    "browserNativeNote": "Browserintegrierte ASR erfordert keine Konfiguration und ist vollständig kostenlos",
    "providerOpenAITTS": "OpenAI TTS (gpt-4o-mini-tts)",
    "providerAzureTTS": "Azure TTS",
    "providerGLMTTS": "GLM TTS",
    "providerQwenTTS": "Qwen TTS (Alibaba Cloud Bailian)",
    "providerVoxCPMTTS": "VoxCPM2",
    "providerDoubaoTTS": "Doubao TTS 2.0 (Volcengine)",
    "providerElevenLabsTTS": "ElevenLabs TTS",
    "providerMiniMaxTTS": "MiniMax TTS",
    "providerLemonadeTTS": "Lemonade TTS (Lokal)",
    "providerBrowserNativeTTS": "Browserintegrierte TTS",
    "voxcpmBackend": "Backend",
    "voxcpmBaseUrlPending": "Gib eine Basis-URL ein, um die Anfrage-URL zu erzeugen",
    "voxcpmAutoVoiceNoPreview": "Die automatische Stimme wird aus dem Agentenkontext erzeugt und kann nicht direkt vorgehört werden",
    "voxcpmVoicesTitle": "VoxCPM-Stimmen",
    "voxcpmVoicesDescription": "In diesem Browser gespeichert und zum gemeinsamen Stimmenpool der Agentenleiste hinzugefügt.",
    "voxcpmAutoVoicePrivacyNote": "Die automatische Stimme sendet die Agentenpersona als Stimmen-Prompt an dein konfiguriertes VoxCPM-Backend.",
    "voxcpmPromptCount": "Prompt {{count}}",
    "voxcpmCloneCount": "Klon {{count}}",
    "voxcpmCloneUnsupported": "Das aktuelle Backend unterstützt das Klonen nicht",
    "voxcpmVoicePool": "Stimmenpool",
    "voxcpmVoiceCount": "Stimmen: {{count}}",
    "voxcpmAutoVoice": "Automatische Stimme",
    "voxcpmAutoVoiceDescription": "Agentenpersona als Stimmen-Prompt verwenden",
    "voxcpmUnavailable": "Nicht verfügbar",
    "voxcpmClone": "Klonen",
    "voxcpmCloneUnsupportedDetail": "Das aktuelle Backend unterstützt das Klonen nicht",
    "voxcpmNoCustomVoices": "Noch keine benutzerdefinierten Stimmen",
    "voxcpmCloneSaveOnly": "Nur für dieses Backend gespeichert",
    "voxcpmVoiceNamePlaceholder": "Stimmenname",
    "voxcpmPromptPlaceholder": "Beispiel: klare, natürliche Lehrstimme mit gemäßigtem Tempo",
    "voxcpmAddVoice": "Stimme hinzufügen",
    "voxcpmCloneVoiceNamePlaceholder": "Name der geklonten Stimme",
    "voxcpmUploadReferenceAudio": "Referenzaudio hochladen",
    "voxcpmRecord": "Aufnehmen",
    "voxcpmReferenceAudioLimitHint": "Das Referenzaudio darf höchstens 10 MB groß bzw. 60 Sekunden lang sein und wird vor dem Speichern in WAV konvertiert.",
    "voxcpmReferenceTextPlaceholder": "Transkript des Referenzaudios, optional",
    "voxcpmVoiceDescriptionPlaceholder": "Stimmenbeschreibung, optional",
    "voxcpmAddClone": "Klon hinzufügen",
    "voxcpmRecordingUnsupported": "Dieser Browser unterstützt keine Aufnahmen",
    "voxcpmRecordedVoiceName": "Aufgenommene Stimme",
    "voxcpmRecordingFailed": "Aufnahmekonvertierung fehlgeschlagen",
    "voxcpmRecordingStartFailed": "Aufnahme konnte nicht gestartet werden",
    "voxcpmBaseUrlRequired": "Gib zuerst eine VoxCPM-Basis-URL ein",
    "voxcpmPreviewFailed": "Vorschau fehlgeschlagen",
    "voxcpmVoiceSaved": "VoxCPM-Stimme gespeichert",
    "voxcpmVoiceSaveFailed": "Stimme konnte nicht gespeichert werden",
    "voxcpmReferenceAudioInvalid": "Ungültiges Referenzaudio",
    "voxcpmCloneSaved": "Geklonte VoxCPM-Stimme gespeichert",
    "voxcpmCloneSaveFailed": "Geklonte Stimme konnte nicht gespeichert werden",
    "voxcpmStopPreview": "Vorschau stoppen",
    "voxcpmPreviewVoice": "Stimme vorhören",
    "voxcpmDeleteVoice": "Stimme löschen",
    "qwenCloneVoicesTitle": "Qwen TTS Cloned Voices",
    "qwenCloneRefText": "Enter the verbatim transcript of the reference audio",
    "qwenCloneRefAudioHint": "Use a clean 1–60 second voice sample. A 10–20 second sample is recommended; audio is converted to 24 kHz mono PCM WAV.",
    "qwenCloneSaved": "Qwen cloned voice registered and saved",
    "qwenCloneSaveFailed": "Failed to register the Qwen cloned voice",
    "qwenCloneUnsupported": "Recording is not supported in this browser; upload an audio file instead.",
    "qwenCloneSpeedHint": "Cloned voices always synthesize at 1× speed.",
    "qwenCloneDeleteWarning": "The voice was removed locally, but provider deletion failed.",
    "qwenCloneNarrationUnavailable": "The assigned voice is unavailable. Narration will use another enabled voice instead.",
    "qwenCloneDiscussionUnavailable": "The assigned voice is unavailable. Discussion will use another enabled voice instead.",
    "providerOpenAIWhisper": "OpenAI ASR (gpt-4o-mini-transcribe)",
    "providerBrowserNative": "Browserintegrierte ASR",
    "providerQwenASR": "Qwen ASR (Alibaba Cloud Bailian)",
    "providerFunASRASR": "FunASR (Lokal)",
    "providerLemonadeASR": "Lemonade ASR (Lokal)",
    "providerAzureASR": "Azure STT",
    "providerUnpdf": "unpdf (Integriert)",
    "providerMinerU": "MinerU",
    "providerMinerUCloud": "MinerU (Cloud)",
    "browserNativeTTSNote": "Browserintegrierte TTS erfordert keine Konfiguration, ist vollständig kostenlos und verwendet die im System integrierten Stimmen",
    "testTTS": "TTS testen",
    "testASR": "ASR testen",
    "testSuccess": "Test erfolgreich",
    "testFailed": "Test fehlgeschlagen",
    "ttsTestText": "TTS-Testtext",
    "ttsTestSuccess": "TTS-Test erfolgreich, Audio wurde abgespielt",
    "ttsTestFailed": "TTS-Test fehlgeschlagen",
    "asrTestSuccess": "Spracherkennung erfolgreich",
    "asrTestFailed": "Spracherkennung fehlgeschlagen",
    "asrProcessing": "Wird verarbeitet ...",
    "asrResult": "Erkennungsergebnis",
    "asrNotSupported": "Der Browser unterstützt die Speech Recognition API nicht",
    "browserTTSNotSupported": "Der Browser unterstützt die Speech Synthesis API nicht",
    "browserTTSNoVoices": "Im aktuellen Browser sind keine TTS-Stimmen verfügbar",
    "microphoneAccessDenied": "Mikrofonzugriff verweigert",
    "microphoneAccessFailed": "Zugriff auf das Mikrofon fehlgeschlagen",
    "asrResultPlaceholder": "Das Erkennungsergebnis wird nach der Aufnahme angezeigt",
    "useThisProvider": "Diesen Anbieter verwenden",
    "fetchVoices": "Stimmenliste abrufen",
    "fetchingVoices": "Wird abgerufen ...",
    "voicesFetched": "Stimmen abgerufen",
    "fetchVoicesFailed": "Stimmen konnten nicht abgerufen werden",
    "voiceApiKeyRequired": "API-Schlüssel erforderlich",
    "voiceBaseUrlRequired": "Basis-URL erforderlich",
    "ttsTestTextPlaceholder": "Umzuwandelnden Text eingeben",
    "ttsTestTextDefault": "Hallo, dies ist eine Testansage.",
    "startRecording": "Aufnahme starten",
    "stopRecording": "Aufnahme stoppen",
    "recording": "Aufnahme läuft ...",
    "transcribing": "Wird transkribiert ...",
    "transcriptionResult": "Transkriptionsergebnis",
    "noTranscriptionResult": "Kein Transkriptionsergebnis",
    "baseUrlOptional": "Basis-URL (optional)",
    "defaultValue": "Standard",
    "voiceMarin": "Empfohlen – Beste Qualität",
    "voiceCedar": "Empfohlen – Beste Qualität",
    "voiceAlloy": "Neutral, ausgewogen",
    "voiceAsh": "Ruhig, professionell",
    "voiceBallad": "Elegant, lyrisch",
    "voiceCoral": "Warm, freundlich",
    "voiceEcho": "Männlich, klar",
    "voiceFable": "Erzählerisch, lebendig",
    "voiceNova": "Weiblich, hell",
    "voiceOnyx": "Männlich, tief",
    "voiceSage": "Weise, gelassen",
    "voiceShimmer": "Weiblich, sanft",
    "voiceVerse": "Natürlich, weich",
    "glmVoiceTongtong": "Standardstimme",
    "glmVoiceChuichui": "Chuichui-Stimme",
    "glmVoiceXiaochen": "Xiaochen-Stimme",
    "glmVoiceJam": "Jam-Stimme",
    "glmVoiceKazi": "Kazi-Stimme",
    "glmVoiceDouji": "Douji-Stimme",
    "glmVoiceLuodo": "Luodo-Stimme",
    "qwenVoiceCherry": "Heiter, warm und natürlich",
    "qwenVoiceSerena": "Zart und sanft",
    "qwenVoiceEthan": "Energiegeladen und lebhaft",
    "qwenVoiceChelsie": "Virtuelle Anime-Freundin",
    "qwenVoiceMomo": "Verspielt und fröhlich",
    "qwenVoiceVivian": "Niedlich und frech",
    "qwenVoiceMoon": "Cool und attraktiv",
    "qwenVoiceMaia": "Intellektuell und sanft",
    "qwenVoiceKai": "Wellness für deine Ohren",
    "qwenVoiceNofish": "Designer, der keine retroflexen Laute aussprechen kann",
    "qwenVoiceBella": "Kleine Loli, die nicht betrunken wird",
    "qwenVoiceJennifer": "Hochwertige, filmreife amerikanische Frauenstimme",
    "qwenVoiceRyan": "Schnelle, dramatische Darbietung",
    "qwenVoiceKaterina": "Reife Dame mit einprägsamem Rhythmus",
    "qwenVoiceAiden": "Amerikanischer Junge, der meisterhaft kocht",
    "qwenVoiceEldricSage": "Besonnener und weiser Ältester",
    "qwenVoiceMia": "Sanft wie Quellwasser, wohlerzogen wie Schnee",
    "qwenVoiceMochi": "Kluger kleiner Erwachsener mit kindlicher Unschuld",
    "qwenVoiceBellona": "Laute Stimme, klare Aussprache, lebendige Figuren",
    "qwenVoiceVincent": "Einzigartige raue Stimme, die von Krieg und Ehre erzählt",
    "qwenVoiceBunny": "Superniedliche Loli",
    "qwenVoiceNeil": "Professioneller Nachrichtensprecher",
    "qwenVoiceElias": "Professioneller Kursleiter",
    "qwenVoiceArthur": "Schlichte Stimme, geprägt vom Lauf der Jahre und trockenem Tabak",
    "qwenVoiceNini": "Sanfte, anschmiegsame Stimme wie Klebreiskuchen",
    "qwenVoiceEbona": "Ihr Flüstern klingt wie ein rostiger Schlüssel",
    "qwenVoiceSeren": "Sanfte, beruhigende Stimme zum Einschlafen",
    "qwenVoicePip": "Frech, aber voller kindlicher Unschuld",
    "qwenVoiceStella": "Süße, verwirrte Mädchenstimme, die beim Rufen bestimmt klingt",
    "qwenVoiceBodega": "Begeisterter spanischer Onkel",
    "qwenVoiceSonrisa": "Begeisterte lateinamerikanische Dame",
    "qwenVoiceAlek": "Kalt wie eine Kriegernation, warm unter dem Wollmantel",
    "qwenVoiceDolce": "Gemütlicher italienischer Onkel",
    "qwenVoiceSohee": "Sanfte, fröhliche koreanische Unnie",
    "qwenVoiceOnoAnna": "Schelmische Freundin aus Kindertagen",
    "qwenVoiceLenn": "Rationaler deutscher Jugendlicher, der Anzug trägt und Post-Punk hört",
    "qwenVoiceEmilien": "Romantischer französischer großer Bruder",
    "qwenVoiceAndre": "Magnetische, natürliche und ruhige Männerstimme",
    "qwenVoiceRadioGol": "Fußballpoet Rádio Gol!",
    "qwenVoiceJada": "Lebhafte Dame aus Shanghai",
    "qwenVoiceDylan": "Junge aus Peking",
    "qwenVoiceLi": "Geduldiger Yogalehrer",
    "qwenVoiceMarcus": "Breites Gesicht, knappe Worte, aufrichtiges Herz – echter alter Shaanxi-Stil",
    "qwenVoiceRoy": "Humorvoller und direkter Junge aus Taiwan",
    "qwenVoicePeter": "Professioneller Stichwortgeber im Tianjiner Xiangsheng",
    "qwenVoiceSunny": "Süßes Mädchen aus Sichuan",
    "qwenVoiceEric": "Gentleman aus Chengdu",
    "qwenVoiceRocky": "Humorvoller Typ aus Hongkong",
    "qwenVoiceKiki": "Süßes Mädchen aus Hongkong",
    "lang_auto": "Automatisch erkennen",
    "lang_zh": "中文",
    "lang_yue": "粤語",
    "lang_en": "English",
    "lang_ja": "日本語",
    "lang_ko": "한국어",
    "lang_es": "Español",
    "lang_fr": "Français",
    "lang_de": "Deutsch",
    "lang_ru": "Русский",
    "lang_ar": "العربية",
    "lang_pt": "Português",
    "lang_it": "Italiano",
    "lang_af": "Afrikaans",
    "lang_hy": "Հայերեն",
    "lang_az": "Azərbaycan",
    "lang_be": "Беларуская",
    "lang_bs": "Bosanski",
    "lang_bg": "Български",
    "lang_ca": "Català",
    "lang_hr": "Hrvatski",
    "lang_cs": "Čeština",
    "lang_da": "Dansk",
    "lang_nl": "Nederlands",
    "lang_et": "Eesti",
    "lang_fi": "Suomi",
    "lang_gl": "Galego",
    "lang_el": "Ελληνικά",
    "lang_he": "עברית",
    "lang_hi": "हिन्दी",
    "lang_hu": "Magyar",
    "lang_is": "Íslenska",
    "lang_id": "Bahasa Indonesia",
    "lang_kn": "ಕನ್ನಡ",
    "lang_kk": "Қазақша",
    "lang_lv": "Latviešu",
    "lang_lt": "Lietuvių",
    "lang_mk": "Македонски",
    "lang_ms": "Bahasa Melayu",
    "lang_mr": "मराठी",
    "lang_mi": "Te Reo Māori",
    "lang_ne": "नेपाली",
    "lang_no": "Norsk",
    "lang_fa": "فارسی",
    "lang_pl": "Polski",
    "lang_ro": "Română",
    "lang_sr": "Српски",
    "lang_sk": "Slovenčina",
    "lang_sl": "Slovenščina",
    "lang_sw": "Kiswahili",
    "lang_sv": "Svenska",
    "lang_tl": "Tagalog",
    "lang_fil": "Filipino",
    "lang_ta": "தமிழ்",
    "lang_th": "ไทย",
    "lang_tr": "Türkçe",
    "lang_uk": "Українська",
    "lang_ur": "اردو",
    "lang_vi": "Tiếng Việt",
    "lang_cy": "Cymraeg",
    "lang_zh-CN": "中文（简体，中国）",
    "lang_zh-TW": "中文（繁體，台灣）",
    "lang_zh-HK": "粵語（香港）",
    "lang_yue-Hant-HK": "粵語（繁體）",
    "lang_en-US": "English (United States)",
    "lang_en-GB": "English (United Kingdom)",
    "lang_en-AU": "English (Australia)",
    "lang_en-CA": "English (Canada)",
    "lang_en-IN": "English (India)",
    "lang_en-NZ": "English (New Zealand)",
    "lang_en-ZA": "English (South Africa)",
    "lang_ja-JP": "日本語（日本）",
    "lang_ko-KR": "한국어（대한민국）",
    "lang_de-DE": "Deutsch (Deutschland)",
    "lang_fr-FR": "Français (France)",
    "lang_es-ES": "Español (España)",
    "lang_es-MX": "Español (México)",
    "lang_es-AR": "Español (Argentina)",
    "lang_es-CO": "Español (Colombia)",
    "lang_it-IT": "Italiano (Italia)",
    "lang_pt-BR": "Português (Brasil)",
    "lang_pt-PT": "Português (Portugal)",
    "lang_ru-RU": "Русский (Россия)",
    "lang_nl-NL": "Nederlands (Nederland)",
    "lang_pl-PL": "Polski (Polska)",
    "lang_cs-CZ": "Čeština (Česko)",
    "lang_da-DK": "Dansk (Danmark)",
    "lang_fi-FI": "Suomi (Suomi)",
    "lang_sv-SE": "Svenska (Sverige)",
    "lang_no-NO": "Norsk (Norge)",
    "lang_tr-TR": "Türkçe (Türkiye)",
    "lang_el-GR": "Ελληνικά (Ελλάδα)",
    "lang_hu-HU": "Magyar (Magyarország)",
    "lang_ro-RO": "Română (România)",
    "lang_sk-SK": "Slovenčina (Slovensko)",
    "lang_bg-BG": "Български (България)",
    "lang_hr-HR": "Hrvatski (Hrvatska)",
    "lang_ca-ES": "Català (Espanya)",
    "lang_ar-SA": "العربية (السعودية)",
    "lang_ar-EG": "العربية (مصر)",
    "lang_he-IL": "עברית (ישראל)",
    "lang_hi-IN": "हिन्दी (भारत)",
    "lang_th-TH": "ไทย (ประเทศไทย)",
    "lang_vi-VN": "Tiếng Việt (Việt Nam)",
    "lang_id-ID": "Bahasa Indonesia (Indonesia)",
    "lang_ms-MY": "Bahasa Melayu (Malaysia)",
    "lang_fil-PH": "Filipino (Pilipinas)",
    "lang_af-ZA": "Afrikaans (Suid-Afrika)",
    "lang_uk-UA": "Українська (Україна)",
    "pdfSettings": "PDF-Parsing",
    "documentParsingSettings": "Dokument-Parsing",
    "supportedFormats": "Unterstützte Formate",
    "mineruSelfHostFormatsNote": "PDF- und Bild-Parsing erfordern die Extras mineru[pipeline] oder mineru[core] auf deinem MinerU-Server. Leichtgewichtige mineru-api-Installationen können möglicherweise nur Office-Dokumente verarbeiten.",
    "pdfParsingSettings": "PDF-Parsing-Einstellungen",
    "pdfDescription": "PDF-Parsing-Engine mit Unterstützung für Textextraktion, Bildverarbeitung und Tabellenerkennung auswählen",
    "pdfProvider": "PDF-Parser",
    "pdfFeatures": "Unterstützte Funktionen",
    "pdfApiKey": "API-Schlüssel",
    "pdfBaseUrl": "Basis-URL",
    "mineruDescription": "MinerU ist ein kommerzieller PDF-Parsing-Dienst mit erweiterten Funktionen wie Tabellenextraktion, Formelerkennung und Layoutanalyse.",
    "mineruApiKeyRequired": "Vor der Nutzung musst du auf der MinerU-Website einen API-Schlüssel beantragen.",
    "mineruWarning": "Warnung",
    "mineruCostWarning": "MinerU ist ein kommerzieller Dienst, bei dessen Nutzung Kosten entstehen können. Preisdetails findest du auf der MinerU-Website.",
    "enterMinerUApiKey": "MinerU-API-Schlüssel eingeben",
    "mineruLocalDescription": "MinerU unterstützt die lokale Bereitstellung mit erweitertem PDF-Parsing (Tabellen, Formeln, Layoutanalyse). Der MinerU-Dienst muss zuerst bereitgestellt werden.",
    "mineruServerAddress": "Adresse des lokalen MinerU-Servers (z. B. http://localhost:8080)",
    "mineruApiKeyOptional": "Nur erforderlich, wenn die Authentifizierung auf dem Server aktiviert ist",
    "mineruCloudApiKeyPlaceholder": "MinerU Cloud-API-Schlüssel eingeben",
    "optionalApiKey": "Optionaler API-Schlüssel",
    "featureText": "Textextraktion",
    "featureImages": "Bildextraktion",
    "featureTables": "Tabellenextraktion",
    "featureFormulas": "Formelerkennung",
    "featureLayoutAnalysis": "Layoutanalyse",
    "featureMetadata": "Metadaten",
    "enableImageGeneration": "KI-Bildgenerierung aktivieren",
    "imageGenerationDisabledHint": "Wenn aktiviert, werden bei der Kurserstellung automatisch Bilder generiert",
    "imageSettings": "Bildgenerierung",
    "imageSection": "Text-zu-Bild",
    "imageProvider": "Anbieter für Bildgenerierung",
    "imageModel": "Bildgenerierungsmodell",
    "providerSeedream": "Seedream (ByteDance)",
    "providerOpenAIImage": "OpenAI Image",
    "providerQwenImage": "Qwen Image (Alibaba)",
    "providerNanoBanana": "Nano Banana (Gemini)",
    "providerMiniMaxImage": "MiniMax Image",
    "providerGrokImage": "Grok Image (xAI)",
    "providerComfyUIImage": "ComfyUI Image",
    "providerLemonadeImage": "Lemonade Image (Lokal)",
    "testImageGeneration": "Bildgenerierung testen",
    "testImageConnectivity": "Verbindung testen",
    "imageConnectivitySuccess": "Verbindung zum Bilddienst erfolgreich hergestellt",
    "imageConnectivityFailed": "Verbindung zum Bilddienst fehlgeschlagen",
    "imageTestSuccess": "Test der Bildgenerierung erfolgreich",
    "imageTestFailed": "Test der Bildgenerierung fehlgeschlagen",
    "imageTestPromptPlaceholder": "Bildbeschreibung zum Testen eingeben",
    "imageTestPromptDefault": "Eine niedliche Katze sitzt auf einem Schreibtisch",
    "imageGenerating": "Bild wird generiert ...",
    "imageGenerationFailed": "Bildgenerierung fehlgeschlagen",
    "enableVideoGeneration": "KI-Videogenerierung aktivieren",
    "videoGenerationDisabledHint": "Wenn aktiviert, werden bei der Kurserstellung automatisch Videos generiert",
    "videoSettings": "Videogenerierung",
    "videoSection": "Text-zu-Video",
    "videoProvider": "Anbieter für Videogenerierung",
    "videoModel": "Videogenerierungsmodell",
    "providerSeedance": "Seedance (ByteDance)",
    "providerKling": "Kling (Kuaishou)",
    "providerVeo": "Veo (Google)",
    "providerSora": "Sora (OpenAI)",
    "providerMiniMaxVideo": "MiniMax Video",
    "providerGrokVideo": "Grok Video (xAI)",
    "providerHappyHorse": "HappyHorse (Alibaba Cloud)",
    "testVideoGeneration": "Videogenerierung testen",
    "testVideoConnectivity": "Verbindung testen",
    "videoConnectivitySuccess": "Verbindung zum Videodienst erfolgreich hergestellt",
    "videoConnectivityFailed": "Verbindung zum Videodienst fehlgeschlagen",
    "testingConnection": "Verbindung wird getestet ...",
    "videoTestSuccess": "Test der Videogenerierung erfolgreich",
    "videoTestFailed": "Test der Videogenerierung fehlgeschlagen",
    "videoTestPromptDefault": "Eine niedliche Katze läuft auf einem Schreibtisch",
    "videoGenerating": "Video wird generiert (ca. 1–2 Min.) ...",
    "videoGenerationWarning": "Die Videogenerierung dauert normalerweise 1–2 Minuten. Bitte hab etwas Geduld.",
    "mediaRetry": "Erneut versuchen",
    "mediaContentSensitive": "Dieser Inhalt hat leider eine Sicherheitsprüfung ausgelöst.",
    "mediaGenerationDisabled": "Generierung in den Einstellungen deaktiviert",
    "singleAgent": "Einzelagent",
    "multiAgent": "Mehrere Agenten",
    "selectAgents": "Agenten auswählen",
    "noVisionWarning": "Das aktuelle Modell unterstützt keine Bildverarbeitung. Bilder können weiterhin in Folien eingefügt werden, aber das Modell kann den Bildinhalt nicht verstehen, um Auswahl und Layout zu optimieren",
    "serverConfigured": "Server",
    "serverConfiguredNotice": "Dieser Anbieter wird vom Server verwaltet und kann hier nicht bearbeitet werden. Um eigene Zugangsdaten zu verwenden, füge einen separaten Anbieter hinzu.",
    "ttsProviderEnabledLabel": "Diesen Anbieter aktivieren",
    "ttsProviderEnabledHint": "Wenn deaktiviert, wird dieser Anbieter in der Stimmauswahl ausgeblendet und nie automatisch zugewiesen.",
    "ttsProviderUnavailableHint": "Konfiguriere diesen Anbieter, bevor du ihn aktivierst.",
    "ttsProviderDisabledByAdmin": "Dieser Anbieter wurde von der Serveradministration deaktiviert und kann nicht aktiviert werden.",
    "optionalOverride": "Optional – leer lassen, um die Serverkonfiguration zu verwenden",
    "setupNeeded": "Einrichtung erforderlich",
    "modelNotConfigured": "Wähle zunächst ein Modell aus",
    "dangerZone": "Gefahrenbereich",
    "clearCache": "Lokalen Cache leeren",
    "clearCacheDescription": "Alle lokal gespeicherten Daten löschen, einschließlich gespeicherter Kurse, Chatverlauf, Audio-Cache und App-Einstellungen. Diese Aktion kann nicht rückgängig gemacht werden.",
    "clearCacheConfirmTitle": "Möchtest du wirklich den gesamten Cache leeren?",
    "clearCacheConfirmDescription": "Dadurch werden alle folgenden Daten endgültig gelöscht und können nicht wiederhergestellt werden:",
    "clearCacheConfirmItems": "Kurse und Szenen, Chatverlauf, Audio- und Bild-Cache, App-Einstellungen und Präferenzen",
    "clearCacheConfirmInput": "Gib zum Fortfahren \"DELETE\" ein",
    "clearCacheConfirmPhrase": "DELETE",
    "clearCacheButton": "Alle Daten endgültig löschen",
    "clearCacheSuccess": "Cache geleert. Die Seite wird in Kürze aktualisiert",
    "clearCacheFailed": "Cache konnte nicht geleert werden. Versuche es erneut.",
    "clearCacheBlockedByOtherTabs": "Schließe andere App-Tabs und versuche es erneut.",
    "persistUnavailable": "Deine Änderungen werden nicht gespeichert, da die App nicht auf ihren Datenspeicher zugreifen kann. Wenn ein Neuladen nicht hilft, leere den lokalen Cache in den Einstellungen.",
    "persistChangesLost": "Der Speicher funktioniert wieder. Änderungen, die du während des Ausfalls vorgenommen hast, konnten jedoch nicht gespeichert werden und wurden durch die zuletzt gespeicherte Version ersetzt.",
    "webSearchSettings": "Websuche",
    "webSearchApiKey": "Such-API-Schlüssel",
    "webSearchApiKeyPlaceholder": "Such-API-Schlüssel eingeben",
    "webSearchApiKeyPlaceholderServer": "Serverschlüssel konfiguriert, optional überschreiben",
    "webSearchApiKeyHint": "API-Schlüssel vom ausgewählten Suchanbieter beziehen",
    "claudeSearchModel": "Suchmodell",
    "claudeSearchModelHint": "Das Claude-Modell, das Websuchen ausführt und Ergebnisse zusammenfasst.",
    "webSearchApiKeyOptional": "Der API-Schlüssel ist optional. Ohne Schlüssel werden ersatzweise öffentlich zugängliche Seiten ausgelesen.",
    "searxngServerOnlyNotice": "SearXNG muss auf dem Server konfiguriert werden. Setze die Umgebungsvariable SEARXNG_BASE_URL (oder den Abschnitt web-search in server-providers.yml). Von Clients angegebene Instanz-URLs werden nicht akzeptiert.",
    "baiduSubSources": "Baidu-Suchquellen",
    "baiduSubSourcesDescription": "Wähle mindestens eine abzufragende Baidu-Quelle aus.",
    "baiduSubSourceWeb": "Websuche",
    "baiduSubSourceWebDescription": "Allgemeine Webseiten aus Baidu AI Search.",
    "baiduSubSourceBaike": "Baidu Baike",
    "baiduSubSourceBaikeDescription": "Enzyklopädieeinträge aus Baidu Baike.",
    "baiduSubSourceScholar": "Baidu Scholar",
    "baiduSubSourceScholarDescription": "Wissenschaftliche Arbeiten aus Baidu Scholar.",
    "viewDocs": "API-Dokumentation",
    "webSearchBaseUrl": "Basis-URL",
    "webSearchServerConfigured": "Serverseitiger Such-API-Schlüssel ist konfiguriert",
    "optional": "Optional",
    "selectProvider": "Anbieter auswählen",
    "customProvider": "Benutzerdefiniert",
    "presetPickHint": "Bei Auswahl eines Anbieters werden Basis-URL und Protokoll automatisch ausgefüllt. Gib deinen Schlüssel ein und klicke dann auf \"Modelle abrufen\". Nicht aufgeführt? Wähle \"Benutzerdefiniert\".",
    "presetCategory": {
      "tokenPlan": "Token-Tarife",
      "aggregator": "Aggregatoren",
      "thirdParty": "Drittanbieter",
      "official": "Offiziell"
    },
    "fetchModels": "Modelle abrufen",
    "fetchModelsResult": "{total} Modelle abgerufen, {added} hinzugefügt",
    "fetchModelsNoEndpoint": "Dieser Anbieter hat keinen Endpunkt für Modelllisten – füge Modelle manuell hinzu",
    "fetchModelsAuthError": "API-Schlüssel ist ungültig oder abgelaufen",
    "fetchModelsFailed": "Modelle konnten nicht abgerufen werden",
    "usage": {
      "title": "Nutzung",
      "refresh": "Aktualisieren",
      "disclaimer": "Die Nutzung wird vom System erfasst; nur serverseitige Aufrufe werden gezählt.",
      "totalRequests": "Anfragen",
      "totalTokens": "LLM-Tokens",
      "dailyTrend": "Täglicher Token-Verlauf",
      "tokens": "Tokens",
      "byModel": "Nach Modell",
      "model": "Modell",
      "type": "Typ",
      "reqs": "Anfr.",
      "usage": "Nutzung",
      "empty": "Noch keine Nutzungsdaten",
      "kindLlm": "LLM",
      "kindImage": "Bild",
      "kindVideo": "Video",
      "kindTts": "Sprachausgabe",
      "kindAsr": "ASR",
      "unitToken": "Tokens",
      "unitImage": "Bilder",
      "unitSecond": "Sek.",
      "unitCharacter": "Zeichen"
    },
    "tokenPlan": {
      "nav": "Token-Tarif",
      "title": "Token-Tarif einrichten",
      "desc": "Wähle deinen Token-Tarifanbieter und gib den Schlüssel ein – damit werden alle angebundenen Modalitäten automatisch konfiguriert (LLM/Bild/Video/Sprachausgabe/Websuche).",
      "selectPlan": "Anbieter auswählen",
      "apiKey": "API-Schlüssel",
      "enable": "Aktivieren",
      "updateKey": "Schlüssel aktualisieren",
      "modelsCount": "Modelle: {{n}}",
      "capabilities": "Angebotene Funktionen",
      "offeredNote": "Von diesem Tarif angebotene Modelle. Wähle die gewünschten Modelle für die Generierungsleiste aus. Die Verfügbarkeit hängt von deiner Tarifstufe ab; nicht unterstützte Modelle führen bei der Generierung zu einem Fehler."
    },
    "skills": {
      "nav": "Skills",
      "title": "Skill-Einstellungen",
      "description": "Durchsuche die für dein Konto installierten Skills, sieh dir einen Skill an und lade ihn als zip herunter, um ihn zu teilen oder zu sichern.",
      "mySkills": "Meine Skills",
      "builtinSkills": "Eingebaute Skills",
      "emptyMySkills": "Noch keine eigenen Skills — lass den Agenten in einem Chat einen aus dem Verlauf erstellen.",
      "emptyBuiltinSkills": "Keine eingebauten Skills verfügbar.",
      "listFailed": "Die Skill-Liste konnte nicht geladen werden",
      "retry": "Erneut versuchen",
      "badgeBuiltin": "Eingebaut",
      "badgeOwner": "Mein Skill",
      "badgeConstraints": "Einschränkungen",
      "details": "Details",
      "download": "Herunterladen",
      "detailFailed": "Die Skill-Details konnten nicht geladen werden",
      "contentLabel": "Inhalt",
      "builtinDetailNote": "Dieser Skill ist in OpenMAIC enthalten. Lade ihn herunter, um ihn in einen anderen Agenten-Arbeitsbereich zu importieren.",
      "upload": "Hochladen",
      "uploading": "Wird hochgeladen…",
      "uploadFailed": "Der Skill konnte nicht hochgeladen werden. Prüfe die Datei und versuche es erneut.",
      "delete": "Löschen",
      "deleting": "Wird gelöscht…",
      "deleteTitle": "Skill löschen?",
      "deleteConfirm": "Dadurch wird der Skill aus deinem Konto entfernt. Diese Aktion kann nicht rückgängig gemacht werden.",
      "deleteFailed": "Der Skill konnte nicht gelöscht werden. Versuche es erneut."
    },
    "ttsBrowserNativeTimelineNotice": "Browserintegrierte TTS unterstützt die Audiofunktionen der Editor-Zeitleiste nicht (Vorschau, erneute Generierung und Sammelvertonung). Wechsle zu einem verwalteten TTS-Anbieter, um Audio für einzelne Zeilen zu generieren und zu verwalten.",
    "alidocmindAccessKeyId": "AccessKey ID",
    "alidocmindAccessKeySecret": "AccessKey Secret"
  },
  "workspace": {
    "untitledCourse": "未命名课堂",
    "sceneCount": "{{count}} 页",
    "sceneCount_one": "{{count}} 页",
    "sceneCount_other": "{{count}} 页",
    "courseLinkHint": "在右侧打开《{{name}}》",
    "courseLinkMore": "还有 {{count}} 节课堂",
    "courseMention": {
      "title": "为这条消息引用课堂",
      "empty": "没有匹配的课堂",
      "alreadyNamed": "已引用",
      "remove": "移除{{name}}",
      "pillHint": "这条消息引用了「{{name}}」",
      "notAccepted": "Der Server ist vorübergehend nicht verfügbar. Bitte versuche es gleich noch einmal.",
      "reference": "引用「{{name}}」",
      "capped": "仅显示前 {{count}} 个，继续输入以缩小范围"
    },
    "heroTitle": "What will you create today?",
    "heroSubtitle": "Share an idea and turn it into a learning journey people can step into",
    "newSession": "New chat",
    "sections": {
      "courses": "Courses",
      "sessions": "Chats"
    },
    "coursesEmpty": "No courses yet",
    "sessionsEmpty": "No chats yet",
    "loading": "Loading",
    "loadFailed": "Couldn't load",
    "retry": "Retry",
    "untitledSession": "Untitled chat",
    "pagePosition": "Page {{index}} of {{total}}",
    "exitPro": "Exit Pro",
    "navAria": "Workspace navigation",
    "homeAria": "Back to home",
    "currentSession": "Current chat",
    "startLearning": "Start learning",
    "time": {
      "justNow": "Just now",
      "minutesAgo": "{{count}}m ago",
      "hoursAgo": "{{count}}h ago",
      "daysAgo": "{{count}}d ago"
    },
    "sessionStatus": {
      "connecting": "Connecting",
      "queued": "Queued",
      "running": "Running",
      "succeeded": "Ready",
      "failed": "Needs attention",
      "cancelled": "Stopped"
    },
    "backToWorkspace": "Back to workspace",
    "searchPlaceholder": "Filter by name",
    "searchAria": "Search {{section}}",
    "searchEmpty": "No matches",
    "showMore": "Show {{count}} more",
    "showLess": "Show less",
    "utilitiesAria": "Preferences and account",
    "resizeAria": "Drag to resize the sidebar",
    "chatPaneAria": "Chat panel",
    "classroomPaneAria": "Classroom",
    "collapseNav": "Collapse navigation",
    "expandNav": "Expand navigation",
    "expandNavInto": "Expand navigation · {{section}}",
    "collapseChat": "Collapse conversation",
    "expandChat": "Conversation",
    "collapseClassroom": "Collapse classroom",
    "expandClassroom": "Classroom",
    "readOnlyBadge": "Read-only",
    "noCourseTitle": "No course open",
    "noCourseHint": "Open one from a course link in the conversation, or pick one from the list on the left — the conversation stays put",
    "resizeChatAria": "Drag to resize the conversation pane",
    "firstPageLanding": "The first page is landing…",
    "autoSaving": "Wird automatisch gespeichert…",
    "autoSaved": "Gespeichert",
    "collapsedTitle": "Both panes are collapsed",
    "collapsedHint": "Use the tabs on the left to bring the conversation or the classroom back",
    "moreUtilities": "More",
    "rowMore": "More actions for {{name}}",
    "folderDeleteHint": "Die Kurse darin wandern zurück auf die oberste Ebene. Nichts wird gelöscht.",
    "dropToUnfile": "Hier ablegen, um aus dem Ordner zu nehmen",
    "renameInvalid": "Der Name muss 1–120 Zeichen lang sein",
    "renameForbidden": "Dieser Kurs stammt nicht von dir und kann nicht umbenannt werden",
    "renameGone": "Dieser Kurs existiert nicht mehr",
    "renameSession": "Chat umbenennen",
    "renameSessionAria": "Chat „{{name}}“ umbenennen",
    "renameSessionFailed": "Umbenennen fehlgeschlagen, bitte erneut versuchen",
    "delete": "Delete",
    "confirmDelete": "Confirm delete",
    "deleting": "Deleting…",
    "deleteFailed": "Couldn't delete. Please try again.",
    "tabsAria": "Chats and courses",
    "courseTabsAria": "Open courses",
    "courseTabClose": "Close tab: {{name}}",
    "courseTabRunning": "Generating",
    "foldersUnavailable": "Ordner sind in dieser Version nicht verfügbar"
  },
  "profile": {
    "title": "Profil",
    "defaultNickname": "Lerntalent",
    "chooseAvatar": "Avatar auswählen",
    "uploadAvatar": "Hochladen",
    "bioPlaceholder": "Erzähl etwas über dich – so kann die KI-Lehrkraft den Unterricht auf dich zuschneiden…",
    "avatarHint": "Dein Avatar erscheint in Diskussionsrunden und Chats im Kurs",
    "fileTooLarge": "Das Bild ist zu groß – wähle bitte eines unter 5 MB",
    "invalidFileType": "Bitte wähle eine Bilddatei aus",
    "editTooltip": "Zum Bearbeiten des Profils klicken"
  },
  "media": {
    "imageCapability": "Bildgenerierung",
    "imageHint": "Bilder für Folien generieren",
    "videoCapability": "Videogenerierung",
    "videoHint": "Videos für Folien generieren",
    "ttsCapability": "Text-to-Speech",
    "ttsHint": "KI-Lehrkraft liest Inhalte vor",
    "asrCapability": "Spracherkennung",
    "asrHint": "Spracheingabe für Diskussionsrunden",
    "provider": "Anbieter",
    "model": "Modell",
    "voice": "Stimme",
    "speed": "Geschwindigkeit",
    "language": "Sprache"
  },
  "accessCode": {
    "title": "Zugangscode eingeben",
    "placeholder": "Zugangscode",
    "error": "Ungültiger Zugangscode. Bitte versuche es erneut."
  },
  "proMode": {
    "attach": "Attach material",
    "mentionCourse": "引用课堂",
    "loadSkill": "加载 skill",
    "skillMenuTitle": "选择课程设计技能",
    "skillsLoading": "正在加载 skill…",
    "noSkillsAvailable": "暂无可用 skill",
    "userSkillsGroup": "我的 Skill",
    "builtinSkillsGroup": "内置 Skill",
    "skillsLoadFailed": "Skill 加载失败，点击重试",
    "retrySkills": "重试",
    "noSkillMatch": "没有匹配“{{query}}”的 Skill",
    "badgeAria": "Pro mode",
    "badgeEnter": "Pro mode",
    "badgeExit": "Back to classic",
    "launchPlaceholder": "Describe the learning experience you want to create",
    "launchSend": "Start build"
  },
  "workbench": {
    "tool": {
      "label": {
        "extractMaterial": null,
        "waitMaterials": null
      },
      "error": {
        "materialExtraction": null
      }
    }
  }
}
