import type { TranslationKeys } from "./en.js";

export const de: TranslationKeys = {
  common: {
    upload: "Vom Computer hochladen",
    process: "Verarbeiten",
    download: "Herunterladen",
    cancel: "Abbrechen",
    save: "Speichern",
    delete: "Löschen",
    settings: "Einstellungen",
    search: "Werkzeuge suchen...",
    dropFiles: "Dateien hierher ziehen oder auf die Schaltfläche klicken",
    loading: "Wird geladen...",
    saving: "Wird gespeichert...",
    error: "Ein Fehler ist aufgetreten",
    confirm: "Bestätigen",
    close: "Schließen",
    back: "Zurück",
    next: "Weiter",
    clear: "Leeren",
    copy: "Kopieren",
    copied: "Kopiert!",
    noResults: "Keine Ergebnisse gefunden",
    showLess: "Weniger anzeigen",
    showMore: "{count} weitere anzeigen",
    experimental: "Experimentell",
    enabled: "Aktiviert",
    disabled: "Deaktiviert",
    rename: "Umbenennen",
    edit: "Bearbeiten",
    actions: "Aktionen",
    create: "Erstellen",
    or: "oder",
    goHome: "Zur Startseite",
    somethingWentWrong: "Etwas ist schiefgelaufen",
    unexpectedError: "Ein unerwarteter Fehler ist aufgetreten.",
    retry: "Erneut versuchen",
    privacyPolicy: "Datenschutzerklärung",
    pageNotFound: "Seite nicht gefunden",
    pageNotFoundDescription: "Die gesuchte Seite existiert nicht oder wurde verschoben.",
  },
  categories: {
    essentials: "Grundlagen",
    adjustments: "Anpassungen",
    enhance: "Verbessern & AI",
    watermark: "Wasserzeichen & Overlay",
    layout: "Layout & Komposition",
    utilities: "Hilfswerkzeuge",
    optimization: "Optimierung",
    format: "Format & Konvertierung",
    "video-edit": "Video",
    "video-convert": "Konvertieren",
    "video-effects": "Effekte & Zusammensetzen",
    "video-subtitles": "Untertitel",
    "video-metadata": "Metadaten",
    "audio-edit": "Bearbeiten",
    "audio-convert": "Konvertieren",
    "audio-effects": "Effekte & Zusammensetzen",
    "audio-metadata": "Metadaten",
    "pdf-organize": "Organisieren",
    "pdf-edit": "Bearbeiten & Annotieren",
    "pdf-security": "Sicherheit",
    "pdf-optimize": "Optimieren",
    "doc-convert": "Konvertieren",
    data: "Dateien",
    archives: "Archive",
  },
  modalities: {
    image: "Bild",
    video: "Video",
    audio: "Audio",
    documentsAndFiles: "PDF & Dateien",
  },
  tools: {
    resize: {
      name: "Größe ändern",
      description: "Größe nach Pixeln, Prozent oder Social-Media-Vorlagen ändern",
    },
    crop: {
      name: "Zuschneiden",
      description: "Freies Zuschneiden, Seitenverhältnis-Vorlagen, Formzuschnitt",
    },
    rotate: {
      name: "Drehen & Spiegeln",
      description: "Bilder drehen, spiegeln und begradigen",
    },
    convert: {
      name: "Konvertieren",
      description: "Zwischen Bildformaten konvertieren",
    },
    compress: {
      name: "Komprimieren",
      description: "Dateigröße durch Qualität oder Zielgröße reduzieren",
    },
    "optimize-for-web": {
      name: "Für Web optimieren",
      description:
        "Bilder für das Web optimieren mit Formatkonvertierung, Qualitätssteuerung und Vorschau",
    },
    "strip-metadata": {
      name: "Metadaten entfernen",
      description: "EXIF-, GPS- und Kamerainformationen entfernen",
    },
    "edit-metadata": {
      name: "Metadaten bearbeiten",
      description: "EXIF, IPTC, XMP, GPS, Schlüsselwörter und Daten bearbeiten",
    },
    "bulk-rename": {
      name: "Massenumbenennung",
      description: "Mehrere Dateien mit Mustern umbenennen",
    },
    "image-to-pdf": {
      name: "Bild zu PDF",
      description: "Bilder zu einem PDF-Dokument zusammenfügen",
    },
    "pdf-to-image": {
      name: "PDF zu Bild",
      description: "PDF-Seiten in Bilder konvertieren",
    },
    favicon: {
      name: "Favicon-Generator",
      description: "Alle Favicon- und App-Symbolgrößen generieren",
    },
    "adjust-colors": {
      name: "Farben anpassen",
      description: "Helligkeit, Kontrast, Belichtung, Sättigung, Temperatur, Schärfe und Effekte",
    },
    sharpening: {
      name: "Schärfen",
      description: "Adaptives, Unscharf-Maskieren- und Hochpass-Schärfen mit Vorlagen",
    },
    "replace-color": {
      name: "Farbe ersetzen & invertieren",
      description: "Bestimmte Farben ersetzen oder invertieren",
    },
    "color-blindness": {
      name: "Farbenblindheit-Simulation",
      description: "Simulieren Sie, wie Bilder bei verschiedenen Farbsehschwächen erscheinen",
    },
    "remove-background": {
      name: "Hintergrund entfernen",
      description: "AI-gestützte Hintergrundentfernung",
    },
    upscale: {
      name: "Bildskalierung",
      description: "AI-Superauflösung zur Bildverbesserung",
    },
    "erase-object": {
      name: "Objektentferner",
      description: "Unerwünschte Objekte mit AI entfernen",
    },
    ocr: {
      name: "OCR / Texterkennung",
      description: "Text aus Bildern mit AI-gestützter Genauigkeit extrahieren",
    },
    "ocr-pdf": {
      name: "PDF-OCR",
      description: "Text aus PDF-Dokumenten mit KI-gestützter OCR extrahieren",
    },
    "blur-faces": {
      name: "Gesichter / PII weichzeichnen",
      description: "Gesichter und sensible Daten automatisch erkennen und weichzeichnen",
    },
    "enhance-faces": {
      name: "Gesichtsverbesserung",
      description: "Gesichter mit AI wiederherstellen und verbessern",
    },
    "smart-crop": {
      name: "Intelligenter Zuschnitt",
      description: "Intelligenter Motiv-, Gesichts- oder Randzuschnitt",
    },
    "image-enhancement": {
      name: "Bildverbesserung",
      description:
        "Ein-Klick-Verbesserung mit intelligenter Belichtungs-, Kontrast-, Farb- und Schärfekorrektur",
    },
    "noise-removal": {
      name: "Rauschentfernung",
      description: "AI-gestützte Rausch- und Körnungsentfernung",
    },
    "red-eye-removal": {
      name: "Rote-Augen-Korrektur",
      description: "AI-gestützte Rote-Augen-Erkennung und -Korrektur für Blitzfotos",
    },
    "restore-photo": {
      name: "Fotorestaurierung",
      description: "Kratzer, Risse und Schäden an alten Fotos mit AI reparieren",
    },
    "content-aware-resize": {
      name: "Inhaltsabhängige Größenänderung",
      description: "Bilder intelligent skalieren und wichtige Inhalte beibehalten",
    },
    "ai-canvas-expand": {
      name: "AI-Leinwanderweiterung",
      description: "Leinwand mit AI-gestützter Füllung erweitern",
    },
    colorize: {
      name: "AI-Kolorierung",
      description: "Schwarz-Weiß-Fotos mit AI-Deep-Learning-Modellen in Vollfarbe umwandeln",
    },
    "passport-photo": {
      name: "Passfoto",
      description:
        "Normgerechte Pass-, Visa- und Ausweisfotos mit automatischer Gesichtserkennung erstellen",
    },
    "transcribe-audio": {
      name: "Audio transkribieren",
      description: "Sprache mit KI-gestützter Transkription in Text umwandeln",
    },
    "auto-subtitles": {
      name: "Automatische Untertitel",
      description: "Untertiteldateien aus Video-Audiospuren generieren",
    },
    "transparency-fixer": {
      name: "PNG-Transparenzkorrektur",
      description: "Unechte transparente PNGs mit einem Klick reparieren",
    },
    "background-replace": {
      name: "Hintergrund ersetzen",
      description: "Bildhintergrund durch eine einfarbige Fläche ersetzen",
    },
    "blur-background": {
      name: "Hintergrund unscharf",
      description: "Hintergrund unscharf stellen und Motiv scharf halten",
    },
    "watermark-text": {
      name: "Text-Wasserzeichen",
      description: "Text-Wasserzeichen hinzufügen",
    },
    "watermark-image": {
      name: "Bild-Wasserzeichen",
      description: "Logo als Wasserzeichen überlagern",
    },
    "text-overlay": {
      name: "Textüberlagerung",
      description: "Formatierten Text auf Bilder legen",
    },
    compose: {
      name: "Bildkomposition",
      description: "Bilder mit Position und Deckkraft übereinanderlegen",
    },
    "meme-generator": {
      name: "Meme-Generator",
      description:
        "Memes mit beliebten Vorlagen oder eigenen Bildern erstellen. Klassischer Impact-Stil mit anpassbaren Schriftarten, Farben und Positionen.",
    },
    info: {
      name: "Bildinformationen",
      description: "Alle Metadaten und Bildeigenschaften anzeigen",
    },
    compare: {
      name: "Bildvergleich",
      description: "Zwei Bilder nebeneinander vergleichen",
    },
    "find-duplicates": {
      name: "Duplikate finden",
      description: "Doppelte und nahezu identische Bilder erkennen",
    },
    "color-palette": {
      name: "Farbpalette",
      description: "Dominante Farben aus dem Bild extrahieren",
    },
    "qr-generate": {
      name: "QR-Code-Generator",
      description: "QR-Codes mit individuellen Farben, Mustern und Logos erstellen",
    },
    "html-to-image": {
      name: "HTML zu Bild",
      description: "Webseiten als hochwertige Bilder aufnehmen",
    },
    "barcode-read": {
      name: "Barcode-Leser",
      description: "Bilder nach QR-Codes, Barcodes und 2D-Codes scannen",
    },
    collage: {
      name: "Collage / Raster",
      description: "Bilder in Rastercollages mit über 25 Vorlagen zusammenfügen",
    },
    stitch: {
      name: "Zusammenfügen / Kombinieren",
      description: "Bilder nebeneinander, gestapelt oder im Raster verbinden",
    },
    split: {
      name: "Bildaufteilung",
      description: "Bilder in Rasterkacheln oder nach Pixelgröße aufteilen mit Vorschau",
    },
    border: {
      name: "Rahmen & Rand",
      description:
        "Ränder, Abstände, abgerundete Ecken und Schatten mit Ein-Klick-Vorlagen hinzufügen",
    },
    beautify: {
      name: "Screenshot verschönern",
      description:
        "Verlaufshintergründe, Geräterahmen, Schatten und Social-Media-Formate für Screenshots",
    },
    "circle-crop": {
      name: "Kreiszuschnitt",
      description: "Bild auf einen zentrierten Kreis mit transparenten Ecken zuschneiden",
    },
    duotone: {
      name: "Duotone",
      description: "Zweifarbigen Duotone-Effekt mit eigenen Schatten- und Lichtfarben anwenden",
    },
    "image-pad": {
      name: "Bild auffüllen",
      description: "Bild auf ein Seitenverhältnis mit einfarbigem Hintergrund auffüllen",
    },
    pixelate: {
      name: "Verpixeln",
      description: "Verpixelungseffekt auf das gesamte Bild oder einen bestimmten Bereich anwenden",
    },
    vignette: {
      name: "Vignette",
      description: "Vignetteneffekt mit einstellbarer Stärke und Farbe hinzufügen",
    },
    "gif-webp": {
      name: "GIF/WebP-Konverter",
      description:
        "Animiertes GIF in WebP und umgekehrt konvertieren, alle Einzelbilder bleiben erhalten",
    },
    histogram: {
      name: "Histogramm",
      description: "RGB-Histogramm aus einem Bild erstellen",
    },
    "lqip-placeholder": {
      name: "LQIP-Platzhalter",
      description: "Kleinen Platzhalter in niedriger Qualität mit Base64-Data-URI erstellen",
    },
    "sprite-sheet": {
      name: "Sprite Sheet",
      description: "Mehrere Bilder zu einem Sprite-Sheet-Raster zusammenfügen",
    },
    "svg-to-raster": {
      name: "SVG zu Raster",
      description:
        "SVG in PNG, JPEG, WebP, AVIF, TIFF, GIF oder HEIF mit individueller Skalierung und DPI konvertieren",
    },
    vectorize: {
      name: "Bild zu SVG",
      description: "Bilder in skalierbare Vektorgrafiken konvertieren",
    },
    "gif-tools": {
      name: "GIF-Werkzeuge",
      description:
        "Animierte GIFs skalieren, optimieren, Geschwindigkeit ändern, umkehren, Frames extrahieren und drehen",
    },
    "image-to-base64": {
      name: "Bild zu Base64",
      description:
        "Bilder in Base64-Zeichenketten zum Einbetten in HTML, CSS und mehr konvertieren",
    },
    "barcode-generate": {
      name: "Barcode-Generator",
      description: "Barcodes in Code 128, EAN-13, UPC-A, Code 39, ITF-14 und Data Matrix erstellen",
    },
    "chart-maker": {
      name: "Diagramm-Ersteller",
      description: "Balken-, Linien- oder Kreisdiagramme aus CSV- oder JSON-Daten erstellen",
    },
    "convert-video": {
      name: "Video konvertieren",
      description: "Videos zwischen MP4, MOV und WebM konvertieren",
    },
    "compress-video": {
      name: "Video komprimieren",
      description: "Videodateigröße mit Qualitätskontrolle reduzieren",
    },
    "trim-video": {
      name: "Video schneiden",
      description: "Einen Ausschnitt aus einem Video schneiden",
    },
    "mute-video": {
      name: "Video stummschalten",
      description: "Audiospur aus einem Video entfernen",
    },
    "video-to-gif": {
      name: "Video zu GIF",
      description: "Videoclip in ein animiertes GIF umwandeln",
    },
    "resize-video": {
      name: "Video skalieren",
      description: "Video auf eine neue Auflösung oder voreingestellte Größe skalieren",
    },
    "crop-video": {
      name: "Video zuschneiden",
      description: "Einen Bereich aus einem Video zuschneiden",
    },
    "rotate-video": {
      name: "Video drehen",
      description: "Video drehen oder spiegeln",
    },
    "change-fps": {
      name: "FPS ändern",
      description: "Bildrate eines Videos ändern",
    },
    "video-color": {
      name: "Videofarbe",
      description: "Helligkeit, Kontrast, Sättigung und Gamma anpassen",
    },
    "video-speed": {
      name: "Videogeschwindigkeit",
      description: "Video beschleunigen oder verlangsamen",
    },
    "reverse-video": {
      name: "Video rückwärts",
      description: "Videoclip rückwärts abspielen",
    },
    "video-loudnorm": {
      name: "Audio normalisieren",
      description: "Audio-Lautstärke des Videos auf Sendestandard normalisieren",
    },
    "aspect-pad": {
      name: "Seitenverhältnis auffüllen",
      description: "Einfarbige Balken für ein bestimmtes Seitenverhältnis hinzufügen",
    },
    "blur-pad": {
      name: "Weichzeichner-Auffüllung",
      description: "Balken mit einer unscharfen Kopie des Videos füllen",
    },
    "watermark-video": {
      name: "Video-Wasserzeichen",
      description: "Text-Wasserzeichen in Videobilder einbrennen",
    },
    "stabilize-video": {
      name: "Video stabilisieren",
      description: "Kamerawackeln mit Zwei-Pass-Stabilisierung reduzieren",
    },
    "gif-to-video": {
      name: "GIF zu Video",
      description: "Animiertes GIF in ein MP4- oder WebM-Video konvertieren",
    },
    "video-to-webp": {
      name: "Video zu WebP",
      description: "Videoclip in ein animiertes WebP-Bild konvertieren",
    },
    "video-to-frames": {
      name: "Video zu Einzelbildern",
      description: "Einzelbilder aus einem Video als ZIP mit Bildern extrahieren",
    },
    "merge-videos": {
      name: "Videos zusammenführen",
      description: "Mehrere Videoclips zu einer Datei zusammenführen",
    },
    "replace-audio": {
      name: "Audio ersetzen",
      description: "Audiospur eines Videos durch eine andere Datei ersetzen",
    },
    "burn-subtitles": {
      name: "Untertitel einbrennen",
      description: "Untertitel dauerhaft in Videobilder einbrennen",
    },
    "embed-subtitles": {
      name: "Untertitel einbetten",
      description: "Untertitelspur in den Videocontainer einbetten",
    },
    "extract-subtitles": {
      name: "Untertitel extrahieren",
      description: "Untertitelspur aus einem Video als SRT-Datei extrahieren",
    },
    "images-to-video": {
      name: "Bilder zu Video",
      description: "Bildersammlung in ein Diashow-Video umwandeln",
    },
    "video-metadata": {
      name: "Video-Metadaten bereinigen",
      description: "Metadaten aus einem Video entfernen und Ergebnis anzeigen",
    },
    "convert-audio": {
      name: "Audio konvertieren",
      description: "Audio zwischen MP3, WAV, OGG und weiteren Formaten konvertieren",
    },
    "trim-audio": {
      name: "Audio schneiden",
      description: "Einen Abschnitt aus einer Audiodatei schneiden",
    },
    "extract-audio": {
      name: "Audio extrahieren",
      description: "Audiospur aus einem Video extrahieren",
    },
    "volume-adjust": {
      name: "Lautstärke anpassen",
      description: "Audio-Lautstärke um einen festen Wert erhöhen oder verringern",
    },
    "normalize-audio": {
      name: "Audio normalisieren",
      description: "Lautstärke auf Sendestandard-Pegel angleichen",
    },
    "fade-audio": {
      name: "Audio ein-/ausblenden",
      description: "Ein- und Ausblendeffekte zu Audio hinzufügen",
    },
    "reverse-audio": {
      name: "Audio rückwärts",
      description: "Audio rückwärts abspielen",
    },
    "audio-speed": {
      name: "Audiogeschwindigkeit",
      description: "Audiowiedergabe beschleunigen oder verlangsamen",
    },
    "pitch-shift": {
      name: "Tonhöhe ändern",
      description: "Tonhöhe um Halbtöne anheben oder absenken, ohne das Tempo zu ändern",
    },
    "audio-channels": {
      name: "Audiokanäle",
      description: "Zwischen Mono und Stereo konvertieren oder linken und rechten Kanal tauschen",
    },
    "silence-removal": {
      name: "Stille entfernen",
      description: "Stille Abschnitte aus Audio entfernen",
    },
    "noise-reduction": {
      name: "Rauschunterdrückung",
      description: "Hintergrundgeräusche mit FFT-basierter Entrauschung reduzieren",
    },
    "merge-audio": {
      name: "Audio zusammenführen",
      description: "Mehrere Audiodateien zu einer zusammenführen",
    },
    "split-audio": {
      name: "Audio aufteilen",
      description: "Audio nach Zeit, gleichen Teilen oder Stille-Erkennung aufteilen",
    },
    "ringtone-maker": {
      name: "Klingelton-Ersteller",
      description: "Klingelton aus einer beliebigen Audiodatei erstellen",
    },
    "waveform-image": {
      name: "Wellenform-Bild",
      description: "Wellenform-Visualisierung als PNG-Bild erstellen",
    },
    "audio-metadata": {
      name: "Audio-Metadaten",
      description: "Audio-Tags (ID3) anzeigen, bearbeiten oder entfernen",
    },
    "merge-pdf": {
      name: "PDFs zusammenführen",
      description: "Mehrere PDFs zu einem zusammenführen",
    },
    "split-pdf": {
      name: "PDF aufteilen",
      description: "Seiten extrahieren oder in Teile aufteilen",
    },
    "compress-pdf": {
      name: "PDF komprimieren",
      description: "PDF-Dateigröße reduzieren",
    },
    "rotate-pdf": {
      name: "PDF drehen",
      description: "Seiten in einem PDF drehen",
    },
    "convert-document": {
      name: "Dokument konvertieren",
      description: "Zwischen Word, OpenDocument, RTF und Nur-Text-Formaten konvertieren",
    },
    "convert-presentation": {
      name: "Präsentation konvertieren",
      description: "Zwischen PowerPoint- und OpenDocument-Präsentationsformaten konvertieren",
    },
    "convert-spreadsheet": {
      name: "Tabelle konvertieren",
      description:
        "Zwischen Excel, OpenDocument und CSV konvertieren. Bei Arbeitsmappen mit mehreren Blättern wird das erste Blatt als CSV exportiert.",
    },
    "excel-to-pdf": {
      name: "Excel zu PDF",
      description:
        "Tabellen zu PDF konvertieren. Breite Blätter werden ggf. auf mehrere Seiten verteilt.",
    },
    "word-to-pdf": {
      name: "Word zu PDF",
      description: "Word-Dokumente zu PDF konvertieren",
    },
    "extract-pages": {
      name: "Seiten extrahieren",
      description: "Ausgewählte Seiten in ein neues PDF extrahieren",
    },
    "remove-pages": {
      name: "Seiten entfernen",
      description: "Bestimmte Seiten aus einem PDF entfernen",
    },
    "organize-pdf": {
      name: "PDF organisieren",
      description: "Seiten mit festgelegter Reihenfolge neu ordnen",
    },
    "protect-pdf": {
      name: "PDF schützen",
      description: "Passwortschutz hinzufügen (AES-256-Verschlüsselung)",
    },
    "unlock-pdf": {
      name: "PDF entsperren",
      description: "Passwortschutz von einem PDF entfernen",
    },
    "repair-pdf": {
      name: "PDF reparieren",
      description: "Beschädigtes oder fehlerhaftes PDF reparieren",
    },
    "linearize-pdf": {
      name: "PDF für Web optimieren",
      description: "PDF für schnelle Webanzeige linearisieren",
    },
    "grayscale-pdf": {
      name: "PDF in Graustufen",
      description: "Alle Farben in Graustufen konvertieren",
    },
    "pdfa-convert": {
      name: "PDF/A-Konvertierung",
      description: "In Archivformat PDF/A-2 konvertieren",
    },
    "crop-pdf": {
      name: "PDF zuschneiden",
      description: "Alle Seiten mit einheitlichem Rand zuschneiden",
    },
    "nup-pdf": {
      name: "N-up PDF",
      description: "Mehrere Seiten pro Blatt anordnen",
    },
    "booklet-pdf": {
      name: "Broschüren-PDF",
      description: "Seiten zum Falten als Broschüre anordnen",
    },
    "watermark-pdf": {
      name: "PDF-Wasserzeichen",
      description: "Text-Wasserzeichen auf jede Seite hinzufügen",
    },
    "pdf-page-numbers": {
      name: "PDF-Seitenzahlen",
      description: "Seitenzahlen auf jede Seite hinzufügen",
    },
    "flatten-pdf": {
      name: "PDF reduzieren",
      description: "Formulare und Anmerkungen in den Seiteninhalt einbetten",
    },
    "redact-pdf": {
      name: "PDF schwärzen",
      description: "Textvorkommen dauerhaft entfernen (verifizierte Schwärzung)",
    },
    "pdf-to-text": {
      name: "PDF zu Text",
      description: "Nur-Text aus einem PDF extrahieren",
    },
    "pdf-to-word": {
      name: "PDF zu Word",
      description: "Ideal für textbasierte PDFs; gescannte Seiten benötigen OCR",
    },
    "pdf-metadata": {
      name: "PDF-Metadaten",
      description: "PDF-Dokumentmetadaten lesen und schreiben",
    },
    "powerpoint-to-pdf": {
      name: "PowerPoint zu PDF",
      description: "Präsentationen zu PDF konvertieren",
    },
    "html-to-pdf": {
      name: "HTML zu PDF",
      description:
        "HTML-Datei zu PDF konvertieren. Externe Ressourcen sind aus Datenschutzgründen deaktiviert.",
    },
    "markdown-to-docx": {
      name: "Markdown zu Word",
      description: "Markdown-Datei in ein Word-Dokument (DOCX) konvertieren",
    },
    "markdown-to-html": {
      name: "Markdown zu HTML",
      description:
        "Markdown-Datei in eine eigenständige HTML-Seite konvertieren. Externe Bilder im Quelltext bleiben in der Ausgabe unverändert.",
    },
    "markdown-to-pdf": {
      name: "Markdown zu PDF",
      description:
        "Markdown-Datei in ein gestaltetes PDF konvertieren. Externe Ressourcen sind aus Datenschutzgründen deaktiviert.",
    },
    "epub-convert": {
      name: "EPUB konvertieren",
      description:
        "EPUB in PDF, DOCX, HTML oder Markdown konvertieren. Externe Ressourcen im Buch werden nicht geladen.",
    },
    "to-epub": {
      name: "Zu EPUB konvertieren",
      description: "Word-, Markdown-, HTML- oder Nur-Text-Dateien zu EPUB konvertieren",
    },
    "csv-excel": {
      name: "CSV zu Excel",
      description: "Zwischen CSV und Excel (XLSX) konvertieren, in beide Richtungen",
    },
    "csv-json": {
      name: "CSV zu JSON",
      description: "Zwischen CSV und JSON konvertieren, in beide Richtungen",
    },
    "json-xml": {
      name: "JSON zu XML",
      description: "Zwischen JSON und XML konvertieren, in beide Richtungen",
    },
    "split-csv": {
      name: "CSV aufteilen",
      description: "CSV nach Zeilenanzahl in kleinere Dateien aufteilen",
    },
    "merge-csvs": {
      name: "CSVs zusammenführen",
      description: "Mehrere CSV- oder TSV-Dateien mit übereinstimmenden Spalten zusammenführen",
    },
    "yaml-json": {
      name: "YAML / JSON",
      description: "Zwischen YAML und JSON konvertieren, in beide Richtungen",
    },
    "xml-to-csv": {
      name: "XML zu CSV",
      description: "Wiederkehrende Elemente aus XML in eine CSV-Tabelle extrahieren",
    },
    "create-zip": {
      name: "ZIP erstellen",
      description: "Mehrere Dateien in ein einzelnes ZIP-Archiv bündeln",
    },
    "extract-zip": {
      name: "ZIP entpacken",
      description:
        "Dateien sicher aus einem ZIP-Archiv mit Bomben-Schutz entpacken. Archive mit einer einzelnen Datei geben die Datei direkt zurück.",
    },
    pipeline: {
      name: "Pipeline-Builder",
      description: "Mehrere Werkzeuge zu einem Workflow verketten",
    },
    processing: { canceled: "Verarbeitung abgebrochen" },
    mediaPlayer: {
      unsupported: "Ihr Browser unterstützt dieses Medienformat nicht.",
    },
    documentView: {
      loadFailed: "Dokument konnte nicht geladen werden.",
      previousPage: "Vorherige Seite",
      nextPage: "Nächste Seite",
      inputNotPreviewable: "Vorschau für diesen Dateityp nicht verfügbar",
    },
  },
  toolSettings: {
    compress: {
      compressionMode: "Komprimierungsmodus",
      targetSize: "Zielgröße",
      quality: "Qualität",
      smallestFile: "Kleinste Datei",
      bestQuality: "Beste Qualität",
      submit: "Komprimieren",
      submitBatch: "Komprimieren ({count} Dateien)",
      progressLabel: "Wird komprimiert",
      original: "Original: {size} KB",
      processed: "Verarbeitet: {size} KB",
      saved: "Gespart: {percent}%",
    },
    resize: {
      customSize: "Benutzerdefinierte Größe",
      scale: "Skalierung",
      presets: "Vorlagen",
      contentAware: "Inhaltsabhängig",
      widthPx: "Breite (px)",
      heightPx: "Höhe (px)",
      fitMode: "Anpassungsmodus",
      cropToFit: "Zuschneiden",
      fitInside: "Einpassen",
      stretch: "Strecken",
      limitToOriginalSize: "Auf Originalgröße begrenzen",
      limitToOriginalSizeHint:
        "Wenn Ihr Bild bereits kleiner als die Zielgröße ist, bleibt es unverändert statt hochskaliert zu werden",
      scalePercent: "Skalierung (%)",
      resizeToSquare: "Quadratisch skalieren",
      protectFaces: "Gesichter schützen",
      smoothing: "Glättung",
      edgeSensitivity: "Kantenempfindlichkeit",
      submit: "Größe ändern",
      submitBatch: "Größe ändern ({count} Dateien)",
      progressLabel: "Größe wird geändert",
    },
    crop: {
      aspectRatio: "Seitenverhältnis",
      custom: "Benutzerdefiniert",
      positionAndSize: "Position & Größe",
      ruleOfThirds: "Drittelregel",
      leftOffsetPx: "Linker Versatz (px)",
      topOffsetPx: "Oberer Versatz (px)",
      submit: "Zuschneiden",
      submitBatch: "Zuschneiden ({count} Dateien)",
      progressLabel: "Wird zugeschnitten",
    },
    rotate: {
      rotate: "Drehen",
      angle: "Winkel",
      straighten: "Begradigen",
      flip: "Spiegeln",
      horizontal: "Horizontal",
      vertical: "Vertikal",
      resetAllChanges: "Alle Änderungen zurücksetzen",
      submit: "Anwenden",
      submitBatch: "Anwenden ({count} Dateien)",
      progressLabel: "Wird angewendet",
    },
    convert: {
      targetFormat: "Zielformat",
      sourceFormat: "Quellformat",
      quality: "Qualität",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "optimize-for-web": {
      outputFormat: "Ausgabeformat",
      quality: "Qualität",
      smallestFile: "Kleinste Datei",
      bestQuality: "Beste Qualität",
      maxDimensions: "Maximale Abmessungen",
      maxWidth: "Maximale Breite",
      maxHeight: "Maximale Höhe",
      stripMetadata: "Metadaten entfernen",
      sizeComparison: "Größenvergleich",
      optimized: "Optimiert:",
      smaller: "{percent}% kleiner",
      larger: "{percent}% größer",
      submit: "Verarbeiten & Herunterladen",
      submitBatch: "Verarbeiten & Herunterladen ({count} Dateien)",
      progressLabel: "Wird optimiert",
    },
    "strip-metadata": {
      currentMetadata: "Aktuelle Metadaten",
      readingMetadata: "Metadaten werden gelesen...",
      noMetadataFound: "Keine Metadaten in diesem Bild gefunden.",
      removeAllMetadata: "Alle Metadaten entfernen",
      selectSpecific: "Oder bestimmte Metadaten auswählen:",
      stripExif: "EXIF entfernen (Kamerainformationen, Datum, Belichtung)",
      stripGps: "GPS entfernen (Standortdaten)",
      stripIcc: "ICC entfernen (Farbprofil)",
      stripXmp: "XMP entfernen (erweiterte Metadaten)",
      locationFound: "Standort gefunden",
      locationWarning:
        "Dieses Bild enthält Ihren genauen Standort. Erwägen Sie, GPS-Daten vor dem Teilen zu entfernen.",
      metadataSections: "{count} Metadaten-Abschnitt gefunden",
      metadataSectionsPlural: "{count} Metadaten-Abschnitte gefunden",
      metadataRemoved: "Metadaten entfernt: {size} KB",
      submit: "Metadaten entfernen",
      progressLabel: "Metadaten werden entfernt",
    },
    "edit-metadata": {
      readingMetadata: "Metadaten werden gelesen...",
      couldNotReadMetadata: "Metadaten konnten nicht gelesen werden. Felder starten leer.",
      basicInfo: "Grundinformationen",
      description: "Beschreibung",
      artist: "Künstler",
      copyright: "Urheberrecht",
      software: "Software",
      iptc: "IPTC",
      title: "Titel",
      headline: "Schlagzeile",
      city: "Stadt",
      stateProvince: "Bundesland/Provinz",
      country: "Land",
      dateAndTime: "Datum & Uhrzeit",
      editDates: "Daten bearbeiten",
      shiftAllDates: "Alle Daten verschieben",
      dateModified: "Änderungsdatum",
      dateTaken: "Aufnahmedatum",
      shiftHint:
        "Alle Datumsfelder um einen Versatz verschieben (nützlich für Zeitzonenkorrekturen)",
      direction: "Richtung",
      forward: "+ Vorwärts",
      backward: "- Rückwärts",
      hoursMinutes: "Stunden:Minuten",
      locationGps: "Standort (GPS)",
      locationDataFound: "Standortdaten gefunden",
      noGpsData: "Keine GPS-Daten. Koordinaten unten hinzufügen.",
      latitude: "Breitengrad",
      longitude: "Längengrad",
      altitudeMeters: "Höhe (Meter)",
      removeAllGpsData: "Alle GPS-Daten entfernen",
      keywords: "Schlüsselwörter",
      addKeywordPlaceholder: "Schlüsselwort eingeben und Enter drücken",
      addToExisting: "Zu vorhandenen hinzufügen",
      replaceAll: "Alle ersetzen",
      allMetadata: "Alle Metadaten",
      templates: "Vorlagen",
      templateNamePlaceholder: "Vorlagenname",
      uploadPrompt: "Laden Sie ein Bild hoch, um seine Metadaten zu bearbeiten.",
      changes: "{count} Änderungen:",
      modified: "{count} geändert",
      removed: "{count} entfernt",
      gpsCleared: "GPS gelöscht",
      gpsAdded: "GPS hinzugefügt",
      datesShifted: "Daten verschoben",
      submit: "Metadaten anwenden",
      progressLabel: "Metadaten werden geschrieben",
    },
    "bulk-rename": {
      pattern: "Muster",
      patternHint: "Variablen: {{index}}, {{padded}}, {{original}}",
      startIndex: "Startindex",
      preview: "Vorschau",
      andMore: "... und {count} weitere",
      renaming: "Umbenennung läuft...",
      submit: "{count} Dateien umbenennen",
      zipDownloaded: "ZIP erfolgreich heruntergeladen",
    },
    "image-to-pdf": {
      imageCount: "{count} Bild wird in {mode} konvertiert",
      imageCountPlural: "{count} Bilder werden in {mode} konvertiert",
      singlePdfMode: "ein einzelnes PDF, ein Bild pro Seite",
      separatePdfMode: "separate PDFs, eines pro Bild",
      combineAllImages: "Alle Bilder in ein PDF zusammenfügen",
      pageSize: "Seitengröße",
      orientation: "Ausrichtung",
      portrait: "Hochformat",
      landscape: "Querformat",
      margin: "Rand",
      targetSizeLabel: "Zieldateigröße (optional)",
      targetSizePlaceholder: "z. B. 2",
      targetSizeHint: "Leer lassen für maximale Qualität",
      targetSizeMet: "Ziel erreicht",
      targetSizeNotMet:
        "Ziel konnte nicht erreicht werden. Datei auf minimale Qualität komprimiert.",
      targetSizeTooSmall: "Zielgröße muss mindestens 50KB betragen",
      jpegQualityLabel: "Verwendete JPEG-Qualität",
      noImage: "Kein Bild",
      submitCollate: "PDF erstellen ({count} Seiten)",
      submitSeparate: "{count} PDFs erstellen",
      downloadPdf: "PDF herunterladen",
      downloadZip: "ZIP herunterladen",
      progressLabel: "PDF wird erstellt",
      uploadingImages: "Bilder werden hochgeladen...",
      processingPages: "{count} Seiten werden verarbeitet...",
    },
    "pdf-to-image": {
      dropPdf: "PDF hierher ziehen oder zum Auswählen klicken",
      readingPdf: "PDF wird gelesen...",
      pageCount: "{count} Seite",
      pageCountPlural: "{count} Seiten",
      outputFormat: "Ausgabeformat",
      quality: "Qualität",
      resolutionDpi: "Auflösung (DPI)",
      dpiScreen: "Bildschirm",
      dpiStandard: "Standard",
      dpiPrint: "Druck",
      dpiHighQuality: "Hohe Qualität",
      colorMode: "Farbmodus",
      colorModeColor: "Farbe",
      colorModeGrayscale: "Graustufen",
      colorModeBw: "S/W",
      pages: "Seiten",
      allPages: "Alle Seiten",
      pagesHint: "z. B. 1-3, 5, 8-10 (Dokument hat {count} Seiten)",
      converting: "Wird konvertiert...",
      submit: "{count} Seite konvertieren",
      submitPlural: "{count} Seiten konvertieren",
      downloadAllZip: "Alle herunterladen (ZIP)",
    },
    favicon: {
      uploadHint:
        "Laden Sie quadratische Bilder hoch (empfohlen 512x512 oder größer), um alle Favicon- und App-Symbolgrößen zu generieren.",
      multipleHint: "Jedes der {count} Bilder erhält einen eigenen Ordner im ZIP.",
      generatedSizes: "Generierte Größen (pro Bild)",
      plusManifest: "+ manifest.json + HTML-Snippet",
      submit: "Favicons generieren ({count} Bild)",
      submitPlural: "Favicons generieren ({count} Bilder)",
      downloadZip: "Favicons-ZIP herunterladen",
      progressLabel: "Favicons werden generiert",
    },
    "adjust-colors": {
      light: "Licht",
      brightness: "Helligkeit",
      contrast: "Kontrast",
      exposure: "Belichtung",
      color: "Farbe",
      saturation: "Sättigung",
      temperature: "Temperatur",
      temperatureHint: "kühl / warm",
      tint: "Tönung",
      tintHint: "grün / magenta",
      hue: "Farbton",
      detail: "Detail",
      sharpness: "Schärfe",
      effects: "Effekte",
      none: "Keine",
      grayscale: "Graustufen",
      sepia: "Sepia",
      invert: "Invertieren",
      colorChannels: "Farbkanäle",
      channelModified: "geändert",
      red: "Rot",
      green: "Grün",
      blue: "Blau",
      resetAll: "Alles zurücksetzen",
      submit: "Anwenden",
      submitBatch: "Anwenden ({count} Dateien)",
      progressLabel: "Farben werden angepasst",
    },
    sharpening: {
      method: "Methode",
      adaptive: "Adaptiv",
      unsharpMask: "Unscharf maskieren",
      highPass: "Hochpass",
      presets: "Vorlagen",
      textureAmount: "Texturmenge",
      amount: "Stärke",
      strength: "Intensität",
      noiseReduction: "Rauschreduzierung",
      off: "Aus",
      lightDenoise: "Leicht",
      mediumDenoise: "Mittel",
      strongDenoise: "Stark",
      advancedControls: "Erweiterte Steuerung",
      radius: "Radius",
      flatProtection: "Flächenschutz",
      detailThreshold: "Detailschwelle",
      haloLimitLight: "Halogrenze (Hell)",
      haloLimitDark: "Halogrenze (Dunkel)",
      threshold: "Schwellenwert",
      kernelSize: "Kerngröße",
      submit: "Schärfen",
      submitBatch: "Schärfen ({count} Dateien)",
      progressLabel: "Wird geschärft",
    },
    "replace-color": {
      sourceColor: "Quellfarbe (zu ersetzen)",
      targetColor: "Zielfarbe (Ersatz)",
      makeTransparent: "Stattdessen transparent machen",
      tolerance: "Toleranz",
      exactMatch: "Exakte Übereinstimmung",
      wideRange: "Breiter Bereich",
      submit: "Farbe ersetzen",
      submitBatch: "Farbe ersetzen ({count} Dateien)",
      progressLabel: "Farbe wird ersetzt",
    },
    "color-blindness": {
      simulationType: "Simulationstyp",
      redGreen: "Rot-Grün",
      blueYellow: "Blau-Gelb",
      monochromatic: "Monochromatisch",
      submit: "Simulieren",
      submitBatch: "Simulieren ({count} Dateien)",
      progressLabel: "Farbenblindheit wird simuliert",
    },
    "remove-background": {
      subject: "Motiv",
      people: "Personen",
      products: "Produkte",
      general: "Allgemein",
      passportIdPhoto: "Pass- / Ausweisfoto",
      quality: "Qualität",
      fast: "Schnell",
      hd: "HD",
      max: "Max",
      ultra: "Ultra",
      background: "Hintergrund",
      transparent: "Transparent",
      bgColor: "Farbe",
      gradient: "Verlauf",
      image: "Bild",
      gradientDirection: "Richtung",
      chooseBackgroundImage: "Hintergrundbild auswählen",
      effectsSection: "Effekte",
      effectsActive: "aktiv",
      blurBackground: "Hintergrund weichzeichnen",
      intensity: "Intensität",
      addShadow: "Schatten hinzufügen",
      opacity: "Deckkraft",
      outputFormat: "Ausgabeformat",
      edgeSmoothing: "Kantenglättung",
      edgeSmoothingOff: "Aus",
      edgeSmoothingLight: "Leicht",
      edgeSmoothingMedium: "Mittel",
      edgeSmoothingStrong: "Stark",
      colorDecontamination: "Farbbereinigung",
      rendering: "Wird gerendert...",
      submit: "Hintergrund entfernen",
      submitBatch: "Hintergrund entfernen ({count} Dateien)",
      progressLabel: "Hintergrund wird entfernt",
    },
    upscale: {
      scaleFactor: "Skalierungsfaktor",
      quality: "Qualität",
      enhanceFaces: "Gesichter verbessern",
      noiseReduction: "Rauschreduzierung",
      noiseReductionHint:
        "Glättet Körnung und Rauschen. Höhere Werte entfernen mehr Rauschen, können aber Details aufweichen.",
      outputFormat: "Ausgabeformat",
      submit: "Hochskalieren {scale}x",
      submitBatch: "Hochskalieren {scale}x ({count} Dateien)",
      progressLabel: "Bild wird hochskaliert",
      progressLabelBatch: "{count} Bilder werden hochskaliert",
    },
    "erase-object": {
      brushSize: "Pinselgröße",
      fine: "Fein",
      wide: "Breit",
      undo: "Rückgängig",
      clear: "Leeren",
      outputFormat: "Ausgabeformat",
      quality: "Qualität",
      paintHint:
        "Malen Sie über die Objekte, die Sie entfernen möchten. Strg+Z zum Rückgängigmachen.",
      submit: "Objekt entfernen",
      submitBatch: "Alle entfernen ({count})",
      progressLabel: "Objekt wird entfernt",
    },
    ocr: {
      quality: "Qualität",
      enhanceBeforeScanning: "Vor dem Scannen verbessern",
      enhanceHint:
        "Entzerrt, verbessert Kontrast, entfernt Rauschen und skaliert das Bild automatisch vor dem Scannen für bessere Genauigkeit.",
      language: "Sprache",
      autoDetect: "Automatisch erkennen",
      extractedText: "Extrahierter Text",
      noTextDetected: "Kein Text in diesem Bild erkannt",
      characters: "{count} Zeichen",
      submit: "Text extrahieren",
      submitBatch: "Text extrahieren ({count} Dateien)",
      progressLabel: "Text wird extrahiert",
    },
    "ocr-pdf": {
      quality: "Qualität",
      language: "Sprache",
      autoDetect: "Automatisch erkennen",
      pages: "Seiten",
      pagesPlaceholder: "alle, 1-3, 5",
      pagesHint: "Seitennummern oder Bereiche eingeben (z.B. 1-3, 5, 8-10). Max. 50 Seiten.",
      submit: "Text extrahieren",
      submitBatch: "Text extrahieren ({count} Dateien)",
      progressLabel: "Text wird aus PDF extrahiert",
    },
    "blur-faces": {
      blurRadius: "Weichzeichnerradius",
      blurLight: "Leicht",
      blurHeavy: "Stark",
      detectionSensitivity: "Erkennungsempfindlichkeit",
      moreFaces: "Mehr Gesichter",
      fewerFaces: "Weniger Gesichter",
      submit: "Gesichter weichzeichnen",
      progressLabel: "Gesichter werden weichgezeichnet",
    },
    "enhance-faces": {
      quality: "Qualität",
      enhancementStrength: "Verbesserungsstärke",
      onlyCenterFace: "Nur zentrales Gesicht",
      detectionSensitivity: "Erkennungsempfindlichkeit",
      submit: "Gesichter verbessern",
      submitBatch: "Gesichter verbessern ({count} Dateien)",
      progressLabel: "Gesichter werden verbessert",
    },
    "smart-crop": {
      subjectFocus: "Motivfokus",
      faceFocus: "Gesichtsfokus",
      autoTrim: "Automatisch beschneiden",
      customSize: "Benutzerdefinierte Größe",
      socialPresets: "Social-Media-Vorlagen",
      detectionStrategy: "Erkennungsstrategie",
      detectionStrategyHint:
        "Aufmerksamkeit findet den visuell auffälligsten Bereich. Entropie findet den Bereich mit den meisten Details.",
      attention: "Aufmerksamkeit",
      entropy: "Entropie",
      padding: "Abstand",
      paddingHint: "Zusätzlicher Freiraum um den Fokusbereich",
      outputQuality: "Ausgabequalität",
      outputQualityHint: "Für JPEG- und WebP-Ausgaben. PNG ist immer verlustfrei.",
      subjectDescription:
        "Erkennt den interessantesten Bereich per Salienzanalyse und schneidet auf die Zielgröße zu.",
      framing: "Bildausschnitt",
      facePadding: "Gesichtsabstand",
      facePaddingHint: "Zusätzlicher Raum um erkannte Gesichter",
      fewerFalsePositives: "Weniger Fehlerkennungen",
      faceDescription:
        "Verwendet AI-Gesichtserkennung, um Gesichter korrekt im Bild zu halten. Bei fehlender Erkennung wird auf Motivfokus zurückgegriffen.",
      trimTolerance: "Toleranz",
      trimDescription:
        "Wie stark sich ein Randpixel von der Kantenfarbe unterscheiden darf und trotzdem beschnitten wird. Höher = aggressiver.",
      padToSquare: "Auf Quadrat auffüllen",
      targetSizePx: "Zielgröße (px)",
      padColor: "Auffüllfarbe",
      trimHint:
        'Entfernt einfarbige Ränder um Ihr Motiv. Aktivieren Sie "Auf Quadrat auffüllen" für E-Commerce-Bilder.',
      submitSubject: "Intelligenter Zuschnitt",
      submitFace: "Gesichtszuschnitt",
      submitTrim: "Ränder beschneiden",
    },
    imageEnhancement: {
      enhancementMode: "Verbesserungsmodus",
      auto: "Automatisch",
      portrait: "Porträt",
      landscape: "Landschaft",
      lowLight: "Schwaches Licht",
      food: "Lebensmittel",
      document: "Dokument",
      intensity: "Intensität",
      deepEnhance: "Tiefenverbesserung (AI)",
      deepEnhanceDescription: "Entfernt Rauschen und Artefakte mit AI",
      deepEnhanceRequires: "Erfordert das Bundle Hochskalierung & Verbesserung",
      analyzingImage: "Bild wird analysiert...",
      detectedIssues: "Erkannte Probleme",
      imageLooksGood: "Das Bild sieht gut aus. Feinabstimmung mit dem Intensitätsregler.",
      issueUnderexposed: "Unterbelichtet",
      issueOverexposed: "Überbelichtet",
      issueLowContrast: "Flacher Kontrast",
      issueColorCast: "Farbstich",
      issueDesaturated: "Entsättigt",
      issueSoftFocus: "Unscharfer Fokus",
      issueNoisy: "Verrauscht",
      submit: "Verbessern",
      submitDeep: "Tiefenverbesserung",
      submitBatch: "Verbessern ({count} Dateien)",
      submitDeepBatch: "Tiefenverbesserung ({count} Dateien)",
      progressLabel: "Bild wird verbessert",
      progressLabelBatch: "{count} Bilder werden verbessert",
    },
    "noise-removal": {
      denoisingTier: "Entrauschungsstufe",
      quick: "Schnell",
      balanced: "Ausgewogen",
      quality: "Qualität",
      maximum: "Maximum",
      quickDesc: "Schnell, ressourcenschonend",
      balancedDesc: "Gute Qualität, moderate Geschwindigkeit",
      qualityDesc: "AI-gestützt, langsam",
      maximumDesc: "Bestes AI-Modell, am langsamsten",
      strength: "Stärke",
      subtle: "Dezent",
      aggressive: "Aggressiv",
      detailPreservation: "Detailerhaltung",
      smooth: "Weich",
      sharp: "Scharf",
      colorNoise: "Farbrauschen",
      heavy: "Stark",
      outputFormat: "Ausgabeformat",
      gifAiWarning:
        "AI-Entrauschung bei GIF-Dateien verarbeitet nur das erste Bild. Für animierte GIFs verwenden Sie die Stufe Schnell oder Ausgewogen.",
      submit: "Rauschen entfernen",
      submitBatch: "Rauschen entfernen ({count} Dateien)",
      progressLabel: "Rauschen wird entfernt",
      progressLabelBatch: "Rauschen wird aus {count} Bildern entfernt",
    },
    "red-eye-removal": {
      sensitivity: "Empfindlichkeit",
      strict: "Streng",
      aggressive: "Aggressiv",
      correctionStrength: "Korrekturstärke",
      subtle: "Dezent",
      dark: "Dunkel",
      outputFormat: "Ausgabeformat",
      quality: "Qualität",
      submit: "Rote Augen korrigieren",
      submitBatch: "Rote Augen korrigieren ({count} Dateien)",
      progressLabel: "Rote Augen werden korrigiert",
      progressLabelBatch: "Rote Augen werden in {count} Bildern korrigiert",
    },
    "restore-photo": {
      scratchRemoval: "Kratzerentfernung",
      scratchRemovalDesc: "Kratzer, Risse und Flecken erkennen und reparieren",
      faceEnhancement: "Gesichtsverbesserung",
      faceEnhancementDesc: "Beschädigte Gesichter mit CodeFormer-AI wiederherstellen",
      faceFidelity: "Gesichtstreue",
      enhanced: "Verbessert",
      faithful: "Originalgetreu",
      noiseReduction: "Rauschreduzierung",
      noiseReductionDesc: "Körnung und Rauschen aus alten Fotos entfernen",
      denoiseStrength: "Entrauschungsstärke",
      autoColorize: "Automatisch kolorieren",
      autoColorizeDesc: "Farbe zu S/W-Fotos mit DDColor-AI hinzufügen",
      colorizeStrength: "Kolorierungsstärke",
      vivid: "Lebhaft",
      submit: "Foto restaurieren",
      submitBatch: "Fotos restaurieren ({count})",
      progressLabel: "Foto wird restauriert",
      progressLabelBatch: "{count} Fotos werden restauriert",
    },
    "content-aware-resize": {
      widthPx: "Breite (px)",
      heightPx: "Höhe (px)",
      resizeToSquare: "Quadratisch skalieren",
      protectFaces: "Gesichter schützen",
      protectFacesHint:
        "Gesichtsbereiche per Gesichtserkennung erkennen und vor Nahtentfernung schützen",
      smoothing: "Glättung",
      edgeSensitivity: "Kantenempfindlichkeit",
      submit: "Größe ändern",
      submitBatch: "Größe ändern ({count} Dateien)",
      progressLabel: "Inhaltsabhängige Größenänderung",
    },
    "ai-canvas-expand": {
      quality: "Qualität",
      fast: "Schnell",
      balanced: "Ausgewogen",
      highQuality: "Hohe Qualität",
      fastDesc: "Schnelle Vorschau, weniger AI-Durchläufe",
      balancedDesc: "Gute Qualität, moderate Geschwindigkeit",
      highQualityDesc: "Beste Ergebnisse, langsamer",
      extendToAspectRatio: "Auf Seitenverhältnis erweitern",
      extendByPixels: "Erweitern um (Pixel)",
      top: "Oben",
      right: "Rechts",
      bottom: "Unten",
      left: "Links",
      newSize: "Neue Größe: {width} x {height}",
      submit: "Leinwand erweitern",
      submitBatch: "Erweitern ({count} Dateien)",
      progressLabel: "Leinwand wird erweitert",
    },
    colorize: {
      aiModel: "AI-Modell",
      fast: "Schnell",
      fastDesc: "Schnelle Ergebnisse",
      balanced: "Ausgewogen",
      balancedDesc: "Bestmögliche Qualität",
      best: "Beste",
      bestDesc: "Höchste Qualität",
      colorIntensity: "Farbintensität",
      grayscaleLabel: "Graustufen",
      subtleLabel: "Dezent",
      naturalLabel: "Natürlich",
      vividLabel: "Lebhaft",
      intensityHint: "Niedrigere Werte erzeugen gedämpftere Farben im Vintage-Stil.",
      strength: "Kolorierungsstärke",
      submit: "Kolorieren",
      submitBatch: "Kolorieren ({count} Dateien)",
      progressLabel: "Wird koloriert",
      progressLabelBatch: "{count} Bilder werden koloriert",
    },
    "passport-photo": {
      country: "Land",
      searchCountries: "Länder suchen...",
      noCountriesFound: "Keine Länder gefunden",
      customDimensions: "Benutzerdefinierte Maße",
      documentType: "Dokumenttyp",
      dimensionsMm: "Abmessungen (mm)",
      dpi: "DPI",
      pixelsPerInch: "Pixel pro Zoll",
      backgroundColor: "Hintergrundfarbe",
      maxFileSize: "Maximale Dateigröße",
      noLimit: "Kein Limit",
      customKb: "Benutzerdefiniert (KB)...",
      uploadPortrait: "Porträtfoto hochladen",
      uploadHint:
        "Laden Sie ein Bild im linken Bereich hoch, um eine Vorschau Ihres Passfotos zu sehen",
      analyzingPhoto: "Foto wird analysiert",
      detectingLandmarks: "Gesichtsmerkmale werden erkannt und Hintergrund wird entfernt...",
      generatePassportPhoto: "Passfoto generieren",
      generating: "Wird generiert...",
      downloadPhoto: "Foto herunterladen",
      faceCentered: "Gesicht zentriert",
      headLevel: "Kopf gerade",
      lookingStraight: "Blickrichtung frontal",
      faceSize: "Gesichtsgröße",
      whatYouSee: "Was Sie sehen, wird heruntergeladen",
      dragToAdjust: "Ziehen zum Anpassen",
      scrollToZoom: "Scrollen zum Zoomen",
      photoGenerated: "Foto generiert. Laden Sie es im linken Bereich herunter.",
    },
    "transcribe-audio": {
      language: "Sprache",
      autoDetect: "Automatisch erkennen",
      outputFormat: "Ausgabeformat",
      plainText: "Klartext",
      submit: "Transkribieren",
      submitBatch: "Transkribieren ({count} Dateien)",
      progressLabel: "Audio wird transkribiert",
    },
    "auto-subtitles": {
      language: "Sprache",
      autoDetect: "Automatisch erkennen",
      format: "Untertitelformat",
      submit: "Untertitel generieren",
      submitBatch: "Untertitel generieren ({count} Dateien)",
      progressLabel: "Untertitel werden generiert",
    },
    "transparency-fixer": {
      description:
        "Laden Sie ein PNG mit unechtem transparentem Hintergrund hoch. Wir reparieren es mit einem Klick.",
      removeWatermark: "Wasserzeichen entfernen",
      removeWatermarkHelp: "Halbtransparente Wasserzeichen erkennen und entfernen",
      requiresEraser: "Erfordert das Objektentferner-Bundle",
      advanced: "Erweitert",
      defringe: "Randbereinigung",
      outputFormat: "Ausgabeformat",
      submit: "Transparenz reparieren",
      submitBatch: "Transparenz reparieren ({count} Dateien)",
      progressLabel: "Transparenz wird repariert",
    },
    "background-replace": {
      color: "Hintergrundfarbe",
      submit: "Hintergrund ersetzen",
      submitBatch: "Hintergrund ersetzen ({count} Dateien)",
      progressLabel: "Hintergrund wird ersetzt",
    },
    "blur-background": {
      intensity: "Unschärfe-Intensität",
      submit: "Hintergrund unscharf stellen",
      submitBatch: "Hintergrund unscharf stellen ({count} Dateien)",
      progressLabel: "Hintergrund wird unscharf gestellt",
    },
    "watermark-text": {
      watermarkText: "Wasserzeichen-Text",
      fontSize: "Schriftgröße",
      color: "Farbe",
      opacity: "Deckkraft",
      position: "Position",
      rotation: "Drehung",
      center: "Mitte",
      topLeft: "Oben links",
      topRight: "Oben rechts",
      bottomLeft: "Unten links",
      bottomRight: "Unten rechts",
      tiled: "Gekachelt",
      submit: "Wasserzeichen hinzufügen",
      submitBatch: "Wasserzeichen hinzufügen ({count} Dateien)",
      progressLabel: "Wasserzeichen wird hinzugefügt",
    },
    "watermark-image": {
      uploadWatermark: "Wasserzeichen-Bild hochladen",
      position: "Position",
      opacity: "Deckkraft",
      scale: "Skalierung",
      submit: "Wasserzeichen anwenden",
      submitBatch: "Wasserzeichen anwenden ({count} Dateien)",
    },
    "text-overlay": {
      text: "Text",
      fontSize: "Schriftgröße",
      color: "Farbe",
      position: "Position",
      top: "Oben",
      center: "Mitte",
      bottom: "Unten",
      backgroundBox: "Hintergrundfeld",
      backgroundColor: "Hintergrundfarbe",
      shadow: "Schatten",
      submit: "Text hinzufügen",
      submitBatch: "Text hinzufügen ({count} Dateien)",
      progressLabel: "Textüberlagerung wird hinzugefügt",
      download: "Herunterladen",
      defaultText: "Ihr Text hier",
    },
    compose: {
      uploadOverlay: "Overlay-Bild hochladen",
      xPosition: "X-Position",
      yPosition: "Y-Position",
      opacity: "Deckkraft",
      blendMode: "Mischmodus",
      submit: "Zusammenfügen",
    },
    "meme-generator": {
      selectTemplate:
        "Wählen Sie eine Vorlage aus der Galerie oder laden Sie Ihr eigenes Bild hoch.",
      chooseLayout: "Wählen Sie ein Textlayout für Ihr Bild.",
      textContent: "Textinhalt",
      textStyle: "Textstil",
      font: "Schriftart",
      fontSize: "Schriftgröße",
      textColor: "Textfarbe",
      strokeColor: "Konturfarbe",
      allCaps: "GROSSBUCHSTABEN",
      generate: "Meme erstellen",
      generating: "Wird erstellt...",
      downloadMeme: "Meme herunterladen",
      backToGallery: "Zurück zur Galerie",
    },
    info: {
      loadingInfo: "Informationen werden geladen...",
      filename: "Dateiname",
      fileSize: "Dateigröße",
      dimensions: "Abmessungen",
      format: "Format",
      channels: "Kanäle",
      colorSpace: "Farbraum",
      density: "Dichte",
      bitDepth: "Bittiefe",
      progressive: "Progressiv",
      pages: "Seiten",
      hasAlpha: "Hat Alpha",
      hasProfile: "Hat Profil",
      hasExif: "Hat EXIF",
      hasIcc: "Hat ICC",
      hasXmp: "Hat XMP",
      readInfo: "Info lesen",
      reading: "Wird gelesen...",
      channelStats: "Kanalstatistiken",
      yes: "Ja",
      no: "Nein",
      na: "N/A",
      failedToRead: "Info konnte nicht gelesen werden",
    },
    compare: {
      uploadSecondImage: "Zweites Bild hochladen",
      similarity: "Ähnlichkeit: {percent}%",
      submit: "Vergleichen",
      downloadDiff: "Differenz herunterladen",
    },
    "find-duplicates": {
      preset: "Vorlage",
      exact: "Exakt",
      similar: "Ähnlich",
      loose: "Locker",
      exactDesc: "Pixelidentische Kopien, gleiches Bild in unterschiedlichen Formaten.",
      similarDesc: "Skalierte, neu komprimierte oder leicht bearbeitete Kopien.",
      looseDesc: "Visuell verwandte Bilder, leichte Zuschnitte, unterschiedliche Belichtungen.",
      threshold: "Schwellenwert",
      submit: "Nach Duplikaten suchen",
      scanning: "Wird gescannt...",
    },
    "color-palette": {
      submit: "Palette extrahieren",
      extracting: "Wird extrahiert...",
      dominantColors: "Dominante Farben",
      clickToCopy: "Zum Kopieren klicken",
    },
    "qr-generate": {
      contentType: "Inhaltstyp",
      url: "URL",
      text: "Text",
      wifi: "WiFi",
      vcard: "vCard",
      email: "E-Mail",
      phone: "Telefon",
      sms: "SMS",
      styling: "Gestaltung",
      dotStyle: "Punktstil",
      cornerSquareStyle: "Eckquadrat-Stil",
      cornerDotStyle: "Eckpunkt-Stil",
      foregroundColor: "Vordergrundfarbe",
      bgColor: "Hintergrundfarbe",
      logo: "Logo",
      downloadFormat: "Downloadformat",
      submit: "QR-Code generieren",
      download: "QR-Code herunterladen",
    },
    "html-to-image": {
      modeUrl: "URL",
      modeHtml: "HTML-Datei",
      htmlFile: "HTML-Datei",
      url: "URL",
      urlPlaceholder: "https://snapotter.com",
      format: "Ausgabeformat",
      quality: "Qualität",
      devicePreset: "Gerät",
      viewportWidth: "Breite",
      viewportHeight: "Höhe",
      fullPage: "Ganze Seite",
      submit: "Aufnehmen",
      download: "Screenshot herunterladen",
      capturing: "Webseite wird aufgenommen...",
      errorTimeout: "Seite hat zu lange zum Laden gebraucht",
      errorBlocked: "Diese URL kann nicht aufgenommen werden",
      errorUnavailable: "Screenshot-Dienst ist nicht verfügbar",
      errorFailed: "Seite konnte nicht aufgenommen werden",
      placeholder: "URL eingeben und auf Aufnehmen klicken",
      presets: {
        desktop: "Desktop",
        tablet: "Tablet",
        mobile: "Mobil",
        custom: "Benutzerdefiniert",
      },
    },
    "barcode-read": {
      submit: "Barcodes scannen",
      submitBatch: "Scannen ({count} Dateien)",
      scanning: "Wird gescannt...",
      noBarcodesFound: "Keine Barcodes gefunden",
      barcodesFound: "{count} Barcode gefunden",
      barcodesFoundPlural: "{count} Barcodes gefunden",
    },
    collage: {
      template: "Vorlage",
      aspectRatio: "Seitenverhältnis",
      gap: "Abstand",
      cornerRadius: "Eckenradius",
      backgroundColor: "Hintergrundfarbe",
      outputFormat: "Ausgabeformat",
      quality: "Qualität",
      submit: "Collage erstellen",
      downloadCollage: "Collage herunterladen",
    },
    stitch: {
      direction: "Richtung",
      horizontal: "Horizontal",
      vertical: "Vertikal",
      grid: "Raster",
      gridColumns: "Rasterspalten",
      resizeMode: "Skalierungsmodus",
      fit: "Einpassen",
      original: "Original",
      stretchMode: "Strecken",
      cropMode: "Zuschneiden",
      alignment: "Ausrichtung",
      start: "Anfang",
      center: "Mitte",
      end: "Ende",
      gap: "Abstand",
      border: "Rand",
      cornerRadius: "Eckenradius",
      backgroundColor: "Hintergrundfarbe",
      outputFormat: "Ausgabeformat",
      quality: "Qualität",
      submit: "Bilder zusammenfügen",
    },
    split: {
      modeGrid: "Raster",
      modeTileSize: "Kachelgröße",
      presets: "Vorlagen",
      columns: "Spalten",
      rows: "Zeilen",
      tileWidth: "Kachelbreite",
      tileHeight: "Kachelhöhe",
      outputFormat: "Ausgabeformat",
      quality: "Qualität",
      submit: "Bild aufteilen",
      downloadAll: "Alle herunterladen (ZIP)",
    },
    border: {
      presets: "Vorlagen",
      borderWidth: "Randbreite",
      borderColor: "Randfarbe",
      padding: "Abstand",
      paddingColor: "Abstandsfarbe",
      cornerRadius: "Eckenradius",
      shadow: "Schatten",
      shadowBlur: "Schattenunschärfe",
      shadowOffsetX: "Schattenversatz X",
      shadowOffsetY: "Schattenversatz Y",
      shadowColor: "Schattenfarbe",
      shadowOpacity: "Schattendeckkraft",
      submit: "Rand hinzufügen",
      submitBatch: "Rand hinzufügen ({count} Dateien)",
      progressLabel: "Rand wird hinzugefügt",
    },
    beautify: {
      preset: "Vorlage",
      backgroundType: "Hintergrundtyp",
      solidColor: "Volltonfarbe",
      linearGradient: "Linearer Verlauf",
      radialGradient: "Radialer Verlauf",
      customImage: "Eigenes Bild",
      gradientAngle: "Verlaufswinkel",
      padding: "Abstand",
      borderRadius: "Randradius",
      shadowPreset: "Schattenvorlage",
      deviceFrame: "Geräterahmen",
      submit: "Verschönern",
      submitBatch: "Verschönern ({count} Dateien)",
      progressLabel: "Screenshot wird verschönert",
    },
    "circle-crop": {
      submit: "Kreiszuschnitt",
      submitBatch: "Kreiszuschnitt ({count} Dateien)",
      progressLabel: "Wird kreisförmig zugeschnitten",
    },
    duotone: {
      shadow: "Schattenfarbe",
      highlight: "Lichtfarbe",
      submit: "Duotone anwenden",
      submitBatch: "Duotone anwenden ({count} Dateien)",
      progressLabel: "Duotone wird angewendet",
    },
    "image-pad": {
      target: "Zielverhältnis",
      color: "Hintergrundfarbe",
      submit: "Bild auffüllen",
      submitBatch: "Bild auffüllen ({count} Dateien)",
      progressLabel: "Bild wird aufgefüllt",
    },
    pixelate: {
      blockSize: "Blockgröße",
      submit: "Verpixeln",
      submitBatch: "Verpixeln ({count} Dateien)",
      progressLabel: "Wird verpixelt",
    },
    vignette: {
      strength: "Stärke",
      color: "Vignettenfarbe",
      submit: "Vignette anwenden",
      submitBatch: "Vignette anwenden ({count} Dateien)",
      progressLabel: "Vignette wird angewendet",
    },
    "gif-webp": {
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Animation wird konvertiert",
    },
    histogram: {
      submit: "Histogramm erstellen",
      submitBatch: "Histogramm erstellen ({count} Dateien)",
      progressLabel: "Histogramm wird erstellt",
    },
    "lqip-placeholder": {
      width: "Breite",
      blur: "Unschärfe",
      submit: "Platzhalter erstellen",
      submitBatch: "Platzhalter erstellen ({count} Dateien)",
      progressLabel: "Platzhalter wird erstellt",
    },
    "sprite-sheet": {
      columns: "Spalten",
      padding: "Abstand",
      background: "Hintergrundfarbe",
      submit: "Sprite-Sheet erstellen",
      submitBatch: "Sprite-Sheet erstellen",
      progressLabel: "Sprite-Sheet wird erstellt",
    },
    "svg-to-raster": {
      outputFormat: "Ausgabeformat",
      sizing: "Größe",
      scaleMode: "Skalierung",
      customMode: "Benutzerdefiniert",
      scalePresets: "Skalierungsvorlagen",
      dpiPresets: "DPI-Vorlagen",
      customWidth: "Breite (px)",
      customHeight: "Höhe (px)",
      background: "Hintergrund",
      bgTransparent: "Transparent",
      bgColor: "Farbe",
      quality: "Qualität",
      submit: "SVG konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "SVG wird konvertiert",
    },
    vectorize: {
      preset: "Vorlage",
      logo: "Logo",
      illustration: "Illustration",
      photo: "Foto",
      sketch: "Skizze",
      customPreset: "Benutzerdefiniert",
      colorMode: "Farbmodus",
      bw: "S/W",
      colorModeColor: "Farbe",
      threshold: "Schwellenwert",
      colorPrecision: "Farbpräzision",
      layerDifference: "Ebenenunterschied",
      filterSpeckle: "Flecken filtern",
      pathMode: "Pfadmodus",
      cornerThreshold: "Eckenschwelle",
      invertColors: "Farben invertieren",
      submit: "Vektorisieren",
      submitBatch: "Vektorisieren ({count} Dateien)",
      progressLabel: "Wird vektorisiert",
    },
    "gif-tools": {
      mode: "Modus",
      resize: "Größe ändern",
      optimize: "Optimieren",
      speed: "Geschwindigkeit",
      reverse: "Umkehren",
      extract: "Extrahieren",
      rotateMode: "Drehen",
      pixel: "Pixel",
      percentage: "Prozent",
      colors: "Farben",
      dither: "Dithering",
      effort: "Aufwand",
      speedFactor: "Geschwindigkeitsfaktor",
      loopControl: "Schleifensteuerung",
      infinite: "Endlos",
      once: "Einmal",
      customLoop: "Benutzerdefiniert",
      loopCount: "Schleifenanzahl",
      extractSingle: "Einzeln",
      extractRange: "Bereich",
      extractAll: "Alle",
      frameNumber: "Bildnummer",
      frameStart: "Startbild",
      frameEnd: "Endbild",
      extractFormat: "Format",
      submit: "GIF verarbeiten",
      submitBatch: "Verarbeiten ({count} Dateien)",
      progressLabel: "GIF wird verarbeitet",
    },
    "image-to-base64": {
      outputFormat: "Ausgabeformat",
      keepOriginal: "Original beibehalten",
      quality: "Qualität",
      maxWidth: "Maximale Breite",
      maxHeight: "Maximale Höhe",
      submit: "In Base64 konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      copyBase64: "Base64 kopieren",
      copyDataUri: "Data-URI kopieren",
      copyImgTag: "<img>-Tag kopieren",
      copyCssUrl: "CSS url() kopieren",
    },
    "barcode-generate": {
      text: "Text",
      type: "Barcode-Typ",
      scale: "Skalierung",
      includeText: "Text einblenden",
      submit: "Barcode erstellen",
      download: "Barcode herunterladen",
    },
    "chart-maker": {
      kind: "Diagrammtyp",
      title: "Titel",
      width: "Breite",
      height: "Höhe",
      submit: "Diagramm erstellen",
      submitBatch: "Diagramm erstellen ({count} Dateien)",
      progressLabel: "Diagramm wird erstellt",
    },
    "enhance-faces-standalone": {
      model: "Modell",
      fast: "Schnell",
      balanced: "Ausgewogen",
      best: "Beste",
    },
    "convert-video": {
      format: "Ausgabeformat",
      quality: "Qualität",
      high: "Hoch",
      balanced: "Ausgewogen",
      small: "Kleinste",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "compress-video": {
      quality: "Komprimierung",
      light: "Leicht",
      balanced: "Ausgewogen",
      strong: "Stark",
      resolution: "Auflösung",
      original: "Original",
      submit: "Komprimieren",
      submitBatch: "Komprimieren ({count} Dateien)",
      progressLabel: "Wird komprimiert",
    },
    "trim-video": {
      start: "Start (Sekunden)",
      end: "Ende (Sekunden)",
      precise: "Bildgenau (neu kodiert)",
      submit: "Kürzen",
      submitBatch: "Kürzen ({count} Dateien)",
      progressLabel: "Wird gekürzt",
    },
    "mute-video": {
      submit: "Audio entfernen",
      submitBatch: "Audio entfernen ({count} Dateien)",
      progressLabel: "Audio wird entfernt",
    },
    "video-to-gif": {
      fps: "Bilder pro Sekunde",
      width: "Breite (px)",
      start: "Start (Sekunden)",
      duration: "Dauer (Sekunden)",
      submit: "GIF erstellen",
      submitBatch: "GIFs erstellen ({count} Dateien)",
      progressLabel: "GIF wird erstellt",
    },
    "resize-video": {
      preset: "Voreinstellung",
      width: "Breite (px)",
      height: "Höhe (px)",
      hint: "Ein Feld leer lassen, um das Seitenverhältnis beizubehalten",
      submit: "Skalieren",
      submitBatch: "Skalieren ({count} Dateien)",
      progressLabel: "Wird skaliert",
    },
    "crop-video": {
      width: "Breite (px)",
      height: "Höhe (px)",
      x: "X-Versatz",
      y: "Y-Versatz",
      submit: "Zuschneiden",
      submitBatch: "Zuschneiden ({count} Dateien)",
      progressLabel: "Wird zugeschnitten",
    },
    "rotate-video": {
      transform: "Transformation",
      cw90: "90° im Uhrzeigersinn drehen",
      ccw90: "90° gegen den Uhrzeigersinn drehen",
      rotate180: "180° drehen",
      hflip: "Horizontal spiegeln",
      vflip: "Vertikal spiegeln",
      submit: "Drehen",
      submitBatch: "Drehen ({count} Dateien)",
      progressLabel: "Wird gedreht",
    },
    "change-fps": {
      fps: "Bilder pro Sekunde",
      submit: "FPS ändern",
      submitBatch: "FPS ändern ({count} Dateien)",
      progressLabel: "FPS wird geändert",
    },
    "video-color": {
      brightness: "Helligkeit",
      contrast: "Kontrast",
      saturation: "Sättigung",
      gamma: "Gamma",
      submit: "Anwenden",
      submitBatch: "Anwenden ({count} Dateien)",
      progressLabel: "Farbe wird angepasst",
    },
    "video-speed": {
      factor: "Geschwindigkeitsfaktor",
      keepPitch: "Originaltonhöhe beibehalten",
      submit: "Geschwindigkeit ändern",
      submitBatch: "Geschwindigkeit ändern ({count} Dateien)",
      progressLabel: "Geschwindigkeit wird geändert",
    },
    "reverse-video": {
      hint: "Begrenzt auf Clips bis zu 5 Minuten",
      submit: "Umkehren",
      submitBatch: "Umkehren ({count} Dateien)",
      progressLabel: "Wird umgekehrt",
    },
    "video-loudnorm": {
      hint: "Normalisiert Audio auf den EBU-R128-Sendestandard",
      submit: "Normalisieren",
      submitBatch: "Normalisieren ({count} Dateien)",
      progressLabel: "Wird normalisiert",
    },
    "aspect-pad": {
      target: "Zielverhältnis",
      color: "Hintergrundfarbe",
      colorHint: "HEX-Farbe, z. B. #000000",
      submit: "Auffüllen",
      submitBatch: "Auffüllen ({count} Dateien)",
      progressLabel: "Wird aufgefüllt",
    },
    "blur-pad": {
      target: "Zielverhältnis",
      blur: "Unschärfestärke",
      submit: "Auffüllen",
      submitBatch: "Auffüllen ({count} Dateien)",
      progressLabel: "Wird aufgefüllt",
    },
    "watermark-video": {
      text: "Wasserzeichentext",
      position: "Position",
      fontSize: "Schriftgröße",
      opacity: "Deckkraft",
      color: "Farbe",
      colorHint: "HEX-Farbe, z. B. #ffffff",
      submit: "Wasserzeichen",
      submitBatch: "Wasserzeichen ({count} Dateien)",
      progressLabel: "Wasserzeichen wird hinzugefügt",
    },
    "stabilize-video": {
      smoothing: "Glättung",
      hint: "Benötigt zwei Durchläufe und dauert länger als die meisten Werkzeuge",
      submit: "Stabilisieren",
      submitBatch: "Stabilisieren ({count} Dateien)",
      progressLabel: "Wird stabilisiert",
    },
    "gif-to-video": {
      format: "Ausgabeformat",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "video-to-webp": {
      fps: "Bilder pro Sekunde",
      width: "Breite (px)",
      quality: "Qualität",
      loop: "Animation wiederholen",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "video-to-frames": {
      mode: "Extraktionsmodus",
      modeAll: "Alle Einzelbilder",
      modeNth: "Jedes N-te Einzelbild",
      modeTimestamps: "Bestimmte Zeitstempel",
      n: "Jedes N-te Einzelbild extrahieren",
      timestamps: "Zeitstempel (Sekunden)",
      timestampsHint: "Kommagetrennt, z. B. 0.5, 2, 4.5",
      format: "Bildformat",
      submit: "Einzelbilder extrahieren",
      submitBatch: "Einzelbilder extrahieren ({count} Dateien)",
      progressLabel: "Einzelbilder werden extrahiert",
    },
    "merge-videos": {
      hint: "Dateien werden in der Reihenfolge des Uploads zusammengefügt",
      submit: "Zusammenfügen",
      submitBatch: "Zusammenfügen ({count} Dateien)",
      progressLabel: "Wird zusammengefügt",
    },
    "replace-audio": {
      hint: "Zuerst das Video, dann die Audiodatei hochladen",
      submit: "Audio ersetzen",
      submitBatch: "Audio ersetzen ({count} Dateien)",
      progressLabel: "Audio wird ersetzt",
    },
    "burn-subtitles": {
      fontSize: "Schriftgröße",
      hint: "Ein Video und eine Untertiteldatei (.srt oder .vtt) hochladen",
      submit: "Untertitel einbrennen",
      submitBatch: "Untertitel einbrennen ({count} Dateien)",
      progressLabel: "Untertitel werden eingebrannt",
    },
    "embed-subtitles": {
      language: "Sprachcode",
      languageHint: "Dreistelliger ISO-639-2-Code, z. B. eng, spa, fra",
      submit: "Untertitel einbetten",
      submitBatch: "Untertitel einbetten ({count} Dateien)",
      progressLabel: "Untertitel werden eingebettet",
    },
    "extract-subtitles": {
      submit: "Untertitel extrahieren",
      submitBatch: "Untertitel extrahieren ({count} Dateien)",
      progressLabel: "Untertitel werden extrahiert",
    },
    "images-to-video": {
      secondsPerImage: "Sekunden pro Bild",
      resolution: "Auflösung",
      fps: "Bilder pro Sekunde",
      submit: "Video erstellen",
      submitBatch: "Video erstellen ({count} Dateien)",
      progressLabel: "Diashow wird erstellt",
    },
    "video-metadata": {
      hint: "Metadatenbericht erscheint im Ergebnis",
      submit: "Metadaten entfernen",
      submitBatch: "Metadaten entfernen ({count} Dateien)",
      progressLabel: "Metadaten werden entfernt",
    },
    "convert-audio": {
      format: "Ausgabeformat",
      bitrate: "Bitrate (kbps)",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "trim-audio": {
      start: "Start (Sekunden)",
      end: "Ende (Sekunden)",
      submit: "Kürzen",
      submitBatch: "Kürzen ({count} Dateien)",
      progressLabel: "Wird gekürzt",
    },
    "extract-audio": {
      format: "Ausgabeformat",
      submit: "Extrahieren",
      submitBatch: "Extrahieren ({count} Dateien)",
      progressLabel: "Wird extrahiert",
    },
    "volume-adjust": {
      "gain-db": "Verstärkung (dB)",
      submit: "Lautstärke anpassen",
      submitBatch: "Lautstärke anpassen ({count} Dateien)",
      progressLabel: "Lautstärke wird angepasst",
    },
    "normalize-audio": {
      hint: "EBU R128 Lautheitsnormalisierung",
      submit: "Normalisieren",
      submitBatch: "Normalisieren ({count} Dateien)",
      progressLabel: "Wird normalisiert",
    },
    "fade-audio": {
      "fade-in-s": "Einblenden (Sekunden)",
      "fade-out-s": "Ausblenden (Sekunden)",
      submit: "Blende anwenden",
      submitBatch: "Blende anwenden ({count} Dateien)",
      progressLabel: "Blende wird angewendet",
    },
    "reverse-audio": {
      submit: "Umkehren",
      submitBatch: "Umkehren ({count} Dateien)",
      progressLabel: "Wird umgekehrt",
    },
    "audio-speed": {
      factor: "Geschwindigkeitsfaktor",
      submit: "Geschwindigkeit ändern",
      submitBatch: "Geschwindigkeit ändern ({count} Dateien)",
      progressLabel: "Geschwindigkeit wird geändert",
    },
    "pitch-shift": {
      semitones: "Halbtöne",
      hint: "0 Halbtöne ist nicht erlaubt",
      submit: "Tonhöhe verschieben",
      submitBatch: "Tonhöhe verschieben ({count} Dateien)",
      progressLabel: "Tonhöhe wird verschoben",
    },
    "audio-channels": {
      mode: "Kanalmodus",
      "stereo-to-mono": "Stereo zu Mono",
      "mono-to-stereo": "Mono zu Stereo",
      swap: "Links/Rechts tauschen",
      submit: "Kanäle konvertieren",
      submitBatch: "Kanäle konvertieren ({count} Dateien)",
      progressLabel: "Kanäle werden konvertiert",
    },
    "silence-removal": {
      "threshold-db": "Stilleschwelle (dB)",
      "min-silence-s": "Minimale Stilledauer (Sekunden)",
      submit: "Stille entfernen",
      submitBatch: "Stille entfernen ({count} Dateien)",
      progressLabel: "Stille wird entfernt",
    },
    "noise-reduction": {
      strength: "Stärke",
      light: "Leicht",
      medium: "Mittel",
      strong: "Stark",
      submit: "Rauschen reduzieren",
      submitBatch: "Rauschen reduzieren ({count} Dateien)",
      progressLabel: "Rauschen wird reduziert",
    },
    "merge-audio": {
      format: "Ausgabeformat",
      mp3: "MP3",
      wav: "WAV",
      flac: "FLAC",
      m4a: "M4A",
      "order-hint": "Dateien werden in Upload-Reihenfolge verbunden",
      submit: "Audio zusammenführen",
      submitBatch: "Audio zusammenführen ({count} Dateien)",
      progressLabel: "Audio wird zusammengeführt",
    },
    "split-audio": {
      mode: "Teilungsmodus",
      time: "Nach Zeit",
      parts: "Gleiche Teile",
      silence: "Nach Stille",
      "segment-s": "Segmentlänge (Sekunden)",
      "num-parts": "Anzahl der Teile",
      "threshold-db": "Stilleschwelle (dB)",
      "min-silence-s": "Minimale Stilledauer (Sekunden)",
      submit: "Audio aufteilen",
      submitBatch: "Audio aufteilen ({count} Dateien)",
      progressLabel: "Audio wird aufgeteilt",
    },
    "ringtone-maker": {
      "start-s": "Startzeit (Sekunden)",
      "duration-s": "Dauer (Sekunden)",
      "max-hint": "Maximal 30 Sekunden",
      submit: "Klingelton erstellen",
      submitBatch: "Klingelton erstellen ({count} Dateien)",
      progressLabel: "Klingelton wird erstellt",
    },
    "waveform-image": {
      width: "Breite (px)",
      height: "Höhe (px)",
      color: "Wellenformfarbe",
      submit: "Wellenform erzeugen",
      submitBatch: "Wellenform erzeugen ({count} Dateien)",
      progressLabel: "Wellenform wird erzeugt",
    },
    "audio-metadata": {
      strip: "Alle Metadaten entfernen",
      title: "Titel",
      artist: "Künstler",
      album: "Album",
      submit: "Metadaten anwenden",
      submitBatch: "Metadaten anwenden ({count} Dateien)",
      progressLabel: "Metadaten werden angewendet",
    },
    "merge-pdf": {
      addFiles: "PDFs zum Zusammenführen hinzufügen",
      needTwo: "Mindestens zwei PDFs erforderlich",
      orderHint: "{count} PDFs werden in dieser Reihenfolge zusammengeführt",
      submit: "Zusammenführen",
      submitBatch: "Zusammenführen ({count} Dateien)",
      progressLabel: "Wird zusammengeführt",
    },
    "split-pdf": {
      mode: "Teilungsmodus",
      range: "Seitenbereich",
      rangeHint: "z. B. 1-3, 5, 7-z",
      everyN: "Seiten pro Teil",
      submit: "Aufteilen",
      submitBatch: "Aufteilen ({count} Dateien)",
      progressLabel: "Wird aufgeteilt",
    },
    "compress-pdf": {
      preset: "Qualitätsstufe",
      screen: "Bildschirm (kleinste)",
      ebook: "E-Book (ausgewogen)",
      printer: "Drucker (beste Qualität)",
      submit: "Komprimieren",
      submitBatch: "Komprimieren ({count} Dateien)",
      progressLabel: "Wird komprimiert",
    },
    "rotate-pdf": {
      angle: "Drehwinkel",
      range: "Seitenbereich",
      rangeHint: "z. B. 1-3, 5, 1-z (alle Seiten)",
      submit: "Drehen",
      submitBatch: "Drehen ({count} Dateien)",
      progressLabel: "Wird gedreht",
    },
    "convert-document": {
      format: "Ausgabeformat",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "convert-presentation": {
      format: "Ausgabeformat",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "convert-spreadsheet": {
      format: "Ausgabeformat",
      hint: "Arbeitsmappen mit mehreren Blättern exportieren nur das erste Blatt als CSV.",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "excel-to-pdf": {
      submit: "In PDF konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "powerpoint-to-pdf": {
      submit: "In PDF konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "word-to-pdf": {
      submit: "In PDF konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "extract-pages": {
      range: "Seitenbereich",
      rangeHint: "z. B. 1-3, 5, 7-z",
      submit: "Extrahieren",
      submitBatch: "Extrahieren ({count} Dateien)",
      progressLabel: "Wird extrahiert",
    },
    "remove-pages": {
      pages: "Zu entfernende Seiten",
      pagesHint: "z. B. 2, 4-6, z (letzte Seite)",
      submit: "Entfernen",
      submitBatch: "Entfernen ({count} Dateien)",
      progressLabel: "Wird entfernt",
    },
    "organize-pdf": {
      order: "Seitenreihenfolge",
      orderHint: "z. B. 3,1,2 oder 1-z (unverändert)",
      submit: "Neu anordnen",
      submitBatch: "Neu anordnen ({count} Dateien)",
      progressLabel: "Wird neu angeordnet",
    },
    "protect-pdf": {
      userPassword: "Benutzerkennwort",
      ownerPassword: "Besitzerkennwort (optional)",
      ownerPasswordHint: "Standardmäßig das Benutzerkennwort, wenn leer",
      submit: "Schützen",
      submitBatch: "Schützen ({count} Dateien)",
      progressLabel: "Wird verschlüsselt",
    },
    "unlock-pdf": {
      password: "Passwort",
      submit: "Entsperren",
      submitBatch: "Entsperren ({count} Dateien)",
      progressLabel: "Wird entschlüsselt",
    },
    "repair-pdf": {
      submit: "Reparieren",
      submitBatch: "Reparieren ({count} Dateien)",
      progressLabel: "Wird repariert",
    },
    "linearize-pdf": {
      submit: "Optimieren",
      submitBatch: "Optimieren ({count} Dateien)",
      progressLabel: "Wird linearisiert",
    },
    "grayscale-pdf": {
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "pdfa-convert": {
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "crop-pdf": {
      margin: "Rand (Punkte)",
      submit: "Zuschneiden",
      submitBatch: "Zuschneiden ({count} Dateien)",
      progressLabel: "Wird zugeschnitten",
    },
    "nup-pdf": {
      perSheet: "Seiten pro Blatt",
      submit: "Anordnen",
      submitBatch: "Anordnen ({count} Dateien)",
      progressLabel: "Wird angeordnet",
    },
    "booklet-pdf": {
      perSheet: "Seiten pro Blatt",
      submit: "Broschüre erstellen",
      submitBatch: "Broschüre erstellen ({count} Dateien)",
      progressLabel: "Broschüre wird erstellt",
    },
    "watermark-pdf": {
      text: "Wasserzeichentext",
      position: "Position",
      fontSize: "Schriftgröße",
      opacity: "Deckkraft",
      rotation: "Drehung",
      submit: "Wasserzeichen",
      submitBatch: "Wasserzeichen ({count} Dateien)",
      progressLabel: "Wasserzeichen wird hinzugefügt",
    },
    "pdf-page-numbers": {
      position: "Position",
      fontSize: "Schriftgröße",
      submit: "Nummerierung hinzufügen",
      submitBatch: "Nummerierung hinzufügen ({count} Dateien)",
      progressLabel: "Wird nummeriert",
    },
    "flatten-pdf": {
      submit: "Reduzieren",
      submitBatch: "Reduzieren ({count} Dateien)",
      progressLabel: "Wird reduziert",
    },
    "redact-pdf": {
      terms: "Zu schwärzende Begriffe",
      termsHint: "Ein Begriff pro Zeile (max. 50)",
      caseSensitive: "Groß-/Kleinschreibung beachten",
      submit: "Schwärzen",
      submitBatch: "Schwärzen ({count} Dateien)",
      progressLabel: "Wird geschwärzt",
    },
    "pdf-to-text": {
      submit: "Text extrahieren",
      submitBatch: "Text extrahieren ({count} Dateien)",
      progressLabel: "Wird extrahiert",
    },
    "pdf-to-word": {
      hint: "Optimal für textbasierte PDFs; gescannte Seiten benötigen OCR",
      submit: "In Word konvertieren",
      submitBatch: "In Word konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "pdf-metadata": {
      title: "Titel",
      author: "Autor",
      subject: "Betreff",
      keywords: "Schlüsselwörter",
      submit: "Metadaten setzen",
      submitBatch: "Metadaten setzen ({count} Dateien)",
      progressLabel: "Metadaten werden gesetzt",
    },
    "html-to-pdf": {
      hint: "Externe Ressourcen sind aus Datenschutzgründen deaktiviert.",
      submit: "In PDF konvertieren",
      submitBatch: "In PDF konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "markdown-to-docx": {
      submit: "In DOCX konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "markdown-to-html": {
      hint: "Externe Bilder in der Quelle bleiben in der Ausgabe unverändert.",
      submit: "In HTML konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "markdown-to-pdf": {
      hint: "Externe Ressourcen sind aus Datenschutzgründen deaktiviert.",
      submit: "In PDF konvertieren",
      submitBatch: "In PDF konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "epub-convert": {
      format: "Ausgabeformat",
      hint: "Externe Ressourcen im Buch werden nicht abgerufen.",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "to-epub": {
      submit: "In EPUB konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "csv-excel": {
      sheet: "Arbeitsblattnummer",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "csv-json": {
      pretty: "Formatierte Ausgabe",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "json-xml": {
      pretty: "Formatierte Ausgabe",
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "split-csv": {
      rowsPerFile: "Zeilen pro Datei",
      keepHeader: "Kopfzeile in jeder Datei beibehalten",
      submit: "Aufteilen",
      submitBatch: "Aufteilen ({count} Dateien)",
      progressLabel: "Wird aufgeteilt",
    },
    "merge-csvs": {
      submit: "Zusammenführen",
      submitBatch: "Zusammenführen ({count} Dateien)",
      progressLabel: "Wird zusammengeführt",
    },
    "yaml-json": {
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "xml-to-csv": {
      submit: "Konvertieren",
      submitBatch: "Konvertieren ({count} Dateien)",
      progressLabel: "Wird konvertiert",
    },
    "create-zip": {
      submit: "ZIP erstellen",
      submitBatch: "ZIP erstellen ({count} Dateien)",
      progressLabel: "Wird komprimiert",
    },
    "extract-zip": {
      submit: "Entpacken",
      submitBatch: "Entpacken ({count} Dateien)",
      progressLabel: "Wird entpackt",
    },
  },
  urlImport: {
    title: "Von URLs importieren",
    placeholder: "Bild-URLs einfügen, eine pro Zeile...",
    importButton: "URLs importieren",
    addButton: "{count} Dateien hinzufügen",
    adding: "Wird hinzugefügt...",
    retryButton: "Erneut versuchen",
    cancelButton: "Abbrechen",
    readyCount: "{count} bereit",
    failedStatus: "Fehlgeschlagen",
  },
  comparison: {
    original: "Original",
    processed: "Verarbeitet",
    before: "Vorher",
    after: "Nachher",
    savings: "Ersparnis",
  },
  toolPage: {
    emptyPrompt: "Bild hierher ziehen oder hochladen",
    filesCount: "Dateien ({count})",
    addMore: "+ Weitere hinzufügen",
    clearAll: "Alle entfernen",
    acceptDescription: "Nur {exts}-Dateien",
    notFound: "Werkzeug nicht gefunden",
    configureAndGenerate: "Einstellungen konfigurieren und generieren.",
    processingFailed: "Verarbeitung für diese Datei fehlgeschlagen",
    conversionComplete: "Konvertierung abgeschlossen",
    cannotPreviewDownload:
      "{type}-Dateien können im Browser nicht angezeigt werden. Verwenden Sie die Download-Schaltfläche, um Ihre Datei zu speichern.",
    generatingPreview: "Vorschau wird generiert...",
    cannotPreviewWillProcess:
      "{ext}-Dateien können im Browser nicht angezeigt werden. Das Werkzeug verarbeitet diese Datei trotzdem.",
    previousImage: "Vorherige Datei",
    nextImage: "Nächste Datei",
    imageCounter: "{current} / {total}",
    settingsLabel: "Einstellungen",
    downloadAllZip: "Alle herunterladen (ZIP)",
    hideSettings: "Einstellungen ausblenden",
    imageArea: "Vorschaubereich",
    disabledByAdmin: "Dieses Werkzeug wurde von Ihrem Administrator deaktiviert",
    browseOtherTools: "Andere Werkzeuge durchsuchen",
    privacyNote: "Dateien werden auf Ihrem Server verarbeitet und verlassen nie Ihr Netzwerk",
    applyAndDownload: "Anwenden & Herunterladen",
    andMore: "und {count} weitere",
    importFromFiles: "Aus Dateien importieren",
    saveToFiles: "In Dateien speichern",
    savedToFiles: "In Dateien gespeichert",
    adjustSettings: "Einstellungen anpassen",
    startOver: "Mit einer neuen Datei neu beginnen",
    newFile: "Neue Datei",
    previewUnavailable: "Vorschau ist nach der Verarbeitung verfügbar",
    generatePreview: "Vorschau erzeugen",
    previewFailed: "Vorschauerzeugung fehlgeschlagen",
    backToTools: "Zurück zu Werkzeugen",
    original: "Original",
    processed: "Verarbeitet",
    saved: "Gespeichert",
    noChange: "keine Änderung",
    download: "Herunterladen",
    settingsSaved: "Ihre Einstellungen wurden gespeichert.",
    tryAgain: "Erneut versuchen",
    tryDifferentFile: "Andere Datei versuchen",
    batchPartialSuccess: "{success} von {total} verarbeitet. {failed} fehlgeschlagen.",
    dataResultsHint:
      "Ergebnisse oben angezeigt. Verwenden Sie die Kopierschaltfläche im Ergebnisbereich.",
    downloadAsFile: "Als Datei herunterladen",
    downloadAll: "Alle herunterladen",
    downloadFiles: "{count} Dateien herunterladen",
    audioDecodeUnsupported: "Dieses Audioformat kann im Browser nicht wiedergegeben werden",
  },
  homePage: {
    generatingPreview: "Vorschau wird generiert...",
    loadingPreview: "Vorschau wird geladen...",
    changeFile: "Datei ändern",
    quickActions: "Schnellaktionen",
    allTools: "Alle Werkzeuge",
    searchPlaceholder: "{count} Werkzeuge durchsuchen...",
    recent: "Zuletzt verwendet",
    popular: "Beliebt",
    browseByCategory: "Nach Kategorie durchsuchen",
    gettingStarted: "Erste Schritte",
    noToolsMatch: "Keine Werkzeuge für '{query}' gefunden",
    clearSearch: "Suche zurücksetzen",
    all: "Alle",
    documents: "PDF",
    data: "Dateien",
    pdf: "PDF",
    files: "Dateien",
    toolCount: "{count} Werkzeuge",
    heading: "SnapOtter Werkzeuge",
  },
  fullscreenGrid: {
    searchPlaceholder: "Werkzeuge suchen...",
    hideDetails: "Details ausblenden",
    showDetails: "Details anzeigen",
    switchToSidebar: "Zur Seitenleisten-Ansicht wechseln",
    sidebarButton: "Seitenleiste",
    noToolsFound: "Keine Werkzeuge gefunden",
    tryDifferent: "Versuchen Sie einen anderen Suchbegriff",
  },
  editor: {
    menu: {
      file: {
        label: "Datei",
        new: "Neu",
        open: "Öffnen",
        save: "Speichern",
        exportAs: "Exportieren als...",
        quickExportPng: "Schnellexport als PNG",
        close: "Schließen",
      },
      edit: {
        label: "Bearbeiten",
        undo: "Rückgängig",
        redo: "Wiederholen",
        cut: "Ausschneiden",
        copy: "Kopieren",
        copyMerged: "Zusammengefügt kopieren",
        paste: "Einfügen",
        pasteInPlace: "An gleicher Stelle einfügen",
        delete: "Löschen",
        freeTransform: "Frei transformieren",
        transform: {
          label: "Transformieren",
          scale: "Skalieren",
          rotate: "Drehen",
          skew: "Neigen",
          flipHorizontal: "Horizontal spiegeln",
          flipVertical: "Vertikal spiegeln",
        },
      },
      image: {
        label: "Bild",
        imageSize: "Bildgröße...",
        canvasSize: "Leinwandgröße...",
        rotation: {
          label: "Bilddrehung",
          cw90: "90° im Uhrzeigersinn",
          ccw90: "90° gegen Uhrzeigersinn",
          r180: "180°",
          flipHorizontal: "Horizontal spiegeln",
          flipVertical: "Vertikal spiegeln",
        },
        trim: "Beschneiden",
        adjustments: {
          label: "Anpassungen",
          brightnessContrast: "Helligkeit/Kontrast",
          hueSaturation: "Farbton/Sättigung",
          colorBalance: "Farbbalance",
          levels: "Tonwerte",
          curves: "Gradationskurven",
        },
      },
      layer: {
        label: "Ebene",
        newLayer: "Neue Ebene",
        duplicateLayer: "Ebene duplizieren",
        deleteLayer: "Ebene löschen",
        arrange: {
          label: "Anordnen",
          bringToFront: "In den Vordergrund",
          bringForward: "Eine Ebene nach vorne",
          sendBackward: "Eine Ebene nach hinten",
          sendToBack: "In den Hintergrund",
        },
        mergeDown: "Nach unten zusammenfügen",
        flattenImage: "Bild reduzieren",
      },
      select: {
        label: "Auswahl",
        all: "Alles",
        deselect: "Auswahl aufheben",
        inverse: "Umkehren",
        colorRange: "Farbbereich...",
      },
      filter: {
        label: "Filter",
        blur: {
          label: "Weichzeichnen",
          gaussian: "Gauss'scher Weichzeichner",
          motion: "Bewegungsunschärfe",
          radial: "Radialer Weichzeichner",
          surface: "Oberflächenweichzeichner",
        },
        sharpen: {
          label: "Schärfen",
          sharpen: "Schärfen",
          unsharpMask: "Unscharf maskieren",
        },
        noise: {
          label: "Rauschen",
          addNoise: "Rauschen hinzufügen",
          reduceNoise: "Rauschen reduzieren",
        },
        pixelate: {
          label: "Pixeln",
          pixelate: "Pixeln",
          mosaic: "Mosaik",
        },
        stylize: {
          label: "Stilisieren",
          emboss: "Relief",
          solarize: "Solarisieren",
          posterize: "Posterisieren",
        },
        grayscale: "Graustufen",
        sepia: "Sepia",
        invert: "Invertieren",
      },
      view: {
        label: "Ansicht",
        zoomIn: "Vergrößern",
        zoomOut: "Verkleinern",
        fitOnScreen: "An Bildschirm anpassen",
        actualPixels: "Tatsächliche Pixel",
        rulers: "Lineale",
        grid: "Raster",
        guides: "Hilfslinien",
        snap: "Einrasten",
        panels: "Bedienfelder",
      },
    },
    menuBar: {
      backTitle: "Zurück zu SnapOtter",
    },
    welcome: {
      ariaLabel: "Bild-Ablagezone",
      heading: "Bild-Editor",
      dropDescription: "Ziehen Sie ein Bild hierher, um zu beginnen",
      openImageButton: "Bild öffnen",
      newDocumentButton: "Neues Dokument",
      pasteHint: "Oder aus der Zwischenablage einfügen (Strg+V)",
    },
    mobile: {
      heading: "Desktop empfohlen",
      description:
        "Der Bild-Editor funktioniert am besten auf Desktopbildschirmen. Bitte wechseln Sie für das volle Bearbeitungserlebnis zu einem Gerät mit größerem Display.",
    },
    errors: {
      serverDecodeFailed: "Server-Dekodierung fehlgeschlagen",
    },
    shapes: {
      shape: "Form",
      fill: "Füllung",
      stroke: "Kontur",
      strokeWidth: "Breite",
      cornerRadius: "Radius",
      sides: "Seiten",
      points: "Punkte",
      dashStyle: "Strichart",
      solid: "Durchgezogen",
      dashed: "Gestrichelt",
      dotted: "Gepunktet",
      none: "Keine",
      opacity: "Deckkraft",
      rectangle: "Rechteck",
      ellipse: "Ellipse",
      line: "Linie",
      arrow: "Pfeil",
      polygon: "Polygon",
      star: "Stern",
    },
  },
  settings: {
    heading: "Einstellungen",
    nav: {
      general: "Allgemein",
      systemSettings: "Systemeinstellungen",
      security: "Sicherheit",
      people: "Personen",
      teams: "Teams",
      roles: "Rollen",
      auditLog: "Audit-Protokoll",
      usage: "Nutzung",
      apiKeys: "API-Schlüssel",
      aiFeatures: "AI-Funktionen",
      tools: "Werkzeuge",
      about: "Info",
    },
    general: {
      heading: "Allgemein",
      description: "Benutzereinstellungen und Anzeigeoptionen.",
      loading: "Wird geladen...",
      logOut: "Abmelden",
      defaultToolViewLabel: "Standard-Werkzeugansicht",
      defaultToolViewDescription: "Wie Werkzeuge auf der Startseite angezeigt werden",
      sidebarOption: "Seitenleiste",
      fullscreenGridOption: "Vollbild-Raster",
      appVersionLabel: "App-Version",
      appVersionDescription: "Aktuelle Version von SnapOtter",
      saveButton: "Einstellungen speichern",
      saveSuccess: "Einstellungen gespeichert.",
      saveFailed: "Einstellungen konnten nicht gespeichert werden.",
    },
    system: {
      heading: "Systemeinstellungen",
      description: "Serverseitige Konfiguration und Limits.",
      fileUploadLimitLabel: "Dateiupload-Limit (MB)",
      fileUploadLimitDescription: "Maximale Dateigröße pro Upload",
      defaultThemeLabel: "Standard-Farbschema",
      defaultThemeDescription: "Farbschema für neue Sitzungen",
      lightOption: "Hell",
      darkOption: "Dunkel",
      systemOption: "System",
      languageLabel: "Sprache",
      languageDescription: "Sprache der Benutzeroberfläche",
      loginAttemptLimitLabel: "Anmeldeversuchslimit",
      loginAttemptLimitDescription:
        "Maximale fehlgeschlagene Anmeldeversuche pro Minute vor Sperrung",
      fileManagementHeading: "Dateiverwaltung",
      maxFileAgeLabel: "Maximales Dateialter (Stunden)",
      maxFileAgeDescription:
        "Wie lange verarbeitete Dateien vor automatischer Bereinigung aufbewahrt werden",
      startupCleanupLabel: "Bereinigung beim Start",
      startupCleanupDescription: "Alte temporäre Dateien beim Serverstart bereinigen",
      saveButton: "Einstellungen speichern",
      saveSuccess: "Einstellungen gespeichert.",
      saveFailed: "Einstellungen konnten nicht gespeichert werden.",
      limitsAndResources: "Limits & Ressourcen",
      maxFileSize: "Maximale Dateigröße",
      maxBatchSize: "Maximale Stapelgröße",
      concurrentJobs: "Gleichzeitige Aufträge",
      workerThreads: "Arbeitsthreads",
      maxPipelineSteps: "Maximale Pipeline-Schritte",
      processingTimeout: "Verarbeitungs-Timeout",
      rateLimitPerMin: "Ratenlimit (Anfragen/Min.)",
      unlimited: "Unbegrenzt",
      auto: "Automatisch",
      envOverride: "Durch Umgebungsvariable gesetzt",
      maxCanvasPixels: "Maximale Leinwandpixel",
      maxSvgSize: "Maximale SVG-Größe",
      maxSplitGrid: "Maximales Aufteilungsraster",
      maxPdfPages: "Maximale PDF-Seiten",
      sessionDuration: "Sitzungsdauer",
      supportBundleButton: "Support-Paket herunterladen",
      supportBundleDescription:
        "Diagnosearchiv mit bereinigter Konfiguration, Protokollen und Auftragsdaten zur Fehlerbehebung herunterladen.",
      supportBundleFailed: "Support-Paket konnte nicht heruntergeladen werden.",
    },
    security: {
      heading: "Sicherheit",
      description: "Passwort- und Authentifizierungseinstellungen.",
      changePasswordHeading: "Passwort ändern",
      currentPasswordPlaceholder: "Aktuelles Passwort",
      newPasswordPlaceholder: "Neues Passwort",
      confirmPasswordPlaceholder: "Neues Passwort bestätigen",
      passwordsMismatch: "Passwörter stimmen nicht überein",
      passwordTooShort: "Passwort muss mindestens 4 Zeichen lang sein",
      changeSuccess: "Passwort erfolgreich geändert",
      changeFailed: "Passwort konnte nicht geändert werden",
      currentPasswordIncorrect: "Aktuelles Passwort ist falsch",
      changePasswordButton: "Passwort ändern",
      loginAttemptLimitNote:
        "Anmeldeversuchslimits können in den Systemeinstellungen konfiguriert werden.",
      adminHeading: "Admin-Sicherheitseinstellungen",
      adminDescription: "Enterprise-Sicherheitsrichtlinien. Diese gelten für alle Benutzer.",
      sessionIdleTimeout: "Sitzungszeitlimit bei Inaktivität (Minuten)",
      sessionIdleTimeoutDesc: "Inaktive Sitzungen automatisch abmelden. 0 = deaktiviert.",
      maxSessionsPerUser: "Max. Sitzungen pro Benutzer",
      maxSessionsPerUserDesc: "Gleichzeitige Sitzungen pro Benutzer begrenzen. 0 = unbegrenzt.",
      mfaPolicy: "MFA-Richtlinie",
      mfaPolicyDesc: "Multi-Faktor-Authentifizierung für Benutzer vorschreiben.",
      mfaPolicyOptional: "Optional",
      mfaPolicyAdminsOnly: "Erforderlich für Admins",
      mfaPolicyRequired: "Erforderlich für alle Benutzer",
      ssoEnforcement: "SSO-Erzwingung",
      ssoEnforcementDesc: "SSO-Anmeldung für alle Benutzer ohne Notfallzugang vorschreiben.",
      ssoBreakGlassUsername: "Notfallzugang-Admin-Benutzername",
      ssoBreakGlassUsernameDesc:
        "Dieser Admin kann sich bei erzwungenem SSO weiterhin mit lokalen Zugangsdaten anmelden.",
      passwordMinLength: "Mindestlänge Passwort",
      passwordMinLengthDesc: "Mindestanzahl der Zeichen für Passwörter.",
      passwordRequireUppercase: "Großbuchstabe erforderlich",
      passwordRequireUppercaseDesc: "Mindestens ein Großbuchstabe erforderlich.",
      passwordRequireNumber: "Zahl erforderlich",
      passwordRequireNumberDesc: "Mindestens eine Zahl erforderlich.",
      passwordRequireSpecial: "Sonderzeichen erforderlich",
      passwordRequireSpecialDesc: "Mindestens ein Sonderzeichen erforderlich.",
      passwordPolicyHeading: "Passwortrichtlinie",
      securitySettingsSaved: "Sicherheitseinstellungen gespeichert",
      securitySettingsFailed: "Sicherheitseinstellungen konnten nicht gespeichert werden",
    },
    people: {
      heading: "Personen",
      description: "Arbeitsbereich-Mitglieder und deren Berechtigungen verwalten",
      userCount: "{count} Benutzer",
      userCountPlural: "{count} Benutzer",
      searchPlaceholder: "Mitglieder suchen...",
      addMembersButton: "Mitglieder hinzufügen",
      newMemberHeading: "Neues Mitglied",
      usernamePlaceholder: "Benutzername",
      passwordPlaceholder: "Passwort",
      roleUserOption: "Benutzer",
      roleEditorOption: "Redakteur",
      roleAdminOption: "Administrator",
      roleUserDescription: "Grundlegender Werkzeugzugriff",
      roleEditorDescription: "Alle Dateien & Pipelines",
      roleAdminDescription: "Vollzugriff",
      noDescription: "Keine Beschreibung",
      defaultTeamOption: "Standard",
      createButton: "Erstellen",
      cancelButton: "Abbrechen",
      createSuccess: "Benutzer erfolgreich erstellt",
      createFailed: "Benutzer konnte nicht erstellt werden",
      userLimitReached: "Benutzerlimit erreicht (maximal {max})",
      deleteConfirm: 'Benutzer "{username}" löschen? Dies kann nicht rückgängig gemacht werden.',
      deleteSuccess: 'Benutzer "{username}" gelöscht',
      deleteFailed: "Benutzer konnte nicht gelöscht werden",
      editHeading: "{username} bearbeiten",
      updateSuccess: "Benutzer aktualisiert",
      updateFailed: "Benutzer konnte nicht aktualisiert werden",
      cannotRemoveOwnAdmin: "Sie können Ihre eigene Administratorrolle nicht entfernen",
      resetPasswordHeading: "Passwort zurücksetzen für {username}",
      newPasswordLabel: "Neues Passwort (mind. 8 Zeichen)",
      resetPasswordButton: "Passwort zurücksetzen",
      resetPasswordWarning:
        "Dadurch werden alle Sitzungen und API-Schlüssel dieses Benutzers ungültig.",
      resetSuccess: "Passwort erfolgreich zurückgesetzt",
      resetFailed: "Passwort konnte nicht zurückgesetzt werden",
      tableHeaderUser: "Benutzer",
      tableHeaderRole: "Rolle",
      tableHeaderTeam: "Team",
      noSearchResults: "Keine Mitglieder entsprechen Ihrer Suche.",
      noUsersFound: "Keine Benutzer gefunden.",
      authBadgeLocalOidc: "Lokal + OIDC",
      authBadgeOidc: "OIDC",
      editRoleTeamAction: "Rolle / Team bearbeiten",
      resetPasswordAction: "Passwort zurücksetzen",
      deleteUserAction: "Benutzer löschen",
      saveButton: "Speichern",
      copyPasswordButton: "Passwort kopieren",
      passwordCopied: "Kopiert!",
      copyPasswordWarning:
        "Kopieren Sie dieses Passwort jetzt. Nach dem Erstellen des Benutzers ist es nicht mehr sichtbar.",
    },
    teams: {
      heading: "Teams",
      description: "Mitglieder in Teams organisieren für bessere Verwaltung.",
      createButton: "Neues Team erstellen",
      newTeamHeading: "Neues Team",
      teamNamePlaceholder: "Teamname",
      createSubmitButton: "Erstellen",
      cancelButton: "Abbrechen",
      createSuccess: "Team erfolgreich erstellt",
      createFailed: "Team konnte nicht erstellt werden",
      duplicateTeamError: "Ein Team mit diesem Namen existiert bereits",
      renameSuccess: "Team umbenannt",
      renameFailed: "Team konnte nicht umbenannt werden",
      deleteConfirm: 'Team "{name}" löschen? Mitglieder werden abgemeldet.',
      deleteSuccess: 'Team "{name}" gelöscht',
      deleteFailed: "Team konnte nicht gelöscht werden",
      cannotDeleteDefault:
        "Das Standardteam oder ein Team mit Mitgliedern kann nicht gelöscht werden",
      tableHeaderTeamName: "Teamname",
      tableHeaderMembers: "Mitglieder",
      emptyState: "Keine Teams gefunden.",
      renameSaveButton: "Speichern",
      renameCancelButton: "Abbrechen",
      renameAction: "Umbenennen",
      deleteAction: "Löschen",
      totalMembers: "Mitglieder gesamt",
      nameRequired: "Teamname ist erforderlich",
      nameTooLong: "Teamname darf maximal 50 Zeichen lang sein",
      duplicateName: "Ein Team mit diesem Namen existiert bereits",
      teamStorageQuota: "Speicherkontingent (MB)",
      teamStorageQuotaDesc:
        "Maximaler Speicherplatz für dieses Team in MB. Leer lassen für unbegrenzt.",
      teamRetentionHours: "Aufbewahrung (Stunden)",
      teamRetentionHoursDesc:
        "Aufbewahrungsdauer für Verarbeitungsdateien dieses Teams. Leer lassen für globalen Standard.",
      quotaSaved: "Team-Einstellungen gespeichert",
    },
    roles: {
      heading: "Rollen",
      description:
        "Rollen und deren Berechtigungen verwalten. Integrierte Rollen können nicht geändert werden.",
      createButton: "Benutzerdefinierte Rolle erstellen",
      newRoleHeading: "Neue Rolle",
      roleNamePlaceholder: "Rollenname",
      descriptionPlaceholder: "Beschreibung (optional)",
      permissionsLabel: "Berechtigungen",
      createSubmitButton: "Erstellen",
      cancelButton: "Abbrechen",
      createSuccess: "Rolle erfolgreich erstellt",
      createFailed: "Rolle konnte nicht erstellt werden",
      duplicateRoleError: "Eine Rolle mit diesem Namen existiert bereits",
      editHeading: "Rolle bearbeiten: {name}",
      editSaveButton: "Speichern",
      editCancelButton: "Abbrechen",
      updateSuccess: "Rolle aktualisiert",
      updateFailed: "Rolle konnte nicht aktualisiert werden",
      deleteConfirm: 'Rolle "{name}" löschen? {count} Benutzer müssen neu zugewiesen werden.',
      deleteConfirmSimple: 'Rolle "{name}" löschen?',
      deleteSuccess: 'Rolle "{name}" gelöscht',
      deleteFailed: "Rolle konnte nicht gelöscht werden",
      emptyState: "Keine Rollen gefunden.",
      builtInBadge: "Integriert",
      userCountBadge: "{count} Benutzer",
      editRoleTitle: "Rolle bearbeiten",
      deleteRoleTitle: "Rolle löschen",
      permGroup: {
        tools: "Werkzeuge",
        files: "Dateien",
        apiKeys: "API-Schlüssel",
        pipelines: "Pipelines",
        settings: "Einstellungen",
        users: "Benutzer",
        teams: "Teams",
        system: "System",
      },
    },
    auditLog: {
      heading: "Audit-Protokoll",
      allActionsFilter: "Alle Aktionen",
      emptyState: "Keine Audit-Protokolleinträge.",
      tableHeaderTime: "Zeit",
      tableHeaderUser: "Benutzer",
      tableHeaderAction: "Aktion",
      tableHeaderTarget: "Ziel",
      paginationInfo: "Seite {page} von {totalPages} ({total} Einträge)",
      previousButton: "Zurück",
      nextButton: "Weiter",
      justNow: "Gerade eben",
      minutesAgo: "Vor {mins} Min.",
      hoursAgo: "Vor {hrs} Std.",
      daysAgo: "Vor {days} Tagen",
    },
    usage: {
      heading: "Nutzung",
      description: "Lokale Nutzungsstatistiken zu Aufträgen und Dateispeicher.",
      periodLabel: "Zeitraum",
      days7: "7 Tage",
      days30: "30 Tage",
      days90: "90 Tage",
      jobsPerDayHeading: "Aufträge pro Tag",
      topToolsHeading: "Meistgenutzte Werkzeuge",
      perUserHeading: "Volumen pro Benutzer",
      durationsHeading: "Dauer-Perzentile",
      noData: "Keine Daten für diesen Zeitraum.",
      dayColumn: "Tag",
      totalColumn: "Gesamt",
      completedColumn: "Abgeschlossen",
      failedColumn: "Fehlgeschlagen",
      toolColumn: "Werkzeug",
      runsColumn: "Ausführungen",
      userColumn: "Benutzer",
      bytesInColumn: "Bytes ein",
      poolColumn: "Pool",
      p50Column: "p50",
      p95Column: "p95",
      storageHeading: "Bibliotheksspeicher",
      storageFiles: "{count} Dateien",
      unknownUser: "(unbekannt)",
      storageByTeam: "Speicher nach Team",
      teamColumn: "Team",
      storageColumn: "Speicher",
      usersColumn: "Benutzer",
    },
    apiKeys: {
      heading: "API-Schlüssel",
      description: "API-Schlüssel für programmatischen Zugriff auf SnapOtter verwalten.",
      keyNamePlaceholder: "Schlüsselname (optional)",
      generateButton: "API-Schlüssel generieren",
      removeScopingLabel: "Berechtigungsbeschränkung entfernen",
      restrictPermissionsLabel: "Berechtigungen einschränken (optional)",
      expiresLabel: "Läuft ab:",
      clearButton: "Leeren",
      copyTitle: "Kopieren",
      keyWarning: "Bewahren Sie diesen Schlüssel sicher auf. Er wird nicht erneut angezeigt.",
      existingKeysHeading: "Vorhandene Schlüssel",
      createdPrefix: "Erstellt {date}",
      scopedPrefix: "Beschränkt:",
      expiresPrefix: "Läuft ab {date}",
      deleteKeyTitle: "Schlüssel löschen",
      deleteConfirm:
        "Diesen API-Schlüssel löschen? Alle Integrationen, die ihn nutzen, werden nicht mehr funktionieren.",
      emptyState: "Noch keine API-Schlüssel. Generieren Sie einen, um zu beginnen.",
    },
    tools: {
      heading: "Werkzeuge",
      description:
        "Einzelne Werkzeuge aktivieren oder deaktivieren. Deaktivierte Werkzeuge sind für alle Benutzer ausgeblendet.",
      restartBanner: "Neustart erforderlich, damit Änderungen wirksam werden.",
      searchPlaceholder: "Werkzeuge suchen...",
      noSearchResults: "Keine Werkzeuge entsprechen Ihrer Suche.",
      loadFailedError:
        "Werkzeugeinstellungen konnten nicht geladen werden. Speichern ist deaktiviert, um Datenverlust zu vermeiden.",
      saveButton: "Werkzeugeinstellungen speichern",
      disabledCount: "{count} Werkzeug(e) deaktiviert",
    },
    experimental: {
      label: "Experimentelle Werkzeuge aktivieren",
      description:
        "Werkzeuge anzeigen, die sich noch in der Entwicklung befinden. Diese können instabil sein.",
    },
    fileManagement: {
      title: "Dateiverwaltung",
      maxAge: "Maximales Dateialter (Stunden)",
      maxAgeDescription:
        "Wie lange verarbeitete Dateien vor automatischer Bereinigung aufbewahrt werden",
      startupCleanup: "Bereinigung beim Start",
      startupCleanupDescription: "Alte temporäre Dateien beim Serverstart bereinigen",
    },
    dataRetention: {
      title: "Datenaufbewahrung",
      fileMaxAgeHours: "Aufbewahrung von Verarbeitungsdateien (Stunden)",
      fileMaxAgeHoursDesc:
        "Wie lange hochgeladene und verarbeitete Dateien aufbewahrt werden. Standard: 72 Stunden.",
      jobsRetentionDays: "Aufbewahrung von Auftragsdaten (Tage)",
      jobsRetentionDaysDesc:
        "Wie lange Auftragsmetadaten aufbewahrt werden. 0 = unbegrenzt. Standard: 30 Tage.",
      auditRetentionDays: "Aufbewahrung von Audit-Protokollen (Tage)",
      auditRetentionDaysDesc:
        "Wie lange Audit-Protokolleinträge aufbewahrt werden. 0 = unbegrenzt. Standard: unbegrenzt.",
    },
    aiFeatures: {
      title: "AI-Funktionen",
      description: "AI-Modellpakete für erweiterte Dateiverarbeitung verwalten.",
      installAll: "Alle installieren",
      diskUsage: "Speicherplatznutzung: {size}",
      installed: "Installiert",
      notInstalled: "Nicht installiert",
      queued: "In Warteschlange",
      install: "Installieren",
      repair: "Reparieren",
      uninstall: "Deinstallieren",
      installing: "Wird installiert...",
      importBundle: "Paket importieren",
      importDescription:
        "Laden Sie ein .tar.gz-Paketarchiv hoch, das aus einer anderen Installation exportiert wurde.",
      importButton: "Aus Datei importieren",
      importing: "Wird importiert...",
      importSuccess: "Paket erfolgreich importiert.",
      importError: "Paketimport fehlgeschlagen: {error}",
    },
    about: {
      heading: "Info",
      appName: "SnapOtter",
      appDescription:
        "Eine selbst gehostete, datenschutzorientierte Dateiverarbeitungssuite mit 157 Werkzeugen. Konvertieren, komprimieren, bearbeiten, transkribieren, OCR und Bild-, Video-, Audio-, Dokument- und Datenabläufe automatisieren, ohne Daten in die Cloud zu senden.",
      versionLabel: "Version:",
      linksHeading: "Links",
      githubLink: "GitHub-Repository",
      docsLink: "Dokumentation",
      apiRefLink: "API-Referenz (Swagger)",
      licenseLabel: "Lizenz:",
      licenseDescription:
        "SnapOtter ist Open-Source-Software, lizenziert unter der GNU Affero General Public License v3 (AGPLv3).",
    },
  },
  auth: {
    login: "Anmelden",
    logout: "Abmelden",
    username: "Benutzername",
    password: "Passwort",
    loginButton: "Anmelden",
    loggingIn: "Anmeldung läuft...",
    invalidCredentials: "Ungültiger Benutzername oder Passwort",
    connectionError: "Verbindungsfehler",
    signInWith: "Anmelden mit {provider}",
    signInWithSso: "Anmelden mit SSO",
    or: "oder",
    methodLocal: "Lokal",
    methodOidc: "OIDC",
    methodBoth: "Lokal + OIDC",
    oidcAuthFailed: "Authentifizierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
    oidcProviderUnreachable:
      "Der Identitätsanbieter ist nicht erreichbar. Bitte versuchen Sie es später erneut.",
    oidcSessionExpired: "Anmeldesitzung abgelaufen. Bitte versuchen Sie es erneut.",
    oidcUserNotAuthorized:
      "Ihr Konto ist nicht für den Zugriff auf diese Anwendung autorisiert. Kontaktieren Sie Ihren Administrator.",
    oidcUserLimitReached: "Benutzerlimit erreicht. Kontaktieren Sie Ihren Administrator.",
    oidcGenericError: "Authentifizierungsfehler. Bitte versuchen Sie es erneut.",
    samlAuthFailed: "SAML-Authentifizierung fehlgeschlagen. Bitte versuchen Sie es erneut.",
    samlUserNotAuthorized:
      "Ihr Konto ist nicht berechtigt, auf diese Anwendung zuzugreifen. Kontaktieren Sie Ihren Administrator.",
    samlUserLimitReached: "Benutzerlimit erreicht. Kontaktieren Sie Ihren Administrator.",
    ssoEnforcedLocalRestricted: "Lokale Anmeldung ist auf autorisierte Administratoren beschränkt.",
    mfaRequired: "Geben Sie Ihren Authentifizierungscode ein",
    mfaRecoveryHint: "Sie können auch einen Wiederherstellungscode verwenden",
    verify: "Bestätigen",
    verifying: "Wird überprüft...",
    mfaInvalidCode: "Ungültiger Code. Bitte versuchen Sie es erneut.",
    mfaEnrollmentRequired:
      "Ihre Organisation erfordert Multi-Faktor-Authentifizierung. Bitte richten Sie MFA in Ihren Kontoeinstellungen ein.",
    methodSaml: "SAML",
    passwordManagedByProvider: "Passwortänderungen werden von Ihrem Identitätsanbieter verwaltet.",
    enterUsername: "Benutzernamen eingeben",
    enterPassword: "Passwort eingeben",
    heroTitle: "Ihre Dateien. Bleiben Ihre.",
    heroSubtitle: "Jedes Werkzeug, das Sie brauchen.",
    rotatingPhrases: [
      "Keine Registrierung. Keine Konten.",
      "Kein Upload in die Cloud. Niemals.",
      "100% lokale Verarbeitung.",
      "Kostenlos. Für immer.",
      "Keine Limits. Keine versteckten Grenzen.",
      "Funktioniert komplett offline.",
      "Unbegrenzte Stapelverarbeitung.",
      "157 Werkzeuge.",
      "16 AI-Modelle. Ihre Hardware.",
      "Blitzschnell. Basiert auf Sharp.",
      "Geeignet für abgeschottete Netzwerke.",
      "Ein einziger Docker-Container.",
      "Open Source. Immer.",
      "Jedes Pixel bleibt auf Ihrer Hardware.",
      "Ihr Server. Ihre Regeln.",
      "Ein einziger docker pull.",
      "Die selbst gehostete Alternative.",
      "Skalieren, komprimieren, konvertieren. Lokal.",
      "Kostenloser Bild-Editor. Ohne Wasserzeichen.",
      "Massendateiverarbeitung. Unbegrenzt.",
      "Hintergrund offline entfernen.",
      "Die selbst gehostete Canva-Alternative.",
      "Keine API-Schlüssel nötig.",
      "DSGVO-konform von Grund auf.",
      "Funktioniert ohne Internet.",
    ],
  },
  changePassword: {
    title: "Passwort ändern",
    description:
      "Sie müssen ein neues Passwort festlegen, bevor Sie fortfahren können. Ihr Passwort muss mindestens 8 Zeichen mit Groß- und Kleinbuchstaben sowie einer Zahl enthalten.",
    usernameLabel: "Benutzername",
    currentPasswordLabel: "Aktuelles Passwort",
    currentPasswordPlaceholder: "Aktuelles Passwort eingeben",
    newPasswordLabel: "Neues Passwort",
    generateButton: "Sicheres Passwort generieren",
    newPasswordPlaceholder: "Mindestens 8 Zeichen",
    confirmPasswordLabel: "Neues Passwort bestätigen",
    confirmPasswordPlaceholder: "Neues Passwort wiederholen",
    passwordsMismatch: "Passwörter stimmen nicht überein",
    failedError: "Passwort konnte nicht geändert werden",
    connectionError: "Verbindungsfehler",
    changingButton: "Wird geändert...",
    changeButton: "Passwort ändern",
    sidebarTitle: "Fast geschafft",
    sidebarDescription:
      "Legen Sie ein sicheres Passwort fest, um Ihr Konto zu schützen. Dann kann es losgehen.",
  },
  automate: {
    title: "Automatisieren",
    invalidPipelineFile: "Keine gültige SnapOtter-Pipeline-Datei",
    newerVersion: "Diese Pipeline wurde mit einer neueren Version von SnapOtter erstellt",
    missingName: "Pipeline-Datei hat keinen Namen",
    noSteps: "Pipeline-Datei hat keine Schritte",
    importFailed: "Import fehlgeschlagen",
    couldNotRead: "Pipeline-Datei konnte nicht gelesen werden",
    fileCount: "{count} Datei",
    fileCountPlural: "{count} Dateien",
    importFromLibrary: "Aus Bibliothek importieren",
    addButton: "+ Hinzufügen",
    libraryButton: "Bibliothek",
    clearButton: "Leeren",
    processingFailed: "Verarbeitung für diese Datei fehlgeschlagen",
    processingMultiple: "{count} Dateien werden verarbeitet...",
    processingPipeline: "Pipeline wird verarbeitet...",
    processButton: "Verarbeiten",
    processButtonMultiple: "Verarbeiten ({count})",
    processAllButton: "Alle verarbeiten ({count})",
    addTool: "Werkzeug hinzufügen",
    toolPalette: "Werkzeugpalette",
    clickToAdd: "Zum Hinzufügen zur Pipeline klicken",
    savedLabel: "Gespeichert",
    importButton: "Importieren",
    noSavedPipelines: "Keine gespeicherten Pipelines",
    stepCount: "({count} Schritt)",
    stepCountPlural: "({count} Schritte)",
    exportPipeline: "Pipeline exportieren",
    deletePipeline: "Pipeline löschen",
    moreCount: "+{count} weitere",
    pipelineBuilder: "Pipeline-Builder",
    addToolsPrompt: "Fügen Sie Werkzeuge aus der Palette hinzu, um zu beginnen",
    stepsConfigured: "{count} Schritt konfiguriert",
    stepsConfiguredPlural: "{count} Schritte konfiguriert",
    noFilesLoaded: "Keine Dateien geladen",
    downloadZip: "ZIP herunterladen",
    saveButton: "Speichern",
    pipelineNamePlaceholder: "Pipeline-Name",
    descriptionPlaceholder: "Beschreibung",
    savingIndicator: "...",
    cancelButton: "Abbrechen",
    preview: "Vorschau",
    previousImage: "Vorherige Datei",
    nextImage: "Nächste Datei",
    imageCounter: "{current} / {total}",
    imageArea: "Vorschaubereich",
    templateSocialMedia: "Social Media fertig",
    templatePrivacyClean: "Datenschutzbereinigung",
    templateWebOptimization: "Weboptimierung",
    templateProfilePicture: "Profilbild",
    templateWatermarkBatch: "Wasserzeichen-Stapel",
    createNew: "Neue Automatisierung erstellen",
    savedAutomations: "Gespeicherte Automatisierungen",
    templates: "Vorlagen",
    addStep: "Schritt hinzufügen",
    removeStep: "Entfernen",
    moveUp: "Nach oben",
    moveDown: "Nach unten",
    savePipeline: "Pipeline speichern",
    runPipeline: "Verarbeiten",
    pipelineName: "Pipeline-Name",
    pipelineDescription: "Beschreibung (optional)",
    noStepsPrompt: "Fügen Sie Schritte hinzu, um Ihre Automatisierung zu erstellen",
    noStepsHeading: "Noch keine Schritte",
    searchToolsPlaceholder: "Werkzeuge suchen...",
    step: "Schritt",
    modalityWarning: "Modalitätskonflikt",
    modalityWarningTooltip:
      "Dieser Schritt erwartet {expected}, erhält aber {received}; er kann beim Ausführen der Pipeline fehlschlagen.",
  },
  nav: {
    tools: "Werkzeuge",
    reader: "Leser",
    automate: "Automatisieren",
    editor: "Editor",
    files: "Dateien",
    help: "Hilfe",
    settings: "Einstellungen",
    grid: "Raster",
  },
  files: {
    myFiles: "Meine Dateien",
    recentTab: "Zuletzt",
    uploadTab: "Dateien hochladen",
    fileDetailsAriaLabel: "Dateidetails",
    fileDetailsHeading: "Dateidetails",
    searchPlaceholder: "Dateien suchen...",
    selectedCount: "{count} ausgewählt",
    fileCount: "{count} Dateien",
    fileCountSingular: "{count} Datei",
    noFilesFound: "Keine Dateien gefunden",
    selectFilePrompt: "Datei auswählen, um Details anzuzeigen",
    openFile: "Datei öffnen",
    selectFile: "Datei auswählen",
    openInPipeline: "In Pipeline öffnen",
    dropFilesHere: "Dateien hier ablegen",
    orClickToSelect: "oder klicken, um Dateien auszuwählen",
    name: "Name",
    format: "Format",
    size: "Größe",
    dimensions: "Abmessungen",
    version: "Version",
    toolsUsed: "Verwendete Werkzeuge",
    none: "Keine",
    delete: "Löschen",
    pipeline: "Pipeline",
    download: "Herunterladen",
  },
  dropzone: {
    unsupportedFileType: "Dieser Dateityp wird von diesem Werkzeug nicht unterstützt",
    urlFetchFailed: "Bild konnte nicht von URL abgerufen werden",
    ariaLabel: "Datei-Ablagezone",
    dropPrompt: "Bilder hierher ziehen",
    browseOrPaste: "Klicken Sie zum Durchsuchen oder fügen Sie aus der Zwischenablage ein",
    uploadButton: "Hochladen",
    defaultFormats: "PNG, JPG, WebP, HEIC, RAW, PSD und 65+ Formate",
    orSeparator: "oder",
    urlPlaceholder: "Bild-URL einfügen...",
    urlLoadingIndicator: "...",
    addUrlButton: "Hinzufügen",
    importMultipleUrls: "Mehrere URLs importieren...",
    filesSelected: "{count} Dateien ausgewählt",
    dropToAdd: "Ablegen, um Dateien hinzuzufügen",
    dropToReplace: "Ablegen, um Datei zu ersetzen",
  },
  reviewPanel: {
    processedResultAlt: "Verarbeitetes Ergebnis",
    sizeLabel: "Größe: {size}",
    typeLabel: "Typ: {type}",
    processedLabel: "Verarbeitet: {time}",
    undoButton: "Rückgängig",
    downloadButton: "Herunterladen",
    openInEditor: "Im Editor öffnen",
    reviewHeading: "Überprüfen",
    continueEditing: "Weiter bearbeiten",
  },
  features: {
    notEnabledTitle: "Funktion nicht aktiviert",
    notEnabledDescription:
      "Diese Funktion ist nicht aktiviert. Bitten Sie Ihren Administrator, sie in den Einstellungen zu aktivieren.",
    requiresDownload: "Diese Funktion erfordert einen zusätzlichen Download (~{size})",
    retryButton: "Erneut versuchen",
    queued: "Zur Installation vorgemerkt...",
    enableButton: "{name} aktivieren",
    repairRequired: "Reparatur erforderlich",
    repairDescription:
      "Einige Modelldateien fehlen oder sind beschädigt. Die Reparatur lädt sie erneut herunter.",
    repairButton: "{name} reparieren",
    lessThanMinute: "Weniger als eine Minute verbleibend",
    oneMinuteLeft: "~1 Minute verbleibend",
    minutesLeft: "~{mins} Minuten verbleibend",
    progressMessages: [
      "Fast geschafft... wahrscheinlich...",
      "Gute Dinge brauchen ihre Zeit...",
      "Immer noch schneller als Farbe beim Trocknen zuzusehen...",
      "Ihre Geduld ist wirklich bewundernswert...",
      "Arbeitet härter als es aussieht...",
      "Jetzt kommt der spannende Teil, versprochen...",
      "Wichtige Dinge passieren im Hintergrund...",
      "Wenn Sie das hier lesen, funktioniert es...",
      "Etwas Großartiges wird vorbereitet...",
      "Jede Sekunde wert, kleiner Finger drauf...",
      "Die Spannung gehört zum Erlebnis...",
      "Ihrem Computer werden neue Tricks beigebracht...",
      "Ihre Superkräfte werden eingerichtet...",
      "Ihre Dateien werden es Ihnen später danken...",
      "Laden... aber mit Stil...",
      "Perfekter Moment für einen Kaffee...",
      "Rom wurde auch nicht an einem Tag erbaut...",
      "Psst... hier arbeitet ein Genie...",
      "Ihre Projekte werden neidisch auf das, was kommt...",
      "Das Dreamteam wird zusammengestellt...",
      "Großartiges wird ausgepackt...",
      "Fast fertig mit dem Nachdenken über den Anfang... kleiner Scherz...",
      "Plottwist: Hier passiert tatsächlich etwas...",
      "Die kreativen Motoren werden warmgelaufen...",
      "Fantasie wird geladen...",
      "Kein Bildschirmschoner, versprochen...",
      "Große Kunst braucht Zeit zum Installieren...",
      "Ihr zukünftiges Ich wird es Ihnen danken...",
      "Ziemlich schlaue Dateien werden geholt...",
      "Durchhalten, das Beste kommt noch...",
    ],
  },
  help: {
    heading: "Hilfe",
    gettingStarted: {
      heading: "Erste Schritte",
      description:
        "Wählen Sie ein Werkzeug aus der Seitenleiste oder suchen Sie nach einem. Laden Sie eine Datei hoch, indem Sie sie auf die Seite ziehen oder den Upload-Bereich anklicken. Passen Sie die Einstellungen an und laden Sie Ihr Ergebnis herunter.",
    },
    keyboardShortcuts: {
      heading: "Tastenkombinationen",
      focusSearchBar: "Suchleiste fokussieren",
      goToTools: "Zu Werkzeugen",
      toggleTheme: "Farbschema wechseln",
      goToResize: "Zu Größe ändern",
      goToCrop: "Zu Zuschneiden",
      goToCompress: "Zu Komprimieren",
      goToConvert: "Zu Konvertieren",
      goToRemoveBackground: "Zu Hintergrund entfernen",
      goToWatermarkText: "Zu Text-Wasserzeichen",
      goToStripMetadata: "Zu Metadaten entfernen",
      goToImageInfo: "Zu Bildinformationen",
      processFile: "Datei verarbeiten",
      downloadResult: "Ergebnis herunterladen",
    },
    resources: {
      heading: "Ressourcen",
      githubLink: "GitHub-Repository",
      reportIssueLink: "Problem melden",
      docsLink: "Dokumentation",
      apiRefLink: "API-Referenz (Swagger)",
    },
    versionLabel: "SnapOtter v{version}",
  },
  errors: {
    generic: "Ein Fehler ist aufgetreten",
    offline: "Sie sind offline",
    reconnecting: "Verbindung zum Server wird wiederhergestellt...",
    connected: "Verbunden",
    processingFailed: "Verarbeitung für diese Datei fehlgeschlagen",
    timeout:
      "Zeitlimit überschritten. Der Server ist möglicherweise überlastet. Versuchen Sie es erneut.",
    networkError: "Netzwerkfehler. Überprüfen Sie Ihre Verbindung.",
    invalidCredentials: "Ungültiger Benutzername oder Passwort",
    connectionError: "Verbindungsfehler",
  },
  sidebar: {
    tools: "Werkzeuge",
    grid: "Raster",
    automate: "Automatisieren",
    editor: "Editor",
    files: "Dateien",
    help: "Hilfe",
    settings: "Einstellungen",
  },
  toolCard: {
    addToFavourites: "Zu Favoriten hinzufügen",
  },
  appLayout: {
    mobileNavTools: "Werkzeuge",
    mobileNavAutomate: "Automatisieren",
    mobileNavEditor: "Editor",
    mobileNavFiles: "Dateien",
    mobileNavSettings: "Einstellungen",
  },
  a11y: {
    skipToContent: "Zum Hauptinhalt springen",
    openSidebar: "Seitenleiste öffnen",
    closeSidebar: "Seitenleiste schließen",
    closeSettings: "Einstellungen schließen",
    closeHelp: "Hilfe schließen",
    closeDialog: "Dialog schließen",
    zoomIn: "Vergrößern",
    zoomOut: "Verkleinern",
    fitToView: "Einpassen",
    actualSize: "Originalgröße",
    pan: "Verschieben",
    previousImage: "Vorherige Datei",
    nextImage: "Nächste Datei",
    imageArea: "Vorschaubereich",
    imageViewer: "Dateibetrachter",
    fileDropZone: "Datei-Ablagezone",
    imageDropZone: "Datei-Ablagezone",
    beforeAfterSlider: "Vorher/Nachher-Vergleichsregler",
    imageControls: "Vorschausteuerung",
    zoomControls: "Zoom-Steuerung",
    dragToReorder: "Ziehen zum Neuordnen",
    whiteBackground: "Weißer Hintergrund",
    blackBackground: "Schwarzer Hintergrund",
    expandPanel: "Bereich erweitern",
    collapsePanel: "Bereich einklappen",
    swapDimensions: "Abmessungen tauschen",
    applyCrop: "Zuschnitt anwenden",
    cancelCrop: "Zuschnitt abbrechen",
    fontFamily: "Schriftart",
    textColor: "Textfarbe",
    flipHorizontal: "Horizontal spiegeln",
    flipVertical: "Vertikal spiegeln",
    hexColorValue: "HEX-Farbwert",
    backgroundColor: "Hintergrundfarbe",
    foregroundColor: "Vordergrundfarbe",
    swapColors: "Vorder- und Hintergrundfarbe tauschen",
    resetColors: "Auf Standard Schwarz und Weiß zurücksetzen",
    foregroundHex: "HEX-Wert der Vordergrundfarbe",
    undo: "Rückgängig",
    redo: "Wiederherstellen",
    layers: "Ebenen",
    addLayer: "Ebene hinzufügen",
    deleteLayer: "Ebene löschen",
    cancelOperation: "Vorgang abbrechen",
    fill: "Füllen",
    fileDetails: "Dateidetails",
    language: "Sprache",
    selected: "Ausgewählt",
    deleteKey: "Schlüssel löschen",
    editRole: "Rolle bearbeiten",
    deleteRole: "Rolle löschen",
    notInstalled: "Nicht installiert",
    queued: "In Warteschlange zur Installation",
    installing: "Wird installiert",
    imageNOfTotal: "Bild {n} von {total}",
    processingComplete: "Bild erfolgreich verarbeitet",
    processingFailed: "Verarbeitung fehlgeschlagen",
    settingsDialog: "Einstellungen",
    helpDialog: "Hilfe",
    navigationMenu: "Navigation",
    homeLink: "SnapOtter Startseite",
  },
} as const;
