oxedyne/daimond/www/i18n/es.js
219 KiB, 3 runs
created by r2519314175:1325, which is this file's identity for as long as the history lasts, whatever it is later renamed to
download · who wrote it · its history
| 1 | /* i18n/es.js — Spanish. Machine-drafted from `en.js`; pending native review. |
| 2 | * |
| 3 | * The keys are the baseline's, unchanged. Product nouns are not translated: |
| 4 | * Daimond, Diamond, Daimond Pro, Hands, Stripe. Register is the informal "tú", |
| 5 | * as modern consumer software uses. |
| 6 | */ |
| 7 | (function () { |
| 8 | 'use strict'; |
| 9 | if (!window.DaimondI18n) return; |
| 10 | |
| 11 | window.DaimondI18n.register('es', { |
| 12 | |
| 13 | // ── Shared words ─────────────────────────────────────────── |
| 14 | 'common.close': 'Cerrar', |
| 15 | 'common.close_named': 'Cerrar {name}', |
| 16 | 'admin.close_drawer': 'Cerrar el panel de administración', |
| 17 | 'rail.close_rail': 'Cerrar el panel Diamonds', |
| 18 | 'sheet.close': 'Cerrar la hoja', |
| 19 | 'pal.close': 'Cerrar el cuadro Ir a', |
| 20 | 'common.dismiss': 'Descartar', |
| 21 | 'agents.read': 'Leer', |
| 22 | 'agents.read_help': 'Abre la transcripción de este agente como un archivo en el panel Doc', |
| 23 | 'agents.read_nothing': 'Este agente aún no ha dicho nada.', |
| 24 | 'common.close_panel': 'Cerrar panel', |
| 25 | 'common.refresh': 'Actualizar', |
| 26 | 'common.copy': 'Copiar', |
| 27 | 'common.cancel': 'Cancelar', |
| 28 | 'common.save': 'Guardar', |
| 29 | |
| 30 | // Copying an identifier. `copy.aria` wraps each `what_` so a reader hears |
| 31 | // "Copiar el ID de la compilación" rather than five buttons all called Copiar. |
| 32 | 'copy.aria': 'Copiar {what}', |
| 33 | 'copy.failed': 'No se pudo copiar', |
| 34 | 'copy.nothing': 'No hay nada que copiar', |
| 35 | 'copy.what_build': 'el ID de la compilación', |
| 36 | 'copy.what_build_n': 'el ID de la compilación {id}', |
| 37 | 'copy.what_fingerprint': 'la huella de tu cuenta', |
| 38 | 'copy.what_device': 'el ID de {name}', |
| 39 | 'copy.what_model': 'el ID del modelo {id}', |
| 40 | 'copy.what_default_model': 'el ID del modelo predeterminado', |
| 41 | 'copy.what_handle': 'tu nombre público', |
| 42 | |
| 43 | // ── The top bar ──────────────────────────────────────────── |
| 44 | 'topbar.menu': 'Menú', |
| 45 | 'topbar.open_menu': 'Abrir el menú', |
| 46 | 'topbar.brand': 'Daimond, la página de inicio de daimond.app', |
| 47 | 'topbar.made_by': 'Hecho por Oxedyne', |
| 48 | 'topbar.made_with_ai': 'Código hecho mayormente con IA', |
| 49 | 'topbar.up_to_date': 'Daimond está actualizado', |
| 50 | 'topbar.about': 'Acerca de Daimond', |
| 51 | 'topbar.guide': 'Abrir la guía de uso', |
| 52 | 'topbar.guide_short': 'Guía de uso', |
| 53 | 'topbar.appearance': 'Apariencia y disposición', |
| 54 | |
| 55 | // ── Acerca de ────────────────────────────────────────────── |
| 56 | // `about.what` es el párrafo de apertura de la guía: ya lo dice, y una |
| 57 | // segunda redacción sería una segunda que mantener al día. |
| 58 | 'about.title': 'Acerca de Daimond', |
| 59 | 'about.splash_alt': 'Una figura vuela por la noche hacia un diamante, sobre la curva de un planeta.', |
| 60 | 'about.what': 'Daimond es un espacio de trabajo con agentes de IA que funciona en tu navegador. No hay cuenta en un servidor ni nada que descargar. Tus chats, claves y archivos se quedan en este dispositivo.', |
| 61 | 'about.verify': 'Comprobar esta compilación con el código fuente publicado', |
| 62 | |
| 63 | // ── Panel names ──────────────────────────────────────────── |
| 64 | 'panel.rail': 'Diamonds', |
| 65 | 'panel.ai': 'IA', |
| 66 | 'panel.web': 'Web', |
| 67 | 'panel.doc': 'Doc', |
| 68 | 'panel.preview': 'Vista previa', |
| 69 | 'panel.msg': 'Mensaje de correo', |
| 70 | 'panel.tools': 'Herramientas', |
| 71 | 'panel.compose': 'Redactar', |
| 72 | 'panel.graph': 'Grafo', |
| 73 | 'panel.agents': 'Agentes', |
| 74 | 'panel.mail': 'Correo', |
| 75 | 'panel.work': 'Espacio', |
| 76 | 'panel.spend': 'Gastos', |
| 77 | 'panel.term': 'Terminal', |
| 78 | |
| 79 | // ── The chip row ─────────────────────────────────────────── |
| 80 | 'chip.dock_full': 'El dock está lleno. Elige una cuadrícula mayor en Apariencia, o cierra un panel.', |
| 81 | 'chip.show': 'Mostrar {name}', |
| 82 | 'chip.close': 'Cerrar {name}', |
| 83 | 'chip.open': 'Abrir {name}', |
| 84 | 'chip.open_instead': 'Abrir {name} en lugar del panel que está junto al chat', |
| 85 | 'chip.more.one': '{n} panel más', |
| 86 | 'chip.more.other': '{n} paneles más', |
| 87 | |
| 88 | // ── The panel gallery and the command palette ────────────── |
| 89 | 'gallery.title': 'Paneles', |
| 90 | 'pal.title': 'Ir a', |
| 91 | 'pal.placeholder': 'Ve a un panel, o a un ajuste…', |
| 92 | 'pal.results': 'Resultados', |
| 93 | 'pal.nothing': 'No hay coincidencias.', |
| 94 | 'pal.kind_panel': 'Panel', |
| 95 | 'pal.kind_theme': 'Tema', |
| 96 | 'pal.kind_size': 'Tamaño', |
| 97 | 'pal.kind_dock': 'Dock', |
| 98 | 'pal.kind_lang': 'Idioma', |
| 99 | 'pal.kind_ccy': 'Moneda', |
| 100 | 'pal.hint_open': 'abierto', |
| 101 | 'pal.hint_full': 'dock lleno', |
| 102 | 'pal.hint_current': 'actual', |
| 103 | |
| 104 | // ── The rail ─────────────────────────────────────────────── |
| 105 | 'rail.diamonds': 'Diamonds', |
| 106 | 'rail.diamonds_help': 'Un método repetible, destilado de una conversación.', |
| 107 | 'rail.new_diamond': 'Nuevo Diamond', |
| 108 | 'rail.unnamed_diamond': 'Diamond sin nombre', |
| 109 | 'rail.chats': 'Chats', |
| 110 | 'rail.chats_help': 'Conversación en bruto. De ella se talla un Diamond.', |
| 111 | 'rail.new_chat': 'Nuevo chat', |
| 112 | 'rail.chats_menu': 'Más', |
| 113 | 'rail.delete_all_chats': 'Borrar todos los chats', |
| 114 | 'layout.handle': 'Arrastra para redimensionar, doble clic para restablecer', |
| 115 | |
| 116 | // ── Admin ────────────────────────────────────────────────── |
| 117 | 'admin.identity': 'Tu identidad de Daimond', |
| 118 | 'admin.settings': 'Ajustes', |
| 119 | 'admin.local_identity': 'Identidad local', |
| 120 | 'admin.account_help': 'Tu cuenta. Haz clic para cerrar sesión, frase de paso y copia de seguridad.', |
| 121 | 'admin.locked': 'Bloqueado', |
| 122 | 'admin.locked_help': 'Bloqueado. Introduce tu frase de paso para desbloquear.', |
| 123 | 'admin.no_account': 'Sin cuenta', |
| 124 | 'admin.no_account_help': 'Tu clave de API está guardada sin cifrar. Haz clic para crear una cuenta y cifrarla.', |
| 125 | 'admin.no_crypto_help': 'Este navegador no tiene WebCrypto, así que aquí no se pueden cifrar las claves.', |
| 126 | 'admin.version_history': 'Historial de versiones', |
| 127 | |
| 128 | // ── Models and provider keys ─────────────────────────────── |
| 129 | 'models.lead': 'Una clave por cada proveedor que uses. Los chats y Diamonds nuevos arrancan con el modelo predeterminado; para un chat concreto puede elegirse cualquier modelo.', |
| 130 | 'models.add': '+ Añadir proveedor', |
| 131 | 'models.provider': 'Proveedor', |
| 132 | 'models.choose_provider': 'Elige un proveedor…', |
| 133 | 'models.custom_provider': 'Personalizado (avanzado)…', |
| 134 | 'models.base_url': 'URL base', |
| 135 | 'models.api_key': 'Clave de API', |
| 136 | 'models.api_key_ph': 'Pega tu clave de API', |
| 137 | 'models.default_model': 'Modelo predeterminado', |
| 138 | 'models.choose_provider_first': 'Elige primero un proveedor…', |
| 139 | 'models.model_id_ph': 'ID del modelo (escríbelo a mano)', |
| 140 | 'models.default_note': 'Los agentes nuevos usan este modelo salvo que elijas otro para ellos.', |
| 141 | 'models.save_start': 'Guardar y empezar', |
| 142 | 'models.privacy': '<strong>Todo se queda en este dispositivo.</strong> Tus claves, chats y archivos viven solo en este navegador, y a nosotros no nos llega nada.', |
| 143 | |
| 144 | // ── Search ───────────────────────────────────────────────── |
| 145 | // «Buscador» es el servicio, no la acción de buscar. Los nombres de los |
| 146 | // buscadores (Brave, Exa, Tavily, Serper) son nombres propios y no se |
| 147 | // traducen. |
| 148 | 'search.head': 'Búsqueda', |
| 149 | 'search.engine': 'Buscador', |
| 150 | // Una cuota gratuita, no una clave gratis: lo que pase de ahí lo cobra el |
| 151 | // proveedor al usuario. A propósito sin cifra y sin nombrar ningún buscador. |
| 152 | 'search.engine_note': 'Con qué servicio busca Daimond. La mayoría dan una cuota gratuita cada mes si traes tu propia clave.', |
| 153 | 'search.credits': 'Créditos de Daimond', |
| 154 | 'search.key': 'Clave de API', |
| 155 | 'search.key_note': 'Se queda en este dispositivo, sellada con tu frase de paso, y solo se envía con la búsqueda que paga.', |
| 156 | // {engine} es un nombre propio, por ejemplo Brave, y no se traduce. |
| 157 | 'search.no_key': 'Añade una clave para {engine}, o cambia a créditos de Daimond.', |
| 158 | 'search.kind_web': 'Web', |
| 159 | 'search.kind_news': 'Noticias', |
| 160 | 'search.kind_academic': 'Académico', |
| 161 | 'search.refused_serper': '{engine} solo se puede usar con tu propia clave.', |
| 162 | // {n} llega ya con sus separadores; no añadas ninguno. La coletilla del |
| 163 | // final se queda: es el precio de un tercero y caducará. |
| 164 | 'search.free_month': '{engine}: unas {n} búsquedas al mes gratis, la última vez que lo miramos.', |
| 165 | |
| 166 | // ── Credits, packs and Pro ───────────────────────────────── |
| 167 | 'credits.lead': 'Compra créditos y Daimond ejecuta el modelo por ti, sin ninguna clave de proveedor que gestionar. Sin suscripción. Lo que compras es tuyo, y no se te vuelve a cobrar nada salvo que actives la recarga automática.', |
| 168 | 'credits.balance': 'Saldo: {amount}', |
| 169 | 'credits.balance_unavailable': 'Saldo no disponible.', |
| 170 | 'credits.see_spend': 'Mira a dónde van tus gastos →', |
| 171 | 'credits.offline': 'El servicio de cuentas de Daimond no está disponible, así que no hay créditos. Tu propia clave de proveedor sigue funcionando.', |
| 172 | 'credits.need_account': 'Los créditos te permiten usar Daimond sin clave de proveedor. Necesitan una cuenta: una frase de paso guardada en este dispositivo.', |
| 173 | 'credits.need_passcode': 'Los creditos necesitan una cuenta, y esta pasarela no abre cuentas nuevas mientras la beta esta cerrada. Canjea un codigo arriba para abrir una.', |
| 174 | 'credits.create_account': 'Crear una cuenta', |
| 175 | 'credits.added': 'Créditos añadidos', |
| 176 | 'credits.now': 'Tu saldo es ahora {amount}.', |
| 177 | 'pro.owned': '<b>Tienes Daimond Pro.</b> La sincronización entre dispositivos, el almacenamiento en la nube y el correo están activos. Sin suscripción, y no se renueva nada.', |
| 178 | 'pro.offer': '<p><b>Daimond Pro, durante cinco años.</b> Un solo pago. Pro activa la sincronización entre dispositivos, el almacenamiento en la nube y el correo, de modo que tu propio correo se lee y se envía en el espacio de trabajo.</p>', |
| 179 | 'pro.fine': 'Sin suscripción, y no se renueva nada. El uso medido (inferencia, ancho de banda, almacenamiento por encima del nivel gratuito) se paga con créditos, tengas Pro o no.', |
| 180 | 'pro.buy': 'Comprar cinco años de Pro', |
| 181 | 'pro.buy_priced': 'Comprar cinco años de Pro por {price}', |
| 182 | 'billing.usd_note': 'El cobro se hace en dólares estadounidenses (USD); la cifra convertida es aproximada.', |
| 183 | 'billing.rates_as_of': 'Tipos de cambio a {date}, aproximados.', |
| 184 | |
| 185 | // ── The closed beta and its passcode ─────────────────────── |
| 186 | 'beta.title': 'Beta cerrada', |
| 187 | 'beta.title_unavailable': 'No se creó ninguna cuenta', |
| 188 | 'beta.title_plain': 'Código de beta', |
| 189 | 'beta.lead_beta_only': 'Este servidor todavía no abre cuentas nuevas. Lo cerrado es la cuenta, no la app: Daimond es gratis, funciona en tu navegador y sirve sin cuenta alguna con una clave de proveedor propia. La cuenta añade créditos e inferencia comprada por ti, así que no necesitas una clave propia. La sincronización entre dispositivos y el correo de Daimond vienen con Pro, que se compra por separado.', |
| 190 | 'beta.lead_unavailable': 'Este servidor no pudo decir si admite cuentas nuevas, así que no creó ninguna. Tu dispositivo no tiene nada malo, y mientras tanto Daimond funciona con tu propia clave de proveedor. Inténtalo de nuevo en un momento.', |
| 191 | 'beta.lead_no_reason': 'Este dispositivo aún no tiene cuenta de Daimond.', |
| 192 | 'beta.have_code': 'Si Oxedyne te envió un código de beta, escríbelo aquí. Vale una sola vez, en este dispositivo.', |
| 193 | 'beta.no_code': '¿No tienes código? Las plazas de cada tanda de pruebas se dan por solicitud.', |
| 194 | 'beta.apply': 'Solicitar probar Daimond', |
| 195 | 'beta.code': 'Código', |
| 196 | 'beta.code_ph': 'abcd-efgh-ijkl', |
| 197 | 'beta.redeem': 'Canjear', |
| 198 | 'beta.redeeming': 'Canjeando…', |
| 199 | 'beta.try_again': 'Reintentar', |
| 200 | 'beta.enter_code': 'Introducir un código', |
| 201 | 'beta.still_closed': 'Sigue sin haber cuenta. El servidor dio la misma respuesta.', |
| 202 | 'beta.err_enter_code': 'Escribe el código que te enviaron.', |
| 203 | 'beta.err_locked': 'Desbloquea Daimond primero: el código se canjea sobre la clave de este dispositivo.', |
| 204 | 'beta.err_no_identity': 'Este dispositivo no tiene identidad sobre la que canjear un código. Crea una primero.', |
| 205 | 'beta.err_unknown': 'Ese código no es de los que emitimos. Revísalo carácter por carácter: son doce caracteres, en tres grupos.', |
| 206 | 'beta.err_spent': 'Ese código ya se ha usado. Cada uno vale una vez, en un dispositivo.', |
| 207 | 'beta.err_expired': 'Ese código ha caducado. Pide otro a Oxedyne.', |
| 208 | 'beta.err_throttled': 'Demasiados intentos desde esta conexión. Espera un rato e inténtalo de nuevo.', |
| 209 | 'beta.err_generic': 'Ese código no fue aceptado.', |
| 210 | 'beta.err_unreachable': 'No se pudo contactar con el servicio de cuentas de Daimond, así que el código no se ha gastado. Inténtalo de nuevo en un momento.', |
| 211 | 'beta.done_title': 'Ya estás dentro', |
| 212 | 'beta.done_pro': 'Este dispositivo tiene cuenta de Daimond, y Pro está activo en ella: sincronización entre dispositivos, almacenamiento en la nube y correo.', |
| 213 | 'beta.done_plain': 'Este dispositivo tiene cuenta de Daimond. La app funciona por completo, y los créditos compran inferencia por ti, así que no necesitas una clave de proveedor propia. La sincronización entre dispositivos, el almacenamiento en la nube y el correo son lo que añade Pro: cómpralo cuando los quieras.', |
| 214 | 'beta.done_handle': 'Los demás ven esta cuenta como {handle}.', |
| 215 | 'beta.done_not_signed_in': 'El código se gastó y la cuenta existe, pero este dispositivo no pudo terminar de iniciar sesión ahora mismo. Lo intentará de nuevo por su cuenta.', |
| 216 | |
| 217 | // ── Lo único que se pide aceptar a quien prueba ──────────── |
| 218 | // Pendiente de revisión nativa, como el resto de esta tabla. `tel_never` es |
| 219 | // una afirmación sobre el código, no una promesa sobre nuestro cuidado: no |
| 220 | // debe suavizarse a «no recopilamos datos personales». |
| 221 | 'beta.tel_title': '¿Enviar recuentos de uso?', |
| 222 | 'beta.tel_title_on': 'Recuentos de uso', |
| 223 | 'beta.tel_lead': 'La prueba nos sirve mucho más si Daimond puede informar de cómo se usa. Envía solo números: cuál de veinte cosas ocurrió, cuántos milisegundos después de empezar la sesión, y un recuento en cada caso — cuánto duró un turno, qué panel se abrió, cuántos errores hubo.', |
| 224 | 'beta.tel_never': 'Nunca envía palabras. Ni un mensaje, ni un nombre de archivo, ni el nombre de un Diamond, ni una ruta, ni un mensaje de error. No hay ninguna casilla para ellos, y nuestro servidor rechaza cualquier informe que lleve alguna.', |
| 225 | 'beta.tel_who': 'Va a Oxedyne, a la cuenta que creó tu código, así que podemos ver qué números son tuyos y volver a preguntarte por ellos.', |
| 226 | 'beta.tel_free': 'Decir que no no te cuesta nada. Tu cuenta, tus créditos y todo lo demás siguen igual, y nada en la app funciona de otra manera.', |
| 227 | 'beta.tel_more': 'Qué se envía, en detalle', |
| 228 | 'beta.tel_yes': 'Enviar recuentos de uso', |
| 229 | 'beta.tel_no': 'No enviar', |
| 230 | 'beta.tel_on': 'Daimond está enviando recuentos de uso de esta cuenta: solo números, nunca palabras.', |
| 231 | 'beta.tel_stop': 'Dejar de enviar recuentos de uso', |
| 232 | |
| 233 | // ── La puerta de entrada ─────────────────────────────────── |
| 234 | // Traducción automática, sin revisión de un hablante nativo. |
| 235 | 'door.head': '¿Nuevo en Daimond?', |
| 236 | 'door.lead': 'Está en pruebas cerradas, así que las cuentas se dan por código de acceso.', |
| 237 | 'door.test': 'Solicitar probarlo', |
| 238 | 'door.waitlist': 'Unirme a la lista', |
| 239 | 'door.code': 'Tengo un código', |
| 240 | 'door.code_later': 'Crea antes tu frase de contraseña: un código se canjea sobre la clave de este dispositivo. El campo del código se abrirá solo en cuanto pueda.', |
| 241 | |
| 242 | // ── Auto-reload ──────────────────────────────────────────── |
| 243 | 'autoreload.title': 'Recarga automática', |
| 244 | 'autoreload.lead': 'Daimond puede comprar créditos cuando se acaban, para que un trabajo largo no se pare a mitad. Carga a la tarjeta de abajo sin preguntar, hasta el límite que fijes aquí.', |
| 245 | 'autoreload.card_word': 'tarjeta', |
| 246 | 'autoreload.card_has': '{brand} terminada en {last4}', |
| 247 | 'autoreload.replace': 'Cambiar…', |
| 248 | 'autoreload.replace_help': 'Guarda otra tarjeta. La recoge Stripe; Daimond nunca la ve.', |
| 249 | 'autoreload.no_card': 'No hay ninguna tarjeta guardada.', |
| 250 | 'autoreload.save_card': 'Guardar una tarjeta', |
| 251 | 'autoreload.save_card_help': 'Abre la propia página de Stripe. No se cobra nada, y ningún dato de la tarjeta llega a Daimond.', |
| 252 | 'autoreload.switch_on': 'Comprar créditos automáticamente', |
| 253 | 'autoreload.switch_no_card': 'Comprar créditos automáticamente (guarda antes una tarjeta)', |
| 254 | 'autoreload.when_below': 'Cuando el saldo baje de', |
| 255 | 'autoreload.when_below_hint': 'La recarga salta en cuanto un turno deja el saldo por debajo de esto.', |
| 256 | 'autoreload.buy_amount': 'Comprar esta cantidad', |
| 257 | 'autoreload.buy_amount_hint': 'Una sola recarga. La pasarela no vende más de {max} de una vez.', |
| 258 | 'autoreload.monthly_cap': 'No gastar nunca al mes más de', |
| 259 | 'autoreload.monthly_cap_hint': 'Lo máximo que la recarga automática puede gastar en un mes natural. Súbelo aquí si necesitas más.', |
| 260 | 'autoreload.spent': 'Gastado este mes: {spent}', |
| 261 | 'autoreload.spent_of': 'Gastado este mes: {spent} de {cap}', |
| 262 | 'autoreload.last_error': 'La última recarga automática falló: {reason}', |
| 263 | 'autoreload.saving': 'Guardando…', |
| 264 | 'autoreload.on_note': 'Activada. Daimond se recarga solo, dentro de tu límite mensual.', |
| 265 | 'autoreload.off_note': 'Desactivada. No se cobrará nada.', |
| 266 | |
| 267 | // ── The chat ─────────────────────────────────────────────── |
| 268 | 'chat.no_chat': 'Sin chat', |
| 269 | 'chat.model_for_chat': 'Modelo para este chat', |
| 270 | 'chat.select_all': 'Seleccionar todo', |
| 271 | 'chat.deselect_all': 'Deseleccionar todo', |
| 272 | 'chat.fold_selected': 'Plegar lo seleccionado', |
| 273 | 'chat.fold_now': 'Plegar', |
| 274 | 'chat.fold_now_help': 'Plegar esta conversación ahora, conservando un resumen de lo anterior.', |
| 275 | 'say.more': 'el detalle', |
| 276 | 'say.less': 'ocultar el detalle', |
| 277 | 'rail.dupes_trashed': 'Se eliminaron {n} copias duplicadas de los Diamonds integrados — las creó una sincronización antigua. Están en la Papelera por si quieres recuperar alguna.', |
| 278 | 'rail.dupes_kept': 'Hay {n} Diamonds integrados duplicados más, pero has trabajado en ellos, así que no se eliminó nada. Borra los que no quieras.', |
| 279 | 'ask.of': 'Decisión {n} de {of}', |
| 280 | 'ask.recommended': 'Recomendado', |
| 281 | 'ask.why': 'Por qué: {why}', |
| 282 | 'ask.silent': 'Si no dice nada: {what}', |
| 283 | 'ask.other': 'Otra cosa…', |
| 284 | 'ask.other_ph': 'Responda con sus propias palabras', |
| 285 | 'ask.send': 'Enviar esta respuesta', |
| 286 | 'ask.answered': 'Su respuesta: {what}', |
| 287 | 'say.more_help': 'Unos {n} tokens, guardados en este dispositivo. Cerrados no se envían al modelo; abiertos sí.', |
| 288 | 'say.less_help': 'Unos {n} tokens. Mientras esto esté abierto, el modelo también los ve en cada turno.', |
| 289 | 'chat.copy_all_aria': 'Copiar la conversación', |
| 290 | 'wire.role_help': 'Tu prompt de rol. Edítalo en prompts/: es la parte del mensaje de sistema que te pertenece.', |
| 291 | 'wire.safety_help': 'Se añade tras tus cambios, en cada turno. No puedes quitarlo editando tu prompt de rol.', |
| 292 | 'wire.tools_help': 'Escrito a partir de las herramientas que esta conversación tiene realmente, para que no prometa una que no está.', |
| 293 | 'wire.machine_help': 'Escrito a partir de la misma valla que lo aplica, así la descripción y la regla no pueden discrepar.', |
| 294 | 'wire.schemas_help': 'El esquema JSON completo de cada herramienta, enviado en cada petición. Suele ser lo más grande del envío.', |
| 295 | 'wire.diamond_help': 'Compuesto solo para este turno: la carpeta propia del Diamond, lo que el clip ha marcado, y su memoria — crystal.json — tal como está. La capp que hay al lado se nombra, nunca se envía.', |
| 296 | 'wire.standing_help': 'Tu DAIMOND.md, añadido al mensaje de sistema de cada turno en cada conversación.', |
| 297 | 'wire.chip': 'Wire', |
| 298 | 'wire.chip_help': 'Muestra lo que se envía realmente al modelo en cada turno: el mensaje de sistema, de quién es cada parte y los esquemas de herramientas.', |
| 299 | 'wire.head': 'Se envía en cada turno, antes de nada de lo que hayas dicho — unos {n} tokens', |
| 300 | 'wire.role': 'Prompt de rol', |
| 301 | 'wire.role_why': 'tuyo', |
| 302 | 'wire.safety': 'Cláusula de seguridad', |
| 303 | 'wire.safety_why': 'inamovible', |
| 304 | 'wire.tools': 'Nombres de herramientas', |
| 305 | 'wire.tools_why': 'del registro', |
| 306 | 'wire.machine': 'Este ordenador', |
| 307 | 'wire.machine_why': 'de la valla', |
| 308 | 'wire.diamond': 'Este Diamond', |
| 309 | 'wire.diamond_why': 'solo este turno', |
| 310 | 'wire.standing': 'Instrucciones permanentes', |
| 311 | 'wire.standing_why': 'tuyas', |
| 312 | 'wire.schemas': 'Esquemas de herramientas ({n})', |
| 313 | 'wire.schemas_why': 'cada turno', |
| 314 | 'chat.copy_all': 'Copiar', |
| 315 | 'chat.copy_all_help': 'Copia toda la conversación al portapapeles, como texto sin formato.', |
| 316 | 'chat.copy_all_said': 'La conversación se copió al portapapeles.', |
| 317 | 'chat.copy_all_empty': 'Todavía no hay nada que copiar en esta conversación.', |
| 318 | 'chat.copy_all_failed': 'Daimond no pudo acceder al portapapeles. Selecciona el texto y cópialo tú mismo.', |
| 319 | 'chat.steps': 'Pasos', |
| 320 | 'chat.concise': 'Conciso', |
| 321 | 'chat.concise_help': 'Pide respuestas breves en este chat. Cada mensaje lleva la habilidad /concise, un archivo de tu espacio de trabajo que puedes editar.', |
| 322 | 'chat.concise_failed_title': 'Conciso no está disponible', |
| 323 | 'chat.concise_failed': 'Daimond no pudo escribir .daimond/skills/concise.md, así que el chip rechazaría cada turno en vez de acortarlo. Abre una carpeta de espacio de trabajo, o revisa el panel Archivos, e inténtalo de nuevo.', |
| 324 | 'chat.steps_help': 'Mostrar u ocultar los pasos de las herramientas en el hilo', |
| 325 | 'chat.collapse_help': 'Plegar todas las respuestas, dejar lo que preguntaste, y elegir qué turnos plegar', |
| 326 | 'chat.input_ph': 'Escribe un mensaje…', |
| 327 | 'chat.send': 'Enviar', |
| 328 | 'chat.busy': 'Pensando…', |
| 329 | 'chat.thinking': 'Razonamiento', |
| 330 | 'chat.busy_tool': 'Ejecutando {tool}, paso {n}…', |
| 331 | 'chat.busy_next': 'Paso {n} terminado, pensando…', |
| 332 | 'chat.busy_road': 'Se perdió la conexión: reintentando {name} ({n} de {of})…', |
| 333 | 'chat.busy_writing': 'Escribiendo la respuesta…', |
| 334 | // One command's own line, when the turn's fence withheld the network from it. |
| 335 | // `src/tools.rs`'s NO_NET_NOTE says the same thing to the model; this is the |
| 336 | // half a person can read. A statement of what happened, not a failure. |
| 337 | 'chat.tool_no_net': 'Esto se ejecutó sin red, porque Daimond había leído algo escrito por otra persona. Todo lo que intentara descargar, instalar o clonar no obtuvo nada. El botón de permisos la devuelve.', |
| 338 | 'chat.answered': 'Daimond respondió, {n} palabras', |
| 339 | 'chat.answer_failed': 'Daimond no pudo responder', |
| 340 | 'chat.collapse': 'Plegar todas las respuestas', |
| 341 | 'chat.jump': 'Volver a tu último mensaje', |
| 342 | 'chat.end': 'Ir al final del chat', |
| 343 | 'chat.jump_help': 'Vuelve a tu último mensaje. Púlsalo otra vez para ir recorriendo los anteriores.', |
| 344 | 'chat.end_help': 'Salta al final del chat.', |
| 345 | 'chat.new': '+ Nuevo chat', |
| 346 | // Messages typed while an answer is still arriving. They are held, shown, and |
| 347 | // sent one turn each once the answer is finished. Short on purpose: a phone’s |
| 348 | // composer is ~120px wide, and a longer line wraps to two clipped rows. |
| 349 | 'chat.queue_ph': 'Escribe el siguiente mensaje…', |
| 350 | 'chat.queue_help': 'En espera. Se envía cuando termine esta respuesta', |
| 351 | 'chat.queued_pending': 'Todavía no se ha enviado. Haz clic para editarlo.', |
| 352 | 'chat.queue_cancel': 'No enviar esto', |
| 353 | // Traducción automática: hablar dentro de un turno que ya está en marcha. La |
| 354 | // línea también dice el límite: una respuesta sin herramientas no tiene costura. |
| 355 | 'chat.send_into': 'Enviar dentro de esta respuesta', |
| 356 | 'chat.interject_help': 'En espera. Entra en el siguiente paso del modelo, o cuando termine esta respuesta', |
| 357 | 'chat.interject_pending': 'Todavía no se ha entregado. Haz clic para editarlo.', |
| 358 | 'chat.interjected': 'Aquí interviniste', |
| 359 | 'chat.interjected_help': 'Dicho dentro del turno en este punto. El modelo lo tuvo desde aquí.', |
| 360 | 'chat.queue_returned': 'Ese turno no llegó a terminar, así que lo que dejaste en espera ha vuelto al cuadro, sin enviar.', |
| 361 | // The same thing said on the chat's TILE, for a queue left on a conversation |
| 362 | // the user has walked away from: money about to be spent should not depend |
| 363 | // on remembering. |
| 364 | 'chat.queue_badge.one': '{n} en espera', |
| 365 | 'chat.queue_badge.other': '{n} en espera', |
| 366 | 'chat.queue_badge_help.one': 'Hay un mensaje en espera en este chat. Ábrelo y se envía como su propio turno.', |
| 367 | 'chat.queue_badge_help.other': 'Hay {n} mensajes en espera en este chat. Ábrelo y se envían, uno por turno.', |
| 368 | |
| 369 | // ── Cómo terminó el turno, y una plantilla de un Diamond ─── |
| 370 | 'end.how_answered': 'Respondido', |
| 371 | 'end.how_stopped': 'Detenido', |
| 372 | 'end.how_capped': 'Límite de pasos alcanzado', |
| 373 | 'end.how_silent': 'Terminó sin decir nada', |
| 374 | 'end.how_failed': 'Terminó con un error', |
| 375 | 'end.no_calls': 'sin usar herramientas', |
| 376 | 'end.calls.one': '{n} llamada a herramienta', |
| 377 | 'end.calls.other': '{n} llamadas a herramientas', |
| 378 | 'end.refused.one': '{n} rechazada', |
| 379 | 'end.refused.other': '{n} rechazadas', |
| 380 | 'end.broke.one': '{n} falló', |
| 381 | 'end.broke.other': '{n} fallaron', |
| 382 | 'end.missing': 'no se escribió: {paths}', |
| 383 | 'end.help': 'Cómo terminó este turno. Herramientas disponibles: {offered}. Peticiones enviadas: {rounds}. Llamadas a herramientas: {calls}.', |
| 384 | |
| 385 | 'tmpl.section': 'Plantilla', |
| 386 | 'tmpl.dlg_help': 'Una plantilla lleva la forma de este Diamond — la página con la que se dibuja, su automatización y lo que una capp guarde a su lado — y nada de lo que ha registrado. Las acciones activadas se dejan fuera a propósito: un disparador se activa sin que nadie pulse nada, y uno que viajara pondría a trabajar la máquina de otra persona solo porque abrió un archivo. Quien la abra obtiene un Diamond NUEVO; nada suyo se sobrescribe.', |
| 387 | 'tmpl.with_conversation': 'Incluir lo que ha registrado', |
| 388 | 'tmpl.with_conversation_help': 'Lleva todo en su lugar: la memoria, la conversación guardada y las entradas propias de una capp. Sigue siendo una plantilla, así que sigue abriéndose como un Diamond nuevo.', |
| 389 | 'tmpl.save': 'Guardar como plantilla…', |
| 390 | 'tmpl.saving': 'Creando la plantilla…', |
| 391 | 'tmpl.saved': 'Guardada como {file}. Quien la reciba la abre como un Diamond propio, desde la vista Compartir del panel Social.', |
| 392 | 'tmpl.panel_head': 'Abrir una plantilla', |
| 393 | 'tmpl.panel_help': 'Una plantilla es la forma de un Diamond sin su contenido: la página con la que se dibuja y su automatización, y nada de lo que ha registrado. Se abre como un Diamond NUEVO y nunca puede sobrescribir uno que ya tengas. Las acciones activadas nunca viajan, porque un disparador se activa sin que nadie pulse nada.', |
| 394 | 'tmpl.panel_open': 'Abrir un archivo de plantilla…', |
| 395 | 'tmpl.opened': 'Abierta como un Diamond nuevo, «{name}». Llegaron {n} archivo(s).', |
| 396 | 'tmpl.unnamed': 'esta plantilla', |
| 397 | 'tmpl.code_title': 'Esta plantilla contiene código', |
| 398 | 'tmpl.code_body': '«{name}» incluye una página: un programa escrito por otra persona, que Daimond ejecutará cuando la abras. Una plantilla no lleva firma ni nombre de nadie, así que nada aquí puede decirte de dónde viene: solo puede hacerlo quien te dio el archivo.\n\nQué se añadiría: {files}\n\nSe abre como un Diamond NUEVO y nunca puede sobrescribir uno que ya tengas. Rechazarla no escribe nada en absoluto.', |
| 399 | 'tmpl.code_ok': 'Aceptar la página y abrirla', |
| 400 | 'tmpl.declined': 'La página no se aceptó, así que no se ha abierto nada.', |
| 401 | 'tmpl.err_empty': 'Ese archivo está vacío, así que no hay nada que abrir.', |
| 402 | 'tmpl.err_not_template': 'Ese archivo no es una plantilla de Daimond.', |
| 403 | 'tmpl.err_file_huge': 'Ese archivo ocupa {size}, más de lo que puede ocupar cualquier plantilla, así que no se abrió.', |
| 404 | 'tmpl.err_no_file': 'No se eligió ningún archivo, así que no se abrió nada.', |
| 405 | 'tmpl.err_nothing': 'No hay nada que guardar: ese Diamond ha dado una plantilla vacía.', |
| 406 | 'tmpl.err_no_door': 'Esta versión puede leer una plantilla pero no tiene dónde abrirla.', |
| 407 | |
| 408 | // ── The Web panel ────────────────────────────────────────── |
| 409 | 'web.who_drives': 'Quién conduce', |
| 410 | 'web.back': 'Atrás', |
| 411 | 'web.reload': 'Recargar', |
| 412 | 'web.pop_out': 'Abrir en una pestaña real', |
| 413 | // El nombre del control de pausa en la cabecera del panel, para que |
| 414 | // `pause.act_pause` diga «Pausar Acceso web». Gobierna `root/web`, que |
| 415 | // alcanza más que este panel, así que no se llama «Este panel». |
| 416 | 'web.pause': 'Acceso web', |
| 417 | 'web.blind_title': 'Conduces tú. Yo no miro.', |
| 418 | 'web.blind_note': 'Daimond ha dejado de leer esta página. Ni texto, ni imagen, ni pulsaciones. Inicia sesión y luego pulsa <b>Reanudar Daimond</b> en la pestaña del navegador para devolverle el volante. Ese botón está en la pestaña, para que esta página nunca pueda quitarte el volante.', |
| 419 | 'web.resumed': 'He reanudado, comprueba', |
| 420 | |
| 421 | // ── Compose ──────────────────────────────────────────────── |
| 422 | 'compose.from': 'De', |
| 423 | 'compose.to': 'Para', |
| 424 | 'compose.cc': 'Cc', |
| 425 | 'compose.subject': 'Asunto', |
| 426 | 'compose.optional': 'Opcional', |
| 427 | 'compose.body_ph': 'Escribe tu mensaje.', |
| 428 | 'compose.send': 'Enviar', |
| 429 | 'compose.save_draft': 'Guardar borrador', |
| 430 | 'compose.attach': 'Adjuntar…', |
| 431 | 'compose.discard': 'Descartar', |
| 432 | |
| 433 | // ── Agents ───────────────────────────────────────────────── |
| 434 | 'agents.control_all': 'Controlar todos los agentes', |
| 435 | 'agents.pause_all': 'Pausar todos los agentes', |
| 436 | 'agents.resume_all': 'Reanudar todos los agentes en pausa', |
| 437 | 'agents.stop_all': 'Detener todos los agentes', |
| 438 | 'agents.clear_finished': 'Limpiar los agentes terminados', |
| 439 | 'agents.search': 'Buscar agentes', |
| 440 | 'agents.search_help': 'Buscar agentes por nombre, tarea, Diamond o etiqueta', |
| 441 | |
| 442 | // ── Email ────────────────────────────────────────────────── |
| 443 | 'mail.write': 'Escribir un mensaje', |
| 444 | 'mail.add_mailbox': 'Añadir un buzón', |
| 445 | 'mail.sync_now': 'Sincronizar ahora', |
| 446 | |
| 447 | // The pitch, shown while Email is not unlocked on this account. |
| 448 | 'mail.pitch.head': '<b>Daimond puede leer tu correo.</b> Tu bandeja de entrada aterriza en el espacio de trabajo como archivos normales, así que cualquier agente puede leerla, buscar en ella y trabajar a partir de ella.', |
| 449 | 'mail.pitch.fine': 'El correo es parte de Pro —un solo pago, y cinco años de él— junto con la sincronización entre dispositivos y el almacenamiento en la nube. Cubre {cap} buzones. Enviar y recibir se miden contra los créditos, como la inferencia. Sin suscripción, y no se renueva nada.', |
| 450 | 'mail.pitch.privacy': 'La pasarela de Daimond hace la conexión y olvida tu contraseña. En nuestro lado no se guarda ningún correo.', |
| 451 | 'mail.pitch.unknown': 'No se puede contactar con el servicio de cuentas, así que Daimond no sabe si el correo está desbloqueado aquí.', |
| 452 | 'mail.pro_pitch': 'El correo es parte de Pro. Compra cinco años de Pro para activarlo, junto con la sincronización y el almacenamiento en la nube.', |
| 453 | |
| 454 | // The mailbox list. |
| 455 | 'mail.remove_mailbox': 'Quitar este buzón', |
| 456 | 'mail.remove_mailbox_named': 'Quitar el buzón {address}', |
| 457 | 'mail.no_mailbox': 'Todavía no hay ningún buzón. Pulsa <b>+</b> para añadir uno.', |
| 458 | 'mail.remove.title': '¿Quitar {address}?', |
| 459 | 'mail.remove.body': 'El correo ya sincronizado se queda en el espacio de trabajo. El buzón libera una plaza de tu desbloqueo.', |
| 460 | 'mail.remove.ok': 'Quitar', |
| 461 | 'mail.ago.never': 'nunca', |
| 462 | 'mail.ago.just_now': 'ahora mismo', |
| 463 | 'mail.ago.mins': 'hace {n} min', |
| 464 | 'mail.ago.hours': 'hace {n} h', |
| 465 | 'mail.ago.days': 'hace {n} d', |
| 466 | |
| 467 | // Folders. |
| 468 | 'mail.folders': 'Carpetas', |
| 469 | 'mail.folders_loading': 'Buscando carpetas…', |
| 470 | 'mail.refreshed_held': '{done} carpetas actualizadas en {boxes} buzones; {held} retenidas por una pausa.', |
| 471 | 'mail.refreshed': '{done} carpetas actualizadas en {boxes} buzones.', |
| 472 | 'mail.count.never': 'Aún no se ha traído, así que no hay cuenta.', |
| 473 | 'mail.count.asat': '{n} mensajes, a fecha de {when}.', |
| 474 | 'mail.count.more': 'Otros {n} esperaban en el servidor entonces.', |
| 475 | 'mail.settings': 'Ajustes del buzón', |
| 476 | 'mail.settings_named': 'Ajustes de {address}', |
| 477 | 'mail.all_mailboxes': 'Todos los buzones', |
| 478 | 'mail.refresh_all': 'Actualizar las {folders} carpetas de {boxes} buzones', |
| 479 | 'mail.every.0': 'Solo manual', |
| 480 | 'mail.every.300': 'Cada 5 minutos', |
| 481 | 'mail.every.900': 'Cada 15 minutos', |
| 482 | 'mail.every.1800': 'Cada 30 minutos', |
| 483 | 'mail.every.3600': 'Cada hora', |
| 484 | 'mail.every.14400': 'Cada 4 horas', |
| 485 | 'mail.every.43200': 'Cada 12 horas', |
| 486 | 'mail.every.86400': 'Una vez al día', |
| 487 | 'mail.every.secs': 'Cada {n} segundos', |
| 488 | 'mail.every_for': 'Cada cuánto se actualiza {folder}', |
| 489 | 'mail.cfg.head': 'Cada cuánto mira cada carpeta, y cuáles tienen permiso. Cada actualización cuesta créditos, así que nada se consulta hasta que tú lo digas.', |
| 490 | 'mail.cfg.self': 'Retiene todas las carpetas de abajo.', |
| 491 | 'mail.cfg.title': 'Ajustes de {address}', |
| 492 | 'mail.folders_err': 'No se ha podido traer la lista de carpetas: {reason}', |
| 493 | 'mail.folder.inbox': 'Bandeja de entrada', |
| 494 | 'mail.folder.sent': 'Enviados', |
| 495 | 'mail.folder.drafts': 'Borradores', |
| 496 | 'mail.folder.trash': 'Papelera', |
| 497 | 'mail.folder.junk': 'Spam', |
| 498 | 'mail.folder.archive': 'Archivo', |
| 499 | 'mail.folder.all': 'Todo el correo', |
| 500 | 'mail.folder.flagged': 'Destacados', |
| 501 | |
| 502 | // The message list. |
| 503 | 'mail.drafts_head': 'Borradores · {n}', |
| 504 | 'mail.no_subject': '(sin asunto)', |
| 505 | 'mail.no_recipient': '(sin destinatario)', |
| 506 | 'mail.unknown_sender': '(desconocido)', |
| 507 | 'mail.nothing_yet': 'Aquí todavía no hay nada. Pulsa <b>⟳</b> para sincronizar.', |
| 508 | |
| 509 | // Syncing. |
| 510 | 'mail.note.syncing': 'Sincronizando {folder} en {address}…', |
| 511 | 'mail.note.fetching_older': 'Trayendo correo más antiguo de {folder} en {address}…', |
| 512 | 'mail.note.rebuilt': 'El buzón se reconstruyó en el servidor; resincronizando desde el principio…', |
| 513 | 'mail.note.up_to_date': 'Al día.', |
| 514 | 'mail.note.no_older': 'No queda correo más antiguo por traer.', |
| 515 | 'mail.note.new.one': '{n} mensaje nuevo', |
| 516 | 'mail.note.new.other': '{n} mensajes nuevos', |
| 517 | 'mail.note.older.one': '{n} mensaje más antiguo', |
| 518 | 'mail.note.older.other': '{n} mensajes más antiguos', |
| 519 | 'mail.note.still_older.one': 'queda {n} más antiguo en el servidor', |
| 520 | 'mail.note.still_older.other': 'quedan {n} más antiguos en el servidor', |
| 521 | |
| 522 | // The foot of the list: what the cap held back. |
| 523 | 'mail.more.note.one': 'Queda {n} mensaje más antiguo en el servidor. Daimond trae los {batch} más nuevos cada vez, así que nunca se descarga tu buzón entero de golpe.', |
| 524 | 'mail.more.note.other': 'Quedan {n} mensajes más antiguos en el servidor. Daimond trae los {batch} más nuevos cada vez, así que nunca se descarga tu buzón entero de golpe.', |
| 525 | 'mail.more.next': 'Traer los siguientes {n}', |
| 526 | 'mail.more.stop': 'Parar', |
| 527 | 'mail.more.all': 'Traerlo todo', |
| 528 | |
| 529 | // Walking a whole mailbox down. |
| 530 | 'mail.all.title': '¿Traer los {n} mensajes que quedan?', |
| 531 | 'mail.all.body': 'Llegan en tandas de {batch} y se escriben en el espacio de trabajo, así que un buzón grande tarda y ocupa disco. La sincronización se mide contra tus créditos por megabyte. Si paras a medias, lo que haya llegado se queda.', |
| 532 | 'mail.all.ok': 'Traerlo todo', |
| 533 | 'mail.all.progress': 'Traídos {got} de {total}…', |
| 534 | 'mail.all.count.one': '{n} mensaje', |
| 535 | 'mail.all.count.other': '{n} mensajes', |
| 536 | 'mail.all.done': 'Hecho. {count} traídos.', |
| 537 | 'mail.all.done_left': 'Hecho. {count} traídos, {left} siguen en el servidor.', |
| 538 | 'mail.all.stopped': 'Parado. {count} traídos.', |
| 539 | 'mail.all.stopped_left': 'Parado. {count} traídos, {left} siguen en el servidor.', |
| 540 | |
| 541 | // Quoting and forwarding. |
| 542 | 'mail.quote.head': 'El {date}, {who} escribió:', |
| 543 | 'mail.quote.they': 'alguien', |
| 544 | 'mail.fwd.sep': '---------- Mensaje reenviado ----------', |
| 545 | |
| 546 | // Adding a mailbox. |
| 547 | 'mail.add.title': 'Añadir un buzón', |
| 548 | 'mail.add.lead': 'La pasarela de Daimond se conecta a tu servidor de correo, devuelve los mensajes y olvida tu contraseña. La contraseña se cifra en este dispositivo con tu frase de paso.', |
| 549 | 'mail.add.ok': 'Añadir y sincronizar', |
| 550 | 'mail.add.address': 'Dirección de correo', |
| 551 | 'mail.add.password': 'Contraseña de aplicación', |
| 552 | 'mail.add.password_ph': 'La contraseña de aplicación de tu proveedor', |
| 553 | 'mail.add.imap': 'Servidor IMAP', |
| 554 | 'mail.add.smtp': 'Servidor SMTP', |
| 555 | 'mail.add.port': 'Puerto', |
| 556 | 'mail.add.guess': 'Daimond necesitará los nombres de servidor de este proveedor (a menudo imap.{domain} para leer y smtp.{domain} para enviar).', |
| 557 | 'mail.add.err_address': 'Eso no es una dirección de correo.', |
| 558 | 'mail.add.err_password': 'La contraseña de aplicación es obligatoria.', |
| 559 | 'mail.add.err_imap': 'Daimond necesita el nombre del servidor IMAP.', |
| 560 | 'mail.add.err_port': 'IMAP funciona en el puerto 993 (TLS) o 143.', |
| 561 | 'mail.add.err_smtp': 'Daimond necesita el nombre del servidor SMTP para enviar desde este buzón.', |
| 562 | 'mail.add.err_smtp_port': 'El correo se envía por el puerto 587 o 465.', |
| 563 | |
| 564 | // Provider guidance. |
| 565 | 'mail.preset.gmail': 'Gmail necesita una <b>contraseña de aplicación</b> (Cuenta de Google → Seguridad → Verificación en dos pasos → Contraseñas de aplicaciones), no tu contraseña de Google.', |
| 566 | 'mail.preset.gmail_short': 'Gmail necesita una <b>contraseña de aplicación</b>, no tu contraseña de Google.', |
| 567 | 'mail.preset.outlook': 'Outlook necesita una <b>contraseña de aplicación</b> si tienes activada la verificación en dos pasos.', |
| 568 | 'mail.preset.yahoo': 'Yahoo exige una <b>contraseña de aplicación</b> generada en Seguridad de la cuenta.', |
| 569 | 'mail.preset.icloud': 'iCloud exige una <b>contraseña específica de la aplicación</b>.', |
| 570 | 'mail.preset.fastmail': 'Fastmail exige una contraseña de aplicación con acceso IMAP.', |
| 571 | 'mail.unreachable.proton': 'Al correo de Proton solo se llega a través del Proton Bridge que corre en tu propia máquina, con el que la pasarela de Daimond no puede conectar.', |
| 572 | 'mail.unreachable.tuta': 'Tuta no ofrece IMAP, así que ningún cliente de correo puede leerlo, Daimond incluido.', |
| 573 | |
| 574 | // What can go wrong. |
| 575 | 'mail.err.unlock_first': 'Desbloquea antes Daimond. La contraseña del correo está cifrada con tu frase de paso.', |
| 576 | 'mail.err.draft_needs_mailbox': 'Un borrador necesita un buzón desde el que salir.', |
| 577 | 'mail.err.draft_unreadable': 'No se ha podido leer ese borrador.', |
| 578 | 'mail.err.msg_unreadable': 'No se ha podido leer ese mensaje.', |
| 579 | 'mail.err.send_from_added': 'Envía desde un buzón que hayas añadido y sincronizado.', |
| 580 | 'mail.err.no_recipients': 'Un mensaje sin destinatarios no se puede enviar.', |
| 581 | 'mail.err.add_mailbox_first': 'Añade un buzón antes de escribir un mensaje.', |
| 582 | 'mail.err.service_unavailable': 'El servicio de cuentas no está disponible.', |
| 583 | 'mail.err.service_unreachable': 'No se ha podido contactar con el servicio de cuentas de Daimond. Inténtalo de nuevo en breve.', |
| 584 | 'mail.err.cap.one': 'Este desbloqueo cubre {n} buzón. Quita uno para añadir otro.', |
| 585 | 'mail.err.cap.other': 'Este desbloqueo cubre {n} buzones. Quita uno para añadir otro.', |
| 586 | |
| 587 | 'mail.err.protocol_pending': 'Daimond todavía no puede recoger el correo: el túnel privado está terminado y el protocolo de correo aún no está conectado a él. No se envió nada, y tu contraseña no salió nunca de este dispositivo.', |
| 588 | |
| 589 | // El túnel: TLS termina en el navegador, así que estas son las únicas palabras |
| 590 | // que alguien recibe sobre una conexión que la pasarela no puede leer. |
| 591 | 'mail.tunnel.close.auth': 'Daimond cerró la sesión de este dispositivo, así que la conexión de correo fue rechazada. Desbloquea Daimond y vuelve a recoger.', |
| 592 | 'mail.tunnel.close.pro': 'El correo forma parte de Pro, y esta cuenta no lo ha desbloqueado. Compra Pro en Créditos y el correo se abre.', |
| 593 | 'mail.tunnel.close.host': 'Daimond solo llega a un servidor de correo que esta cuenta haya vinculado, y {host} no es uno de ellos. Añade el buzón otra vez — Daimond vincula sus servidores al hacerlo — y luego recoge.', |
| 594 | 'mail.tunnel.close.port': 'El correo se conecta por los puertos 993, 143, 465 y 587, y {port} no es ninguno de ellos. Corrige el puerto en los ajustes del buzón.', |
| 595 | 'mail.tunnel.close.credits': 'Tus créditos se agotaron a medio camino. Recarga en Créditos y vuelve a recoger; lo que ya bajó está en este dispositivo.', |
| 596 | 'mail.tunnel.close.concurrent': 'Esta cuenta ya tiene cuatro conexiones de correo. Deja que termine otro buzón, o cierra otra pestaña de Daimond, y vuelve a recoger.', |
| 597 | 'mail.tunnel.close.unresolved': '{host} no resuelve a una dirección que Daimond pueda marcar. Revisa el nombre del servidor en los ajustes del buzón — una errata se ve exactamente así — o si el DNS de esta red lo conoce.', |
| 598 | 'mail.tunnel.close.toobig': 'La conexión de correo envió más de una vez de lo que la pasarela transporta, así que se cerró. Vuelve a recoger.', |
| 599 | 'mail.tunnel.close.done': 'El servidor de correo terminó la conexión antes de que acabara la recogida. Vuelve a recoger; lo que bajó está en este dispositivo.', |
| 600 | 'mail.tunnel.close.unreachable': 'No se pudo alcanzar {host}. Revisa el nombre del servidor en los ajustes del buzón, o inténtalo en un momento.', |
| 601 | 'mail.tunnel.close.no_socket': 'La conexión de correo no se pudo abrir en absoluto. Comprueba que tienes red y vuelve a recoger.', |
| 602 | 'mail.tunnel.close.idle': 'El servidor de correo dejó de responder, así que la conexión se cerró. Vuelve a recoger para continuar.', |
| 603 | 'mail.tunnel.close.expired': 'Estaba tardando demasiado, así que la conexión de correo se cerró. Vuelve a recoger y continuará donde se quedó.', |
| 604 | 'mail.tunnel.close.other': 'La conexión de correo se cerró de forma inesperada (código {code}). Vuelve a recoger.', |
| 605 | 'mail.tunnel.err.no_server': 'Ese buzón no tiene servidor ni puerto configurados. Abre sus ajustes y complétalos.', |
| 606 | 'mail.tunnel.err.no_client': 'Daimond no pudo iniciar una conexión de correo cifrada — {reason}', |
| 607 | 'mail.tunnel.err.slow': '{host} no terminó el saludo cifrado en {secs} segundos. Inténtalo en un momento.', |
| 608 | 'mail.tunnel.err.no_reply': '{host} no respondió al paso {what} en {secs} segundos. Vuelve a recoger.', |
| 609 | 'mail.tunnel.err.cert': 'Daimond no pudo verificar el certificado de {host} ({fault}), así que no envió nada. Tu contraseña se queda en este dispositivo hasta que el servidor pueda demostrar quién es.', |
| 610 | 'mail.tunnel.err.cert_name': '{host} ofreció un certificado emitido para otro servidor ({fault}), así que Daimond no envió nada. Revisa el nombre del servidor en los ajustes del buzón.', |
| 611 | 'mail.tunnel.err.cert_expired': '{host} ofreció un certificado caducado ({fault}), así que Daimond no envió nada. Si el reloj de esta máquina está mal, corrígelo y vuelve a recoger.', |
| 612 | 'mail.tunnel.err.cert_issuer': '{host} ofreció un certificado de un emisor en el que Daimond no confía ({fault}), así que no envió nada. Un certificado autofirmado se ve así, y una conexión interceptada también.', |
| 613 | 'mail.tunnel.err.starttls': 'El canal cifrado hacia {host} no se pudo iniciar — {reason}', |
| 614 | 'mail.tunnel.err.starttls_early': '{host} envió algo antes de que el canal cifrado estuviera en pie, así que Daimond descartó la conexión en lugar de confiar en ella. No se envió nada.', |
| 615 | |
| 616 | // ── Workspace files ──────────────────────────────────────── |
| 617 | 'work.new_file': 'Archivo nuevo', |
| 618 | 'work.new_folder': 'Carpeta nueva', |
| 619 | 'work.upload': 'Subir archivos', |
| 620 | 'work.parent': 'Carpeta superior', |
| 621 | 'work.filter_ph': 'Filtrar…', |
| 622 | 'work.breadcrumb': 'Ruta de la carpeta', |
| 623 | |
| 624 | // ── The phone shell ──────────────────────────────────────── |
| 625 | 'sheet.panel': 'Panel', |
| 626 | 'sheet.ask': 'Preguntar', |
| 627 | 'sheet.ask_ph': 'Pregunta sobre esto…', |
| 628 | 'sheet.ask_about': 'Pregunta sobre {thing}…', |
| 629 | |
| 630 | // ── Identity: creating and unlocking ─────────────────────── |
| 631 | 'identity.your_name': 'Tu nombre', |
| 632 | 'identity.passphrase': 'Frase de paso', |
| 633 | 'identity.confirm_passphrase': 'Confirma la frase de paso', |
| 634 | 'identity.show_passphrase': 'Mostrar la frase de paso', |
| 635 | 'identity.hide_passphrase': 'Ocultar la frase de paso', |
| 636 | 'identity.generate_another': 'Generar otra', |
| 637 | 'identity.wrote_it_down': 'La he anotado en un lugar seguro', |
| 638 | 'identity.choose_own': 'Prefiero elegir mi propia frase de paso', |
| 639 | 'identity.skip': 'Ahora no', |
| 640 | 'identity.create_account': 'Crear cuenta', |
| 641 | 'identity.unlock': 'Desbloquear', |
| 642 | 'identity.forget': 'Olvidar esta identidad…', |
| 643 | 'identity.use_generated': 'Usar mejor una frase de paso generada', |
| 644 | 'identity.title_create': 'Crea tu cuenta', |
| 645 | 'identity.title_unlock': 'Desbloquea Daimond', |
| 646 | 'identity.title_welcome': 'Bienvenido de nuevo, {name}', |
| 647 | 'identity.title_linked': 'Vinculado. Ahora desbloquéalo', |
| 648 | 'identity.lead_create': 'Elige un nombre. La frase de paso la genera Daimond mismo, aquí abajo. Si ya usas Daimond en otro dispositivo, no crees una segunda cuenta: elige «¿Tienes un código de vinculación?» para enlazar esta. (Abrir una carpeta real para que los agentes la editen requiere Chrome, Edge o Brave.)', |
| 649 | 'identity.lead_unlock': 'Introduce tu frase de paso para desbloquear este dispositivo y descifrar la clave que tienes guardada.', |
| 650 | 'identity.lead_linked': 'Este dispositivo está vinculado a tu cuenta. Introduce la MISMA frase de paso que usas en tu otro dispositivo, no una nueva, para traer aquí tus chats y archivos.', |
| 651 | 'identity.lead_linked_named': 'Este dispositivo está vinculado a tu cuenta «{name}». Introduce la MISMA frase de paso que usas en tu otro dispositivo, no una nueva, para traer aquí tus chats y archivos.', |
| 652 | 'identity.gen_note': 'Ocho palabras elegidas al azar por este dispositivo, unos {bits} bits, muy por encima de lo adivinable. Es la llave de todo lo que guardes aquí, y nadie puede restablecerla por ti. Anótala en papel. Puede que tu gestor de contraseñas se ofrezca a guardarla; con esta fuerza es seguro.', |
| 653 | |
| 654 | // ── Cross-device sync ────────────────────────────────────── |
| 655 | 'sync.syncing': 'Sincronizando…', |
| 656 | 'sync.synced': 'Sincronizado', |
| 657 | 'sync.off': 'Sincronización desactivada', |
| 658 | 'sync.off_reason': 'La sincronización entre dispositivos es parte de Pro, que esta cuenta no tiene.', |
| 659 | // The chip is the only place this is said, so it also has to be the way to |
| 660 | // the offer: it is clickable in this state, and opens Pro in Credits. |
| 661 | 'sync.off_click': 'Haz clic para ver Pro en Créditos.', |
| 662 | 'sync.off_pitch': 'La sincronización está desactivada porque esta cuenta no tiene Pro. Pro añade sincronización entre dispositivos, almacenamiento en la nube y correo.', |
| 663 | // A refused parcel. Say what is too large, and what usually makes it so. |
| 664 | 'sync.too_big': 'Sincronización en pausa', |
| 665 | 'sync.too_big_reason': 'El paquete de este dispositivo es demasiado grande para enviarlo, así que su trabajo ha dejado de viajar. Lo normal es que la causa sea un Diamond o un archivo del espacio de trabajo muy grande; redúcelo o quítalo y la sincronización se reanuda sola.', |
| 666 | 'sync.diamonds_left.one': '{n} Diamond no cupo en el paquete de sincronización de este dispositivo y no llegará a tus otros dispositivos hasta que sea más pequeño: {names}', |
| 667 | 'sync.diamonds_left.other': '{n} Diamonds no cupieron en el paquete de sincronización de este dispositivo y no llegarán a tus otros dispositivos hasta que sean más pequeños: {names}', |
| 668 | // A file the parcel had no room for, named the way a Diamond that did not fit is |
| 669 | // named. The same news in the same shape; not an error -- the budget is doing what |
| 670 | // it is for, and nothing at the far end is deleted. |
| 671 | 'sync.files_left.one': '{n} archivo no cupo en el paquete de sincronización de este dispositivo y no llegará a tus otros dispositivos hasta que haya sitio para él: {names}', |
| 672 | 'sync.files_left.other': '{n} archivos no cupieron en el paquete de sincronización de este dispositivo y no llegarán a tus otros dispositivos hasta que haya sitio para ellos: {names}', |
| 673 | // Una sesión que terminó y no se pudo retomar. Misma etiqueta que abajo: lo |
| 674 | // que importa es que el trabajo de este dispositivo no está viajando. |
| 675 | 'sync.signed_out': 'Sincronización en pausa', |
| 676 | 'sync.signed_out_reason': 'Este dispositivo tiene la sesión cerrada en el servicio de cuentas de Daimond y no pudo volver a iniciarla, así que su trabajo no llega a tus otros dispositivos. Se reanuda en cuanto el servicio esté disponible. Si no, bloquea Daimond y desbloquéalo.', |
| 677 | 'sync.paused': 'Sincronización en pausa', |
| 678 | 'sync.busy_reason': 'Otro dispositivo está guardando en esta cuenta al mismo tiempo, así que el trabajo de este dispositivo aún no se ha enviado. Saldrá con el próximo cambio.', |
| 679 | 'sync.merge_reason': 'Parte de lo que llegó del otro dispositivo no se pudo combinar aquí, así que este dispositivo no ha escrito por encima. Recargar la página suele bastar.', |
| 680 | 'sync.last_synced': 'Última sincronización {when}.', |
| 681 | 'sync.last_never': 'Todavía no se ha sincronizado nada desde este dispositivo.', |
| 682 | 'sync.when_just_now': 'ahora mismo', |
| 683 | 'sync.when_mins': 'hace {n} min', |
| 684 | 'sync.when_hours': 'hace {n} h', |
| 685 | 'sync.when_days': 'hace {n} d', |
| 686 | |
| 687 | // ── El identificador público de la cuenta ────────────────── |
| 688 | 'handle.taken': 'Ese identificador ya lo tiene otra persona. Prueba con otro.', |
| 689 | 'handle.invalid': 'Un identificador tiene de 3 a 24 caracteres: minúsculas, números y guiones entre ellos.', |
| 690 | 'handle.reserved': 'Ese identificador está reservado para Daimond y no se puede tomar.', |
| 691 | 'handle.failed': 'El identificador no se ha podido cambiar ahora mismo. Inténtalo de nuevo en breve.', |
| 692 | |
| 693 | // ── Cloud storage cleanup ────────────────────────────────── |
| 694 | 'chunks.sweep_held': 'Limpieza en pausa', |
| 695 | 'chunks.sweep_held_reason': 'El almacenamiento en la nube conserva {n} de sus {m} fragmentos guardados a los que ya no hace referencia ningún archivo de esta cuenta. NO se han borrado, porque ninguna petición puede eliminar más de la mitad de lo almacenado. No falta nada tuyo, y el espacio se libera con la próxima sincronización que pueda dar cuenta de todo.', |
| 696 | 'chunks.upload_refused': 'Subidas en pausa', |
| 697 | 'chunks.upload_refused_title': 'El almacenamiento en la nube rechazó una subida', |
| 698 | 'chunks.sweep_confirm_ask': '¿Borrarlos ahora? No se toca nada de lo que aún puedes ver, y se libera el espacio.', |
| 699 | 'chunks.sweep_confirm_ok': 'Borrar los fragmentos', |
| 700 | 'chunks.sweep_confirm_title': '¿Liberar los fragmentos a los que ya no hace referencia nada?', |
| 701 | |
| 702 | // ── Pairing a second device ──────────────────────────────── |
| 703 | 'pair.link_another': 'Vincular otro dispositivo', |
| 704 | 'pair.link_this': 'Vincular este dispositivo', |
| 705 | 'pair.have_code': '¿Tienes un código de vinculación?', |
| 706 | 'pair.making_code': 'Creando un código de un solo uso…', |
| 707 | 'pair.scan_lead': 'En tu otro teléfono, apunta la cámara a esto para abrir Daimond y vincularlo:', |
| 708 | 'pair.no_camera': 'Sin cámara, abre Daimond allí, elige «¿Tienes un código de vinculación?» e introduce:', |
| 709 | 'pair.type_lead': 'En tu otro dispositivo, abre Daimond, elige «¿Tienes un código de vinculación?» e introduce:', |
| 710 | 'pair.code_expiry': 'Este código sirve una sola vez y caduca en unos {mins} minutos. Desbloquearás el otro dispositivo con tu frase de paso de siempre.', |
| 711 | 'pair.code_ph': 'código de vinculación', |
| 712 | 'pair.code_check': 'Este es el código de tu otro dispositivo. Debería coincidir con el que se muestra allí.', |
| 713 | 'pair.scanned_lead': 'Escaneado desde tu otro dispositivo. Toca «Vincular este dispositivo» aquí abajo para traer tu cuenta.', |
| 714 | 'pair.manual_lead': 'En el dispositivo que ya usas, elige «Vincular otro dispositivo» y escribe aquí el código que te muestre.', |
| 715 | 'pair.linked': 'Este dispositivo está vinculado', |
| 716 | 'pair.linked_note': 'Ya tiene tu cuenta. Toca Desbloquear e introduce la MISMA frase de paso que usas en tu otro dispositivo, no una nueva.', |
| 717 | 'pair.linked_named': 'Ya tiene tu cuenta «{name}». Toca Desbloquear e introduce la MISMA frase de paso que usas en tu otro dispositivo, no una nueva.', |
| 718 | 'pair.name_this': 'Ponle nombre a este dispositivo (opcional)', |
| 719 | 'pair.name_ph': 'p. ej. Portátil de la cocina', |
| 720 | 'pair.named_note': 'Este dispositivo aparecerá como «{name}» en tu lista de dispositivos. Allí podrás cambiarlo más adelante.', |
| 721 | 'pair.err_no_identity': 'En este dispositivo no hay ninguna identidad que vincular.', |
| 722 | 'pair.err_unreadable_local': 'No se ha podido leer la identidad de este dispositivo.', |
| 723 | 'pair.err_sign_in_first': 'Inicia sesión en este dispositivo antes de vincular otro.', |
| 724 | 'pair.err_enter_code': 'Introduce el código de vinculación de tu otro dispositivo.', |
| 725 | 'pair.err_bad_code': 'Ese código no es válido o ha caducado. Crea uno nuevo en tu otro dispositivo.', |
| 726 | 'pair.err_bundle_unreadable': 'No se ha podido leer la identidad vinculada.', |
| 727 | 'pair.err_bundle_import': 'No se ha podido importar la identidad vinculada.', |
| 728 | 'pair.err_create': 'No se ha podido crear un código de vinculación.', |
| 729 | 'pair.err_link': 'No se ha podido vincular este dispositivo.', |
| 730 | // The one-time presentation handover. Say that it happened and that it is |
| 731 | // this device’s own from now on. |
| 732 | 'pair.look_carried': 'Tu tema, tu idioma y la disposición de los paneles también han venido. A partir de ahora cada dispositivo tiene los suyos, así que cambiar uno no toca el otro.', |
| 733 | |
| 734 | // ── The appearance menu ──────────────────────────────────── |
| 735 | 'menu.view': 'Vista', |
| 736 | 'menu.view_simple': 'Simple', |
| 737 | 'menu.view_max': 'Máx', |
| 738 | 'menu.view_simple_help': 'Cada elemento muestra su nombre y si está en marcha. Lo demás está a un clic.', |
| 739 | 'menu.view_max_help': 'Modelos, coste y contexto junto a cada elemento, para comparar sin abrir nada.', |
| 740 | 'menu.view_note': 'También fija la forma de cada tarjeta. Usa el engranaje de una tarjeta para que esa tarjeta sea distinta.', |
| 741 | 'menu.theme': 'Tema', |
| 742 | 'menu.tone_light': 'Claro', |
| 743 | 'menu.tone_mid': 'Intermedio', |
| 744 | 'menu.tone_dark': 'Oscuro', |
| 745 | 'menu.theme_light': 'Papel', |
| 746 | 'menu.theme_mist': 'Niebla', |
| 747 | 'menu.theme_linen': 'Lino', |
| 748 | 'menu.theme_lollypop': 'Piruleta', |
| 749 | 'menu.theme_sage': 'Salvia', |
| 750 | 'menu.theme_dusk': 'Ocaso', |
| 751 | 'menu.theme_dark': 'Brasa', |
| 752 | 'menu.theme_amber': 'Ámbar', |
| 753 | 'menu.theme_amber_help': 'Cálido y pobre en azul, para leer de noche.', |
| 754 | 'menu.theme_midnight': 'Medianoche', |
| 755 | 'menu.theme_forest': 'Bosque', |
| 756 | 'menu.theme_plum': 'Ciruela', |
| 757 | 'menu.text_size': 'Tamaño del texto', |
| 758 | 'menu.smaller': 'Texto más pequeño', |
| 759 | 'menu.larger': 'Texto más grande', |
| 760 | 'menu.dock_tiling': 'Cuadrícula del dock', |
| 761 | 'menu.dock_auto': 'Auto', |
| 762 | 'menu.dock_auto_help': 'Una segunda columna cuando la ventana sea lo bastante ancha', |
| 763 | 'menu.dock_grid_help.one': '{cols} columna, hasta {cells} paneles', |
| 764 | 'menu.dock_grid_help.other': '{cols} columnas, hasta {cells} paneles', |
| 765 | 'menu.language': 'Idioma', |
| 766 | 'menu.language_help': 'Lo que dice Daimond. Un idioma que todavía no tiene tabla se queda en inglés.', |
| 767 | 'menu.language_pending': 'aún sin traducir', |
| 768 | 'menu.currency': 'Moneda', |
| 769 | 'menu.currency_help': 'La moneda en que se muestran las cifras. El cobro es siempre en dólares estadounidenses.', |
| 770 | 'menu.this_diamond': 'Este Diamond', |
| 771 | 'menu.arrangement_update': 'Actualizar la disposición guardada', |
| 772 | 'menu.arrangement_keep': 'Guardar esta disposición con {name}', |
| 773 | 'menu.arrangement_keep_this': 'Guardar esta disposición con este Diamond', |
| 774 | 'menu.arrangement_forget': 'Olvidarla', |
| 775 | 'menu.arrangement_note': 'Al volver a abrir este Diamond se restauran los paneles en los que se trabajó. No se recuerda nada hasta que lo pides.', |
| 776 | |
| 777 | // ── Text-size steps ──────────────────────────────────────── |
| 778 | 'size.small': 'Pequeño', |
| 779 | 'size.normal': 'Normal', |
| 780 | 'size.large': 'Grande', |
| 781 | 'size.larger': 'Muy grande', |
| 782 | |
| 783 | // ── Dock grids ───────────────────────────────────────────── |
| 784 | 'dock.one_column': 'Una columna', |
| 785 | 'dock.2x2': '2 por 2', |
| 786 | 'dock.2x3': '2 por 3', |
| 787 | 'dock.3x2': '3 por 2', |
| 788 | 'dock.automatic': 'Automático', |
| 789 | |
| 790 | // ── The panel gallery rows ───────────────────────────────── |
| 791 | 'gallery.search_ph': 'Buscar paneles', |
| 792 | 'gallery.no_match': 'No hay ningún panel con ese nombre.', |
| 793 | 'gallery.zone_rail': 'La barra lateral', |
| 794 | 'gallery.zone_stage': 'Junto al chat', |
| 795 | 'gallery.zone_dock': 'El dock', |
| 796 | 'gallery.note': 'Los paneles fijados se quedan en la barra superior. Pulsa <kbd>Ctrl</kbd> <kbd>K</kbd> para llegar a cualquier panel desde el teclado.', |
| 797 | 'gallery.state_unrevealed': 'aún sin usar', |
| 798 | 'gallery.state_full': 'dock lleno', |
| 799 | 'gallery.state_open': 'abierto', |
| 800 | 'gallery.state_no_room': 'no cabe en la barra', |
| 801 | 'gallery.pin': 'Mantener {name} en la barra superior', |
| 802 | 'gallery.unpin': 'Quitar {name} de la barra superior', |
| 803 | |
| 804 | // ── Spending ─────────────────────────────────────────────── |
| 805 | 'spend.intro': 'Dos bolsillos, separados. La inferencia corre con tu propia clave de proveedor; los créditos pagan a la pasarela las pocas cosas que salen del navegador.', |
| 806 | 'spend.inference': 'Inferencia', |
| 807 | 'spend.inference_hint': 'se cobra a tu propia clave de proveedor', |
| 808 | 'spend.credits': 'Créditos', |
| 809 | 'spend.credits_hint': 'servicios de la pasarela: web, correo, sincronización', |
| 810 | 'spend.no_usage': 'No hay uso registrado.', |
| 811 | 'spend.no_account': 'Todavía no hay cuenta en la pasarela. Los créditos pagan las pocas cosas que salen del navegador: traer una página web, enviar o sincronizar correo, la sincronización entre dispositivos. Añade una frase de paso y créditos para empezar.', |
| 812 | 'spend.this_week': 'esta semana', |
| 813 | 'spend.this_month': 'este mes', |
| 814 | 'spend.session': 'esta sesión', |
| 815 | 'spend.balance': 'saldo', |
| 816 | 'spend.tok': 'tok', |
| 817 | 'spend.period_day': 'Hoy', |
| 818 | 'spend.period_week': 'Semana', |
| 819 | 'spend.period_month': 'Mes', |
| 820 | 'spend.no_turns': 'Todavía no hay turnos en esta ventana.', |
| 821 | 'spend.nothing_yet': 'Nada todavía.', |
| 822 | 'spend.nothing_spent': 'Aquí no se ha gastado nada todavía.', |
| 823 | 'spend.no_movements': 'Todavía no hay movimientos de créditos.', |
| 824 | 'spend.where_credits_went': 'A dónde fueron los créditos', |
| 825 | 'spend.unknown_model': '(desconocido)', |
| 826 | 'spend.meter_help': 'Mira a dónde van tus gastos', |
| 827 | 'spend.rates_note': 'Las cifras se convierten a tipos aproximados ({date}); el cobro se hace en dólares estadounidenses.', |
| 828 | 'spend.col_model': 'Modelo', |
| 829 | 'spend.col_turns': 'Turnos', |
| 830 | 'spend.col_tokens': 'Tokens', |
| 831 | 'spend.col_cost': 'Coste', |
| 832 | 'spend.col_key': 'Clave', |
| 833 | 'spend.col_left': 'Queda', |
| 834 | 'spend.col_period_spend': 'Gastado', |
| 835 | 'spend.provider_keys': 'Claves de proveedor', |
| 836 | 'spend.left_auto': 'Lo que el proveedor dice que queda en esta clave.', |
| 837 | 'spend.left_manual': 'Tu propia cifra, descontando lo que Daimond calcula que has gastado desde entonces.', |
| 838 | 'spend.left_unknown': 'Este proveedor no dice qué queda, y tú no se lo has dicho a Daimond.', |
| 839 | 'spend.all_reported': 'Todos los turnos de este periodo vinieron con un coste del proveedor, así que esto es lo que se cobró.', |
| 840 | 'spend.part_reported': 'De esto, {amount} lo informaron los proveedores; el resto está calculado con la tabla de tarifas de Daimond.', |
| 841 | 'spend.none_reported': 'Calculado con la tabla de tarifas de Daimond. Ningún proveedor informó de un coste para estos turnos.', |
| 842 | 'spend.none_reported_unknown': 'Calculado con la tabla de tarifas de Daimond, en la que falta uno de estos modelos, así que la cifra es solo orientativa.', |
| 843 | 'spend.repriced': 'Las estimaciones hechas antes de que se corrigiera la tabla de tarifas se han recalculado en este dispositivo; con la tabla anterior, este periodo marcaba {amount}.', |
| 844 | 'spend.col_when': 'Cuándo', |
| 845 | 'spend.col_what': 'Qué', |
| 846 | 'spend.col_amount': 'Importe', |
| 847 | 'spend.col_balance': 'Saldo', |
| 848 | 'spend.cat_web': 'Páginas web', |
| 849 | 'spend.cat_search': 'Búsquedas web', |
| 850 | 'spend.cat_mail': 'Correo', |
| 851 | 'spend.cat_sync': 'Sincronización', |
| 852 | 'spend.cat_storage': 'Archivos guardados', |
| 853 | 'spend.cat_infer': 'Inferencia con créditos', |
| 854 | 'spend.cat_other': 'Otros servicios', |
| 855 | 'spend.cat_topup': 'Créditos comprados', |
| 856 | 'spend.cat_refund': 'Reembolsos', |
| 857 | 'spend.cat_grant': 'Regalos y donaciones', |
| 858 | 'spend.cat_adjust': 'Ajustes', |
| 859 | 'spend.cat_fallback': 'Otros', |
| 860 | 'spend.cat_unlisted': 'Sin clasificar', |
| 861 | |
| 862 | // ── Tools ────────────────────────────────────────────────── |
| 863 | 'tools.unlock_price': 'Desbloquear por {price}', |
| 864 | 'tools.unreachable': 'No se ha podido contactar con el servicio de cuentas, así que no se sabe qué hay desbloqueado aquí.', |
| 865 | 'tools.no_service': 'El servicio de cuentas no está disponible.', |
| 866 | |
| 867 | // ── Errors the app rewrites for the user ─────────────────── |
| 868 | 'err.unreachable': 'No se ha podido contactar con ese endpoint. Comprueba la URL base en Ajustes, y tu conexión.', |
| 869 | 'err.rejected_401': 'Tu clave de API ha sido rechazada (401). Abre Ajustes y compruébala.', |
| 870 | 'err.denied_403': 'El proveedor ha denegado el acceso (403). Comprueba tu clave y tu plan.', |
| 871 | 'err.notfound_404': 'El proveedor respondió 404. Si los pasos anteriores de este turno funcionaron, la URL base está bien y el modelo no pudo atender esta petición en concreto — casi siempre una que lleva una imagen. Si no, revisa la URL base en Ajustes.', |
| 872 | 'err.ratelimit_429': 'El proveedor te está limitando la frecuencia (429). Espera un momento y reinténtalo.', |
| 873 | 'err.server_5xx': 'El proveedor ha tenido un error de servidor. Inténtalo de nuevo en breve.', |
| 874 | 'err.generic': 'Algo ha ido mal. Inténtalo de nuevo.', |
| 875 | 'err.reply_cut': 'La respuesta se quedó sin espacio en {max} tokens, así que una llamada a herramienta llegó incompleta y no pudo ejecutarse. Aumenta la longitud de respuesta en Ajustes, o pide un cambio más pequeño', |
| 876 | |
| 877 | // ── Cuánto puede durar una respuesta ─────────────────────── |
| 878 | 'settings.max_tokens': 'Respuesta más larga', |
| 879 | 'settings.max_tokens_auto': 'Automático', |
| 880 | 'settings.tokens': 'tokens', |
| 881 | 'settings.max_rounds': 'Pasos por turno', |
| 882 | 'settings.crystal_limits': 'Tamaño del cristal', |
| 883 | 'settings.crystal_cap': 'Límite de tamaño del cristal', |
| 884 | 'settings.crystal_cap_note': 'Un cristal es el resumen de un Diamond, así que tiene un tope. Pasado ese tope, un daimon pone el detalle en un archivo del ámbito del Diamond.', |
| 885 | 'settings.crystal_cap_auto': 'Predeterminado', |
| 886 | 'settings.crystal_page_cap': 'Límite de tamaño de la página', |
| 887 | 'settings.crystal_page_cap_note': 'La página que muestra los datos de un Diamond. Viaja en cada sincronización y comparte el presupuesto con los datos.', |
| 888 | 'settings.max_rounds_auto': 'Predeterminado', |
| 889 | 'settings.steps': 'pasos', |
| 890 | 'settings.max_rounds_note': 'Cuántas veces puede un agente usar una herramienta antes de que un turno se detenga. Lo dice al detenerse, y puedes indicarle que siga.', |
| 891 | 'settings.fold_at': 'Plegar la conversación al', |
| 892 | 'settings.fold_at_auto': 'Predeterminado', |
| 893 | 'settings.fold_at_note': 'Cuánto se llena la ventana de contexto antes de que Daimond sustituya la parte anterior de un chat por un resumen. Lo dice en el hilo cuando ocurre. Más bajo pliega antes y más a menudo; más alto conserva más de la conversación palabra por palabra.', |
| 894 | 'settings.max_tokens_note': 'Cuánto puede durar una sola respuesta. Si es muy baja, un archivo grande llega cortado por la mitad.', |
| 895 | 'settings.max_tokens_ceiling': 'acepta hasta', |
| 896 | |
| 897 | // ── Cuando las conversaciones dejan de guardarse ─────────── |
| 898 | 'store.alarm': 'Tus conversaciones no se están guardando.', |
| 899 | 'store.alarm_advice': 'Todo lo que ves sigue aquí, pero al recargar se perdería. Descarga una copia ahora.', |
| 900 | 'store.alarm_download': 'Descargar una copia', |
| 901 | 'store.alarm_retry': 'Reintentar', |
| 902 | 'store.full': 'no queda espacio en el almacenamiento de este navegador para este sitio', |
| 903 | 'identity.err_no_sealing_key': 'Este dispositivo no tiene clave de sellado, así que no puede abrir un mensaje sellado. Desbloquea la identidad una vez y se creará una.', |
| 904 | 'store.empty_read': 'este navegador no devolvió ninguna de las {n} conversaciones que guarda', |
| 905 | // ── La escalera de permisos ──────────────────────────────── |
| 906 | 'permmode.title': 'Modo de permisos', |
| 907 | 'permmode.lead': 'Lo que Daimond hace sin preguntar', |
| 908 | 'permmode.chip_help': 'Lo que Daimond hace sin preguntar', |
| 909 | 'permmode.chip_aria': 'Modo de permisos: {mode}. Cámbialo.', |
| 910 | 'permmode.astat': 'Permisos: {mode}', |
| 911 | 'permmode.never': 'Ningún modo mueve el cercado, las carpetas de un Diamond ni el registro.', |
| 912 | 'permmode.failed': 'Ese modo de permisos no se pudo aplicar, así que no ha cambiado nada.', |
| 913 | 'permmode.net_head': 'Comandos y la red', |
| 914 | 'permmode.net_open': 'No se ha leído nada de fuera, así que no se retiene nada.', |
| 915 | 'permmode.net_cut': 'Se ha leído algo escrito por otra persona, así que los comandos se ejecutan sin red.', |
| 916 | 'permmode.net_allowed': 'Los comandos pueden llegar a la red.', |
| 917 | 'permmode.net_refused': 'Los comandos se ejecutan sin red.', |
| 918 | 'permmode.net_bypass': 'Con «Sin preguntas» no se retiene nada.', |
| 919 | 'permmode.net_each': 'Preguntar una vez por chat', |
| 920 | 'permmode.net_always': 'Permitir siempre', |
| 921 | 'permmode.net_never': 'Nunca', |
| 922 | 'permmode.net_cut_mark': 'sin red', |
| 923 | 'permmode.ask': 'Preguntar siempre', |
| 924 | 'permmode.ask_blurb': 'Cada comando se te consulta primero. Y llegar a la web también, una vez por conversación.', |
| 925 | 'permmode.guarded': 'Vigilado', |
| 926 | 'permmode.guarded_blurb': 'Los comandos se ejecutan. En cuanto se lee algo escrito por otra persona, Daimond pregunta antes de salir.', |
| 927 | 'permmode.bypass': 'Sin preguntas', |
| 928 | 'permmode.bypass_blurb': 'No se pregunta nada, sea lo que sea que se haya leído.', |
| 929 | 'permmode.bypass_title': '¿Dejar de preguntar?', |
| 930 | 'permmode.bypass_body': 'Los comandos se ejecutan en tu máquina y las páginas se buscan sin preguntar, incluso después de que Daimond haya leído una página, un correo o un registro de compilación escrito por otra persona.\n\nEse último caso es lo que cedes: aquel en que algo que tú no escribiste podría convencer a Daimond de enviar tu trabajo a otra parte.\n\nQuedan intactos: el cercado dentro del cual se ejecuta un comando, las carpetas propias de cada Diamond, el filtro de llamadas al sistema y el registro que puedes revisar después; y el texto de fuera sigue marcado como las palabras de otra persona.\n\nNo se te preguntará de nuevo.', |
| 931 | 'permmode.bypass_ok': 'Usar sin preguntas', |
| 932 | 'permmode.run_title': '¿Ejecutar este comando?', |
| 933 | 'permmode.run_body': 'Daimond quiere ejecutar un comando en tu máquina.\n\n{cmd}\n\nen {cwd}\n\nEl modo «preguntar siempre» te presenta cada comando primero.', |
| 934 | 'permmode.run_ok': 'Ejecutarlo', |
| 935 | 'permmode.net_title': '¿Dejar que este comando llegue a la red?', |
| 936 | 'permmode.net_body': 'Daimond ha leído algo escrito por otra persona, así que los comandos se ejecutan sin red. Lo que leyó podría elegir adónde va este comando.\n\n{cmd}\n\nen {cwd}\n\nSí deja pasar este comando y solo este. No lo ejecuta igualmente, sin red, y eso mismo ocurre si no dices nada.', |
| 937 | 'permmode.net_ok': 'Permitir la red', |
| 938 | 'permmode.net_remember': 'Permitirlo en todos los chats y dejar de preguntar', |
| 939 | 'permmode.act_worker_title': 'Un agente quiere actuar en una página', |
| 940 | 'permmode.act_worker_body': 'Un agente que trabaja por su cuenta quiere pulsar algo en {host}. Tú no lo estás dirigiendo y él no puede preguntarte, así que pregunta Daimond. Pulsar puede gastar tu dinero, enviar un mensaje o mandar un formulario, y nada de eso se puede deshacer. Decir que sí permite esta única pulsación y nada después de ella.', |
| 941 | 'permmode.type_worker_body': 'Un agente que trabaja por su cuenta quiere escribir esto en {host} y enviarlo:\n\n{text}\n\nTú no lo estás dirigiendo y él no puede preguntarte, así que pregunta Daimond. El texto enviado a un sitio no se puede recuperar. Decir que sí permite este único acto y nada después de él.', |
| 942 | 'permmode.net_not_fetch': 'Esto trata de comandos. Una página que Daimond obtiene por su cuenta es una pregunta aparte: se hace una vez por conversación, y un sí ahí vale para todos los sitios hasta que esa conversación termine.', |
| 943 | 'pal.kind_permmode': 'Permisos', |
| 944 | 'chat.compacted': 'Conversación plegada', |
| 945 | 'chat.compacted_help': 'Daimond ha sustituido la parte anterior por un resumen para que la conversación quepa en la ventana de contexto del modelo.', |
| 946 | 'chat.fold_boundary': 'El modelo ya no tiene lo que está encima de esta línea tal como se escribió: tiene el resumen de esta nota, más los {kept} mensajes más recientes. Todo lo de arriba sigue en tu pantalla, así que puedes leerlo y citarlo.', |
| 947 | 'chat.shortened': 'Respuestas acortadas para el modelo', |
| 948 | 'chat.shortened_help': 'Daimond ha enviado las respuestas anteriores acortadas para que la conversación quepa en la ventana de contexto del modelo. Cada palabra de ellas sigue en tu pantalla y en tu registro.', |
| 949 | 'chat.working_more': '+{n} caracteres', |
| 950 | |
| 951 | // ── Toasts ───────────────────────────────────────────────── |
| 952 | 'toast.copied': 'Copiado', |
| 953 | 'render.copy_failed': 'Falló', |
| 954 | |
| 955 | // ── The model list ───────────────────────────────────────── |
| 956 | 'models.credits_row': 'Créditos de Daimond', |
| 957 | 'models.custom_provider_name': 'Proveedor personalizado', |
| 958 | 'models.the_provider': 'tu proveedor', |
| 959 | 'models.empty': 'Todavía no hay ningún proveedor. Añade uno para darle a Daimond un modelo con el que pensar.', |
| 960 | 'models.balance_left': 'quedan {amount}', |
| 961 | 'models.via': 'vía {provider}', |
| 962 | 'models.count.one': '{n} modelo', |
| 963 | 'models.count.other': '{n} modelos', |
| 964 | 'models.row_paid_help': 'Estos modelos gastan tu saldo de Daimond. Tu navegador llama directamente a {provider} con una clave acuñada para ti; nada pasa por Daimond.', |
| 965 | 'models.row_own_help': 'Estos modelos se cobran a tu propia cuenta de {provider}. No tocan tu saldo de Daimond.', |
| 966 | 'models.sealed': 'sellada', |
| 967 | 'models.key_set': 'clave puesta', |
| 968 | 'models.no_key': 'sin clave', |
| 969 | 'models.connecting': 'conectando…', |
| 970 | 'models.no_credits': 'sin créditos', |
| 971 | 'models.offline': 'servicio de cuentas inaccesible', |
| 972 | 'models.could_not_connect': 'no se pudo conectar', |
| 973 | 'models.unlock_to_use': 'desbloquea para usar', |
| 974 | 'models.sealed_unlock': 'sellada, desbloquea para usarla', |
| 975 | 'models.top_up_to_use': 'recarga para usar', |
| 976 | 'models.top_up': 'Recarga tus créditos →', |
| 977 | 'models.ask_provider': 'Preguntar a este proveedor qué puede ejecutar', |
| 978 | 'models.ask_provider_again': 'Preguntar de nuevo a este proveedor', |
| 979 | 'models.list_asked': 'Listado {when}.', |
| 980 | 'models.list_never': 'Nunca se preguntó.', |
| 981 | 'models.add_key_first': 'Añade antes una clave', |
| 982 | 'models.asking': 'Preguntando…', |
| 983 | 'models.econ_credits': 'créditos', |
| 984 | 'models.econ_own': 'tu clave', |
| 985 | 'models.favourites': 'Favoritos', |
| 986 | 'models.is_default': 'predeterminado', |
| 987 | 'models.model_is_default': 'Los chats y Diamonds nuevos arrancan con este modelo.', |
| 988 | 'models.model_make_default': 'Hacer que los chats y Diamonds nuevos arranquen con este modelo.', |
| 989 | 'models.model_paid': 'Gasta tu saldo de Daimond, vía {provider}.', |
| 990 | 'models.model_own': 'Se cobra a tu propia cuenta de {provider}.', |
| 991 | 'models.model_twin': 'Otro proveedor sirve un modelo con este nombre. Este es el de {provider}.', |
| 992 | 'models.remove': 'Quitar {provider}', |
| 993 | 'models.starts_on': 'Los chats nuevos arrancan con: {model}', |
| 994 | 'models.no_default': 'Todavía no hay modelo predeterminado. Marca con la estrella uno de arriba.', |
| 995 | 'models.none_yet': 'Aún no hay proveedor', |
| 996 | 'models.err_refused': 'El servicio de cuentas rechazó la petición (HTTP {status}).', |
| 997 | 'models.err_bad_key': 'El servicio de cuentas envió una clave que Daimond no puede usar.', |
| 998 | 'models.err_no_key': 'Ese proveedor todavía no tiene clave.', |
| 999 | 'models.err_key_refused': 'El proveedor rechazó la clave (HTTP {status}).', |
| 1000 | // What is left on a provider key, and how that is known. The manual line is |
| 1001 | // deliberately not called a balance: it is the user’s own figure less an estimate. |
| 1002 | 'models.credit_auto': 'Quedan {amount} en esta clave, según el proveedor el {when}.', |
| 1003 | 'models.credit_manual': 'Quedan {amount}. Tus {base} del {when}, menos unos {spent} gastados desde entonces.', |
| 1004 | 'models.credit_unknown': 'No se sabe nada de lo que queda en esta clave.', |
| 1005 | 'models.credit_check': 'Preguntar qué queda', |
| 1006 | 'models.credit_recheck': 'Volver a preguntar', |
| 1007 | 'models.credit_probe_failed': '{provider} no ha querido decir qué queda. Díselo tú a Daimond.', |
| 1008 | 'models.credit_base_ph': 'p. ej. 12.50', |
| 1009 | 'models.credit_base_label': 'Lo que hay ahora en esta clave, en dólares estadounidenses', |
| 1010 | 'models.credit_base_set': 'Tengo esto, a día de hoy', |
| 1011 | 'models.credit_base_update': 'Actualizar mi cifra', |
| 1012 | 'models.credit_base_bad': 'Eso no es un importe. Escribe un número de dólares estadounidenses.', |
| 1013 | // Una cifra consultada de la que este dispositivo ya vio salir dinero. |
| 1014 | 'models.credit_auto_spent': 'Quedan {amount}. El proveedor dijo {base} el {when}, menos unos {spent} gastados aquí desde entonces.', |
| 1015 | // Qué antigüedad tiene la cifra. Sin esto, una que se ha quedado quieta |
| 1016 | // parece igual de reciente que una al día. |
| 1017 | 'models.age_now': 'Consultado hace un momento.', |
| 1018 | 'models.age_mins.one': 'Consultado hace {n} minuto.', |
| 1019 | 'models.age_mins.other': 'Consultado hace {n} minutos.', |
| 1020 | 'models.age_hours.one': 'Consultado hace {n} hora.', |
| 1021 | 'models.age_hours.other': 'Consultado hace {n} horas.', |
| 1022 | 'models.age_days.one': 'Consultado hace {n} día.', |
| 1023 | 'models.age_days.other': 'Consultado hace {n} días.', |
| 1024 | 'models.age_failed': 'La última consulta no obtuvo respuesta, así que esta cifra no se ha movido desde entonces.', |
| 1025 | |
| 1026 | // ── The Web panel, continued ─────────────────────────────── |
| 1027 | 'web.blind_title_at': 'Conduces tú. Yo me he parado en {where}.', |
| 1028 | 'web.guide': 'Guía', |
| 1029 | 'web.guide_title': 'La guía de uso de Daimond', |
| 1030 | 'web.panel_for': 'El panel Web', |
| 1031 | 'web.who_you': 'Tú', |
| 1032 | 'web.who_daimond': 'Daimond', |
| 1033 | 'web.who_ready': 'Listo', |
| 1034 | 'web.who_view_only': 'Solo ver', |
| 1035 | 'web.who_you_help': 'Conduces tú. Daimond no está mirando esta página.', |
| 1036 | 'web.who_daimond_help': 'Conduce Daimond. Puedes tomar el volante cuando quieras.', |
| 1037 | 'web.who_ready_help': 'Daimond Hands está instalado.', |
| 1038 | 'web.who_view_only_help': 'Esta página se puede mostrar, pero no manejar. Instala Daimond Hands para conducirla.', |
| 1039 | 'web.opening': '<b>Abriendo {host}…</b><br>Se abre delante una ventana de <b>Daimond Hands</b>. Aprueba ahí el sitio y luego confirma una vez en Chrome. Ambas cosas ocurren solo la primera vez para cada sitio.', |
| 1040 | 'web.not_approved': '<b>{host} no fue aprobado.</b><br>', |
| 1041 | 'web.approval_closed': 'La ventana de aprobación se cerró, o dijiste que no. Para permitirlo, pide el sitio otra vez y haz clic en <b>Permitir y luego confirmar en Chrome</b>. La ventana se abre delante de esta, y el icono de <b>Daimond Hands</b> guarda la pregunta hasta que la respondas.', |
| 1042 | 'web.approved_late': '<b>{host} fue aprobado.</b> Tu respuesta llegó después de que Daimond dejara de esperar, así que el panel dijo lo contrario un momento. La página ya está abierta.', |
| 1043 | 'web.answer_late': 'Tu respuesta llegó después de que Daimond dejara de esperar. ', |
| 1044 | 'web.driving_tab': '<b>Daimond está conduciendo {host}</b> en una pestaña del navegador. Míralo ahí, o trae una imagen en vivo a este panel.', |
| 1045 | 'web.show_live': 'Mostrar aquí la vista en vivo', |
| 1046 | 'web.real_tab': 'La página se abre como una pestaña real del navegador, que es lo que lleva tus propios inicios de sesión, así que este panel solo muestra una imagen de ella.', |
| 1047 | 'web.mirror_wait': 'Esperando la primera imagen de esa pestaña. Si Chrome ha puesto delante una ventana de permisos, espera tu respuesta.', |
| 1048 | 'web.mirror_silent': 'Hace un rato que no vuelve nada de Daimond Hands, así que no hay imagen en vivo. La pestaña sigue abierta y sigue siendo la página.', |
| 1049 | 'web.mirror_refused': 'Esta pestaña no se puede fotografiar, así que no hay imagen en vivo. Mira la pestaña misma, o vuelve a pedir la imagen.', |
| 1050 | 'web.blocked': '<b>{host}</b> no se deja mostrar dentro de otra página. La mayoría de los sitios lo bloquean como protección contra el clickjacking; no es un fallo.', |
| 1051 | 'web.blocked_hands': 'Daimond Hands puede conducirlo en una pestaña real.', |
| 1052 | 'web.blocked_install': 'Instala Daimond Hands para conducirlo en vivo.', |
| 1053 | 'web.open_new_tab': 'Abrir en una pestaña nueva', |
| 1054 | 'web.read_as_text': 'Leerlo como texto', |
| 1055 | 'web.reading': 'Leyendo…', |
| 1056 | 'web.read_failed': 'No se ha podido leer esa página: {reason}', |
| 1057 | 'web.readonly_badge': 'Copia de solo lectura, no el sitio en vivo. No inicies sesión aquí.', |
| 1058 | |
| 1059 | // ── Passkeys ─────────────────────────────────────────────── |
| 1060 | 'passkey.err_need_passphrase': 'Hace falta una frase de paso para registrar una llave de acceso.', |
| 1061 | 'passkey.err_no_identity': 'No hay ninguna identidad que proteger con una llave de acceso.', |
| 1062 | 'passkey.err_bad_passphrase': 'Esa frase de paso no coincide.', |
| 1063 | 'passkey.err_cannot_create': 'Este navegador o dispositivo no puede crear una llave de acceso.', |
| 1064 | 'passkey.err_create_failed': 'La creación de la llave de acceso se canceló o falló.', |
| 1065 | 'passkey.err_none_created': 'No se creó ninguna llave de acceso.', |
| 1066 | 'passkey.err_no_prf': 'Este autenticador no admite la extensión PRF, así que no puede desbloquear Daimond.', |
| 1067 | 'passkey.err_not_sealed': 'No se pudo sellar la llave de acceso. No se guardó nada.', |
| 1068 | 'passkey.err_not_saved': 'La llave de acceso no se pudo guardar en este dispositivo.', |
| 1069 | 'passkey.err_not_enrolled': 'En este dispositivo no hay ninguna llave de acceso registrada.', |
| 1070 | 'passkey.err_unreadable': 'No se pudo leer la llave de acceso.', |
| 1071 | 'passkey.err_unreadable_use_pass': 'No se pudo leer la llave de acceso. Usa tu frase de paso.', |
| 1072 | 'passkey.err_wrong_identity': 'La llave de acceso no coincide con esta identidad. Usa tu frase de paso.', |
| 1073 | 'passkey.err_out_of_date': 'Esta llave de acceso está anticuada. Desbloquea con tu frase de paso y vuelve a añadirla.', |
| 1074 | 'passkey.err_cannot_use': 'Este navegador o dispositivo no puede usar una llave de acceso.', |
| 1075 | 'passkey.err_no_identity_support': 'El soporte de identidad no está disponible.', |
| 1076 | 'passkey.err_no_offer': 'No se ofreció ninguna llave de acceso de Daimond, o no llevaba secreto PRF.', |
| 1077 | 'passkey.err_no_account_carried': 'Esa llave de acceso no está configurada para llevar una cuenta. En el dispositivo que tiene tu cuenta, abre Ajustes y añade la llave de acceso otra vez.', |
| 1078 | 'passkey.err_did_not_open': 'Esa llave de acceso no abrió la cuenta.', |
| 1079 | 'passkey.err_stored_unreadable': 'No se pudo leer la cuenta guardada.', |
| 1080 | 'passkey.err_stored_locked': 'La cuenta guardada no se abrió. Usa tu frase de paso.', |
| 1081 | 'passkey.err_not_resealed': 'No se pudo volver a sellar la llave de acceso.', |
| 1082 | |
| 1083 | // ── Verifying what was delivered ─────────────────────────── |
| 1084 | 'verify.page_title': 'Verificar Daimond', |
| 1085 | 'verify.page_lede': 'Comprueba que el Daimond del que viene esta página es el código abierto publicado. La prueba es un hash que puedes reproducir tú mismo.', |
| 1086 | 'verify.checking': 'Comprobando esta compilación…', |
| 1087 | 'verify.recheck': 'Comprobar otra vez', |
| 1088 | 'verify.hashing': 'calculando el hash de los archivos servidos… {done} / {total}', |
| 1089 | 'verify.ids': 'compilación {build} · paquete {bundle}', |
| 1090 | 'verify.verdict_ok': 'Esta compilación es el código publicado, y fue sellada.', |
| 1091 | 'verify.verdict_no': 'Esta compilación NO coincide con el código publicado.', |
| 1092 | 'verify.verdict_partial': 'No se ha podido verificar del todo. Las comprobaciones dicen por qué.', |
| 1093 | 'verify.independent': 'La comprobación independiente.', |
| 1094 | 'verify.independent_body': 'Una página no puede responder del todo por sí misma. Compila el código público y ejecuta el verificador; nada de lo que este servidor controla entra en ese bucle:', |
| 1095 | 'verify.this_site': 'este sitio', |
| 1096 | 'verify.green_means': 'Verde significa que los bytes que ha servido este sitio son el código que acabas de compilar, y que esa compilación es una entrada sellada del <a href="{url}">registro público de transparencia</a>.', |
| 1097 | 'verify.check_manifest': 'manifiesto', |
| 1098 | 'verify.check_self': 'manifiesto coherente consigo mismo', |
| 1099 | 'verify.check_log': 'registro público de transparencia', |
| 1100 | 'verify.check_sealed': 'sellado en el registro público', |
| 1101 | 'verify.check_files': 'todos los archivos servidos coinciden con el manifiesto', |
| 1102 | 'verify.no_manifest': 'esta compilación se sirvió sin manifest.json, así que no se puede comprobar', |
| 1103 | 'verify.self_mismatch': 'el hash del paquete del manifiesto no coincide con su lista de archivos', |
| 1104 | 'verify.log_broken': 'el registro público no es una cadena intacta: {reason}', |
| 1105 | 'verify.log_unreachable': 'no se pudo llegar al registro público (sin conexión, o bloqueado por política); ejecuta verify/check.mjs para asegurarte', |
| 1106 | 'verify.on_record': '{n} versiones registradas', |
| 1107 | 'verify.never_published': 'este paquete servido NO está en el historial público; nunca se publicó', |
| 1108 | 'verify.unreadable': '(ilegible)', |
| 1109 | 'verify.files_differ': '{n} difieren: {list}', |
| 1110 | 'verify.files_ok': '{n} archivos', |
| 1111 | 'verify.chain_order': 'la entrada {n} está fuera de orden', |
| 1112 | 'verify.chain_break': 'la entrada {n} no enlaza con {prev}', |
| 1113 | 'verify.chain_hash': 'el hash de la entrada {n} no coincide', |
| 1114 | 'verify.caveat': 'Una página no puede responder por sí misma: un servidor manipulado podría manipular también esta comprobación. Para un veredicto independiente, compila el código público y ejecuta verify/check.mjs, o usa la extensión de navegador delivery-verify. Este servidor no puede tocar ninguna de las dos.', |
| 1115 | |
| 1116 | // ── Versions and the release history ─────────────────────── |
| 1117 | 'rel.version': 'Versión', |
| 1118 | 'rel.prerelease': 'Versión previa', |
| 1119 | 'rel.unsealed': 'Sin sellar', |
| 1120 | 'rel.update_ready': 'actualización lista', |
| 1121 | 'rel.not_published': 'sin publicar', |
| 1122 | 'rel.planned': 'prevista', |
| 1123 | 'rel.next': 'siguiente', |
| 1124 | 'rel.you_are_here': 'estás aquí', |
| 1125 | 'rel.today': 'hoy', |
| 1126 | 'rel.yesterday': 'ayer', |
| 1127 | 'rel.days_ago.one': 'hace {n} día', |
| 1128 | 'rel.days_ago.other': 'hace {n} días', |
| 1129 | 'rel.months_ago.one': 'hace {n} mes', |
| 1130 | 'rel.months_ago.other': 'hace {n} meses', |
| 1131 | 'rel.years_ago.one': 'hace {n} año', |
| 1132 | 'rel.years_ago.other': 'hace {n} años', |
| 1133 | 'rel.title_named': '{name}, compilación {build}, publicada {date}.', |
| 1134 | 'rel.title_prerelease': 'Versión previa, compilación {build}, publicada el {date}.', |
| 1135 | 'rel.title_behind': 'Se ha publicado una compilación más nueva; recarga para tomarla.', |
| 1136 | 'rel.title_click': 'Haz clic para ver qué cambió.', |
| 1137 | 'rel.title_unlogged': 'Esta compilación no está en el registro publicado. Haz clic para ver el historial.', |
| 1138 | 'rel.no_date': 'Todavía sin publicar, y sin fecha prometida.', |
| 1139 | 'rel.no_history': 'No se ha podido leer ningún historial publicado.', |
| 1140 | 'rel.none_declared': 'Todavía no se ha declarado ninguna versión. Estás ejecutando una compilación anterior a la primera.', |
| 1141 | 'rel.sealed_no': 'sellada n.º {n}', |
| 1142 | 'rel.sealed_builds.one': '{n} compilación sellada', |
| 1143 | 'rel.sealed_builds.other': '{n} compilaciones selladas', |
| 1144 | 'rel.foot': 'Una versión se declara; una compilación se despliega. Cada compilación de aquí queda en una cadena que no se puede reescribir sin romperla. A propósito, no hay vuelta atrás a una anterior.', |
| 1145 | |
| 1146 | // ── Updates ──────────────────────────────────────────────── |
| 1147 | 'update.checking': 'Buscando actualizaciones…', |
| 1148 | 'update.latest': 'Tienes la última versión', |
| 1149 | 'update.ready': 'Actualización lista', |
| 1150 | 'update.click_now': 'Haz clic para actualizar ahora.', |
| 1151 | 'update.ready_help': 'Actualización lista. Se aplica cuando esto termine, o haz clic para forzarla.', |
| 1152 | 'update.updated': 'Daimond actualizado', |
| 1153 | 'update.stale': 'Daimond está desactualizado y tiene que recargarse para seguir funcionando. Haz clic para recargar.', |
| 1154 | |
| 1155 | // ── Typst ────────────────────────────────────────────────── |
| 1156 | 'typst.load_failed': 'El compilador de Typst no se pudo cargar: {reason}', |
| 1157 | 'typst.no_pdf': 'Typst no produjo ningún PDF (error de compilación desconocido).', |
| 1158 | 'typst.compile_error': 'Error de compilación de Typst: {reason}', |
| 1159 | 'typst.pack_locked': 'La composición tipográfica forma parte de un paquete de herramientas que esta cuenta no ha comprado. El panel Herramientas indica su nombre y su precio: se compra una vez, se conserva para siempre y se paga con dinero, no con tus créditos.', |
| 1160 | 'typst.watch.starting': 'Componiendo las páginas…', |
| 1161 | 'typst.watch.building': 'Recompilando…', |
| 1162 | 'typst.watch.live_preview': 'Vista previa en vivo', |
| 1163 | 'typst.watch.stale': 'Mostrando la última compilación que funcionó', |
| 1164 | 'typst.watch.held': 'Recompilación detenida', |
| 1165 | 'typst.watch.dead': 'El compilador se ha detenido', |
| 1166 | 'typst.watch.rebuild': 'Recompilar', |
| 1167 | 'typst.watch.nothing': 'El compilador no produjo nada y no dio ningún motivo.', |
| 1168 | 'typst.watch.heap': 'El compilador está ocupando {heap} MB y otra recompilación podría necesitar {more} MB más, lo que supera los {budget} MB que tiene permitidos en esta página. Se ha detenido la recompilación con cada guardado, y las páginas de abajo son las últimas que se compilaron. El compilador no puede devolver esa memoria: recarga la página para empezar de cero, o pulsa Recompilar para intentarlo una vez de todos modos.', |
| 1169 | 'typst.watch.spin': 'Un archivo vigilado sigue diciendo que ha cambiado y es demasiado grande para volver a leerlo y comprobarlo: las páginas se han compuesto {n} veces seguidas por su causa. Se ha detenido la recompilación con cada guardado, para que no llene la memoria del compilador. Pulsa Recompilar cuando quieras las páginas de nuevo. El archivo era {what}.', |
| 1170 | 'typst.watch.page': 'Página', |
| 1171 | 'typst.watch.zoom_out': 'Más pequeño', |
| 1172 | 'typst.watch.zoom_in': 'Más grande', |
| 1173 | // Una palabra en el botón; la forma larga va en el título al pasar por encima. |
| 1174 | 'typst.watch.fit_width': 'Ajustar al ancho', |
| 1175 | 'typst.watch.fit_page': 'Ajustar a la página entera', |
| 1176 | 'typst.watch.paper_dark': 'Oscuro', |
| 1177 | 'typst.watch.paper_light': 'Claro', |
| 1178 | 'typst.watch.paper_dark_why': 'Papel oscuro, para leer de noche', |
| 1179 | 'typst.watch.paper_light_why': 'Papel claro', |
| 1180 | 'typst.watch.sections': 'Secciones', |
| 1181 | 'typst.watch.sections_none': 'Este documento no tiene encabezados que listar.', |
| 1182 | 'typst.watch.dead_why': 'El compilador se quedó sin memoria con este documento y no puede reiniciarse sin recargar la página. Las páginas de abajo son las últimas que se compilaron. Recarga y abre el mismo archivo otra vez.', |
| 1183 | |
| 1184 | |
| 1185 | // ── The Admin drawer ─────────────────────────────────────── |
| 1186 | 'drawer.admin': 'Admin', |
| 1187 | 'drawer.models': 'Modelos', |
| 1188 | 'drawer.version': 'Versión', |
| 1189 | 'drawer.credits': 'Créditos', |
| 1190 | 'drawer.push': 'Push', |
| 1191 | |
| 1192 | // ── Dialogs ──────────────────────────────────────────────── |
| 1193 | 'dlg.are_you_sure': '¿Seguro?', |
| 1194 | 'dlg.ok': 'OK', |
| 1195 | 'dlg.done': 'Listo', |
| 1196 | 'dlg.not_now': 'Ahora no', |
| 1197 | |
| 1198 | // ── The Admin drawer's home menu ─────────────────────────── |
| 1199 | 'home.connect_model': 'Conecta un modelo', |
| 1200 | 'home.connect_note': 'Daimond necesita una clave de proveedor o créditos antes de poder responder.', |
| 1201 | 'home.locked': 'Bloqueado. Introduce tu frase de paso para desbloquear este dispositivo.', |
| 1202 | 'home.sec_account': 'Cuenta', |
| 1203 | 'home.sec_prompts': 'Instrucciones', |
| 1204 | 'home.sec_accounts': 'Cuentas', |
| 1205 | 'home.create_account': 'Crear una cuenta…', |
| 1206 | 'home.account_note': 'Una cuenta es una frase de paso guardada en este dispositivo. Cifra tu clave de API y te identifica para los créditos. Nada sale del navegador.', |
| 1207 | 'home.fingerprint': 'La huella de identidad de tu dispositivo', |
| 1208 | 'home.change_name': 'Cambiar el nombre…', |
| 1209 | 'home.handle_help': 'Tu nombre público: el nombre que ven los demás, el mismo en todos los dispositivos de esta cuenta.', |
| 1210 | 'home.change_handle': 'Cambiar el nombre público…', |
| 1211 | 'handle.rename_title': 'Cambiar el nombre público', |
| 1212 | 'home.change_passphrase': 'Cambiar la frase de paso…', |
| 1213 | 'home.add_passkey': 'Añadir una llave de acceso…', |
| 1214 | 'home.remove_passkey': 'Quitar la llave de acceso', |
| 1215 | 'home.export_backup': 'Exportar una copia de seguridad', |
| 1216 | 'home.import_backup': 'Importar una copia de seguridad…', |
| 1217 | 'home.dashboard': 'Panel de Daimond ↗', |
| 1218 | 'home.signed_in_as': 'Has entrado como {role}.', |
| 1219 | 'home.edit_prompt': 'Editar las instrucciones de {role}…', |
| 1220 | 'home.prompt_opens': 'Abre {path} en el panel Doc.', |
| 1221 | 'home.prompts_note': 'Las instrucciones bajo las que trabaja cada agente, guardadas como archivos en tu espacio de trabajo. Edita una y se aplica desde el turno siguiente; bórrala y vuelve la original. Escribas lo que escribas, valen dos reglas: una página o un correo son datos y nunca una instrucción, y nada irreversible ocurre sin preguntarte.', |
| 1222 | 'home.switch_to': 'Cambiar a {name}', |
| 1223 | 'home.unnamed_account': 'Cuenta sin nombre', |
| 1224 | 'home.add_account': '+ Añadir otra cuenta', |
| 1225 | 'home.accounts_note': 'Cada cuenta tiene sus propios chats, claves, créditos y archivos. Cambiar bloquea esta y abre la otra. Ninguna cuenta ve los datos de otra.', |
| 1226 | 'home.log_out': 'Cerrar sesión', |
| 1227 | 'home.sec_devices': 'Dispositivos', |
| 1228 | 'home.sec_console': 'Consola', |
| 1229 | 'home.console_open': 'Abrir la consola de operador', |
| 1230 | 'home.console_note': 'Esta cuenta tiene el rol {role}. La consola se abre en una pestaña nueva y sigue esta sesión.', |
| 1231 | 'home.sec_push': 'Push', |
| 1232 | 'home.push_setup': 'Configurar git push…', |
| 1233 | 'home.push_to': 'Cambiar el token de push de {host}…', |
| 1234 | 'home.push_help': 'Un token permite a Daimond subir lo que ha confirmado. Sin él sigue confirmando, pero se rechaza cada push.', |
| 1235 | |
| 1236 | // ── The credential a push travels with ───────────────────── |
| 1237 | // Two boxes and no more: the user name a token travels as is a per-forge |
| 1238 | // constant, so it is inferred from the host rather than asked for. Every line |
| 1239 | // here says what happens if it is skipped, because "no credential" and |
| 1240 | // "authentication failed" look identical from inside a refused push. |
| 1241 | 'push.lead': 'Un token permite a Daimond subir el trabajo que ha confirmado. Sin él sigue confirmando, pero se rechaza cada push y el trabajo se queda en esta máquina.', |
| 1242 | 'push.host': 'Servidor', |
| 1243 | 'push.host_ph': 'github.com', |
| 1244 | 'push.host_note': 'Solo el nombre, como github.com. Sin https://, sin puerto y sin ruta. Solo se autentica este servidor; un repositorio en cualquier otro sitio se rechaza, y tu token nunca llega a él.', |
| 1245 | 'push.token': 'Token', |
| 1246 | 'push.token_ph': 'Pega un token con permiso de push', |
| 1247 | 'push.token_note': 'Basta con acceso de push; el token nunca necesita más. Daimond solo hace push, solo en avance rápido, solo a origin. Force, delete, mirror y cualquier otro remoto se rechazan aunque el token los permita. Vacía esta casilla y guarda para quitarlo.', |
| 1248 | 'push.save': 'Guardar', |
| 1249 | 'push.privacy': 'El token se cifra con tu frase de paso y se queda en este navegador. No vuelve a mostrarse, no se nos envía y no se le da a ningún modelo. Sin cuenta no hay con qué cifrarlo, así que solo se conserva en esta pestaña y se vuelve a pedir tras recargar.', |
| 1250 | 'push.set': 'Configurado. Un push llega a {host}.', |
| 1251 | 'push.none': 'Sin configurar. Se rechaza cada push hasta que guardes un token aquí.', |
| 1252 | 'push.saved': 'Guardado. Cifrado con tu frase de paso y usado cada vez que desbloqueas.', |
| 1253 | 'push.cleared': 'Quitado. Los push vuelven a rechazarse hasta que guardes un token aquí.', |
| 1254 | 'push.session_only': 'Solo para esta pestaña. Sin cuenta no hay con qué cifrarlo, así que al recargar se vuelve a pedir. Crea una cuenta para conservarlo.', |
| 1255 | 'push.err_host': 'Escribe el servidor al que va el push, como github.com, o vacía la casilla del token para quitar las credenciales.', |
| 1256 | 'push.err_not_held': 'No se aceptó, así que no hay credenciales de push. Revisa el servidor y el token.', |
| 1257 | 'push.not_resealed': 'Tu frase de paso cambió, pero el token de push no pudo volver a cifrarse con ella. El push funciona hasta que recargues. Vuelve a poner el token para conservarlo.', |
| 1258 | 'push.the_token': 'tu token de push', |
| 1259 | |
| 1260 | // ── The devices that sync this account ───────────────────── |
| 1261 | 'devices.on_platform': '{brand} en {platform}', |
| 1262 | 'devices.unknown': 'Este dispositivo', |
| 1263 | 'devices.this_device': 'este dispositivo', |
| 1264 | 'devices.only_this': 'Solo este dispositivo sincroniza esta cuenta.', |
| 1265 | 'devices.rename_title': 'Ponle nombre a este dispositivo', |
| 1266 | 'devices.rename_body': 'Un nombre para distinguir este dispositivo de los demás. Vacía el campo para volver a «{derived}». El nombre se guarda junto a tus propios datos cifrados y solo viaja a tus otros dispositivos.', |
| 1267 | 'devices.rename_aria': 'Renombrar {name}', |
| 1268 | 'devices.note': 'Los dispositivos que han sincronizado esta cuenta. Uno que tenga la cuenta pero nunca haya sincronizado no aparece. Aquí no se cierra la sesión de ningún dispositivo: uno enlazado tiene las mismas claves que este, así que hay que hacerlo allí.', |
| 1269 | 'devices.remove_aria': 'Quitar {name}', |
| 1270 | 'devices.remove_body': '«{name}» sale de esta lista. Eso no cierra su sesión. Tiene las mismas claves que este, así que reaparecerá la próxima vez que sincronice.', |
| 1271 | 'devices.remove': 'Quitar', |
| 1272 | 'devices.remove_title': 'Quitar este dispositivo', |
| 1273 | |
| 1274 | // ── The status rows under the rail ───────────────────────── |
| 1275 | 'astat.offline': 'Sin conexión', |
| 1276 | 'astat.service_unreachable': 'Servicio de cuentas inaccesible', |
| 1277 | 'astat.no_account': 'Sin cuenta de créditos', |
| 1278 | 'money.daimond_credits': 'Créditos de Daimond', |
| 1279 | 'money.own_key': 'Tu clave de {provider}', |
| 1280 | 'money.own_keys': 'Tus propias claves', |
| 1281 | 'money.left_at_rate': '~{mins} min a este ritmo', |
| 1282 | 'money.spent_so_far': '{amt} gastado', |
| 1283 | 'money.spent_help': 'Tu proveedor no informa del saldo, así que esto es lo que ha pasado por esta clave desde que Daimond empezó a contar.', |
| 1284 | 'money.estimate_help': 'Tu propia cifra, menos lo gastado desde entonces. Actualízala en Modelos cuando recargues.', |
| 1285 | 'astat.locked': 'Bloqueado', |
| 1286 | 'astat.credits': 'Créditos', |
| 1287 | 'astat.credits_help': 'Compra créditos, o conecta tu propia clave de proveedor', |
| 1288 | 'astat.pro_owned': 'Tuyo', |
| 1289 | 'astat.pro_owned_help': 'Tienes Daimond Pro. La sincronización, el almacenamiento en la nube y el correo están activos.', |
| 1290 | 'astat.pro_ended': 'Licencia terminada', |
| 1291 | 'astat.pro_ended_help': 'Tu licencia de Pro ha terminado. La sincronización, el almacenamiento en la nube y el correo están apagados; en este dispositivo no se toca nada.', |
| 1292 | 'astat.pro_upgrade': 'Pasar a Pro', |
| 1293 | 'astat.pro_upgrade_help': 'Compra cinco años de Pro para activar la sincronización, el almacenamiento en la nube y el correo.', |
| 1294 | 'astat.tools': 'Herramientas · {have}', |
| 1295 | 'astat.tools_of': 'Herramientas · {have} de {all}', |
| 1296 | 'astat.tools_help': 'Lo que Daimond sabe hacer, y lo que costaría el resto.', |
| 1297 | 'astat.workspace_browser': 'Espacio · Navegador', |
| 1298 | 'astat.workspace_native': 'Espacio · Máquina', |
| 1299 | 'astat.evictable': 'desalojable', |
| 1300 | 'astat.store_of': '{used} de {quota} que permite este navegador.', |
| 1301 | 'astat.store_persistent': 'Marcado como persistente, así que el navegador no lo desalojará.', |
| 1302 | 'astat.store_evictable': 'No es persistente: el navegador puede desalojar este espacio de trabajo si le falta almacenamiento. Haz clic para pedir almacenamiento permanente.', |
| 1303 | 'astat.not_connected': 'sin conectar', |
| 1304 | 'astat.native_help': 'Deja que los agentes trabajen sobre una carpeta real de esta máquina.', |
| 1305 | 'astat.n_files': '{n} archivos', |
| 1306 | 'astat.counting': 'Contando. Haz clic para parar.', |
| 1307 | 'astat.part': '(parcial)', |
| 1308 | 'astat.counted': '{n} archivos en {folder}.', |
| 1309 | 'astat.counted_partial': '{n} archivos en {folder}, contados hasta que lo paraste.', |
| 1310 | 'astat.count_again': 'Haz clic para contar otra vez.', |
| 1311 | 'astat.count_offer': 'Haz clic para contar. El navegador no dice cuánto ocupa una carpeta real, y contar lee cada archivo, así que un árbol grande tarda. Puedes parar cuando quieras.', |
| 1312 | 'astat.no_model': 'Ningún modelo conectado', |
| 1313 | 'astat.model_help': 'Los modelos que Daimond puede ejecutar, y las claves que hay detrás', |
| 1314 | |
| 1315 | // ── Pro, in its own words ────────────────────────────────── |
| 1316 | 'pro.owned_plain': 'Tienes Daimond Pro. La sincronización entre dispositivos, el almacenamiento en la nube y el correo están activos. Sin suscripción, y no se renueva nada.', |
| 1317 | 'pro.offer_plain': 'Un solo pago, y Pro dura cinco años. Activa la sincronización entre dispositivos, el almacenamiento en la nube y el correo, de modo que tu propio correo se lee y se envía en el espacio de trabajo. Sin suscripción, y no se renueva nada: al cabo de cinco años decides si vuelves a comprar. La inferencia, el ancho de banda y demás uso medido se siguen pagando con créditos.', |
| 1318 | 'pro.checkout_failed': 'No se pudo iniciar el pago', |
| 1319 | 'pro.term_note': 'Pro dura cinco años desde la compra.', |
| 1320 | 'pro.ends_on': 'Tu licencia de Pro termina el {date}.', |
| 1321 | 'pro.ended_on': 'Tu licencia de Pro terminó el {date}. La sincronización, el almacenamiento en la nube y el correo están apagados; en este dispositivo no se toca nada, y todavía puedes descargar lo que ya tengas guardado.', |
| 1322 | 'pro.buy_again': 'Comprar otros cinco años', |
| 1323 | 'pro.buy_again_priced': 'Comprar otros cinco años por {price}', |
| 1324 | |
| 1325 | // ── The egress gate ──────────────────────────────────────── |
| 1326 | 'egress.type_title': '¿Escribir en {host}?', |
| 1327 | 'egress.type_body': 'Este turno ha leído contenido de fuera de tu espacio de trabajo. Daimond quiere ahora escribir en la página de {host}, que puede reenviarlo.\n\nLo que quiere introducir:\n\n{text}\n\nSi no lo esperabas, recházalo.', |
| 1328 | 'egress.type_ok': 'Escribirlo', |
| 1329 | 'egress.nothing': '(nada)', |
| 1330 | 'egress.act_title': '¿Actuar en {host}?', |
| 1331 | 'egress.act_body': 'Este turno ha leído contenido de fuera de tu espacio de trabajo. Daimond quiere ahora actuar en la página de {host}.\n\nQuien escribió la página escribió sus enlaces, y seguir uno puede llevarse información.\n\nPermítelo solo si lo esperabas.', |
| 1332 | 'egress.act_ok': 'Permitir actuar en {host}', |
| 1333 | 'egress.heavy_title': '¿Enviar esto a {host}?', |
| 1334 | 'egress.heavy_body': 'Este turno ha leído contenido de fuera de tu espacio de trabajo. Daimond quiere ahora llegar a {host} con una dirección insólitamente larga.\n\nUna dirección puede sacar información. Esta lleva:\n\n{text}\n\nSi no lo esperabas, recházalo. No se pierde nada más que esta petición.', |
| 1335 | 'egress.heavy_ok': 'Enviarlo igualmente', |
| 1336 | 'egress.reach_title': '¿Llegar a {host}?', |
| 1337 | 'egress.reach_body': 'Este turno ha leído una página web o un mensaje de fuera de tu espacio de trabajo, y puede que algo en él esté dirigiendo a Daimond.\n\nAhora quiere llegar a {host}, donde no ha estado antes. Todo lo que sabe podría ir en esa dirección.\n\nPermítelo solo si lo esperabas.', |
| 1338 | 'egress.reach_ok': 'Permitir {host}', |
| 1339 | 'egress.any_title': '¿Dejar que Daimond llegue a cualquier sitio web?', |
| 1340 | 'egress.any_body': 'Esta conversación ha leído una página web o un mensaje escrito por otra persona, y puede que algo en él esté dirigiendo a Daimond.\n\nAhora quiere llegar a {host}.\n\nDecir que sí le permite llegar a cualquier sitio web durante el resto de esta conversación, no solo a este, y no se te volverá a preguntar aquí. Todo lo que Daimond sabe cabe en una dirección web, así que una página a la que llegue puede llevarse tus palabras.\n\nUn chat nuevo vuelve a preguntar, y un daimon nuevo también. Una dirección inusualmente larga siempre se te plantea aparte, respondas lo que respondas ahora.', |
| 1341 | 'egress.any_ok': 'Permitir cualquier sitio aquí', |
| 1342 | // En una búsqueda lo que sale es la CONSULTA, no una dirección. {query} va |
| 1343 | // sola en su propio párrafo y nunca entre comillas -- puede traer las suyas. |
| 1344 | 'egress.search_title': '¿Buscar en la web?', |
| 1345 | 'egress.search_body': 'Este turno ha leído contenido de fuera de tu espacio de trabajo. Daimond quiere ahora buscar en la web.\n\nLo que quiere buscar:\n\n{query}\n\nBuscará con {engine}, que es tu ajuste. Lo que sale de este dispositivo es la consulta.\n\nSi no lo esperabas, recházalo. No se pierde nada más que esta búsqueda.', |
| 1346 | 'egress.search_ok': 'Hacer esta búsqueda', |
| 1347 | |
| 1348 | // ── A chat tile in the rail ──────────────────────────────── |
| 1349 | 'chat.tool_refused': 'rechazado', |
| 1350 | 'chat.tool_failed': 'fallido', |
| 1351 | 'chat.copy_message': 'Copiar el mensaje', |
| 1352 | 'chat.include_turn': 'Incluir este turno al plegar', |
| 1353 | 'chat.connect_to_chat': 'Conecta un proveedor, o desbloquea, para chatear con este modelo.', |
| 1354 | 'tile.cost_estimated': 'Estimado. Este modelo no está en la tabla de precios.', |
| 1355 | 'tile.cost_so_far': 'Coste de este chat hasta ahora.', |
| 1356 | 'tile.click_to_open': 'Haz clic para abrir, doble clic para renombrar', |
| 1357 | 'tile.settings': 'Ajustes de esta ficha', |
| 1358 | 'tile.settings_named': 'Ajustes de «{name}»', |
| 1359 | 'tile.close_named': 'Cerrar «{name}»', |
| 1360 | 'tile.dlg_name': 'Nombre', |
| 1361 | 'tile.dlg_name_hint': 'Sin nombre: la barra lateral muestra la hora', |
| 1362 | 'tile.dlg_running': 'En marcha', |
| 1363 | 'tile.dlg_detail': 'Detalle', |
| 1364 | 'tile.spend_help': 'Lo que ha costado este Diamond, en {turns} turnos.', |
| 1365 | 'tile.detail_default': 'Por defecto ({what})', |
| 1366 | 'tile.detail_default_help': 'Seguir la vista fijada en Apariencia, y sus cambios.', |
| 1367 | 'tile.detail_simple': 'Simple', |
| 1368 | 'tile.detail_simple_help': 'El nombre, si está en marcha y lo que espera.', |
| 1369 | 'tile.detail_max': 'Máx.', |
| 1370 | 'tile.detail_max_help': 'Modelos, contexto, coste, versión y cuándo se movió por última vez.', |
| 1371 | 'tile.detail_note': 'Las tarjetas siguen la vista salvo que aquí elijas otra cosa.', |
| 1372 | 'tile.dlg_delete': 'Borrar', |
| 1373 | 'tile.start': 'Iniciar', |
| 1374 | 'tile.start_help': 'Confirma el modelo e inicia este chat', |
| 1375 | 'tile.workers': 'Trabajadores', |
| 1376 | 'tile.worker_model_help': 'El modelo con el que corren los trabajadores. Si lo dejas, corren con el modelo del propio chat.', |
| 1377 | 'tile.folded': 'Plegado', |
| 1378 | 'tile.fold_all': 'Plegar todo', |
| 1379 | 'tile.folded_help': 'Ya plegado en «{name}». Pliega otra vez para añadir lo nuevo desde entonces.', |
| 1380 | 'tile.fold_all_help': 'Plegar este chat entero en un Diamond', |
| 1381 | 'tile.dlg_colour': 'Color', |
| 1382 | 'tile.colour_bg': 'Fondo', |
| 1383 | 'tile.colour_fg': 'Texto', |
| 1384 | 'tile.colour_clear': 'Usar los colores del tema', |
| 1385 | 'tile.colour_faint': 'Estos dos contrastan a {ratio}:1, por debajo del mínimo habitual de {min}:1 para texto de este tamaño. Se queda como lo elegiste.', |
| 1386 | |
| 1387 | // ── The spend governor ───────────────────────────────────── |
| 1388 | 'gov.past_budget': 'Muy por encima de tu presupuesto', |
| 1389 | 'gov.faster': 'Gastando más rápido de lo normal', |
| 1390 | 'gov.per_min': '{rate}/min', |
| 1391 | 'gov.run_spent': 'Esta ejecución ha gastado {spent} de un presupuesto de ritmo de {budget}. Un despliegue grande pregunta antes de correr.', |
| 1392 | 'gov.fanout_body.one': 'Este Diamond está a punto de lanzar {n} agente, por unos {total} ({each} cada uno).', |
| 1393 | 'gov.fanout_body.other': 'Este Diamond está a punto de lanzar {n} agentes, por unos {total} ({each} cada uno).', |
| 1394 | 'gov.burst_spent': 'Esta ráfaga ya ha gastado {spent}.', |
| 1395 | 'gov.would_pass': 'Eso pasaría tu presupuesto de ritmo de {budget} para una ejecución.', |
| 1396 | 'gov.run_n.one': 'Lanzar {n} agente', |
| 1397 | 'gov.run_n.other': 'Lanzar {n} agentes', |
| 1398 | 'spend.includes_estimate': 'Estimado. Al menos uno de los modelos de aquí no está en la tabla de precios.', |
| 1399 | |
| 1400 | // ── Quoting a message without a readable date ────────────── |
| 1401 | 'mail.quote.head_undated': '{who} escribió:', |
| 1402 | |
| 1403 | // ── The rail's Diamonds and chats ────────────────────────── |
| 1404 | 'rail.no_diamonds': 'Todavía no hay Diamonds.', |
| 1405 | 'rail.no_match': 'Ningún Diamond coincide.', |
| 1406 | 'rail.no_chats': 'Todavía no hay chats.', |
| 1407 | 'rail.not_synced': 'aún sin sincronizar', |
| 1408 | 'rail.not_synced_help': 'Esta conversación está en otro de tus dispositivos y todavía no ha llegado aquí.', |
| 1409 | // Shown under the search box when nothing is tagged, so that an empty |
| 1410 | // filing system cannot be read as a missing one. |
| 1411 | 'rail.tag_hint': 'Todavía no hay etiquetas. Etiqueta un Diamond y aquí aparecerán chips de filtro.', |
| 1412 | 'rail.tag_hint_help': 'Abre un Diamond y luego Etiquetas en su cristal. Allí se ofrecen etiquetas para empezar: {tags}.', |
| 1413 | 'rail.dblclick_rename': 'Doble clic para renombrar', |
| 1414 | 'rail.rename_diamond': 'Renombrar el Diamond', |
| 1415 | 'rail.rename': 'Renombrar', |
| 1416 | 'rail.rename_failed': 'No se pudo renombrar', |
| 1417 | 'rail.delete_failed': 'No se pudo borrar', |
| 1418 | 'rail.create': 'Crear', |
| 1419 | 'rail.name': 'Nombre', |
| 1420 | 'rail.model': 'Modelo', |
| 1421 | 'rail.worker_model': 'Modelo para los trabajadores', |
| 1422 | 'rail.worker_model_help': 'El daimon despacha trabajadores, varios a la vez. Si lo dejas así, corren con el modelo del propio Diamond.', |
| 1423 | 'rail.err_no_key_worker': 'El proveedor de los trabajadores todavía no tiene una clave legible, así que caerían al modelo del propio Diamond. Desbloquea la clave, o elige otro proveedor.', |
| 1424 | 'rail.err_name': 'Dale un nombre al Diamond.', |
| 1425 | 'rail.err_model': 'Elige un modelo con el que pensará este Diamond.', |
| 1426 | 'rail.err_no_key': 'Ese proveedor todavía no tiene una clave legible. Desbloquea, o añade una.', |
| 1427 | 'rail.create_failed': 'No se pudo crear el Diamond', |
| 1428 | 'rail.created_unreadable': 'Diamond creado, pero no legible', |
| 1429 | 'rail.created_unreadable_body': '«{name}» se escribió pero no se pudo volver a leer, así que no está en la barra lateral. Recarga la página. Si sigue faltando, el almacenamiento de este dispositivo se niega a servir lo que aceptó.', |
| 1430 | |
| 1431 | // ── Cuándo fue un chat, y conservarlo ────────────────────── |
| 1432 | 'rail.day_today': 'Hoy', |
| 1433 | 'rail.day_yesterday': 'Ayer', |
| 1434 | 'rail.day_earlier': 'Antes', |
| 1435 | 'rail.when_now': 'ahora mismo', |
| 1436 | 'rail.when_min': 'hace {n} min', |
| 1437 | 'rail.when_hr': 'hace {n} h', |
| 1438 | 'rail.a_chat': 'un chat', |
| 1439 | 'rail.chat_from': 'el chat de {when}', |
| 1440 | 'rail.show_preview': 'Mostrar el primer mensaje', |
| 1441 | 'rail.show_preview_help': 'Muestra debajo de la hora lo primero que dijiste en cada chat. Si lo apagas, la barra lateral solo dice cuándo fue.', |
| 1442 | 'tile.keep': 'Conservar', |
| 1443 | 'tile.keep_help': 'Convierte este chat en un Diamond, con toda la conversación como su primer artefacto.', |
| 1444 | 'keep.title': 'Conservar como Diamond', |
| 1445 | 'keep.body': 'Ponle un nombre y esta conversación queda entera dentro de él. Los chats caducan; los Diamonds no.', |
| 1446 | 'keep.ok': 'Conservarlo', |
| 1447 | 'keep.gone': 'Ese chat ya no está aquí', |
| 1448 | 'keep.gone_body': 'Se destruyó en este dispositivo o en otro. No se ha creado nada.', |
| 1449 | 'keep.made': '{name} conservado, con la conversación dentro.', |
| 1450 | 'keep.made_bare': '{name} creado, pero la conversación no se pudo escribir dentro.', |
| 1451 | |
| 1452 | // ── El PPTW: pausa, reproducción, semáforo ───────────────── |
| 1453 | 'pause.everything': 'Todo', |
| 1454 | 'pause.everything_help': 'Pausar o reanudar todo lo que puede gastar: cada Diamond, cada chat, los workers, los buzones y cualquier página que se descargue por ti.', |
| 1455 | 'pause.act_pause': 'Pausar {name}', |
| 1456 | 'pause.act_play': 'Reanudar {name}', |
| 1457 | 'pause.state_play': 'en marcha', |
| 1458 | 'pause.state_pause': 'en pausa', |
| 1459 | 'pause.state_mixed': 'parcialmente en pausa', |
| 1460 | 'pause.this': 'esto', |
| 1461 | 'pause.workers': 'Workers', |
| 1462 | 'pause.mail': 'Correo', |
| 1463 | 'pause.mail_polling': 'Consulta del buzón', |
| 1464 | 'pause.unnamed_chat': 'Chat sin nombre', |
| 1465 | 'pause.web': 'Web', |
| 1466 | 'pause.refused_title': 'En pausa', |
| 1467 | 'pause.refused.turn': '{node} está en pausa. Ningún turno iniciado, nada gastado. Pulsa play en él para reanudar.', |
| 1468 | 'pause.refused.dispatch': '{node} está en pausa. Ningún agente despachado, nada gastado. Pulsa play en él para reanudar.', |
| 1469 | 'pause.refused.web': '{node} está en pausa. No se descargó la página y no se gastó nada. Pulsa play en él para reanudar.', |
| 1470 | 'pause.refused.mail': '{node} está en pausa. No se contactó con el buzón y no se gastó nada. Pulsa play en él para reanudar.', |
| 1471 | 'pause.state_idle': 'aquí nada actúa por su cuenta', |
| 1472 | |
| 1473 | // ── Tags ─────────────────────────────────────────────────── |
| 1474 | 'tag.only_agents': 'Mostrar solo los agentes con la etiqueta «{tag}»', |
| 1475 | 'tag.only_diamonds': 'Mostrar solo los Diamonds con la etiqueta «{tag}»', |
| 1476 | 'tag.clear_filter': 'Quitar el filtro «{tag}»', |
| 1477 | 'tag.remove': 'Quitar «{tag}»', |
| 1478 | 'tag.add': 'Añadir «{tag}»', |
| 1479 | 'tag.starters': 'persona, proyecto, tema, organización', |
| 1480 | 'tag.add_btn': 'Añadir', |
| 1481 | 'tag.add_ph': 'Añade una etiqueta', |
| 1482 | 'tag.on_diamond': 'En este Diamond', |
| 1483 | 'tag.all': 'Todas tus etiquetas', |
| 1484 | 'tag.all_used': 'Todas tus etiquetas ya están en este Diamond.', |
| 1485 | 'tag.none_yet': 'Todavía no hay etiquetas.', |
| 1486 | 'tag.save_failed': 'No se pudieron guardar las etiquetas', |
| 1487 | // The rail's boolean filter: the tags wanted, the tags refused, and how two |
| 1488 | // or more wanted tags combine. A chip in the rail cycles off, wanted, |
| 1489 | // refused, off; a chip in the summary comes out of the filter altogether. |
| 1490 | 'tag.exclude_next': 'Muestra los Diamonds con la etiqueta «{tag}». Haz clic otra vez para ocultarlos.', |
| 1491 | 'tag.clear_exclude': 'Dejar de ocultar los Diamonds con la etiqueta «{tag}»', |
| 1492 | 'tag.not_tagged': 'Sin la etiqueta «{tag}»', |
| 1493 | 'tag.mode_all': 'Todas', |
| 1494 | 'tag.mode_any': 'Alguna', |
| 1495 | 'tag.mode_all_help': 'Mostrar solo los Diamonds que llevan todas estas etiquetas', |
| 1496 | 'tag.mode_any_help': 'Mostrar los Diamonds que llevan alguna de estas etiquetas', |
| 1497 | 'tag.mode_aria': 'Cómo se combinan las etiquetas elegidas', |
| 1498 | 'tag.clear_all': 'Limpiar', |
| 1499 | 'tag.clear_all_help': 'Quitar del filtro todas las etiquetas', |
| 1500 | // The one row the pool of chips sits behind, under the search box. It is |
| 1501 | // there whenever a tag is, because a filter nobody can see is a filter |
| 1502 | // nobody finds -- and it is only a row, because a vocabulary of thirty tags |
| 1503 | // standing open costs the rail's two lists four rows on every screen. |
| 1504 | // {n} is how many tags are behind it. |
| 1505 | 'tag.pool_toggle': 'Filtrar por etiqueta ({n})', |
| 1506 | 'tag.pool_show_help': 'Mostrar todas las etiquetas por las que puedes filtrar', |
| 1507 | 'tag.pool_hide_help': 'Guardar las etiquetas. Aquello por lo que filtras sigue activo y sigue a la vista.', |
| 1508 | // The chips that are doing the filtering, shown on their own while the tags |
| 1509 | // are put away. |
| 1510 | 'tag.active_aria': 'Etiquetas por las que filtra la barra lateral', |
| 1511 | // Deleting a tag from the pool, which takes it off every Diamond that carries it. |
| 1512 | 'tag.delete_help': 'Borrar la etiqueta «{tag}» en todas partes', |
| 1513 | 'tag.delete_title': '¿Borrar esta etiqueta?', |
| 1514 | 'tag.delete_body_used.one': '¿Borrar la etiqueta «{tag}»? Se le quita al {n} Diamond que la lleva. No cambia nada más de ese Diamond.', |
| 1515 | 'tag.delete_body_used.other': '¿Borrar la etiqueta «{tag}»? Se les quita a los {n} Diamonds que la llevan. No cambia nada más de ellos.', |
| 1516 | 'tag.delete_body_unused': '¿Borrar la etiqueta «{tag}»? Ningún Diamond la lleva, así que esto solo la quita de la lista.', |
| 1517 | 'tag.delete_ok': 'Borrar la etiqueta', |
| 1518 | 'tag.deleted': 'Etiqueta «{tag}» borrada.', |
| 1519 | 'tag.deleted_from.one': 'Etiqueta «{tag}» borrada de {n} Diamond.', |
| 1520 | 'tag.deleted_from.other': 'Etiqueta «{tag}» borrada de {n} Diamonds.', |
| 1521 | 'tag.editor_note': 'Las etiquetas ordenan este Diamond en la barra lateral. Nunca se envían a un modelo ni entran en el cristal.', |
| 1522 | |
| 1523 | // ── Starting and interrupting a turn ─────────────────────── |
| 1524 | 'chat.choose_model': 'Elige un modelo para iniciar este chat.', |
| 1525 | 'chat.no_key_start': 'Ese proveedor todavía no tiene una clave legible. Desbloquea, o añade una, para iniciar este chat.', |
| 1526 | 'chat.connect_start': 'Conecta un proveedor para iniciar este chat.', |
| 1527 | 'chat.pending_hint': 'Elige un modelo en la ficha de este chat y pulsa ▶ Iniciar para empezar.', |
| 1528 | 'chat.start_selected': 'Empezar con el modelo elegido', |
| 1529 | 'chat.stop': 'Parar', |
| 1530 | 'turn.interrupted': 'Interrumpido. El navegador se cerró antes de que esto terminara.', |
| 1531 | 'turn.interrupted_early': 'Interrumpido antes de poder responder.', |
| 1532 | 'turn.offline': 'La conexión se cortó antes de terminar. No se ha perdido nada: retómalo donde se detuvo.', |
| 1533 | 'turn.offline_early': 'La conexión se cortó antes de que llegara una respuesta. No se ha perdido nada: pregunta de nuevo desde aquí.', |
| 1534 | 'turn.continue': 'Continuar', |
| 1535 | 'turn.continue_help': 'Vuelve a ejecutar este turno desde tu mensaje.', |
| 1536 | |
| 1537 | // ── Folding a chat into a Diamond ────────────────────────── |
| 1538 | 'fold.nothing': 'Nada que plegar', |
| 1539 | 'fold.chat_empty': 'Este chat está vacío. Envía antes un mensaje y luego pliégalo en un Diamond.', |
| 1540 | 'fold.turns_empty': 'Los turnos que has elegido no tienen contenido que plegar.', |
| 1541 | 'fold.agent_empty': 'Este agente no produjo ningún resumen que plegar.', |
| 1542 | 'fold.into': 'Plegar en…', |
| 1543 | 'fold.n_turns_into.one': 'Plegar {n} turno en…', |
| 1544 | 'fold.n_turns_into.other': 'Plegar {n} turnos en…', |
| 1545 | 'fold.no_diamonds': 'Todavía no hay Diamonds. Crea uno:', |
| 1546 | 'fold.new_diamond': '+ Nuevo Diamond…', |
| 1547 | 'fold.connect_first': 'Conecta un proveedor para plegar en un Diamond.', |
| 1548 | 'fold.create_and_fold': 'Crear y plegar', |
| 1549 | 'fold.no_key': 'El proveedor de ese Diamond no tiene una clave legible. Desbloquea, o añade una, para plegar en él.', |
| 1550 | 'fold.nothing_new': 'Nada nuevo que plegar', |
| 1551 | 'fold.nothing_new_body': '«{chat}» no ha cambiado desde que se plegó en «{diamond}».', |
| 1552 | 'fold.proposing': 'Proponiendo el plegado…', |
| 1553 | 'fold.busy_title': 'Ese Diamond está trabajando', |
| 1554 | 'fold.busy_body': '«{diamond}» tiene un turno en curso, y un plegado reescribe el mismo crystal. Espera a que termine y pliega después.', |
| 1555 | 'fold.diamond_gone': 'El Diamond ya no está', |
| 1556 | 'fold.diamond_gone_body': 'El Diamond que despachó a este agente ya no existe.', |
| 1557 | 'fold.diamond_gone_chat_body': 'El Diamond que elegiste ya no existe; puede que se borrara en otra pestaña. No se ha plegado nada.', |
| 1558 | 'fold.empty_reply': 'El modelo no devolvió nada que plegar, así que no se ha propuesto nada. Vuelve a intentarlo.', |
| 1559 | 'fold.proposed_toast': 'Plegado propuesto. Acéptalo o recházalo abajo.', |
| 1560 | 'fold.proposed_elsewhere': 'Plegado propuesto en «{diamond}». Ábrelo para aceptarlo o rechazarlo.', |
| 1561 | 'fold.pending_badge': 'plegado en espera', |
| 1562 | 'fold.pending_badge_help': 'En este Diamond hay un plegado propuesto esperando. Ábrelo para aceptar o rechazar el cambio.', |
| 1563 | 'fold.nothing_chosen': 'No has elegido nada', |
| 1564 | 'fold.nothing_chosen_body': 'Marca los turnos que quieras plegar y pulsa Plegar lo seleccionado.', |
| 1565 | |
| 1566 | // The fold diff's heading. |
| 1567 | 'diff.folding_chat': 'Plegando «{chat}». Revisa el cambio y luego Acepta o Rechaza.', |
| 1568 | 'diff.folding_chat_into': 'Plegando «{chat}» en «{diamond}». Revisa el cambio y luego Acepta o Rechaza.', |
| 1569 | 'diff.proposed': 'Plegado propuesto. Revisa el cambio y luego Acepta o Rechaza.', |
| 1570 | 'diff.proposed_into': 'Plegado propuesto en «{diamond}». Revisa el cambio y luego Acepta o Rechaza.', |
| 1571 | 'diff.no_change': 'No se propone ningún cambio. El cristal ya cubre esto.', |
| 1572 | 'diff.no_change_into': 'No se propone ningún cambio en «{diamond}». El cristal ya cubre esto.', |
| 1573 | 'diff.accept': 'Aceptar', |
| 1574 | 'diff.reject': 'Rechazar', |
| 1575 | 'diff.nothing_to_apply': 'Nada que aplicar. La propuesta coincide con el cristal actual.', |
| 1576 | 'fold.keys_lost': 'Aceptar esto quita: {keys}', |
| 1577 | |
| 1578 | // ── The crystal ──────────────────────────────────────────── |
| 1579 | 'crystal.page': 'Página', |
| 1580 | 'crystal.page_help': 'Pide al daimon que cambie el aspecto de este cristal, no lo que dice', |
| 1581 | 'crystal.page_note': 'Cambia la PÁGINA de este Diamante (crystal.html), no su memoria (crystal.json). Lee crystal.html primero, luego edítalo, y deja crystal.json en paz. Mantenlo autocontenido: todo el CSS y JavaScript en línea, imágenes solo como data: URIs, sin fetch, sin archivos externos, sin eval. Conserva sus mensajes ready, rendered y height, y que rendered nombre cada clave de nivel superior de los datos que tenga contenido. Una página también puede guardar archivos en este Diamante con el mensaje save y volver a leerlos con asset, para que una página interactiva conserve lo que hace el usuario. Lo que quiero: ', |
| 1582 | 'crystal.history': 'Historial', |
| 1583 | 'crystal.tags': 'Etiquetas', |
| 1584 | 'crystal.tags_help': 'Ordena este Diamond en la barra lateral', |
| 1585 | 'crystal.marks_unread': 'No se pudieron leer los adjuntos, así que este turno trabaja solo en el Diamond.', |
| 1586 | 'crystal.empty': 'El cristal está vacío. Dirígelo desde abajo para empezar.', |
| 1587 | 'crystal.empty_paren': '(vacío)', |
| 1588 | 'crystal.save_failed': 'No se pudo guardar el cristal', |
| 1589 | 'crystal.back': 'Volver al cristal', |
| 1590 | 'crystal.no_history': 'Todavía no hay historial.', |
| 1591 | 'crystal.view': 'Ver', |
| 1592 | 'crystal.restore': 'Restaurar', |
| 1593 | 'crystal.restore_v': 'Restaurar v{v}', |
| 1594 | 'crystal.restore_title': 'Restaurar una versión', |
| 1595 | 'crystal.restore_body': '¿Restaurar el cristal a la v{v}? El texto actual queda en el historial, así que esto también se puede deshacer.', |
| 1596 | 'crystal.restore_failed': 'No se pudo restaurar', |
| 1597 | 'crystal.at_version': 'Cristal en la v{v}', |
| 1598 | 'crystal.read_version_failed': 'No se pudo leer esa versión', |
| 1599 | 'crystal.delta': 'Delta', |
| 1600 | 'crystal.delta_help': 'La entrada en bruto con la que se hizo este plegado', |
| 1601 | 'crystal.delta_at': 'Delta plegado en la v{v}', |
| 1602 | 'crystal.read_delta_failed': 'No se pudo leer el delta', |
| 1603 | 'crystal.steering': 'Dirigiendo…', |
| 1604 | 'crystal.no_key_steer': 'El proveedor de este Diamond no tiene una clave legible. Desbloquea, o añade una, para dirigirlo.', |
| 1605 | 'crystal.page_failed': 'La página de este Diamond no se cargó, así que en su lugar se muestran sus datos.', |
| 1606 | 'crystal.page_partial': 'La página de este Diamond no mostró todo lo que él guarda, así que en su lugar se muestran sus datos.', |
| 1607 | 'crystal.page_reset': 'Restablecer la página', |
| 1608 | 'crystal.page_reset_confirm': '¿Sustituir la página de este Diamond por la página estándar? Sus datos no se tocan.', |
| 1609 | 'crystal.ask': 'Pedir al daimon que cambie esta página', |
| 1610 | 'crystal.edit_json': 'Editar como JSON', |
| 1611 | 'crystal.json_invalid': 'Eso no es JSON válido, así que no se guardó nada.', |
| 1612 | 'crystal.field_title': 'Título', |
| 1613 | 'crystal.field_summary': 'Resumen', |
| 1614 | 'crystal.field_sections': 'Secciones', |
| 1615 | 'crystal.field_facts': 'Hechos', |
| 1616 | 'crystal.field_open': 'Cuestiones abiertas', |
| 1617 | 'crystal.field_links': 'Enlaces', |
| 1618 | 'crystal.field_heading': 'Encabezado', |
| 1619 | 'crystal.field_body': 'Cuerpo', |
| 1620 | 'crystal.add_section': 'Añadir una sección', |
| 1621 | 'crystal.remove': 'Quitar', |
| 1622 | 'crystal.other_fields': 'Otros campos', |
| 1623 | 'crystal.other_fields_note': 'Se mantienen tal cual, y se muestran aquí para que nada desaparezca.', |
| 1624 | |
| 1625 | // ── Artefacts ────────────────────────────────────────────── |
| 1626 | 'arte.count.one': '{n} artefacto', |
| 1627 | 'arte.count.other': '{n} artefactos', |
| 1628 | 'arte.strip_help': 'Lo que este Diamond produjo o consultó', |
| 1629 | 'arte.refer_help': 'Referirse a esto en la caja de dirección', |
| 1630 | 'arte.drop_help': 'No es un artefacto de este Diamond', |
| 1631 | 'arte.drop_named': 'Quitar «{name}» como artefacto', |
| 1632 | 'arte.file_fenced': 'Esa ruta está fuera de lo que este Diamond puede leer', |
| 1633 | 'arte.file_fenced_body': 'La valla detuvo la lectura. Concede la carpeta a este Diamond o mueve el archivo a una que ya tenga.', |
| 1634 | 'arte.file_gone': 'Ese archivo ya no está ahí', |
| 1635 | 'arte.file_gone_body': '«{path}» es un artefacto de este Diamond, pero ahora no se puede leer; puede que lo hayan renombrado, movido o borrado.', |
| 1636 | 'arte.nothing_to_open': 'Nada que abrir', |
| 1637 | 'arte.no_viewer': 'Este artefacto es un «{kind}», y esta versión no tiene visor para eso.', |
| 1638 | |
| 1639 | // ── Attach to focus (ATTACH_CONTRACT.md) ──────────── |
| 1640 | 'attach.to_focus': 'Adjuntar al foco actual', |
| 1641 | 'attach.note': 'Nota', |
| 1642 | 'attach.read': 'Leer', |
| 1643 | 'attach.note_help': 'La ruta merece conocerse. Cuesta unos pocos tokens.', |
| 1644 | 'attach.read_help': 'El contenido se necesita ahora. Un archivo puede llegar a miles de tokens.', |
| 1645 | 'attach.add': 'Adjuntar', |
| 1646 | 'attach.view_stack': 'Pila', |
| 1647 | 'attach.view_icons': 'Iconos', |
| 1648 | 'attach.prefix_note': 'Anota {paths}', |
| 1649 | 'attach.prefix_read': 'Lee {paths} por completo.', |
| 1650 | 'attach.cleared': 'Adjuntos borrados', |
| 1651 | 'attach.list': 'Adjuntos', |
| 1652 | 'attach.pick_title': 'Adjuntar archivos y carpetas', |
| 1653 | 'attach.pick_empty': 'Aquí no hay nada.', |
| 1654 | 'attach.already': 'Ya adjunto', |
| 1655 | 'attach.ws_mark': 'Espacio', |
| 1656 | 'attach.ws_add': 'Marcar una carpeta en el espacio', |
| 1657 | 'attach.add_mark': 'Marcar una carpeta', |
| 1658 | 'attach.mark_note': 'Marcar una CARPETA la incorpora: este espacio podrá leer y cambiar lo que hay dentro. Marcar un archivo solo lo pone delante del modelo.', |
| 1659 | 'attach.mark_focus': 'Marcar esta carpeta en {name}, para que su daimon pueda leer y cambiar lo que hay dentro', |
| 1660 | 'attach.not_here': 'Lo tiene este chat, pero está {where}, que no es el espacio que tienes abierto. Este chat no puede alcanzarlo desde aquí.', |
| 1661 | 'attach.ws_help': 'Las carpetas que este chat puede leer y cambiar. Marcar una es el permiso, y no se te volverá a preguntar.', |
| 1662 | 'attach.ws_on': 'En el espacio de este chat: puede leer y cambiar lo que hay dentro. Pulsa para sacarla.', |
| 1663 | 'attach.ws_off': 'Fuera del espacio, así que este chat no puede abrirla. Pulsa para marcarla.', |
| 1664 | 'attach.ws_empty': 'No hay ninguna carpeta marcada. Este chat no alcanza nada tuyo, solo su propia carpeta de trabajo. Marca una con el clip, o con + arriba.', |
| 1665 | 'attach.group_prompt': 'Ante el modelo', |
| 1666 | 'attach.group_prompt_help': 'Se nombra o se cita en el prompt al enviar. Esto no concede ningún acceso.', |
| 1667 | 'attach.read_block': 'El contenido de {path}:', |
| 1668 | 'attach.read_cut': 'Esto es todo lo que cabe aquí de {path}.', |
| 1669 | |
| 1670 | // ── This Diamond's workspace ─────────────────────────────── |
| 1671 | 'dws.title': 'El espacio de trabajo de este Diamond', |
| 1672 | 'dws.count.one': '{n} elemento', |
| 1673 | 'dws.count.other': '{n} elementos', |
| 1674 | 'dws.none_yet': 'Aquí todavía no hay nada', |
| 1675 | 'dws.mode_all': 'Todo', |
| 1676 | 'dws.mode_diamond': 'Este Diamond', |
| 1677 | 'dws.empty': 'Todavía no se guarda nada con este Diamond. Lo que guardes aquí es lo que su daimon puede abrir.', |
| 1678 | 'dws.not_here': 'Guardado con este Diamond, pero vive {where}, que no es el espacio de trabajo que tienes abierto. Su daimon no puede alcanzarlo desde aquí.', |
| 1679 | 'dws.in_machine': 'en la carpeta «{name}» en esta máquina', |
| 1680 | 'dws.in_browser': 'en el espacio de trabajo del navegador', |
| 1681 | 'dws.a_folder': 'una carpeta', |
| 1682 | 'dws.attach_dir': 'Guardar esta carpeta con {name}', |
| 1683 | 'dws.detach_dir': 'Dejar de guardar esta carpeta con {name}', |
| 1684 | 'dws.kits': 'Cadenas de herramientas', |
| 1685 | 'dws.kits_help': 'Qué compiladores y gestores de paquetes puede alcanzar en tu ordenador un comando de este Diamond. Desactivado salvo que lo digas; ningún daimon elige esto.', |
| 1686 | 'dws.kit_on': 'Conceder la cadena {kit} a {name}', |
| 1687 | 'dws.kit_off': 'Retirar la cadena {kit} de {name}', |
| 1688 | 'dws.kit_failed': 'Esa cadena de herramientas no se guardó', |
| 1689 | 'dws.kit_none': 'Sin cadena de herramientas. Un comando alcanza los archivos de este Diamond y nada más en tu ordenador.', |
| 1690 | 'dws.elsewhere': 'Vive en el espacio de trabajo', |
| 1691 | 'dws.readonly': 'Solo lectura', |
| 1692 | 'dws.showing': 'Mostrando', |
| 1693 | 'dws.reach': 'Alcance', |
| 1694 | 'dws.reach_help': 'Las carpetas en las que puede escribir el daimon de este Diamond. Se muestra en ambos árboles, porque vale en los dos.', |
| 1695 | 'dws.reach_own': 'su propia carpeta', |
| 1696 | 'dws.reach_search': 'Una búsqueda que no nombra ninguna ruta mira aquí y en ningún otro sitio.', |
| 1697 | 'dws.reach_none': 'No hay nada más marcado, así que el daimon de {name} no puede escribir en ningún otro sitio tuyo, y una búsqueda que no nombra ninguna ruta solo mira aquí.', |
| 1698 | 'dws.mark_here': 'Marcar “{name}”', |
| 1699 | 'dws.mark_here_help': 'Pon la carpeta que estás viendo en el espacio de {name}. Su daimon podrá leer y cambiar lo que hay dentro, y una búsqueda que no nombra ninguna ruta mirará ahí.', |
| 1700 | |
| 1701 | // ── Links between Diamonds ───────────────────────────────── |
| 1702 | 'link.count.one': '{n} Diamond vinculado', |
| 1703 | 'link.count.other': '{n} Diamonds vinculados', |
| 1704 | 'link.strip_help': 'Cómo se relaciona este Diamond con tus otros Diamonds', |
| 1705 | 'link.none': 'Todavía no hay ningún vínculo con otro Diamond.', |
| 1706 | 'link.this': 'este', |
| 1707 | 'link.rel_blank': 'vinculado', |
| 1708 | 'link.out_help': 'Este Diamond → {rel} → «{name}»', |
| 1709 | 'link.in_help': '«{name}» → {rel} → este Diamond', |
| 1710 | 'link.open_other': 'Mostrar «{name}»', |
| 1711 | 'link.note_help': 'Mostrar la nota de este vínculo', |
| 1712 | 'link.drop': 'Quitar el vínculo', |
| 1713 | 'link.drop_help': 'Quitar este vínculo', |
| 1714 | 'link.drop_confirm': '¿Quitar el vínculo «{rel}» con «{name}»? Los dos Diamonds se quedan; solo se va el vínculo.', |
| 1715 | 'link.drop_failed': 'No se pudo quitar el vínculo', |
| 1716 | 'link.gone': 'Ese Diamond ya no está ahí', |
| 1717 | 'link.gone_body': '«{ref}» está vinculado desde este Diamond, pero ahora no se puede leer ningún Diamond con ese id; puede que lo hayan borrado.', |
| 1718 | 'link.gone_name': '(Diamond borrado)', |
| 1719 | 'link.add_btn': 'Vincular', |
| 1720 | 'link.add_title': 'Vincular este Diamond con otro', |
| 1721 | 'link.pick_label': 'Diamond', |
| 1722 | 'link.pick_ph': 'Busca un Diamond por su nombre', |
| 1723 | 'link.pick_none': 'Ningún Diamond coincide.', |
| 1724 | 'link.pick_empty': 'Todavía no hay otro Diamond al que vincular.', |
| 1725 | 'link.change_pick': 'Cambiar', |
| 1726 | 'link.rel_label': 'Relación', |
| 1727 | 'link.rel_sug_help': 'Solo sugerencias: vale cualquier palabra', |
| 1728 | 'link.rel_use': 'Usar «{rel}»', |
| 1729 | 'link.note_label': 'Nota', |
| 1730 | 'link.note_ph': 'Por qué, en una frase (opcional)', |
| 1731 | 'link.direction_note': 'El vínculo va de este Diamond al que elijas.', |
| 1732 | 'link.need_target': 'Elige antes el Diamond al que vincular.', |
| 1733 | 'link.save': 'Añadir el vínculo', |
| 1734 | 'link.graph_open': 'Grafo', |
| 1735 | |
| 1736 | // ── Agents ───────────────────────────────────────────────── |
| 1737 | 'agents.none_yet': 'Todavía no hay agentes. Pide a un Diamond que lance uno y aparecerá aquí.', |
| 1738 | 'agents.no_match': 'Ningún agente coincide. Borra la búsqueda o el filtro.', |
| 1739 | 'agents.fold_in': 'Plegar', |
| 1740 | 'agents.fold_in_help': 'Plegar el resumen de este agente en «{name}»', |
| 1741 | 'agents.folded': 'plegado', |
| 1742 | 'agents.already_folded': 'Ya está plegado', |
| 1743 | 'agents.already_folded_body': 'El resumen de este agente ya se plegó en el cristal.', |
| 1744 | 'agents.a_diamond': 'Diamond', |
| 1745 | 'agents.clear_diamond_filter': 'Quitar el filtro de Diamond', |
| 1746 | 'agents.clear_chat_filter': 'Quitar el filtro de chat', |
| 1747 | 'agents.no_diamond': 'sin Diamond', |
| 1748 | 'agents.no_diamond_help': 'Esta ejecución no tiene Diamond', |
| 1749 | 'agents.only_from': 'Mostrar solo los agentes de «{name}»', |
| 1750 | 'agents.only_from_chat': 'Mostrar solo los agentes de este chat.', |
| 1751 | 'agents.from_chat': 'un chat', |
| 1752 | 'agents.from_chat_help': 'Enviado desde el chat «{name}».', |
| 1753 | 'agents.from_chat_help_when': 'Enviado desde un chat al que no le has puesto nombre (última actividad: {when}).', |
| 1754 | 'agents.no_diamond_fold': 'Este agente se envió desde un chat, así que no hay ningún cristal en el que plegarlo. Su informe está en esa conversación, y su texto completo está en «Leer».', |
| 1755 | 'agents.report_one': 'Un agente que enviaste ha terminado.', |
| 1756 | 'agents.report_n': '{n} agentes que enviaste han terminado.', |
| 1757 | 'agents.no_task': 'Se pidió un agente sin tarea, así que no se lanzó nada.', |
| 1758 | 'instructions.chip_help': 'Tus instrucciones permanentes, dadas a todos los agentes. Haz clic para abrirlas.', |
| 1759 | 'instructions.chip_empty': 'Aquí no hay nada todavía. Este archivo va a todos los agentes que ejecuta Daimond. Haz clic para escribirlo.', |
| 1760 | |
| 1761 | // ── What each kind of agent is told ──────────────────────── |
| 1762 | 'role.chat': 'Chat', |
| 1763 | 'role.chat_help': 'El agente con el que hablas.', |
| 1764 | 'role.daimon': 'Daimon del Diamond', |
| 1765 | 'role.daimon_help': 'Guarda el cristal de un Diamond y despacha trabajadores.', |
| 1766 | 'role.worker': 'Trabajador despachado', |
| 1767 | 'role.worker_help': 'Una tarea, su propio contexto, informa de vuelta.', |
| 1768 | 'role.reducer': 'Plegado del cristal', |
| 1769 | 'role.reducer_help': 'Pliega un delta en el cristal.', |
| 1770 | |
| 1771 | // ── The Workspace panel ──────────────────────────────────── |
| 1772 | 'files.rest': 'El resto de esta carpeta', |
| 1773 | 'files.rest_count.one': '{n} elemento', |
| 1774 | 'files.rest_count.other': '{n} elementos', |
| 1775 | 'files.rest_help': 'Todo lo dem\u00e1s de esta carpeta: los archivos y carpetas cuyo nombre empieza por un punto, y los que Daimond mantiene para su propio trabajo \u2014 tus reglas y habilidades, tu correo, la instrucci\u00f3n que recibe cada tipo de agente. Nada de esto te est\u00e1 vedado; solo est\u00e1 apartado. \u00c1brelo para leerlo o cambiarlo.', |
| 1776 | 'files.back': 'Atrás', |
| 1777 | 'files.edit': 'Editar', |
| 1778 | 'files.stop_editing': 'Dejar de editar', |
| 1779 | 'files.line_numbers': 'Nº de línea', |
| 1780 | 'files.download': 'Descargar', |
| 1781 | 'files.download_help': 'Guardar en esta máquina', |
| 1782 | 'files.hold_add': 'Guardar este archivo con {name}', |
| 1783 | 'files.hold_drop': 'Dejar de guardar este archivo con {name}', |
| 1784 | 'files.mode_browser': 'Navegador', |
| 1785 | 'files.browser_switch': 'Devolver el agente al espacio de trabajo privado del navegador.', |
| 1786 | 'files.browser_help': 'El agente trabaja en un espacio de trabajo privado dentro del navegador. Esto es lo que se sincroniza.', |
| 1787 | 'files.mode_machine': 'Equipo', |
| 1788 | 'files.machine_here': 'El agente lee y escribe en esta carpeta real. No se sincroniza.', |
| 1789 | 'files.machine_pick': 'Dejar que el agente trabaje en una carpeta real de este equipo. No se sincronizará.', |
| 1790 | 'files.machine_needs_chromium': 'Las carpetas reales necesitan un navegador basado en Chromium.', |
| 1791 | 'files.machine_reconnect': 'Volver a conectar {name}', |
| 1792 | 'files.mode_cloud': 'Nube', |
| 1793 | 'files.cloud_on_machine': 'El almacenamiento en la nube lleva el espacio de trabajo del navegador, no una carpeta de este equipo.', |
| 1794 | 'files.cloud_help': 'Donde vive tu espacio de trabajo, para que pueda ser mayor que este dispositivo.', |
| 1795 | 'files.import_folder': 'Importar una carpeta…', |
| 1796 | 'files.import_folder_help': 'Copiar una carpeta de este equipo al espacio de trabajo, para que se sincronice', |
| 1797 | 'files.save_copy': 'Guardar una copia…', |
| 1798 | 'files.save_copy_help': 'Escribir el espacio de trabajo en una carpeta de este equipo', |
| 1799 | 'files.delete': 'Borrar', |
| 1800 | 'files.rename_move': 'Renombrar o mover', |
| 1801 | 'files.rename_hint': 'Un nombre, o una ruta, para moverlo a otro sitio.', |
| 1802 | 'files.err_name': 'Escribe un nombre.', |
| 1803 | 'files.rename_failed': 'No se pudo renombrar: {reason}', |
| 1804 | 'files.no_match': 'Nada coincide con «{filter}».', |
| 1805 | 'files.new_doc_here': 'Documento nuevo. Guardar lo escribe en {place}.', |
| 1806 | 'files.new_file_hint': 'Llámalo DAIMOND.md para escribir instrucciones permanentes que seguirán todos los agentes.', |
| 1807 | 'files.create_failed': 'No se pudo crear el archivo: {reason}', |
| 1808 | 'files.create_folder_failed': 'No se pudo crear la carpeta: {reason}', |
| 1809 | 'files.delete_file_body': '¿Borrar «{name}»? Esto no se puede deshacer.', |
| 1810 | 'files.delete_folder_body': '¿Borrar la carpeta «{name}» y todo lo que hay dentro? Esto no se puede deshacer.', |
| 1811 | 'files.delete_failed': 'No se pudo borrar {name}: {reason}', |
| 1812 | 'files.upload_failed': 'No se pudo subir {name}: {reason}', |
| 1813 | 'files.uploaded.one': 'Subido {n} archivo.', |
| 1814 | 'files.uploaded.other': 'Subidos {n} archivos.', |
| 1815 | 'files.saving': 'Guardando…', |
| 1816 | 'files.saved': 'Guardado.', |
| 1817 | 'files.save_failed': 'Falló al guardar: {reason}', |
| 1818 | 'files.save_cancelled': 'Guardado cancelado. El archivo cambió en el disco.', |
| 1819 | 'files.discard': 'Descartar', |
| 1820 | 'files.discard_title': '¿Descartar tus cambios?', |
| 1821 | 'files.keep_editing': 'Seguir editando', |
| 1822 | 'files.unsaved_body': 'Tus cambios en {path} no se han guardado. ¿Cerrar el editor y perderlos?', |
| 1823 | 'files.editing_stopped': 'Edición detenida. No se escribió nada.', |
| 1824 | 'files.overwrite': 'Sobrescribir', |
| 1825 | 'files.conflict_title': 'Cambió mientras editabas', |
| 1826 | 'files.conflict_body': 'Este archivo cambió en el disco desde que lo abriste, casi seguro un agente. ¿Guardar igualmente y sobrescribir esos cambios?', |
| 1827 | 'files.changed_while_editing': 'Este archivo cambió en el disco; lo editó un agente. Tus cambios se conservan, y al guardar se pregunta antes de sobrescribir.', |
| 1828 | 'files.reloaded': 'Recargado. El archivo cambió en el disco.', |
| 1829 | 'files.compile': 'Compilar', |
| 1830 | 'files.compiling': 'compilando', |
| 1831 | 'files.compiling_path': 'Compilando {path} …', |
| 1832 | 'files.compiled': 'Compilado → {path} ({size})', |
| 1833 | 'files.compile_failed': 'Falló la compilación: {reason}', |
| 1834 | 'files.binary_note': 'Un archivo binario de {size}. Se guarda y se sincroniza como todo lo demás de aquí, pero no hay nada que mostrar. Descárgalo para abrirlo con algo que lo entienda.', |
| 1835 | 'files.cloud': 'Nube', |
| 1836 | 'files.cloud_storage': 'Almacenamiento en la nube', |
| 1837 | 'files.cloud_empty': 'Todavía no hay nada en la nube. Tu espacio de trabajo se limita a lo que conceda este navegador.', |
| 1838 | 'files.cloud_locked': 'Desbloquea para usar el almacenamiento en la nube. Sin él, tu espacio de trabajo se limita a lo que conceda este navegador.', |
| 1839 | 'files.cloud_some_away': '{n} archivos en la nube; {away} de ellos no están en este dispositivo.', |
| 1840 | 'files.cloud_all_here': '{n} archivos en la nube, todos ellos también en este dispositivo.', |
| 1841 | 'files.cloud_intro': 'Tu espacio de trabajo vive en la nube, y este dispositivo guarda todo lo que cabe. {n} archivos, {total} en total;', |
| 1842 | 'files.cloud_away': '{n} de ellos ({bytes}) no están en este dispositivo.', |
| 1843 | 'files.cloud_here': 'todos ellos están también en este dispositivo.', |
| 1844 | 'files.cloud_none': 'Todavía no hay nada en la nube. Sin ella, tu espacio de trabajo se limita a lo que te conceda este navegador.', |
| 1845 | 'files.cloud_none_quota': 'Todavía no hay nada en la nube. Sin ella, tu espacio de trabajo se limita a lo que te conceda este navegador, aquí {quota}.', |
| 1846 | 'files.cloud_cap': 'Este navegador ha concedido {quota}, de los que se usan {used}. Los archivos se liberan solos según se llena, salvo los que hayas fijado.', |
| 1847 | 'files.reclaim': 'Liberar espacio', |
| 1848 | 'files.reclaim_help': 'Liberar espacio en este dispositivo ahora', |
| 1849 | 'files.get_help': 'Traer este archivo a este dispositivo ({size})', |
| 1850 | 'files.pinned_short': 'Fijado a este dispositivo', |
| 1851 | 'files.pinned_help': 'Fijado: siempre se guarda en este dispositivo. Haz clic para soltarlo.', |
| 1852 | 'files.pin_help': 'Fijar: no liberar nunca este para hacer sitio.', |
| 1853 | 'files.free_help': 'Dejarlo en la nube y soltar la copia de aquí', |
| 1854 | 'files.fetch': 'Traer', |
| 1855 | 'files.fetch_body': '¿Traer «{path}» a este dispositivo? Eso descarga {size}.', |
| 1856 | 'files.fetching': 'Trayendo {path}…', |
| 1857 | // Where the agent works: the root, and its scope. Changing the root is a separate |
| 1858 | // act from switching between the browser sandbox and the disk. |
| 1859 | 'files.change_root': 'Cambiar de carpeta…', |
| 1860 | 'files.change_root_help': 'Apuntar el agente a otra carpeta de esta máquina', |
| 1861 | 'files.machine_scope': 'El agente trabaja solo dentro de {name}. Nada fuera de esa carpeta es visible para Daimond.', |
| 1862 | 'files.machine_return': 'Volver a poner al agente a trabajar en {name}', |
| 1863 | 'files.forget_root': 'Olvidar esta carpeta', |
| 1864 | 'files.forget_root_help': 'Dejar de ofrecer esta carpeta. Daimond no guarda ningún registro de ella y la próxima vez te pedirá que elijas una.', |
| 1865 | 'files.root_forgotten': 'Olvidada. Daimond ya no guarda ningún registro de esa carpeta.', |
| 1866 | |
| 1867 | 'files.adopted_title.one': 'Se recuperó un Diamond', |
| 1868 | 'files.adopted_title.other': 'Se recuperaron {n} Diamonds', |
| 1869 | 'files.adopted_body': 'Daimond encontró archivos propios en esta carpeta y los copió de vuelta a su propio almacenamiento, donde sí se sincronizan: {names}. Las copias quedaron donde estaban, en diamonds/; bórralas cuando estés conforme.', |
| 1870 | 'files.adopted_kept': 'Estos diferían de lo que Daimond ya tenía, así que se conservaron ambas copias:\n{paths}', |
| 1871 | 'files.adopt_left_title': 'Algunos archivos se quedaron en la carpeta', |
| 1872 | 'files.adopted_skipped': 'Estos no se copiaron, por pasar de 8 MiB o no ser legibles, así que un Diamond que necesite alguno está aquí sin él, o no está aquí en absoluto:\n{paths}', |
| 1873 | 'fileview.read_failed': 'No se ha podido leer este archivo: {reason}', |
| 1874 | 'fileview.disagree': 'El nombre dice {named}. Los bytes dicen {found}, y lo que se muestra son los bytes.', |
| 1875 | 'fileview.empty': 'Este archivo está vacío.', |
| 1876 | 'fileview.too_large': '{fmt} de {size}: demasiado grande para mantenerlo en memoria aquí. A continuación van sus bytes; descárgalo para abrirlo en otro sitio.', |
| 1877 | 'fileview.decode_failed': 'Este navegador no ha podido descodificar esto: {fmt}.', |
| 1878 | 'fileview.frame_title': 'El contenido de {name}', |
| 1879 | 'fileview.json_bad': 'Esto no es un único valor JSON, así que se muestra como texto.', |
| 1880 | 'fileview.tree_capped': 'El árbol se corta aquí; el archivo es mayor de lo que muestra.', |
| 1881 | 'fileview.rows_capped': 'Se muestran las primeras {shown} filas de {total}.', |
| 1882 | 'fileview.capped': 'Se muestran los primeros {shown} de {total}.', |
| 1883 | 'fileview.hex_note': 'Aquí no hay visor para {fmt}, así que estos son sus bytes.', |
| 1884 | 'fileview.hex_note_unknown': 'Aquí nada reconoce este archivo, así que estos son sus bytes.', |
| 1885 | 'fileview.hex_prev': 'Bytes anteriores', |
| 1886 | 'fileview.hex_next': 'Bytes siguientes', |
| 1887 | 'fileview.hex_at': 'Bytes {from} a {to} de {total}', |
| 1888 | 'fileview.office_too_large': '{fmt} de {size}: demasiado grande para descomprimirlo aquí. A continuación van sus bytes.', |
| 1889 | 'fileview.office_failed': 'No se ha podido leer este documento: {why}', |
| 1890 | 'fileview.office_reading': 'Vista de lectura. Esto es lo que dice el documento, no cómo se imprime.', |
| 1891 | 'fileview.office_tracked': '{n} inserción(es) con control de cambios se muestran como aceptadas; las eliminaciones no se muestran.', |
| 1892 | 'fileview.office_macros': 'Este archivo contiene macros. No se ejecutan ni se leen.', |
| 1893 | 'fileview.office_undrawn': '{total} cosas no se dibujan: {parts}.', |
| 1894 | 'fileview.sheet_failed': 'No se ha podido leer esta hoja de cálculo: {why}', |
| 1895 | 'fileview.sheet_stored': 'Los valores son los guardados en el archivo. Las fórmulas no se recalculan.', |
| 1896 | 'fileview.sheet_capped': 'Se muestran {shown} de las {rows} filas y {cols} columnas de esta hoja.', |
| 1897 | 'fileview.sheet_formulas': '{n} celda(s) aquí llevan una fórmula; el valor mostrado es el guardado.', |
| 1898 | 'fileview.sheet_missing': 'Este libro nombra {n} hoja(s) que no se han podido leer: {names}.', |
| 1899 | 'fileview.save': 'Guardar una copia', |
| 1900 | 'fileview.save_help': 'Guarda una copia de esto en tu propio dispositivo. El archivo de aquí no cambia.', |
| 1901 | 'fileview.save_failed': 'Esto no se ha podido guardar: {why}', |
| 1902 | 'fileview.save_capped': 'Solo el principio de este archivo está en pantalla, así que no se escribe como documento: lo que saldría sería un documento al que le falta el final.', |
| 1903 | 'fileview.save_as': 'Guardar como documento', |
| 1904 | 'fileview.save_as_help': 'Escribe este texto como un documento de verdad y lo guarda en tu propio dispositivo. El archivo de aquí no cambia.', |
| 1905 | 'fileview.save_as_failed': 'Esto no se ha podido guardar como {fmt}: {why}', |
| 1906 | 'fileview.write_left': 'No todo lo que hay en este texto llega al documento: {parts}.', |
| 1907 | 'fileview.left_image': '{n} imagen(es)', |
| 1908 | 'fileview.left_notes': 'Notas del orador de {n} diapositiva(s)', |
| 1909 | 'fileview.left_image_named': '{n} imagen(es): {names}', |
| 1910 | 'fileview.left_notes_named': 'Notas del orador de {n} diapositiva(s): {names}', |
| 1911 | 'fileview.edit': 'Hacer un cambio', |
| 1912 | 'fileview.edit_find': 'Buscar', |
| 1913 | 'fileview.edit_replace': 'Sustituir por', |
| 1914 | 'fileview.edit_nth': 'Cuál', |
| 1915 | 'fileview.edit_note': 'Deja «{which}» en blanco para cambiarlas todas. Todo lo demás del archivo se queda byte a byte como estaba.', |
| 1916 | 'fileview.edit_apply': 'Aplicar', |
| 1917 | 'fileview.edit_failed': 'Ese cambio no se ha hecho: {why}', |
| 1918 | 'fileview.edit_nothing': 'el editor no ha devuelto ningún documento', |
| 1919 | 'fileview.edited': 'Cambiado aquí {n} vez/veces. El archivo en sí no ha cambiado: guarda una copia para conservarlo.', |
| 1920 | 'fileview.edit_sheet': 'Hoja', |
| 1921 | 'fileview.edit_cell': 'Celda', |
| 1922 | 'fileview.edit_value': 'Valor', |
| 1923 | 'fileview.edit_cell_note': 'Un valor que empieza por «=» se guarda como fórmula. No se recalcula nada, ni aquí ni en el archivo.', |
| 1924 | // the nine kinds a reading view names but does not draw |
| 1925 | 'fileview.undrawn_image': '{n} imagen(es)', |
| 1926 | 'fileview.undrawn_chart': '{n} gráfico(s)', |
| 1927 | 'fileview.undrawn_diagram': '{n} diagrama(s)', |
| 1928 | 'fileview.undrawn_textbox': '{n} cuadro(s) de texto', |
| 1929 | 'fileview.undrawn_object': '{n} objeto(s) incrustado(s)', |
| 1930 | 'fileview.undrawn_equation': '{n} ecuación(es)', |
| 1931 | 'fileview.undrawn_footnote': '{n} nota(s) al pie', |
| 1932 | 'fileview.undrawn_endnote': '{n} nota(s) al final', |
| 1933 | 'fileview.undrawn_comment': '{n} comentario(s)', |
| 1934 | 'files.folder_open_failed': 'No se pudo abrir esa carpeta.', |
| 1935 | 'files.import': 'Importar', |
| 1936 | 'files.import_body': '¿Copiar «{name}» al espacio de trabajo? Todo lo que hay dentro se sincronizará con tus otros dispositivos y contará para tu almacenamiento.', |
| 1937 | 'files.this_file': 'este archivo', |
| 1938 | 'files.unsaved_close': 'Tus cambios en {path} no se han guardado. ¿Cerrarlo y perderlos?', |
| 1939 | |
| 1940 | // ── One message, read ────────────────────────────────────── |
| 1941 | 'msg.unknown_sender': '(remitente desconocido)', |
| 1942 | 'msg.reply_to': 'Responder a', |
| 1943 | 'msg.reply': 'Responder', |
| 1944 | 'msg.reply_all': 'Responder a todos', |
| 1945 | 'msg.forward': 'Reenviar', |
| 1946 | 'msg.save_help': 'Guardar en el espacio de trabajo', |
| 1947 | 'msg.saved_to': 'Guardado · {path}', |
| 1948 | 'msg.save_failed': 'No se pudo guardar {name}', |
| 1949 | 'msg.pictures_blocked': 'Las imágenes y demás contenido remoto están bloqueados. Cargarlos le dice al remitente que has abierto esto.', |
| 1950 | 'msg.load_pictures': 'Cargar las imágenes', |
| 1951 | 'msg.no_text': '(Este mensaje no tiene ninguna parte de texto legible.)', |
| 1952 | |
| 1953 | // ── Writing one ──────────────────────────────────────────── |
| 1954 | 'compose.new_message': 'Mensaje nuevo', |
| 1955 | 'compose.draft': 'Borrador', |
| 1956 | 'compose.remove_attachment': 'Quitar este adjunto', |
| 1957 | 'compose.err_no_to': 'Di a quién va dirigido.', |
| 1958 | 'compose.send_title': '¿Enviar este mensaje?', |
| 1959 | 'compose.send_body': 'Se enviará desde {from}, y no se puede recuperar.', |
| 1960 | 'compose.discard_title': '¿Descartar este borrador?', |
| 1961 | 'compose.discard_body': 'El borrador se borra y lo que hay escrito en él se pierde.', |
| 1962 | |
| 1963 | // ── Identity, at the gate ────────────────────────────────── |
| 1964 | 'identity.err_enter_pass': 'Introduce una frase de paso.', |
| 1965 | 'identity.err_choose_name': 'Elige un nombre.', |
| 1966 | 'identity.err_confirm_written': 'Confirma antes que has anotado la frase de paso.', |
| 1967 | 'identity.err_too_short_gen': 'Esa frase de paso es demasiado corta. Genera otra, o elige la tuya.', |
| 1968 | 'identity.err_too_short': 'Usa una frase de paso de al menos 8 caracteres.', |
| 1969 | 'identity.err_mismatch': 'Las frases de paso no coinciden.', |
| 1970 | 'identity.err_create': 'No se pudo crear la cuenta.', |
| 1971 | 'identity.err_wrong_pass': 'Esa frase de paso no coincide. Inténtalo otra vez.', |
| 1972 | 'identity.err_locked': 'La identidad de Daimond está bloqueada.', |
| 1973 | 'identity.err_no_webcrypto': 'WebCrypto no está disponible en este navegador.', |
| 1974 | |
| 1975 | // ── Passkeys, in the interface ───────────────────────────── |
| 1976 | 'passkey.have_one': 'Tengo una llave de acceso para Daimond', |
| 1977 | 'passkey.use_one': 'Usar una llave de acceso', |
| 1978 | 'passkey.browser_cannot': 'Este navegador no puede usar tu llave de acceso, así que aquí se entra con la frase de paso.', |
| 1979 | 'passkey.adopt_note': 'Si añadiste una llave de acceso en otro dispositivo, ella trae esa cuenta aquí, sin código de vinculación ni frase de paso.', |
| 1980 | 'passkey.looking': 'Buscando tu llave de acceso…', |
| 1981 | 'passkey.waiting': 'Esperando tu llave de acceso…', |
| 1982 | 'passkey.err_unusable': 'No se pudo usar la llave de acceso.', |
| 1983 | 'passkey.err_did_not_work': 'Esa llave de acceso no funcionó. Usa tu frase de paso.', |
| 1984 | 'passkey.err_enter_pass': 'Introduce tu frase de paso.', |
| 1985 | 'passkey.add_title': 'Añadir una llave de acceso', |
| 1986 | 'passkey.add_body': 'Confirma tu frase de paso para protegerla con una llave de acceso. Tu dispositivo te pedirá luego que la crees: Face ID, Touch ID, Windows Hello o una llave de seguridad.', |
| 1987 | 'passkey.continue': 'Continuar', |
| 1988 | 'passkey.not_added': 'Llave de acceso no añadida', |
| 1989 | 'passkey.err_create_failed2': 'No se pudo crear la llave de acceso.', |
| 1990 | 'passkey.err_create_retry': 'No se pudo crear la llave de acceso. Puedes volver a intentarlo desde Ajustes.', |
| 1991 | 'passkey.added': 'Llave de acceso añadida', |
| 1992 | 'passkey.added_synced': 'Ya puedes desbloquear Daimond con tu llave de acceso. Se sincroniza entre tus propios dispositivos, así que lleva esta cuenta a un móvil o portátil nuevo sin código de vinculación. Tu frase de paso sigue valiendo y queda como alternativa.', |
| 1993 | 'passkey.added_local': 'Ya puedes desbloquear Daimond en este dispositivo con tu llave de acceso. No se pudo contactar con el servicio de cuentas, así que por ahora solo vale aquí; vuelve a añadirla cuando tengas conexión y llevará la cuenta a tus otros dispositivos. Tu frase de paso sigue valiendo y queda como alternativa.', |
| 1994 | 'passkey.added_offer': 'La próxima vez, Daimond pedirá tu llave de acceso en lugar de la frase de paso. Puedes quitarla desde Ajustes cuando quieras.', |
| 1995 | 'passkey.remove_title': '¿Quitar la llave de acceso?', |
| 1996 | 'passkey.remove_body': 'La llave de acceso sale de este dispositivo y deja de abrir tu cuenta en cualquier otro sitio; desbloquearás con tu frase de paso. La llave en sí se queda en tu autenticador hasta que la borres allí.', |
| 1997 | 'passkey.removed': 'Llave de acceso quitada', |
| 1998 | 'passkey.removed_body': 'A partir de ahora este dispositivo pedirá tu frase de paso.', |
| 1999 | 'passkey.offer_title': '¿Desbloquear con tu cara?', |
| 2000 | 'passkey.offer_body': 'Daimond puede desbloquearse con Face ID, Touch ID o el PIN de tu dispositivo en lugar de la frase de paso. Tu llave de acceso se sincroniza entre tus dispositivos, así que también lleva esta cuenta a ellos. Tu frase de paso sigue funcionando igualmente.', |
| 2001 | |
| 2002 | // ── Forgetting an account ────────────────────────────────── |
| 2003 | 'forget.credits_title': '¿Salvar antes tus créditos?', |
| 2004 | 'forget.credits_body': 'Esta cuenta tiene {amount}, guardados en el servidor de Daimond y desbloqueados solo por esta identidad. Una copia guarda la identidad cifrada, para que otro dispositivo pueda asumirla, pero solo con la frase de paso de esta cuenta, que la copia no contiene. Si pierdes la frase de paso, nada recupera el saldo. ¿Exportar una copia ahora?', |
| 2005 | 'forget.skip': 'Omitir', |
| 2006 | 'forget.title': '¿Olvidar esta cuenta?', |
| 2007 | 'forget.ok': 'Borrarlo todo', |
| 2008 | 'forget.body': 'Esto borra tu frase de paso, tu clave de API cifrada y todos tus chats, Diamonds e historial de gastos de este dispositivo.', |
| 2009 | 'forget.tail': 'No hay recuperación. Todo desaparece.', |
| 2010 | 'forget.body_secondary': 'Esto quita la cuenta «{name}» de este navegador: su frase de paso, sus claves, chats, Diamonds, gastos y archivos.', |
| 2011 | 'forget.tail_secondary': 'No hay recuperación. Las demás cuentas de aquí quedan intactas.', |
| 2012 | 'forget.abandons': 'También abandona {amount} en el servidor. Solo esta identidad lo desbloquea, y solo la contraseña de esta cuenta abre una copia de la identidad.', |
| 2013 | |
| 2014 | // ── Changing a name, and a passphrase ────────────────────── |
| 2015 | 'rename.title': 'Cambiar el nombre', |
| 2016 | 'rename.failed': 'No se pudo renombrar', |
| 2017 | 'changepass.title': 'Cambiar la frase de paso', |
| 2018 | 'changepass.enter_current': 'Introduce tu frase de paso actual.', |
| 2019 | 'changepass.next': 'Siguiente', |
| 2020 | 'changepass.lead': 'Esto sustituye tu frase de paso actual. No hay recuperación, así que anota la nueva antes de continuar.', |
| 2021 | 'changepass.gen_note': 'Ocho palabras elegidas al azar por este dispositivo, unos {bits} bits, muy por encima de lo adivinable. Se convierte en la llave de todo lo que guardes aquí, y nadie puede restablecerla por ti. Anótala en papel. Puede que tu gestor de contraseñas se ofrezca a actualizarla; con esta fuerza es seguro.', |
| 2022 | 'changepass.new_ph': 'Frase de paso nueva', |
| 2023 | 'changepass.again_ph': 'Escríbela una vez más', |
| 2024 | 'changepass.change_it': 'Cambiarla', |
| 2025 | 'changepass.select_above': 'Selecciónala arriba', |
| 2026 | 'changepass.err_same_gen': 'Esa coincide con tu frase de paso actual. Genera otra.', |
| 2027 | 'changepass.err_short': 'Usa al menos 8 caracteres.', |
| 2028 | 'changepass.err_same': 'Esa es tu frase de paso actual. Elige otra distinta.', |
| 2029 | 'changepass.failed': 'Eso no funcionó', |
| 2030 | 'changepass.failed_body': 'Tu frase de paso actual no coincidía. No se cambió nada.', |
| 2031 | 'changepass.careful': 'Cuidado', |
| 2032 | 'changepass.key_not_resealed': 'La frase de paso cambió, pero tu clave de API no se pudo volver a cifrar. Vuelve a introducirla en Ajustes.', |
| 2033 | 'changepass.mail_not_resealed': 'Estos buzones no se pudieron volver a cifrar con la frase de paso nueva y necesitan sus contraseñas otra vez: {list}.', |
| 2034 | 'changepass.mail_not_unsealed': 'Estos buzones no se pudieron leer con la frase de paso antigua, así que siguen necesitando que vuelvas a poner sus contraseñas: {list}.', |
| 2035 | 'changepass.post_not_resealed': 'No se han podido volver a cifrar tus mensajes privados con la nueva frase de contraseña.', |
| 2036 | 'changepass.post_not_unsealed': 'No se han podido leer tus mensajes privados con tu frase de contraseña anterior, así que se han dejado tal como estaban.', |
| 2037 | 'changepass.models_not_resealed': 'Estos proveedores no se pudieron volver a cifrar con la frase de paso nueva y necesitan sus claves otra vez: {list}.', |
| 2038 | 'changepass.models_not_unsealed': 'Estos proveedores ya tenían claves ilegibles antes del cambio, y siguen necesitando que vuelvas a poner sus claves: {list}.', |
| 2039 | 'changepass.all_of_them': 'todos', |
| 2040 | 'changepass.the_api_key': 'tu clave de API', |
| 2041 | 'changepass.search_not_resealed': 'Estos servicios de búsqueda no se pudieron volver a cifrar con la frase de paso nueva y necesitan sus claves otra vez: {list}.', |
| 2042 | 'changepass.search_not_unsealed': 'Estos servicios de búsqueda ya tenían claves ilegibles antes del cambio, y siguen necesitando que vuelvas a poner sus claves: {list}.', |
| 2043 | 'changepass.voice_not_resealed': 'Tu voz de la forja no se pudo volver a cifrar con la frase de paso nueva. Vuelve a ponerla desde la línea que la forja imprimió para ti.', |
| 2044 | 'changepass.voice_not_unsealed': 'Tu voz de la forja no se pudo leer con la frase de paso antigua, así que sigue haciendo falta ponerla otra vez desde la línea que la forja imprimió para ti.', |
| 2045 | 'changepass.settle_not_resealed': 'Tu voz de resolución no se pudo volver a cifrar con la frase de paso nueva. Pégala de nuevo desde la línea que la forja imprimió para ti.', |
| 2046 | 'changepass.settle_not_unsealed': 'Tu voz de resolución no se pudo leer con la frase de paso antigua, así que sigue haciendo falta pegarla otra vez desde la línea que la forja imprimió para ti.', |
| 2047 | 'changepass.rekey_generic': '{who}: {list}.', |
| 2048 | 'changepass.rekey_failed': 'Parte de lo que se guarda aquí no se pudo volver a cifrar con la frase de paso nueva. Revisa tus claves y las contraseñas de los buzones en Ajustes.', |
| 2049 | 'changepass.changed': 'Frase de paso cambiada', |
| 2050 | 'changepass.changed_body': 'Tu nueva frase de paso está activa. Tu clave de API guardada se ha vuelto a cifrar con ella.', |
| 2051 | 'changepass.passkey_stale': 'Tu llave de acceso no se pudo actualizar, así que pedirá la frase de paso nueva. Vuelve a añadirla desde Ajustes.', |
| 2052 | |
| 2053 | // ── Backups ──────────────────────────────────────────────── |
| 2054 | 'backup.unreadable': 'No se pudo leer ese archivo de copia de seguridad.', |
| 2055 | 'backup.not_a_backup': 'Eso no es una copia de seguridad de Daimond.', |
| 2056 | 'backup.version_title': 'Esa copia de seguridad es más nueva que este Daimond', |
| 2057 | 'backup.version_body': 'El archivo se escribió en el formato de copia {found}, y esta compilación lee el formato {known}. No se ha restaurado nada, y nada del archivo se ha cambiado. Actualiza Daimond y ábrelo otra vez.', |
| 2058 | 'backup.identity_title': 'Identidad de la cuenta restaurada', |
| 2059 | 'backup.identity_body': 'La copia traía la identidad de «{name}», así que este navegador es ahora esa cuenta, con los créditos y la licencia Pro que el servidor guarda para ella. Desbloquéala con la frase de paso de esa cuenta; la copia no la contiene, y nada más abre la cuenta.', |
| 2060 | 'backup.identity_kept': 'Este navegador ya tiene una cuenta, así que la identidad de \u00ab{name}\u00bb en esa copia se dejó intacta. Todo lo demás se restauró.', |
| 2061 | 'backup.identity_failed': 'No se pudo restaurar la identidad de esa copia.', |
| 2062 | 'backup.restored': 'Copia de seguridad restaurada', |
| 2063 | 'backup.n_files.one': '{n} archivo del espacio de trabajo', |
| 2064 | 'backup.n_files.other': '{n} archivos del espacio de trabajo', |
| 2065 | 'backup.n_diamonds.one': '{n} diamond', |
| 2066 | 'backup.n_diamonds.other': '{n} diamonds', |
| 2067 | 'backup.restored_body': 'Restaurados {files} y {diamonds}. Daimond se recargará para abrir tu espacio de trabajo restaurado.', |
| 2068 | 'backup.n_foreign.one': '{n} archivo de esa copia pertenece a otra cuenta de ese navegador, así que no se restauró y solo queda en la copia.', |
| 2069 | 'backup.n_foreign.other': '{n} archivos de esa copia pertenecen a otra cuenta de ese navegador, así que no se restauraron y solo quedan en la copia.', |
| 2070 | |
| 2071 | // ── The provider form ────────────────────────────────────── |
| 2072 | 'models.other': 'Otro (escríbelo a mano)…', |
| 2073 | 'models.enter_key_first': 'Introduce tu clave de API para cargar los modelos…', |
| 2074 | 'models.key_rejected': 'Esa clave de API fue rechazada. Compruébala e inténtalo de nuevo.', |
| 2075 | 'models.list_failed': 'No se pudieron cargar los modelos automáticamente. Elige «Otro» y escribe un ID de modelo.', |
| 2076 | |
| 2077 | // ── The provider form's refusals ─────────────────────────── |
| 2078 | 'byok.err_provider': 'Elige primero un proveedor.', |
| 2079 | 'byok.err_base_url': 'Introduce la URL base del proveedor.', |
| 2080 | 'byok.err_bad_url': 'Esa URL base no es una dirección web. Debería empezar por https:// y nombrar el servidor del proveedor.', |
| 2081 | 'byok.err_key': 'Pega tu clave de API.', |
| 2082 | 'byok.err_model': 'Elige un modelo, o espera un momento a que cargue la lista.', |
| 2083 | 'byok.err_rejected': 'El proveedor rechazó esa clave de API. Compruébala e inténtalo de nuevo.', |
| 2084 | |
| 2085 | // ── Confirming something irreversible ────────────────────── |
| 2086 | 'confirm.yes_do_it': 'Sí, hazlo', |
| 2087 | 'confirm.irreversible': 'Daimond quiere hacer algo que no se puede deshacer', |
| 2088 | |
| 2089 | // ── Coming back from a checkout ──────────────────────────── |
| 2090 | 'checkout.cancelled': 'Cancelado', |
| 2091 | 'checkout.cancelled_body': 'No se cobró nada y tu saldo no ha cambiado.', |
| 2092 | 'checkout.card_saved': 'Tarjeta guardada', |
| 2093 | 'checkout.card_saved_body': 'Daimond ya puede recargar tus créditos automáticamente. Fija los límites abajo y luego actívalo. No se ha cobrado nada.', |
| 2094 | 'checkout.card_pending_body': 'Stripe ha recibido la tarjeta. Puede tardar un momento en aparecer aquí; vuelve a abrir Créditos en breve. No se ha cobrado nada.', |
| 2095 | 'checkout.pro_unlocked': 'Pro desbloqueado', |
| 2096 | 'checkout.pro_unlocked_body': 'Tienes Daimond Pro. La sincronización entre dispositivos, el almacenamiento en la nube y el correo están activos. Pro dura cinco años desde la compra. Sin suscripción, y no se renueva nada.', |
| 2097 | 'checkout.received': 'Pago recibido', |
| 2098 | 'checkout.pro_pending_body': 'Tu desbloqueo de Pro se está confirmando y aparecerá aquí en breve. Vuelve a abrir Créditos en un momento.', |
| 2099 | 'checkout.credits_pending_body': 'Tus créditos todavía se están confirmando. Aparecerán aquí en breve.', |
| 2100 | 'gateway.acct_unreachable': 'No se ha podido contactar con el servicio de cuentas de Daimond. Inténtalo de nuevo en breve.', |
| 2101 | 'gateway.session_no_url': 'La sesión de pago ha vuelto sin URL.', |
| 2102 | 'gateway.card_no_url': 'La sesión de tarjeta ha vuelto sin URL.', |
| 2103 | |
| 2104 | // ── The Graph pane ───────────────────────────────────────── |
| 2105 | // One still picture of the Diamonds and the links between them. It is an |
| 2106 | // instrument for checking the structure, so the wording states what is |
| 2107 | // there rather than praising it. |
| 2108 | 'graph.no_diamonds': 'Todavía no hay Diamonds, así que no hay nada que dibujar.', |
| 2109 | 'graph.isolated': 'Sin vincular', |
| 2110 | 'graph.unnamed': 'Sin título', |
| 2111 | 'graph.link_mode': 'Enlazar', |
| 2112 | 'graph.link_help': 'Pulsa el Diamond donde empieza el enlace y luego al que apunta. Escape cancela.', |
| 2113 | 'graph.organise': 'Ordenar', |
| 2114 | 'graph.organise_help': 'Volver a colocar los Diamonds para reducir cruces, y conservar las nuevas posiciones.', |
| 2115 | 'graph.pick_source': 'Pulsa el origen y luego el destino. Escape cancela.', |
| 2116 | 'graph.pick_target': 'Desde {name}. Pulsa el destino, o Escape.', |
| 2117 | 'graph.menu_link': 'Enlazar desde aquí…', |
| 2118 | 'graph.menu_open': 'Abrir este Diamond', |
| 2119 | 'graph.menu_reset_node': 'Devolver este Diamond a su sitio', |
| 2120 | 'graph.menu_reset_all': 'Devolver todos los Diamonds a su sitio', |
| 2121 | 'graph.menu_reset_view': 'Restablecer la vista', |
| 2122 | 'graph.menu_edit_link': 'Editar este enlace…', |
| 2123 | 'graph.menu_drop_link': 'Borrar este enlace', |
| 2124 | 'graph.fit': 'Todo', |
| 2125 | 'graph.fit_help': 'Escalar el dibujo hasta que todos los Diamonds queden a la vista.', |
| 2126 | 'graph.edit_title': 'Enlace', |
| 2127 | 'graph.new_title': 'Enlace nuevo', |
| 2128 | 'graph.rels_label': 'Relaciones', |
| 2129 | 'graph.rel_add_ph': 'parte de, bloquea… de una en una', |
| 2130 | 'graph.rel_add': 'Añadir esta relación', |
| 2131 | 'graph.rel_pool': 'Ya en uso', |
| 2132 | 'graph.rel_none': 'Todavía sin relación.', |
| 2133 | 'graph.rel_remove': 'Quitar {rel}', |
| 2134 | 'graph.rel_full': 'Un enlace lleva como mucho {n} caracteres de relación.', |
| 2135 | 'graph.rel_label': 'Relación', |
| 2136 | 'graph.rel_ph': 'parte de, bloquea, sustituye…', |
| 2137 | 'graph.note_label': 'Nota', |
| 2138 | 'graph.note_ph': 'Lo que la relación no dice.', |
| 2139 | 'graph.save': 'Guardar', |
| 2140 | 'graph.create': 'Crear', |
| 2141 | 'graph.cancel': 'Cancelar', |
| 2142 | 'graph.drop': 'Borrar', |
| 2143 | 'graph.self_link': 'Un enlace une dos Diamonds distintos.', |
| 2144 | 'graph.write_failed': 'Eso no se pudo escribir: {err}', |
| 2145 | 'graph.edit_help': 'Editar este enlace', |
| 2146 | 'graph.in_cycle': 'Este Diamond está en un ciclo.', |
| 2147 | 'graph.back_edge': 'Este vínculo cierra un ciclo. Los ciclos están permitidos; se dibuja a trazos para que se vea.', |
| 2148 | 'graph.edge_tip': '{from} → {to}', |
| 2149 | 'graph.edge_rel': 'Relación: {rel}', |
| 2150 | 'graph.failed': 'No se ha podido leer el grafo: {err}', |
| 2151 | 'graph.artefacts.one': '{n} vínculo con un archivo, una página o un chat', |
| 2152 | 'graph.artefacts.other': '{n} vínculos con archivos, páginas o chats', |
| 2153 | 'graph.stat_diamonds.one': '{n} Diamond', |
| 2154 | 'graph.stat_diamonds.other': '{n} Diamonds', |
| 2155 | 'graph.stat_links.one': '{n} vínculo entre Diamonds', |
| 2156 | 'graph.stat_links.other': '{n} vínculos entre Diamonds', |
| 2157 | 'graph.stat_cycles.one': '{n} vínculo cierra un ciclo', |
| 2158 | 'graph.stat_cycles.other': '{n} vínculos cierran ciclos', |
| 2159 | 'graph.stat_dangling.one': '{n} vínculo apunta a un Diamond que ya no está', |
| 2160 | 'graph.stat_dangling.other': '{n} vínculos apuntan a Diamonds que ya no están', |
| 2161 | |
| 2162 | // ── The terminal ─────────────────────────────────────────── |
| 2163 | 'term.label': 'Terminal', |
| 2164 | 'term.menu_copy': 'Copiar', |
| 2165 | 'term.menu_paste': 'Pegar', |
| 2166 | 'term.menu_select_all': 'Seleccionar todo', |
| 2167 | 'term.clipboard_denied': 'El navegador no entregó el portapapeles. Usa Ctrl-V, que siempre funciona.', |
| 2168 | 'termroot.browse': 'Cambiar…', |
| 2169 | 'termroot.browse_wait': 'Preguntando…', |
| 2170 | 'termroot.browse_use': 'Usar', |
| 2171 | 'grantroot.head': 'Carpeta de Daimond', |
| 2172 | 'grantroot.note': 'Limita cada comando. Se aplica al recargar.', |
| 2173 | 'termroot.reset': 'Carpeta concedida', |
| 2174 | 'termroot.head': 'Carpeta del terminal', |
| 2175 | 'termroot.note': 'Un terminal eres tú, puede llegar más lejos que un daimon.', |
| 2176 | 'termroot.pinned': 'Fijada en este ordenador desde la shell.', |
| 2177 | 'term.hint': 'Escribe para enviar las teclas directamente al programa. Ctrl-Mayús-C copia la selección, Ctrl-Mayús-V pega, Ctrl-Mayús-A lo selecciona todo, y Mayús con Re Pág o Av Pág recorre lo que ya ha pasado.', |
| 2178 | 'term.screen_label': 'Pantalla del terminal, como texto', |
| 2179 | 'term.screen_now': 'La pantalla dice ahora:', |
| 2180 | 'term.nothing_selected': 'No hay nada seleccionado.', |
| 2181 | 'term.copied.one': '{n} línea copiada.', |
| 2182 | 'term.copied.other': '{n} líneas copiadas.', |
| 2183 | 'term.printed_lines.one': '{n} línea impresa.', |
| 2184 | 'term.printed_lines.other': '{n} líneas impresas.', |
| 2185 | 'term.paste_warn': 'Este pegado tiene {n} líneas. El programa no ha pedido que se le avise del texto pegado, así que cada línea después de la primera se ejecutaría nada más llegar.', |
| 2186 | 'term.paste_first': 'Pegar solo la primera línea', |
| 2187 | 'term.paste_all': 'Pegar las {n} líneas', |
| 2188 | 'term.exited': 'El programa terminó con el estado {code}.', |
| 2189 | |
| 2190 | 'term.notices_label': 'Avisos sobre este terminal', |
| 2191 | 'term.dismiss_notice': 'Descartar este aviso', |
| 2192 | 'term.gaps_count.one': 'Falta salida en {n} lugar.', |
| 2193 | 'term.gaps_count.other': 'Falta salida en {n} lugares.', |
| 2194 | 'term.start': 'Iniciar un terminal', |
| 2195 | 'term.restart': 'Reiniciar el terminal', |
| 2196 | 'term.stop': 'Detener el programa', |
| 2197 | 'term.leave_hint': 'Pulsa F6 para sacar el teclado del terminal.', |
| 2198 | 'term.starting': 'Iniciando un terminal…', |
| 2199 | 'term.running': 'El terminal está en marcha.', |
| 2200 | 'term.nothing_running': 'No hay ningún programa en marcha en este terminal.', |
| 2201 | 'term.not_paired': 'No hay ninguna mano de máquina emparejada con este navegador, así que no hay máquina en la que abrir un terminal. Todo lo demás en Daimond funciona sin ella.', |
| 2202 | 'term.no_composer': 'Esta compilación no puede decir qué se le permitiría tocar a un terminal, así que no abrirá ninguno. Eso lo calcula la parte Rust de la aplicación, y esta página es anterior a ella. Actualiza Daimond; los comandos y las herramientas de archivos no se ven afectados.', |
| 2203 | 'term.unreadable_request': 'Daimond no pudo leer su propia respuesta sobre qué se le permitiría tocar a este terminal, así que no se inició nada. Recarga la aplicación; si vuelve a ocurrir, hay que actualizarla.', |
| 2204 | 'term.no_relay_script': 'El relé del terminal no se cargó en esta página, así que no se puede abrir ningún terminal. Tu máquina no tiene nada malo. Recarga Daimond.', |
| 2205 | 'term.no_renderer': 'El terminal en sí no se cargó en esta página, así que no hay nada sobre lo que dibujarlo. Tu máquina no tiene nada malo. Recarga Daimond.', |
| 2206 | |
| 2207 | |
| 2208 | // ── Added 2026-08-07 with the notes2 phases D-H ────────── |
| 2209 | 'panel.pending': 'Pendiente', |
| 2210 | 'skills.menu': 'Habilidades que puedes invocar', |
| 2211 | 'skills.none': 'Aún no hay habilidades. Pon un archivo markdown en {dir} y su nombre pasa a ser un comando.', |
| 2212 | 'skills.draft_badge': '· borrador', |
| 2213 | 'skills.draft_title': '¿Instalar /{name}?', |
| 2214 | 'skills.draft_ask': 'Daimond redactó esta habilidad. Instalarla escribe exactamente el texto de abajo en {into}, donde escribir /{name} la ejecutará.', |
| 2215 | 'skills.draft_install': 'Instalar', |
| 2216 | 'skills.draft_bad': 'Este borrador no se puede instalar', |
| 2217 | 'tile.dlg_models': 'Modelos', |
| 2218 | 'tile.model_daimon': 'Daimon', |
| 2219 | 'tile.model_daimon_help': 'El modelo con el que piensa este Diamond. La conversación se mantiene; usa Daimon nuevo para terminarla.', |
| 2220 | 'tile.daimon_reset': 'Daimon nuevo', |
| 2221 | 'tile.daimon_reset_help': 'Terminar la conversación de este daimon sin plegarla en el cristal', |
| 2222 | 'tile.daimon_reset_title': '¿Iniciar un daimon nuevo?', |
| 2223 | 'tile.daimon_reset_body': 'La conversación de este daimon ({n} mensajes) se descarta, y la próxima instrucción empieza una nueva. Nada pasa al cristal — pliégala antes si algo merece guardarse. El cristal, los archivos y los enlaces quedan intactos.', |
| 2224 | 'tile.daimon_reset_ok': 'Descartar la conversación', |
| 2225 | 'tile.daimon_reset_done': 'Un daimon nuevo. El cristal queda intacto.', |
| 2226 | 'tile.daimon_reset_busy_title': 'El daimon sigue trabajando', |
| 2227 | 'tile.daimon_reset_busy': 'Este daimon está en mitad de un turno. Su respuesta caería en la conversación que estás a punto de descartar, y también la conversación que el modelo tiene retenida, así que todavía no se descarta nada. Para el turno primero: mientras corre, el botón junto al cuadro de mensaje dice Parar.', |
| 2228 | 'tile.model_workers': 'Trabajadores', |
| 2229 | 'tile.model_vision': 'Trabajadores, imágenes', |
| 2230 | 'tile.model_vision_help': 'El modelo con el que corre un trabajador cuando su tarea nombra una imagen, y al que pasa cuando el modelo en el que está resulta no aceptar imágenes. Daimond no puede saber de antemano qué modelos ven, así que la elección es tuya; actúa tras el primer rechazo.', |
| 2231 | 'tile.model_same_as_text': 'Igual que el daimon', |
| 2232 | 'tile.model_none': 'ninguno', |
| 2233 | 'tile.diamond_model_help': 'Este Diamond piensa con {model}.', |
| 2234 | 'tile.model_note': 'Un trabajador conserva el modelo con el que empezó. Un modelo nuevo se aplica al siguiente que se despache.', |
| 2235 | 'tile.model_changed': 'El daimon pasó de {from} a {to}. La conversación se mantiene.', |
| 2236 | 'tile.model_change_note': 'El daimon pasó de {from} a {to}.', |
| 2237 | 'tile.model_change_unlogged': 'El modelo cambió, pero no se pudo escribir la entrada del historial.', |
| 2238 | 'tile.dlg_context': 'Contexto', |
| 2239 | 'tile.context_line': '{used} de {all} usados. Se pliega al {at}%.', |
| 2240 | 'tile.context_unknown': 'Este modelo no publica ventana de contexto, así que no hay nada con qué medirlo hasta que se rechace una petición.', |
| 2241 | 'tile.context_used_folds': 'Ventana de contexto usada: {used} / {all}. Se pliega al {at}%.', |
| 2242 | 'tile.fold_context': 'Plegar ahora', |
| 2243 | 'tile.fold_context_help': 'Resumir ahora la parte anterior de esta conversación, antes de que se llene', |
| 2244 | 'tile.fold_context_title': '¿Plegar esta conversación?', |
| 2245 | 'tile.fold_context_body': 'Un modelo resume la parte anterior, lo que cuesta una llamada, y el resumen pasa a ser lo que este chat recuerda. Los mensajes en pantalla se quedan donde están.', |
| 2246 | 'tile.fold_context_ok': 'Plegar', |
| 2247 | 'tile.fold_nothing': 'Nada que plegar. Esta conversación ya es lo más corta posible.', |
| 2248 | 'tile.fold_mid_turn': 'Espera a que termine este turno antes de plegar.', |
| 2249 | 'tile.fold_unavailable': 'Todavía no se ha dicho nada en este chat.', |
| 2250 | 'tile.fold_failed': 'El plegado no llegó a terminar', |
| 2251 | 'agent.model_vision': 'Esta tarea nombra una imagen, así que corre con el modelo de imagen de este Diamond, {model}.', |
| 2252 | 'agent.model_vision_fallback': 'Esta tarea nombra una imagen, pero este Diamond no tiene modelo de imagen, así que corre con el modelo de texto, {model}.', |
| 2253 | 'agent.model_rerouted': 'A {from} no se le pueden mostrar imágenes, así que este trabajador pasó a {to}.', |
| 2254 | 'agent.model_blind': 'A {model} no se le pueden mostrar imágenes, así que la imagen se dejó fuera.', |
| 2255 | 'agent.model_blind_none': 'A {model} no se le pueden mostrar imágenes y este Diamond no tiene modelo de imagen.', |
| 2256 | 'pending.empty': 'Nada espera por ti.', |
| 2257 | 'pending.sort': 'Ordenar', |
| 2258 | 'pending.by_priority': 'Por prioridad', |
| 2259 | 'pending.by_newest': 'Lo más nuevo primero', |
| 2260 | 'pending.by_oldest': 'Lo más antiguo primero', |
| 2261 | 'pending.priority': 'Prioridad', |
| 2262 | 'pending.prio_high': 'Alta', |
| 2263 | 'pending.prio_normal': 'Normal', |
| 2264 | 'pending.prio_low': 'Baja', |
| 2265 | 'pending.no_detail': 'No se dio más detalle.', |
| 2266 | 'pending.execute': 'Hazlo', |
| 2267 | 'pending.execute_named': 'Hazlo: {what}', |
| 2268 | 'pending.discuss': 'Hablarlo primero', |
| 2269 | 'pending.discuss_named': 'Hablarlo primero: {what}', |
| 2270 | 'pending.cancel': 'Descartar', |
| 2271 | 'pending.cancel_named': 'Descartar: {what}', |
| 2272 | 'pending.noted': 'Anotado, y fuera de la lista.', |
| 2273 | 'pending.opened': 'Abierto para enviar. Sigue aquí hasta que se envíe.', |
| 2274 | 'pending.diamond_gone': 'El Diamond que planteó esto ya no está, así que no hay con quién hablarlo.', |
| 2275 | 'pending.discuss_prompt': 'Tenemos que hablar más de esto antes de que lo apruebe: «{headline}»', |
| 2276 | 'crystal.view_switch': 'Qué cara de este Diamond', |
| 2277 | 'crystal.view_crystal': 'Cristal', |
| 2278 | 'crystal.view_chat': 'Chat', |
| 2279 | 'crystal.full': 'Pantalla completa', |
| 2280 | 'crystal.full_help': 'Llenar la pantalla con esta página', |
| 2281 | 'crystal.full_exit': 'Salir de pantalla completa', |
| 2282 | 'crystal.full_exit_help': 'Devolver la barra lateral y la barra superior', |
| 2283 | 'capp.title': '{name}', |
| 2284 | 'capp.make_body': 'Esto crea un Diamond llamado «{name}» y pone dentro la página {name}. Lo que registres se queda en ese Diamond, en este dispositivo.', |
| 2285 | 'capp.make_ok': 'Crearlo', |
| 2286 | 'capp.exists_body': 'Ya tienes un Diamond llamado «{name}», y lo que has registrado está en él. Crear un segundo dejaría atrás esas entradas.', |
| 2287 | 'capp.exists_ok': 'Abrirlo', |
| 2288 | 'capp.missing_body': 'Esta versión de Daimond no lleva la plantilla {name}, así que no hay nada que poner en un Diamond. No se ha creado nada. Pídele una página a tu daimon, o actualiza Daimond e inténtalo de nuevo.', |
| 2289 | 'capp.page_failed': 'El Diamond se creó, pero no se pudo escribir su página: {why}', |
| 2290 | // Mantener al día la página de una capp. Se PREGUNTA, no se sustituye sin |
| 2291 | // más: es un ofrecimiento, no un aviso. «lanes» se queda en inglés porque la |
| 2292 | // propia página está en inglés, igual que Diamond. |
| 2293 | 'capp.legacy_body': 'Este {name} se creó antes de que las capps llevaran versión, así que Daimond no puede saber qué partes de su página son las que se le dieron. ¿Poner su página al día? Tus lanes y tus entradas se quedan como están.', |
| 2294 | 'capp.legacy_ok': 'Actualizar la página', |
| 2295 | 'capp.update_kept': 'La página se ha puesto al día. Estos archivos son tuyos y se han dejado como están: {files}.', |
| 2296 | 'capp.update_failed': 'No se pudo sustituir la página: {why}', |
| 2297 | // Vuelve a la plantilla PROPIA de la capp, no a una página en blanco ni a la |
| 2298 | // estándar. |
| 2299 | 'capp.page_reset_confirm': '¿Sustituir la página de este Diamond por la página {name} actual? Lo que has registrado no se toca.', |
| 2300 | 'crystal.chat_empty': 'Aún no se ha dicho nada. El cristal es lo que este Diamond sabe; esto es cómo llegó a saberlo.', |
| 2301 | 'crystal.dispatch_after_error': 'El turno acabó mal, así que los agentes que pidió no se iniciaron.', |
| 2302 | 'instructions.chip_two': 'Hay dos capas en vigor: la tuya y la de este proyecto. Pulsa para abrir la tuya.', |
| 2303 | 'sys.head': 'Sistema', |
| 2304 | 'sys.note': 'Los archivos propios de Daimond. Viven en el navegador, no en la carpeta que tienes abierta, y viajan entre tus dispositivos.', |
| 2305 | 'sys.empty': 'aquí todavía no hay nada', |
| 2306 | 'sys.up': 'Subir una carpeta', |
| 2307 | 'trig.head': 'Cuándo actúa este Diamond', |
| 2308 | 'trig.none': 'Nada configurado. Este Diamond responde cuando lo llamas y en ningún otro momento.', |
| 2309 | 'trig.activity': 'Tras {n} minutos de tu actividad', |
| 2310 | 'trig.mail': 'Cuando llega correo a {folder} ({mailbox})', |
| 2311 | 'trig.edit': 'Editar esta acción', |
| 2312 | 'trig.choose': 'Qué acción', |
| 2313 | 'trig.opt_on': '▶ {what}', |
| 2314 | 'trig.opt_off': '⏸ {what}', |
| 2315 | 'trig.nothing_written': 'nada escrito', |
| 2316 | 'trig.edit_this': 'Editar {what}', |
| 2317 | 'trig.copy_this': 'Copiar {what}', |
| 2318 | 'trig.copy': 'Copiar su instrucción y su contexto', |
| 2319 | 'trig.copied': 'Copiado.', |
| 2320 | 'trig.copy_failed': 'El portapapeles lo rechazó. Abre la acción y copia desde el cuadro.', |
| 2321 | 'trig.remove': 'Quitar', |
| 2322 | 'trig.remove_body': '¿Quitar «{what}»? Este Diamond dejará de actuar por ello.', |
| 2323 | 'trig.add': 'Añadir una acción', |
| 2324 | 'trig.add_kind': 'Qué la dispara', |
| 2325 | 'trig.kind_activity': 'Minutos de mi actividad', |
| 2326 | 'trig.kind_mail': 'Correo que llega', |
| 2327 | 'trig.note': 'Están en {path}, donde tú y este Diamond podéis leerlos.', |
| 2328 | 'trig.edit_title': 'Editar: {what}', |
| 2329 | 'trig.minutes': 'Minutos', |
| 2330 | 'trig.minutes_note': 'Minutos en los que trabajas, no minutos de reloj. Una pestaña abierta toda la noche no cuenta ninguno.', |
| 2331 | 'trig.mailbox': 'Buzón', |
| 2332 | 'trig.folder': 'Carpeta', |
| 2333 | 'trig.no_mailbox': 'Aún no hay ningún buzón configurado', |
| 2334 | 'trig.instruction': 'Instrucción', |
| 2335 | 'trig.instruction_ph': 'Qué pedirle a este Diamond cuando se dispare…', |
| 2336 | 'trig.context': 'Contexto', |
| 2337 | 'trig.context_ph': 'Antecedentes que necesita la primera vez, y solo la primera vez…', |
| 2338 | 'trig.context_note': 'Se envía una vez, delante de la primera instrucción. Cámbialo y se envía de nuevo.', |
| 2339 | 'trig.section': 'Acciones automáticas', |
| 2340 | 'role.compactor': 'Plegado de contexto', |
| 2341 | 'role.compactor_help': 'Resume una conversación que ha superado su ventana. Su respuesta pasa a ser lo que el chat recuerda.', |
| 2342 | 'settings.fold_model': 'Plegar con', |
| 2343 | 'settings.fold_model_own': 'El modelo propio de la conversación', |
| 2344 | 'settings.fold_model_group': 'Plegar en su lugar con', |
| 2345 | 'settings.fold_model_note': 'Cuando una conversación supera su ventana se resume, y el resumen pasa a ser lo que el modelo recuerda. Esto elige quién lo escribe, para los chats del mismo proveedor; cualquier otro se pliega con su propio modelo.', |
| 2346 | |
| 2347 | // The durable trail, shown on the lock screen only when the app is |
| 2348 | // actually looping -- three boots in ninety seconds. See breadcrumb.js. |
| 2349 | 'trail.looping': 'Daimond se ha reiniciado {n} veces en el último minuto. Esto es lo que hizo; cópialo en un informe de error.', |
| 2350 | 'trail.copy': 'Copiar', |
| 2351 | 'trail.copied': 'Copiado', |
| 2352 | 'trail.clear': 'Borrar', |
| 2353 | |
| 2354 | // A safe start: the app opens without the sync engine, so a device that |
| 2355 | // cannot stay open long enough to be used gets to be used. See safe.js. |
| 2356 | 'safe.armed': 'Daimond se ha iniciado sin sincronizar, así que debería permanecer abierto. Tu trabajo está a salvo en este dispositivo y vuelve a llegar a tus otros dispositivos en cuanto actives la sincronización.', |
| 2357 | 'safe.offer': 'Si Daimond no permanece abierto, inícialo sin sincronizar. Tu trabajo permanece en este dispositivo y no se borra nada.', |
| 2358 | 'safe.turn_off': 'Iniciar sin sincronizar', |
| 2359 | 'safe.turn_on': 'Volver a activar la sincronización', |
| 2360 | 'safe.chip': 'Sinc. desactivada (inicio seguro)', |
| 2361 | 'safe.chip_reason': 'Daimond se inició sin sincronizar, así que el trabajo de este dispositivo no llega a tus otros dispositivos. No se ha perdido nada; todo sigue aquí.', |
| 2362 | 'safe.chip_click': 'Haz clic para volver a activar la sincronización.', |
| 2363 | 'safe.turn_on_title': '¿Volver a activar la sincronización?', |
| 2364 | 'safe.turn_on_ask': 'Daimond se reinicia e intenta sincronizar de nuevo con tus otros dispositivos. Si empieza a cerrarse solo, vuelve por su cuenta al inicio seguro.', |
| 2365 | 'safe.turn_on_ok': 'Reiniciar con sincronización', |
| 2366 | |
| 2367 | // The sync switch and the durable trail, both reachable from the admin |
| 2368 | // panel. See safe.js and breadcrumb.js. |
| 2369 | 'home.sec_sync': 'Sincronización y diagnóstico', |
| 2370 | 'settings.sync': 'Sincronización', |
| 2371 | 'settings.sync_on_note': 'Este dispositivo está enviando su trabajo a tus otros dispositivos. Detenerlo es inmediato y no pierde nada; todo se queda aquí.', |
| 2372 | 'settings.sync_off_note': 'Este dispositivo no está sincronizando. Su trabajo está a salvo aquí y no llega a tus otros dispositivos.', |
| 2373 | 'settings.trail': 'Diagnóstico', |
| 2374 | 'settings.trail_copy': 'Copiar el registro propio de la aplicación', |
| 2375 | 'settings.trail_note': 'Lo último que hizo Daimond: nombres de eventos y una hora, sin claves, sin texto de mensajes, nada de tus archivos. Seguro para pegar en un informe de error.', |
| 2376 | 'settings.trail_empty': 'Todavía no hay nada registrado.', |
| 2377 | // ── The email doorbell ───────────────────────────────────── |
| 2378 | 'doorbell.title': 'Timbre por correo', |
| 2379 | 'doorbell.asking': 'Comprobando…', |
| 2380 | 'doorbell.saving': 'Guardando…', |
| 2381 | 'doorbell.turn_off': 'Desactivar el timbre por correo', |
| 2382 | 'doorbell.turn_on': 'Activar el timbre por correo', |
| 2383 | 'doorbell.on_note': 'Cuando llegue un mensaje y no tengas Daimond abierto, podemos enviar un correo a la dirección de tu cuenta diciendo que algo está esperando. Sin remitente, sin asunto, sin recuento, y como mucho uno cada 24 horas. Al desactivarlo también se detiene cualquiera que ya esté esperando para salir.', |
| 2384 | 'doorbell.off_note': 'No se enviará ningún correo. Verás el mensaje la próxima vez que abras Daimond, y en ningún otro sitio.', |
| 2385 | 'doorbell.default_note': 'Es lo predeterminado para una cuenta beta; no lo has cambiado.', |
| 2386 | 'doorbell.no_address': 'No hay ninguna dirección de correo en tu cuenta, así que no se puede enviar nada sea cual sea este ajuste.', |
| 2387 | 'doorbell.unconfigured': 'Esta pasarela no puede enviar correo, así que no se enviará nada sea cual sea este ajuste.', |
| 2388 | 'doorbell.err_save': 'Eso no se ha guardado. El ajuste no ha cambiado; inténtalo de nuevo.', |
| 2389 | 'doorbell.notice_title': 'Un correo, como mucho una vez al día', |
| 2390 | 'doorbell.notice_body': 'Cuando alguien te envíe un mensaje privado y no tengas Daimond abierto, podemos enviar un correo a la dirección de tu cuenta diciendo que algo está esperando. No lleva remitente, ni asunto, ni recuento, ni enlace a ningún mensaje — y como mucho uno cada 24 horas.\n\nPuedes desactivarlo cuando quieras: abre los Ajustes con el engranaje que hay junto a tu nombre, y es la fila llamada «Timbre por correo». Al desactivarlo también se detiene cualquiera que ya esté esperando para salir.', |
| 2391 | // ── Reporting a message, and sharing a Diamond ───────────── |
| 2392 | // i18n-family: report.reason_ = harassment threat spam impersonation other |
| 2393 | 'post.report': 'Denunciar', |
| 2394 | 'report.title': 'Denunciar este mensaje', |
| 2395 | 'report.rule': 'Estas palabras exactas van al operador, junto con la firma del remitente y la única clave que abre este mensaje. Nada más de esta conversación va: ni el resto del hilo, ni sus otros mensajes, ni tus otras conversaciones.', |
| 2396 | 'report.signed_by': 'Firmado por {fp}', |
| 2397 | 'report.why': '¿Por qué lo denuncias?', |
| 2398 | 'report.reason_harassment': 'Insultos dirigidos a mí', |
| 2399 | 'report.reason_threat': 'Una amenaza de daño', |
| 2400 | 'report.reason_spam': 'Mensajes masivos no deseados', |
| 2401 | 'report.reason_impersonation': 'Se hace pasar por otra persona', |
| 2402 | 'report.reason_other': 'Otra cosa', |
| 2403 | 'report.send': 'Enviar esta denuncia', |
| 2404 | 'report.cancel': 'Cancelar', |
| 2405 | 'report.sending': 'Enviando…', |
| 2406 | 'report.sent': 'Denunciado. El operador ya puede leer este único mensaje.', |
| 2407 | 'report.already': 'Ya has denunciado este mensaje. No se ha enviado nada nuevo.', |
| 2408 | 'report.done': 'Cerrar', |
| 2409 | 'report.err_no_message': 'Ese mensaje no es uno que este dispositivo tenga.', |
| 2410 | 'report.err_no_artefact': 'Esta versión no guardó la forma firmada de ese mensaje, así que no hay nada que demuestre quién lo envió. Una denuncia sin eso sería una acusación, así que no se ha enviado nada.', |
| 2411 | 'report.err_no_envelope': 'Esta versión no guardó la forma sellada de ese mensaje, así que la denuncia no podría contrastarse con lo que llevó el relevo. No se ha enviado nada.', |
| 2412 | 'report.err_no_bridge': 'Esta versión no puede leer el mensaje que va a enviar, así que no lo enviará.', |
| 2413 | 'report.err_not_a_post': 'Eso no es un mensaje; es un {kind}.', |
| 2414 | 'report.err_no_reasons': 'Denunciar no está disponible ahora mismo.', |
| 2415 | 'report.err_failed': 'Esa denuncia no se ha presentado. No se ha enviado nada.', |
| 2416 | 'share.err_no_bridge': 'Esta versión no puede compartir un Diamond: su formato de compartición no está cargado.', |
| 2417 | 'share.err_no_seal': 'Esta versión no puede compartir un Diamond: el sello con el que iría no está cargado.', |
| 2418 | 'share.err_no_store': 'Esta versión puede leer algo compartido pero no tiene dónde ponerlo.', |
| 2419 | 'share.err_locked': 'Desbloquea Daimond para compartir: lo compartido se firma con tu propia clave.', |
| 2420 | 'share.err_empty': 'Todavía no hay nada en ese Diamond que enviar.', |
| 2421 | 'share.err_nothing': 'No hay nada que compartir: nombra un Diamond o los archivos que enviar.', |
| 2422 | 'share.err_no_name': 'Lo compartido necesita un nombre para lo que lleva dentro.', |
| 2423 | 'share.err_note_long': 'Esa nota supera los {n} caracteres y no se ha enviado. Lo compartido lleva una línea sobre qué es; una carta es un mensaje.', |
| 2424 | 'share.err_too_many_files': 'Ese Diamond tiene {n} archivos, y una compartición lleva {max} como mucho.', |
| 2425 | 'share.err_too_big': 'Ese Diamond ocupa {mb} MB, y una compartición lleva {max} MB como mucho. Se rechaza en lugar de recortarse: una copia a la que le falta un archivo no es una copia más pequeña.', |
| 2426 | 'share.err_bad_key': 'Esa persona no tiene una clave utilizable, así que no se ha enviado nada.', |
| 2427 | 'share.err_no_card': 'Todavía no hay clave de sellado para esa persona, así que no se le puede sellar nada. Escanea su código, o pídele que te envíe el suyo.', |
| 2428 | 'share.err_not_addressed': 'Eso compartido está dirigido a una clave distinta de esta.', |
| 2429 | 'share.err_addr_mismatch': 'Lo compartido que te anunciaron no es lo que ha llegado.', |
| 2430 | 'share.err_all_code': 'Todo lo que hay en esa compartición es una página, y la página no se aceptó, así que no se ha añadido nada.', |
| 2431 | 'share.code_title': 'Esta compartición contiene código', |
| 2432 | 'share.code_body': '«{name}» incluye una página: un programa escrito por otra persona, que Daimond ejecutará cuando la abras. Vino de {who}. Acéptala solo si esperabas una página suya.\n\nLo que se añadiría: {files}', |
| 2433 | 'share.code_ok': 'Aceptar la página', |
| 2434 | 'share.landed_name': 'Un Diamond compartido', |
| 2435 | 'share.landed_title': 'Diamond compartido añadido', |
| 2436 | 'share.landed_partial': 'Estos archivos no se han podido escribir en el Diamond: {list}. Todo lo demás de la compartición está ahí.', |
| 2437 | 'share.left_page': 'es una página que no has aceptado', |
| 2438 | 'share.landed_ok': 'Añadido como un Diamond tuyo. Han llegado {n} archivo(s).', |
| 2439 | 'share.panel_take_head': 'Abrir una compartición', |
| 2440 | 'share.panel_take_help': 'Acepta un archivo {ext} que te haya dado alguien. Una página dentro es un programa que esa persona escribió, y nunca se escribe en tu espacio de trabajo sin preguntarte primero.', |
| 2441 | 'share.panel_take': 'Abrir un archivo de compartición…', |
| 2442 | 'share.panel_send_head': 'Enviar un Diamond', |
| 2443 | 'share.panel_no_diamond': 'Abre un Diamond para compartirlo. Una compartición lleva los archivos de un solo Diamond, así que tiene que haber uno delante de ti.', |
| 2444 | 'share.panel_no_people': 'Aquí todavía nadie tiene clave de sellado, así que no hay nadie a quien sellar una compartición. Muéstrale tu código a alguien, o lee el suyo.', |
| 2445 | 'share.panel_this': 'Compartiendo «{name}»: una copia que será suya, no una vista de la tuya.', |
| 2446 | 'share.panel_who': 'A quién va', |
| 2447 | 'share.panel_send': 'Compartir', |
| 2448 | 'share.panel_sealing': 'Sellando…', |
| 2449 | 'share.panel_sent': 'Enviado a {who}.', |
| 2450 | 'share.panel_refused': 'El relé no lo ha aceptado: {why} Se ha guardado como archivo en su lugar: dale ese.', |
| 2451 | 'share.by_relay': 'Esta compartición ocupa {size} y va directa a esa persona por el relé.', |
| 2452 | 'share.by_file': 'Esta compartición ocupa {size} y el relé lleva como mucho {max}, así que viaja como archivo: guárdalo y dale el archivo. Va sellada a esa persona en cualquier caso.', |
| 2453 | 'share.saved_as': 'Guardada como {name}. Dale ese archivo: está sellado a esa persona y a nadie más.', |
| 2454 | 'share.err_not_share': 'Ese archivo no es una compartición de Daimond.', |
| 2455 | 'share.err_no_file': 'No se ha elegido ningún archivo, así que no se ha abierto nada.', |
| 2456 | 'share.err_file_huge': 'Ese archivo ocupa {size}, más de lo que puede ocupar cualquier compartición, así que no se ha abierto.', |
| 2457 | // ── The Trash ────────────────────────────────────────────── |
| 2458 | 'panel.trash': 'Papelera', |
| 2459 | |
| 2460 | // ── El panel Mejorar ─────────────────────────────────────── |
| 2461 | // Donde se escribe una nota sobre Daimond y donde se leen las propuestas. |
| 2462 | // Las dos mitades pasan ahora por la forja de Oregami. |
| 2463 | 'panel.social': 'Social', |
| 2464 | 'social.notes': 'Notas', |
| 2465 | 'social.proposals': 'Propuestas', |
| 2466 | 'social.messages': 'Mensajes', |
| 2467 | 'social.people': 'Personas', |
| 2468 | 'social.messages_off': 'Los mensajes no están activados en esta compilación.', |
| 2469 | 'social.people_off': 'Todavía nadie. Muestra tu código a alguien que esté contigo, o lee el suyo.', |
| 2470 | 'social.share': 'Compartir', |
| 2471 | 'social.share_off': 'Compartir no está disponible en esta versión.', |
| 2472 | |
| 2473 | 'post.err_no_bridge': 'Esta compilación no puede redactar un mensaje: su formato de mensajes no está cargado.', |
| 2474 | 'post.err_no_draft': 'Esta compilación no puede redactar un mensaje: su codificador de mensajes no está cargado.', |
| 2475 | 'post.err_no_recipient': 'Un mensaje sellado necesita al menos una clave de destinatario.', |
| 2476 | 'post.err_too_many': 'Un mensaje puede sellarse para {n} personas como máximo a la vez.', |
| 2477 | 'post.err_bad_key': 'Uno de los destinatarios no tiene una clave utilizable, así que no se envió nada.', |
| 2478 | 'post.err_short': 'Ese mensaje es demasiado corto para serlo.', |
| 2479 | 'post.err_not_sealed': 'Eso no es un mensaje sellado de Daimond.', |
| 2480 | 'post.err_no_sealing_key': 'Este dispositivo no tiene clave de sellado, así que no puede abrir un mensaje sellado. Desbloquea Daimond una vez y se creará una.', |
| 2481 | 'post.err_not_for_you': 'Este mensaje no se selló para ninguna clave que tenga este dispositivo.', |
| 2482 | 'post.err_locked': 'Desbloquea Daimond para enviar un mensaje: se firma con tu propia clave.', |
| 2483 | 'post.err_empty': 'No hay nada que enviar.', |
| 2484 | 'post.err_long': 'Ese mensaje supera los {n} caracteres de texto y no se envió. Se rechaza en lugar de recortarse: medio mensaje no es un mensaje más corto.', |
| 2485 | 'post.err_no_card': 'Todavía no hay clave de sellado para esa persona, así que no se le puede sellar nada. Escanea su código, o pídele que te envíe el suyo.', |
| 2486 | 'post.err_no_groups': 'Esta compilación no puede enviar a un grupo.', |
| 2487 | 'post.err_group_none': 'El mensaje no ha llegado a nadie de ese grupo, así que no se ha enviado nada.', |
| 2488 | 'post.err_reserved_line': 'Un mensaje no puede empezar con esa línea: Daimond la usa para llevar la lista de miembros de un grupo. Pon algo antes.', |
| 2489 | 'post.err_bad_ref': 'Ese no es un tipo de referencia que un mensaje pueda llevar.', |
| 2490 | 'post.err_not_a_post': 'Eso no es un mensaje; es un {kind}.', |
| 2491 | 'post.err_not_addressed': 'Ese mensaje está dirigido a una clave distinta de esta.', |
| 2492 | 'post.err_addr_mismatch': 'El mensaje que el relé nombró no es el mensaje que llevaba.', |
| 2493 | 'post.err_offline': 'Daimond no pudo llegar al relé, así que el mensaje no se ha enviado.', |
| 2494 | 'post.err_box_full': 'Ese buzón está lleno, así que el mensaje no llegó. Tienen que recoger lo que ya hay dentro antes de que quepa otro.', |
| 2495 | 'post.err_no_account': 'Ninguna cuenta tiene esa clave, así que el mensaje no se ha enviado.', |
| 2496 | 'post.err_too_big': 'Ese mensaje es demasiado grande para que el relé lo lleve.', |
| 2497 | 'post.err_refused': 'El relé no aceptó ese mensaje, así que no se ha enviado.', |
| 2498 | 'post.locked': 'Desbloquea Daimond para leer tus mensajes: se guardan cifrados en este dispositivo.', |
| 2499 | 'post.tray_head': 'Esperando tu respuesta', |
| 2500 | 'post.none': 'Todavía no hay mensajes.', |
| 2501 | 'post.you': 'Tú', |
| 2502 | 'post.someone': 'Alguien nuevo', |
| 2503 | 'post.unreadable': 'Llegó un mensaje que este dispositivo no pudo abrir.', |
| 2504 | 'post.accept': 'Aceptar', |
| 2505 | 'post.ignore': 'Ignorar', |
| 2506 | 'post.block': 'Bloquear', |
| 2507 | 'post.expired': 'Un mensaje que enviaste nunca se recogió y el relé lo ha soltado.', |
| 2508 | 'post.expired_group': 'Un mensaje que enviaste a un grupo nunca lo recogieron {n} de las personas a las que fue, y el relé ha soltado esas copias.', |
| 2509 | 'post.notice': 'El relé dejó un aviso aquí.', |
| 2510 | 'post.nobody': 'Todavía no hay nadie a quien escribir. Intercambia códigos con alguien en Personas y aparecerá aquí.', |
| 2511 | 'post.to_label': 'A quién va esto', |
| 2512 | 'post.audience': 'Privado. Solo tú y la persona a la que escribes podéis leer esto.', |
| 2513 | 'post.audience_group': 'Sellado una vez para cada una de las {n} personas de este grupo. No hay clave compartida: quien se una después no podrá leer esto, y a quien se saque después le queda.', |
| 2514 | 'post.group_count': '{n} personas', |
| 2515 | 'post.box_label': 'Escribir un mensaje privado', |
| 2516 | 'post.box_ph': 'Lo que quieres decir, y a quién.', |
| 2517 | 'post.send': 'Enviar en privado', |
| 2518 | 'post.err_no_to': 'Elige primero a quién va esto.', |
| 2519 | 'post.sending': 'Enviando…', |
| 2520 | 'post.sent': 'Enviado.', |
| 2521 | 'post.sent_group': 'Enviado a {n} personas.', |
| 2522 | 'post.refused_offline': 'no se ha podido alcanzar el relé', |
| 2523 | 'post.refused_full': 'su buzón está lleno', |
| 2524 | 'post.refused_no_account': 'ninguna cuenta tiene su clave', |
| 2525 | 'post.refused_too_big': 'demasiado grande para el relé', |
| 2526 | 'post.refused_other': 'el relé lo ha rechazado', |
| 2527 | 'post.group_refused': 'El relé no lo ha aceptado para: {who}.', |
| 2528 | |
| 2529 | // ── A group, and who is in it ── |
| 2530 | // A group is a LIST OF PEOPLE a message is sealed to one by one. No |
| 2531 | // shared key, nothing kept on the relay: that decides every line here. |
| 2532 | 'group.err_unknown': 'Este dispositivo no conoce ese grupo.', |
| 2533 | 'group.err_left': 'Ya no estás en este grupo, así que no se le puede enviar nada. Los mensajes que ya están aquí se quedan donde están.', |
| 2534 | 'group.err_closed': 'Este grupo se ha cerrado, así que ya no se le puede enviar nada. Los mensajes que ya están aquí se quedan donde están.', |
| 2535 | 'group.err_close_not_creator': 'Solo la persona que creó un grupo puede cerrarlo.', |
| 2536 | 'group.err_not_joined': 'Únete a este grupo antes de escribirle.', |
| 2537 | 'group.err_nobody': 'En este grupo no hay nadie para quien este dispositivo pueda sellar.', |
| 2538 | 'group.err_locked': 'Desbloquea Daimond para crear un grupo: su lista de miembros se firma con tu propia clave.', |
| 2539 | 'group.err_no_id': 'Este dispositivo no ha podido nombrar un grupo.', |
| 2540 | 'group.err_not_creator': 'Solo la persona que creó un grupo puede cambiar quién está en él.', |
| 2541 | 'group.err_no_sealing_key': 'Este dispositivo todavía no tiene clave de sellado, así que no puede crear un grupo.', |
| 2542 | 'group.err_too_many': 'Un grupo puede tener como máximo {n} personas.', |
| 2543 | 'group.err_no_card': 'No hay clave de sellado para {n} de las personas elegidas, así que no se pueden añadir. Escanea antes su código.', |
| 2544 | 'group.err_bad_keys': 'Estas no son claves: {who}.', |
| 2545 | 'group.err_pick': 'Elige al menos a una persona.', |
| 2546 | |
| 2547 | // lower case and no full stop: each finishes `group.refused` |
| 2548 | 'group.skip_blocked': 'bloqueaste esta clave', |
| 2549 | 'group.refused': 'No sellado a: {who}.', |
| 2550 | 'group.skip_changed': 'su clave cambió y no has cotejado la nueva', |
| 2551 | 'group.skip_disagree': 'la clave que el grupo tiene para esa persona no es la que tú tienes', |
| 2552 | |
| 2553 | // The two sentences. Each states a LIMIT: what a new member cannot be |
| 2554 | // shown, and what somebody taken out keeps. Neither may be softened. |
| 2555 | 'group.joining_shows_nothing': 'Al unirte no verás nada de lo que se envió antes de que te unieras. Esos mensajes nunca se sellaron para tu clave, así que ningún dispositivo puede abrírtelos.', |
| 2556 | 'group.removing_retracts_nothing': 'Sacar a alguien no recupera nada. Conserva todos los mensajes que ya se le enviaron; no recibirá nada de lo que se envíe a partir de ahora.', |
| 2557 | 'group.close_note': 'Cerrar un grupo lo cierra para todos. Nadie podrá volver a escribirle, tú incluido; todos los mensajes ya enviados se quedan donde están. No se puede deshacer.', |
| 2558 | |
| 2559 | 'group.unnamed': 'Un grupo', |
| 2560 | 'group.invites_head': 'Invitaciones a grupos', |
| 2561 | 'group.head': 'Grupos', |
| 2562 | 'group.none_joined': 'Todavía no te has unido a ninguno. Responde a la invitación de arriba, o crea uno abajo.', |
| 2563 | 'group.none': 'Todavía no hay grupos. Un grupo es una lista de personas para las que un mensaje se sella una por una — no hay clave compartida, y en el relé no se guarda nada.', |
| 2564 | 'group.invited_by': '{n} personas, invitadas por quien creó el grupo.', |
| 2565 | 'group.join': 'Unirse', |
| 2566 | 'group.decline': 'Ahora no', |
| 2567 | 'group.count': '{n} personas', |
| 2568 | |
| 2569 | // "stop sending to", never "remove": nothing is taken back |
| 2570 | 'group.stop_sending': 'Dejar de enviar a {who}', |
| 2571 | 'group.leave': 'Salir de este grupo', |
| 2572 | 'group.gone': 'Ya no estás en este grupo. No se ha quitado nada: todos los mensajes que ya están aquí se quedan, y no llegará nada nuevo.', |
| 2573 | |
| 2574 | 'group.close': 'Cerrar este grupo', |
| 2575 | 'group.close_title': '¿Cerrar este grupo para todos?', |
| 2576 | 'group.close_ask': 'Esto cierra «{name}» para todos los que están en él.', |
| 2577 | 'group.close_ok': 'Cerrarlo para todos', |
| 2578 | 'group.closed_said': 'Cerrado, y se ha avisado a {n} personas.', |
| 2579 | 'group.closed': 'Este grupo lo ha cerrado la persona que lo creó. No se ha quitado nada: todos los mensajes que ya están aquí se quedan, y nadie puede volver a escribirle.', |
| 2580 | |
| 2581 | 'group.nobody': 'Todavía no hay nadie a quien poner en un grupo. Intercambia códigos con alguien en Personas y aparecerá aquí.', |
| 2582 | 'group.name_ph': 'Cómo llamar a este grupo', |
| 2583 | 'group.name_label': 'El nombre del grupo', |
| 2584 | 'group.members_label': 'Quién está en este grupo', |
| 2585 | 'group.make': 'Crear este grupo', |
| 2586 | 'group.sending_roster': 'Avisando a todos…', |
| 2587 | 'group.roster_sent': 'Hecho.', |
| 2588 | 'group.making': 'Creando el grupo…', |
| 2589 | 'group.made': 'Creado, y se ha avisado a {n} personas.', |
| 2590 | |
| 2591 | 'trust.key_blocked': 'Clave bloqueada', |
| 2592 | 'trust.key_matched_qr': 'Clave cotejada en persona, {when}', |
| 2593 | 'trust.key_matched_number': 'Clave cotejada por número de seguridad, {when}', |
| 2594 | 'trust.key_changed': 'Clave distinta — la que cotejaste se vio por última vez {when}', |
| 2595 | 'trust.key_new': 'Clave nueva — todavía no has cotejado esta', |
| 2596 | 'trust.no_name': '(sin nombre)', |
| 2597 | 'trust.calls_themselves': 'se hace llamar «{name}»', |
| 2598 | 'trust.lookalike': 'Este nombre se parece a uno que ya cotejaste ({fp}). Los nombres no son identidades: comprueba la clave.', |
| 2599 | 'trust.held': 'Los mensajes de esta clave quedan en espera hasta que decidas.', |
| 2600 | 'trust.compare_numbers': 'Comparar números de seguridad', |
| 2601 | 'trust.unblock': 'Desbloquear', |
| 2602 | 'trust.block': 'Bloquear', |
| 2603 | 'trust.show_mine': 'Mostrar mi código', |
| 2604 | 'trust.show_lead': 'Deja que apunten su cámara a esto. Leerlo en persona es la única forma de que cualquiera de los dos marque al otro como cotejado sin una llamada.', |
| 2605 | 'trust.no_card': 'Este dispositivo aún no tiene tarjeta. Desbloquéalo y vuelve a intentarlo.', |
| 2606 | 'trust.paste_lead': '¿Sin cámara? Envíales esto en su lugar. Un código que llega así es una clave nueva y lo sigue siendo hasta que comparéis los números.', |
| 2607 | 'trust.add': 'Añadir a alguien', |
| 2608 | 'trust.add_lead': 'Apunta este dispositivo a su código, o pega lo que te enviaron.', |
| 2609 | 'trust.read_paste': 'Leer esto', |
| 2610 | 'trust.bad_card': 'Eso no es un código de Daimond, o no pasó la comprobación.', |
| 2611 | 'trust.arrived': 'Ha llegado un código', |
| 2612 | 'trust.qr_lead': 'Lo leíste de su pantalla, así que no hubo ningún canal por el que nadie pudiera meterse entre vosotros. Márcalo como cotejado solo si eso es lo que pasó.', |
| 2613 | 'trust.mark_matched': 'Marcar como cotejada ahora', |
| 2614 | 'trust.async_lead': 'Esto llegó a través de algo intermedio, así que sigue siendo una clave nueva. Lee el número de seguridad en voz alta en una llamada para cambiarlo.', |
| 2615 | 'trust.numbers': 'Números de seguridad', |
| 2616 | 'trust.numbers_lead': 'Leeos estos sesenta dígitos en una llamada, o en persona. Los dos tenéis que ver los mismos doce grupos. Leerlos en un mensaje no demuestra nada: lo que pudiera cambiar las claves podría cambiar el mensaje.', |
| 2617 | 'trust.numbers_differ': 'Son diferentes', |
| 2618 | 'trust.numbers_match': 'Los números coinciden', |
| 2619 | 'trust.no_number': 'Este dispositivo todavía no puede calcular el número.', |
| 2620 | 'trust.numbers_differ_note': 'Entonces hay alguien en medio. No uses esta clave. Quedad en persona, o empezad de nuevo con un código que leas tú mismo.', |
| 2621 | |
| 2622 | 'ref.kind_proposal': 'Propuesta', |
| 2623 | 'ref.kind_build': 'Compilación', |
| 2624 | 'ref.kind_panel': 'Panel', |
| 2625 | 'ref.kind_guide': 'Guía', |
| 2626 | 'ref.proposal': 'Propuesta n.º {n}', |
| 2627 | 'ref.build': 'Compilación {id}', |
| 2628 | 'ref.panel': 'Panel {name}', |
| 2629 | 'ref.guide': 'Guía: {page}', |
| 2630 | 'ref.open_proposal': 'Abrir la propuesta', |
| 2631 | 'ref.open_build': 'Abrir la nota de versión', |
| 2632 | 'ref.open_panel': 'Abrirlo', |
| 2633 | 'ref.open_guide': 'Abrir la página', |
| 2634 | 'ref.expand': 'Mostrar qué es esto', |
| 2635 | 'ref.reading': 'Leyéndolo…', |
| 2636 | 'ref.signin': 'Inicia sesión para abrir esto.', |
| 2637 | 'ref.said': 'Descrito como: {text}', |
| 2638 | 'ref.unopenable': 'Esto no se puede abrir aquí.', |
| 2639 | 'ref.said_n.one': '{n} comentario, público', |
| 2640 | 'ref.said_n.other': '{n} comentarios, públicos', |
| 2641 | 'ref.build_here': 'Esta es la compilación que tienes.', |
| 2642 | 'ref.build_other': 'Tienes la compilación {id}.', |
| 2643 | 'ref.build_update': 'Actualizar a ella', |
| 2644 | |
| 2645 | 'dock.unseen.one': '{n} sin leer', |
| 2646 | 'dock.unseen.other': '{n} sin leer', |
| 2647 | 'social.info': 'Qué es este panel, en la guía', |
| 2648 | 'social.box_label': 'Escribe una nota sobre Daimond', |
| 2649 | 'social.box_ph': 'Dónde fue, qué esperabas y qué ocurrió en su lugar.', |
| 2650 | 'social.with': 'Qué va con ella', |
| 2651 | 'social.with_off': 'Quitar los detalles de esta nota', |
| 2652 | 'social.keep': 'Guardar', |
| 2653 | 'social.keep_help': 'Guarda esta nota en este dispositivo. No se envía nada.', |
| 2654 | 'social.send': 'Enviar', |
| 2655 | 'social.send_help': 'Envía a Oxedyne exactamente lo de arriba. No va nada más con ello.', |
| 2656 | // Una nota va bajo la VOZ de quien escribe. No viaja ningún alias ni ningún |
| 2657 | // nombre, así que nada de aquí puede nombrar a esa persona. |
| 2658 | 'social.as_novoice': 'No tienes voz, así que una nota solo puede quedarse aquí.', |
| 2659 | // Encima de Enviar, y en pantalla justo cuando Enviar lo está. El repositorio |
| 2660 | // es público, así que una nota enviada la puede leer CUALQUIERA, SIN CUENTA, y |
| 2661 | // con el NOMBRE de tu voz. Los tres hechos tienen que sobrevivir a la |
| 2662 | // traducción. `{host}` lo rellena js/improve.js: déjalo tal cual. |
| 2663 | 'social.publish_body': 'Daimond quiere publicar esto en tu nombre, donde otras personas pueden leerlo. No se puede deshacer.\n\n{what}\n\nSi no lo esperabas, recházalo. No se pierde más que esta publicación.', |
| 2664 | 'social.publish_ok': 'Publicarlo', |
| 2665 | 'social.publish_title': '¿Publicar esto?', |
| 2666 | 'social.public_note': 'Al enviarla, esta nota se publica en {host}, con el nombre de tu voz. Allí cualquiera puede leerla sin tener cuenta. Una nota que guardas se queda en este dispositivo.', |
| 2667 | 'social.compose_public': 'Publicado públicamente, con el nombre de tu voz — cualquiera puede leerlo.', |
| 2668 | 'social.title_hint': 'La primera línea es el título de la propuesta. Lo que ocurrió va debajo.', |
| 2669 | 'social.no_title': 'La primera línea es el título. Escribe una y, debajo, lo que ocurrió.', |
| 2670 | 'social.nothing': 'Escribe algo primero.', |
| 2671 | // Se dice tras un rechazo. No se encola nada ni se reintenta nada, así que la |
| 2672 | // traducción no debe prometer otro intento. |
| 2673 | 'social.kept_here': 'Tu nota se queda aquí y no se ha vuelto a intentar nada.', |
| 2674 | 'social.copied': 'Copiado.', |
| 2675 | 'social.state_kept': 'Solo aquí', |
| 2676 | 'social.state_sent': 'Enviada el {date}', |
| 2677 | 'social.state_sent_n': 'Enviada el {date}, y es la propuesta {n}', |
| 2678 | 'social.drop': 'Eliminar esta nota', |
| 2679 | 'social.drop_ask': '¿Eliminar esta nota? Solo está en este dispositivo, así que no hay otra copia.', |
| 2680 | 'social.drop_ok': 'Eliminar', |
| 2681 | 'social.no_notes': 'Todavía no hay notas.', |
| 2682 | 'social.ctx_build': 'Compilación {id}', |
| 2683 | 'social.ctx_touch': 'táctil', |
| 2684 | 'social.ctx_pointer': 'puntero', |
| 2685 | 'social.ctx_palette': 'paleta {name}', |
| 2686 | 'social.ctx_panels': 'paneles abiertos: {list}', |
| 2687 | |
| 2688 | // La voz: un secreto personal por el que la forja reconoce a quien escribe. |
| 2689 | // Se guarda aquí cifrada con tu frase de paso y nunca va en una dirección. |
| 2690 | 'social.voice_held': 'Hay una voz guardada en este dispositivo, cifrada con tu frase de paso.', |
| 2691 | 'social.voice_none': 'No tienes voz, así que puedes leer lo que otros han escrito aquí pero no añadir nada. Guardar es todo lo que puede hacer una nota tuya.', |
| 2692 | 'social.voice_replace': 'Cambiar la voz', |
| 2693 | 'social.voice_help': 'Los 45 caracteres que te mostró el rastreador. Se guardan aquí cifrados y nunca van en una dirección.', |
| 2694 | 'social.voice_ph': 'Pega los 45 caracteres que te mostró el rastreador', |
| 2695 | 'social.voice_save': 'Guardar la voz', |
| 2696 | 'social.voice_saved': 'Tu voz está aquí, cifrada.', |
| 2697 | 'social.voice_failed': 'Esa voz no se pudo guardar.', |
| 2698 | 'social.voice_forget': 'Olvidarla', |
| 2699 | 'social.voice_forget_help': 'Quitar la copia de este dispositivo.', |
| 2700 | 'social.voice_forgotten': 'La copia de este dispositivo ya no está.', |
| 2701 | 'social.voice_ask_forget': '¿Olvidar tu voz en este dispositivo? La forja la mostró una vez y no puede volver a mostrarla.', |
| 2702 | 'voice.err.empty': 'Hace falta una voz para escribir en la forja.', |
| 2703 | 'voice.err.shape': 'Eso no parece una voz. Es una única secuencia de 45 caracteres sin espacios.', |
| 2704 | 'voice.err.short': 'Eso es más corto que cualquier voz que emita la forja. Copia los 45 caracteres.', |
| 2705 | 'voice.err.long': 'Eso es más largo de lo que puede ser una voz.', |
| 2706 | 'voice.err.locked': 'Desbloquea Daimond primero: tu voz se guarda cifrada con tu frase de paso.', |
| 2707 | 'voice.err.locked_send': 'Desbloquea Daimond para escribir en la forja: tu voz está cifrada con tu frase de paso.', |
| 2708 | 'voice.err.unreadable': 'Tu voz no se puede leer con esta frase de paso. Vuelve a ponerla desde la línea que la forja imprimió para ti.', |
| 2709 | 'voice.err.inurl': 'Una voz va en una cabecera, nunca en una dirección.', |
| 2710 | 'voice.the_voice': 'tu voz de la forja', |
| 2711 | |
| 2712 | 'tracker.the_settle_voice': 'tu voz de resolución', |
| 2713 | // Las propuestas se leen de la forja mientras las miras. Nada avisa de cuándo |
| 2714 | // se responde una, y ninguna frase de aquí puede dar a entender lo contrario. |
| 2715 | 'social.live_note': 'Esto se lee de la forja mientras lo miras. Nada te avisa cuando se responde una propuesta; vuelve a mirar para saberlo.', |
| 2716 | 'social.loading': 'Leyendo las propuestas…', |
| 2717 | 'social.none_shown': 'Ahora mismo no se pudo leer nada.', |
| 2718 | 'social.none_yet': 'Aquí todavía no hay propuestas. La tuya sería la primera.', |
| 2719 | 'social.reading': 'Leyéndola…', |
| 2720 | 'social.more': 'Ver más antiguas', |
| 2721 | 'social.count.one': '{n} propuesta', |
| 2722 | 'social.count.other': '{n} propuestas', |
| 2723 | 'social.by': 'de {who}', |
| 2724 | 'social.said_n.one': '{n} respuesta', |
| 2725 | 'social.said_n.other': '{n} respuestas', |
| 2726 | 'social.built_on': 'escrita en la compilación {build}', |
| 2727 | 'social.closed_by': 'cerrada por la marca {mark}', |
| 2728 | 'social.move_floor': 'Una nota sigue a su contenido a través del límite de un archivo solo cuando el cambio se reconoce como un movimiento, y el mínimo para eso son 64 bytes. Si cortas menos que eso de un archivo a otro, el historial guarda un borrado y una inserción, así que una nota anclada ahí informa honestamente de que su contenido se borró. La nota tiene razón y el historial también.', |
| 2729 | 'social.state_open': 'Abierta', |
| 2730 | 'social.state_taken': 'En marcha', |
| 2731 | 'social.state_done': 'Hecha', |
| 2732 | 'social.state_declined': 'Rechazada', |
| 2733 | 'social.tally': '{yes} a favor, {no} en contra', |
| 2734 | 'social.do': 'Hacer esto', |
| 2735 | 'social.not': 'Esto no', |
| 2736 | 'social.vote_novoice': 'Pon una voz para votar esto.', |
| 2737 | 'social.vote_off': 'Púlsalo otra vez para retirar tu voto.', |
| 2738 | 'social.reply': 'Decirlo', |
| 2739 | 'social.reply_ph': 'Di algo sobre esta propuesta.', |
| 2740 | 'social.reply_help': 'Envía exactamente lo que hay en este cuadro. No va nada más con ello.', |
| 2741 | |
| 2742 | // Lo que la forja rechazó, dicho en palabras. Ninguna de estas frases dice qué |
| 2743 | // cupo se agotó: un límite que informa de su propio estado es un límite que |
| 2744 | // alguien puede ir midiendo. |
| 2745 | // |
| 2746 | // TRADUCCIÓN — `improve.err_absent` es una regla de privacidad, no una |
| 2747 | // preferencia de estilo. La forja responde `absent` tanto para «no existe ese |
| 2748 | // repositorio» como para «ese repositorio es privado», a propósito y de forma |
| 2749 | // permanente: cualquier señal que los distinguiera volvería a publicar |
| 2750 | // justamente lo que un repositorio privado está reservando. La frase tiene que |
| 2751 | // ser verdadera en los dos casos: «no existe» es falso cuando es privado, y |
| 2752 | // «es privado» lo filtra. Di solo que no está disponible para ti. |
| 2753 | // Véase dev/IMPROVE_CONTRACT.md §7 (and the forge contract §3.1). |
| 2754 | 'social.err_absent': 'Este repositorio no está disponible para ti.', |
| 2755 | 'social.err_unvoiced': 'A la forja no se le dio ninguna voz, así que se negó.', |
| 2756 | 'social.err_unknown': 'La forja no reconoce tu voz. Vuelve a ponerla a partir de la línea que la forja imprimió para ti.', |
| 2757 | 'social.err_unpermitted': 'Tu voz no puede hacer eso aquí.', |
| 2758 | 'social.err_amend_unpermitted': 'Solo quien abrió esta propuesta puede revisarla.', |
| 2759 | 'social.err_throttled': 'Demasiadas peticiones ahora mismo. Espera un poco y vuelve a intentarlo.', |
| 2760 | 'social.err_throttled_address': 'Demasiadas peticiones desde esta dirección ahora mismo. Espera un poco y vuelve a intentarlo.', |
| 2761 | 'social.err_throttled_failing': 'Demasiadas peticiones fallidas ahora mismo. Espera un poco y vuelve a intentarlo.', |
| 2762 | 'social.err_malformed': 'La forja no pudo leer lo que Daimond le pidió. Eso es un fallo de Daimond, no de lo que escribiste.', |
| 2763 | 'social.err_no_proposal': 'Aquí no hay ninguna propuesta así.', |
| 2764 | 'social.err_unsupported': 'La forja no responde a eso.', |
| 2765 | 'social.err_internal': 'Algo salió mal en la forja. No es culpa tuya.', |
| 2766 | 'social.err_gateway': 'Daimond no pudo llegar a la forja ahora mismo.', |
| 2767 | 'social.err_session': 'Daimond no tiene la sesión iniciada ahora mismo, así que no pudo llegar a la forja.', |
| 2768 | 'social.err_toolong': 'Eso es más largo de lo que la forja acepta. Acórtalo o mándalo en dos.', |
| 2769 | 'social.err_offline': 'Ahora mismo no se pudo enviar nada.', |
| 2770 | 'social.amend': 'Revisar esto', |
| 2771 | 'social.amend_help': 'Reemplaza lo que dice esta propuesta. Todos los que la lean verán las palabras nuevas.', |
| 2772 | 'social.amend_title_ph': 'La única línea de qué trata esto', |
| 2773 | 'social.amend_body_ph': 'Qué pasó y qué se esperaba en su lugar', |
| 2774 | 'social.amend_save': 'Publicar la revisión', |
| 2775 | 'social.amend_save_help': 'Envía exactamente lo que hay en estos dos campos. Nada más va con ello.', |
| 2776 | 'social.revised_n.one': 'revisada una vez', |
| 2777 | 'social.revised_n.other': 'revisada {n} veces', |
| 2778 | // Drafting from the whole list of kept notes at once (www/js/triage.js). |
| 2779 | 'social.triage_run': 'Redactar a partir de las {n} notas', |
| 2780 | 'social.triage_run_help': 'Lee cada nota guardada y las propuestas que ya están en la forja, y escribe un plan. Nada sale de este dispositivo hasta que pulses Enviar en uno de los borradores.', |
| 2781 | 'social.triage_running': 'Leyendo tus notas…', |
| 2782 | 'social.triage_cost': 'Lee las {n} notas con {model}, con tu propia clave: unos {in} tokens de entrada y como mucho {out} de salida, así que como mucho {usd} — normalmente mucho menos.', |
| 2783 | 'social.triage_cost_unknown': 'Lee las {n} notas con {model}, con tu propia clave: unos {in} tokens de entrada y como mucho {out} de salida. Aquí no hay precio para ese modelo, así que el coste no se sabe antes de ejecutarlo.', |
| 2784 | 'social.triage_cost_stop': 'No se envía nada a la forja hasta que pulses Enviar en un borrador.', |
| 2785 | 'social.triage_nomodel': 'Elige un modelo en IA antes de redactar a partir de tus notas.', |
| 2786 | 'social.triage_nonotes': 'No hay notas guardadas de las que redactar.', |
| 2787 | 'social.triage_unread': 'El modelo no respondió con un plan que este panel pudiera leer. No se envió nada y tus notas están intactas.', |
| 2788 | 'social.triage_failed': 'La redacción no terminó: {why}', |
| 2789 | 'social.triage_plan': '{n} borradores, escritos por {model} a partir de tus notas. Lee cada uno, cámbialo si está mal y envía los que quieras. Nada de esto ha salido de este dispositivo.', |
| 2790 | 'social.triage_dropped': 'Otros {n} llegaron con una forma que este panel no pudo leer y no se muestran.', |
| 2791 | 'social.triage_left': '{n} notas no están en ningún borrador:', |
| 2792 | 'social.triage_clear': 'Olvidar este plan', |
| 2793 | 'social.triage_clear_help': 'Quita los borradores de la pantalla. No se envía nada ni se cambia ninguna nota.', |
| 2794 | 'social.triage_drop': 'Este no', |
| 2795 | 'social.triage_drop_help': 'Quita este borrador del plan. No se envía nada.', |
| 2796 | 'social.triage_send_help': 'Envía exactamente los caracteres del cuadro de arriba. No va nada más con ellos.', |
| 2797 | 'social.triage_kept': 'No se envió nada ni se reintentó nada. Tus notas están intactas.', |
| 2798 | 'social.triage_from': 'de {n} notas', |
| 2799 | 'social.triage_from_one': 'de 1 nota', |
| 2800 | 'social.triage_kind_new': 'Propuesta nueva', |
| 2801 | 'social.triage_kind_comment': 'Comentario sobre #{n}', |
| 2802 | 'social.triage_kind_revision': 'Revisión de #{n}', |
| 2803 | 'social.triage_opened': 'Abierta como propuesta #{n}.', |
| 2804 | 'social.triage_said': 'Dicho en la propuesta #{n}.', |
| 2805 | 'social.triage_revised': 'La propuesta #{n} está revisada.', |
| 2806 | 'trash.nothing': 'No has borrado nada.', |
| 2807 | 'trash.kept_days': 'Se guarda {days} días y luego se destruye.', |
| 2808 | 'trash.holding.one': '{n} cosa, {bytes}', |
| 2809 | 'trash.holding.other': '{n} cosas, {bytes}', |
| 2810 | 'trash.until': 'Hasta el {date}', |
| 2811 | 'trash.deleted_why': 'Borrado: solo está aquí.', |
| 2812 | 'trash.expired_why': 'Se le acabó el tiempo. Solo está aquí.', |
| 2813 | 'trash.kind_chat': 'chat', |
| 2814 | 'trash.kind_diamond': 'diamond', |
| 2815 | 'trash.unnamed_chat': 'Chat sin nombre', |
| 2816 | 'trash.keep': 'Conservar', |
| 2817 | 'trash.keep_help': 'Convierte este chat en un Diamond, con toda la conversación como su primer artefacto.', |
| 2818 | 'trash.keep_named': 'Conservar {name} como Diamond', |
| 2819 | 'trash.restore': 'Restaurar', |
| 2820 | 'trash.restore_named': 'Restaurar «{name}»', |
| 2821 | 'trash.restore_all': 'Restaurar todo', |
| 2822 | 'trash.purge': 'Borrar para siempre', |
| 2823 | 'trash.purge_named': 'Borrar «{name}» para siempre', |
| 2824 | 'trash.purge_ask': '¿Borrar «{name}» para siempre? Desaparece de todos tus dispositivos y no hay vuelta atrás.', |
| 2825 | 'trash.purge_ok': 'Borrar para siempre', |
| 2826 | 'trash.empty': 'Vaciar la papelera', |
| 2827 | 'trash.empty_ask.one': '¿Destruir para siempre la {n} cosa que hay en la papelera? Desaparece de todos tus dispositivos y no hay vuelta atrás.', |
| 2828 | 'trash.empty_ask.other': '¿Destruir para siempre las {n} cosas que hay en la papelera? Desaparecen de todos tus dispositivos y no hay vuelta atrás.', |
| 2829 | 'trash.empty_ok': 'Vaciar la papelera', |
| 2830 | 'trash.moved': '«{name}» va a la papelera.', |
| 2831 | 'trash.moved_n.one': '{n} cosa va a la papelera.', |
| 2832 | 'trash.moved_n.other': '{n} cosas van a la papelera.', |
| 2833 | 'trash.swept.one': 'Una cosa llevaba {days} días en la papelera y se ha destruido.', |
| 2834 | 'trash.swept.other': '{n} cosas llevaban {days} días en la papelera y se han destruido.', |
| 2835 | |
| 2836 | // Added 2026-08-12: a worker's consent question parked on the Pending |
| 2837 | // panel, the Agents panel's own controls, and the rewritten Tools panel. |
| 2838 | 'pending.consent.click_head': 'Un agente quiere hacer clic en algo de {host}', |
| 2839 | 'pending.consent.type_head': 'Un agente quiere enviar texto a {host}', |
| 2840 | 'pending.consent.reach_head': 'Un agente quiere llegar a {host}', |
| 2841 | 'pending.consent.why': 'Lo preguntó mientras esta página no estaba delante de ti, así que la pregunta espera aquí en vez de en un diálogo que nadie habría visto.', |
| 2842 | 'pending.consent.agent': 'El agente es {name}. Su tarea: {task}', |
| 2843 | 'pending.consent.waiting': 'El agente sigue esperando esta respuesta.', |
| 2844 | 'pending.consent.expired': 'El agente que preguntó ya no está: esto se planteó antes de que la aplicación se recargara. Decir que sí ahora no podría hacer que el acto ocurra.', |
| 2845 | 'pending.consent.allowed': 'Permitido. Se le ha dicho al agente que siga adelante.', |
| 2846 | 'pending.consent.gone': 'Ya no hay nada esperando esto, así que no había nada que permitir.', |
| 2847 | 'pending.consent.nochat': 'Rechazado. No hay conversación a la que llevarlo: había dos agentes en marcha, así que Daimond no puede saber cuál preguntó.', |
| 2848 | 'agents.act_pause': 'Pausar', |
| 2849 | 'agents.act_pause_help': 'Deja este agente en espera y conserva su trabajo hasta ahora; reanúdalo más tarde.', |
| 2850 | 'agents.act_stop': 'Detener', |
| 2851 | 'agents.act_stop_help': 'Detiene este agente definitivamente. Conserva lo que haya logrado hacer.', |
| 2852 | 'agents.act_resume': 'Reanudar', |
| 2853 | 'agents.act_resume_help': 'Continúa este agente desde donde lo dejó.', |
| 2854 | 'agents.act_discard_help': 'Descarta este agente en pausa.', |
| 2855 | 'agents.tally_running': '{n} en marcha', |
| 2856 | 'agents.tally_paused': '{n} en pausa', |
| 2857 | 'agents.tally_queued': '{n} en cola', |
| 2858 | 'agents.live': '{n} activos', |
| 2859 | 'agents.dropped.one': 'No se conserva una ejecución más antigua.', |
| 2860 | 'agents.dropped.other': 'No se conservan {n} ejecuciones más antiguas.', |
| 2861 | 'agents.status_queued': 'en cola', |
| 2862 | 'agents.status_running': 'en marcha', |
| 2863 | 'agents.status_paused': 'en pausa', |
| 2864 | 'agents.status_done': 'terminado', |
| 2865 | 'agents.status_error': 'fallido', |
| 2866 | 'agents.status_stopped': 'detenido', |
| 2867 | 'agents.status_interrupted': 'interrumpido', |
| 2868 | 'tools.intro': 'Lo que Daimond puede hacer por ti. Casi todo está incluido. Un paquete añade terreno nuevo y se compra una vez en dólares, no con tus créditos.', |
| 2869 | 'tools.count': '<b>{have} de {all}</b> disponibles en esta cuenta.', |
| 2870 | 'tools.sec_included': 'Incluido', |
| 2871 | 'tools.sec_packs': 'Paquetes', |
| 2872 | 'tools.packs_none': 'Todavía no hay paquetes a la venta. Cuando lo haya, aparecerá aquí.', |
| 2873 | 'tools.packs_fine': 'Un paquete se compra una vez y se conserva. Se paga en dólares, por la misma caja que Pro, y nunca con tus créditos, así que un paquete cuesta lo mismo tanto si usas Daimond con sus créditos como con tu propia clave de API.', |
| 2874 | 'tools.status_included': 'Incluido', |
| 2875 | 'tools.status_owned': 'Tuyo', |
| 2876 | 'tools.locked_why': 'No comprado en esta cuenta: esto es el paquete {pack}. Daimond lo rechaza y lo dice, en vez de hacerlo a medias.', |
| 2877 | 'tools.expand': 'Qué hace ({n})', |
| 2878 | 'tools.collapse': 'Ocultar qué hace', |
| 2879 | 'tools.fn_pack': 'en el paquete {pack}', |
| 2880 | 'tools.cap.files.name': 'Tus archivos', |
| 2881 | 'tools.cap.files.blurb': 'Daimond lee, escribe y edita los archivos de tu espacio de trabajo — incluidas las celdas de una hoja de cálculo y las palabras de un documento —, encuentra cosas en todos ellos a la vez y recoge lo que deja.', |
| 2882 | 'tools.cap.cloud.name': 'Archivos guardados en la nube', |
| 2883 | 'tools.cap.cloud.blurb': 'Un archivo que este dispositivo no tiene se baja de tu almacenamiento en la nube en el momento en que Daimond necesita leerlo, en vez de tenerlo todo en todas partes.', |
| 2884 | 'tools.cap.work.name': 'Mantener el trabajo junto', |
| 2885 | 'tools.cap.work.blurb': 'Daimond registra qué archivos pertenecen a un trabajo, de modo que algo hecho por ti aparece con él en vez de quedarse sin mención en una carpeta.', |
| 2886 | 'tools.cap.asking.name': 'Hacerle una pregunta', |
| 2887 | 'tools.cap.asking.blurb': 'Daimond le plantea una decisión cada vez, con respuestas que se tocan: cada opción dice lo que significaría en concreto, una de ellas se nombra como la recomendación junto con su razón, y siempre puede responder con sus propias palabras.', |
| 2888 | 'tools.cap.show.name': 'Mostrarte un archivo', |
| 2889 | 'tools.cap.show.blurb': 'Daimond pone un archivo en tu pantalla junto al chat —un PDF con sus páginas compuestas, una imagen dibujada, una tabla como tabla— en lugar de limitarse a describírtelo.', |
| 2890 | 'tools.cap.checking.name': 'Comprobar su propio trabajo', |
| 2891 | 'tools.cap.checking.blurb': 'Daimond ejecuta una de las comprobaciones del propio proyecto e informa de qué pasó, qué falló y qué pruebas de rotura no demostraron nada.', |
| 2892 | 'tools.cap.social.name': 'Hablar con otras personas sobre Daimond', |
| 2893 | 'tools.cap.social.blurb': 'Daimond lee lo que la gente ha informado o pedido sobre el propio Daimond y, con tu permiso cada vez y tras mostrarte exactamente lo que saldría, informa o apoya algo en tu nombre.', |
| 2894 | 'tools.cap.machine.name': 'Tu ordenador', |
| 2895 | 'tools.cap.machine.blurb': 'Con la mano de máquina de Daimond instalada, Daimond compila, prueba y ejecuta herramientas de línea de órdenes dentro de la carpeta que le diste, y en ningún otro sitio.', |
| 2896 | 'tools.cap.reading.name': 'Leer la web', |
| 2897 | 'tools.cap.reading.blurb': 'Daimond busca con el motor que elegiste y lee lo que una página dice de verdad, sin que ninguno de los dos salga de Daimond.', |
| 2898 | 'tools.cap.browsing.name': 'Usar un sitio web', |
| 2899 | 'tools.cap.browsing.blurb': 'Daimond abre una página junto a la conversación y la maneja —haciendo clic, escribiendo, desplazándose— mientras tú lo ves.', |
| 2900 | 'tools.cap.typeset.name': 'Componer un documento', |
| 2901 | 'tools.cap.typeset.blurb': 'Daimond convierte una fuente Typst en un PDF terminado, bien compuesto, aquí en el navegador.', |
| 2902 | 'tools.cap.dispatch.name': 'Enviar trabajadores', |
| 2903 | 'tools.cap.dispatch.blurb': 'Daimond parte un trabajo grande en tareas acotadas y envía un trabajador a cada una, varios a la vez, y luego integra lo que traen en una sola respuesta.', |
| 2904 | 'tools.cap.graph.name': 'Cómo se relaciona tu trabajo', |
| 2905 | 'tools.cap.graph.blurb': 'Daimond lee y registra las relaciones entre tus Diamonds, archivos, páginas y conversaciones: qué sustituye a qué, qué produjo qué.', |
| 2906 | 'tools.cap.other.name': 'Aún sin describir', |
| 2907 | 'tools.cap.other.blurb': 'Daimond las tiene y a este panel no le han dicho cómo llamarlas. Ábrelo para ver cuáles son.', |
| 2908 | 'legal.terms': 'Términos del servicio', |
| 2909 | 'legal.privacy': 'Política de privacidad', |
| 2910 | 'legal.draft_note': 'En vigor desde el 13 de agosto de 2026. Los puntos marcados con [TO CONFIRM] aún se están definiendo.', |
| 2911 | 'lapse.hide': 'Ocultar hasta mañana', |
| 2912 | 'lapse.read_clause': 'Qué dicen los Términos', |
| 2913 | 'lapse.storage_head': 'Los archivos guardados por encima del nivel gratuito se eliminarán el {date}.', |
| 2914 | 'lapse.storage_head_undated': 'Los archivos guardados por encima del nivel gratuito se eliminarán cuando termine el periodo de gracia.', |
| 2915 | 'lapse.storage_why': 'Tus créditos no cubren el almacenamiento en la nube que ocupas, así que la medición está en pausa. No se está cobrando nada con efecto retroactivo, y todavía puedes leer todo lo que tienes guardado.', |
| 2916 | 'lapse.storage_size': 'Hay unos {size} por encima del nivel gratuito.', |
| 2917 | 'lapse.storage_what': 'Si para entonces no se ha restablecido el saldo, los datos guardados por encima del nivel gratuito se eliminan. Los archivos de este dispositivo no se tocan.', |
| 2918 | 'lapse.top_up': 'Recargar créditos', |
| 2919 | 'lapse.credits_pitch': 'Recargar evita que se eliminen los datos guardados por encima del nivel gratuito.', |
| 2920 | 'lapse.lic_head': 'Tu licencia de Pro termina el {date}.', |
| 2921 | 'lapse.lic_head_past': 'Tu licencia de Pro terminó el {date}.', |
| 2922 | 'lapse.lic_off': 'La sincronización entre dispositivos, el almacenamiento en la nube y Daimond Email se apagan entonces, porque cada uno de ellos es un servicio que mantenemos en marcha por nuestro lado.', |
| 2923 | 'lapse.lic_off_past': 'La sincronización entre dispositivos, el almacenamiento en la nube y Daimond Email están apagados, porque cada uno de ellos es un servicio que mantenemos en marcha por nuestro lado.', |
| 2924 | 'lapse.lic_keep': 'En este dispositivo todo sigue exactamente igual: tus archivos, tus chats, tus Diamonds, tu identidad y tu propia clave de proveedor. No se elimina nada, no se bloquea nada, y nada de lo que has hecho deja de poder leerse.', |
| 2925 | 'lapse.lic_pull': 'Descargar lo que ya tienes guardado no se detiene nunca, y tus créditos no se ven afectados.', |
| 2926 | }); |
| 2927 | })(); |