Files
donutbrowser/src/i18n/locales/es.json
T

2072 lines
96 KiB
JSON

{
"common": {
"buttons": {
"save": "Guardar",
"cancel": "Cancelar",
"close": "Cerrar",
"delete": "Eliminar",
"create": "Crear",
"back": "Atrás",
"retry": "Reintentar",
"download": "Descargar",
"confirm": "Confirmar",
"apply": "Aplicar",
"reset": "Restablecer",
"add": "Agregar",
"edit": "Editar",
"copy": "Copiar",
"clear": "Limpiar",
"search": "Buscar",
"select": "Seleccionar",
"grant": "Otorgar",
"start": "Iniciar",
"stop": "Detener",
"enable": "Habilitar",
"disable": "Deshabilitar",
"import": "Importar",
"export": "Exportar",
"refresh": "Actualizar",
"loading": "Cargando...",
"saveSettings": "Guardar Configuración",
"moreInfo": "Más información",
"downloading": "Descargando...",
"minimize": "Minimizar",
"saving": "Guardando…",
"saved": "Guardado",
"copied": "Copiado",
"learnMore": "Más información"
},
"status": {
"active": "Activo",
"inactive": "Inactivo",
"running": "Ejecutando",
"stopped": "Detenido",
"enabled": "Habilitado",
"disabled": "Deshabilitado",
"granted": "Otorgado",
"notGranted": "No Otorgado",
"connected": "Conectado",
"disconnected": "Desconectado",
"synced": "Sincronizado",
"syncing": "Sincronizando",
"pending": "Pendiente",
"error": "Error"
},
"labels": {
"name": "Nombre",
"type": "Tipo",
"status": "Estado",
"actions": "Acciones",
"description": "Descripción",
"none": "Ninguno",
"default": "Predeterminado",
"custom": "Personalizado",
"optional": "Opcional",
"required": "Requerido",
"unknownProfile": "Desconocido",
"mode": "Modo",
"never": "Nunca"
},
"time": {
"days": "días",
"hours": "horas",
"minutes": "minutos",
"seconds": "segundos",
"remaining": "restantes"
},
"aria": {
"selectAll": "Seleccionar todo",
"selectRow": "Seleccionar fila",
"selectProfile": "Seleccionar perfil",
"copy": "Copiar al portapapeles",
"copied": "Copiado",
"showToken": "Mostrar token",
"hideToken": "Ocultar token"
},
"keys": {
"escape": "Escape"
},
"errors": {
"unknown": "Ocurrió un error desconocido"
},
"window": {
"minimize": "Minimizar",
"maximize": "Maximizar",
"restore": "Restaurar"
},
"commandPalette": {
"title": "Paleta de comandos",
"description": "Busca un comando para ejecutar..."
},
"noResults": "No se encontraron resultados.",
"srOnly": {
"copy": "Copiar",
"copied": "Copiado"
},
"placeholders": {
"example": "p. ej., {{value}}"
}
},
"settings": {
"title": "Configuración",
"appearance": {
"title": "Apariencia",
"theme": "Tema",
"themeDescription": "Elige tu tema preferido o sigue la configuración del sistema. Los cambios de tema personalizado se aplican solo al guardar.",
"themePreset": "Tema Predefinido",
"customColors": "Colores Personalizados",
"selectTheme": "Seleccionar tema",
"selectThemePreset": "Seleccionar tema predefinido",
"yourOwn": "Tu Propio",
"light": "Claro",
"dark": "Oscuro",
"system": "Sistema"
},
"language": {
"title": "Idioma",
"description": "Elige tu idioma preferido para la interfaz de la aplicación.",
"systemDefault": "Predeterminado del Sistema",
"selectLanguage": "Seleccionar idioma",
"interface": "Idioma de la interfaz"
},
"defaultBrowser": {
"title": "Navegador Predeterminado",
"setAsDefault": "Establecer como Navegador Predeterminado",
"alreadyDefault": "Ya es el Navegador Predeterminado",
"description": "Cuando se establece como predeterminado, Donut Browser manejará los enlaces web y te permitirá elegir qué perfil usar."
},
"permissions": {
"title": "Permisos del Sistema",
"loading": "Cargando permisos...",
"description": "Estos permisos permiten que los navegadores iniciados desde Donut Browser accedan a los recursos del sistema. Cada sitio web seguirá pidiendo tu permiso individualmente.",
"microphone": "Micrófono",
"microphoneDescription": "Acceso al micrófono para aplicaciones del navegador",
"camera": "Cámara",
"cameraDescription": "Acceso a la cámara para aplicaciones del navegador",
"accessRequested": "Acceso a {{permission}} solicitado"
},
"integrations": {
"title": "Integraciones",
"description": "Configura la API Local y MCP (Protocolo de Contexto de Modelo) para integración con herramientas externas y asistentes de IA.",
"openSettings": "Abrir Configuración de Integraciones"
},
"encryption": {
"title": "Cifrado de sincronización",
"description": "Establece una contraseña para habilitar la sincronización cifrada E2E. Si pierdes esta contraseña, los perfiles cifrados no podrán recuperarse.",
"passwordSet": "Activo",
"passwordSetDescription": "La contraseña de cifrado E2E está configurada",
"noPassword": "Sin contraseña configurada",
"passwordPlaceholder": "Contraseña (mín. 8 caracteres)",
"confirmPlaceholder": "Confirmar contraseña",
"setPassword": "Establecer contraseña",
"changePassword": "Cambiar contraseña",
"removePassword": "Eliminar contraseña",
"removed": "Contraseña de cifrado eliminada",
"passwordSaved": "Contraseña de cifrado establecida",
"passwordMismatch": "Las contraseñas no coinciden",
"passwordTooShort": "La contraseña debe tener al menos 8 caracteres",
"requiresProOrOwner": "El cifrado de perfiles está disponible para usuarios Pro y propietarios de equipos.",
"validatePassword": "Validar",
"validateDialog": {
"title": "Validar contraseña de cifrado",
"description": "Introduce tu contraseña de cifrado para verificar que coincide con la almacenada en este dispositivo.",
"submit": "Validar",
"matchToast": "La contraseña es correcta",
"mismatchToast": "La contraseña no coincide"
}
},
"commercial": {
"title": "Licencia Comercial",
"trialActive": "Prueba: {{days}} días, {{hours}} horas restantes",
"trialActiveDescription": "El uso comercial es gratuito durante la prueba. Al finalizar, todas las funciones siguen funcionando — el uso personal sigue siendo gratuito, solo el uso comercial requerirá una licencia.",
"trialExpired": "Prueba expirada",
"trialExpiredDescription": "El uso personal sigue siendo gratuito. El uso comercial requiere una licencia.",
"subscriptionActive": "Suscrito — plan {{plan}}",
"subscriptionActiveDescription": "Tu suscripción a Donut Browser está activa. El uso comercial está autorizado mientras tu plan esté vigente."
},
"advanced": {
"title": "Avanzado",
"clearCache": "Limpiar Toda la Caché de Versiones",
"clearCacheDescription": "Limpia todos los datos de versiones de navegadores en caché y actualiza todas las versiones desde sus fuentes. Esto forzará una descarga nueva de información de versiones para todos los navegadores.",
"clearCacheFailed": "Error al limpiar la caché",
"copyLogs": "Copiar registros",
"openLogDir": "Abrir carpeta de registros",
"copyLogsSuccess": "Registros copiados al portapapeles",
"copyLogsDescription": "Une los archivos de registro más recientes (hasta 5 MB) en tu portapapeles para compartirlos en informes de error."
},
"disableAutoUpdates": "Desactivar Actualizaciones Automáticas de la App",
"disableAutoUpdatesDescription": "Evita que la aplicación busque e instale actualizaciones de Donut Browser automáticamente. Las actualizaciones de navegadores no se ven afectadas.",
"keepDecryptedProfilesInRam": "Mantener Perfiles Descifrados en RAM",
"keepDecryptedProfilesInRamDescription": "Conservar la copia descifrada en RAM de los perfiles protegidos por contraseña entre lanzamientos para un inicio más rápido. La copia en disco permanece cifrada en cualquier caso."
},
"header": {
"searchPlaceholder": "Buscar perfiles...",
"clearSearch": "Limpiar búsqueda",
"moreActions": "Más acciones",
"createProfile": "Crear un nuevo perfil",
"menu": {
"settings": "Configuración",
"proxies": "Proxies y VPNs",
"groups": "Grupos",
"syncService": "Cuenta",
"integrations": "Integraciones",
"importProfile": "Importar Perfil",
"extensions": "Extensiones"
},
"newProfile": "Nuevo",
"donutLogo": "Logotipo de Donut Browser",
"scrollGroupsLeft": "Desplazar grupos a la izquierda",
"scrollGroupsRight": "Desplazar grupos a la derecha"
},
"profiles": {
"title": "Perfiles",
"empty": "Sin perfiles aún",
"emptyDescription": "Crea tu primer perfil de navegador para comenzar.",
"createFirst": "Crear Perfil",
"noResults": "No se encontraron perfiles",
"noResultsDescription": "Ningún perfil coincide con tus criterios de búsqueda.",
"table": {
"name": "Nombre",
"browser": "Navegador",
"status": "Estado",
"actions": "Acciones",
"note": "Nota",
"group": "Grupo",
"proxy": "Proxy / VPN",
"lastLaunch": "Último Inicio",
"empty": "No se encontraron perfiles.",
"notSelected": "No seleccionado",
"ext": "EXT",
"dns": "DNS",
"extDefault": "Predet.",
"dnsLevel": "Lista DNS: {{level}}",
"extSearch": "Buscar grupos…",
"extEmpty": "Sin grupos de extensiones",
"cantModifyRunning": "No se puede modificar un perfil en ejecución",
"cantModifyLaunching": "No se puede modificar el perfil mientras se inicia",
"cantModifyStopping": "No se puede modificar el perfil mientras se detiene",
"cantModifyUpdating": "No se puede modificar el perfil mientras se actualiza el navegador"
},
"actions": {
"launch": "Iniciar",
"stop": "Detener",
"edit": "Editar",
"delete": "Eliminar",
"copyCookies": "Copiar Cookies",
"configure": "Configurar",
"clone": "Clonar perfil",
"viewNetwork": "Ver Red",
"syncSettings": "Configuración de Sincronización",
"assignToGroup": "Asignar a Grupo",
"changeFingerprint": "Cambiar Huella Digital",
"copyCookiesToProfile": "Copiar Cookies al Perfil",
"launchHook": "URL del hook de inicio",
"setPassword": "Establecer Contraseña",
"changePassword": "Cambiar Contraseña",
"removePassword": "Quitar Contraseña"
},
"synchronizer": {
"launchWithSync": "Lanzar con Sincronizador",
"stopLeader": "Detener este perfil y todos sus seguidores",
"stopFollower": "Siguiendo las acciones de {{leaderName}}",
"desyncedTooltip": "La sincronización falló en {{url}}",
"paidFeature": "El sincronizador es una función de pago",
"wayfernOnly": "Solo los perfiles Wayfern pueden sincronizarse",
"selectFollowers": "Seleccionar perfiles seguidores",
"selectFollowersDesc": "Elige los perfiles que replicarán las acciones del perfil líder. Solo se pueden seleccionar perfiles Wayfern detenidos.",
"leader": "Líder",
"follower": "Seguidor",
"startSession": "Iniciar sesión de sincronización",
"noFollowers": "Selecciona al menos un perfil seguidor",
"flakyBadge": "FLAKY",
"flakyTooltip": "Este perfil tiene una resolución de pantalla diferente a la del líder. El diseño de las páginas puede variar, lo que puede causar que los clics e interacciones fallen."
},
"ephemeral": "Efímero",
"ephemeralDescription": "El navegador se ve obligado a escribir los datos del perfil en memoria en lugar de en el disco. Ten en cuenta que tu sistema operativo puede pasar partes de la memoria al disco cuando hay poca RAM, por lo que aún podrían quedar rastros de la sesión recuperables.",
"ephemeralBadge": "Efímero",
"bulkDelete": {
"title": "Eliminar perfiles seleccionados",
"description": "Esta acción no se puede deshacer. Eliminará permanentemente {{count}} perfil(es) y todos los datos asociados.",
"confirmButton": "Eliminar {{count}} perfil(es)"
},
"note": {
"empty": "Sin nota",
"placeholder": "Añadir una nota..."
},
"aria": {
"profileInfo": "Información del perfil"
},
"delete": {
"title": "Eliminar perfil",
"description": "Esta acción no se puede deshacer. Eliminará permanentemente el perfil \"{{profileName}}\" y todos sus datos asociados.",
"confirmButton": "Eliminar perfil"
},
"actionBar": {
"assignToGroup": "Asignar a grupo",
"assignProxy": "Asignar proxy",
"assignExtensionGroup": "Asignar grupo de extensiones",
"copyCookies": "Copiar cookies",
"runSelected": "Ejecutar seleccionados",
"stopSelected": "Detener seleccionados",
"proRequired": "Se requiere el plan Pro para ejecución/parada masiva"
},
"passwordProtectedBadge": "Protegido por Contraseña",
"launchHook": {
"placeholder": "https://example.com/track-launch"
},
"bulkRun": {
"confirmTitle": "¿Ejecutar {{count}} perfiles?",
"confirmDescription": "Iniciar {{count}} perfiles a la vez puede consumir muchos recursos del sistema. ¿Continuar?",
"confirmButton": "Ejecutar {{count}}",
"noneToRun": "No hay perfiles seleccionados para ejecutar."
},
"bulkStop": {
"confirmTitle": "¿Detener {{count}} perfiles?",
"confirmDescription": "¿Detener {{count}} perfiles en ejecución?",
"confirmButton": "Detener {{count}}",
"noneToStop": "No hay perfiles seleccionados para detener."
}
},
"createProfile": {
"title": "Crear Nuevo Perfil",
"configureTitle": "Crear Nuevo Perfil de {{browser}}",
"antiDetect": {
"title": "Navegador Anti-Detección",
"description": "Elige un navegador con capacidades anti-detección",
"chromium": "Wayfern",
"firefox": "Camoufox",
"badge": "Navegador Anti-Detección"
},
"regular": {
"title": "Navegadores Regulares",
"description": "Elige entre navegadores regulares soportados",
"badge": "Navegador Regular"
},
"profileName": "Nombre del Perfil",
"profileNamePlaceholder": "Ingresa el nombre del perfil",
"proxy": {
"title": "Proxy / VPN",
"addProxy": "Agregar Proxy",
"noProxy": "Sin proxy / VPN",
"noProxiesAvailable": "No hay proxies o VPNs disponibles. Agrega uno para enrutar el tráfico de este perfil.",
"search": "Buscar proxies o VPN...",
"notFound": "No se encontraron proxies o VPN.",
"searchWithCountries": "Buscar proxies, VPN o países..."
},
"launchHook": {
"label": "URL del hook de inicio",
"placeholder": "https://example.com/hooks/profile-launch"
},
"version": {
"fetching": "Obteniendo versiones disponibles...",
"fetchError": "Error al obtener versiones del navegador. Por favor verifica tu conexión a internet e intenta de nuevo.",
"needsDownload": "La versión de {{browser}} ({{version}}) necesita ser descargada",
"available": "La versión de {{browser}} ({{version}}) está disponible",
"downloading": "Descargando versión de {{browser}} ({{version}})...",
"latestNeedsDownload": "La última versión ({{version}}) necesita ser descargada",
"latestAvailable": "La última versión ({{version}}) está disponible",
"latestDownloading": "Descargando versión ({{version}})...",
"upgradeAvailable": "Hay una versión más reciente ({{version}}) de {{browser}} disponible."
},
"chromiumLabel": "Chromium",
"chromiumSubtitle": "Impulsado por Wayfern",
"firefoxLabel": "Firefox",
"firefoxSubtitle": "Impulsado por Camoufox",
"camoufoxWarning": "Firefox (Camoufox) está mantenido por una organización de terceros. Para uso en producción, utilice Chromium.",
"platformUnavailable": "{{browser}} aún no está disponible en tu plataforma.",
"passwordProtect": {
"label": "Proteger este perfil con contraseña",
"description": "Cifra los datos del perfil en disco. Necesario para abrirlo."
},
"downloadingSubtitle": "Descargando…",
"browsersDownloading": "Los navegadores aún se están descargando. La creación de perfiles estará disponible cuando termine una descarga."
},
"deleteDialog": {
"title": "Eliminar Perfil",
"description": "¿Estás seguro de que deseas eliminar este perfil? Esta acción no se puede deshacer.",
"profilesTitle": "Eliminar Perfiles",
"profilesDescription": "¿Estás seguro de que deseas eliminar los perfiles seleccionados? Esta acción no se puede deshacer.",
"profilesToDelete": "Perfiles a eliminar:"
},
"proxies": {
"title": "Proxies",
"management": {
"description": "Administra tus configuraciones de proxy y VPN para reutilizarlas en los perfiles",
"tabProxies": "Proxies",
"tabVpns": "VPN",
"create": "Crear",
"loading": "Cargando proxies...",
"noneCreated": "Aún no hay proxies. Crea tu primer proxy usando el botón de arriba.",
"usage": "Uso",
"syncCol": "Sincronizar",
"syncCannotDisable": "No se puede desactivar la sincronización mientras este proxy esté en uso por perfiles sincronizados",
"enableSync": "Activar sincronización",
"disableSync": "Desactivar sincronización",
"editProxy": "Editar proxy",
"deleteProxy": "Eliminar proxy",
"cannotDelete_one": "No se puede eliminar: en uso por {{count}} perfil",
"cannotDelete_other": "No se puede eliminar: en uso por {{count}} perfiles",
"syncEnabled": "Sincronización activada",
"syncDisabled": "Sincronización desactivada",
"updateSyncFailed": "Error al actualizar la sincronización",
"deleteSuccess": "Proxy eliminado correctamente",
"deleteFailed": "Error al eliminar el proxy",
"deleteTitle": "Eliminar proxy",
"deleteDescription": "Esta acción no se puede deshacer. Se eliminará permanentemente el proxy \"{{name}}\".",
"newProxy": "Nuevo proxy",
"newVpn": "Nueva VPN",
"protocolCol": "Protocolo",
"hostPort": "Host : puerto",
"title": "Proxies y VPN"
},
"add": "Agregar Proxy",
"edit": "Editar Proxy",
"delete": "Eliminar Proxy",
"import": "Importar",
"export": "Exportar",
"noProxies": "No hay proxies configurados",
"noProxiesDescription": "Agrega un proxy para enrutar el tráfico del navegador a través de él.",
"form": {
"name": "Nombre",
"namePlaceholder": "Ingresa el nombre del proxy",
"type": "Tipo",
"host": "Host",
"hostPlaceholder": "proxy.ejemplo.com",
"port": "Puerto",
"portPlaceholder": "8080",
"username": "Usuario",
"usernamePlaceholder": "Opcional",
"password": "Contraseña",
"passwordPlaceholder": "Opcional",
"cipher": "Cifrado",
"cipherPlaceholder": "aes-256-gcm",
"nameRequired": "El nombre del proxy es obligatorio",
"hostPortRequired": "Host y puerto son obligatorios",
"ssCipherRequired": "Para Shadowsocks se requieren cifrado y contraseña",
"selectType": "Selecciona el tipo de proxy",
"saveFailed": "Error al guardar el proxy: {{error}}"
},
"types": {
"http": "HTTP",
"https": "HTTPS",
"socks4": "SOCKS4",
"socks5": "SOCKS5",
"ss": "Shadowsocks"
},
"tabs": {
"regular": "Regular",
"dynamic": "Dinámico"
},
"dynamic": {
"description": "El proxy dinámico obtiene los detalles de conexión desde una URL cada vez que se inicia un perfil.",
"url": "URL del Proxy",
"urlPlaceholder": "https://api.example.com/proxy",
"urlRequired": "La URL del proxy dinámico es obligatoria",
"format": "Formato de Respuesta",
"formatJson": "JSON",
"formatText": "Texto",
"formatJsonHint": "Espera JSON: {\"ip\": \"...\", \"port\": ..., \"username\": \"...\", \"password\": \"...\"}",
"formatTextHint": "Espera texto como: host:port:username:password o protocol://user:pass@host:port",
"testUrl": "Probar URL",
"testing": "Probando...",
"testSuccess": "Proxy funcionando: {{host}}:{{port}}",
"testFailed": "Prueba de proxy fallida: {{error}}",
"fetchFailed": "Error al obtener el proxy dinámico: {{error}}"
},
"check": {
"checking": "Verificando proxy...",
"valid": "El proxy es válido",
"invalid": "El proxy es inválido",
"lastChecked": "Última verificación: {{time}}"
},
"sync": {
"enabled": "Sincronización Habilitada",
"disabled": "Sincronización Deshabilitada"
},
"exportDialog": {
"title": "Exportar proxies",
"description": "Exporta tus configuraciones de proxy a un archivo",
"format": "Formato de exportación",
"json": "JSON",
"txt": "TXT (formato URL)",
"preview": "Vista previa",
"noProxies": "No hay proxies para exportar",
"downloaded": "{{filename}} descargado",
"failed": "Error al exportar los proxies",
"copied": "Copiado"
},
"importDialog": {
"title": "Importar proxies",
"descDropzone": "Importar proxies desde un archivo JSON o TXT",
"descPreview": "Revisa los proxies a importar",
"descAmbiguous": "Algunos proxies tienen formatos ambiguos. Selecciona el formato correcto.",
"descResult": "Importación completada",
"dropzonePrompt": "Suelta un archivo de configuración de proxy",
"dropzoneFormats": "(.json, .txt)",
"pasteHint": "Pega desde el portapapeles con {{modKey}}+V",
"wrongFileType": "Por favor, suelta un archivo .json o .txt",
"fileReadError": "Error al leer el archivo",
"fileProcessError": "Error al procesar el archivo",
"noValidProxies": "No se encontraron proxies válidos en el archivo",
"namePrefix": "Prefijo de nombre",
"namePrefixDefault": "Imported",
"namePrefixHint": "Los proxies se nombrarán \"{{prefix}} Proxy 1\", \"{{prefix}} Proxy 2\", etc.",
"proxiesToImport": "Proxies a importar ({{count}})",
"invalidCount": "({{count}} inválidos)",
"ambiguousIntro": "Los siguientes proxies tienen un formato ambiguo. Selecciona la interpretación correcta para cada uno.",
"imported": "Importados:",
"skippedDuplicates": "Omitidos (duplicados):",
"errors": "Errores",
"importButton": "Importar {{count}} proxies",
"continueButton": "Continuar",
"doneButton": "Hecho",
"failed": "Error al importar los proxies"
},
"bulkDelete": {
"proxiesTitle": "Eliminar proxies seleccionados",
"proxiesDescription": "Esta acción no se puede deshacer. Se eliminarán permanentemente {{count}} proxy(s): {{names}}.",
"vpnsTitle": "Eliminar VPN seleccionadas",
"vpnsDescription": "Esta acción no se puede deshacer. Se eliminarán permanentemente {{count}} VPN(s): {{names}}.",
"confirmButton": "Eliminar {{count}}"
}
},
"groups": {
"title": "Grupos",
"management": "Gestión de Grupos",
"add": "Agregar Grupo",
"edit": "Editar Grupo",
"delete": "Eliminar Grupo",
"moveToDefault": "Quitar perfiles del grupo",
"noGroupDescription": "Los perfiles sin grupo aparecen en el filtro «Todos».",
"assignSuccess": "Se asignaron {{count}} perfil(es) a {{group}} exitosamente",
"noGroups": "No hay grupos creados",
"noGroupsDescription": "Crea un grupo para organizar tus perfiles.",
"form": {
"name": "Nombre",
"namePlaceholder": "Ingresa el nombre del grupo"
},
"profileCount": "{{count}} perfil",
"profileCount_plural": "{{count}} perfiles",
"assignProfiles": "Asignar Perfiles",
"sync": {
"enabled": "Sincronización Habilitada",
"disabled": "Sincronización Deshabilitada"
},
"createTitle": "Crear Nuevo Grupo",
"createDescription": "Crea un nuevo grupo para organizar tus perfiles de navegador.",
"editTitle": "Editar Grupo",
"editDescription": "Actualiza el nombre de tu grupo.",
"createSuccess": "Grupo creado correctamente",
"createFailed": "Error al crear el grupo",
"updateSuccess": "Grupo actualizado correctamente",
"updateFailed": "Error al actualizar el grupo",
"deleteTitle": "Eliminar Grupo",
"deleteDescription": "Esta acción no se puede deshacer. Eliminará permanentemente el grupo.",
"deleteSuccess": "Grupo eliminado correctamente",
"deleteFailed": "Error al eliminar el grupo",
"loadingProfiles": "Cargando perfiles asociados...",
"associatedProfiles": "Perfiles Asociados ({{count}})",
"whatToDoWithProfiles": "¿Qué hacer con estos perfiles?",
"deleteAlongWithGroup": "Eliminar perfiles junto con el grupo",
"noAssociatedProfiles": "Este grupo no tiene perfiles asociados.",
"deleteGroup": "Eliminar Grupo",
"deleteGroupAndProfiles": "Eliminar Grupo y Perfiles",
"loadProfilesFailed": "Error al cargar los perfiles",
"unknownGroup": "Grupo desconocido",
"profileGroupsAriaLabel": "Grupos de perfiles",
"loading": "Cargando grupos...",
"all": "Todos",
"noGroup": "Sin grupo",
"pageTitle": "Grupos de perfiles",
"pageDescription": "Los grupos de perfiles te permiten organizar los navegadores por cliente, entorno o caso de uso. Sincroniza los grupos entre dispositivos para compartirlos."
},
"sync": {
"mode": {
"title": "Sincronización de perfil",
"description": "Gestionar configuración de sincronización para \"{{name}}\"",
"disabled": "Deshabilitado",
"regular": "Sincronización regular",
"encrypted": "Sincronización cifrada E2E",
"disabledDescription": "Sin sincronización para este perfil",
"regularDescription": "Sincronización rápida, sin cifrar",
"encryptedDescription": "Cifrado antes de subir. El servidor nunca ve los datos en texto plano.",
"noPasswordWarning": "Contraseña E2E no configurada. Por favor establece una contraseña en Ajustes.",
"passwordRequired": "Contraseña E2E no configurada. Por favor establece una contraseña en Ajustes primero.",
"enabledToast": "Sincronización habilitada",
"disabledToast": "Sincronización deshabilitada",
"syncQueued": "Sincronización en cola",
"syncNow": "Sincronizar ahora",
"lastSynced": "Última sincronización",
"notConfigured": "Servicio de sincronización no configurado.",
"configureService": "Configurar servicio de sincronización"
},
"title": "Servicio de Sincronización",
"config": {
"serverUrlRequired": "Introduce la URL del servidor",
"connectionSuccess": "¡Conexión exitosa!",
"serverError": "El servidor respondió con un error",
"connectFailed": "Error al conectar con el servidor",
"settingsSaved": "Ajustes de sincronización guardados",
"saveFailed": "Error al guardar los ajustes",
"disconnected": "Sincronización desconectada",
"disconnectFailed": "Error al desconectar"
},
"serverUrl": "URL del Servidor",
"serverUrlPlaceholder": "https://sync.ejemplo.com",
"token": "Token de Sincronización",
"tokenPlaceholder": "Ingresa tu token de sincronización",
"status": {
"connected": "Conectado",
"disconnected": "Desconectado",
"syncing": "Sincronizando...",
"error": "Error de Sincronización"
},
"description": "Conéctate a un servidor de sincronización para sincronizar tus perfiles, proxies y grupos entre dispositivos.",
"cloud": {
"tabLabel": "Nube",
"selfHostedTabLabel": "Autoalojado",
"email": "Correo electrónico",
"deviceLinkInstructions": "Haz clic en \"Iniciar sesión\" para abrir la página de inicio de sesión en tu navegador. Después de iniciar sesión allí, copia el código que se muestra y pégalo abajo.",
"openLogin": "Iniciar sesión",
"linkCodeLabel": "Código de inicio de sesión",
"linkCodePlaceholder": "Pega el código del sitio web",
"signInTitle": "Iniciar Sesión",
"verifyAndLogin": "Verificar e Iniciar Sesión",
"loggingIn": "Iniciando sesión...",
"connected": "Conectado",
"plan": "Plan",
"profiles": "Perfiles",
"profileUsage": "{{used}} / {{limit}}",
"manageAccount": "Administrar Cuenta",
"logout": "Cerrar Sesión",
"logoutConfirm": "¿Estás seguro de que deseas cerrar sesión? La sincronización en la nube se detendrá.",
"loginSuccess": "¡Sesión iniciada exitosamente!",
"logoutSuccess": "Sesión cerrada exitosamente."
},
"team": {
"title": "Equipo",
"name": "Nombre del Equipo",
"role": "Rol",
"roleOwner": "Propietario",
"roleAdmin": "Administrador",
"roleMember": "Miembro",
"manageOnWeb": "Gestionar equipo en el panel web",
"profileLocked": "En uso por {{email}}",
"profileLockedShort": "En uso",
"cannotLaunchLocked": "No se puede iniciar — el perfil está en uso por {{email}}",
"createdBy": "Creado por {{email}}"
},
"disabled": "Desactivada",
"toast": {
"profileSynced": "Perfil '{{name}}' sincronizado correctamente",
"profileSyncFailed": "Error al sincronizar el perfil '{{name}}'",
"profileSyncFailedWithError": "Error al sincronizar el perfil '{{name}}': {{error}}"
},
"enabledToast": "Sincronización activada",
"disabledToast": "Sincronización desactivada",
"enabledDescription": "Se ha activado la sincronización del perfil",
"disabledDescription": "Se ha desactivado la sincronización del perfil"
},
"integrations": {
"title": "Integraciones",
"api": {
"title": "API Local",
"description": "Habilita el servidor de API local para integraciones externas.",
"enabled": "API Habilitada",
"disabled": "API Deshabilitada",
"port": "Puerto",
"token": "Token de API",
"copyToken": "Copiar Token",
"regenerateToken": "Regenerar Token"
},
"mcp": {
"title": "Servidor MCP",
"description": "Habilita el servidor MCP (Protocolo de Contexto de Modelo) para integraciones con asistentes de IA.",
"enabled": "MCP Habilitado",
"disabled": "MCP Deshabilitado",
"port": "Puerto",
"token": "Token de autenticación",
"tokenCopied": "Token copiado",
"url": "URL del servidor MCP",
"urlCopied": "URL copiada",
"config": "Configuración MCP",
"copyConfig": "Copiar Configuración",
"clientsLabel": "Clientes",
"connected": "Conectado",
"add": "Agregar",
"addedToClient": "Agregado a {{name}}",
"removedFromClient": "Eliminado de {{name}}",
"removeAriaLabel": "Eliminar de {{name}}",
"category": {
"desktopApp": "Aplicación de escritorio",
"cli": "CLI",
"editor": "Editor",
"editorExt": "Extensión de editor"
}
},
"tabApi": "API local",
"tabMcp": "MCP (asistentes IA)",
"apiEnableLabel": "Activar servidor API local",
"apiEnableDescription": "Permite gestionar perfiles, grupos y proxies vía API REST.",
"apiPortLabel": "Puerto",
"apiTokenLabel": "Token de autenticación",
"apiTokenHint": "Incluir en cabecera Authorization: Bearer {{tokenSlot}}",
"apiInvalidPort": "Puerto inválido",
"apiInvalidPortDescription": "El puerto debe estar entre 1 y 65535",
"apiPortInUse": "El puerto {{port}} ya está en uso",
"apiFallbackPort": "Servidor iniciado en puerto alternativo {{port}}",
"apiStarted": "Servidor API iniciado en puerto {{port}}",
"apiRunning": "Servidor API ejecutándose en puerto {{port}}",
"apiStopped": "Servidor API detenido",
"apiToggleFailed": "Error al alternar el servidor API",
"apiStartFailed": "Error al iniciar el servidor API",
"apiUnknownError": "Error desconocido",
"tokenCopied": "Token copiado",
"mcpEnableLabel": "Activar servidor MCP (Model Context Protocol)",
"mcpEnableDescription": "Permite que asistentes IA como Claude Desktop controlen los navegadores.",
"mcpAcceptTermsFirst": "(Acepta primero los términos de Wayfern en Configuración)",
"mcpStarted": "Servidor MCP iniciado en puerto {{port}}",
"mcpStopped": "Servidor MCP detenido",
"mcpToggleFailed": "Error al alternar el servidor MCP",
"openSettings": "Abrir configuración de integraciones",
"apiRunningOn": "Ejecutándose en",
"apiExampleRequest": "Solicitud de ejemplo"
},
"import": {
"title": "Importar Perfil",
"description": "Importa un perfil de navegador existente de tu sistema.",
"selectProfile": "Selecciona un perfil para importar",
"noProfiles": "No se detectaron perfiles",
"noProfilesDescription": "No se detectaron perfiles de navegador en tu sistema.",
"importing": "Importando perfil...",
"success": "Perfil importado exitosamente",
"error": "Error al importar perfil"
},
"config": {
"camoufox": {
"title": "Configuración de Camoufox",
"fingerprint": {
"title": "Huella Digital",
"randomize": "Aleatorizar al Iniciar",
"randomizeDescription": "Genera una nueva huella digital cada vez que se inicia el navegador.",
"osCpuPlaceholder": "p. ej., Intel Mac OS X 10.15",
"webglRendererPlaceholder": "p. ej., llvmpipe, o similar"
},
"os": {
"title": "Sistema Operativo",
"description": "El sistema operativo a emular para la generación de huellas digitales.",
"windows": "Windows",
"macos": "macOS",
"linux": "Linux"
},
"screen": {
"title": "Tamaño de Pantalla",
"minWidth": "Ancho Mín",
"maxWidth": "Ancho Máx",
"minHeight": "Alto Mín",
"maxHeight": "Alto Máx"
},
"geoip": {
"title": "GeoIP",
"auto": "Automático (basado en proxy)",
"manual": "Manual",
"disabled": "Deshabilitado"
},
"blocking": {
"title": "Bloqueo",
"images": "Bloquear Imágenes",
"webrtc": "Bloquear WebRTC",
"webgl": "Bloquear WebGL"
}
},
"wayfern": {
"title": "Configuración de Wayfern",
"fingerprint": {
"title": "Huella Digital",
"randomize": "Aleatorizar al Iniciar",
"randomizeDescription": "Genera una nueva huella digital cada vez que se inicia el navegador.",
"platformPlaceholder": "p. ej., Win32, MacIntel, Linux x86_64",
"timezoneOffsetPlaceholder": "p. ej., 300 para EST (UTC-5)",
"webglRendererPlaceholder": "p. ej., Intel(R) HD Graphics"
},
"os": {
"title": "Sistema Operativo",
"description": "El sistema operativo a emular para la generación de huellas digitales.",
"windows": "Windows",
"macos": "macOS",
"linux": "Linux",
"android": "Android",
"ios": "iOS"
},
"screen": {
"title": "Tamaño de Pantalla",
"minWidth": "Ancho Mín",
"maxWidth": "Ancho Máx",
"minHeight": "Alto Mín",
"maxHeight": "Alto Máx"
},
"blocking": {
"title": "Bloqueo",
"webrtc": "Bloquear WebRTC",
"webgl": "Bloquear WebGL"
}
},
"shared": {
"browserBehavior": "Comportamiento del navegador",
"allowAddonsOpenTabs": "Permitir que los complementos abran nuevas pestañas automáticamente"
}
},
"cookies": {
"title": "Cookies",
"copy": {
"title": "Copiar Cookies",
"description": "Selecciona cookies para copiar a otros perfiles.",
"selectSource": "Seleccionar Perfil de Origen",
"selectTarget": "Seleccionar Perfiles de Destino",
"selectCookies": "Seleccionar Cookies",
"allDomains": "Todos los Dominios",
"selectedCount": "{{count}} cookie seleccionada",
"selectedCount_plural": "{{count}} cookies seleccionadas",
"dialogDescription_one": "Copiar cookies de un perfil de origen a {{count}} perfil seleccionado.",
"dialogDescription_other": "Copiar cookies de un perfil de origen a {{count}} perfiles seleccionados.",
"sourceProfile": "Perfil de origen",
"sourcePlaceholder": "Selecciona un perfil del que copiar cookies",
"running": "(en ejecución)",
"targetProfiles": "Perfiles de destino ({{count}})",
"noOtherTargets": "No hay otros perfiles Wayfern/Camoufox seleccionados",
"selectSourceFirst": "Selecciona primero un perfil de origen",
"selectionStatus": "({{selected}} de {{total}} seleccionadas)",
"searchPlaceholder": "Buscar dominios o cookies...",
"noMatching": "No se encontraron cookies coincidentes",
"noFound": "No se encontraron cookies",
"replaceNote": "Las cookies existentes con el mismo nombre y dominio serán reemplazadas. El resto se conservará.",
"cannotCopyRunningOne": "No se pueden copiar las cookies: {{names}} aún en ejecución",
"cannotCopyRunningMany": "No se pueden copiar las cookies: {{names}} aún en ejecución",
"someErrors": "Ocurrieron algunos errores: {{errors}}",
"successMessage": "Se copiaron {{copied}} cookies correctamente ({{replaced}} reemplazadas)",
"failedMessage": "Error al copiar las cookies: {{error}}",
"copyButton_one": "Copiar {{count}} cookie",
"copyButton_other": "Copiar {{count}} cookies",
"copyButtonEmpty": "Copiar cookies"
},
"success": "Cookies copiadas exitosamente",
"error": "Error al copiar cookies",
"management": {
"title": "Gestión de Cookies",
"menuItem": "Gestión de Cookies",
"tabImport": "Importar",
"tabExport": "Exportar",
"importDescription": "Importa cookies desde un archivo en formato Netscape o JSON.",
"dropPrompt": "Haz clic para elegir un archivo de cookies",
"fileFormats": "(.txt, .cookies o .json)",
"cookiesFound": "{{count}} cookies encontradas",
"importedSuccess": "{{imported}} cookies importadas correctamente ({{replaced}} reemplazadas)",
"linesSkipped": "{{count}} línea(s) omitidas",
"fileReadError": "Error al leer el archivo",
"loadFailed": "Error al cargar las cookies: {{error}}",
"cookiesLabel": "Cookies",
"selectionStatus": "({{selected}} de {{total}} seleccionadas)",
"selectAll": "Seleccionar todo",
"deselectAll": "Deseleccionar todo",
"noCookies": "No se encontraron cookies en este perfil",
"doneButton": "Hecho",
"importButton": "Importar",
"exportButton": "Exportar",
"backButton": "Atrás"
},
"import": {
"title": "Importar Cookies",
"description": "Importar cookies desde un archivo en formato Netscape o JSON.",
"selectFile": "Elegir Archivo",
"preview": "{{count}} cookies encontradas",
"success": "Se importaron {{imported}} cookies exitosamente ({{replaced}} reemplazadas)",
"error": "Error al importar cookies",
"proFeature": "La importación de cookies es una función Pro"
},
"export": {
"title": "Exportar Cookies",
"description": "Exportar cookies de este perfil.",
"formatLabel": "Formato",
"netscape": "Netscape TXT",
"json": "JSON",
"success": "Cookies exportadas exitosamente",
"error": "Error al exportar cookies"
}
},
"toasts": {
"success": {
"profileCreated": "Perfil creado exitosamente",
"profileDeleted": "Perfil eliminado exitosamente",
"profileUpdated": "Perfil actualizado exitosamente",
"profileLaunched": "Perfil iniciado exitosamente",
"proxyCreated": "Proxy creado exitosamente",
"proxyDeleted": "Proxy eliminado exitosamente",
"proxyUpdated": "Proxy actualizado exitosamente",
"groupCreated": "Grupo creado exitosamente",
"groupDeleted": "Grupo eliminado exitosamente",
"groupUpdated": "Grupo actualizado exitosamente",
"settingsSaved": "Configuración guardada exitosamente",
"copied": "Copiado al portapapeles",
"permissionRequested": "Acceso a {{permission}} solicitado",
"downloadComplete": "¡{{browser}} {{version}} descargado exitosamente!",
"importSuccess": "{{count}} elementos importados exitosamente",
"exportSuccess": "{{count}} elementos exportados exitosamente",
"syncSuccess": "Sincronización completada exitosamente",
"profileSynced": "Perfil '{{name}}' sincronizado exitosamente",
"cacheCleared": "Caché limpiada exitosamente"
},
"error": {
"profileCreateFailed": "Error al crear perfil",
"profileDeleteFailed": "Error al eliminar perfil",
"profileUpdateFailed": "Error al actualizar perfil",
"profileLaunchFailed": "Error al iniciar perfil",
"proxyCreateFailed": "Error al crear proxy",
"proxyDeleteFailed": "Error al eliminar proxy",
"proxyUpdateFailed": "Error al actualizar proxy",
"groupCreateFailed": "Error al crear grupo",
"groupDeleteFailed": "Error al eliminar grupo",
"groupUpdateFailed": "Error al actualizar grupo",
"settingsSaveFailed": "Error al guardar configuración",
"copyFailed": "Error al copiar al portapapeles",
"downloadFailed": "Error al descargar {{browser}}",
"importFailed": "Error al importar",
"exportFailed": "Error al exportar",
"syncFailed": "Error de sincronización",
"profileSyncFailed": "Error al sincronizar perfil '{{name}}'",
"cacheClearFailed": "Error al limpiar caché",
"unknown": "Ocurrió un error desconocido"
},
"loading": {
"downloading": "Descargando {{browser}} {{version}}",
"extracting": "Extrayendo {{browser}} {{version}}",
"verifying": "Verificando {{browser}} {{version}}",
"syncing": "Sincronizando...",
"syncingProfile": "Sincronizando perfil '{{name}}'...",
"syncingProfileWithProgress": "{{count}} archivos ({{size}})",
"updatingVersions": "Actualizando versiones de navegadores..."
},
"progress": {
"remaining": "{{time}} restante",
"filesProgress": "{{completed}}/{{total}} archivos",
"filesFailed": "{{count}} archivo(s) con error"
}
},
"errors": {
"required": "Este campo es requerido",
"invalidUrl": "Por favor ingresa una URL válida",
"invalidPort": "Por favor ingresa un número de puerto válido (1-65535)",
"invalidEmail": "Por favor ingresa un correo electrónico válido",
"minLength": "Debe tener al menos {{min}} caracteres",
"maxLength": "Debe tener como máximo {{max}} caracteres",
"networkError": "Error de red. Por favor verifica tu conexión.",
"serverError": "Error del servidor. Por favor intenta de nuevo más tarde.",
"unknownError": "Ocurrió un error desconocido. Por favor intenta de nuevo.",
"noProfilesForUrl": "No hay perfiles disponibles. Crea un perfil antes de abrir URLs.",
"updateCamoufoxConfigFailed": "Error al actualizar la configuración de camoufox: {{error}}",
"updateWayfernConfigFailed": "Error al actualizar la configuración de wayfern: {{error}}",
"createProfileFailed": "Error al crear el perfil: {{error}}",
"launchBrowserFailed": "Error al iniciar el navegador: {{error}}",
"cannotDeleteRunningProfile": "No se puede eliminar el perfil mientras el navegador esté en ejecución. Detén el navegador primero.",
"deleteProfileFailed": "Error al eliminar el perfil: {{error}}",
"renameProfileFailed": "Error al renombrar el perfil: {{error}}",
"killBrowserFailed": "Error al detener el navegador: {{error}}",
"deleteSelectedProfilesFailed": "Error al eliminar los perfiles seleccionados: {{error}}",
"cookieCopyUnsupportedBrowser": "La copia de cookies sólo funciona con perfiles Wayfern y Camoufox",
"updateSyncSettingsFailed": "Error al actualizar los ajustes de sincronización",
"cloneProfileFailed": "Error al clonar el perfil: {{error}}",
"loadSupportedBrowsersFailed": "Error al cargar los navegadores compatibles",
"setupExtensionListenersFailed": "Error al configurar los listeners de eventos de extensiones: {{error}}",
"loadGroupsFailed": "Error al cargar los grupos: {{error}}",
"setupGroupListenersFailed": "Error al configurar los listeners de eventos de grupos: {{error}}",
"loadProfilesFailed": "Error al cargar los perfiles: {{error}}",
"setupProfileListenersFailed": "Error al configurar los listeners de eventos de perfiles: {{error}}",
"loadProxiesFailed": "Error al cargar los proxies: {{error}}",
"setupProxyListenersFailed": "Error al configurar los listeners de eventos de proxies: {{error}}",
"loadVpnConfigsFailed": "Error al cargar las configuraciones de VPN: {{error}}",
"setupVpnListenersFailed": "Error al configurar los listeners de eventos de VPN: {{error}}",
"themeNotFound": "Tema Tokyo Night no encontrado",
"setProfilePasswordFailed": "Error al establecer la contraseña del perfil: {{error}}"
},
"browser": {
"camoufox": "Camoufox",
"wayfern": "Wayfern"
},
"fingerprint": {
"crossOsWarning": "La suplantación de huella digital para un sistema operativo diferente es menos fiable porque es imposible imitar perfectamente todos los componentes subyacentes. Usar con precaución.",
"crossOsLimitations": "La suplantación de huella digital entre sistemas operativos tiene limitaciones. Las APIs a nivel de sistema pueden seguir reflejando su sistema operativo real y algunas funciones pueden tener un rendimiento reducido.",
"osLabel": "Huella digital del sistema operativo",
"selectOSPlaceholder": "Seleccionar sistema operativo",
"generateRandomOnLaunch": "Generar huella digital aleatoria en cada inicio",
"generateRandomDescription": "Cuando está activado, se generará una nueva huella digital cada vez que se inicie el navegador.",
"generateRandomDescriptionAuto": "Cuando está activado, se generará una nueva huella digital cada vez que se inicie el navegador. La huella digital generada se guarda como referencia.",
"autoLocationDescription": "Configurar automáticamente la información de ubicación basándose en la configuración del proxy o en su conexión si no se proporciona un proxy",
"editingDisabledRunning": "La edición de huellas digitales está desactivada porque el perfil se está ejecutando actualmente. Detenga el perfil para realizar cambios.",
"editingDisabledRandomized": "La edición de huellas digitales está desactivada porque la generación aleatoria de huellas digitales está activada. Desactive la opción anterior para editar manualmente la configuración de la huella digital.",
"advancedWarning": "Advertencia: Solo edite estos parámetros si sabe lo que está haciendo. Los valores incorrectos pueden romper sitios web, hacer que lo detecten y provocar errores difíciles de depurar.",
"basicWarning": "Advertencia: Solo edite estos parámetros si sabe lo que está haciendo.",
"automatic": "Automático",
"manual": "Manual",
"blockingOptions": "Opciones de bloqueo",
"blockImages": "Bloquear imágenes",
"blockWebRTC": "Bloquear WebRTC",
"blockWebGL": "Bloquear WebGL",
"navigatorProperties": "Propiedades del navegador",
"userAgent": "Agente de usuario",
"userAgentAndPlatform": "User Agent y plataforma",
"platform": "Plataforma",
"platformVersion": "Versión de plataforma",
"appVersion": "Versión de la aplicación",
"osCpu": "CPU del SO",
"hardwareConcurrency": "Concurrencia de hardware",
"maxTouchPoints": "Puntos táctiles máximos",
"doNotTrack": "No rastrear",
"selectDntPlaceholder": "Seleccionar valor DNT",
"dntAllowed": "0 (rastreo permitido)",
"dntNotAllowed": "1 (rastreo no permitido)",
"dntUnspecified": "no especificado",
"language": "Idioma",
"primaryLanguage": "Idioma principal (navigator.language)",
"languages": "Idiomas (JSON array)",
"languageAndLocale": "Idioma y configuración regional",
"screenProperties": "Propiedades de pantalla",
"screenWidth": "Ancho de pantalla",
"screenHeight": "Alto de pantalla",
"availableWidth": "Ancho disponible",
"availableHeight": "Alto disponible",
"colorDepth": "Profundidad de color",
"pixelDepth": "Profundidad de píxel",
"devicePixelRatio": "Relación de píxeles del dispositivo",
"windowProperties": "Propiedades de ventana",
"outerWidth": "Ancho exterior",
"outerHeight": "Alto exterior",
"innerWidth": "Ancho interior",
"innerHeight": "Alto interior",
"screenX": "Pantalla X",
"screenY": "Pantalla Y",
"geolocation": "Geolocalización",
"timezoneAndGeolocation": "Zona horaria y geolocalización",
"timezoneGeolocationDescription": "Estos valores anulan las APIs de zona horaria y geolocalización del navegador.",
"latitude": "Latitud",
"longitude": "Longitud",
"timezone": "Zona horaria",
"timezoneIana": "Zona horaria (IANA)",
"timezoneOffset": "Desfase (minutos desde UTC)",
"accuracy": "Precisión (metros)",
"locale": "Configuración regional",
"region": "Región",
"script": "Script",
"webglProperties": "Propiedades de WebGL",
"webglVendor": "Proveedor WebGL",
"webglRenderer": "Renderizador WebGL",
"webglParameters": "Parámetros de WebGL",
"webglParametersJson": "Parámetros de WebGL (JSON)",
"webgl2Parameters": "Parámetros de WebGL2",
"webglShaderPrecisionFormats": "Formatos de precisión de shader WebGL",
"webgl2ShaderPrecisionFormats": "Formatos de precisión de shader WebGL2",
"canvasFingerprint": "Canvas Fingerprint",
"canvasNoiseSeed": "Semilla de ruido de Canvas",
"canvasNoiseSeedDescription": "Esta semilla se usa para generar una huella digital de Canvas consistente pero única. Cada perfil debe tener una semilla diferente.",
"fonts": "Fuentes",
"fontsJson": "Fuentes (JSON array)",
"battery": "Batería",
"charging": "Cargando",
"chargingTime": "Tiempo de carga",
"dischargingTime": "Tiempo de descarga",
"batteryLevel": "Nivel (0-1)",
"screenResolution": "Resolución de pantalla",
"maxWidth": "Ancho máximo",
"maxHeight": "Alto máximo",
"minWidth": "Ancho mínimo",
"minHeight": "Alto mínimo",
"hardwareProperties": "Propiedades de hardware",
"deviceMemory": "Memoria del dispositivo (GB)",
"audioProperties": "Propiedades de audio",
"sampleRate": "Frecuencia de muestreo",
"maxChannelCount": "Número máximo de canales",
"vendorInfo": "Información del proveedor",
"vendor": "Proveedor",
"vendorSub": "Proveedor Sub",
"productSub": "Producto Sub",
"brand": "Marca",
"brandVersion": "Versión de marca",
"proFeature": "Esta es una función Pro",
"generateFingerprint": "Generar Huella Digital",
"refreshFingerprint": "Actualizar Huella Digital",
"canvasNoiseSeedPlaceholder": "Introduce una semilla para la huella digital del canvas",
"addFontsPlaceholder": "Agregar fuentes...",
"enterAsJson": "Ingresa {{title}} como JSON"
},
"warnings": {
"windowResizeTitle": "Dimensiones de ventana personalizadas",
"windowResizeDescription": "Cambiar las dimensiones de la ventana del navegador puede aumentar la posibilidad de que los sitios web detecten que la información del navegador está falsificada.",
"windowResizeCamoufoxTitle": "Viewport bloqueado por Camoufox",
"windowResizeCamoufoxDescription": "Camoufox bloquea el viewport a las dimensiones de pantalla falsificadas para anti-fingerprinting. Redimensionar la ventana puede causar áreas recortadas o grises. Este es el comportamiento esperado.",
"dontShowAgain": "No mostrar esto de nuevo",
"continue": "Continuar",
"cancel": "Cancelar"
},
"syncAll": {
"title": "Activar sincronización para elementos existentes",
"description": "Tienes elementos que no se están sincronizando. ¿Te gustaría activar la sincronización para todos?",
"enableAll": "Activar todos",
"skip": "Omitir",
"success": "Sincronización activada para todos los elementos",
"labels": {
"proxies": "Proxies",
"vpns": "VPN",
"groups": "Grupos",
"extensions": "Extensiones",
"extensionGroups": "Grupos de extensiones"
}
},
"crossOs": {
"viewOnly": "Este perfil fue creado en {{os}} y no es compatible con este sistema",
"cannotLaunch": "Este perfil fue creado en {{os}} y no es compatible con este sistema",
"cannotModify": "No se pueden modificar los ajustes de sincronización de un perfil de otro sistema operativo"
},
"profileInfo": {
"title": "Detalles del Perfil",
"tabs": {
"info": "Info",
"settings": "Configuración"
},
"fields": {
"profileId": "ID del Perfil",
"browser": "Navegador",
"releaseType": "Tipo de Versión",
"proxyVpn": "Proxy / VPN",
"launchHook": "Hook de inicio",
"group": "Grupo",
"tags": "Etiquetas",
"note": "Nota",
"syncStatus": "Estado de Sincronización",
"lastLaunched": "Último Lanzamiento",
"hostOs": "SO Host",
"ephemeral": "Efímero",
"extensionGroup": "Grupo de Extensiones",
"totalSessions": "Sesiones totales",
"syncMode": "Modo de sinc.",
"proxy": "PROXY",
"vpn": "VPN",
"cookieCount": "Cookies guardadas",
"localDataTransfer": "Transferencia de datos local"
},
"values": {
"none": "Ninguno",
"never": "Nunca",
"copied": "¡Copiado!",
"yes": "Sí",
"activeNow": "Activo ahora",
"direct": "Directa",
"loading": "Cargando…"
},
"network": {
"bypassRules": "Reglas de Omisión de Proxy",
"bypassRulesTitle": "Reglas de Omisión de Proxy",
"bypassRulesDescription": "Las solicitudes que coincidan con estas reglas se conectarán directamente, omitiendo el proxy.",
"addRule": "Agregar Regla",
"rulePlaceholder": "ej. example.com, 192.168.1.*, .*\\.local",
"noRules": "No hay reglas de omisión configuradas.",
"ruleTypes": "Soporta nombres de host, direcciones IP y patrones regex.",
"vpnLabel": "VPN: {{name}}",
"proxyLabel": "Proxy: {{name}}"
},
"launchHook": {
"title": "URL del hook de inicio",
"label": "URL del hook de inicio",
"description": "Donut Browser enviará una solicitud GET a esta URL cada vez que se inicie el perfil.",
"placeholder": "https://example.com/hooks/profile-launch",
"invalidUrlHint": "Introduce una URL válida http:// o https://."
},
"actions": {
"manageCookies": "Administrar Cookies",
"assignExtensionGroup": "Asignar Grupo de Extensiones"
},
"clone": {
"title": "Clonar Perfil",
"description": "Ingrese un nombre para el perfil clonado",
"namePlaceholder": "Nombre del perfil",
"button": "Clonar"
},
"duplicate": "Duplicar",
"breadcrumbRoot": "Perfil",
"openDialog": "Abrir ajustes",
"sections": {
"overview": "Resumen",
"fingerprint": "Huella digital",
"network": "Red",
"cookies": "Cookies",
"extensions": "Extensiones",
"sync": "Sincronización",
"automation": "Automatización",
"security": "Seguridad",
"delete": "Eliminar perfil",
"activity": "Actividad",
"launchHook": "Hook de inicio"
},
"sectionDesc": {
"fingerprint": "Configura cómo aparece este perfil para los scripts de fingerprinting.",
"network": "Administra el proxy o la VPN que usa este perfil.",
"cookies": "Importa, copia o borra cookies de este perfil.",
"extensions": "Elige las extensiones que se cargan con este perfil.",
"sync": "Configura cómo se replica este perfil entre tus dispositivos.",
"automation": "Ejecuta un comando o script al iniciar este perfil.",
"security": "Cifra los datos del perfil con una contraseña.",
"launchHook": "Envía una solicitud GET a esta URL cada vez que se inicie el perfil."
},
"badges": {
"locked": "BLOQUEADO",
"active": "ACTIVO"
},
"cookies": {
"runningNotice": "No se pueden leer las cookies mientras el navegador está en ejecución. Cierra este perfil primero.",
"domainsHeader": "Dominios ({{count}})"
},
"security": {
"protected": "Este perfil está cifrado con una contraseña.",
"unprotected": "Este perfil no está cifrado. Establece una contraseña para cifrar sus datos.",
"cannotWhileRunning": "Detén el perfil antes de cambiar su contraseña."
},
"fingerprint": {
"notSupported": "La edición de huellas digitales solo está disponible para perfiles Camoufox y Wayfern.",
"lockedTitle": "Ver y editar la huella digital es una función Pro",
"lockedDescription": "La protección de huella digital está incluida en todos los planes. Ver y editar los valores de la huella digital de un perfil es lo que requiere un plan de pago activo."
},
"syncStatusValue": {
"waiting": "Esperando",
"syncing": "Sincronizando",
"synced": "Sincronizado",
"error": "Error"
}
},
"extensions": {
"title": "Extensiones",
"description": "Administra extensiones de navegador y grupos de extensiones para tus perfiles.",
"upload": "Subir",
"delete": "Eliminar",
"extensionsTab": "Extensiones",
"groupsTab": "Grupos",
"managedNotice": "Las extensiones administradas aquí reemplazarán cualquier extensión instalada manualmente en los perfiles al iniciarlos.",
"proRequired": "La gestión de extensiones es una función Pro",
"empty": "No se han subido extensiones aún.",
"noGroups": "No se han creado grupos de extensiones aún.",
"createGroup": "Crear Grupo",
"newGroup": "Nuevo grupo",
"addToGroup": "Agregar extensión...",
"removeFromGroup": "Eliminar del grupo",
"deleteGroup": "Eliminar grupo",
"extensionGroup": "Grupo de Extensiones",
"compatibility": {
"label": "Compatibilidad",
"chromium": "Chromium",
"firefox": "Firefox",
"both": "Chromium y Firefox"
},
"selectedFile": "Archivo seleccionado",
"namePlaceholder": "Nombre de la extensión",
"groupNamePlaceholder": "Nombre del grupo",
"uploadSuccess": "Extensión subida exitosamente",
"deleteSuccess": "Extensión eliminada exitosamente",
"groupCreateSuccess": "Grupo de extensiones creado exitosamente",
"groupUpdateSuccess": "Grupo de extensiones actualizado exitosamente",
"groupDeleteSuccess": "Grupo de extensiones eliminado exitosamente",
"deleteConfirmTitle": "Eliminar Extensión",
"deleteConfirmDescription": "¿Estás seguro de que deseas eliminar \"{{name}}\"? Esta acción no se puede deshacer.",
"deleteGroupConfirmTitle": "Eliminar Grupo de Extensiones",
"deleteGroupConfirmDescription": "¿Estás seguro de que deseas eliminar el grupo \"{{name}}\"? Esta acción no se puede deshacer.",
"invalidFileType": "Tipo de archivo no válido. Suba un archivo .crx, .xpi o .zip.",
"readError": "No se pudo leer el archivo de extensión.",
"assignTitle": "Asignar Grupo de Extensiones",
"assignDescription": "Asignar {{count}} perfil(es) seleccionado(s) a un grupo de extensiones.",
"noGroup": "Ninguno (Sin Grupo de Extensiones)",
"assignSuccess": "Grupo de extensiones asignado exitosamente",
"editExtension": "Editar extensión",
"updateSuccess": "Extensión actualizada exitosamente",
"reupload": "Re-subir",
"version": "Versión",
"author": "Autor",
"homepage": "Página de inicio",
"editGroup": "Editar grupo",
"editGroupDescription": "Actualiza el nombre del grupo y gestiona qué extensiones están incluidas.",
"groupExtensions": "Extensiones en este grupo",
"noExtensionsInGroup": "Aún no se han añadido extensiones",
"editExtensionDescription": "Actualizar el nombre de la extensión, ver metadatos o volver a cargar el archivo de extensión.",
"metadata": "Metadatos",
"noMetadata": "No hay metadatos disponibles del manifiesto.",
"selectFile": "Elegir archivo",
"syncEnabled": "Sincronización habilitada",
"syncDisabled": "Sincronización deshabilitada",
"syncEnableTooltip": "Habilitar sincronización",
"syncDisableTooltip": "Deshabilitar sincronización",
"loadGroupsFailed": "Error al cargar grupos de extensiones",
"assignGroupFailed": "Error al asignar grupo de extensiones",
"bulkDelete": {
"extensionsTitle": "Eliminar extensiones",
"extensionsDescription": "¿Eliminar {{count}} extensiones? {{names}}",
"groupsTitle": "Eliminar grupos de extensiones",
"groupsDescription": "¿Eliminar {{count}} grupos de extensiones? {{names}}",
"confirmButton": "Eliminar"
}
},
"pro": {
"badge": "PRO",
"fingerprintLocked": "La edición de huellas digitales es una función Pro",
"cookieCopyLocked": "La copia de cookies es una función Pro",
"cookieImportLocked": "La importación de cookies es una función Pro",
"cookieExportLocked": "La exportación de cookies es una función Pro",
"cookieManagementLocked": "La gestión de cookies es una función Pro"
},
"dnsBlocklist": {
"title": "Lista de bloqueo DNS",
"none": "Ninguno",
"light": "Ligero",
"normal": "Normal",
"pro": "Pro",
"proPlus": "Pro++",
"ultimate": "Definitivo",
"settingsDescription": "Las listas de bloqueo DNS bloquean anuncios, rastreadores y dominios de malware a nivel de proxy. Las listas se actualizan automáticamente cada 12 horas.",
"manageLists": "Gestionar listas de bloqueo DNS",
"refreshAll": "Actualizar todas las listas",
"refreshFailed": "Error al actualizar las listas de bloqueo DNS",
"domains": "dominios",
"fresh": "Actualizado",
"stale": "Desactualizado",
"notCached": "Sin caché"
},
"vpns": {
"form": {
"titleEdit": "Editar VPN",
"titleCreate": "Crear VPN WireGuard",
"descEdit": "Actualiza el nombre de tu configuración VPN.",
"descCreate": "Introduce los detalles de la interfaz y el par de WireGuard.",
"name": "Nombre",
"namePlaceholder": "p. ej. WireGuard Casa",
"privateKey": "Clave Privada",
"privateKeyPlaceholder": "Clave privada codificada en Base64",
"address": "Dirección",
"addressPlaceholder": "p. ej. 10.0.0.2/24",
"dnsOptional": "DNS (opcional)",
"dnsPlaceholder": "p. ej. 1.1.1.1",
"mtuOptional": "MTU (opcional)",
"mtuPlaceholder": "p. ej. 1420",
"peerPublicKey": "Clave Pública del Par",
"peerPublicKeyPlaceholder": "Clave pública del par codificada en Base64",
"peerEndpoint": "Endpoint del Par",
"peerEndpointPlaceholder": "p. ej. vpn.example.com:51820",
"allowedIps": "IPs Permitidas",
"allowedIpsPlaceholder": "p. ej. 0.0.0.0/0, ::/0",
"keepaliveOptional": "Keepalive Persistente (opcional)",
"keepalivePlaceholder": "p. ej. 25",
"presharedKeyOptional": "Clave Precompartida (opcional)",
"presharedKeyPlaceholder": "Clave precompartida codificada en Base64",
"updateButton": "Actualizar VPN",
"createButton": "Crear VPN",
"nameRequired": "El nombre de la VPN es obligatorio",
"privateKeyRequired": "La clave privada es obligatoria",
"addressRequired": "La dirección es obligatoria",
"peerPublicKeyRequired": "La clave pública del par es obligatoria",
"peerEndpointRequired": "El endpoint del par es obligatorio",
"updated": "VPN actualizada correctamente",
"created": "VPN WireGuard creada correctamente",
"updateFailed": "Error al actualizar la VPN: {{error}}",
"createFailed": "Error al crear la VPN: {{error}}"
},
"import": {
"title": "Importar Configuración VPN",
"descDropzone": "Importa un archivo de configuración WireGuard (.conf)",
"descPreview": "Revisa la configuración VPN a importar",
"descResult": "Importación VPN completada",
"dropzonePrompt": "Suelta un archivo .conf de WireGuard aquí o haz clic para buscar",
"pasteHint": "Pegar desde el portapapeles con {{modKey}}+V",
"invalidContent": "El contenido no parece ser una configuración VPN válida",
"fileReadError": "Error al leer el archivo",
"wrongFileType": "Suelta un archivo .conf de WireGuard",
"configurationLabel": "Configuración {{type}}",
"endpointLabel": "Endpoint: {{endpoint}}",
"vpnNameLabel": "Nombre de la VPN",
"vpnNamePlaceholder": "Mi VPN",
"configPreview": "Vista Previa de la Configuración",
"importedSuccess": "VPN Importada Correctamente",
"importFailed": "Importación Fallida",
"importButton": "Importar VPN",
"doneButton": "Listo",
"failedGeneric": "Error al importar la configuración de VPN",
"defaultName": "VPN {{type}}"
},
"management": {
"loading": "Cargando VPN...",
"noneCreated": "Aún no hay configuraciones de VPN. Importa o crea una usando los botones de arriba.",
"editVpn": "Editar VPN",
"deleteVpn": "Eliminar VPN",
"cannotDelete_one": "No se puede eliminar: en uso por {{count}} perfil",
"cannotDelete_other": "No se puede eliminar: en uso por {{count}} perfiles",
"syncCannotDisable": "No se puede desactivar la sincronización mientras esta VPN esté en uso por perfiles sincronizados",
"deleteSuccess": "VPN eliminada correctamente",
"deleteFailed": "Error al eliminar la VPN",
"deleteTitle": "Eliminar VPN",
"deleteDescription": "Esta acción no se puede deshacer. Se eliminará permanentemente la VPN \"{{name}}\"."
}
},
"importProfile": {
"title": "Importar perfil de navegador",
"autoDetect": "Detección automática",
"manualImport": "Importación manual",
"detectedProfilesTitle": "Perfiles de navegador detectados",
"scanning": "Buscando perfiles de navegador...",
"noneFound": "No se encontraron perfiles de navegador en tu sistema.",
"noneFoundHint": "Prueba la importación manual si tienes perfiles en ubicaciones personalizadas.",
"selectProfile": "Seleccionar perfil:",
"selectProfilePlaceholder": "Elige un perfil detectado",
"pathLabel": "Ruta:",
"browserLabel": "Navegador:",
"newProfileName": "Nombre del nuevo perfil:",
"newProfileNamePlaceholder": "Introduce un nombre para el perfil importado",
"manualTitle": "Importación manual de perfil",
"browserType": "Tipo de navegador:",
"loadingBrowsers": "Cargando navegadores...",
"selectBrowserType": "Selecciona el tipo de navegador",
"profileFolderPath": "Ruta de la carpeta del perfil:",
"profileFolderPlaceholder": "Introduce la ruta completa a la carpeta del perfil",
"browseFolderTitle": "Buscar carpeta",
"examplePaths": "Rutas de ejemplo:",
"selectFolderTitle": "Seleccionar carpeta de perfil",
"folderDialogFailed": "Error al abrir el diálogo de carpeta",
"detectFailed": "Error al detectar los perfiles de navegador existentes",
"fillFields": "Por favor, completa todos los campos",
"selectAndName": "Selecciona un perfil y proporciona un nombre",
"profileNotFound": "Perfil seleccionado no encontrado",
"importedSuccess": "Perfil \"{{name}}\" importado correctamente",
"notInstalled": "{{browser}} no está instalado. Por favor descarga {{browser}} primero desde la ventana principal y luego intenta importar de nuevo.",
"importFailed": "Error al importar el perfil: {{error}}",
"proxyOptional": "Proxy (Opcional)",
"noProxy": "Sin proxy",
"nextButton": "Siguiente",
"importButton": "Importar",
"importedAs": "Este perfil se importará como un perfil de {{browser}}."
},
"syncTooltips": {
"syncing": "Sincronizando...",
"syncedAt": "Sincronizado {{time}}",
"synced": "Sincronizado",
"waiting": "En espera de sincronización",
"errorWith": "Error de sincronización: {{error}}",
"error": "Error de sincronización",
"notSynced": "Sin sincronizar",
"enable": "Activar sincronización",
"disable": "Desactivar sincronización",
"lockedInUse": "La sincronización está bloqueada mientras un perfil sincronizado lo use",
"bulkToggle": "Alternar sincronización"
},
"groupManagement": {
"description": "Administra tus grupos de perfiles",
"createGroup": "Crear grupo",
"noGroups": "Aún no hay grupos. Crea tu primer grupo usando el botón de arriba.",
"loading": "Cargando grupos...",
"profileCount_one": "{{count}} perfil",
"profileCount_other": "{{count}} perfiles",
"groupsLabel": "Grupos",
"profilesCol": "Perfiles",
"syncCannotDisable": "No se puede desactivar la sincronización mientras este grupo esté en uso por perfiles sincronizados",
"editGroupTooltip": "Editar grupo",
"deleteGroupTooltip": "Eliminar grupo",
"loadFailed": "Error al cargar los grupos",
"bulkDelete": {
"title": "Eliminar grupos",
"description": "¿Estás seguro de que quieres eliminar {{count}} grupos? {{names}}. Los perfiles se moverán a Predeterminado.",
"description_one": "¿Estás seguro de que quieres eliminar {{count}} grupo? {{names}}. Los perfiles se moverán a Predeterminado.",
"confirmButton": "Eliminar grupos"
}
},
"proxyAssignment": {
"title": "Asignar proxy / VPN",
"description_one": "Asigna un proxy o VPN a {{count}} perfil seleccionado.",
"description_other": "Asigna un proxy o VPN a {{count}} perfiles seleccionados.",
"selectLabel": "Proxy / VPN",
"placeholder": "Selecciona un proxy o VPN",
"noProxy": "Sin proxy / VPN",
"searchPlaceholder": "Buscar proxies o VPN...",
"notFound": "No se encontraron proxies ni VPN.",
"assignButton": "Asignar",
"success": "Proxy/VPN asignado correctamente a {{count}} perfil(es)",
"failed": "Error al asignar proxy/VPN",
"selectedProfilesLabel": "Perfiles seleccionados:",
"assignProxyVpnLabel": "Asignar proxy / VPN:",
"noneOption": "Ninguno",
"noValidProfiles": "No hay perfiles válidos seleccionados.",
"vpnGroupHeading": "VPN",
"failedFallback": "Error al asignar proxy/VPN a los perfiles"
},
"groupAssignment": {
"title": "Asignar grupo",
"description_one": "Asigna un grupo a {{count}} perfil seleccionado.",
"description_other": "Asigna un grupo a {{count}} perfiles seleccionados.",
"selectLabel": "Grupo",
"placeholder": "Selecciona un grupo",
"noGroup": "Sin grupo (Predeterminado)",
"assignButton": "Asignar",
"success": "Grupo asignado correctamente a {{count}} perfil(es)",
"failed": "Error al asignar grupo",
"selectedProfilesLabel": "Perfiles seleccionados:",
"assignGroupLabel": "Asignar a grupo:",
"noValidProfiles": "No hay perfiles válidos seleccionados.",
"failedFallback": "Error al asignar grupo a los perfiles"
},
"profileSelector": {
"title": "Seleccionar perfil",
"description": "Elige un perfil para abrir con esta URL",
"searchPlaceholder": "Buscar perfiles...",
"noProfiles": "No hay perfiles disponibles",
"noResults": "Ningún perfil coincide con tu búsqueda",
"selectButton": "Seleccionar",
"launching": "Abriendo...",
"chooseProfileTitle": "Elegir perfil",
"openingUrl": "Abriendo URL:",
"urlCopied": "¡URL copiada al portapapeles!",
"selectProfileLabel": "Seleccionar perfil:",
"noneAvailableShort": "No hay perfiles disponibles. Crea un perfil primero.",
"noneAvailableLong": "Cierra este diálogo y crea un perfil desde la ventana principal para empezar.",
"chooseAProfile": "Elige un perfil",
"badgeProxy": "Proxy",
"badgeRunning": "En ejecución",
"badgeUnavailable": "No disponible",
"openButton": "Abrir"
},
"locationProxy": {
"title": "Proxy rápido por ubicación",
"description": "Elige un país por el que enrutar este perfil. Se creará un proxy automáticamente.",
"country": "País",
"selectCountry": "Selecciona un país",
"searchCountry": "Buscar país...",
"noCountriesFound": "No se encontraron países.",
"apply": "Aplicar",
"creating": "Creando proxy...",
"success": "Proxy de ubicación aplicado",
"failed": "Error al aplicar el proxy de ubicación",
"titleCreate": "Crear proxy por ubicación",
"descriptionCreate": "Crea un proxy geolocalizado con una sesión persistente de 24 horas",
"countryLabel": "País (obligatorio)",
"regionLabel": "Región (opcional)",
"cityLabel": "Ciudad (opcional)",
"ispLabel": "ISP (opcional)",
"nameLabel": "Nombre",
"namePlaceholder": "Nombre del proxy",
"loadingCountries": "Cargando países...",
"selectCountryPh": "Selecciona país",
"searchCountries": "Buscar países...",
"loadFailed": "Error al cargar los países",
"selectCountryFirst": "Selecciona primero un país",
"loadingRegions": "Cargando regiones...",
"noRegions": "No hay regiones disponibles",
"selectRegion": "Selecciona región",
"searchRegions": "Buscar regiones...",
"loadingCities": "Cargando ciudades...",
"noCities": "No hay ciudades disponibles",
"selectCity": "Selecciona ciudad",
"searchCities": "Buscar ciudades...",
"loadingIsps": "Cargando ISP...",
"noIsps": "No hay ISP disponibles",
"selectIsp": "Selecciona ISP",
"searchIsps": "Buscar ISP...",
"createSuccess": "Proxy de ubicación creado",
"createFailed": "Error al crear el proxy de ubicación",
"creatingButton": "Creando...",
"createButton": "Crear"
},
"wayfernTerms": {
"title": "Términos y condiciones de Wayfern",
"description": "Antes de usar Donut Browser, debes leer y aceptar los Términos y Condiciones de Wayfern.",
"reviewLabel": "Por favor, revisa los Términos y Condiciones en:",
"agreeNotice": "Al hacer clic en \"Acepto\", aceptas estos términos.",
"acceptButton": "Acepto",
"acceptSuccess": "Términos aceptados correctamente",
"acceptFailed": "Error al aceptar los términos",
"tryAgain": "Por favor, inténtalo de nuevo"
},
"commercialTrial": {
"title": "Periodo de prueba comercial expirado",
"description": "Tu periodo de prueba comercial de 2 semanas ha terminado.",
"body": "Si usas Donut Browser con fines comerciales, debes adquirir una licencia comercial para continuar. Puedes seguir usándolo de forma personal gratis.",
"understandButton": "Entendido",
"failed": "Error al guardar el reconocimiento",
"tryAgain": "Por favor, inténtalo de nuevo"
},
"permissionDialog": {
"titleMicrophone": "Se requiere acceso al micrófono",
"titleCamera": "Se requiere acceso a la cámara",
"descMicrophone": "Donut Browser necesita acceso a tu micrófono para activar la funcionalidad de micrófono en los navegadores. Cada sitio web que quiera usar tu micrófono te lo pedirá individualmente.",
"descCamera": "Donut Browser necesita acceso a tu cámara para activar la funcionalidad de cámara en los navegadores. Cada sitio web que quiera usar tu cámara te lo pedirá individualmente.",
"grantedMicrophone": "¡Permiso concedido! Los navegadores lanzados desde Donut Browser ya pueden acceder a tu micrófono.",
"grantedCamera": "¡Permiso concedido! Los navegadores lanzados desde Donut Browser ya pueden acceder a tu cámara.",
"notGrantedMicrophone": "Permiso no concedido. Haz clic en el botón para solicitar acceso a tu micrófono.",
"notGrantedCamera": "Permiso no concedido. Haz clic en el botón para solicitar acceso a tu cámara.",
"doneButton": "Hecho",
"cancelButton": "Cancelar",
"grantAccessButton": "Conceder acceso",
"requestSuccessMicrophone": "Acceso al micrófono solicitado",
"requestSuccessCamera": "Acceso a la cámara solicitado",
"requestFailed": "Error al solicitar el permiso",
"stillNotGrantedMicrophone": "El acceso al micrófono aún no se ha concedido. Puede que tengas que habilitarlo manualmente en Configuración del Sistema → Privacidad y Seguridad → Micrófono.",
"stillNotGrantedCamera": "El acceso a la cámara aún no se ha concedido. Puede que tengas que habilitarlo manualmente en Configuración del Sistema → Privacidad y Seguridad → Cámara.",
"grantedToastMicrophone": "Acceso al micrófono concedido",
"grantedToastCamera": "Acceso a la cámara concedido"
},
"traffic": {
"title": "Detalles de tráfico",
"bandwidthOverTime": "Ancho de banda en el tiempo",
"timePeriodPlaceholder": "Periodo",
"last1m": "Último 1 min",
"last5m": "Últimos 5 min",
"last30m": "Últimos 30 min",
"last1h": "Última 1 hora",
"last2h": "Últimas 2 horas",
"last4h": "Últimas 4 horas",
"last1d": "Último día",
"last7d": "Últimos 7 días",
"last30d": "Últimos 30 días",
"allTime": "Todo el tiempo",
"allTimeShort": "todo el tiempo",
"totalSuffix": "total",
"sentLabel": "Enviado ({{period}})",
"receivedLabel": "Recibido ({{period}})",
"requestsLabel": "Solicitudes ({{period}})",
"allTimeTraffic": "Tráfico total:",
"allTimeRequests": "Solicitudes totales:",
"proxyDisclaimer": "Nota: Si usas un proxy, VPN o servicio similar, tu proveedor podría calcular el tráfico de forma diferente debido a la sobrecarga de cifrado y diferencias de protocolo.",
"topByTraffic": "Principales dominios por tráfico ({{period}})",
"topByRequests": "Principales dominios por solicitudes ({{period}})",
"columnDomain": "Dominio",
"columnRequests": "Solicitudes",
"columnSent": "Enviado",
"columnReceived": "Recibido",
"columnTotal": "Tráfico total",
"uniqueIps": "IPs únicas ({{count}})",
"noData": "No hay datos de tráfico disponibles para este perfil.",
"noDataHint": "Los datos de tráfico aparecerán cuando lances el perfil.",
"sentLegend": "Enviado",
"receivedLegend": "Recibido",
"tooltipSent": "↑ Enviado: ",
"tooltipReceived": "↓ Recibido: "
},
"camoufoxDialog": {
"titleView": "Ver configuración de huella - {{name}} ({{browser}})",
"titleConfigure": "Configurar huella - {{name}} ({{browser}})",
"invalidFingerprint": "Configuración de huella inválida",
"invalidFingerprintDescription": "La configuración de huella contiene JSON inválido. Revisa la configuración avanzada.",
"saveFailed": "Error al guardar la configuración",
"unknownError": "Ocurrió un error desconocido"
},
"proxyCheck": {
"unknownLocation": "Desconocido",
"locationToast": "La ubicación de tu proxy es:",
"failed": "Falló la verificación del proxy: {{error}}",
"tooltipChecking": "Comprobando proxy...",
"tooltipIp": "IP: {{ip}}",
"tooltipChecked": "Comprobado {{time}}",
"tooltipFailed": "Fallo {{time}}",
"tooltipFailedTitle": "Falló la verificación del proxy",
"tooltipDefault": "Comprobar validez del proxy"
},
"vpnCheck": {
"valid": "La configuración de VPN \"{{name}}\" es válida",
"invalid": "La configuración de VPN \"{{name}}\" no es válida",
"failed": "Falló la verificación de la VPN: {{error}}",
"tooltipChecking": "Comprobando configuración de VPN...",
"tooltipValid": "Configuración válida",
"tooltipInvalid": "Configuración inválida",
"tooltipChecked": "Comprobado {{time}}",
"tooltipDefault": "Comprobar validez de la configuración de VPN"
},
"profileTable": {
"syncTooltipDisabled": "Sincronización desactivada",
"syncTooltipSyncing": "Sincronizando...",
"syncTooltipSyncedAt": "Sincronizado {{time}}",
"syncTooltipSynced": "Sincronizado",
"syncTooltipWaiting": "Esperando para sincronizar",
"syncTooltipErrorWith": "Error de sincronización: {{error}}",
"syncTooltipError": "Error de sincronización",
"syncTooltipNotSynced": "No sincronizado",
"noTags": "Sin etiquetas",
"syncTooltipCloseToSync": "Cierra el perfil para sincronizar",
"syncTooltipDisabledWithLast": "Sincronización desactivada, última sincronización {{time}}",
"addTagsPlaceholder": "Añadir etiquetas",
"tagsHeader": "Etiquetas",
"noteHeader": "Nota",
"vpnsHeading": "VPN",
"createByCountryHeading": "Crear por país"
},
"releaseTypeSelector": {
"noReleaseTypes": "No hay tipos de versión disponibles.",
"placeholder": "Selecciona el tipo de versión...",
"stable": "Estable",
"nightly": "Nightly",
"downloaded": "Descargado",
"downloadBrowser": "Descargar navegador",
"downloading": "Descargando..."
},
"dataTableActionBar": {
"selected": "{{count}} seleccionados",
"clearSelection": "Limpiar selección"
},
"appUpdate": {
"toast": {
"updateFailed": "Error al actualizar Donut Browser",
"restartFailed": "Error al reiniciar",
"updateReady": "Actualización lista, reinicia para aplicar",
"manualDownloadRequired": "Descarga manual requerida",
"restartNow": "Reiniciar ahora",
"viewRelease": "Ver lanzamiento",
"later": "Más tarde",
"uploading": "Subiendo",
"downloading": "Descargando",
"startingUpdate": "Iniciando actualización..."
}
},
"browserDownload": {
"toast": {
"fetchVersionsFailed": "Error al obtener las versiones de {{browser}}",
"foundNewVersions": "¡Se encontraron {{count}} nuevas versiones de {{browser}}!",
"totalAvailableVersions": "Total disponible: {{count}} versiones",
"downloadFailed": "Error al descargar {{browser}} {{version}}",
"calculating": "calculando...",
"extractionFailed": "{{browser}} {{version}}: error de extracción",
"extractionFailedDescription": "El archivo dañado fue eliminado. Se volverá a descargar en el próximo intento.",
"extracting": "Extrayendo archivos del navegador... No cierre la aplicación.",
"verifying": "Verificando archivos del navegador...",
"downloadingRolling": "Descargando compilación rolling release...",
"geoipDownloading": "Descargando base de datos GeoIP",
"geoipDownloaded": "¡Base de datos GeoIP descargada correctamente!"
}
},
"versionUpdater": {
"toast": {
"alreadyAvailable": "{{browser}} {{version}} ya disponible",
"updatingProfiles": "Actualizando configuraciones de perfil...",
"updateCompleted": "Actualización de {{browser}} completada",
"singleProfileUpdated": "El perfil \"{{name}}\" se ha actualizado a la versión {{version}}. Ya puedes iniciar tus navegadores con la última versión.",
"multipleProfilesUpdated": "Se han actualizado {{count}} perfiles a la versión {{version}}. Ya puedes iniciar tus navegadores con la última versión.",
"versionAvailable": "La versión {{version}} ya está disponible. Los perfiles en ejecución usarán la nueva versión al reiniciarse.",
"autoUpdateFailed": "Error al auto-actualizar {{browser}}",
"updateWithErrors": "Actualización completada con algunos errores",
"updateWithErrorsDescription": "Se encontraron {{newVersions}} nuevas versiones, {{failedUpdates}} navegadores no se pudieron actualizar",
"updateSuccess": "Versiones del navegador actualizadas correctamente",
"updateSuccessDescription": "Se encontraron {{newVersions}} nuevas versiones en {{successfulUpdates}} navegadores. Las descargas automáticas comenzarán pronto.",
"upToDate": "No se encontraron nuevas versiones del navegador",
"upToDateDescription": "Todas las versiones del navegador están actualizadas",
"updateAllFailed": "Error al actualizar las versiones del navegador",
"updateStarted": "Actualización de {{browser}} iniciada",
"updateStartedDescription": "La descarga de la versión {{version}} comenzará en breve. El inicio del navegador está deshabilitado hasta que finalice la actualización.",
"downloadStarting": "Iniciando la descarga de {{browser}} {{version}}",
"downloadProgressBelow": "El progreso de la descarga se mostrará a continuación...",
"autoDownloadStarted": "Descargando {{browser}} {{version}} automáticamente. El progreso se mostrará a continuación.",
"lookingForUpdates": "Buscando actualizaciones de {{browser}}"
}
},
"profilePassword": {
"set": {
"title": "Establecer Contraseña del Perfil",
"description": "Cifra los datos en disco de {{name}}. Necesitarás esta contraseña cada vez que abras el perfil.",
"button": "Cifrar Perfil"
},
"unlock": {
"title": "Desbloquear Perfil",
"description": "Introduce la contraseña para desbloquear {{name}}.",
"button": "Desbloquear"
},
"change": {
"title": "Cambiar Contraseña del Perfil",
"description": "Vuelve a cifrar {{name}} con una nueva contraseña.",
"button": "Cambiar Contraseña"
},
"remove": {
"title": "Quitar Contraseña del Perfil",
"description": "Descifra los datos en disco de {{name}}. El perfil dejará de estar protegido por contraseña.",
"button": "Quitar Contraseña"
},
"fields": {
"password": "Contraseña",
"currentPassword": "Contraseña actual",
"newPassword": "Nueva contraseña",
"confirm": "Confirmar contraseña",
"confirmPassword": "Confirmar nueva contraseña"
},
"errors": {
"oldPasswordRequired": "Se requiere la contraseña actual",
"passwordRequired": "Se requiere la contraseña",
"tooShort": "La contraseña debe tener al menos 8 caracteres",
"mismatch": "Las contraseñas no coinciden"
},
"toasts": {
"set": "El perfil ahora está protegido por contraseña",
"changed": "Contraseña del perfil cambiada",
"removed": "Contraseña del perfil eliminada"
},
"warnings": {
"forgetWarningTitle": "Importante: esta contraseña no se puede recuperar",
"forgetWarningBody": "Donut Browser no puede restablecer, recuperar ni omitir esta contraseña. Si la olvidas, perderás permanentemente el acceso a los datos de este perfil."
},
"modes": {
"set": "Establecer",
"change": "Cambiar",
"remove": "Quitar",
"validate": "Validar"
},
"verifyDialog": {
"title": "Validar contraseña del perfil",
"description": "Introduce la contraseña del perfil para confirmar que coincide con la almacenada en disco.",
"submit": "Validar",
"matchToast": "La contraseña es correcta"
}
},
"backendErrors": {
"incorrectPassword": "Contraseña incorrecta",
"lockedOut": "Demasiados intentos incorrectos. Vuelve a intentar en {{duration}}.",
"lockedOutDuration": {
"seconds": "{{seconds}}s",
"minutes": "{{minutes}} min",
"hours": "{{hours}} h"
},
"profileNotFound": "Perfil no encontrado",
"profileNotProtected": "El perfil no está protegido por contraseña",
"profileAlreadyProtected": "El perfil ya está protegido por contraseña",
"profileRunning": "No se puede realizar esta acción mientras el perfil está en ejecución",
"profileEphemeral": "Los perfiles efímeros no pueden tener contraseña — sus datos se borran al salir.",
"profileMissingSalt": "Al perfil le falta su sal de cifrado",
"profileLocked": "El perfil está bloqueado. Introduce la contraseña primero.",
"invalidProfileId": "ID de perfil no válido",
"passwordTooShort": "La contraseña debe tener al menos {{min}} caracteres",
"proxyNotFound": "Proxy no encontrado",
"groupNotFound": "Grupo no encontrado",
"vpnNotFound": "VPN no encontrada",
"extensionNotFound": "Extensión no encontrada",
"extensionGroupNotFound": "Grupo de extensiones no encontrado",
"cannotModifyCloudManagedProxy": "No se puede modificar la sincronización de un proxy gestionado en la nube",
"syncLockedByProfile": "No se puede desactivar la sincronización mientras se usa en perfiles sincronizados",
"syncNotConfigured": "La sincronización no está configurada. Inicia sesión o configura un servidor propio.",
"internal": "Algo salió mal: {{detail}}",
"invalidLaunchHookUrl": "URL del hook de inicio no válida. Usa una URL completa http:// o https://.",
"cookieDbLocked": "No se pudieron leer las cookies — la base de datos está bloqueada. Cierra el navegador e inténtalo de nuevo.",
"cookieDbUnavailable": "No se pudieron leer las cookies — el almacén de cookies no está disponible.",
"selfHostedRequiresLogout": "Cierra sesión en tu cuenta de Donut antes de configurar un servidor autoalojado.",
"fingerprintRequiresPro": "Ver o editar la huella digital requiere un plan de pago activo. La protección está incluida en todos los planes.",
"proxyNotWorking": "El proxy seleccionado no funciona, por lo que no se creó el perfil.",
"proxyPaymentRequired": "El proxy seleccionado requiere pago (402) —su suscripción puede haber vencido— por lo que no se creó el perfil.",
"vpnNotWorking": "La VPN seleccionada no funciona, por lo que no se creó el perfil.",
"camoufoxImportDeprecated": "La importación de perfiles basados en Firefox (Camoufox) ya no es compatible. Camoufox está en desuso; usa Wayfern en su lugar."
},
"rail": {
"profiles": "Perfiles",
"extensions": "Extensiones",
"groups": "Grupos",
"settings": "Ajustes",
"more": {
"label": "Más",
"closeAriaLabel": "Cerrar menú",
"importProfile": "Importar perfil",
"importProfileHint": "Trae perfiles de otra herramienta",
"keyboardShortcuts": "Atajos de teclado",
"keyboardShortcutsHint": "Ver todos los atajos"
},
"network": "Red",
"integrations": "Integraciones",
"account": "Cuenta"
},
"pageTitle": {
"proxies": "Red",
"extensions": "Extensiones",
"groups": "Grupos",
"vpns": "Red",
"settings": "Ajustes",
"integrations": "Integraciones",
"account": "Cuenta",
"import": "Importar perfil",
"shortcuts": "Atajos de teclado"
},
"encryption": {
"required": {
"title": "Sincronización en pausa — contraseña requerida",
"description": "Se descargaron datos cifrados pero no hay contraseña E2E configurada en este dispositivo. Abre Ajustes → Cifrado e introduce la contraseña para reanudar.",
"openSettings": "Abrir ajustes"
},
"rollover": {
"startedTitle": "Recifrando tus datos",
"startedDescription": "Estamos volviendo a subir cada elemento sincronizado con la nueva contraseña. Primero los perfiles, luego proxies, grupos, VPN y extensiones.",
"progressTitle": "Recifrando {{stage}}",
"progressDescription": "{{done}} de {{total}}",
"completedTitle": "Recifrado completo",
"completedDescription": "Todos los datos sincronizados están sellados con la nueva contraseña.",
"stage": {
"profiles": "perfiles",
"proxies": "proxies",
"groups": "grupos",
"vpns": "VPN",
"extensions": "extensiones",
"extension_groups": "grupos de extensiones"
}
}
},
"account": {
"refreshed": "Cuenta actualizada",
"loggedOut": "Sesión cerrada",
"signedOut": "Sin sesión",
"signedOutDescription": "Inicia sesión para activar la sincronización en la nube, perfiles cifrados y funciones de equipo.",
"plan": "Plan: {{plan}} · {{period}}",
"refresh": "Actualizar",
"logout": "Cerrar sesión",
"signIn": "Iniciar sesión",
"fields": {
"plan": "Plan",
"status": "Estado",
"teamRole": "Rol en el equipo",
"period": "Período",
"device": "Dispositivo"
},
"tabs": {
"account": "Cuenta",
"selfHosted": "Autoalojado"
},
"selfHosted": {
"title": "Servidor de sincronización autoalojado",
"description": "Conecta Donut a tu propio servidor donut-sync para sincronizar perfiles, proxies, grupos y extensiones sin usar la nube alojada.",
"disabledWhileLoggedIn": "La sincronización autoalojada no está disponible mientras estás conectado a tu cuenta de Donut. Cierra sesión para usar un servidor personalizado.",
"connectionStatus": "Conexión:",
"statusUnknown": "Sin probar",
"testConnection": "Probar conexión",
"disconnect": "Desconectar"
},
"deviceOrdinal": "{{ordinal}} de {{count}}",
"automationPrimaryOnly": "La automatización del navegador solo funciona en tu dispositivo principal (Dispositivo 1). Cierra sesión allí para usarla aquí.",
"automationActiveHere": "La automatización del navegador está activa en este dispositivo."
},
"shortcutsPage": {
"title": "Atajos de teclado",
"description": "Agiliza tu flujo de trabajo con estos atajos."
},
"commandPalette": {
"placeholder": "Escribe un comando o busca...",
"empty": "No se encontraron resultados.",
"groups": {
"navigation": "Navegación",
"profiles": "Perfiles",
"actions": "Acciones",
"profileGroups": "Grupos de perfiles"
},
"actions": {
"launchProfile": "Iniciar {{name}}",
"stopProfile": "Detener {{name}}",
"profileInfo": "Información — {{name}}"
}
},
"shortcuts": {
"openPalette": "Abrir paleta de comandos",
"openShortcuts": "Ver atajos de teclado",
"importProfile": "Importar perfil",
"goProfiles": "Ir a Perfiles",
"goProxies": "Ir a Red",
"goExtensions": "Ir a Extensiones",
"goGroups": "Ir a Grupos",
"goIntegrations": "Ir a Integraciones",
"goAccount": "Ir a Cuenta",
"goSettings": "Ir a Configuración"
},
"closeConfirm": {
"title": "¿Cerrar Donut Browser?",
"description": "¿Quieres enviar la aplicación a la bandeja del sistema o salir?",
"minimize": "Minimizar a la bandeja",
"quit": "Salir"
},
"tray": {
"show": "Mostrar Donut Browser",
"quit": "Salir"
},
"browserSupport": {
"endingSoonTitle": "El soporte del navegador finalizará pronto",
"endingSoonDescription": "El soporte para los siguientes perfiles se eliminará el 15 de marzo de 2026: {{profiles}}. Migra a perfiles de Wayfern."
},
"onboarding": {
"steps": {
"createProfile": {
"title": "Crea tu primer perfil",
"content": "Haz clic aquí para crear tu primer perfil. Elige Wayfern como navegador: el Chromium recomendado y protegido contra huellas digitales."
},
"dnsBlocking": {
"title": "Bloqueo DNS",
"content": "Usa este menú para definir el nivel de la lista de bloqueo DNS del perfil: bloquea anuncios, rastreadores y malware a nivel de red. Los niveles más altos bloquean más."
}
},
"buttons": {
"skip": "Omitir",
"back": "Atrás",
"next": "Siguiente",
"finish": "Finalizar"
},
"thankYou": {
"title": "Gracias por elegir Donut Browser",
"body": "Ojalá ayude a hacer tu navegación más privada: cada identidad por separado y sin que nada salga de tu equipo. ¡Que lo disfrutes!",
"cta": "Empezar a navegar"
}
},
"welcome": {
"title": "Te damos la bienvenida a Donut Browser",
"tagline": "Un navegador antidetección de código abierto para gestionar muchas identidades a la vez.",
"skip": "Omitir",
"next": "Siguiente",
"permissions": {
"title": "Permitir micrófono y cámara",
"desc": "Concede acceso para que los sitios que necesitan micrófono o cámara funcionen en tus perfiles de navegador. macOS lo pregunta una vez; cada sitio te lo seguirá pidiendo por separado.",
"skip": "Ahora no",
"grant": "Permitir acceso",
"requesting": "Solicitando…"
},
"ready": {
"title": "Preparando todo",
"descDownloading": "Descargando tu primer navegador (Wayfern). Esta configuración única se ejecuta en segundo plano; espera un momento.",
"descReady": "Tu navegador está listo. Vamos a crear tu primer perfil.",
"cta": "Crear mi primer perfil",
"downloading": "Descargando…",
"extracting": "Extrayendo…",
"stats": "{{downloaded}} de {{total}}",
"speed": "{{speed}}/s",
"timeLeft": "{{time}} restante",
"descExtracting": "Extrayendo tu navegador. Esta configuración única se ejecuta en segundo plano: espera un momento.",
"almostFinished": "Casi terminado…",
"errorTitle": "Error en la configuración",
"errorDownload": "No se pudo descargar {{browser}}. Comprueba tu conexión e inténtalo de nuevo.",
"errorExtraction": "No se pudo extraer {{browser}}. Inténtalo de nuevo.",
"errorGeneric": "Algo salió mal al configurar {{browser}}. Inténtalo de nuevo.",
"retry": "Reintentar"
},
"features": {
"title": "Funciones",
"items": {
"setDefault": "Establecer como navegador predeterminado",
"proxy": "Compatibilidad con proxy (HTTP/SOCKS5)",
"vpn": "Compatibilidad con VPN (WireGuard)",
"profiles": "Perfiles locales ilimitados",
"api": "API de gestión de perfiles y MCP",
"openSource": "Código abierto",
"groups": "Grupos de perfiles",
"cookies": "Importar y exportar cookies"
}
},
"license": {
"title": "Licencias",
"body": "Donut Browser es de código abierto y de uso gratuito.",
"agree": "Entendido",
"personalTitle": "Uso personal",
"personalDesc": "Gratis para siempre.",
"commercialTitle": "Uso comercial",
"trialBadge": "2 semanas gratis",
"commercialDesc": "Gratis durante una evaluación de 2 semanas. Después, un plan de pago mantiene el proyecto en buen estado y próspero."
}
},
"wayfernBlocked": {
"title": "Automatización del navegador en pausa",
"description": "Tu cuenta fue restringida temporalmente de las funciones Pro del navegador, normalmente por iniciar sesión en varios dispositivos a la vez. Cierra sesión en los demás dispositivos y vuelve a iniciar el perfil para restaurarla."
},
"camoufoxDeprecation": {
"title": "El soporte para Camoufox está terminando",
"description": "El soporte para los perfiles de Camoufox terminará el 8 de julio de 2026. Tienes uno o más perfiles de Camoufox. Migra a Wayfern antes de esa fecha; después, los perfiles de Camoufox podrían dejar de funcionar.",
"acknowledge": "Entendido"
}
}