// Spanish translations. Missing keys fall back to English (see en.ts / index.ts). export const es = { common: { cancel: "Cancelar", save: "Guardar", close: "Cerrar", delete: "Eliminar", rename: "Renombrar", create: "Crear", apply: "Aplicar", choose: "Elegir…", connect: "Conectar", local: "Local", }, app: { notConnectedTitle: "No conectado a la aplicación", notConnectedBody: "Esta página se ejecuta en un navegador normal. Abre la aplicación de escritorio para usarla.", managerOpen: "El gestor de conexiones está abierto.", showConnections: "Mostrar conexiones", }, tabBar: { connections: "Conexiones", manageConnections: "Gestionar conexiones", newTab: "Nueva pestaña", closeTab: "Cerrar pestaña", options: "Ajustes", update: "Actualización disponible", updating: "Actualizando", restartToUpdate: "Reiniciar para aplicar", updateTooltip: "Actualización disponible: miniSCP {version}", }, options: { title: "Ajustes", sections: { appearance: "Apariencia", transfers: "Transferencias", editor: "Editor", fileList: "Lista de archivos", keyboard: "Teclado", about: "Acerca de", }, columns: "Columnas visibles", language: "Idioma", system: "Sistema", theme: { label: "Tema", system: "Sistema", light: "Claro", dark: "Oscuro" }, tone: { label: "Tono", dark: "Oscuro", darker: "AMOLED" }, interface: { label: "Interfaz", smaller: "Más pequeña", larger: "Más grande", reset: "Restablecer al 100%" }, speedUnit: { label: "Unidad de velocidad" }, transfers: { label: "Transferencias", single: "Una", multi: "Varias" }, atOnce: "A la vez", editor: { label: "Editor", builtin: "Integrado", custom: "Personalizado" }, systemDefault: "Predeterminado del sistema", resetDefault: "Restablecer al predeterminado", finishedTransfers: { label: "Transferencias completadas", autoClear: "Auto-limpiar", keep: "Mantener" }, openFiles: { label: "Intro / doble clic en un archivo", nothing: "No hacer nada", open: "Abrir", hint: "Los archivos locales se abren con su app predeterminada; las carpetas siempre se abren." }, }, kinds: { folder: "Carpeta", symlink: "Enlace simbólico", file: "Archivo", image: "Imagen", audio: "Audio", video: "Vídeo", archive: "Archivo comprimido", code: "Código", document: "Documento", }, columns: { name: "Nombre", size: "Tamaño", mtime: "Modificado", kind: "Tipo", rights: "Permisos", owner: "Propietario", group: "Grupo", }, panel: { choosePanel: "Elige qué muestra este panel", copy: "Enviar", copyToRight: "Enviar al panel derecho", copyToLeft: "Enviar al panel izquierdo", edit: "Editar", editFile: "Editar archivo", rename: "Renombrar", newFolder: "Nueva carpeta", newFile: "Nuevo archivo", permissions: "Permisos", delete: "Eliminar", parentDir: "Carpeta superior", refresh: "Actualizar", clearFilter: "Borrar filtro (Esc)", sshConfig: "~/.ssh/config", connectingTo: "Conectando con {name}…", emptyDir: "Carpeta vacía", noMatches: "Sin coincidencias", matches: { one: "{count} coincidencia · Esc", other: "{count} coincidencias · Esc" }, }, connMgr: { title: "Conexiones", importWinscp: "Importar de WinSCP…", importWinscpHint: "Importar sesiones de una exportación WinSCP.ini", newConnection: "Conexión", newConnectionHint: "Nueva conexión", newStack: "Grupo", newStackHint: "Nuevo grupo", expand: "Expandir", collapse: "Contraer", renameStack: "Renombrar grupo", deleteStack: "Eliminar grupo", openStack: "Abrir grupo en pestañas", empty: "vacío", connectionsHeader: "Conexiones", noneTitle: "Aún no hay conexiones guardadas.", noneBody: "Crea una o importa tus sesiones de WinSCP.", name: "Nombre", namePlaceholder: "mi servidor", host: "Servidor", port: "Puerto", stack: "Grupo", stackNone: "(ninguno)", username: "Usuario", remotePath: "Ruta remota (opcional)", remotePathPlaceholder: "carpeta de inicio", auth: "Autenticación", authPassword: "Contraseña", authKey: "Clave privada", password: "Contraseña", privateKeyFile: "Archivo de clave privada", passphrase: "Frase de contraseña (opcional)", localDir: "Carpeta local (opcional)", localDirPlaceholder: "~/proyectos/mi-servidor", localDirHint: "El otro panel se abre aquí cuando está en Local y no se ha navegado.", more: "Más…", less: "Menos…", selectPrompt: "Selecciona una conexión o crea una nueva.", newStackTitle: "Nuevo grupo", newStackPrompt: "nombre del grupo", renameStackTitle: "Renombrar grupo", deleteStackTitle: "Eliminar grupo", deleteStackBody: '¿Eliminar el grupo "{name}"? Sus conexiones se mantienen, sin agrupar.', deleteConnectionTitle: "Eliminar conexión", deleteConnectionBody: '¿Eliminar "{name}"?', }, editor: { noFileTitle: "Ningún archivo que editar", noFileBody: "Esta ventana se abrió sin contexto de editor. Abre archivos desde la aplicación.", wrap: "Ajustar", wrapHint: "Ajustar líneas largas — oculta los números de línea", findHint: "Buscar", findPlaceholder: "Buscar en el archivo", prevMatch: "Coincidencia anterior", nextMatch: "Coincidencia siguiente", closeHint: "Cerrar (Esc)", disconnected: "Desconectado de {name} — no se podrá guardar, pero tu texto se conserva en esta ventana.", cantOpen: "No se puede abrir {name}", closeWindow: "Cerrar ventana", verbs: { save: "guardar", find: "buscar", close: "cerrar" }, lines: { one: "{count} línea", other: "{count} líneas" }, close: "Cerrar", save: "Guardar", saveChangesTitle: '¿Guardar los cambios en "{name}"?', saveChangesBody: "Perderás tus cambios si no los guardas.", dontSave: "No guardar", countLabel: "{current} de {total}", noMatches: "Sin coincidencias", }, transfer: { summary: "{active} activas · {finished} completadas", clearFinished: "Limpiar completadas", cancel: "Cancelar", dismiss: "Descartar", showDetails: "Ver detalles de transferencias", copying: "Copiando {name} · {percent}%{speed}", queued: "{count} en cola", failed: { one: "{count} transferencia fallida", other: "{count} transferencias fallidas" }, finished: "Transferencias completadas", ready: "Listo", items: "{count} elementos", selected: "{count} seleccionados", queuedState: "En cola", scanning: "Analizando…", failedState: "Fallida", cancelled: "Cancelada", completedFiles: { one: "{count} archivo · {size}", other: "{count} archivos · {size}" }, left: "{eta} restante", }, dialogs: { chmodTitle: "Permisos", chmodItems: "{count} elementos", read: "Lectura", write: "Escritura", execute: "Ejecución", roleOwner: "Propietario", roleGroup: "Grupo", roleOthers: "Otros", octal: "Octal", mergeFolder: "Combinar carpeta", replace: "Reemplazar", merge: "Combinar", mergeAll: "Combinar todo", replaceAll: "Reemplazar todo", skip: "Omitir", skipAll: "Omitir todo", ofTotal: "{index} de {total}", overwriteDirBody: "El destino ya tiene una carpeta con este nombre. Combinar puede reemplazar archivos dentro.", overwriteFileBody: "El destino ya tiene un archivo con este nombre.", source: "Origen", destination: "Destino", newer: "más reciente", }, toasts: { movedToTrash: 'Se movió "{name}" a la papelera', movedManyToTrash: { one: "Se movió {count} elemento a la papelera", other: "Se movieron {count} elementos a la papelera" }, editingExternal: "Editando {name} — los cambios se suben automáticamente", nothingToCopy: "Nada que copiar (los enlaces simbólicos se omiten)", nothingToCopyAllSkipped: "Nada que copiar — se omitieron todos los elementos en conflicto", sameFolder: "Ambos paneles muestran la misma carpeta", sameFile: 'Se omitió "{name}" — es el mismo archivo', typeMismatch: 'Se omitió "{name}" — hay otro tipo de elemento en el camino', transferFailed: 'La transferencia "{name}" falló: {error}', unknownError: "error desconocido", saved: "Se guardó {name}", disconnectedReason: "{title}: desconectado ({reason})", imported: { one: "Se importó {count} conexión", other: "Se importaron {count} conexiones" }, importedIntoStacks: { one: " en {count} grupo nuevo", other: " en {count} grupos nuevos" }, importedSkipped: " ({skipped} omitidas)", leftoverTitle: "Archivos editados sobrantes", leftoverMore: ", +{count} más", leftoverBody: { one: "Una sesión anterior dejó {count} archivo editado temporal ({names}). ¿Eliminarlo?", other: "Una sesión anterior dejó {count} archivos editados temporales ({names}). ¿Eliminarlos?", }, leftoverClear: "Eliminar", }, fileActions: { deleteTitle: "Eliminar", deleteBody: "¿Eliminar {what}? Las carpetas se eliminan de forma recursiva. Esto no se puede deshacer.", deleteConfirm: "Eliminar", renameTitle: 'Renombrar "{name}"', renameConfirm: "Renombrar", newFolderTitle: "Nueva carpeta", newFolderPlaceholder: "nombre de la carpeta", newFileTitle: "Nuevo archivo", newFilePlaceholder: "nombre del archivo", createConfirm: "Crear", itemsCount: "{count} elementos", }, menu: { about: "Acerca de {app}", settings: "Ajustes…", checkForUpdates: "Buscar actualizaciones…", quit: "Salir", file: "Archivo", newTab: "Nueva pestaña", closeTab: "Cerrar pestaña", newFolder: "Nueva carpeta", newFile: "Nuevo archivo", editFile: "Editar archivo", connect: "Conectar", connectionManager: "Gestor de conexiones…", edit: "Edición", view: "Ver", refresh: "Actualizar", window: "Ventana", }, ctx: { size: "Tamaño", modified: "Modificado", kind: "Tipo", rights: "Permisos", owner: "Propietario", group: "Grupo", revealFinder: "Mostrar en Finder", revealExplorer: "Mostrar en el Explorador", revealFileManager: "Mostrar en el gestor de archivos", moveToTrash: "Mover a la papelera", moveToRecycleBin: "Mover a la papelera de reciclaje", newFolder: "Nueva carpeta", newFile: "Nuevo archivo", refresh: "Actualizar", open: "Abrir", openDefault: "Abrir con la aplicación predeterminada", edit: "Editar", copyToOther: "Enviar al otro panel", rename: "Renombrar", permissions: "Permisos", copyPath: "Copiar ruta", delete: "Eliminar", columns: "Columnas", tabNew: "Nueva pestaña", tabClose: "Cerrar pestaña", tabCloseOthers: "Cerrar las demás pestañas", tabCloseRight: "Cerrar pestañas a la derecha", tabDisconnect: "Desconectar", trashTooltip: "La opción Restaurar de Finder no está disponible para elementos enviados a la papelera desde aquí", }, keys: { "cursor-up": "Subir", "cursor-down": "Bajar", "page-up": "Página arriba", "page-down": "Página abajo", "cursor-first": "Primer elemento", "cursor-last": "Último elemento", "toggle-select": "Seleccionar / deseleccionar", "select-all": "Seleccionar todo", open: "Abrir", parent: "Carpeta superior", "switch-panel": "Cambiar de panel", "row-menu": "Mostrar el menú del elemento", send: "Enviar al otro panel", edit: "Editar", rename: "Renombrar", "new-folder": "Nueva carpeta", "new-file": "Nuevo archivo", chmod: "Permisos", delete: "Eliminar", trash: "Mover a la papelera", "copy-path": "Copiar ruta", reveal: "Mostrar en el gestor de archivos", "open-default": "Abrir con la app predeterminada", refresh: "Actualizar", "focus-path": "Ir a la ruta", "source-picker": "Elegir qué muestra el panel", "sort-name": "Ordenar por nombre", "sort-size": "Ordenar por tamaño", "sort-mtime": "Ordenar por fecha de modificación", "sort-kind": "Ordenar por tipo", "sort-rights": "Ordenar por permisos", "sort-owner": "Ordenar por propietario", "sort-group": "Ordenar por grupo", "new-tab": "Nueva pestaña", "close-tab": "Cerrar pestaña", "close-other-tabs": "Cerrar las demás pestañas", "close-tabs-right": "Cerrar las pestañas de la derecha", "next-tab": "Pestaña siguiente", "prev-tab": "Pestaña anterior", "go-to-tab": "Ir a la pestaña {n}", "go-to-last-tab": "Ir a la última pestaña", "move-tab-left": "Mover la pestaña a la izquierda", "move-tab-right": "Mover la pestaña a la derecha", "disconnect-tab": "Desconectar la pestaña", "open-settings": "Ajustes", "connection-manager": "Gestor de conexiones", "toggle-transfers": "Mostrar / ocultar transferencias", "install-update": "Instalar la actualización", "scale-up": "Interfaz más grande", "scale-down": "Interfaz más pequeña", "scale-reset": "Interfaz al 100 %", "close-window": "Cerrar la ventana", save: "Guardar", find: "Buscar", "find-next": "Buscar siguiente", "find-prev": "Buscar anterior", "toggle-wrap": "Ajustar líneas", "conn-new": "Nueva conexión", "conn-new-stack": "Nuevo grupo", "conn-save": "Guardar la conexión", "conn-connect": "Conectar / abrir grupo", "conn-delete": "Eliminar conexión o grupo", "conn-rename-stack": "Renombrar grupo", "conn-import": "Importar de WinSCP", groups: { panels: "Lista de archivos", files: "Archivos", sort: "Orden", tabs: "Pestañas", window: "Ventana", editor: "Editor", connections: "Gestor de conexiones", }, ui: { filter: "Buscar atajos", intro: "Pulsa + y teclea las teclas para añadir un atajo. El primero es el que muestran los menús y las pistas.", add: "Añadir un atajo", remove: "Quitar {key}", reset: "Restablecer el predeterminado", resetAll: "Restablecer todo", resetAllConfirm: "Restablecer todos los atajos", press: "Pulsa las teclas… ({esc} cancela)", unbound: "Sin atajo", reserved: "{key} está reservado por el sistema", needsModifier: "En el editor {key} solo escribiría: añade un modificador o usa una tecla F", usedBy: "{key} ya lo usa «{action}»", replace: "Reemplazar", conflict: "Misma tecla que {action}", plainLetter: "Teclear {key} en la lista de archivos ya no la filtra", noResults: "Ningún atajo coincide", fixed: "Teclas fijas", }, fixed: { escape: "{esc} cierra menús, diálogos y la barra de búsqueda", escList: "{esc} en la lista de archivos borra el filtro, luego cancela una conexión y luego quita la selección", dialogs: "{enter} y {esc} confirman o cancelan un diálogo; {tab} y {shiftTab} recorren sus controles", menus: "↑ ↓ {home} {end} y {enter} funcionan en todos los menús", filter: "Teclear en la lista de archivos la filtra; {backspace} borra el último carácter del filtro", shift: "Mayús con una tecla de movimiento selecciona las filas por las que pasa el cursor", find: "{enter} y {shiftEnter} recorren las coincidencias de la búsqueda", manager: "↑ ↓ ← → y {enter} recorren la lista de conexiones", sidebar: "↑ ↓ cambian de sección aquí", }, names: { ctrl: "Ctrl", alt: "Alt", shift: "Mayús", enter: "Intro", backspace: "Retroceso", del: "Supr", esc: "Esc", space: "Espacio", tab: "Tab", pgup: "RePág", pgdn: "AvPág", home: "Inicio", end: "Fin", ins: "Insert", menu: "Menú", num: "Num", }, }, errors: { sshAgentUnavailable: "ssh-agent no disponible (SSH_AUTH_SOCK no está definido)", identityFileNotFound: "archivo de identidad no encontrado: {path}", sessionNotConnected: 'La sesión "{id}" no está conectada', localCannotDisconnect: "La sesión local no se puede desconectar", notADirectory: '"{path}" existe y no es una carpeta', sameFileTransfer: '"{name}": el origen y el destino son el mismo archivo', sameFileNoName: "El origen y el destino son el mismo archivo", folderOntoItself: "No se puede copiar una carpeta sobre sí misma", folderIntoItself: "No se puede copiar una carpeta dentro de sí misma", }, } as const;