fix: update pluralization in Spanish translations and improve file upload handling in RDropzone

This commit is contained in:
zurdi
2026-06-19 11:06:30 +02:00
parent 54b403a38e
commit 1b05ffc6c2
2 changed files with 8 additions and 6 deletions

View File

@@ -191,7 +191,7 @@
"launchbox-cloud": "Nube",
"launchbox-local": "Local",
"loading-metadata": "Cargando metadatos…",
"manual-files-uploaded-n": "{count} manual subido | {count} manuales subidos",
"manual-files-uploaded-n": "{n} manual subido | {n} manuales subidos",
"manual-files-uploaded-with-failed": "{n} manual subido, {failed} con error | {n} manuales subidos, {failed} con error",
"match-by-label": "Emparejar por",
"match-rom-grid-label": "Vista en cuadrícula",
@@ -228,7 +228,7 @@
"save-deleted": "Partida eliminada",
"saves-empty-hint": "Sube una partida para empezar.",
"saves-tab": "Partidas",
"saves-uploaded-n": "{count} partida subida | {count} partidas subidas",
"saves-uploaded-n": "{n} partida subida | {n} partidas subidas",
"saves-uploaded-with-failed": "{n} partida subida, {failed} con error | {n} partidas subidas, {failed} con error",
"search-by-id": "Buscar por ID",
"search-by-name": "Buscar por nombre",
@@ -242,11 +242,11 @@
"state-deleted": "Estado eliminado",
"states-empty-hint": "Sube un estado para empezar.",
"states-tab": "Estados",
"states-uploaded-n": "{count} estado subido | {count} estados subidos",
"states-uploaded-n": "{n} estado subido | {n} estados subidos",
"states-uploaded-with-failed": "{n} estado subido, {failed} con error | {n} estados subidos, {failed} con error",
"tracks-n": "{n} pista | {n} pistas",
"tracks-summary": "{tracks}, {duration}",
"tracks-uploaded-n": "{count} pista subida | {count} pistas subidas",
"tracks-uploaded-n": "{n} pista subida | {n} pistas subidas",
"tracks-uploaded-with-failed": "{n} pista subida, {failed} con error | {n} pistas subidas, {failed} con error",
"update-failed": "Error al actualizar: {error}",
"upload-cover": "Subir portada",

View File

@@ -78,7 +78,8 @@ function onPick(event: Event) {
const input = event.target as HTMLInputElement;
const files = input.files ? Array.from(input.files) : [];
input.value = "";
if (files.length > 0) emit("files", files);
if (props.disabled || files.length === 0) return;
emit("files", props.multiple ? files : files.slice(0, 1));
}
defineExpose({ open, isOver: isOverDropZone });
@@ -122,11 +123,12 @@ defineExpose({ open, isOver: isOverDropZone });
<!-- CTA mode: clickable empty-state dropzone. A `role="button"` div (not
a <button>) so the optional `actions` slot can host real buttons
without nesting interactive elements. -->
<!-- eslint-disable-next-line vuejs-accessibility/interactive-supports-focus -- focusable when enabled (tabindex 0); intentionally pulled from the tab order while disabled -->
<div
v-else
class="r-dropzone__cta"
role="button"
tabindex="0"
:tabindex="disabled ? -1 : 0"
:aria-disabled="disabled"
@click="open"
@keydown.enter.prevent="open"