/** Supplemental UI strings merged into gen-locale-packs.mjs (auth/settings/dashboard extras). */ export const EXTRA = { es: { "common.askAdmin": "Pregunta a un administrador de la empresa", "common.you": "Tú", "common.active": "Activo", "common.pending": "Pendiente", "common.email": "Correo electrónico", "common.password": "Contraseña", "common.name": "Tu nombre", "common.viewPricing": "Ver precios", "common.backToSignIn": "Volver a iniciar sesión", "common.signingOut": "Cerrando sesión…", "common.signOutAndContinue": "Cerrar sesión y continuar", "common.staySignedIn": "Seguir conectado", "nav.section.feeds": "Feeds", "nav.section.marketing": "Marketing", "nav.feeds": "Feeds", "nav.seo": "SEO", "nav.admin": "Admin", "auth.login.title": "Iniciar sesión", "auth.login.description": "Usa tu correo y contraseña de Descrybe.", "auth.login.submit": "Iniciar sesión", "auth.login.submitting": "Iniciando sesión…", "auth.login.failed": "Error al iniciar sesión", "auth.login.passwordNotSet": "Esta cuenta aún necesita una contraseña. Abre el enlace de invitación o pide a un administrador que emita uno nuevo.", "auth.login.setPasswordFirstTitle": "Establece la contraseña primero:", "auth.login.setPasswordFirstBody": "usa el enlace de invitación de tu correo. Si el enlace fue a una dirección antigua (cambio de correo), pide a un administrador de la empresa que emita una nueva invitación para establecer contraseña a {email}.", "auth.login.yourEmail": "tu correo", "auth.login.platformAdminsReissue": "Los administradores de plataforma pueden reemitir desde", "auth.login.adminUsersLink": "Admin → Usuarios", "auth.login.haveToken": "¿Tienes un token? Abrir aceptar invitación", "auth.login.noAccount": "¿Sin cuenta?", "auth.login.createCompany": "Crear empresa", "auth.login.haveInvite": "¿Tienes una invitación o un enlace para establecer contraseña?", "auth.login.acceptInvite": "Aceptar invitación", "auth.register.title": "Crear empresa", "auth.register.description": "Registra una empresa y su usuario administrador.", "auth.register.companyName": "Nombre de la empresa", "auth.register.submit": "Crear cuenta", "auth.register.submitting": "Creando…", "auth.register.failed": "Error en el registro", "auth.register.haveAccount": "¿Ya tienes una cuenta?", "auth.register.signIn": "Iniciar sesión", "auth.invite.title": "Aceptar invitación", "auth.invite.setPasswordTitle": "Establecer contraseña", "auth.invite.description": "Establece tu contraseña para unirte a la empresa. Tu administrador asignó Miembro (trabajo diario) o Admin (equipo y facturación).", "auth.invite.setPasswordDescription": "Elige una contraseña para tu cuenta Descrybe migrada (al menos 8 caracteres).", "auth.invite.checking": "Comprobando invitación…", "auth.invite.forEmail": "Invitación para {email}.", "auth.invite.linkRecognized": "Enlace de invitación reconocido. Introduce una contraseña abajo para continuar — el secreto no se muestra en esta página.", "auth.invite.resetLinkRecognized": "Enlace de restablecimiento reconocido. Introduce una contraseña abajo para continuar — el secreto no se muestra en esta página.", "auth.invite.tokenLabel": "Token de invitación", "auth.invite.resetTokenLabel": "Token de restablecimiento", "auth.invite.tokenHelp": "Pega el token del correo de invitación. Se muestra enmascarado en este campo.", "auth.invite.passwordHint": "Al menos 8 caracteres. Sin otras reglas de complejidad.", "auth.invite.submit": "Aceptar invitación", "auth.invite.setPasswordSubmit": "Establecer contraseña", "auth.invite.accepting": "Aceptando…", "auth.invite.saving": "Guardando…", "auth.invite.verifyFailed": "No se pudo verificar la invitación", "auth.invite.verifySetPasswordFailed": "No se pudo verificar el enlace para establecer contraseña", "auth.invite.acceptFailed": "No se pudo aceptar la invitación", "auth.invite.setPasswordFailed": "No se pudo establecer la contraseña", "auth.invite.expired": "Esta invitación no es válida o ha caducado. Pide a tu administrador de la empresa que envíe una nueva invitación y abre el nuevo enlace (o pega el nuevo token abajo).", "auth.invite.setPasswordExpired": "Este enlace para establecer contraseña no es válido o ha caducado. Pide a un administrador de la empresa o de la plataforma que lo reemita y abre el nuevo enlace (o pega el nuevo token abajo).", "auth.invite.emailMismatchDefault": "Has iniciado sesión con un correo distinto al de esta invitación.", "auth.invite.expiredFooter": "¿Enlace caducado? Pide a un administrador que lo reemita — no hay API de reenvío autoservicio. Administradores de plataforma:", "auth.invite.adminUsersLink": "Admin → Usuarios", "auth.invite.doneTitle": "Ya formas parte del equipo", "auth.invite.doneSetPasswordTitle": "Contraseña guardada", "auth.invite.doneDescription": "Tu cuenta está lista. A continuación, abre el panel para trabajar con feeds y productos, o revisa la configuración de la empresa.", "auth.invite.doneSetPasswordDescription": "Inicia sesión con tu correo y la nueva contraseña para abrir tu espacio de trabajo.", "auth.invite.openDashboard": "Abrir panel", "auth.invite.companySettings": "Configuración de la empresa", "auth.invite.goToSignIn": "Ir a iniciar sesión", "auth.invite.afterSignInNote": "Tras iniciar sesión llegas a tu espacio de trabajo — se omite el recorrido de configuración inicial.", "auth.invite.mismatchTitle": "Cuenta incorrecta para esta invitación", "auth.invite.mismatchDescription": "Este enlace es para un correo distinto al de la sesión actual. Cierra sesión para continuar como el usuario invitado, o permanece conectado y pide a un administrador que reemita la invitación.", "auth.invite.mismatchDetail": "Sesión iniciada como {session}, pero esta invitación es para {invite}.", "auth.invite.mismatchFallback": "El correo de la sesión no coincide con esta invitación.", "auth.invite.switchAccountTitle": "Cambiar de cuenta:", "auth.invite.switchAccountBody": "cierra sesión y completa este formulario con el correo invitado{emailSuffix}.", "auth.invite.reissueTitle": "Vía de reemisión:", "auth.invite.reissueBody": "si cambió tu correo real de acceso (desfase de correo), pide a un administrador de la empresa que revoque esta invitación y envíe una nueva al correo con el que inicias sesión. Los administradores de plataforma también pueden reemitir enlaces para establecer contraseña desde Admin → Usuarios.", "settings.accessDenied": "No tienes permiso para abrir la configuración de la empresa. Pide ayuda a un administrador de la empresa.", "settings.profileHeading": "Perfil", "settings.personalInfo": "Información personal", "settings.personalInfoHelp": "Actualiza tus datos personales", "settings.firstName": "Nombre", "settings.firstNamePlaceholder": "Tu nombre", "settings.lastName": "Apellidos", "settings.lastNamePlaceholder": "Tus apellidos", "settings.email": "Correo electrónico", "settings.profileUpdated": "Perfil actualizado.", "settings.profileUpdateFailed": "No se pudo actualizar el perfil", "settings.role.member": "Miembro", "settings.role.admin": "Admin", "settings.teamHeading": "Miembros del equipo", "settings.inviteUser": "Invitar usuario", "settings.teamAdminOnly": "Solo los administradores de la empresa pueden invitar, ascender, degradar o eliminar compañeros.", "settings.shareAcceptLink": "Compartir enlace de aceptación", "settings.shareAcceptLinkHelp": "El correo saliente no está configurado. Copia este enlace de un solo uso y envíaselo al invitado. Establecerá una contraseña (al menos 8 caracteres) y se unirá con el rol que elegiste.", "settings.acceptLinkLabel": "Enlace de aceptación de invitación de un solo uso", "settings.copyLink": "Copiar enlace", "settings.linkCopied": "Enlace de aceptación copiado.", "settings.table.email": "Correo electrónico", "settings.table.role": "Rol", "settings.table.status": "Estado", "settings.table.joined": "Alta / caduca", "settings.table.actions": "Acciones", "settings.teamForbidden": "No tienes permiso para ver la lista del equipo. Pide ayuda a un administrador de la empresa.", "settings.noTeammates": "Aún no hay compañeros", "settings.noTeammatesHelp": "Invita a colegas como Miembro (productos y feeds) o Admin (equipo y configuración de la empresa). Las invitaciones pendientes aparecen aquí hasta que se acepten.", "settings.noTeammatesMemberHelp": "Aún no hay compañeros en la lista. Pide a un administrador de la empresa que envíe invitaciones.", "settings.memberActions": "Acciones del miembro", "settings.makeAdmin": "Hacer admin", "settings.makeMember": "Hacer miembro", "settings.removeMember": "Eliminar", "settings.revokeInvite": "Revocar invitación", "settings.needOneAdmin": "Las empresas necesitan al menos un administrador", "settings.expires": "Caduca el {date}", "settings.invalidEmail": "Introduce una dirección de correo válida.", "settings.inviteCreatedNoMail": "Invitación creada para {email} como {role}. Copia el enlace de aceptación abajo y compártelo — el correo saliente no está configurado.", "settings.inviteSent": "Invitación enviada a {email} como {role}. Debe abrir el correo y aceptar antes de que caduque.", "settings.inviteFailed": "No se pudo enviar la invitación", "settings.revokeConfirm": "¿Revocar esta invitación?", "settings.revoked": "Invitación revocada.", "settings.revokeFailed": "No se pudo revocar la invitación", "settings.removeConfirm": "¿Eliminar a {email} de esta empresa?", "settings.memberRemoved": "{email} eliminado.", "settings.removeFailed": "No se pudo eliminar al usuario", "settings.roleChangeConfirm": "¿{action} a {email} a {role}?", "settings.roleChanged": "{email} ahora es {role}.", "settings.roleChangeFailed": "No se pudo actualizar el rol", "settings.promote": "Ascender", "settings.demote": "Degradar", "settings.inviteTitle": "Invitar compañero", "settings.inviteDescription": "Recibirá un enlace para establecer una contraseña (al menos 8 caracteres) y unirse a esta empresa.", "settings.inviteEmail": "Correo electrónico", "settings.inviteEmailPlaceholder": "colega@ejemplo.com", "settings.inviteRole": "Rol", "settings.inviteRoleHint": "Los miembros gestionan productos y feeds. Los administradores también pueden invitar compañeros y cambiar la configuración de la empresa.", "settings.sendInvite": "Enviar invitación", "dashboard.demoEmptyHint": "La zona de pruebas demo está vacía — cambia a A1 o conecta un feed para ver estadísticas reales del catálogo.", "dashboard.workflowHint": "Importar → enriquecer → publicar. Salta al siguiente paso para {name}.", "dashboard.overviewHint": "Totales en vivo para {name}", "dashboard.demoEmptyMessage": "Cambia a A1 (u otra empresa con datos) en el encabezado, o conecta un feed aquí para poblar esta zona de pruebas.", "dashboard.emptyTitle": "Aún no hay datos de catálogo", "dashboard.emptyMessage": "Conecta un feed o sube un CSV para empezar a crear tu catálogo.", "dashboard.connectFeedAnyway": "Conectar feed de todos modos", "dashboard.connectFeedShort": "Conectar feed", "dashboard.uploadCsv": "Subir CSV", "dashboard.goToBilling": "Ir a Facturación", "dashboard.freePlanTitle": "Estás en el plan Free", "dashboard.freePlanMessageWithLimit": "{used} de {max} productos usados. El mapeo de feeds, la limpieza básica y las etiquetas energéticas de la UE (EPREL) están incluidos; actualiza para títulos y descripciones con IA, y más capacidad.", "dashboard.freePlanMessage": "El mapeo de feeds, la limpieza básica y las etiquetas energéticas de la UE (EPREL) están incluidos; actualiza para títulos y descripciones con IA, y más capacidad.", "dashboard.outOfCreditsTitle": "Te has quedado sin créditos de IA", "dashboard.outOfCreditsMessage": "Compra más créditos o actualiza tu plan para seguir procesando.", "dashboard.productLimitTitle": "Límite de productos alcanzado", "dashboard.productLimitMessage": "Tu plan {plan} permite {max} productos ({count} en el catálogo). Actualiza para procesar más.", "dashboard.productLimitMessageFull": "Se alcanzó el límite de productos de tu plan {plan}. Actualiza para procesar más.", "dashboard.comparePlans": "Comparar planes", "dashboard.viewPlans": "Ver planes", "dashboard.trialTitle": "Prueba · {plan}", "dashboard.trialMessageDated": "La prueba termina el {date}. {credits} créditos restantes.", "dashboard.trialMessage": "{credits} créditos restantes en tu prueba.", "dashboard.lowCreditsTitle": "Créditos bajos", "dashboard.lowCreditsMessage": "Quedan {remaining} de {total} créditos. Recarga o actualiza antes de que se detengan los trabajos.", "dashboard.latestJobs": "Últimos trabajos de procesamiento", "dashboard.noJobsEmpty": "Aún no hay trabajos — importa productos primero.", "dashboard.noJobsReady": "No hay trabajos recientes. Inicia uno desde Productos cuando estés listo.", "dashboard.startJob": "Iniciar un trabajo", "dashboard.quickLinksHint": "Feeds, productos, trabajos y exportación.", "dashboard.feedsImportMap": "Importar y mapear", "dashboard.productsBrowse": "Explorar y procesar", "dashboard.jobsMonitor": "Supervisar tareas", "dashboard.exportsTemplates": "Plantillas y descarga", "activation.step.enable-fields.title": "Activar campos", "activation.step.enable-fields.body": "Activa las columnas de producto estándar que Descrybe mapea y procesa.", "activation.step.connect-source.title": "Añadir o conectar un origen", "activation.step.connect-source.body": "Añade un feed CSV/XML o conecta una tienda para que entren productos.", "activation.step.map.title": "Mapear campos de origen", "activation.step.map.body": "Asocia las columnas del proveedor a los campos de Descrybe y guarda el mapeo.", "activation.step.sync-sample.title": "Sincronizar una muestra", "activation.step.sync-sample.body": "Extrae una muestra pequeña para verificar el mapeo antes de una ejecución completa.", "activation.step.process.title": "Procesar productos", "activation.step.process.body": "Ejecuta el procesamiento sobre productos sincronizados para generar contenido de catálogo limpio.", "activation.step.export.title": "Exportar", "activation.step.export.body": "Crea un feed de exportación para publicar productos limpios como XML o CSV.", "stats.feeds": "Feeds", "processing.step.eprel": "EPREL", "toast.support.replyRe": "Re: {subject}" } };