Spaces:
Sleeping
Sleeping
| import type { TranslationStrings } from '../types'; | |
| const admin: TranslationStrings = { | |
| 'admin.notifications.title': 'Notificaciones', | |
| 'admin.notifications.hint': | |
| 'Elija un canal de notificación. Solo uno puede estar activo a la vez.', | |
| 'admin.notifications.none': 'Desactivado', | |
| 'admin.notifications.email': 'Correo (SMTP)', | |
| 'admin.notifications.webhook': 'Webhook', | |
| 'admin.notifications.save': 'Guardar configuración de notificaciones', | |
| 'admin.notifications.saved': 'Configuración de notificaciones guardada', | |
| 'admin.notifications.testWebhook': 'Enviar webhook de prueba', | |
| 'admin.notifications.testWebhookSuccess': | |
| 'Webhook de prueba enviado correctamente', | |
| 'admin.notifications.testWebhookFailed': 'Error al enviar webhook de prueba', | |
| 'admin.smtp.title': 'Correo y notificaciones', | |
| 'admin.smtp.hint': | |
| 'Configuración SMTP para el envío de notificaciones por correo.', | |
| 'admin.smtp.testButton': 'Enviar correo de prueba', | |
| 'admin.webhook.hint': | |
| 'Enviar notificaciones a un webhook externo (Discord, Slack, etc.).', | |
| 'admin.smtp.testSuccess': 'Correo de prueba enviado correctamente', | |
| 'admin.smtp.testFailed': 'Error al enviar correo de prueba', | |
| 'admin.title': 'Administración', | |
| 'admin.subtitle': 'Gestión de usuarios y ajustes del sistema', | |
| 'admin.tabs.users': 'Usuarios', | |
| 'admin.tabs.categories': 'Categorías', | |
| 'admin.tabs.backup': 'Copia de seguridad', | |
| 'admin.tabs.audit': 'Auditoría', | |
| 'admin.stats.users': 'Usuarios', | |
| 'admin.stats.trips': 'Viajes', | |
| 'admin.stats.places': 'Lugares', | |
| 'admin.stats.photos': 'Fotos', | |
| 'admin.stats.files': 'Archivos', | |
| 'admin.table.user': 'Usuario', | |
| 'admin.table.email': 'Correo', | |
| 'admin.table.role': 'Rol', | |
| 'admin.table.created': 'Creado', | |
| 'admin.table.lastLogin': 'Último acceso', | |
| 'admin.table.actions': 'Acciones', | |
| 'admin.you': '(Tú)', | |
| 'admin.editUser': 'Editar usuario', | |
| 'admin.newPassword': 'Nueva contraseña', | |
| 'admin.newPasswordHint': 'Déjalo vacío para mantener la contraseña actual', | |
| 'admin.deleteUser': | |
| '¿Eliminar al usuario "{name}"? Todos sus viajes se borrarán permanentemente.', | |
| 'admin.deleteUserTitle': 'Eliminar usuario', | |
| 'admin.newPasswordPlaceholder': 'Introduce una nueva contraseña…', | |
| 'admin.toast.loadError': 'No se pudieron cargar los datos de administración', | |
| 'admin.toast.userUpdated': 'Usuario actualizado', | |
| 'admin.toast.updateError': 'No se pudo actualizar', | |
| 'admin.toast.userDeleted': 'Usuario eliminado', | |
| 'admin.toast.deleteError': 'No se pudo eliminar', | |
| 'admin.toast.cannotDeleteSelf': 'No puedes eliminar tu propia cuenta', | |
| 'admin.toast.userCreated': 'Usuario creado', | |
| 'admin.toast.createError': 'No se pudo crear el usuario', | |
| 'admin.toast.fieldsRequired': 'Usuario, correo y contraseña son obligatorios', | |
| 'admin.createUser': 'Crear usuario', | |
| 'admin.invite.title': 'Enlaces de invitación', | |
| 'admin.invite.subtitle': 'Crear enlaces de registro de un solo uso', | |
| 'admin.invite.create': 'Crear enlace', | |
| 'admin.invite.createAndCopy': 'Crear y copiar', | |
| 'admin.invite.empty': 'No se han creado enlaces de invitación', | |
| 'admin.invite.maxUses': 'Usos máx.', | |
| 'admin.invite.expiry': 'Expira después de', | |
| 'admin.invite.uses': 'usado(s)', | |
| 'admin.invite.expiresAt': 'expira el', | |
| 'admin.invite.createdBy': 'por', | |
| 'admin.invite.active': 'Activo', | |
| 'admin.invite.expired': 'Expirado', | |
| 'admin.invite.usedUp': 'Agotado', | |
| 'admin.invite.copied': 'Enlace de invitación copiado', | |
| 'admin.invite.copyLink': 'Copiar enlace', | |
| 'admin.invite.deleted': 'Enlace de invitación eliminado', | |
| 'admin.invite.createError': 'Error al crear el enlace', | |
| 'admin.invite.deleteError': 'Error al eliminar el enlace', | |
| 'admin.tabs.settings': 'Ajustes', | |
| 'admin.allowRegistration': 'Permitir el registro', | |
| 'admin.allowRegistrationHint': | |
| 'Los nuevos usuarios pueden registrarse por sí mismos', | |
| 'admin.authMethods': 'Authentication Methods', | |
| 'admin.passwordLogin': 'Password Login', | |
| 'admin.passwordLoginHint': 'Allow users to sign in with email and password', | |
| 'admin.passwordRegistration': 'Password Registration', | |
| 'admin.passwordRegistrationHint': | |
| 'Allow new users to register with email and password', | |
| 'admin.oidcLogin': 'SSO Login', | |
| 'admin.oidcLoginHint': 'Allow users to sign in with SSO', | |
| 'admin.oidcRegistration': 'SSO Auto-Provisioning', | |
| 'admin.oidcRegistrationHint': | |
| 'Automatically create accounts for new SSO users', | |
| 'admin.envOverrideHint': | |
| 'Password login settings are controlled by the OIDC_ONLY environment variable and cannot be changed here.', | |
| 'admin.lockoutWarning': 'At least one login method must remain enabled', | |
| 'admin.requireMfa': 'Exigir autenticación en dos factores (2FA)', | |
| 'admin.requireMfaHint': | |
| 'Los usuarios sin 2FA deben completar la configuración en Ajustes antes de usar la aplicación.', | |
| 'admin.apiKeys': 'Claves API', | |
| 'admin.apiKeysHint': | |
| 'Opcional. Activa datos ampliados de lugares, como fotos y previsión del tiempo.', | |
| 'admin.mapsKey': 'Clave API de Google Maps', | |
| 'admin.mapsKeyHint': | |
| 'Obligatoria para buscar lugares. Consíguela en console.cloud.google.com', | |
| 'admin.mapsKeyHintLong': | |
| 'Sin una clave API, la búsqueda de lugares usa OpenStreetMap. Con una clave de Google también se pueden cargar fotos, valoraciones y horarios de apertura. Consíguela en console.cloud.google.com.', | |
| 'admin.recommended': 'Recomendado', | |
| 'admin.weatherKey': 'Clave API de OpenWeatherMap', | |
| 'admin.weatherKeyHint': | |
| 'Para datos meteorológicos. Gratis en openweathermap.org', | |
| 'admin.validateKey': 'Probar', | |
| 'admin.keyValid': 'Conectado', | |
| 'admin.keyInvalid': 'No válida', | |
| 'admin.keySaved': 'Claves API guardadas', | |
| 'admin.oidcTitle': 'Inicio de sesión único (OIDC)', | |
| 'admin.oidcSubtitle': | |
| 'Permite iniciar sesión mediante proveedores externos como Google, Apple, Authentik o Keycloak.', | |
| 'admin.oidcDisplayName': 'Nombre visible', | |
| 'admin.oidcIssuer': 'URL del emisor', | |
| 'admin.oidcIssuerHint': | |
| 'La URL Issuer de OpenID Connect del proveedor. Ej.: https://accounts.google.com', | |
| 'admin.oidcSaved': 'Configuración OIDC guardada', | |
| 'admin.fileTypes': 'Tipos de archivo permitidos', | |
| 'admin.fileTypesHint': | |
| 'Configura qué tipos de archivo pueden subir los usuarios.', | |
| 'admin.fileTypesFormat': | |
| 'Extensiones separadas por comas (p. ej. jpg,png,pdf,doc). Usa * para permitir todos los tipos.', | |
| 'admin.fileTypesSaved': 'Ajustes de tipos de archivo guardados', | |
| 'admin.placesPhotos.title': 'Fotos de Lugares', | |
| 'admin.placesPhotos.subtitle': | |
| 'Obtiene fotos de la Google Places API. Desactiva para ahorrar cuota de API. Las fotos de Wikimedia no se ven afectadas.', | |
| 'admin.placesAutocomplete.title': 'Autocompletado de Lugares', | |
| 'admin.placesAutocomplete.subtitle': | |
| 'Usa la Google Places API para sugerencias de búsqueda. Desactiva para ahorrar cuota de API.', | |
| 'admin.placesDetails.title': 'Detalles del Lugar', | |
| 'admin.placesDetails.subtitle': | |
| 'Obtiene información detallada del lugar (horarios, valoración, web) de la Google Places API. Desactiva para ahorrar cuota de API.', | |
| 'admin.bagTracking.title': 'Seguimiento de equipaje', | |
| 'admin.bagTracking.subtitle': | |
| 'Activar peso y asignación de equipaje para artículos de la lista', | |
| 'admin.collab.chat.title': 'Chat', | |
| 'admin.collab.chat.subtitle': | |
| 'Mensajería en tiempo real para la colaboración', | |
| 'admin.collab.notes.title': 'Notas', | |
| 'admin.collab.notes.subtitle': 'Notas y documentos compartidos', | |
| 'admin.collab.polls.title': 'Encuestas', | |
| 'admin.collab.polls.subtitle': 'Encuestas y votaciones grupales', | |
| 'admin.collab.whatsnext.title': 'Qué sigue', | |
| 'admin.collab.whatsnext.subtitle': | |
| 'Sugerencias de actividades y próximos pasos', | |
| 'admin.tabs.config': 'Personalización', | |
| 'admin.tabs.defaults': 'Valores predeterminados', | |
| 'admin.defaultSettings.title': 'Configuración predeterminada de usuarios', | |
| 'admin.defaultSettings.description': | |
| 'Establece valores predeterminados para toda la instancia. Los usuarios que no hayan cambiado una opción verán estos valores. Sus propios cambios siempre tienen prioridad.', | |
| 'admin.defaultSettings.saved': 'Predeterminado guardado', | |
| 'admin.defaultSettings.reset': 'Restaurar al valor predeterminado integrado', | |
| 'admin.defaultSettings.resetToBuiltIn': 'restaurar', | |
| 'admin.tabs.templates': 'Plantillas de equipaje', | |
| 'admin.packingTemplates.title': 'Plantillas de equipaje', | |
| 'admin.packingTemplates.subtitle': | |
| 'Crear listas de equipaje reutilizables para tus viajes', | |
| 'admin.packingTemplates.create': 'Nueva plantilla', | |
| 'admin.packingTemplates.namePlaceholder': | |
| 'Nombre de la plantilla (ej. Vacaciones en la playa)', | |
| 'admin.packingTemplates.empty': 'No se han creado plantillas aún', | |
| 'admin.packingTemplates.items': 'artículos', | |
| 'admin.packingTemplates.categories': 'categorías', | |
| 'admin.packingTemplates.itemName': 'Nombre del artículo', | |
| 'admin.packingTemplates.itemCategory': 'Categoría', | |
| 'admin.packingTemplates.categoryName': 'Nombre de categoría (ej. Ropa)', | |
| 'admin.packingTemplates.addCategory': 'Añadir categoría', | |
| 'admin.packingTemplates.created': 'Plantilla creada', | |
| 'admin.packingTemplates.deleted': 'Plantilla eliminada', | |
| 'admin.packingTemplates.loadError': 'Error al cargar plantillas', | |
| 'admin.packingTemplates.createError': 'Error al crear plantilla', | |
| 'admin.packingTemplates.deleteError': 'Error al eliminar plantilla', | |
| 'admin.packingTemplates.saveError': 'Error al guardar', | |
| 'admin.tabs.addons': 'Complementos', | |
| 'admin.addons.title': 'Complementos', | |
| 'admin.addons.subtitle': | |
| 'Activa o desactiva funciones para personalizar tu experiencia en TREK.', | |
| 'admin.addons.subtitleBefore': | |
| 'Activa o desactiva funciones para personalizar tu experiencia en ', | |
| 'admin.addons.subtitleAfter': '.', | |
| 'admin.addons.enabled': 'Activo', | |
| 'admin.addons.disabled': 'Desactivado', | |
| 'admin.addons.type.trip': 'Viaje', | |
| 'admin.addons.type.global': 'Global', | |
| 'admin.addons.type.integration': 'Integración', | |
| 'admin.addons.tripHint': 'Disponible como pestaña dentro de cada viaje', | |
| 'admin.addons.globalHint': | |
| 'Disponible como sección independiente en la navegación principal', | |
| 'admin.addons.integrationHint': | |
| 'Servicios backend e integraciones de API sin página dedicada', | |
| 'admin.addons.toast.updated': 'Complemento actualizado', | |
| 'admin.addons.toast.error': 'No se pudo actualizar el complemento', | |
| 'admin.addons.noAddons': 'No hay complementos disponibles', | |
| 'admin.weather.title': 'Datos meteorológicos', | |
| 'admin.weather.badge': 'Desde el 24 de marzo de 2026', | |
| 'admin.weather.description': | |
| 'TREK utiliza Open-Meteo como fuente de datos meteorológicos. Open-Meteo es un servicio meteorológico gratuito y de código abierto: no requiere clave API.', | |
| 'admin.weather.forecast': 'Pronóstico de 16 días', | |
| 'admin.weather.forecastDesc': 'Antes eran 5 días (OpenWeatherMap)', | |
| 'admin.weather.climate': 'Datos climáticos históricos', | |
| 'admin.weather.climateDesc': | |
| 'Promedios de los últimos 85 años para fechas posteriores al pronóstico de 16 días', | |
| 'admin.weather.requests': '10.000 solicitudes / día', | |
| 'admin.weather.requestsDesc': 'Gratis, sin necesidad de clave API', | |
| 'admin.weather.locationHint': | |
| 'El tiempo se basa en el primer lugar con coordenadas de cada día. Si no hay ningún lugar asignado a un día, se usa como referencia cualquier lugar de la lista.', | |
| 'admin.tabs.mcpTokens': 'Acceso MCP', | |
| 'admin.mcpTokens.title': 'Acceso MCP', | |
| 'admin.mcpTokens.subtitle': | |
| 'Gestionar sesiones OAuth y tokens de API de todos los usuarios', | |
| 'admin.mcpTokens.sectionTitle': 'Tokens de API', | |
| 'admin.mcpTokens.owner': 'Propietario', | |
| 'admin.mcpTokens.tokenName': 'Nombre del token', | |
| 'admin.mcpTokens.created': 'Creado', | |
| 'admin.mcpTokens.lastUsed': 'Último uso', | |
| 'admin.mcpTokens.never': 'Nunca', | |
| 'admin.mcpTokens.empty': 'Aún no se han creado tokens MCP', | |
| 'admin.mcpTokens.deleteTitle': 'Eliminar token', | |
| 'admin.mcpTokens.deleteMessage': | |
| 'Este token se revocará inmediatamente. El usuario perderá el acceso MCP a través de este token.', | |
| 'admin.mcpTokens.deleteSuccess': 'Token eliminado', | |
| 'admin.mcpTokens.deleteError': 'No se pudo eliminar el token', | |
| 'admin.mcpTokens.loadError': 'No se pudieron cargar los tokens', | |
| 'admin.oauthSessions.sectionTitle': 'Sesiones OAuth', | |
| 'admin.oauthSessions.clientName': 'Cliente', | |
| 'admin.oauthSessions.owner': 'Propietario', | |
| 'admin.oauthSessions.scopes': 'Permisos', | |
| 'admin.oauthSessions.created': 'Creado', | |
| 'admin.oauthSessions.empty': 'No hay sesiones OAuth activas', | |
| 'admin.oauthSessions.revokeTitle': 'Revocar sesión', | |
| 'admin.oauthSessions.revokeMessage': | |
| 'Esto revocará la sesión OAuth inmediatamente. El cliente perderá el acceso MCP.', | |
| 'admin.oauthSessions.revokeSuccess': 'Sesión revocada', | |
| 'admin.oauthSessions.revokeError': 'No se pudo revocar la sesión', | |
| 'admin.oauthSessions.loadError': 'No se pudieron cargar las sesiones OAuth', | |
| 'admin.tabs.github': 'GitHub', | |
| 'admin.audit.subtitle': | |
| 'Eventos sensibles de seguridad y administración (copias de seguridad, usuarios, MFA, ajustes).', | |
| 'admin.audit.empty': 'Aún no hay entradas de auditoría.', | |
| 'admin.audit.refresh': 'Actualizar', | |
| 'admin.audit.loadMore': 'Cargar más', | |
| 'admin.audit.showing': '{count} cargados · {total} en total', | |
| 'admin.audit.col.time': 'Fecha y hora', | |
| 'admin.audit.col.user': 'Usuario', | |
| 'admin.audit.col.action': 'Acción', | |
| 'admin.audit.col.resource': 'Recurso', | |
| 'admin.audit.col.ip': 'IP', | |
| 'admin.audit.col.details': 'Detalles', | |
| 'admin.github.title': 'Historial de versiones', | |
| 'admin.github.subtitle': 'Últimas novedades de {repo}', | |
| 'admin.github.latest': 'Última', | |
| 'admin.github.prerelease': 'Prelanzamiento', | |
| 'admin.github.showDetails': 'Mostrar detalles', | |
| 'admin.github.hideDetails': 'Ocultar detalles', | |
| 'admin.github.loadMore': 'Cargar más', | |
| 'admin.github.loading': 'Cargando...', | |
| 'admin.github.support': 'Ayuda a seguir desarrollando TREK', | |
| 'admin.github.error': 'No se pudieron cargar las versiones', | |
| 'admin.github.by': 'por', | |
| 'admin.update.available': 'Actualización disponible', | |
| 'admin.update.text': | |
| 'TREK {version} está disponible. Estás usando {current}.', | |
| 'admin.update.button': 'Ver en GitHub', | |
| 'admin.update.install': 'Instalar actualización', | |
| 'admin.update.confirmTitle': '¿Instalar actualización?', | |
| 'admin.update.confirmText': | |
| 'TREK se actualizará de {current} a {version}. Después, el servidor se reiniciará automáticamente.', | |
| 'admin.update.dataInfo': | |
| 'Todos tus datos (viajes, usuarios, claves API, subidas, Vacay, Atlas, presupuestos) se conservarán.', | |
| 'admin.update.warning': | |
| 'La app estará brevemente no disponible durante el reinicio.', | |
| 'admin.update.confirm': 'Actualizar ahora', | |
| 'admin.update.installing': 'Actualizando…', | |
| 'admin.update.success': | |
| '¡Actualización instalada! El servidor se está reiniciando…', | |
| 'admin.update.failed': 'La actualización falló', | |
| 'admin.update.backupHint': | |
| 'Recomendamos crear una copia de seguridad antes de actualizar.', | |
| 'admin.update.backupLink': 'Ir a Copia de seguridad', | |
| 'admin.update.howTo': 'Cómo actualizar', | |
| 'admin.update.dockerText': | |
| 'Tu instancia de TREK se ejecuta en Docker. Para actualizar a {version}, ejecuta los siguientes comandos en tu servidor:', | |
| 'admin.update.reloadHint': 'Recarga la página en unos segundos.', | |
| 'admin.addons.catalog.memories.name': 'Fotos (Immich)', | |
| 'admin.addons.catalog.memories.description': | |
| 'Comparte fotos de viaje a través de tu instancia de Immich', | |
| 'admin.addons.catalog.mcp.name': 'MCP', | |
| 'admin.addons.catalog.mcp.description': | |
| 'Protocolo de contexto de modelo para integración con asistentes de IA', | |
| 'admin.addons.catalog.packing.name': 'Listas', | |
| 'admin.addons.catalog.packing.description': | |
| 'Listas de equipaje y tareas pendientes para tus viajes', | |
| 'admin.addons.catalog.budget.name': 'Presupuesto', | |
| 'admin.addons.catalog.budget.description': | |
| 'Controla los gastos y planifica el presupuesto del viaje', | |
| 'admin.addons.catalog.documents.name': 'Documentos', | |
| 'admin.addons.catalog.documents.description': | |
| 'Guarda y gestiona la documentación del viaje', | |
| 'admin.addons.catalog.vacay.name': 'Vacaciones', | |
| 'admin.addons.catalog.vacay.description': | |
| 'Planificador personal de vacaciones con vista de calendario', | |
| 'admin.addons.catalog.atlas.name': 'Atlas', | |
| 'admin.addons.catalog.atlas.description': | |
| 'Mapa del mundo con los países visitados y estadísticas de viaje', | |
| 'admin.addons.catalog.collab.name': 'Colaboración', | |
| 'admin.addons.catalog.collab.description': | |
| 'Notas, encuestas y chat en tiempo real para organizar el viaje', | |
| 'admin.oidcOnlyMode': 'Desactivar autenticación por contraseña', | |
| 'admin.oidcOnlyModeHint': | |
| 'Si está activado, solo se permite el inicio de sesión con SSO. El inicio de sesión y registro con contraseña se bloquean.', | |
| 'admin.tabs.permissions': 'Permisos', | |
| 'admin.notifications.emailPanel.title': 'Email (SMTP)', | |
| 'admin.notifications.webhookPanel.title': 'Webhook', | |
| 'admin.notifications.inappPanel.title': 'In-App', | |
| 'admin.notifications.inappPanel.hint': | |
| 'Las notificaciones in-app siempre están activas y no se pueden desactivar globalmente.', | |
| 'admin.notifications.adminWebhookPanel.title': 'Webhook de admin', | |
| 'admin.notifications.adminWebhookPanel.hint': | |
| 'Este webhook se usa exclusivamente para notificaciones de admin (ej. alertas de versión). Es independiente de los webhooks de usuario y se activa automáticamente si hay una URL configurada.', | |
| 'admin.notifications.adminWebhookPanel.saved': | |
| 'URL del webhook de admin guardada', | |
| 'admin.notifications.adminWebhookPanel.testSuccess': | |
| 'Webhook de prueba enviado correctamente', | |
| 'admin.notifications.adminWebhookPanel.testFailed': | |
| 'Error al enviar el webhook de prueba', | |
| 'admin.notifications.adminWebhookPanel.alwaysOnHint': | |
| 'El webhook de admin se activa automáticamente si hay una URL configurada', | |
| 'admin.notifications.ntfy': 'Ntfy', | |
| 'admin.ntfy.hint': | |
| 'Permite a los usuarios configurar sus propios temas ntfy para notificaciones push. Establece el servidor predeterminado a continuación para rellenar automáticamente los ajustes del usuario.', | |
| 'admin.notifications.testNtfy': 'Enviar Ntfy de prueba', | |
| 'admin.notifications.testNtfySuccess': 'Ntfy de prueba enviado correctamente', | |
| 'admin.notifications.testNtfyFailed': 'Error al enviar el Ntfy de prueba', | |
| 'admin.notifications.adminNtfyPanel.title': 'Ntfy de admin', | |
| 'admin.notifications.adminNtfyPanel.hint': | |
| 'Este tema Ntfy se usa exclusivamente para notificaciones de admin (ej. alertas de versión). Es independiente de los temas por usuario y siempre se activa cuando está configurado.', | |
| 'admin.notifications.adminNtfyPanel.serverLabel': 'URL del servidor Ntfy', | |
| 'admin.notifications.adminNtfyPanel.serverHint': | |
| 'También se usa como servidor predeterminado para las notificaciones ntfy de los usuarios. Déjalo en blanco para usar ntfy.sh. Los usuarios pueden cambiarlo en sus propios ajustes.', | |
| 'admin.notifications.adminNtfyPanel.serverPlaceholder': 'https://ntfy.sh', | |
| 'admin.notifications.adminNtfyPanel.topicLabel': 'Tema de admin', | |
| 'admin.notifications.adminNtfyPanel.topicPlaceholder': 'trek-admin-alerts', | |
| 'admin.notifications.adminNtfyPanel.tokenLabel': 'Token de acceso (opcional)', | |
| 'admin.notifications.adminNtfyPanel.tokenCleared': | |
| 'Token de acceso de admin eliminado', | |
| 'admin.notifications.adminNtfyPanel.saved': | |
| 'Configuración de Ntfy de admin guardada', | |
| 'admin.notifications.adminNtfyPanel.test': 'Enviar Ntfy de prueba', | |
| 'admin.notifications.adminNtfyPanel.testSuccess': | |
| 'Ntfy de prueba enviado correctamente', | |
| 'admin.notifications.adminNtfyPanel.testFailed': | |
| 'Error al enviar el Ntfy de prueba', | |
| 'admin.notifications.adminNtfyPanel.alwaysOnHint': | |
| 'El Ntfy de admin siempre se activa cuando hay un tema configurado', | |
| 'admin.notifications.adminNotificationsHint': | |
| 'Configura qué canales entregan notificaciones de admin (ej. alertas de versión). El webhook se activa automáticamente si hay una URL de webhook de admin configurada.', | |
| 'admin.notifications.tripReminders.title': 'Recordatorios de viaje', | |
| 'admin.notifications.tripReminders.hint': | |
| 'Envía una notificación de recordatorio antes de que comience un viaje (requiere días de recordatorio configurados en el viaje).', | |
| 'admin.notifications.tripReminders.enabled': | |
| 'Recordatorios de viaje activados', | |
| 'admin.notifications.tripReminders.disabled': | |
| 'Recordatorios de viaje desactivados', | |
| 'admin.tabs.notifications': 'Notificaciones', | |
| 'admin.addons.catalog.journey.name': 'Travesía', | |
| 'admin.addons.catalog.journey.description': | |
| 'Seguimiento de viajes y diario de viajero con registros de ubicación, fotos e historias diarias', | |
| 'admin.passkey.title': 'Inicio de sesión con passkey', | |
| 'admin.passkey.cardHint': | |
| 'Permite que los usuarios inicien sesión con passkeys (WebAuthn). Desactivado de forma predeterminada.', | |
| 'admin.passkey.login': 'Activar inicio de sesión con passkey', | |
| 'admin.passkey.loginHint': | |
| 'Muestra una opción "Iniciar sesión con una passkey" y permite a los usuarios registrar passkeys en sus ajustes.', | |
| 'admin.passkey.notConfigured': | |
| 'Aún no se resuelve ningún dominio de WebAuthn para esta instalación. Define APP_URL o el Relying Party ID a continuación: las passkeys permanecerán ocultas hasta entonces.', | |
| 'admin.passkey.rpId': 'Relying Party ID (dominio)', | |
| 'admin.passkey.rpIdHint': | |
| 'El dominio puro al que se vinculan las passkeys, p. ej. trek.example.org. Déjalo vacío para derivarlo de APP_URL. Cambiarlo más adelante invalida las passkeys existentes.', | |
| 'admin.passkey.origins': 'Orígenes permitidos', | |
| 'admin.passkey.originsHint': | |
| 'Orígenes completos separados por comas, p. ej. https://trek.example.org. Déjalo vacío para usar APP_URL.', | |
| 'admin.passkey.reset': 'Restablecer passkeys', | |
| 'admin.passkey.resetHint': | |
| 'Elimina todas las passkeys de este usuario (p. ej. tras perder un dispositivo). Aún podrá iniciar sesión con su contraseña.', | |
| 'admin.passkey.resetConfirm': '¿Eliminar todas las passkeys de {name}?', | |
| 'admin.passkey.resetDone': 'Se eliminaron {count} passkey(s)', | |
| 'admin.defaultSettings.mapProvider': 'Motor de mapas', | |
| 'admin.defaultSettings.mapProviderHint': 'El mapa predeterminado para todos en esta instancia. Cada usuario puede cambiarlo en sus propios ajustes.', | |
| 'admin.defaultSettings.providerLeaflet': 'Estándar (gratis)', | |
| 'admin.defaultSettings.providerMapbox': 'Mapbox (3D)', | |
| 'admin.defaultSettings.mapboxToken': 'Token de Mapbox compartido', | |
| 'admin.defaultSettings.mapboxTokenHint': 'Se usa para cada usuario que no haya introducido su propio token, de modo que toda la instancia obtenga Mapbox sin compartir la clave individualmente. Se almacena cifrado.', | |
| 'admin.defaultSettings.mapboxStyle': 'Estilo de mapa', | |
| 'admin.defaultSettings.mapboxStylePlaceholder': 'Elige un estilo…', | |
| 'admin.defaultSettings.mapbox3d': 'Edificios y terreno en 3D', | |
| 'admin.defaultSettings.mapboxQuality': 'Modo de alta calidad', | |
| }; | |
| export default admin; | |