/**
 * de.js - German locale
 * Deep-merged over en.js; only keys that differ from English are listed.
 */

/** @type {Partial<import('../../../types/index.js').AsnLocale>} */
export const de = {
  toolbar: {
    bold: 'Fett (Ctrl+B)',
    italic: 'Kursiv (Ctrl+I)',
    underline: 'Unterstrichen (Ctrl+U)',
    strikethrough: 'Durchgestrichen',
    superscript: 'Hochgestellt',
    subscript: 'Tiefgestellt',
    alignLeft: 'Linksbündig',
    alignCenter: 'Zentriert',
    alignRight: 'Rechtsbündig',
    alignJustify: 'Blocksatz',
    ul: 'Ungeordnete Liste',
    ol: 'Geordnete Liste',
    checklist: 'Checkliste',
    indent: 'Einzug vergrößern',
    outdent: 'Einzug verkleinern',
    undo: 'Rückgängig (Ctrl+Z)',
    redo: 'Wiederholen (Ctrl+Y)',
    hr: 'Horizontale Linie',
    link: 'Link einfügen',
    image: 'Bild einfügen',
    video: 'Video einfügen',
    emoji: 'Emoji einfügen',
    icon: 'FA-Symbol einfügen',
    table: 'Tabelle einfügen',
    fontSize: 'Schriftgröße',
    fontSizePlaceholder: 'Größe',
    removeFormat: 'Formatierung entfernen',
    direction: 'Textrichtung umschalten (LTR / RTL)',
    fontFamily: 'Schriftart',
    paragraphStyle: 'Absatzstil',
    paragraphStylePlaceholder: 'Stil',
    lineHeight: 'Zeilenhöhe',
    lineHeightPlaceholder: '↕ Zeile',
    codeview: 'HTML-Code-Ansicht',
    fullscreen: 'Vollbild',
    shortcuts: 'Tastenkürzel (Ctrl+Shift+/)',
    find: 'Suchen (Ctrl+F)',
    findReplace: 'Suchen & Ersetzen (Ctrl+H)',
    inlineCode: 'Inline-Code (Ctrl+`)',
    print: 'Drucken',
    foreColor: 'Textfarbe',
    backColor: 'Hervorhebungsfarbe',
    chooseTextColor: 'Textfarbe auswählen',
    chooseHighlightColor: 'Hervorhebungsfarbe auswählen',
    customColor: 'Benutzerdefinierte Farbe',
    insertTableLabel: 'Tabelle einfügen',
    paragraphItems: {
      p:          'Normal',
      blockquote: 'Zitat',
      pre:        'Code',
    },
  },

  linkDialog: {
    ariaLabel:       'Link einfügen',
    title:           'Link einfügen',
    url:             'URL',
    urlPlaceholder:  'https://',
    displayText:     'Anzeigetext',
    textPlaceholder: 'Linktext',
    openInNewTab:    'In neuem Tab öffnen',
    insertBtn:       'Einfügen',
    cancelBtn:       'Abbrechen',
  },

  imageDialog: {
    ariaLabel:      'Bild einfügen',
    title:          'Bild einfügen',
    imageUrl:       'Bild-URL',
    urlPlaceholder: 'https://example.com/image.png',
    altText:        'Alt-Text',
    altPlaceholder: 'Bild beschreiben',
    alignment:      'Ausrichtung',
    alignNone:      'Keine',
    alignLeft:      'Links',
    alignCenter:    'Mitte',
    alignRight:     'Rechts',
    uploadLabel:    'Oder Datei hochladen',
    insertBtn:      'Einfügen',
    cancelBtn:      'Abbrechen',
  },

  videoDialog: {
    ariaLabel:        'Video einfügen',
    title:            'Video einfügen',
    videoUrl:         'Video-URL',
    urlPlaceholder:   'YouTube, Vimeo oder direkte .mp4-URL',
    widthLabel:       'Breite (px)',
    widthPlaceholder: '560',
    insertBtn:        'Einfügen',
    cancelBtn:        'Abbrechen',
    detected:         (type) => `Erkannt: ${type}`,
    unknownFormat:    'Unbekanntes Format — direktes Video-Einbetten wird versucht',
    invalidUrl:       'Ungültige URL — bitte geben Sie einen gültigen Videolink ein.',
  },

  emojiDialog: {
    ariaLabel:         'Emoji einfügen',
    title:             'Emoji einfügen',
    searchPlaceholder: 'Emojis suchen…',
    all:               'Alle',
    cancelBtn:         'Abbrechen',
    close:             'Schließen',
    categories: {
      smileys: 'Smileys',
      people:  'Menschen',
      animals: 'Tiere',
      food:    'Essen',
      travel:  'Reisen',
      objects: 'Objekte',
      symbols: 'Symbole',
    },
  },

  iconDialog: {
    ariaLabel:         'FA-Symbol einfügen',
    title:             'FA-Symbol einfügen',
    searchPlaceholder: 'Symbole suchen…',
    all:               'Alle',
    style:             'Stil',
    size:              'Größe',
    color:             'Farbe',
    useColor:          ' Farbe verwenden',
    selectHint:        'Symbol auswählen',
    insertBtn:         'FA-Symbol einfügen',
    cancelBtn:         'Abbrechen',
    close:             'Schließen',
    categories: {
      popular:       'Beliebt',
      interface:     'Benutzeroberfläche',
      navigation:    'Navigation',
      media:         'Medien',
      communication: 'Kommunikation',
      files:         'Dateien',
      people:        'Menschen',
      objects:       'Objekte',
    },
  },

  findReplace: {
    findTitle:          'Suchen',
    findReplaceTitle:   'Suchen & Ersetzen',
    findPlaceholder:    'Suchen…',
    searchAriaLabel:    'Suchtext',
    caseSensitive:      '\u00a0Groß-/Kleinschreibung',
    prevBtn:            '← Zurück',
    nextBtn:            'Weiter →',
    replacePlaceholder: 'Ersetzen durch…',
    replaceAriaLabel:   'Ersetzen durch',
    replaceBtn:         'Ersetzen',
    replaceAllBtn:      'Alle ersetzen',
    close:              '×',
  },

  shortcutsDialog: {
    title:     'Tastenkürzel',
    ariaLabel: 'Tastenkürzel',
    close:     'Schließen',
    shortcuts: [
      {
        category: 'Textformatierung',
        items: [
          { keys: 'Ctrl + B',  action: 'Fett' },
          { keys: 'Ctrl + I',  action: 'Kursiv' },
          { keys: 'Ctrl + U',  action: 'Unterstrichen' },
          { keys: 'Ctrl + K',  action: 'Link einfügen / bearbeiten' },
        ],
      },
      {
        category: 'Verlauf',
        items: [
          { keys: 'Ctrl + Z',                      action: 'Rückgängig' },
          { keys: 'Ctrl + Y  /  Ctrl + Shift + Z', action: 'Wiederholen' },
        ],
      },
      {
        category: 'Auswahl & Navigation',
        items: [
          { keys: 'Ctrl + A',    action: 'Alles auswählen' },
          { keys: 'Tab',         action: 'Listenebene erhöhen / Leerzeichen einfügen' },
          { keys: 'Shift + Tab', action: 'Listenebene verringern' },
        ],
      },
      {
        category: 'Zwischenablage',
        items: [
          { keys: 'Ctrl + Shift + V', action: 'Als einfachen Text einfügen' },
        ],
      },
      {
        category: 'Suchen & Ersetzen',
        items: [
          { keys: 'Ctrl + F', action: 'Im Dokument suchen' },
          { keys: 'Ctrl + H', action: 'Suchen & Ersetzen' },
        ],
      },
      {
        category: 'Editor',
        items: [
          { keys: 'Ctrl + Shift + /', action: 'Diesen Tastenkürzel-Dialog anzeigen' },
        ],
      },
    ],
  },

  contextMenu: {
    cut:              'Ausschneiden',
    copy:             'Kopieren',
    paste:            'Einfügen',
    bold:             'Fett',
    italic:           'Kursiv',
    underline:        'Unterstrichen',
    textColor:        'Textfarbe',
    highlightColor:   'Hervorhebungsfarbe',
    copyFormat:       'Format kopieren',
    pasteFormat:      'Format einfügen',
    removeFormat:     'Formatierung entfernen',
    link:             'Link einfügen',
    image:            'Bild einfügen',
    video:            'Video einfügen',
    table:            'Tabelle einfügen',
    back:             'Zurück',
    noHighlight:      'Keine Hervorhebung',
    customColor:      'Benutzerdefinierte Farbe',
    customColorLabel: 'Benutzerdefiniert…',
  },

  statusbar: {
    resizeHandle: 'Editor-Größe ändern',
    words:        (n) => `Wörter: ${n}`,
    wordsLimit:   (n, max) => `Wörter: ${n}/${max}`,
    chars:        (n) => `Zeichen: ${n}`,
    charsLimit:   (n, max) => `Zeichen: ${n}/${max}`,
  },

  tooltips: {
    link: {
      ariaLabel:  'Link-Aktionen',
      openLink:   'Link öffnen',
      copyUrl:    'URL kopieren',
      editLink:   'Link bearbeiten',
      removeLink: 'Link entfernen',
    },
    image: {
      ariaLabel:    'Bild-Aktionen',
      label:        'Bild',
      floatLeft:    'Links umfließen',
      noFloat:      'Kein Umfluss',
      alignCenter:  'Zentriert',
      floatRight:   'Rechts umfließen',
      originalSize: 'Originalgröße',
      rotateLeft:   'Links drehen',
      rotateRight:  'Rechts drehen',
      cropImage:    'Bild zuschneiden',
      addCaption:   'Beschriftung hinzufügen / bearbeiten',
      deleteImage:  'Bild löschen',
    },
    code: {
      ariaLabel:          'Codeblock-Aktionen',
      label:              'Code',
      syntaxLanguage:     'Syntaxsprache',
      syntaxAriaLabel:    'Syntaxsprache',
      copyCode:           'Code kopieren',
      toggleWordWrap:     'Zeilenumbruch umschalten',
      enableWordWrap:     'Zeilenumbruch aktivieren',
      disableWordWrap:    'Zeilenumbruch deaktivieren',
      convertToParagraph: 'In Absatz umwandeln',
      deleteCodeBlock:    'Codeblock löschen',
    },
    table: {
      ariaLabel:          'Tabellen-Aktionen',
      label:              'Tabelle',
      selectCells:        'Zellen auswählen',
      addRowAbove:        'Zeile oben hinzufügen',
      addRowBelow:        'Zeile unten hinzufügen',
      deleteRow:          'Zeile löschen',
      addColumnLeft:      'Spalte links hinzufügen',
      addColumnRight:     'Spalte rechts hinzufügen',
      deleteColumn:       'Spalte löschen',
      mergeCells:         'Zellen zusammenführen',
      unmergeCells:       'Zellen trennen',
      columnWidth:        'Spaltenbreite',
      rowHeight:          'Zeilenhöhe',
      tableBorderWidth:   'Tabellenrahmenbreite',
      deleteTable:        'Tabelle löschen',
      columnWidthPx:      'Spaltenbreite (px)',
      rowHeightPx:        'Zeilenhöhe (px)',
      tableBorderWidthPx: 'Tabellenrahmenbreite (px)',
      cancelBtn:          'Abbrechen',
      applyBtn:           'Anwenden',
    },
    video: {
      ariaLabel:    'Video-Aktionen',
      label:        'Video',
      floatLeft:    'Links umfließen',
      noFloat:      'Kein Umfluss',
      alignCenter:  'Zentriert',
      floatRight:   'Rechts umfließen',
      originalSize: 'Originalgröße',
      previewVideo: 'Video-Vorschau',
      exitPreview:  'Vorschau beenden',
      deleteVideo:  'Video löschen',
    },
  },

  errors: {
    imageFormat: (type) =>
      `Das Format „${type}" wird in Webbrowsern nicht unterstützt. Bitte konvertieren Sie es zuerst in JPEG, PNG oder WebP.`,
    imageSize: (maxSize) =>
      `Die Bilddatei ist zu groß. Die maximal zulässige Größe beträgt ${maxSize} MB.`,
  },
};
