UNPKG

@frank-auth/react

Version:

Flexible and customizable React UI components for Frank Authentication

806 lines (769 loc) 34.4 kB
import type {LocaleMessages} from './types'; export const es: LocaleMessages = { common: { actions: { save: 'Guardar', cancel: 'Cancelar', delete: 'Eliminar', edit: 'Editar', update: 'Actualizar', create: 'Crear', submit: 'Enviar', reset: 'Restablecer', clear: 'Limpiar', search: 'Buscar', filter: 'Filtrar', sort: 'Ordenar', refresh: 'Refrescar', reload: 'Recargar', back: 'Atrás', next: 'Siguiente', previous: 'Anterior', continue: 'Continuar', finish: 'Finalizar', close: 'Cerrar', open: 'Abrir', show: 'Mostrar', hide: 'Ocultar', copy: 'Copiar', paste: 'Pegar', cut: 'Cortar', select: 'Seleccionar', selectAll: 'Seleccionar todo', deselect: 'Deseleccionar', confirm: 'Confirmar', deny: 'Denegar', approve: 'Aprobar', reject: 'Rechazar', retry: 'Reintentar', undo: 'Deshacer', redo: 'Rehacer', }, status: { loading: 'Cargando', success: 'Éxito', error: 'Error', warning: 'Advertencia', info: 'Información', pending: 'Pendiente', completed: 'Completado', failed: 'Fallido', cancelled: 'Cancelado', active: 'Activo', inactive: 'Inactivo', enabled: 'Habilitado', disabled: 'Deshabilitado', online: 'En línea', offline: 'Sin conexión', connected: 'Conectado', disconnected: 'Desconectado', }, timeAgo: { justNow: 'justo ahora', minutesAgo: 'hace {count} minutos', hoursAgo: 'hace {count} horas', daysAgo: 'hace {count} días', weeksAgo: 'hace {count} semanas', monthsAgo: 'hace {count} meses', yearsAgo: 'hace {count} años', }, navigation: { home: 'Inicio', dashboard: 'Panel', profile: 'Perfil', settings: 'Configuración', help: 'Ayuda', support: 'Soporte', documentation: 'Documentación', feedback: 'Comentarios', about: 'Acerca de', privacy: 'Privacidad', terms: 'Términos', contact: 'Contacto', }, general: { yes: 'Sí', no: 'No', ok: 'OK', maybe: 'Tal vez', none: 'Ninguno', all: 'Todo', other: 'Otro', unknown: 'Desconocido', optional: 'Opcional', required: 'Requerido', recommended: 'Recomendado', advanced: 'Avanzado', basic: 'Básico', custom: 'Personalizado', default: 'Por defecto', example: 'Ejemplo', placeholder: 'Marcador', noData: 'No hay datos disponibles', noResults: 'No se encontraron resultados', empty: 'Vacío', total: 'Total', subtotal: 'Subtotal', count: 'Cantidad', limit: 'Límite', unlimited: 'Ilimitado', }, }, auth: { signIn: { title: 'Iniciar Sesión', subtitle: '¡Bienvenido de nuevo! Inicia sesión en tu cuenta.', emailLabel: 'Email', emailPlaceholder: 'Ingresa tu email', usernameLabel: 'Usuario', usernamePlaceholder: 'Ingresa tu usuario', passwordLabel: 'Contraseña', passwordPlaceholder: 'Ingresa tu contraseña', rememberMe: 'Recordarme', forgotPassword: '¿Olvidaste tu contraseña?', signInButton: 'Iniciar Sesión', signInWithProvider: 'Iniciar sesión con {provider}', orDivider: 'o', noAccount: '¿No tienes una cuenta?', createAccount: 'Crear cuenta', success: 'Sesión iniciada exitosamente', welcomeBack: '¡Bienvenido de nuevo!', }, signUp: { title: 'Crear Cuenta', subtitle: 'Comienza creando tu cuenta.', firstNameLabel: 'Nombre', firstNamePlaceholder: 'Ingresa tu nombre', lastNameLabel: 'Apellido', lastNamePlaceholder: 'Ingresa tu apellido', emailLabel: 'Email', emailPlaceholder: 'Ingresa tu email', usernameLabel: 'Usuario', usernamePlaceholder: 'Elige un usuario', passwordLabel: 'Contraseña', passwordPlaceholder: 'Crea una contraseña', confirmPasswordLabel: 'Confirmar Contraseña', confirmPasswordPlaceholder: 'Confirma tu contraseña', phoneLabel: 'Teléfono', phonePlaceholder: 'Ingresa tu teléfono', signUpButton: 'Crear Cuenta', signUpWithProvider: 'Registrarse con {provider}', orDivider: 'o', hasAccount: '¿Ya tienes una cuenta?', signInLink: 'Iniciar sesión', termsAcceptance: 'Al crear una cuenta, aceptas nuestros', termsOfService: 'Términos de Servicio', privacyPolicy: 'Política de Privacidad', success: 'Cuenta creada exitosamente', welcomeMessage: '¡Bienvenido a Frank Auth!', }, passwordReset: { title: 'Restablecer Contraseña', subtitle: 'Ingresa tu email para recibir instrucciones de restablecimiento.', emailLabel: 'Email', emailPlaceholder: 'Ingresa tu email', sendResetButton: 'Enviar Enlace', backToSignIn: 'Volver al inicio de sesión', success: 'Enlace de restablecimiento enviado', checkEmail: 'Revisa tu email para las instrucciones', resetPassword: 'Restablecer Contraseña', newPasswordLabel: 'Nueva Contraseña', newPasswordPlaceholder: 'Ingresa nueva contraseña', confirmNewPasswordLabel: 'Confirmar Nueva Contraseña', confirmNewPasswordPlaceholder: 'Confirma nueva contraseña', resetButton: 'Restablecer Contraseña', passwordUpdated: 'Contraseña actualizada exitosamente', }, mfa: { title: 'Autenticación de Dos Factores', subtitle: 'Ingresa el código de verificación de tu aplicación autenticadora.', codeLabel: 'Código de Verificación', codePlaceholder: 'Ingresa código de 6 dígitos', verifyButton: 'Verificar', resendCode: 'Reenviar código', useBackupCode: 'Usar código de respaldo', backupCodeLabel: 'Código de Respaldo', backupCodePlaceholder: 'Ingresa código de respaldo', useAuthenticator: 'Usar aplicación autenticadora', success: 'Verificado exitosamente', setup: { title: 'Configurar Autenticación de Dos Factores', subtitle: 'Agrega una capa extra de seguridad a tu cuenta.', step1: 'Paso 1: Descarga una aplicación autenticadora', step2: 'Paso 2: Escanea el código QR', step3: 'Paso 3: Ingresa el código de verificación', downloadApp: 'Descarga una aplicación compatible como Google Authenticator o Authy', scanQR: 'Escanea este código QR con tu aplicación autenticadora', enterCode: 'Ingresa el código de 6 dígitos de tu aplicación', manualEntry: 'O ingresa esta clave manualmente:', secretKey: 'Clave Secreta', verificationCode: 'Código de Verificación', enableButton: 'Habilitar Autenticación de Dos Factores', backupCodes: 'Códigos de Respaldo', saveBackupCodes: 'Guarda estos códigos de respaldo en un lugar seguro', backupCodesWarning: 'Estos códigos pueden usarse si pierdes acceso a tu aplicación autenticadora', }, }, passkeys: { title: 'Llaves de Paso', subtitle: 'Usa tu dispositivo para iniciar sesión de forma segura sin contraseñas.', setup: 'Configurar llave de paso', use: 'Usar llave de paso', notSupported: 'Las llaves de paso no son compatibles con este dispositivo', setupButton: 'Configurar Llave de Paso', useButton: 'Usar Llave de Paso', success: 'Operación de llave de paso exitosa', registered: 'Llave de paso registrada exitosamente', manage: { title: 'Administrar Llaves de Paso', noPasskeys: 'No hay llaves de paso configuradas', addPasskey: 'Agregar Llave de Paso', deviceName: 'Nombre del Dispositivo', createdAt: 'Creado', lastUsed: 'Último Uso', remove: 'Eliminar', removeConfirm: '¿Estás seguro de que quieres eliminar esta llave de paso?', }, }, oauth: { signInWith: 'Iniciar sesión con {provider}', signUpWith: 'Registrarse con {provider}', continueWith: 'Continuar con {provider}', connecting: 'Conectando...', success: 'Conectado exitosamente', error: 'Conexión fallida', cancelled: 'Conexión cancelada', providers: { google: 'Google', github: 'GitHub', microsoft: 'Microsoft', facebook: 'Facebook', apple: 'Apple', twitter: 'Twitter', linkedin: 'LinkedIn', discord: 'Discord', slack: 'Slack', spotify: 'Spotify', }, }, verification: { email: { title: 'Verificar Email', subtitle: 'Revisa tu email y haz clic en el enlace de verificación.', checkEmail: 'Enviamos un enlace de verificación a tu email', resendEmail: 'Reenviar email', changeEmail: 'Cambiar email', success: 'Email verificado exitosamente', verified: 'Tu email ha sido verificado', }, phone: { title: 'Verificar Teléfono', subtitle: 'Ingresa el código de verificación enviado a tu teléfono.', codeLabel: 'Código de Verificación', codePlaceholder: 'Ingresa código de 6 dígitos', resendCode: 'Reenviar código', verifyButton: 'Verificar Teléfono', success: 'Teléfono verificado exitosamente', verified: 'Tu teléfono ha sido verificado', }, }, magicLink: { title: 'Enlace Mágico', subtitle: 'Inicia sesión con un enlace seguro enviado a tu email.', emailLabel: 'Email', emailPlaceholder: 'Ingresa tu email', sendLinkButton: 'Enviar Enlace Mágico', checkEmail: 'Revisa tu email para el enlace mágico', success: 'Enlace mágico enviado exitosamente', expired: 'El enlace mágico ha expirado', invalid: 'El enlace mágico es inválido', }, logout: { title: 'Cerrar Sesión', subtitle: '¿Estás seguro de que quieres cerrar sesión?', button: 'Cerrar Sesión', confirm: 'Cerrar Sesión', success: 'Sesión cerrada exitosamente', goodbye: '¡Hasta luego!', }, session: { expired: 'Tu sesión ha expirado', invalid: 'Sesión inválida', refresh: 'Refrescar sesión', refreshing: 'Refrescando sesión...', multipleWarning: 'Tienes sesión iniciada en múltiples dispositivos', deviceLimit: 'Límite de dispositivos alcanzado', }, }, user: { profile: { title: 'Perfil', personalInfo: 'Información Personal', accountInfo: 'Información de Cuenta', security: 'Seguridad', preferences: 'Preferencias', firstName: 'Nombre', lastName: 'Apellido', email: 'Email', username: 'Usuario', phone: 'Teléfono', bio: 'Biografía', website: 'Sitio Web', location: 'Ubicación', timezone: 'Zona Horaria', language: 'Idioma', avatar: 'Foto de Perfil', changeAvatar: 'Cambiar Foto', removeAvatar: 'Eliminar Foto', updateProfile: 'Actualizar Perfil', profileUpdated: 'Perfil actualizado exitosamente', }, security: { title: 'Seguridad', changePassword: 'Cambiar Contraseña', currentPassword: 'Contraseña Actual', newPassword: 'Nueva Contraseña', confirmPassword: 'Confirmar Contraseña', passwordStrength: 'Fortaleza de Contraseña', passwordRequirements: 'Requisitos de Contraseña', twoFactor: 'Autenticación de Dos Factores', enableTwoFactor: 'Habilitar Autenticación de Dos Factores', disableTwoFactor: 'Deshabilitar Autenticación de Dos Factores', twoFactorEnabled: 'Autenticación de dos factores habilitada', twoFactorDisabled: 'Autenticación de dos factores deshabilitada', backupCodes: 'Códigos de Respaldo', viewBackupCodes: 'Ver Códigos de Respaldo', regenerateBackupCodes: 'Regenerar Códigos de Respaldo', devices: 'Dispositivos', trustedDevices: 'Dispositivos Confiables', removeDevice: 'Eliminar Dispositivo', deviceRemoved: 'Dispositivo eliminado exitosamente', sessions: 'Sesiones', activeSessions: 'Sesiones Activas', terminateSession: 'Terminar Sesión', terminateAllSessions: 'Terminar Todas las Sesiones', sessionTerminated: 'Sesión terminada', connectedAccounts: 'Cuentas Conectadas', disconnect: 'Desconectar', accountDisconnected: 'Cuenta desconectada', deleteAccount: 'Eliminar Cuenta', deleteAccountWarning: 'Esta acción no se puede deshacer', deleteAccountConfirm: 'Eliminar Mi Cuenta', accountDeleted: 'Cuenta eliminada exitosamente', }, preferences: { title: 'Preferencias', theme: 'Tema', lightMode: 'Modo Claro', darkMode: 'Modo Oscuro', systemMode: 'Por Defecto del Sistema', notifications: 'Notificaciones', emailNotifications: 'Notificaciones por Email', pushNotifications: 'Notificaciones Push', smsNotifications: 'Notificaciones SMS', marketingEmails: 'Emails de Marketing', securityAlerts: 'Alertas de Seguridad', accountActivity: 'Actividad de Cuenta', productUpdates: 'Actualizaciones de Producto', preferences: 'Preferencias', preferencesUpdated: 'Preferencias actualizadas exitosamente', }, }, organization: { general: { title: 'Organización', name: 'Nombre de Organización', description: 'Descripción', website: 'Sitio Web', logo: 'Logo', settings: 'Configuración', members: 'Miembros', billing: 'Facturación', usage: 'Uso', security: 'Seguridad', integrations: 'Integraciones', audit: 'Registro de Auditoría', support: 'Soporte', }, profile: { title: 'Perfil de Organización', updateOrganization: 'Actualizar Organización', organizationUpdated: 'Organización actualizada exitosamente', logo: 'Logo', changeLogo: 'Cambiar Logo', removeLogo: 'Eliminar Logo', brandColors: 'Colores de Marca', primaryColor: 'Color Primario', secondaryColor: 'Color Secundario', customBranding: 'Marca Personalizada', domain: 'Dominio', customDomain: 'Dominio Personalizado', verifyDomain: 'Verificar Dominio', domainVerified: 'Dominio verificado', domainPending: 'Verificación de dominio pendiente', contact: 'Información de Contacto', contactEmail: 'Email de Contacto', supportUrl: 'URL de Soporte', address: 'Dirección', country: 'País', timezone: 'Zona Horaria', }, members: { title: 'Miembros', totalMembers: 'Total de Miembros', activeMembers: 'Miembros Activos', pendingInvitations: 'Invitaciones Pendientes', roles: 'Roles', permissions: 'Permisos', inviteMember: 'Invitar Miembro', inviteMembers: 'Invitar Miembros', emailAddress: 'Dirección de Email', role: 'Rol', customMessage: 'Mensaje Personalizado', sendInvitation: 'Enviar Invitación', invitationSent: 'Invitación enviada exitosamente', resendInvitation: 'Reenviar Invitación', cancelInvitation: 'Cancelar Invitación', invitationCancelled: 'Invitación cancelada', memberName: 'Nombre', memberEmail: 'Email', memberRole: 'Rol', memberStatus: 'Estado', memberJoined: 'Se Unió', lastActive: 'Última Actividad', changeRole: 'Cambiar Rol', removeMember: 'Eliminar Miembro', removeMemberConfirm: '¿Estás seguro de que quieres eliminar este miembro?', memberRemoved: 'Miembro eliminado exitosamente', transferOwnership: 'Transferir Propiedad', transferOwnershipConfirm: '¿Estás seguro de que quieres transferir la propiedad?', ownershipTransferred: 'Propiedad transferida exitosamente', bulkActions: 'Acciones en Lote', selectAll: 'Seleccionar Todo', selectedMembers: '{count} miembros seleccionados', bulkRemove: 'Eliminar Seleccionados', bulkChangeRole: 'Cambiar Rol', export: 'Exportar', exportMembers: 'Exportar Miembros', }, roles: { title: 'Roles', createRole: 'Crear Rol', editRole: 'Editar Rol', deleteRole: 'Eliminar Rol', roleName: 'Nombre del Rol', roleDescription: 'Descripción', permissions: 'Permisos', systemPermissions: 'Permisos del Sistema', organizationPermissions: 'Permisos de Organización', memberPermissions: 'Permisos de Miembro', billingPermissions: 'Permisos de Facturación', defaultRole: 'Rol Por Defecto', customRole: 'Rol Personalizado', roleCreated: 'Rol creado exitosamente', roleUpdated: 'Rol actualizado exitosamente', roleDeleted: 'Rol eliminado exitosamente', assignRole: 'Asignar Rol', unassignRole: 'Desasignar Rol', roleAssigned: 'Rol asignado exitosamente', roleUnassigned: 'Rol desasignado exitosamente', owner: 'Propietario', admin: 'Administrador', member: 'Miembro', guest: 'Invitado', viewer: 'Visualizador', editor: 'Editor', manager: 'Gerente', }, settings: { title: 'Configuración', general: 'General', authentication: 'Autenticación', security: 'Seguridad', integrations: 'Integraciones', advanced: 'Avanzado', allowPublicSignup: 'Permitir Registro Público', requireEmailVerification: 'Requerir Verificación de Email', allowUsernameSignup: 'Permitir Registro con Usuario', passwordPolicy: 'Política de Contraseñas', minPasswordLength: 'Longitud Mínima de Contraseña', requireUppercase: 'Requerir Mayúsculas', requireLowercase: 'Requerir Minúsculas', requireNumbers: 'Requerir Números', requireSymbols: 'Requerir Símbolos', sessionDuration: 'Duración de Sesión', mfaRequired: 'Requerir MFA', allowedDomains: 'Dominios Permitidos', blockedDomains: 'Dominios Bloqueados', ipWhitelist: 'Lista Blanca de IP', ssoEnabled: 'SSO Habilitado', ssoProvider: 'Proveedor SSO', auditLogRetention: 'Retención de Registro de Auditoría', dataExport: 'Exportación de Datos', deleteOrganization: 'Eliminar Organización', deleteOrganizationWarning: 'Esto eliminará permanentemente la organización y todos sus datos', deleteOrganizationConfirm: 'Eliminar Organización', organizationDeleted: 'Organización eliminada exitosamente', settingsUpdated: 'Configuración actualizada exitosamente', }, billing: { title: 'Facturación', plan: 'Plan', currentPlan: 'Plan Actual', usage: 'Uso', billing: 'Facturación', invoices: 'Facturas', paymentMethod: 'Método de Pago', subscription: 'Suscripción', seats: 'Asientos', usedSeats: 'Asientos Usados', availableSeats: 'Asientos Disponibles', addSeats: 'Agregar Asientos', removeSeats: 'Eliminar Asientos', monthlyBilling: 'Facturación Mensual', yearlyBilling: 'Facturación Anual', upgrade: 'Actualizar', downgrade: 'Degradar', cancel: 'Cancelar', pauseSubscription: 'Pausar Suscripción', resumeSubscription: 'Reanudar Suscripción', billingHistory: 'Historial de Facturación', downloadInvoice: 'Descargar', updatePaymentMethod: 'Actualizar Método de Pago', paymentMethodUpdated: 'Método de pago actualizado', subscriptionUpdated: 'Suscripción actualizada', subscriptionCancelled: 'Suscripción cancelada', subscriptionPaused: 'Suscripción pausada', subscriptionResumed: 'Suscripción reanudada', trialExpired: 'Prueba expirada', trialDaysLeft: '{days} días restantes en la prueba', upgradeNow: 'Actualizar Ahora', }, invitations: { title: 'Invitaciones', youreInvited: '¡Estás invitado!', invitedBy: 'Invitado por', invitedTo: 'Invitado a unirse', roleOffered: 'Rol ofrecido', acceptInvitation: 'Aceptar Invitación', declineInvitation: 'Declinar', invitationAccepted: 'Invitación aceptada', invitationDeclined: 'Invitación declinada', invitationExpired: 'Invitación expirada', invitationInvalid: 'Invitación inválida', alreadyMember: 'Ya es miembro', pendingInvitations: 'Invitaciones Pendientes', sentInvitations: 'Enviadas', receivedInvitations: 'Recibidas', invitationDetails: 'Detalles de Invitación', expiresAt: 'Expira', customMessage: 'Mensaje', }, }, validation: { required: '{field} es requerido', email: 'Por favor ingresa un email válido', phone: 'Por favor ingresa un teléfono válido', url: 'Por favor ingresa una URL válida', minLength: '{field} debe tener al menos {min} caracteres', maxLength: '{field} debe tener máximo {max} caracteres', min: '{field} debe ser al menos {min}', max: '{field} debe ser máximo {max}', pattern: 'El formato de {field} es inválido', passwordMismatch: 'Las contraseñas no coinciden', invalidFormat: 'Formato inválido', invalid: '{field} es inválido', tooShort: 'Muy corto', tooLong: 'Muy largo', tooSmall: 'Muy pequeño', tooLarge: 'Muy grande', notFound: 'No encontrado', alreadyExists: 'Ya existe', expired: 'Expirado', weak: 'Débil', strong: 'Fuerte', medium: 'Medio', passwordStrength: { veryWeak: 'Muy débil', weak: 'Débil', fair: 'Aceptable', good: 'Buena', strong: 'Fuerte', }, passwordRequirements: { minLength: 'Al menos {min} caracteres', uppercase: 'Al menos una letra mayúscula', lowercase: 'Al menos una letra minúscula', number: 'Al menos un número', symbol: 'Al menos un carácter especial', }, }, errors: { generic: { unknown: 'Ocurrió un error desconocido', network: 'Error de red', timeout: 'Tiempo de espera agotado', serverError: 'Error del servidor', notFound: 'Recurso no encontrado', unauthorized: 'Acceso no autorizado', forbidden: 'Acceso prohibido', badRequest: 'Solicitud incorrecta', conflict: 'Conflicto', tooManyRequests: 'Demasiadas solicitudes', maintenance: 'Sistema en mantenimiento', offline: 'Sin conexión', }, auth: { invalidCredentials: 'Email o contraseña inválidos', accountLocked: 'Cuenta bloqueada', accountDisabled: 'Cuenta deshabilitada', accountNotVerified: 'Cuenta no verificada', sessionExpired: 'Sesión expirada', invalidToken: 'Token inválido', mfaRequired: 'Autenticación de dos factores requerida', invalidMfaCode: 'Código de verificación inválido', passkeyNotSupported: 'Llaves de paso no compatibles', passkeyFailed: 'Autenticación con llave de paso falló', oauthFailed: 'Autenticación OAuth falló', oauthCancelled: 'Autenticación OAuth cancelada', magicLinkExpired: 'Enlace mágico expirado', magicLinkInvalid: 'Enlace mágico inválido', passwordTooWeak: 'Contraseña muy débil', passwordReused: 'Contraseña usada recientemente', emailNotVerified: 'Email no verificado', phoneNotVerified: 'Teléfono no verificado', invitationExpired: 'Invitación expirada', invitationInvalid: 'Invitación inválida', invitationAlreadyAccepted: 'Invitación ya aceptada', }, organization: { notFound: 'Organización no encontrada', accessDenied: 'Acceso denegado', memberLimitReached: 'Límite de miembros alcanzado', ownerRequired: 'Rol de propietario requerido', cannotRemoveOwner: 'No se puede eliminar al propietario', cannotRemoveSelf: 'No puedes eliminarte a ti mismo', alreadyMember: 'Ya es miembro', notMember: 'No es miembro', invalidRole: 'Rol inválido', roleNotFound: 'Rol no encontrado', domainTaken: 'Dominio ya tomado', domainInvalid: 'Dominio inválido', seatLimitReached: 'Límite de asientos alcanzado', subscriptionRequired: 'Suscripción requerida', paymentFailed: 'Pago falló', }, validation: { invalidEmail: 'Email inválido', invalidPhone: 'Teléfono inválido', invalidUrl: 'URL inválida', fieldRequired: 'Este campo es requerido', fieldTooShort: 'Este campo es muy corto', fieldTooLong: 'Este campo es muy largo', fieldInvalid: 'Este campo es inválido', passwordsDoNotMatch: 'Las contraseñas no coinciden', emailTaken: 'Email ya está en uso', usernameTaken: 'Usuario ya está en uso', phoneNumberTaken: 'Teléfono ya está en uso', domainTaken: 'Dominio ya está en uso', }, }, success: { generic: { saved: 'Guardado exitosamente', updated: 'Actualizado exitosamente', created: 'Creado exitosamente', deleted: 'Eliminado exitosamente', sent: 'Enviado exitosamente', completed: 'Completado exitosamente', copied: 'Copiado al portapapeles', uploaded: 'Subido exitosamente', downloaded: 'Descargado exitosamente', imported: 'Importado exitosamente', exported: 'Exportado exitosamente', }, auth: { signedIn: 'Sesión iniciada exitosamente', signedUp: 'Cuenta creada exitosamente', signedOut: 'Sesión cerrada exitosamente', passwordChanged: 'Contraseña cambiada exitosamente', passwordReset: 'Contraseña restablecida exitosamente', emailVerified: 'Email verificado exitosamente', phoneVerified: 'Teléfono verificado exitosamente', mfaEnabled: 'Autenticación de dos factores habilitada', mfaDisabled: 'Autenticación de dos factores deshabilitada', passkeyAdded: 'Llave de paso agregada exitosamente', passkeyRemoved: 'Llave de paso eliminada exitosamente', accountConnected: 'Cuenta conectada exitosamente', accountDisconnected: 'Cuenta desconectada exitosamente', }, organization: { created: 'Organización creada exitosamente', updated: 'Organización actualizada exitosamente', deleted: 'Organización eliminada exitosamente', memberInvited: 'Miembro invitado exitosamente', memberRemoved: 'Miembro eliminado exitosamente', roleChanged: 'Rol cambiado exitosamente', ownershipTransferred: 'Propiedad transferida exitosamente', settingsUpdated: 'Configuración actualizada exitosamente', domainVerified: 'Dominio verificado exitosamente', subscriptionUpdated: 'Suscripción actualizada exitosamente', paymentMethodUpdated: 'Método de pago actualizado exitosamente', }, }, components: { loading: { generic: 'Cargando...', signIn: 'Iniciando sesión...', signUp: 'Creando cuenta...', profile: 'Cargando perfil...', organization: 'Cargando organización...', members: 'Cargando miembros...', settings: 'Cargando configuración...', verification: 'Verificando...', mfa: 'Verificando código...', passkey: 'Autenticando...', oauth: 'Conectando...', }, empty: { generic: 'No hay datos disponibles', members: 'No se encontraron miembros', invitations: 'No hay invitaciones', sessions: 'No hay sesiones activas', devices: 'No hay dispositivos confiables', notifications: 'No hay notificaciones', history: 'No hay historial', logs: 'No hay registros', search: 'No hay resultados de búsqueda', filter: 'No hay resultados que coincidan con tu filtro', }, confirm: { delete: '¿Estás seguro de que quieres eliminar esto?', remove: '¿Estás seguro de que quieres quitar esto?', cancel: '¿Estás seguro de que quieres cancelar?', logout: '¿Estás seguro de que quieres cerrar sesión?', transfer: '¿Estás seguro de que quieres transferir la propiedad?', disable: '¿Estás seguro de que quieres deshabilitar esto?', enable: '¿Estás seguro de que quieres habilitar esto?', reset: '¿Estás seguro de que quieres restablecer esto?', clear: '¿Estás seguro de que quieres limpiar esto?', proceed: '¿Quieres proceder?', areYouSure: '¿Estás seguro?', cannotUndo: 'Esta acción no se puede deshacer.', permanentAction: 'Esta es una acción permanente.', }, help: { password: 'Elige una contraseña fuerte con al menos 8 caracteres, incluyendo mayúsculas, minúsculas, números y símbolos.', mfa: 'La autenticación de dos factores agrega una capa extra de seguridad a tu cuenta.', passkey: 'Las llaves de paso usan la biometría de tu dispositivo o PIN para iniciar sesión de forma segura sin contraseñas.', backup: 'Los códigos de respaldo pueden usarse si pierdes acceso a tu aplicación autenticadora.', domain: 'Los dominios personalizados permiten a tus usuarios acceder a tu aplicación desde tu propio dominio.', webhook: 'Los webhooks notifican a tu aplicación cuando ocurren eventos en tu organización.', apiKey: 'Las claves de API permiten que tus aplicaciones se autentiquen con la API de Frank Auth.', role: 'Los roles definen qué acciones pueden realizar los miembros en tu organización.', permission: 'Los permisos otorgan acceso específico a características y recursos.', billing: 'Administra tu suscripción, método de pago e historial de facturación.', usage: 'Monitorea el uso y límites de tu organización.', }, }, };