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

/** @type {Partial<import('../../../types/index.js').AsnLocale>} */
export const es = {
  toolbar: {
    bold: 'Negrita (Ctrl+B)',
    italic: 'Cursiva (Ctrl+I)',
    underline: 'Subrayado (Ctrl+U)',
    strikethrough: 'Tachado',
    superscript: 'Superíndice',
    subscript: 'Subíndice',
    alignLeft: 'Alinear a la izquierda',
    alignCenter: 'Centrar',
    alignRight: 'Alinear a la derecha',
    alignJustify: 'Justificar',
    ul: 'Lista sin orden',
    ol: 'Lista ordenada',
    checklist: 'Lista de verificación',
    indent: 'Aumentar sangría',
    outdent: 'Reducir sangría',
    undo: 'Deshacer (Ctrl+Z)',
    redo: 'Rehacer (Ctrl+Y)',
    hr: 'Línea horizontal',
    link: 'Insertar enlace',
    image: 'Insertar imagen',
    video: 'Insertar vídeo',
    emoji: 'Insertar emoji',
    icon: 'Insertar icono FA',
    table: 'Insertar tabla',
    fontSize: 'Tamaño de fuente',
    fontSizePlaceholder: 'Tamaño',
    removeFormat: 'Eliminar formato',
    direction: 'Cambiar dirección del texto (LTR / RTL)',
    fontFamily: 'Fuente',
    paragraphStyle: 'Estilo de párrafo',
    paragraphStylePlaceholder: 'Estilo',
    lineHeight: 'Interlineado',
    lineHeightPlaceholder: '↕ Línea',
    codeview: 'Vista de código HTML',
    fullscreen: 'Pantalla completa',
    shortcuts: 'Atajos de teclado (Ctrl+Shift+/)',
    find: 'Buscar (Ctrl+F)',
    findReplace: 'Buscar y reemplazar (Ctrl+H)',
    inlineCode: 'Código en línea (Ctrl+`)',
    print: 'Imprimir',
    foreColor: 'Color del texto',
    backColor: 'Color de resaltado',
    chooseTextColor: 'Elegir color del texto',
    chooseHighlightColor: 'Elegir color de resaltado',
    customColor: 'Color personalizado',
    insertTableLabel: 'Insertar tabla',
    paragraphItems: {
      p:          'Normal',
      blockquote: 'Cita',
      pre:        'Código',
    },
  },

  linkDialog: {
    ariaLabel:       'Insertar enlace',
    title:           'Insertar enlace',
    url:             'URL',
    urlPlaceholder:  'https://',
    displayText:     'Texto a mostrar',
    textPlaceholder: 'Texto del enlace',
    openInNewTab:    'Abrir en nueva pestaña',
    insertBtn:       'Insertar',
    cancelBtn:       'Cancelar',
  },

  imageDialog: {
    ariaLabel:      'Insertar imagen',
    title:          'Insertar imagen',
    imageUrl:       'URL de imagen',
    urlPlaceholder: 'https://example.com/image.png',
    altText:        'Texto alternativo',
    altPlaceholder: 'Describir la imagen',
    alignment:      'Alineación',
    alignNone:      'Ninguna',
    alignLeft:      'Izquierda',
    alignCenter:    'Centro',
    alignRight:     'Derecha',
    uploadLabel:    'O subir un archivo',
    insertBtn:      'Insertar',
    cancelBtn:      'Cancelar',
  },

  videoDialog: {
    ariaLabel:        'Insertar vídeo',
    title:            'Insertar vídeo',
    videoUrl:         'URL del vídeo',
    urlPlaceholder:   'YouTube, Vimeo o URL directa .mp4',
    widthLabel:       'Ancho (px)',
    widthPlaceholder: '560',
    insertBtn:        'Insertar',
    cancelBtn:        'Cancelar',
    detected:         (type) => `Detectado: ${type}`,
    unknownFormat:    'Formato desconocido — se intentará incrustar el vídeo directamente',
    invalidUrl:       'URL no válida — introduzca un enlace de vídeo válido.',
  },

  emojiDialog: {
    ariaLabel:         'Insertar emoji',
    title:             'Insertar emoji',
    searchPlaceholder: 'Buscar emojis…',
    all:               'Todos',
    cancelBtn:         'Cancelar',
    close:             'Cerrar',
    categories: {
      smileys: 'Caritas',
      people:  'Personas',
      animals: 'Animales',
      food:    'Comida',
      travel:  'Viajes',
      objects: 'Objetos',
      symbols: 'Símbolos',
    },
  },

  iconDialog: {
    ariaLabel:         'Insertar icono FA',
    title:             'Insertar icono FA',
    searchPlaceholder: 'Buscar iconos…',
    all:               'Todos',
    style:             'Estilo',
    size:              'Tamaño',
    color:             'Color',
    useColor:          ' Usar color',
    selectHint:        'Seleccionar un icono',
    insertBtn:         'Insertar icono FA',
    cancelBtn:         'Cancelar',
    close:             'Cerrar',
    categories: {
      popular:       'Popular',
      interface:     'Interfaz',
      navigation:    'Navegación',
      media:         'Medios',
      communication: 'Comunicación',
      files:         'Archivos',
      people:        'Personas',
      objects:       'Objetos',
    },
  },

  findReplace: {
    findTitle:          'Buscar',
    findReplaceTitle:   'Buscar y reemplazar',
    findPlaceholder:    'Buscar…',
    searchAriaLabel:    'Texto de búsqueda',
    caseSensitive:      '\u00a0Distinguir mayúsculas',
    prevBtn:            '← Anterior',
    nextBtn:            'Siguiente →',
    replacePlaceholder: 'Reemplazar con…',
    replaceAriaLabel:   'Reemplazar con',
    replaceBtn:         'Reemplazar',
    replaceAllBtn:      'Reemplazar todo',
    close:              '×',
  },

  shortcutsDialog: {
    title:     'Atajos de teclado',
    ariaLabel: 'Atajos de teclado',
    close:     'Cerrar',
    shortcuts: [
      {
        category: 'Formato de texto',
        items: [
          { keys: 'Ctrl + B',  action: 'Negrita' },
          { keys: 'Ctrl + I',  action: 'Cursiva' },
          { keys: 'Ctrl + U',  action: 'Subrayado' },
          { keys: 'Ctrl + K',  action: 'Insertar / editar enlace' },
        ],
      },
      {
        category: 'Historial',
        items: [
          { keys: 'Ctrl + Z',                      action: 'Deshacer' },
          { keys: 'Ctrl + Y  /  Ctrl + Shift + Z', action: 'Rehacer' },
        ],
      },
      {
        category: 'Selección y navegación',
        items: [
          { keys: 'Ctrl + A',    action: 'Seleccionar todo' },
          { keys: 'Tab',         action: 'Aumentar sangría / insertar espacios' },
          { keys: 'Shift + Tab', action: 'Reducir sangría' },
        ],
      },
      {
        category: 'Portapapeles',
        items: [
          { keys: 'Ctrl + Shift + V', action: 'Pegar como texto plano' },
        ],
      },
      {
        category: 'Buscar y reemplazar',
        items: [
          { keys: 'Ctrl + F', action: 'Buscar en el documento' },
          { keys: 'Ctrl + H', action: 'Buscar y reemplazar' },
        ],
      },
      {
        category: 'Editor',
        items: [
          { keys: 'Ctrl + Shift + /', action: 'Mostrar este diálogo de atajos' },
        ],
      },
    ],
  },

  contextMenu: {
    cut:              'Cortar',
    copy:             'Copiar',
    paste:            'Pegar',
    bold:             'Negrita',
    italic:           'Cursiva',
    underline:        'Subrayado',
    textColor:        'Color del texto',
    highlightColor:   'Color de resaltado',
    copyFormat:       'Copiar formato',
    pasteFormat:      'Pegar formato',
    removeFormat:     'Eliminar formato',
    link:             'Insertar enlace',
    image:            'Insertar imagen',
    video:            'Insertar vídeo',
    table:            'Insertar tabla',
    back:             'Atrás',
    noHighlight:      'Sin resaltado',
    customColor:      'Color personalizado',
    customColorLabel: 'Personalizado…',
  },

  statusbar: {
    resizeHandle: 'Redimensionar editor',
    words:        (n) => `Palabras: ${n}`,
    wordsLimit:   (n, max) => `Palabras: ${n}/${max}`,
    chars:        (n) => `Caracteres: ${n}`,
    charsLimit:   (n, max) => `Caracteres: ${n}/${max}`,
  },

  tooltips: {
    link: {
      ariaLabel:  'Acciones de enlace',
      openLink:   'Abrir enlace',
      copyUrl:    'Copiar URL',
      editLink:   'Editar enlace',
      removeLink: 'Eliminar enlace',
    },
    image: {
      ariaLabel:    'Acciones de imagen',
      label:        'Imagen',
      floatLeft:    'Flotar a la izquierda',
      noFloat:      'Sin flotado',
      alignCenter:  'Centrar',
      floatRight:   'Flotar a la derecha',
      originalSize: 'Tamaño original',
      rotateLeft:   'Rotar a la izquierda',
      rotateRight:  'Rotar a la derecha',
      cropImage:    'Recortar imagen',
      addCaption:   'Añadir / editar pie de foto',
      deleteImage:  'Eliminar imagen',
    },
    code: {
      ariaLabel:          'Acciones de bloque de código',
      label:              'Código',
      syntaxLanguage:     'Lenguaje de sintaxis',
      syntaxAriaLabel:    'Lenguaje de sintaxis',
      copyCode:           'Copiar código',
      toggleWordWrap:     'Alternar ajuste de línea',
      enableWordWrap:     'Activar ajuste de línea',
      disableWordWrap:    'Desactivar ajuste de línea',
      convertToParagraph: 'Convertir en párrafo',
      deleteCodeBlock:    'Eliminar bloque de código',
    },
    table: {
      ariaLabel:          'Acciones de tabla',
      label:              'Tabla',
      selectCells:        'Seleccionar celdas',
      addRowAbove:        'Añadir fila encima',
      addRowBelow:        'Añadir fila debajo',
      deleteRow:          'Eliminar fila',
      addColumnLeft:      'Añadir columna a la izquierda',
      addColumnRight:     'Añadir columna a la derecha',
      deleteColumn:       'Eliminar columna',
      mergeCells:         'Combinar celdas',
      unmergeCells:       'Separar celdas',
      columnWidth:        'Ancho de columna',
      rowHeight:          'Alto de fila',
      tableBorderWidth:   'Grosor del borde de la tabla',
      deleteTable:        'Eliminar tabla',
      columnWidthPx:      'Ancho de columna (px)',
      rowHeightPx:        'Alto de fila (px)',
      tableBorderWidthPx: 'Grosor del borde (px)',
      cancelBtn:          'Cancelar',
      applyBtn:           'Aplicar',
    },
    video: {
      ariaLabel:    'Acciones de vídeo',
      label:        'Vídeo',
      floatLeft:    'Flotar a la izquierda',
      noFloat:      'Sin flotado',
      alignCenter:  'Centrar',
      floatRight:   'Flotar a la derecha',
      originalSize: 'Tamaño original',
      previewVideo: 'Vista previa de vídeo',
      exitPreview:  'Salir de la vista previa',
      deleteVideo:  'Eliminar vídeo',
    },
  },

  errors: {
    imageFormat: (type) =>
      `El formato "${type}" no es compatible con los navegadores web. Por favor, conviértalo primero a JPEG, PNG o WebP.`,
    imageSize: (maxSize) =>
      `El archivo de imagen es demasiado grande. El tamaño máximo permitido es ${maxSize} MB.`,
  },
};
