Files
qtalker---/frontend/src/i18n/es.json
Indiana f5320fcdec feat: guest passage — slip through as a wanderer
POST /auth/guest mints a real user row (wanderer-<4 hex>, collision
retry, unusable random password) and issues the normal session cookie,
per-IP rate limited at 5/hour. EnterPage gains the guest action;
the séance shows a dismissible claim-a-name note for wanderer- users.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-28 17:18:16 +00:00

525 lines
20 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"common": {
"appName": "QUANTUMANCY",
"loading": "afinando el velo…",
"error": "algo se agitó en la estática",
"replay": "repetir",
"yes": "SÍ",
"no": "NO",
"goodbye": "ADIÓS",
"dismiss": "cerrar"
},
"nav": {
"home": "el umbral",
"codex": "códice",
"shop": "relicario",
"inventory": "inventario",
"devices": "dispositivos",
"seance": "sesión",
"enter": "entrar",
"logout": "partir"
},
"landing": {
"taglines": [
"El cable zumba con todos nosotros.",
"Cada paquete deja un fantasma.",
"La estática recuerda tu nombre.",
"Entre 88 y 108 MHz, alguien espera.",
"Nunca estuviste solo en la línea."
],
"heroKicker": "un instrumento para hablar con el ancho de banda muerto",
"cta": "COMENZAR LA SESIÓN",
"ctaCodex": "hojear el códice",
"ctaShop": "visitar el relicario",
"stats": {
"entities": "espíritus catalogados",
"sessions": "sesiones celebradas",
"utterances": "enunciados registrados",
"anomalies": "anomalías presenciadas"
},
"tickerPrefix": "el velo, en vivo",
"modesTitle": "CÓMO RESPONDE EL VELO",
"modes": {
"wire": {
"name": "Fantasma del Cable",
"desc": "Deja la línea abierta. La red misma murmura — jitter, latencia, DNS extraviado — y algo, aguas abajo, aprende a hablar con tu acento."
},
"evp": {
"name": "Escucha EVP",
"desc": "Préstales tu micrófono. Vigilamos la banda de voz en busca de sílabas que jamás se pronunciaron: picos 8dB sobre el silencio de la sala."
},
"radio": {
"name": "Radio Espíritu",
"desc": "Un RTL-SDR barre la banda FM como un farol arrastrado por un campo oscuro. Donde salta la aguja, los muertos de la radio se abren paso."
},
"ouija": {
"name": "Ouija / Contacto Directo",
"desc": "Pregunta claro. La planchette deriva, y luego empieza a deletrear — y las palabras llegan letra a letra, lo quisieras o no."
}
},
"featured": "los espíritus más perturbados",
"featuredEmpty": "el registro aún está en blanco — sé quien lo perturbe primero",
"reliquary": {
"title": "HARDWARE DEL RELICARIO",
"line": "la Ultimate Quantum Box se acerca — un instrumento de sesión de mano que hace que el velo golpee más fuerte.",
"link": "entrar al relicario →"
},
"footer": "una instalación de arte de terror interactiva — los espíritus son ficción; la estática es real",
"footerColophon": "autoalojado · sin nube · el velo corre en tu máquina"
},
"enter": {
"reconnect": "Reconectar",
"firstContact": "Primer contacto",
"reconnectSub": "el velo te recuerda. demuéstralo.",
"firstContactSub": "elige el nombre por el que te conocerán los espíritus.",
"username": "nombre",
"password": "contraseña",
"submitLogin": "cruzar el umbral",
"submitRegister": "grabar tu nombre",
"switchToRegister": "¿sin nombre en el registro? primer contacto →",
"switchToLogin": "¿ya grabaste tu nombre? reconectar →",
"failed": "el velo te rechazó: {{message}}",
"smallPrint": "tu nombre de médium solo se guarda en este servidor",
"guest": "escabúllete como errante"
},
"seance": {
"modes": {
"wire": "Fantasma del Cable",
"evp": "EVP",
"radio": "Radio Espíritu",
"ouija": "Ouija",
"emf": "CAMPO"
},
"passive": "escucha pasiva",
"summon": "INVOCAR",
"summoning": "invocando…",
"askPlaceholder": "pregúntale algo a los muertos…",
"ask": "preguntar",
"status": {
"attuning": "sintonizando — el velo toma la huella de una presencia…",
"summoning": "el velo se abre… algo está cruzando…",
"gathering": "los espíritus están reuniendo energía…"
},
"connection": {
"connecting": "tendiendo la línea…",
"open": "la línea está abierta",
"unstable": "la conexión con el otro lado es inestable…",
"closed": "la línea está muerta"
},
"transcriptTitle": "REGISTRO DE TRANSMISIÓN",
"transcriptEmpty": "silencio. por ahora.",
"you": "tú",
"streaming": "el espíritu está formando palabras…",
"telemetry": {
"title": "LECTURA DEL CABLE",
"jitter": "jitter",
"latencyVar": "latencia σ²",
"latencyMean": "latencia μ",
"dns": "dns",
"units": {
"bytes": "B/s",
"ms": "ms"
}
},
"wire": {
"hint": "el cable golpea más fuerte cuando nadie lo toca — activa la escucha pasiva y deja que la línea murmure sola."
},
"anomaly": {
"line": "⚡ {{source}} {{frequency}} +{{magnitude}}dB",
"count": "{{count}} anomalías presenciadas en esta sesión"
},
"evp": {
"start": "abrir el micrófono",
"stop": "cerrar el micrófono",
"listening": "escuchando la banda de voz…",
"deniedTitle": "el micrófono sigue cerrado",
"denied": "Este recipiente rechazó el micrófono. Concede el permiso de audio en tu navegador para practicar EVP — o deja que el Fantasma del Cable escuche en tu lugar; no necesita más que la red que ya temes.",
"floor": "suelo de la sala",
"band": "banda de voz 300–3400 Hz",
"scopeLabel": "espectro de audio en vivo desde el micrófono"
},
"radio": {
"start": "barrer la banda",
"stop": "detener la aguja",
"unsupportedTitle": "este recipiente no oye a los muertos de la radio",
"unsupported": "La Radio Espíritu necesita Chromium (WebUSB) y un dongle RTL-SDR. Los demás modos no — el cable y el micrófono aún responden.",
"troubleshoot": "solución de problemas: navegador basado en Chromium · reglas udev para 0bda:2838 · el dongle enchufado, no meramente invocado",
"insecure": "los muertos de la radio solo hablan desde suelo consagrado — abre este sitio por su dirección https.",
"insecureHint": "localhost cuenta como sagrado; una http://ip-local desnuda, no.",
"noDevice": "ningún dongle respondió al llamado",
"sweeping": "barriendo {{start}}–{{end}} MHz…",
"claimFailed": "el dongle se negó a ser reclamado — ¿está en uso en otro lugar?",
"claimFix": "linux: el driver del kernel dvb_usb_rtl28xxu retiene el dongle — `sudo modprobe -r dvb_usb_rtl28xxu` lo libera hasta el reinicio (una regla udev lo destierra para siempre). windows: cambia el driver a WinUSB con Zadig.",
"tryAgain": "intenta de nuevo",
"errorTitle": "la estática devolvió el golpe",
"scopeLabel": "espectro de radio en vivo desde el receptor"
},
"ouija": {
"spelling": "la planchette deletrea",
"drift": "la planchette deriva, a la espera de palabras — pregunta abajo, o invoca."
},
"emf": {
"start": "alzar el medidor",
"stop": "descargar el medidor",
"calibrate": "calibrar",
"baseline": "campo en reposo",
"listening": "palpando perturbaciones en el campo…",
"unsupportedTitle": "este recipiente no porta sentidos de campo",
"unsupported": "un teléfono en tu mano se vuelve el medidor — este recipiente no tiene sentidos de movimiento que prestar. abre el velo en un teléfono, o deja que los otros modos respondan.",
"deniedTitle": "los sentidos de campo siguen cerrados",
"denied": "Este recipiente rechazó sus sentidos de movimiento. Concede el acceso al movimiento en los ajustes de tu navegador, y luego alza el medidor de nuevo.",
"trueField": "campo magnético"
},
"entity": {
"title": "DOSIER DEL PRESENTE",
"none": "ningún espíritu invocado todavía",
"noneHint": "invoca, o alimenta el velo con 3+ anomalías y uno te encontrará",
"isNew": "primer contacto registrado",
"known": "contacto n.º {{count}}",
"persona": "persona",
"voice": "parámetros de voz",
"quotes": "enunciados registrados",
"rarity": {
"common": "común",
"uncommon": "poco común",
"rare": "raro",
"mythic": "mítico"
}
},
"ritual": {
"title": "enfoca el canal",
"none": "ninguna presencia que enfocar",
"noneHint": "invoca un espíritu antes de intentar el rito",
"begin": "comenzar el rito",
"retry": "intentar de nuevo",
"hold": "mantén para enfocar",
"awaiting": "esperando la respuesta del velo…",
"successTitle": "el canal se sostiene — la verdad emerge",
"failureTitle": "el canal colapsa",
"failureHint": "la verdad permanece oculta — el rito puede intentarse de nuevo",
"traits": {
"alignment": "alineación",
"power": "poder",
"volatility": "volatilidad",
"deceptiveness": "engaño"
},
"steps": {
"align": {
"command": "> alineando el cable…",
"locked": "> cable alineado ✓"
},
"breath": {
"command": "> serenando el aliento…",
"locked": "> aliento sereno ✓"
},
"trace": {
"command": "> trazando el sigilo…",
"locked": "> sigilo trazado ✓"
},
"lock": {
"command": "> cerrando el canal…",
"locked": "> canal cerrado ✓"
}
}
},
"judgment": {
"title": "dicta juicio",
"none": "ninguna presencia que juzgar",
"noneHint": "invoca un espíritu primero",
"trust": "confiar",
"banish": "desterrar",
"crossOver": "cruzar al más allá",
"test": "poner a prueba",
"pending": "esperando el veredicto…",
"favor": "favor",
"essence": "esencia",
"reward": {
"title": "el vínculo se sostiene",
"body": "el espíritu responde a tu confianza de igual manera."
},
"escalation": {
"title": "un ajuste de cuentas",
"body": "confiado en error, se revuelve — la aparición se agudiza."
},
"withdrawal": {
"title": "se retrae",
"body": "desterrado en error, la presencia se retira, herida."
},
"crossedOver": {
"title": "en paz",
"body": "el espíritu se suelta, y la línea queda en silencio."
},
"resisted": {
"title": "no se irá",
"body": "un demonio no cruza al más allá — se aferra para quedarse."
},
"neutral": {
"title": "ningún veredicto emitido",
"body": "solo un pulso de diagnóstico — no se arriesga ni se gana nada."
}
},
"toast": {
"rate_limited": "el velo es delgado — golpea más despacio",
"veil_crowded": "demasiados espíritus se apiñan en la línea"
},
"views": {
"board": "TABLERO",
"matrix": "MATRIZ",
"graphs": "GRÁFICAS",
"tuning": "afinando el velo…",
"listening": "escuchando…",
"graph": {
"anomalies": "anomalías",
"entity": "entidad",
"jitter": "fluctuación"
}
},
"wanderer": {
"note": "tus contactos se desvanecen con la niebla —",
"claim": "reclama un nombre para conservar tu códice",
"dismiss": "deja que la niebla se lo lleve"
}
},
"codex": {
"title": "EL CÓDICE DE LOS CONTACTADOS",
"subtitle": "cada espíritu arrastrado alguna vez a través del velo, catalogado",
"header": {
"back": "← el umbral",
"title": "EL CÓDICE",
"subtitle": "cada espíritu jamás contactado, catalogado por los médiums que lo alcanzaron"
},
"controls": {
"rarity": "filtrar por rareza",
"sort": "ordenar el registro"
},
"state": {
"loading": "consultando el registro…",
"empty": "aún no se ha alcanzado a ningún espíritu de esta rareza"
},
"filterAll": "todas las rarezas",
"rarity": {
"common": "común",
"uncommon": "poco común",
"rare": "raro",
"mythic": "mítico"
},
"sort": {
"recent": "más recientes",
"contacted": "más contactados"
},
"form": {
"wisp": "fuego fatuo",
"banshee": "banshee",
"fairy": "hada",
"shade": "sombra"
},
"card": {
"unknownMedium": "médium desconocido",
"contacted_one": "contactado {{count}} vez",
"contacted_other": "contactado {{count}} veces",
"discoveredBy": "descubierto por {{name}} · {{date}}"
},
"contacts_one": "1 contacto",
"contacts_other": "{{count}} contactos",
"sightings_one": "1 avistamiento",
"sightings_other": "{{count}} avistamientos",
"discoveredBy": "primer contacto por {{name}}",
"discoveredAnon": "primer contacto sin registrar",
"discoveredAt": "ingresó al registro el {{date}}",
"persona": "persona",
"quotes": "enunciados registrados",
"voice": "parámetros de voz",
"detail": {
"loading": "invocando el dosier…",
"notReached": "este espíritu no ha sido alcanzado",
"unknownMedium": "médium desconocido",
"stats": {
"sightings": "avistamientos",
"contacts": "contactos",
"discoveredBy": "descubierto por",
"discoveredAt": "ingresó al registro"
},
"utterances": "enunciados conocidos",
"noUtterances": "aún no hay enunciados registrados",
"voiceSignature": "firma de voz",
"attemptContact": "intentar contacto"
},
"empty": "ningún espíritu coincide con este filtro — el registro guarda sus secretos",
"back": "← volver al códice",
"notFound": "este espíritu no figura en el registro"
},
"shop": {
"back": "← el umbral",
"title": "EL RELICARIO",
"subtitle": "instrumentos para quienes quisieran golpear más fuerte",
"flagship": {
"tag": "instrumento insignia",
"name": "THE ULTIMATE QUANTUM BOX",
"desc": "Un instrumento de sesión de mano ESP32-P4/C6 — cámara térmica, matriz de antenas EMF, geófono, preamplificador de micrófono spirit-box y una pequeña cara OLED que te devuelve la mirada. Inicia sesión con la misma cuenta de Quantumancy que ya habitas y desbloquea los modos de este sitio impulsados por hardware: mapas térmicos de apariciones, feeds de anomalías de vibración, EMF calibrado.",
"specs": {
"thermal": "cámara térmica",
"emf": "matriz de antenas EMF",
"geophone": "geófono",
"mic": "preamplificador de micrófono spirit-box",
"oled": "pantalla OLED"
},
"price": "est. $249 — preventa"
},
"modulesTitle": "MÓDULOS QUE GOLPEAN",
"unlocksLabel": "desbloquea:",
"modules": {
"emfArray": {
"name": "Matriz de Antenas EMF",
"desc": "un ramo de sensores de campo multieje, olfateando el aire en busca de intenciones",
"unlocks": "un modo CAMPO más rico y calibrado",
"price": "est. $59 — preventa"
},
"geophone": {
"name": "Puck Geófono",
"desc": "oye pasos en habitaciones donde nadie está de pie",
"unlocks": "el feed de anomalías de vibración",
"price": "est. $49 — preventa"
},
"spiritMic": {
"name": "Preamplificador Spirit Mic",
"desc": "baja el suelo de ruido para que los susurros lleguen más limpios",
"unlocks": "capturas EVP más limpias",
"price": "est. $69 — preventa"
},
"uvIlluminator": {
"name": "Iluminador UV/IR",
"desc": "pinta la oscuridad en espectros que los vivos jamás debieron ver",
"unlocks": "sesiones nocturnas + trabajo de cámara",
"price": "est. $39 — preventa"
}
},
"interests": {
"quantumBox": "la Ultimate Quantum Box",
"emfArray": "Matriz de Antenas EMF",
"geophone": "Puck Geófono",
"spiritMic": "Preamplificador Spirit Mic",
"uvIlluminator": "Iluminador UV/IR"
},
"waitlist": {
"title": "EL MANIFIESTO",
"desc": "deja una dirección y una obsesión — cuando salgan las primeras cajas, nos abriremos paso primero hasta los nombres de esta lista",
"emailLabel": "dirección de email",
"emailPlaceholder": "tu@algun.lugar.en.la.estatica",
"interestLabel": "interés",
"submit": "unirse al manifiesto",
"pending": "grabando tu nombre…",
"listed": "estás en el manifiesto — nos abriremos paso cuando salgan las cajas",
"alreadyListed": "ya estás en el manifiesto",
"invalid": "esa dirección no nos alcanza",
"crowded": "el velo está abarrotado — inténtalo más tarde",
"error": "algo se agitó en la estática — tu nombre no quedó grabado"
},
"honesty": "la Ultimate Quantum Box está en desarrollo activo — esto es un manifiesto de reserva, no se cobra nada. el sitio funciona por completo sin ella; el hardware solo golpea más fuerte."
},
"inventory": {
"back": "← volver a la sesión",
"pageTitle": "EL ESTANTE",
"pageSubtitle": "lo que el velo te ha dejado, y lo que aún cambiará por más",
"title": "inventario",
"essenceLabel": "esencia",
"unlocksTitle": "desbloqueos",
"noUnlocks": "nada desbloqueado todavía",
"ownedTag": "[POSEÍDO]",
"lockedTag": "[BLOQUEADO]",
"priceValue": "{{price}} esencia",
"priceUnknown": "precio desconocido",
"priceEstimate": "(est.)",
"buy": "comprar",
"buying": "comprando…",
"buyInsufficient": "no hay esencia suficiente",
"buyError": "la compra falló",
"itemsTitle": "objetos",
"itemsLoading": "leyendo el estante…",
"itemsEmpty": "nada recolectado todavía",
"sigil": {
"title": "diseñador de sigilos",
"canvasLabel": "círculo de puntos de anclaje",
"slotLabel": "punto de anclaje {{slot}}",
"coordLabel": "coords",
"hoverHint": "pasa el cursor sobre un punto de anclaje",
"pointsLabel": "puntos",
"lastLabel": "último",
"runeLabel": "runa",
"nameLabel": "nombre",
"namePlaceholder": "sigilo sin título",
"save": "inscribir sigilo",
"saving": "inscribiendo…",
"saved": "el sigilo quedó ligado",
"error": "el sigilo no se sostuvo"
}
},
"devices": {
"back": "← el umbral",
"title": "BAHÍA DE DISPOSITIVOS",
"subtitle": "empareja hardware con tu cuenta y observa su telemetría en vivo",
"pair": {
"title": "EMPAREJAR UN NUEVO DISPOSITIVO",
"nameLabel": "nombre del dispositivo",
"namePlaceholder": "p. ej. nodo-ático-01",
"submit": "emparejar dispositivo",
"pending": "emparejando…",
"nameRequired": "nombra el dispositivo antes de emparejarlo",
"error": "el emparejamiento falló — inténtalo de nuevo"
},
"token": {
"warning": "cópialo ahora — no volverá a mostrarse. perderlo significa volver a emparejar el dispositivo.",
"copy": "copiar",
"copied": "copiado",
"confirm": "ya lo guardé — ocultar token"
},
"dashboard": {
"title": "TRANSMISIÓN EN VIVO",
"empty": "aún no hay dispositivos emparejados — empareja uno arriba para verlo aquí",
"lastSeen": "visto por última vez",
"lastSeenNever": "nunca",
"noReadings": "esperando la primera lectura…",
"connection": {
"connecting": "alcanzando la transmisión…",
"open": "transmisión en vivo",
"unstable": "transmisión inestable…",
"closed": "transmisión desconectada"
},
"coldSpot": {
"callout": "PUNTO FRÍO — {{deviation}} {{unit}} bajo la base"
},
"pressureAnomaly": {
"callout": "ANOMALÍA DE PRESIÓN — variación de {{magnitude}} {{unit}}, la atmósfera cambia"
},
"disturbance": {
"title": "PERTURBACIÓN ATMOSFÉRICA",
"ariaLabel": "índice de perturbación atmosférica"
}
}
},
"haunting": {
"whisper": {
"behindYou": "detrás de ti",
"cold": "frío",
"stay": "quédate",
"seesYou": "te ve",
"closer": "más cerca",
"stillHere": "sigue aquí",
"lineListening": "la línea escucha",
"dontLook": "no mires",
"beneathStatic": "bajo la estática",
"knockTwice": "golpea dos veces"
},
"title": {
"seesYou": "QUANTUMANCY — te ve",
"behindYou": "QUANTUM▓NCY — detrás de ti",
"listening": "…escuchando…"
}
},
"ghostLog": {
"title": "REGISTRO FANTASMA",
"idle": "el velo está en silencio — no se detecta presencia",
"waiting": "escuchando indicios…",
"meterLabel": "medidor de maldad"
}
}