{
  "tor": {
    "status": {
      "disabled": "Desactivado",
      "connecting": "Conectando…",
      "connected": "Conectado",
      "failed": "Error de conexión"
    },
    "banner": {
      "connecting": "Conectando a Tor — el contenido no cargará hasta que esté listo.",
      "failed": "No se pudo conectar a Tor — el contenido está bloqueado hasta que se conecte.",
      "retry": "Reintentar"
    }
  },
  "common": {
    "loading": "Cargando…",
    "error": "Error",
    "success": "Éxito",
    "cancel": "Cancelar",
    "save": "Guardar",
    "delete": "Eliminar",
    "edit": "Editar",
    "close": "Cerrar",
    "back": "Atrás",
    "next": "Siguiente",
    "refresh": "Actualizar",
    "search": "Buscar",
    "filter": "Filtrar",
    "clear": "Borrar",
    "submit": "Enviar",
    "confirm": "Confirmar",
    "copied": "Copiado",
    "goBack": "Volver",
    "tryAgain": "Por favor, inténtalo de nuevo.",
    "showLess": "Mostrar menos",
    "readMore": "Leer más",
    "byAuthor": "por <0>{{name}}</0>",
    "clearSearch": "Borrar búsqueda",
    "searching": "Buscando…",
    "searchResultsCount_one": "{{count}} resultado",
    "searchResultsCount_other": "{{count}} resultados",
    "sortAriaLabel": "Orden",
    "sortDefault": "Predeterminado",
    "sortTop": "Destacadas",
    "sortNew": "Nuevas",
    "showHidden": "Mostrar ocultas",
    "filtersAriaLabel": "Filtros de búsqueda",
    "countryFilterAriaLabel": "Filtrar por país",
    "countrySearchPlaceholder": "Buscar países…",
    "countryNoResults": "No se encontraron países.",
    "countryGlobal": "Global",
    "continue": "Continuar"
  },
  "imageCrop": {
    "title": "Recortar imagen",
    "reset": "Restablecer",
    "hint": "Arrastra para reposicionar · Pellizca o desplaza para hacer zoom",
    "cancel": "Cancelar",
    "processing": "Procesando…",
    "apply": "Aplicar recorte"
  },
  "translate": {
    "translate": "Traducir",
    "translating": "Traduciendo…",
    "showOriginal": "Mostrar original",
    "error": "Error de traducción"
  },
  "nav": {
    "openMenu": "Abrir menú",
    "closeMenu": "Cerrar menú",
    "brandHome": "Inicio de {{appName}}",
    "activity": "Actividad",
    "campaigns": "Campañas",
    "groups": "Grupos",
    "pledge": "Promesas",
    "search": "Buscar",
    "language": "Idioma",
    "dashboard": "Panel",
    "myDashboard": "Mi panel",
    "notifications": "Notificaciones",
    "messages": "Mensajes",
    "profile": "Perfil",
    "settings": "Ajustes",
    "about": "Acerca de",
    "verify": "Verificar",
    "privacy": "Privacidad",
    "safety": "Seguridad",
    "changelog": "Novedades",
    "sourceCode": "Código fuente",
    "getApp": "Descargar la app"
  },
  "messages": {
    "title": "Mensajes",
    "subtitle": "Tus mensajes directos privados y cifrados.",
    "conversations": "Conversaciones",
    "empty": "Aún no hay mensajes. Las conversaciones que tengas aparecerán aquí.",
    "selectPrompt": "Selecciona una conversación para leer tus mensajes.",
    "composePlaceholder": "Escribe un mensaje…",
    "send": "Enviar",
    "sendFailed": "No se pudo enviar el mensaje",
    "youPrefix": "Tú:",
    "encryptedSent": "Mensaje cifrado",
    "encryptedReceived": "Mensaje cifrado",
    "decryptFailed": "No se pudo descifrar este mensaje.",
    "unsupported": "Tu método de inicio de sesión actual no admite mensajes directos cifrados.",
    "searchConversation": "Buscar en la conversación",
    "searchPlaceholder": "Buscar mensajes",
    "noSearchResults": "No hay mensajes coincidentes.",
    "visitProfile": "Visitar el perfil de {{name}}",
    "muteUser": "Silenciar a {{name}}",
    "muteDialogTitle": "¿Silenciar a {{name}}?",
    "muteDialogDescription": "Esto agregará a {{name}} a tu lista de silenciados y eliminará esta conversación de Mensajes. Puedes dejar de silenciarle más tarde desde tu lista de silenciados.",
    "confirmMute": "Silenciar usuario",
    "mutedToastTitle": "Usuario silenciado",
    "mutedToastDescription": "Se silenció a {{name}} y se eliminó la conversación.",
    "muteFailed": "No se pudo silenciar al usuario",
    "showFriendsOnly": "Mostrar mensajes de personas que sigues",
    "showAllConversations": "Mostrar todas las conversaciones",
    "friendsEmpty": "No hay mensajes de personas que sigues.",
    "translateDialogTitle": "¿Traducir mensajes privados?",
    "translateDialogDescription": "Los mensajes recibidos se enviarán al servicio de traducción que configuraste. Los mensajes enviados no se traducirán. Eranos recordará esta elección en este dispositivo.",
    "confirmTranslate": "Traducir mensajes",
    "newMessage": "Mensaje nuevo",
    "newMessageTitle": "Mensaje nuevo",
    "recipientLabel": "Para",
    "recipientPlaceholder": "Busca por nombre, NIP-05 o npub…",
    "recipientHint": "Busca a alguien para iniciar una nueva conversación.",
    "recipientSearching": "Buscando…",
    "noRecipientResults": "No se encontraron personas. Prueba con otro nombre, NIP-05 o npub.",
    "recipientFollowed": "Sigues a esta persona"
  },
  "auth": {
    "join": "Unirse",
    "login": "Iniciar sesión",
    "signup": "Registrarse",
    "logout": "Cerrar sesión",
    "addAccount": "Agregar otra cuenta",
    "createNewAccount": "Crear cuenta nueva",
    "loginExisting": "Iniciar sesión con una existente",
    "loginTitle": "Iniciar sesión",
    "connectSignerTitle": "Conectar firmante",
    "back": "Atrás",
    "secretKeyLabel": "Usar clave secreta",
    "nsecPlaceholder": "nsec1…",
    "uploadKeyFile": "Subir archivo de clave",
    "loggingIn": "Iniciando sesión…",
    "loginWithExtension": "Iniciar sesión con extensión",
    "useRemoteSigner": "Usar un firmante remoto",
    "tryAgain": "Intentar de nuevo",
    "cancel": "Cancelar",
    "openSignerApp": "Abrir aplicación de firma",
    "enterBunkerManually": "Introducir URI de bunker manualmente",
    "bunkerPlaceholder": "bunker://…",
    "invalidBunkerFormat": "Formato de URI de bunker no válido.",
    "connecting": "Conectando…",
    "connect": "Conectar",
    "waitingForSigner": "Esperando la conexión del firmante…",
    "gettingPublicKey": "Obteniendo clave pública…",
    "errorEnterSecretKey": "Introduce tu clave secreta.",
    "errorInvalidSecretKey": "Clave secreta no válida. Debe empezar con nsec1.",
    "errorLoginFailed": "No se pudo iniciar sesión con esta clave.",
    "errorFileNoKey": "El archivo no contiene una clave secreta válida.",
    "errorFileRead": "No se pudo leer el archivo.",
    "errorExtensionFailed": "Error al iniciar sesión con la extensión.",
    "errorBunkerConnect": "No se pudo conectar. Comprueba el URI del bunker.",
    "extensionErrorTitle": "Error al iniciar sesión con la extensión"
  },
  "onboarding": {
    "ariaLabel": "Configuración de la cuenta",
    "close": "Cerrar",
    "back": "Atrás",
    "role": {
      "title": "¿Qué te trae por aquí?",
      "subtitle": "Puedes hacer ambas cosas más tarde. Esto solo nos ayuda a adaptar los siguientes pasos.",
      "creator": {
        "title": "Iniciar una campaña",
        "description": "Recauda Grin para una causa que te importa.",
        "finderNote": "Los donantes envían GRIN directamente a tu cartera."
      },
      "donor": {
        "title": "Donar a campañas",
        "description": "Apoya causas con Grin.",
        "finderNote": "Tu donación va directamente a la cartera del organizador."
      },
      "verifier": {
        "title": "Verificar campañas",
        "description": "Avala campañas como organización.",
        "finderNote": "Los donantes ven una insignia en las campañas en las que confías."
      }
    },
    "keygen": {
      "title": "Tu clave es tu identidad",
      "description": "Generaremos una clave secreta solo para ti. Es la única forma de iniciar sesión — sin correo, sin contraseña.",
      "generatingTitle": "Creando tu clave…",
      "generatingDescription": "Esto solo toma un momento.",
      "button": "Generar mi clave"
    },
    "secure": {
      "title": "Guarda tu clave",
      "subtitle": "Descarga el archivo y guárdalo en un lugar seguro. Un gestor de contraseñas funciona bien.",
      "couplingNote": "Esta clave es tu identidad en Eranos. Firma tus publicaciones en Nostr, tus campañas y los recibos de donación que cuentan para los totales de las campañas.",
      "permanenceHeadline": "No hay forma de recuperar esta clave si la pierdes.",
      "permanenceBody": "Sin restablecimiento, sin soporte, sin recuperación por correo. Guárdala antes de continuar.",
      "button": "Descargar y continuar",
      "downloadFailedTitle": "Error al descargar",
      "downloadFailedDescription": "No se pudo descargar el archivo de la clave. Por favor, cópiala manualmente.",
      "secretKeyAriaLabel": "Clave secreta"
    },
    "profile": {
      "title": "Hazlo tuyo",
      "subtitle": "Cuéntales a los demás un poco sobre ti. Todo es opcional, puedes cambiarlo en cualquier momento.",
      "campaignTitle": "Ponle cara a tu campaña",
      "campaignSubtitle": "Un nombre y una foto ayudan a que la gente conecte con tu campaña.",
      "nameLabel": "Nombre visible",
      "namePlaceholder": "Tu nombre",
      "campaignNamePlaceholder": "Título de la campaña",
      "aboutLabel": "Biografía",
      "aboutPlaceholder": "Un poco sobre ti…",
      "avatarLabel": "Avatar",
      "uploadAvatar": "Subir avatar",
      "advanced": "Más",
      "finish": "Finalizar",
      "saving": "Guardando…",
      "skip": "Omitir por ahora",
      "imageOnly": "Por favor, selecciona una imagen.",
      "imageTooLarge": "La imagen es demasiado grande (máx. 5 MB).",
      "uploadFailed": "Error al subir.",
      "publishFailedTitle": "Error en la configuración del perfil",
      "publishFailedDescription": "Tu cuenta se creó, pero no se pudo guardar el perfil. Puedes actualizarlo más tarde."
    },
    "verifier": {
      "identity": {
        "title": "Configura tu organización",
        "subtitle": "El nombre y el logotipo son obligatorios. El sitio web y la portada son opcionales.",
        "websiteInvalid": "Introduce un sitio web válido que comience con https://",
        "cropAvatar": "Recortar logotipo",
        "cropBanner": "Recortar portada",
        "uploading": "Subiendo imagen…",
        "clipboardFailed": "No se pudo leer del portapapeles.",
        "pasteUrlInvalid": "El portapapeles no contiene una URL https válida.",
        "pasteUrlFetchFailed": "No se pudo cargar esa imagen. Comprueba la URL e inténtalo de nuevo."
      },
      "bio": {
        "title": "Cuéntanos sobre tu organización",
        "subtitle": "Una breve descripción para tu perfil.",
        "label": "Acerca de tu organización",
        "placeholder": "Somos una organización sin fines de lucro que…",
        "publishing": "Guardando tu perfil…"
      },
      "publishFailedTitle": "Perfil no guardado",
      "publishFailedDescription": "Tu cuenta está lista, pero no se pudo publicar el perfil de la organización. Puedes terminarlo más tarde desde los ajustes.",
      "statement": {
        "title": "Publica tu declaración de verificador",
        "subtitle": "Describe cómo examinas las campañas antes de avalarlas. Se publica de forma pública para que los donantes puedan confiar en tu insignia."
      },
      "howto": {
        "title": "Cómo verificar una campaña",
        "subtitle": "Ya está todo listo. Así es como avalar una campaña una vez que la hayas revisado.",
        "finish": "Ver campañas"
      }
    }
  },
  "feed": {
    "indexTagline": "Tu contenido. Tu estilo. Tus reglas.",
    "getApp": {
      "eyebrow": "Descargar la app",
      "title": "{{appName}} para Android",
      "subtitle": "La experiencia completa de {{appName}}",
      "download": "Descargar"
    },
    "compose": {
      "placeholder": "¿Qué está pasando?"
    },
    "tabs": {
      "follows": "Seguidos",
      "following": "Siguiendo",
      "global": "Global"
    },
    "empty": {
      "homeAgora": "Momento tranquilo en Eranos. Las nuevas campañas, promesas, donaciones y publicaciones aparecerán aquí cuando ocurran.",
      "homeFollowingLoggedIn": "Tu feed de seguidos está vacío. Sigue a algunas personas para ver lo que comparten, o cambia a Eranos o Global.",
      "homeFollowingLoggedOut": "Inicia sesión para ver publicaciones de las personas que sigues.",
      "homeOther": "Nada que mostrar. Comprueba tus conexiones de relays o vuelve a intentarlo en un momento.",
      "follows": "Tu feed está vacío. Sigue a algunas personas para ver sus publicaciones aquí.",
      "global": "No se encontraron publicaciones. Comprueba tus conexiones de relays o vuelve pronto.",
      "browseAgora": "Ver el feed de Eranos",
      "browseGlobal": "Ver el feed Global",
      "discoverPeople": "Descubre personas a quienes seguir",
      "logIn": "Iniciar sesión"
    },
    "modeSwitcher": {
      "agora": "Eranos",
      "allNostr": "Global",
      "following": "Siguiendo",
      "ariaLabel": "Modo del feed: {{label}}. Haz clic para cambiar.",
      "loginRequired": "Inicia sesión para ver publicaciones de las personas que sigues"
    },
    "replyContext": {
      "replyingTo": "Respondiendo a",
      "and": "y",
      "andOthers_one": "y {{count}} más",
      "andOthers_other": "y {{count}} más"
    },
    "actions": {
      "reply": "Responder",
      "repost": "Republicar",
      "undoRepost": "Deshacer republicación",
      "react": "Reaccionar",
      "share": "Compartir",
      "more": "Más",
      "linkCopied": "Enlace copiado al portapapeles"
    }
  },
  "forms": {
    "required": "Obligatorio",
    "recommended": "Recomendado",
    "optional": "Opcional",
    "title": "Título",
    "country": "País",
    "tags": "Etiquetas",
    "coverImage": "Imagen de portada",
    "description": "Descripción",
    "timezone": "Zona horaria",
    "countrySearchPlaceholder": "Buscar países",
    "imageDropzone": "Haz clic o arrastra una imagen aquí",
    "countryClearAria": "Borrar país",
    "flagOfAria": "Bandera de {{name}}",
    "countryHint": "Publica <0>i: iso3166:{{code}}</0> para el orden por país.",
    "publishing": "Publicando…",
    "uploadingCover": "Subiendo portada…"
  },
  "organizationContext": {
    "attachedToGroup": "Adjunto al grupo",
    "groupFallback": "Grupo",
    "editSubtext": "Las actualizaciones seguirán conectadas a la actividad oficial de este grupo.",
    "malformedParam": "No se pudo leer el grupo en el enlace. Se publicará bajo tu cuenta.",
    "checkingPermissions": "Comprobando permisos del grupo…",
    "unauthorized": "No eres fundador ni moderador de ese grupo. Se publicará bajo tu cuenta.",
    "publishingAsGroup": "Publicando como grupo"
  },
  "notFound": {
    "title": "404 - Página no encontrada",
    "description": "No se pudo encontrar la página que buscas.",
    "heading": "Esta página no existe.",
    "goHome": "Ir al inicio"
  },
  "pledges": {
    "list": {
      "seoTitle": "Promesas",
      "seoTitleWithCountry": "Promesas — {{country}}",
      "seoDescription": "Promete financiación para acciones, pruebas o resultados concretos que quieras impulsar.",
      "heroKicker": "Promesa",
      "heroHeading": "Inspira el cambio",
      "heroHeadingLine2": "que quieres ver.",
      "heroBody": "Financia acciones, pruebas y resultados concretos. La gente responde con propuestas y la comunidad recompensa el trabajo que hace avanzar la meta.",
      "openCount_one": "promesa abierta ahora mismo",
      "openCount_other": "promesas abiertas ahora mismo",
      "createPledge": "Crear promesa",
      "loginToCreate": "Inicia sesión para crear una promesa",
      "myPledges": "Mis promesas",
      "myPledgesTagline": "Promesas que has creado.",
      "featuredPledges": "Promesas destacadas",
      "featuredPledgesTagline": "Promesas destacadas por el equipo de {{appName}}.",
      "allPledges": "Promesas",
      "allPledgesTagline": "Destacadas por los moderadores. Busca u ordena para explorar todas las promesas.",
      "sectionActive": "Promesas activas",
      "sectionUpcoming": "Promesas próximas",
      "sectionPast": "Promesas pasadas",
      "sectionDefault": "Promesas",
      "sectionTagline": "Ayuda a financiar las acciones que valen la pena.",
      "sortAriaLabel": "Ordenar",
      "sortBy": "Ordenar por",
      "sortRecent": "Más recientes",
      "sortBounty": "Mayor promesa",
      "sortDeadline": "Plazo próximo",
      "sortDeadlinePast": "Recién finalizadas",
      "filterAriaLabel": "Filtrar por país",
      "countrySearchPlaceholder": "Buscar…",
      "noResults": "Sin resultados.",
      "global": "Global",
      "dividerUpcoming": "Próximas",
      "dividerPast": "Pasadas",
      "showLess": "Mostrar menos",
      "showMore": "Mostrar más ({{count}} más)",
      "emptyTitle": "Aún no hay promesas",
      "emptyHint": "Sé el primero en crear una promesa.",
      "emptyHintCountry": "Sé el primero en crear una promesa para {{country}}.",
      "searchPlaceholder": "Buscar promesas…",
      "searchAriaLabel": "Buscar promesas",
      "noMatch": "Ninguna promesa coincide con «{{query}}»",
      "noMatchHint": "Prueba con otro término de búsqueda o bórrala.",
      "needsReview": "Pendiente de revisión",
      "needsReviewDesc": "Promesas de {{appName}} que aún no han sido destacadas ni ocultadas. Súbelas a la sección destacada o suprímelas con Ocultar.",
      "needsReviewEmpty": "Nada pendiente de revisión.",
      "hidden": "Ocultas",
      "hiddenDesc": "Promesas suprimidas del descubrimiento público. Usa el menú de la tarjeta para mostrarlas de nuevo.",
      "hiddenEmpty": "No hay promesas ocultas actualmente."
    },
    "card": {
      "ended": "Finalizada",
      "pledged": "Prometido",
      "byAuthor": "por <0>{{name}}</0>",
      "actionsAriaLabel": "Acciones de la promesa",
      "deletePledge": "Eliminar promesa",
      "copyLink": "Copiar enlace",
      "linkCopied": "Enlace copiado",
      "linkCopyFailed": "No se pudo copiar el enlace",
      "confirmDelete": "¿Eliminar esta promesa? Esta acción no se puede deshacer.",
      "deleted": "Promesa eliminada",
      "deletedContent": "Promesa eliminada",
      "deleteFailed": "No se pudo eliminar la promesa"
    },
    "create": {
      "seoTitle": "Crear promesa",
      "seoDescription": "Crea una promesa de donante para inspirar acciones concretas en {{appName}}.",
      "loginGateTitle": "Inicia sesión para crear una promesa",
      "loginGateBody": "Las promesas son eventos firmados de Nostr. Necesitas una sesión de Nostr para publicar una.",
      "heading": "Crear promesa",
      "title": "Título",
      "titlePlaceholder": "Documentar una limpieza de playa",
      "country": "País",
      "countryPlaceholder": "Buscar países",
      "tags": "Etiquetas",
      "coverImage": "Imagen de portada",
      "description": "Descripción",
      "descriptionPlaceholder": "Explica la acción, las pruebas o el resultado que quieres inspirar, qué deben incluir las propuestas y cómo planeas evaluarlas...",
      "pledge": "Promesa",
      "pledgeAmountPlaceholder": "100",
      "deadline": "Plazo",
      "timezone": "Zona horaria",
      "timezoneNote": "Las horas de inicio y plazo se interpretarán en esta zona horaria.",
      "submit": "Crear promesa",
      "altText": "Promesa en {{appName}}: {{title}}",
      "successToast": "Promesa creada",
      "errorToast": "No se pudo crear la promesa",
      "errorLoginRequired": "Debes iniciar sesión para crear una promesa.",
      "errorTitleRequired": "El título es obligatorio.",
      "errorDescriptionRequired": "La descripción es obligatoria.",
      "errorPledgeRequired": "La cantidad prometida es obligatoria.",
      "errorPledgeInvalid": "La cantidad prometida debe ser un valor positivo en USD.",
      "errorPriceUnavailable": "Esperando el tipo de cambio para calcular el importe de la promesa.",
      "errorCoverInvalid": "La imagen de portada debe ser una URL https:// válida.",
      "errorDeadlinePast": "El plazo no puede estar en el pasado.",
      "wizard": {
        "titleStepTitle": "Nombra tu promesa",
        "titleStepSubtitle": "Una petición clara y una breve explicación de lo que financiarás.",
        "pledgeStepTitle": "Define tu promesa",
        "pledgeStepSubtitle": "Cuánto pagarás, en USD, y un plazo opcional.",
        "coverStepTitle": "Añade una imagen de portada",
        "coverStepSubtitle": "Una imagen acompaña a la promesa en cada tarjeta.",
        "tagsStepTitle": "País y categorías",
        "tagsStepSubtitle": "Ayuda a que las personas adecuadas encuentren tu promesa.",
        "launchNow": "Omitir y Publicar"
      }
    },
    "detail": {
      "seoTitle": "{{title}} | Promesa de {{appName}}",
      "seoFallbackTitle": "Promesa | {{appName}}",
      "deadlineEndedOn": "Finalizó el {{date}}",
      "deadlineEndsToday": "Finaliza hoy",
      "deadlineDaysLeft_one": "Queda {{count}} día",
      "deadlineDaysLeft_other": "Quedan {{count}} días",
      "deadlineEndsOn": "Finaliza el {{date}}",
      "openEnded": "Sin plazo",
      "back": "Atrás",
      "backToPledges": "Volver a promesas",
      "loadingPledge": "Cargando promesa…",
      "pledge": "Promesa",
      "byAuthor": "por <0>{{name}}</0>",
      "submitLabel": "Enviar",
      "linkCopied": "Enlace copiado al portapapeles",
      "pinnedToast": "Fijado a la promesa",
      "unpinnedToast": "Quitado de la promesa",
      "pinFailed": "No se pudieron actualizar los fijados",
      "submissions": "Propuestas",
      "submissionCount_one": "{{count}} propuesta",
      "submissionCount_other": "{{count}} propuestas",
      "submissionPlaceholder": "Comparte pruebas, evidencias o trabajo terminado...",
      "noSubmissionsTitle": "Aún no hay propuestas",
      "noSubmissionsHint": "Sé el primero en responder con pruebas, evidencias o trabajo terminado.",
      "funded": "financiado",
      "ofPledged": "de {{amount}} prometido",
      "share": "Compartir",
      "storyHeading": "La promesa",
      "storyEmpty": "Quien hizo la promesa aún no ha escrito los detalles."
    }
  },
  "groups": {
    "list": {
      "seoTitle": "Grupos",
      "seoDescription": "Descubre y únete a grupos en Nostr",
      "heroKicker": "Grupos",
      "heroHeading": "La fuerza",
      "heroHeadingLine2": "está en el número.",
      "heroBody": "Crea grupos, reúne miembros y mantente al tanto de lo que hacen tus espacios.",
      "createGroup": "Crear un grupo",
      "createGroupLoginTitle": "Inicia sesión para crear un grupo",
      "createGroupLoginBody": "Crear un grupo publica un evento de Nostr desde tu cuenta.",
      "myGroups": "Mis grupos",
      "myGroupsTagline": "Grupos que fundaste, moderas o sigues.",
      "featuredGroups": "Grupos destacados",
      "featuredGroupsTagline": "Grupos destacados que merecen tu atención.",
      "allGroups": "Grupos",
      "allGroupsTagline": "Destacados por los moderadores. Busca u ordena para explorar todos los grupos.",
      "loginToSeeTitle": "Inicia sesión para ver tus grupos",
      "loginToSeeBody": "Los grupos que fundaste o moderas aparecerán aquí.",
      "noGroupsTitle": "Aún no hay grupos",
      "noGroupsBody": "Crea tu propio grupo para coordinar campañas, promesas y eventos con tu gente.",
      "noFeaturedTitle": "Aún no hay grupos destacados",
      "noFeaturedBody": "Los moderadores de {{appName}} destacan grupos notables aquí. Vuelve pronto.",
      "connectingRelays": "Conectando con los relés…",
      "showLess": "Mostrar menos",
      "showMore": "Mostrar {{count}} más",
      "needsReview": "Pendiente de revisión",
      "needsReviewDesc": "Grupos de {{appName}} que aún no han sido destacados ni ocultados. Súbelos a la sección destacada o suprímelos con Ocultar.",
      "needsReviewEmpty": "Nada pendiente de revisión.",
      "hidden": "Ocultos",
      "hiddenDesc": "Grupos suprimidos del descubrimiento público. Usa el menú de la tarjeta para mostrarlos de nuevo.",
      "hiddenEmpty": "No hay grupos ocultos actualmente.",
      "tickerCampaignsRaised_one": "recaudado en cadena en {{count}} campaña",
      "tickerCampaignsRaised_other": "recaudado en cadena en {{count}} campañas",
      "tickerFeaturedGroups_one": "grupo destacado en Nostr",
      "tickerFeaturedGroups_other": "grupos destacados en Nostr",
      "tickerCountries_one": "país publicando hoy",
      "tickerCountries_other": "países publicando hoy",
      "searchPlaceholder": "Buscar grupos…",
      "searchAriaLabel": "Buscar grupos",
      "noMatch": "Ningún grupo coincide con «{{query}}»",
      "noMatchHint": "Prueba con otro término de búsqueda o bórrala."
    },
    "create": {
      "seoTitleCreate": "Crear grupo",
      "seoTitleEdit": "Editar grupo",
      "seoDescriptionCreate": "Crea un grupo nuevo en {{appName}}.",
      "seoDescriptionEdit": "Actualiza tu grupo en {{appName}}.",
      "loginGateTitle": "Inicia sesión para crear un grupo",
      "loginGateBody": "Los grupos son eventos firmados de Nostr. Necesitas una sesión de Nostr para publicar uno.",
      "invalidEditTitle": "Enlace de edición inválido",
      "invalidEditBody": "Este enlace de edición de grupo no incluye una dirección válida.",
      "startNewGroup": "Crear un grupo nuevo",
      "loadingGroup": "Cargando grupo…",
      "cannotEditTitle": "Este grupo no se puede editar",
      "cannotEditBody": "Solo quien fundó este grupo puede actualizarlo.",
      "headingCreate": "Crear grupo",
      "headingEdit": "Editar grupo",
      "name": "Nombre",
      "namePlaceholder": "p. ej. La Guardia del Árbitro",
      "urlPreview": "Vista previa de URL:",
      "urlPlaceholder": "nombre-de-tu-grupo",
      "urlKeptOriginal": "(se conserva del original)",
      "description": "Descripción",
      "descriptionPlaceholder": "¿De qué trata este grupo?",
      "country": "País",
      "countryPlaceholder": "Buscar países",
      "tags": "Etiquetas",
      "tagsPlaceholder": "ayuda-mutua, noticias-locales, derechos-digitales",
      "coverImage": "Imagen de portada",
      "moderators": "Moderadores",
      "moderatorsCount": "Moderadores ({{count}})",
      "removeModeratorAria": "Quitar a {{name}}",
      "submitCreate": "Crear grupo",
      "submitEdit": "Actualizar grupo",
      "creating": "Creando…",
      "updating": "Actualizando…",
      "uploadingCover": "Subiendo portada…",
      "altText": "Grupo: {{name}}",
      "successCreate": "¡Grupo creado!",
      "successEdit": "¡Grupo actualizado!",
      "errorTitleCreate": "No se pudo crear el grupo",
      "errorTitleEdit": "No se pudo actualizar el grupo",
      "errorLoginRequired": "Debes iniciar sesión para crear un grupo.",
      "errorEditLoadFailed": "No se pudo cargar el grupo para editar.",
      "errorEditNotOwner": "Solo quien fundó este grupo puede editarlo.",
      "errorNameRequired": "El nombre es obligatorio.",
      "errorNameInvalid": "El nombre debe incluir letras o números para crear una URL del grupo.",
      "errorEditLatestMissing": "No se pudo encontrar la última versión de este grupo para actualizarlo.",
      "errorCoverInvalid": "La imagen de portada debe ser una URL https:// válida.",
      "errorSlugCollision": "Ya tienes un grupo con el identificador «{{slug}}». Elige otro nombre.",
      "wizard": {
        "nameStepTitle": "Nombra tu grupo",
        "nameStepSubtitle": "Un nombre corto y claro que los miembros reconocerán.",
        "coverStepTitle": "Añade una imagen de portada",
        "coverStepSubtitle": "Una imagen acompaña al grupo en cada tarjeta.",
        "moderatorsStepTitle": "Invita moderadores",
        "moderatorsStepSubtitle": "Opcional — pueden aprobar contenido y eliminar miembros junto contigo.",
        "tagsStepTitle": "País y categorías",
        "tagsStepSubtitle": "Ayuda a que las personas adecuadas encuentren tu grupo.",
        "launchNow": "Omitir y Publicar"
      }
    },
    "detail": {
      "by": "por",
      "byAuthor": "por {{name}}",
      "members": "Miembros",
      "viewMembers": "Ver miembros",
      "moreMembers": "+{{count}} más",
      "about": "Acerca de",
      "comments": "Comentarios",
      "comment": "Comentar",
      "commentNoun_one": "comentario",
      "commentNoun_other": "comentarios",
      "noCommentsTitle": "Aún no hay comentarios",
      "noCommentsHint": "Sé la primera persona en iniciar una conversación.",
      "noMembersFound": "No se encontraron miembros.",
      "founder": "Fundador",
      "moderator": "Moderador",
      "moreActions": "Más acciones",
      "editGroup": "Editar grupo",
      "deleteGroup": "Eliminar grupo",
      "officialActivity": "Actividad oficial",
      "officialTools": "Herramientas oficiales",
      "startSomething": "Inicia algo",
      "officialToolsDescription": "Dale a {{name}} un siguiente paso concreto.",
      "launchCampaign": "Lanzar una campaña",
      "launchCampaignDescription": "Recauda fondos con una página oficial del grupo.",
      "campaign": "Campaña",
      "pledge": "Promesa",
      "pledgeDescription": "Ofrece ayuda que otros puedan convertir en acción.",
      "event": "Evento",
      "eventDescription": "Reúne a tus simpatizantes.",
      "untitledEvent": "Evento sin título",
      "interestedCount_one": "{{count}} persona interesada",
      "interestedCount_other": "{{count}} personas interesadas",
      "allDay": "Todo el día"
    }
  },
  "campaignsCreate": {
    "seoTitleCreate": "Iniciar una campaña",
    "seoTitleEdit": "Editar campaña",
    "seoDescriptionCreate": "Lanza una campaña de recaudación en {{appName}}.",
    "seoDescriptionEdit": "Actualiza tu campaña de recaudación en {{appName}}.",
    "loginGateTitle": "Inicia sesión para iniciar una campaña",
    "loginGateBody": "Las campañas son eventos firmados de Nostr. Necesitas una sesión de Nostr para publicar una.",
    "invalidEditTitle": "Enlace de edición inválido",
    "invalidEditBody": "Este enlace de edición de campaña no incluye una dirección válida.",
    "startNewCampaign": "Iniciar una campaña nueva",
    "loadingCampaign": "Cargando campaña…",
    "cannotEditTitle": "Esta campaña no se puede editar",
    "cannotEditBody": "Solo el autor de esta campaña puede actualizarla.",
    "headingCreate": "Iniciar una campaña",
    "headingEdit": "Editar campaña",
    "title": "Título",
    "titlePlaceholder": "Salvar la última librería",
    "country": "País",
    "countryPlaceholder": "Buscar países",
    "tags": "Etiquetas",
    "tagsPlaceholder": "defensa-legal, ayuda-mutua, noticias-locales",
    "categories": {
      "humanRights": "Derechos humanos",
      "democracy": "Democracia",
      "pressFreedom": "Libertad de prensa",
      "politicalPrisoners": "Presos políticos",
      "humanitarianAid": "Ayuda humanitaria",
      "civilResistance": "Resistencia civil",
      "digitalRights": "Derechos digitales",
      "antiCorruption": "Lucha anticorrupción",
      "womenGirls": "Mujeres y niñas",
      "refugees": "Refugiados y exiliados",
      "legalAid": "Asistencia legal",
      "emergencyRelief": "Ayuda de emergencia",
      "animalRights": "Derechos de los animales",
      "education": "Educación",
      "medical": "Salud",
      "community": "Comunidad"
    },
    "banner": "Imagen de portada",
    "story": "Historia",
    "storyPlaceholder": "Comparte el contexto, a quién beneficia y cómo se usarán los fondos.",
    "goal": "Meta",
    "goalPlaceholder": "25.000",
    "submitCreate": "Lanzar campaña",
    "submitEdit": "Actualizar campaña",
    "publishing": "Publicando…",
    "updating": "Actualizando…",
    "uploadingBanner": "Subiendo portada…",
    "altText": "Campaña de recaudación: {{title}}",
    "successCreate": "Campaña lanzada",
    "successCreateDesc": "Tu recaudación está activa.",
    "successEdit": "Campaña actualizada",
    "successEditDesc": "Los cambios de tu recaudación están activos.",
    "errorTitleCreate": "No se pudo publicar la campaña",
    "errorTitleEdit": "No se pudo actualizar la campaña",
    "errorLoginRequired": "Debes iniciar sesión para crear una campaña.",
    "errorEditLoadFailed": "No se pudo cargar la campaña para editar.",
    "errorEditNotOwner": "Solo el autor de la campaña puede editarla.",
    "errorTitleRequired": "El título es obligatorio.",
    "errorTitleInvalid": "El título debe incluir letras o números para crear una URL de campaña.",
    "errorSlugInvalid": "El identificador debe ser letras minúsculas, números y guiones.",
    "errorGoalInvalid": "La meta debe ser una cantidad positiva en dólares enteros.",
    "errorEditLatestMissing": "No se pudo encontrar la última versión de esta campaña para actualizarla.",
    "errorSlugCollision": "Ya tienes una campaña con el identificador «{{slug}}». Elige otro.",
    "errorBannerInvalid": "La portada debe ser una URL https:// válida.",
    "errorPublishedInvalid": "El evento publicado falló la validación. Recarga e inténtalo de nuevo.",
    "wizard": {
      "titleStepTitle": "Nombra tu campaña",
      "titleStepSubtitle": "Un nombre corto y claro que los donantes reconocerán.",
      "bannerStepTitle": "Añade una portada",
      "bannerStepSubtitle": "Una imagen impactante acompaña a la campaña en cada tarjeta.",
      "storyStepTitle": "Cuenta tu historia",
      "storyStepSubtitle": "Quién se beneficia y cómo se usarán los fondos.",
      "next": "Siguiente",
      "back": "Atrás",
      "skip": "Omitir",
      "launchNow": "Omitir y Publicar",
      "goalStepTitle": "Meta",
      "goalStepSubtitle": "Opcional — déjalo en blanco para una campaña sin meta fija.",
      "tagsStepTitle": "País y categorías",
      "tagsStepSubtitle": "Ayuda a que las personas adecuadas encuentren tu campaña."
    }
  },
  "campaignsDetail": {
    "seoTitle": "{{title}} | Recaudaciones de {{appName}}",
    "seoDescriptionFallback": "Apoya {{title}} en {{appName}}.",
    "back": "Atrás",
    "edit": "Editar",
    "delete": "Eliminar",
    "deleting": "Eliminando…",
    "openCover": "Abrir imagen de portada",
    "byAuthor": "por <0>{{name}}</0>",
    "commentLabel": "Comentar",
    "linkCopied": "Enlace copiado al portapapeles",
    "pinnedToast": "Fijado a la campaña",
    "unpinnedToast": "Quitado de la campaña",
    "pinFailed": "No se pudieron actualizar los fijados",
    "deletedToast": "Campaña eliminada",
    "deletedToastDesc": "Se publicó una solicitud de eliminación. Los relés que se comportan bien quitarán la campaña de los feeds.",
    "deleteErrorTitle": "No se pudo eliminar la campaña",
    "campaigner": "Organizador",
    "repost_one": "<0>{{formattedCount}}</0> Reposteo",
    "repost_other": "<0>{{formattedCount}}</0> Reposteos",
    "quote_one": "<0>{{formattedCount}}</0> Cita",
    "quote_other": "<0>{{formattedCount}}</0> Citas",
    "like_one": "<0>{{formattedCount}}</0> Me gusta",
    "like_other": "<0>{{formattedCount}}</0> Me gusta",
    "tabComments": "Comentarios y donaciones",
    "noCommentsTitle": "Aún no hay comentarios",
    "noCommentsHint": "Sé la primera persona en dejar un mensaje de apoyo.",
    "deleteDialogTitle": "¿Eliminar esta campaña?",
    "deleteDialogBody": "Esto publica una solicitud de eliminación NIP-09. Los relés que se comportan bien quitarán la campaña de los feeds y los enlaces directos. Los recibos de donaciones pasadas quedan en cadena de todos modos. Esta acción no se puede deshacer — para seguir aceptando donaciones, edita la campaña en su lugar.",
    "storyHeading": "La historia",
    "share": "Compartir",
    "target": "Meta: {{amount}}",
    "raised": "recaudado",
    "ofGoal": "de la meta de {{amount}}"
  },
  "campaignVerification": {
    "verifiedBy": "Verificado por",
    "verifiedLabel": "Verificada",
    "verifiedByCount_one": "Verificado por {{count}} moderador",
    "verifiedByCount_other": "Verificado por {{count}} moderadores",
    "verifyCampaign": "Verificar esta campaña",
    "removeVerification": "Quitar mi verificación",
    "dialogTitle": "Verificar esta campaña",
    "attestation": "Al verificar esta campaña, declaras que la campaña es auténtica y veraz. Conoces personalmente al organizador de la campaña o has verificado de forma significativa que sus afirmaciones son ciertas. Ten cuidado con los impostores y estafadores.",
    "verified": "Campaña verificada",
    "unverified": "Verificación eliminada",
    "actionFailed": "La acción falló",
    "verifiedByCount_zero": "Verificado por {{count}} moderadores",
    "verifiedByCount_two": "Verificado por {{count}} moderadores",
    "verifiedByCount_few": "Verificado por {{count}} moderadores",
    "verifiedByCount_many": "Verificado por {{count}} moderadores"
  },
  "calendarEvents": {
    "create": {
      "seoTitle": "Crear evento",
      "seoDescription": "Crea un evento de calendario en {{appName}}.",
      "loginTitle": "Inicia sesión para crear un evento",
      "loginBody": "Los eventos son eventos firmados de Nostr. Necesitas iniciar sesión en Nostr para publicar uno.",
      "heading": "Crear evento",
      "titlePlaceholder": "Limpieza del barrio",
      "descriptionPlaceholder": "Cuenta qué esperar, qué llevar y quién debería asistir...",
      "schedule": "Horario",
      "allDay": "Evento de todo el día",
      "allDayHint": "Desactívalo para agregar horas de inicio y fin.",
      "startDate": "Fecha de inicio",
      "endDate": "Fecha de fin",
      "startTime": "Hora de inicio",
      "endTime": "Hora de fin",
      "locationDetails": "Detalles de ubicación",
      "locationPlaceholder": "Dirección, lugar o enlace de videollamada",
      "tagsPlaceholder": "ayuda-mutua, taller, noticias-locales",
      "submit": "Crear evento",
      "successToast": "Evento creado",
      "errorToast": "No se pudo crear el evento",
      "altCalendar": "Evento de calendario: {{title}}",
      "altGroup": "Evento de grupo: {{title}}",
      "errorLoginRequired": "Debes iniciar sesión para crear un evento.",
      "errorTitleRequired": "El título es obligatorio.",
      "errorStartDateRequired": "La fecha de inicio es obligatoria.",
      "errorStartDatePast": "La fecha de inicio no puede estar en el pasado.",
      "errorStartTimeRequired": "La hora de inicio es obligatoria para eventos con hora.",
      "errorCoverInvalid": "La imagen de portada debe ser una URL https:// válida.",
      "errorEndDateBeforeStart": "La fecha de fin debe ser igual o posterior a la fecha de inicio.",
      "errorStartDateTimeInvalid": "La fecha u hora de inicio no es válida.",
      "errorEndTimeAfterStart": "La hora de fin debe ser posterior a la hora de inicio."
    },
    "detail": {
      "untitledEvent": "Evento sin título",
      "dateNotSpecified": "Fecha no especificada",
      "organizer": "Organizador",
      "rsvpUpdated": "RSVP actualizado",
      "rsvpFailed": "No se pudo actualizar el RSVP",
      "rsvp": "RSVP",
      "youAreGoing": "Vas a asistir",
      "youAreInterested": "Te interesa",
      "youCantGo": "No puedes ir",
      "chooseRsvp": "Elige tu RSVP",
      "going": "Asistiré",
      "interested": "Me interesa",
      "cantGo": "No puedo ir",
      "attendees": "Asistentes",
      "links": "Enlaces",
      "participants": "Participantes",
      "hostedBy": "organizado por",
      "attendingCount_one": "{{count}} asistente",
      "attendingCount_other": "{{count}} asistentes",
      "interestedCount_one": "{{count}} interesado",
      "interestedCount_other": "{{count}} interesados",
      "comment": "Comentar",
      "description": "Descripción",
      "emptyDescription": "El organizador todavía no ha agregado una descripción para este evento.",
      "comments": "Comentarios",
      "commentNoun_one": "comentario",
      "commentNoun_other": "comentarios",
      "noCommentsTitle": "Aún no hay comentarios",
      "noCommentsHint": "Sé la primera persona en comentar.",
      "pinnedToast": "Fijado al evento",
      "unpinnedToast": "Quitado del evento",
      "pinFailed": "No se pudieron actualizar los fijados del evento"
    }
  },
  "follow": {
    "follow": "Seguir",
    "following": "Siguiendo",
    "unfollow": "Dejar de seguir",
    "followed": "Siguiendo",
    "unfollowed": "Dejaste de seguir",
    "updateFailed": "No se pudo actualizar la lista de seguidos"
  },
  "campaigns": {
    "home": {
      "seoTitle": "Recaudaciones",
      "seoDescription": "Conectamos al mundo con financiación imparable.",
      "heroTagline": "El mundo con financiación <0>imparable</0>.",
      "heroBody": "Recauda Grin directamente de simpatizantes de todo el mundo. Cada donación se liquida directamente en tu cartera, sin intermediarios, sin contracargos y sin ninguna plataforma reteniendo tus fondos.",
      "startCampaign": "Iniciar una campaña",
      "howItWorks": "Cómo funciona",
      "featuredTitle": "Campañas destacadas",
      "featuredDesc": "Campañas seleccionadas por el equipo de {{appName}}.",
      "allCampaigns": "Todas las campañas",
      "allCampaignsDesc": "Todas las campañas de la red, en orden cronológico.",
      "browseAll": "Ver todas las campañas",
      "hidden": "Ocultas",
      "hiddenDesc": "Campañas suprimidas de la página de inicio pública. Usa el menú de la tarjeta para mostrarlas de nuevo.",
      "hiddenEmpty": "No hay campañas ocultas actualmente.",
      "yourCampaigns": "Tus campañas",
      "yourCampaignsDesc": "Tus campañas están activas en Nostr y las donaciones funcionan mediante el enlace de la campaña. Explora todas las campañas en /campaigns; el equipo de {{appName}} destaca una selección curada en la página de inicio.",
      "empty": "Aún no hay campañas",
      "emptyHint": "Sé el primero en iniciar una recaudación en {{appName}}. Cuenta tu historia, elige a los beneficiarios y comparte el enlace.",
      "whyDifferent": {
        "eyebrow": "Por qué {{appName}}",
        "title": "Construido diferente.",
        "lede": "Grin directo del donante al receptor. Ninguna plataforma en medio, ningún custodio cargando con la bolsa, ningún permiso requerido.",
        "block1": {
          "heading": "A diferencia de GoFundMe",
          "body": "Ninguna plataforma puede congelar tus donaciones, exigir reembolsos o cerrar tu campaña por desacuerdos sobre políticas. Ni Stripe, ni Visa, ni un banco se interponen en medio y pueden cortarte a mitad de campaña.",
          "bullet1": "A prueba de congelaciones — sin veto de plataforma",
          "bullet2": "Ningún procesador de pagos puede tirar del enchufe",
          "bullet3": "Cero comisiones de plataforma"
        },
        "block2": {
          "heading": "A diferencia de otras plataformas cripto",
          "body": "Sin cartera custodiada, nodo alojado ni procesador de pagos que pueda fallar o quedarse fuera de línea. Los fondos se liquidan en la cadena de Grin en una cartera que tú controlas. Si {{appName}} desapareciera mañana, cada campaña seguiría funcionando.",
          "bullet1": "Sin billetera custodiada que vaciar o congelar",
          "bullet2": "Se liquida on-chain a una billetera que tú posees",
          "bullet3": "Funciona incluso si {{appName}} desaparece"
        },
        "readMore": "Leer el análisis completo"
      },
      "searchPlaceholder": "Buscar campañas…",
      "searchAriaLabel": "Buscar campañas",
      "noMatch": "Ninguna campaña coincide con «{{query}}»",
      "noMatchHint": "Prueba con otro término de búsqueda o bórrala.",
      "verifyCampaigns": "Verificar campañas"
    },
    "all": {
      "title": "Campañas",
      "seoTitle": "Todas las campañas",
      "description": "Explora todas las campañas publicadas en Eranos.",
      "sectionTagline": "Primero las campañas destacadas, luego el resto de la red. Busca u ordena para refinar.",
      "heroKicker": "Campañas",
      "heroHeading": "Cada causa,",
      "heroHeadingLine2": "en un solo lugar.",
      "heroBody": "Cada recaudación publicada en Nostr, reunida en un solo lugar. Explora toda la red, encuentra una causa que te importe y apóyala directamente con Grin.",
      "campaignsCount_one": "campaña en la red",
      "campaignsCount_other": "campañas en la red",
      "searchAriaLabel": "Buscar campañas",
      "searchPlaceholder": "Buscar campañas…",
      "clearSearch": "Borrar búsqueda",
      "sortAriaLabel": "Orden",
      "sortTop": "Destacadas",
      "sortNew": "Nuevas",
      "showHidden": "Mostrar ocultas",
      "startCampaign": "Iniciar una campaña",
      "noMatch": "Ninguna campaña coincide con «{{query}}»",
      "noMatchHint": "Prueba con otra búsqueda o bórrala para ver todas las campañas.",
      "allHidden": "No hay campañas que mostrar",
      "allHiddenHint": "Todas las campañas de la red han sido ocultadas por moderadores. Activa «Mostrar ocultas» para verlas.",
      "empty": "Aún no hay campañas",
      "emptyHint": "Todavía no se ha publicado ninguna campaña. Sé el primero.",
      "verifyCampaigns": "Verificar campañas"
    },
    "lists": {
      "stripAria": "Listas temáticas de campañas curadas",
      "create": "Nueva lista",
      "showMore": "Mostrar {{count}} más",
      "showLess": "Mostrar menos",
      "createDesc": "Crea una nueva lista temática. Cura campañas en ella desde cualquier página de campaña.",
      "createSubmit": "Crear lista",
      "createFailed": "No se pudo crear la lista",
      "edit": "Editar lista",
      "editDesc": "Actualiza el título, la descripción o el icono de la lista.",
      "editSubmit": "Guardar cambios",
      "updateFailed": "No se pudo actualizar la lista",
      "delete": "Eliminar lista",
      "deleteFailed": "No se pudo eliminar la lista",
      "deleteConfirmTitle": "¿Eliminar esta lista?",
      "deleteConfirmDesc": "«{{title}}» se eliminará de la franja de temas. Las campañas en sí no se ven afectadas.",
      "titleField": "Título",
      "titlePlaceholder": "p. ej. Libertad de prensa",
      "descriptionField": "Descripción",
      "descriptionPlaceholder": "Una breve descripción que explique qué entra en esta lista.",
      "iconField": "Icono",
      "menuAria": "Opciones de la lista {{title}}",
      "listActions": "Acciones de la lista",
      "memberMenuAria": "Opciones de la campaña en la lista",
      "backToCampaigns": "Volver a las campañas",
      "detailTitle": "Lista de campañas",
      "campaignsCount_one": "{{count}} campaña",
      "campaignsCount_other": "{{count}} campañas",
      "addCampaign": "Añadir campaña",
      "addCampaignDesc": "Busca en la red y elige una campaña para añadirla a esta lista.",
      "addFailed": "No se pudo añadir a la lista",
      "addToList": "Añadir",
      "alreadyAdded": "Añadida",
      "added": "Añadida",
      "membershipTitle": "Añadir a listas",
      "membershipDesc": "Elige en qué listas debe aparecer \"{{title}}\".",
      "membershipEmpty": "Aún no hay listas. Crea una para empezar a curar.",
      "searchPlaceholder": "Buscar campañas…",
      "searchEmpty": "Ninguna campaña coincide con esta búsqueda.",
      "removeFromList": "Quitar de la lista",
      "removeFailed": "No se pudo quitar de la lista",
      "empty": "Esta lista está vacía.",
      "emptyMod": "Esta lista está vacía. Añade campañas para empezar a curarla.",
      "iconPicker": {
        "title": "Elige un icono",
        "description": "Elige cualquier icono de la biblioteca Lucide.",
        "search": "Buscar iconos…",
        "empty": "Ningún icono coincide con esta búsqueda."
      }
    }
  },
  "moderation": {
    "hiddenBadge": "Oculto",
    "menu": {
      "ariaCampaign": "Moderar campaña",
      "ariaPledge": "Moderar promesa",
      "ariaGroup": "Moderar grupo",
      "failedAction": "No se pudo {{action}}",
      "failedReorder": "No se pudo reordenar",
      "hide": "Ocultar",
      "unhide": "Mostrar",
      "hiddenState": "Oculto",
      "feature": "Destacar",
      "unfeature": "Quitar de destacados",
      "featuredState": "Destacado",
      "moveToTop": "Mover al principio",
      "moveUp": "Subir",
      "moveDown": "Bajar",
      "addToList": "Añadir a la lista…",
      "dragHandle": "Arrastra para reordenar (posición {{index}})",
      "toastHidden": "Ocultado",
      "toastUnhidden": "Restaurado",
      "toastFeatured": "Destacado",
      "toastUnfeatured": "Eliminado de destacados",
      "toast": {
        "movedToTop": "Movido al principio",
        "movedUp": "Movido hacia arriba",
        "movedDown": "Movido hacia abajo"
      },
      "label": "Acciones de moderador"
    }
  },
  "settings": {
    "title": "Ajustes",
    "description": "Administra tus ajustes de {{appName}}",
    "deleteAccount": "Eliminar cuenta",
    "groups": {
      "account": "Cuenta",
      "app": "Aplicación",
      "system": "Sistema"
    },
    "sections": {
      "profile": "Perfil",
      "profileDesc": "Nombre, biografía, avatar y verificación.",
      "appearance": "Apariencia",
      "appearanceDesc": "Modo sistema, claro u oscuro.",
      "language": "Idioma",
      "languageDesc": "Elige el idioma usado en toda la aplicación.",
      "network": "Red",
      "networkDesc": "Uso de datos, relés y servidores de subida de archivos.",
      "notifications": "Notificaciones",
      "notificationsDesc": "Preferencias de notificaciones push.",
      "advanced": "Avanzado",
      "advancedDesc": "Opciones del sistema y para usuarios avanzados.",
      "organizers": "Organizadores",
      "organizersDesc": "Designa organizadores nacionales que pueden fijar publicaciones."
    },
    "organizers": "Organizadores",
    "signInToManage": "Inicia sesión para administrar",
    "loginRequired": "Necesitas iniciar sesión para administrar organizadores.",
    "appearance": {
      "title": "Apariencia",
      "subtitle": "Elige cómo se ve la aplicación.",
      "colorMode": "Modo de color",
      "system": "Sistema",
      "systemDesc": "Sigue la configuración de tu dispositivo",
      "light": "Claro",
      "lightDesc": "Usar siempre modo claro",
      "dark": "Oscuro",
      "darkDesc": "Usar siempre modo oscuro"
    },
    "network": {
      "title": "Red",
      "subtitle": "Gestiona el uso de datos, los relés y los servidores de subida de archivos.",
      "lowBandwidthHeading": "Modo de bajo ancho de banda",
      "reduceDataUsage": "Reducir el uso de datos",
      "reduceDataUsageDesc": "Para conexiones medidas o lentas. Los videos no se reproducen automáticamente, se omiten las previsualizaciones de video en segundo plano y las imágenes esperan a un toque antes de cargarse.",
      "useImageProxy": "Usar proxy de imágenes",
      "useImageProxyDesc": "Obtiene versiones WebP más pequeñas de las imágenes en lugar de los originales a resolución completa.",
      "proxyUrl": "URL del proxy",
      "proxyApiDesc": "Debe hablar la API <0>wsrv.nl / weserv</0>. Quienes autoalojan pueden apuntarlo a su propia instancia.",
      "reset": "Restablecer",
      "relays": "Relés",
      "blossomServers": "Servidores Blossom",
      "imageUploads": "Subidas de imágenes",
      "uploadQuality": "Calidad de subida",
      "uploadQualityDesc": "«Comprimida» redimensiona las imágenes grandes y elige el formato más pequeño. «Original» sube las imágenes tal cual.",
      "compressed": "Comprimida",
      "original": "Original"
    },
    "advanced": {
      "title": "Avanzado",
      "subtitle": "Configuración del sistema y otras opciones avanzadas para usuarios expertos.",
      "intro": "Configuración del sistema y otras opciones avanzadas.",
      "torHeading": "Tor",
      "torToggle": "Enrutar el tráfico a través de Tor",
      "torToggleDesc": "Se conecta a relés y carga los medios a través de la red Tor para mayor privacidad. El rendimiento será más lento y habrá un breve retraso mientras Tor se conecta.",
      "torApplyNote": "Al activar esta opción, todo el tráfico se enruta a través de Tor. Mientras se conecta, el resto del contenido no cargará (un banner muestra el estado) — nada se envía fuera de Tor. Al desactivarla, se vuelve a una conexión directa.",
      "torStatusLabel": "Estado:",
      "torExitIp": "IP de salida de Tor:",
      "torCheckAgain": "Comprobar de nuevo"
    }
  },
  "language": {
    "title": "Idioma",
    "subtitle": "Elige el idioma usado en toda la aplicación.",
    "translationNote": "Las traducciones están en curso. El texto sin traducir aparecerá en inglés."
  },
  "verifier": {
    "title": "Verificador",
    "subtitle": "Conviértete en verificador describiendo cómo evalúas las campañas.",
    "promptLabel": "Tu proceso de verificación",
    "prompt": "Cuéntanos qué pasos sigues para verificar las campañas. Incluye todos los detalles posibles para que los donantes sepan que pueden confiar en tu criterio.",
    "placeholder": "Describe cómo verificas las campañas: las comprobaciones que realizas, las pruebas que exiges, cómo confirmas la identidad de un organizador y cualquier otra cosa que ayude a los donantes a confiar en tu criterio.",
    "previewLabel": "Vista previa",
    "publish": "Convertirme en verificador",
    "update": "Actualizar declaración",
    "withdraw": "Retirar",
    "loading": "Cargando tu declaración…",
    "publishedToast": "Tu declaración de verificador está activa.",
    "withdrawnToast": "Tu declaración de verificador ha sido retirada.",
    "errorToast": "No se pudo guardar tu declaración de verificador.",
    "disclaimer": "Cualquiera puede convertirse en verificador. Tu declaración se publica públicamente en Nostr y se muestra de forma destacada en tu perfil. No otorga ningún permiso especial: simplemente indica a los donantes cómo evalúas las campañas.",
    "loginGateTitle": "Inicia sesión para convertirte en verificador",
    "loginGateBody": "Debes haber iniciado sesión para publicar una declaración de verificador.",
    "howWeVerifyTitle": "Cómo verificamos",
    "requestVerification": "Solicitar verificación",
    "withdrawConfirmTitle": "¿Retirar tu declaración de verificador?",
    "withdrawConfirmBody": "Tu declaración «Cómo verificamos» se eliminará de tu perfil. Puedes publicar una nueva en cualquier momento."
  },
  "mdEditor": {
    "toolbar": {
      "bold": "Negrita",
      "italic": "Cursiva",
      "strikethrough": "Tachado",
      "inlineCode": "Código en línea",
      "heading1": "Encabezado 1",
      "heading2": "Encabezado 2",
      "heading3": "Encabezado 3",
      "bulletList": "Lista con viñetas",
      "numberedList": "Lista numerada",
      "blockquote": "Cita",
      "insertLink": "Insertar enlace",
      "insertImage": "Insertar imagen",
      "horizontalRule": "Línea horizontal"
    },
    "help": {
      "title": "Referencia rápida de Markdown",
      "bold": "negrita",
      "italic": "cursiva",
      "bulletList": "viñeta",
      "numberedList": "numerada",
      "link": "enlace",
      "quote": "cita",
      "code": "código"
    },
    "link": {
      "title": "Insertar enlace",
      "textLabel": "Texto del enlace",
      "textPlaceholder": "Introduce el texto del enlace…",
      "urlLabel": "URL",
      "cancel": "Cancelar",
      "insert": "Insertar enlace"
    }
  },
  "organizations": {
    "seoTitle": "Para organizaciones",
    "seoDescription": "Incorpora tu organización a {{appName}}, publica una declaración de verificación pública y gánate la confianza de los donantes.",
    "hero": {
      "eyebrow": "Para organizaciones y verificadores",
      "headlinePart1": "Ayuda a los donantes a",
      "headlineHighlight": "confiar",
      "body": "Trae tu organización a {{appName}} y publica una declaración pública que describa cómo evalúas las campañas que respaldas. Sin solicitudes, sin guardianes: tu reputación hace el trabajo.",
      "trustChips": {
        "noPermission": "No se necesita permiso",
        "ownIdentity": "Tu propia identidad",
        "public": "Pública y verificable"
      },
      "cta": "Empezar"
    },
    "steps": {
      "eyebrow": "Cómo funciona",
      "title": "Incorpórate en tres pasos",
      "lede": "{{appName}} está construida sobre Nostr, así que tu organización aporta su propia identidad. Configurarlo lleva minutos.",
      "step1": {
        "title": "Trae tu perfil",
        "body": "Inicia sesión con el perfil de Nostr de tu organización, o crea uno en segundos. Tu identidad es tuya, portable entre todas las aplicaciones de Nostr y no controlada por {{appName}}."
      },
      "step2": {
        "title": "Describe tu proceso",
        "body": "Escribe una declaración pública que explique cómo verificas las campañas: las comprobaciones que realizas, las pruebas que exiges y cómo confirmas la identidad de un organizador."
      },
      "step3": {
        "title": "Publica y gana confianza",
        "body": "Tu declaración aparece en tu perfil e indica a los donantes que respaldas las campañas que verificas. Actualízala o retírala en cualquier momento."
      }
    },
    "getStarted": {
      "eyebrow": "Empezar",
      "title": "Publica tu declaración",
      "lede": "Inicia sesión con el perfil de tu organización para publicar, actualizar o retirar tu declaración de verificación."
    },
    "loginGateTitle": "Inicia sesión con el perfil de tu organización",
    "loginGateBody": "Inicia sesión con el perfil de Nostr de tu organización, o crea uno, para empezar. Una vez que hayas iniciado sesión, podrás publicar aquí tu declaración de verificación.",
    "tutorial": {
      "eyebrow": "Ahora eres verificador",
      "title": "Cómo verificar una campaña",
      "lede": "Tu declaración ya está publicada. Así puedes respaldar una campaña en la que confías: solo dos toques desde cualquier tarjeta de campaña.",
      "steps": {
        "open": {
          "title": "Abre el menú",
          "body": "En cualquier tarjeta de campaña, toca el botón de tres puntos en la esquina superior derecha del banner."
        },
        "verify": {
          "title": "Elige \"Verificar esta campaña\"",
          "body": "El menú muestra una acción de verificación, visible solo para moderadores y verificadores como tú."
        },
        "confirm": {
          "title": "Confirma y listo",
          "body": "Da fe de que la campaña es auténtica. Tu insignia se une a la tarjeta para que los donantes sepan que la respaldas."
        }
      },
      "demo": {
        "menuVerify": "Verificar esta campaña"
      }
    },
    "getStartedCard": {
      "title": "Configura tu organización",
      "body": "Te guiaremos para crear el perfil de tu organización, publicar tu declaración de verificación y verificar tu primera campaña.",
      "cta": "Empezar a verificar"
    }
  },
  "organizers": {
    "appoint": "Designar Organizador",
    "appointDesc": "Otorga a un usuario permiso para fijar publicaciones en una sección de país específica.",
    "appointing": "Designando…",
    "appointed": "Organizador designado",
    "appointedSuccess": "Organizador designado para {{country}}",
    "userNpub": "npub del usuario",
    "country": "País",
    "selectCountry": "Selecciona un país",
    "invalidNpub": "Formato de npub no válido",
    "alreadyOrganizer": "Este usuario ya es organizador de ese país",
    "current": "Organizadores actuales",
    "noOrganizers": "Aún no hay organizadores designados.",
    "removed": "Organizador eliminado",
    "removedSuccess": "Se eliminó a {{name}} de {{country}}",
    "refreshed": "Actualizado",
    "refreshedDesc": "Lista de organizadores actualizada desde los relés.",
    "adminRequired": "Se requiere acceso de administrador",
    "adminRequiredDesc": "Solo los administradores de la plataforma pueden designar o eliminar organizadores."
  },
  "qrScanner": {
    "title": "Escanear código QR",
    "close": "Cerrar",
    "starting": "Iniciando la cámara…",
    "aim": "Apunta la cámara al código QR.",
    "flashOn": "Encender el flash",
    "flashOff": "Apagar el flash",
    "errors": {
      "generic": "No se pudo acceder a la cámara.",
      "insecure": "El acceso a la cámara requiere una conexión segura (HTTPS).",
      "unsupported": "Este navegador no admite el acceso a la cámara.",
      "notFound": "No se encontró ninguna cámara en este dispositivo.",
      "denied": "Se denegó el permiso de la cámara. Actívalo en los ajustes para escanear códigos QR.",
      "busy": "Otra aplicación está usando la cámara. Ciérrala e inténtalo de nuevo.",
      "overconstrained": "La cámara de este dispositivo no admite la configuración solicitada.",
      "didntStart": "La cámara no se inició. Es posible que otra aplicación la esté usando o que el navegador haya bloqueado el escáner."
    }
  },
  "notifications": {
    "seoTitle": "Notificaciones",
    "seoDescription": "Tus notificaciones de Nostr",
    "title": "Notificaciones",
    "tabs": {
      "all": "Todas",
      "mentions": "Menciones"
    },
    "loginPrompt": "Inicia sesión para ver tus notificaciones.",
    "empty": "Aún no hay notificaciones.",
    "subject": {
      "twoActors": "<0></0> y <1></1>",
      "andOthers_one": " y {{count}} más",
      "andOthers_other": " y {{count}} más"
    },
    "actorAvatars": {
      "moreCount": "+{{count}} más"
    },
    "actions": {
      "reactedToYour": "reaccionó a tu {{noun}}",
      "repostedYour": "reposteó tu {{noun}}",
      "repliedToYourNote": "respondió a tu nota",
      "mentionedYou": "te mencionó",
      "repliedToYourComment": "respondió a tu comentario",
      "commentedOnYour": "comentó tu {{noun}}",
      "sentYouLetter": "te envió una carta",
      "highlightedYour": "resaltó tu {{noun}}",
      "awardedBadge": "te otorgó una insignia",
      "awardedBadges": "te otorgó insignias"
    },
    "letter": {
      "viewAll": "Ver todas las cartas",
      "reply": "Responder"
    },
    "kinds": {
      "profile": "perfil",
      "post": "publicación",
      "encryptedMessage": "mensaje cifrado",
      "repost": "reposteo",
      "reaction": "reacción",
      "badgeAward": "concesión de insignia",
      "photo": "foto",
      "video": "video",
      "requestToVanish": "solicitud de borrado",
      "file": "archivo",
      "poll": "encuesta",
      "comment": "comentario",
      "voiceMessage": "mensaje de voz",
      "patch": "parche",
      "pullRequest": "pull request",
      "highlight": "destacado",
      "birdDetection": "detección de ave",
      "birdex": "Birdex",
      "colorMoment": "momento de color",
      "foundLog": "registro hallado",
      "nsite": "nsite",
      "profileBadges": "insignias de perfil",
      "badge": "insignia",
      "article": "artículo",
      "emojiPack": "paquete de emojis",
      "podcastEpisode": "episodio de podcast",
      "podcastTrailer": "tráiler de podcast",
      "stream": "transmisión",
      "status": "estado",
      "repository": "repositorio",
      "customNip": "NIP personalizado",
      "calendarEvent": "evento de calendario",
      "playlist": "lista de reproducción",
      "divine": "divinación",
      "community": "comunidad",
      "goal": "objetivo",
      "track": "pista",
      "magicDeck": "mazo de Magic",
      "treasure": "tesoro",
      "constellation": "constelación",
      "followPack": "paquete de seguimientos"
    }
  },
  "notifSettings": {
    "seoTitle": "Notificaciones",
    "seoDescription": "Configura tus preferencias de notificaciones",
    "title": "Notificaciones",
    "pushHeading": "Notificaciones push",
    "enablePush": {
      "label": "Activar notificaciones push",
      "description": "Recibe notificaciones sobre la actividad de tus publicaciones"
    },
    "unsupported": "Tu navegador no admite notificaciones push.",
    "denied": "Las notificaciones están bloqueadas. Actualiza la configuración de tu navegador para permitir notificaciones de este sitio.",
    "deliveryMethod": {
      "heading": "Método de entrega",
      "intro": "Elige cómo se entregan las notificaciones a tu dispositivo.",
      "push": {
        "label": "Push",
        "description": "Notificaciones estándar. Sin icono persistente en la barra de estado."
      },
      "persistent": {
        "label": "Persistente",
        "description": "Consulta los relés directamente en segundo plano para recibir nuevas notificaciones. Usa esto para una entrega fiable en dispositivos que no admiten notificaciones push."
      }
    },
    "notifyAbout": {
      "heading": "Notificarme sobre",
      "filterHeading": "Filtro",
      "typesHeading": "Tipos",
      "onlyFollowing": {
        "label": "Solo de personas a las que sigo",
        "description": "Oculta las notificaciones de cuentas que no sigues"
      }
    },
    "types": {
      "reactions": {
        "label": "Reacciones",
        "description": "Cuando alguien reacciona a tus publicaciones"
      },
      "reposts": {
        "label": "Reposteos",
        "description": "Cuando alguien repostea tus notas"
      },
      "mentions": {
        "label": "Menciones",
        "description": "Cuando alguien te menciona en una nota"
      },
      "comments": {
        "label": "Comentarios y respuestas",
        "description": "Cuando alguien comenta o responde a tus publicaciones"
      },
      "badges": {
        "label": "Concesiones de insignias",
        "description": "Cuando alguien te otorga una insignia"
      },
      "letters": {
        "label": "Cartas",
        "description": "Cuando alguien te envía una carta"
      },
      "highlights": {
        "label": "Resaltados",
        "description": "Cuando alguien resalta tu contenido"
      }
    },
    "toast": {
      "enableFailedTitle": "Error al activar las notificaciones",
      "enableFailedDesc": "Por favor, inténtalo de nuevo."
    }
  },
  "search": {
    "seoTitle": "Buscar",
    "seoDescription": "Buscar en Nostr",
    "title": "Buscar",
    "inputPlaceholder": "Buscar",
    "filtersAria": "Filtros de búsqueda",
    "tabs": {
      "agora": "Ágora",
      "nostr": "Nostr",
      "accounts": "Usuarios"
    },
    "filters": {
      "title": "Filtros",
      "reset": "Restablecer",
      "from": "De",
      "sort": "Ordenar",
      "media": "Multimedia",
      "protocol": "Protocolo",
      "language": "Idioma",
      "kind": "Tipo",
      "kindCustomPlaceholder": "p.ej. 1, 30023",
      "includeReplies": "Incluir respuestas",
      "authorScope": {
        "anyone": "Cualquiera",
        "follows": "Sigo",
        "people": "Personas"
      },
      "sortOptions": {
        "recent": "Recientes",
        "hot": "Populares",
        "trending": "Tendencia"
      },
      "mediaOptions": {
        "all": "Todo",
        "images": "Imágenes",
        "videos": "Videos",
        "shorts": "Cortos",
        "none": "Sin multimedia"
      },
      "protocolOptions": {
        "nostr": "Nostr",
        "mastodon": "Mastodon",
        "bluesky": "Bluesky"
      },
      "langOptions": {
        "global": "Global",
        "en": "Inglés",
        "es": "Español",
        "fr": "Francés",
        "de": "Alemán",
        "ja": "Japonés",
        "zh": "Chino"
      }
    },
    "chips": {
      "noReplies": "Sin respuestas",
      "images": "Imágenes",
      "videos": "Videos",
      "shortsAndDivines": "Cortos y Divines",
      "noMedia": "Sin multimedia",
      "mastodon": "Mastodon",
      "bluesky": "Bluesky",
      "hot": "Populares",
      "trending": "Tendencia",
      "allKinds": "Todos los tipos",
      "customKind": "Tipo: {{kind}}",
      "kindNumber": "Tipo {{kind}}",
      "kindsCount_one": "{{count}} tipo",
      "kindsCount_other": "{{count}} tipos",
      "myFollows": "A quienes sigo",
      "authorsCount_one": "{{count}} autor",
      "authorsCount_other": "{{count}} autores"
    },
    "clear": "Limpiar",
    "searchLabel": "búsqueda:",
    "newPosts_one": "{{count}} publicación nueva",
    "newPosts_other": "{{count}} publicaciones nuevas",
    "following": "Siguiendo",
    "botAccount": "Cuenta de bot",
    "empty": {
      "posts": "No se encontraron resultados para tu búsqueda.",
      "postsPrompt": "Introduce una consulta para buscar contenido de Nostr.",
      "accounts": "No se encontraron usuarios para tu búsqueda.",
      "followsPrompt": "Busca personas por nombre o dirección NIP-05.",
      "agora": "No se encontraron campañas, pledges ni grupos de Ágora para tu búsqueda.",
      "agoraPrompt": "Busca campañas, pledges y grupos de Ágora, o explora lo más reciente.",
      "activeFilters": "Filtros activos:",
      "clearAll": "Limpiar todos los filtros"
    }
  },
  "profile": {
    "seoDescriptionFallback": "Perfil de Nostr",
    "anonymous": "Anónimo",
    "namePlaceholder": "Tu nombre",
    "userNotFound": "Usuario no encontrado.",
    "userNotFoundNip05": "Usuario no encontrado: {{handle}}",
    "couldNotResolveNip05": "No se pudo resolver este identificador NIP-05.",
    "tabs": {
      "overview": "Resumen",
      "verified": "Verificadas",
      "activity": "Actividad",
      "campaigns": "Campañas",
      "groups": "Grupos",
      "pledges": "Promesas"
    },
    "header": {
      "editProfile": "Editar",
      "shareFollowLink": "Compartir enlace para seguir",
      "moreOptions": "Más opciones",
      "campaignGoal": "Meta ${{amount}}"
    },
    "stats": {
      "followers": "Seguidores",
      "following": "Siguiendo",
      "raised": "Recaudado",
      "followersTitle_one": "{{count}} seguidor",
      "followersTitle_other": "{{count}} seguidores",
      "followingTitle": "Siguiendo a {{count}}"
    },
    "sections": {
      "profile": "Perfil",
      "campaigns": "Campañas",
      "latestPledge": "Última promesa",
      "groups": "Grupos",
      "seeAllCampaigns_one": "Ver {{count}} campaña →",
      "seeAllCampaigns_other": "Ver las {{count}} campañas →",
      "viewCampaignsTab": "Ver pestaña de campañas →",
      "seeAllPledges_one": "Ver {{count}} promesa →",
      "seeAllPledges_other": "Ver las {{count}} promesas →",
      "seeAllGroups": "Ver los {{count}} →"
    },
    "badges": {
      "founder": "Fundador",
      "moderator": "Moderador",
      "mod": "Mod",
      "ended": "Finalizada",
      "pledged": "Prometido"
    },
    "imageMenu": {
      "upload": "Subir archivo",
      "pasteUrl": "Pegar URL",
      "remove": "Eliminar"
    },
    "websitePlaceholder": "https://your-website.com",
    "moreMenu": {
      "title": "Opciones del perfil",
      "copyPubkey": "Copiar clave pública",
      "copyLink": "Copiar enlace del perfil",
      "addToList": "Agregar a lista",
      "shareFollowLink": "Compartir enlace para seguir",
      "profileRecovery": "Recuperación del perfil",
      "awardBadge": "Otorgar insignia",
      "writeLetter": "Escribir una carta",
      "mute": "Silenciar a @{{name}}",
      "unmute": "Dejar de silenciar a @{{name}}",
      "report": "Reportar a @{{name}}",
      "close": "Cerrar"
    },
    "toast": {
      "pubkeyCopied": "Clave pública copiada al portapapeles",
      "linkCopied": "Enlace del perfil copiado al portapapeles",
      "muted": "Silenciaste a @{{name}}",
      "unmuted": "Ya no silencias a @{{name}}",
      "muteFailed": "No se pudo silenciar al usuario",
      "unmuteFailed": "No se pudo quitar el silencio",
      "followed": "Ahora sigues a @{{name}}",
      "unfollowed": "Dejaste de seguir a @{{name}}",
      "followFailed": "No se pudo actualizar la lista de seguidos",
      "btcAddressCopied": "Dirección de Bitcoin copiada al portapapeles"
    },
    "followingModal": {
      "title": "A quién sigue {{name}}",
      "empty": "Aún no sigue a nadie."
    },
    "followersModal": {
      "title": "Seguidores de {{name}}",
      "empty": "No se encontraron seguidores."
    },
    "bitcoinModal": {
      "title": "Bitcoin",
      "qrAlt": "Código QR de Bitcoin",
      "copyAddress": "Copiar dirección",
      "showQr": "Mostrar código QR",
      "viewOnMempool": "Ver en mempool.space"
    },
    "lightbox": {
      "openOriginal": "Abrir original",
      "close": "Cerrar (Esc)",
      "imageAlt": "Imagen de perfil"
    },
    "activity": {
      "empty": "Aún no hay actividad de {{name}}. Aquí aparecerán sus publicaciones, campañas, promesas y donaciones."
    },
    "campaigns": {
      "count_one": "{{count}} campaña",
      "count_other": "{{count}} campañas",
      "sortNew": "Nuevas",
      "sortTop": "Top",
      "showHidden": "Mostrar ocultas",
      "hideHidden": "Ocultar ocultas",
      "emptySelf": "Aún no has lanzado ninguna campaña.",
      "emptyOther": "{{name}} aún no ha lanzado ninguna campaña.",
      "startLink": "Iniciar una campaña →"
    },
    "verified": {
      "count_one": "{{count}} campaña verificada",
      "count_other": "{{count}} campañas verificadas",
      "empty": "{{name}} aún no ha verificado ninguna campaña."
    },
    "pledgesTab": {
      "active": "Activas",
      "ended": "Finalizadas",
      "emptySelf": "Aún no has creado una promesa.",
      "emptyOther": "{{name}} aún no ha creado una promesa.",
      "createLink": "Crear una promesa →"
    },
    "groupsDialog": {
      "title": "Todos los grupos"
    }
  },
  "profileSettings": {
    "seoTitle": "Perfil | Configuración",
    "seoDescription": "Edita tu perfil de {{appName}}",
    "header": {
      "title": "Perfil",
      "save": "Guardar"
    },
    "uploading": "Subiendo…",
    "fields": {
      "heading": "Campos del perfil",
      "website": "Sitio web",
      "websitePlaceholder": "https://tusitio.com",
      "labelPlaceholder": "Etiqueta",
      "tickerPlaceholder": "Ticker",
      "addressPlaceholder": "Dirección",
      "valuePlaceholder": "Valor o URL",
      "mediaPlaceholder": "Sube un archivo o pega un enlace directo",
      "chooseFile": "Elegir archivo para subir",
      "chooseMediaFile": "Elegir un archivo multimedia para subir"
    },
    "presets": {
      "music": {
        "label": "Música",
        "description": "Sube una canción o clip de audio",
        "valuePlaceholder": "Sube audio o pega un enlace directo"
      },
      "photo": {
        "label": "Foto",
        "description": "Sube una imagen",
        "valuePlaceholder": "Sube imagen o pega un enlace directo"
      },
      "video": {
        "label": "Vídeo",
        "description": "Sube un clip de vídeo",
        "valuePlaceholder": "Sube vídeo o pega un enlace directo"
      },
      "email": {
        "label": "Correo",
        "defaultLabel": "Correo",
        "description": "Dirección de correo de contacto",
        "valuePlaceholder": "tu@ejemplo.com"
      },
      "link": {
        "label": "Enlace",
        "description": "Enlace a cualquier sitio web o perfil",
        "valuePlaceholder": "https://..."
      },
      "weather": {
        "label": "Clima",
        "defaultLabel": "Clima",
        "description": "Conecta una estación meteorológica de Nostr",
        "valuePlaceholder": "npub1... o naddr1... (#station-id opcional)"
      },
      "custom": {
        "label": "Personalizado",
        "description": "Crea cualquier campo personalizado",
        "valuePlaceholder": "Valor o URL"
      }
    },
    "warnings": {
      "audioWrongType": "Esta URL no apunta a un archivo de audio. Sube un archivo de audio o usa un enlace directo que termine en .mp3, .ogg, .wav, etc.",
      "audioUnknown": "Esta URL podría no funcionar como reproductor de audio. Para mejores resultados, sube un archivo o pega un enlace directo a un archivo de audio.",
      "imageWrongType": "Esta URL no apunta a una imagen. Sube una imagen o usa un enlace directo que termine en .jpg, .png, .webp, etc.",
      "imageUnknown": "Esta URL podría no mostrarse como imagen. Para mejores resultados, sube un archivo o pega un enlace directo a un archivo de imagen.",
      "videoWrongType": "Esta URL no apunta a un vídeo. Sube un vídeo o usa un enlace directo que termine en .mp4, .webm, .mov, etc.",
      "videoUnknown": "Esta URL podría no mostrarse como vídeo. Para mejores resultados, sube un archivo o pega un enlace directo a un archivo de vídeo."
    },
    "crop": {
      "profile": "Recortar foto de perfil",
      "banner": "Recortar portada"
    },
    "mobilePreview": "Vista previa de campos del perfil",
    "advanced": {
      "heading": "Avanzado",
      "botLabel": "Cuenta de bot",
      "botDescription": "Marca esta cuenta como automatizada"
    },
    "toast": {
      "uploaded": "Subido",
      "mediaUploaded": "Archivo multimedia subido",
      "uploadFailed": "Error al subir",
      "tryAgain": "Inténtalo de nuevo.",
      "profilePictureUpdated": "Foto de perfil actualizada",
      "bannerUpdated": "Portada actualizada",
      "profileSaved": "Perfil guardado",
      "saveFailed": "No se pudo guardar el perfil."
    },
    "key": {
      "heading": "Tu clave",
      "extensionBody": "Has iniciado sesión con una extensión del navegador (NIP-07). Tu clave secreta se guarda allí — gestiónala o expórtala desde la extensión.",
      "bunkerBody": "Has iniciado sesión con un firmante remoto (NIP-46). Tu clave secreta la guarda ese firmante y no se puede exportar desde {{appName}}.",
      "explainer": "Esta clave secreta controla tu cuenta en {{appName}}. Cualquiera que la tenga puede publicar haciéndose pasar por ti, editar tus campañas y publicar en tu nombre. Guárdala en un gestor de contraseñas o en un sitio al que solo tú tengas acceso. Tus fondos en Grin son aparte: viven en tu propia cartera Grin y su frase semilla, no en esta clave.",
      "warning": "NUNCA compartas tu clave secreta. Evita capturas de pantalla o pegarla en cualquier sitio que no sea un gestor de contraseñas. Si la compartes, otros podrán acceder a tu cuenta.",
      "aria": "Tu clave secreta",
      "copyAria": "Copiar clave secreta",
      "revealAria": "Mostrar clave secreta",
      "hideAria": "Ocultar clave secreta",
      "backupButton": "Respaldar clave",
      "saving": "Guardando…",
      "saved": "Clave secreta guardada",
      "savedToFile": "Tu clave secreta se guardó en la carpeta Documentos de tu dispositivo.",
      "saveFailed": "Error al guardar",
      "saveFailedDescription": "No se pudo guardar la clave. Cópiala manualmente.",
      "copyFailed": "Error al copiar",
      "copyFailedDescription": "No se pudo acceder al portapapeles. Muestra la clave y cópiala manualmente."
    }
  },
  "compose": {
    "placeholderDefault": "¿Qué está pasando?",
    "placeholderPoll": "Haz una pregunta…",
    "placeholderCountry": "¿Qué está pasando en {{country}}?",
    "placeholderCwReason": "Motivo de la advertencia (opcional)",
    "submitDefault": "¡Publicar!",
    "preview": {
      "edit": "Editar",
      "previewMode": "Vista previa"
    },
    "poll": {
      "addOption": "Añadir opción",
      "optionLabel": "Opción {{number}}",
      "singleChoice": "Una opción",
      "multipleChoice": "Varias opciones",
      "backToPost": "Volver a la publicación",
      "publishing": "Publicando...",
      "publish": "Publicar encuesta",
      "published": "¡Encuesta publicada!",
      "publishFailed": "No se pudo publicar la encuesta."
    },
    "voice": {
      "cancel": "Cancelar",
      "send": "Enviar",
      "sending": "Enviando...",
      "sentTitle": "¡Mensaje de voz enviado!",
      "sentBody": "Tu mensaje de voz se publicó.",
      "sendFailed": "No se pudo enviar el mensaje de voz.",
      "micDeniedTitle": "Acceso al micrófono denegado",
      "micDeniedBody": "Permite el acceso al micrófono para grabar mensajes de voz.",
      "voiceMessage": "Mensaje de voz"
    },
    "toolbar": {
      "attachFile": "Adjuntar archivo",
      "emojiGif": "Emoji / GIF",
      "more": "Más",
      "poll": "Encuesta",
      "spoiler": "Spoiler",
      "emoji": "Emoji",
      "stickers": "Stickers"
    },
    "submit": {
      "posting": "Publicando...",
      "uploadFailed": "Error al subir",
      "uploadFailedBody": "No se pudo subir el archivo.",
      "publishFailed": "No se pudo publicar la nota.",
      "posted": "¡Publicado!",
      "replyPublished": "Tu respuesta se publicó.",
      "quotePublished": "Tu cita se publicó.",
      "notePublished": "Tu nota se publicó."
    },
    "destination": {
      "label": "Publicar en",
      "ariaHelp": "¿Cuál es la diferencia entre publicaciones globales y de comunidad?",
      "ariaTrigger": "Destino de la publicación",
      "global": "Global",
      "globalExplainer": "Una publicación normal visible para todos en Nostr. Cualquiera puede verla.",
      "community": "Comunidad de tu país",
      "communityExplainer": "Se muestra en el feed local de ese país junto con publicaciones de vecinos. Ideal para temas comunitarios.",
      "chooseAnother": "Elegir otro país…",
      "searchPlaceholder": "Buscar países...",
      "noResults": "No se encontraron países.",
      "isDefault": "{{name}} es tu predeterminado",
      "globalIsDefault": "Global es tu predeterminado",
      "thisIsDefault": "Este es tu predeterminado",
      "setAsDefault": "Establecer como predeterminado",
      "defaultUpdated": "Predeterminado actualizado",
      "defaultUpdatedCountry": "Las nuevas publicaciones irán a {{name}} por defecto.",
      "defaultUpdatedGlobal": "Las nuevas publicaciones serán globales por defecto."
    }
  },
  "replyModal": {
    "title": {
      "newPoll": "Nueva encuesta",
      "newComment": "Nuevo comentario",
      "commentOnProfile": "Comentar en perfil",
      "replyToPost": "Responder a la publicación",
      "quotePost": "Citar publicación",
      "newPost": "Nueva publicación"
    },
    "placeholder": {
      "writeComment": "Escribe un comentario...",
      "writeReply": "Escribe una respuesta...",
      "addComment": "Agregar un comentario...",
      "whatsHappening": "¿Qué está pasando?"
    },
    "blueskyDisclaimer": "La gente en Bluesky no puede verte porque en realidad no están descentralizados."
  },
  "postDetail": {
    "repliesHeading": "Respuestas",
    "commentsHeading": "Comentarios",
    "replyCount_one": "respuesta",
    "replyCount_other": "respuestas",
    "commentCount_one": "comentario",
    "commentCount_other": "comentarios"
  },
  "noteCard": {
    "botAccount": "Cuenta de bot",
    "showLess": "Mostrar menos",
    "readMore": "Leer más",
    "reacted": "reaccionó",
    "reposted": "republicó",
    "voted": "votó",
    "stream": {
      "untitled": "Transmisión sin título",
      "live": "EN VIVO",
      "ended": "FINALIZADA",
      "planned": "PROGRAMADA",
      "unknown": "DESCONOCIDA"
    },
    "kindHeader": {
      "photo": {
        "action": "compartió una",
        "noun": "foto"
      },
      "encryptedMessage": {
        "action": "envió un",
        "noun": "mensaje cifrado"
      },
      "letter": {
        "action": "envió una",
        "noun": "carta"
      },
      "treasureHidCreated": "escondió un",
      "treasureHidUpdated": "actualizó un",
      "treasureNoun": "tesoro",
      "treasureFound": "encontró un",
      "deckCreated": "creó un",
      "deckUpdated": "actualizó un",
      "deckFallback": "compartió un",
      "deckNoun": "mazo",
      "emojiPackCreated": "creó un",
      "emojiPackUpdated": "actualizó un",
      "emojiPackFallback": "compartió un",
      "emojiPackNoun": "paquete de emojis",
      "groupCreated": "creó un",
      "groupUpdated": "actualizó un",
      "groupFallback": "compartió un",
      "groupNoun": "grupo",
      "campaignLaunched": "lanzó una",
      "campaignUpdated": "actualizó una",
      "campaignFallback": "compartió una",
      "campaignNoun": "campaña",
      "badgeAwarded": "otorgó una",
      "badgeNoun": "insignia",
      "badgeCreated": "creó una",
      "badgeDefUpdated": "actualizó una",
      "badgesNoun": "insignias",
      "badgesCreatedTheir": "creó sus",
      "badgesUpdatedTheir": "actualizó sus",
      "streamingLive": "está transmitiendo",
      "streamed": "transmitió",
      "zapstoreAppPublished": "publicó una app de Zapstore",
      "zapstoreAppUpdated": "actualizó una app de Zapstore",
      "zapstoreReleasePublished": "publicó una versión de Zapstore",
      "zapstoreReleaseUpdated": "actualizó una versión de Zapstore",
      "zapstoreAssetPublished": "publicó un activo de Zapstore",
      "appPublished": "publicó una app",
      "appUpdated": "actualizó una app",
      "repoCreated": "creó un",
      "repoUpdated": "actualizó un",
      "repoFallback": "compartió un",
      "repoNoun": "repositorio",
      "patchSubmitted": "envió un",
      "patchNoun": "parche",
      "prOpened": "abrió un",
      "prNoun": "pull request",
      "nipProposed": "propuso una",
      "nipUpdated": "actualizó una",
      "nipNoun": "NIP",
      "nsiteDeployed": "desplegó un",
      "nsiteRedeployed": "redesplegó un",
      "nsiteNoun": "nsite",
      "pledgeCreated": "creó una",
      "pledgeUpdated": "actualizó una",
      "pledgeNoun": "promesa",
      "followPackCreated": "creó un",
      "followPackUpdated": "actualizó un",
      "followPackFallback": "compartió un",
      "followPackNoun": "paquete de seguidos",
      "followSetCreated": "creó un",
      "followSetUpdated": "actualizó un",
      "followSetFallback": "compartió un",
      "followSetNoun": "conjunto de seguidos"
    }
  },
  "noteMoreMenu": {
    "title": "Opciones de la publicación",
    "viewPost": "Ver detalles de la publicación",
    "viewEventJson": "Ver JSON del evento",
    "bookmark": "Marcador",
    "removeBookmark": "Quitar marcador",
    "addToList": "Agregar a lista",
    "addToSidebar": "Añadir a la barra lateral",
    "removeFromSidebar": "Quitar de la barra lateral",
    "pinProfile": "Fijar en perfil",
    "unpinProfile": "Quitar de fijados del perfil",
    "pinCountry": "Fijar en feed del país",
    "unpinCountry": "Quitar de fijados del país",
    "muteConversation": "Silenciar conversación",
    "muteCampaign": "Silenciar campaña",
    "mute": "Silenciar a @{{name}}",
    "unmute": "Dejar de silenciar a @{{name}}",
    "report": "Reportar a @{{name}}",
    "reportToGroup": "Reportar publicación al grupo",
    "removeFromGroup": "Quitar del grupo",
    "delete": "Eliminar publicación",
    "close": "Cerrar",
    "encryptedContent": "Contenido cifrado",
    "toast": {
      "removedFromSidebar": "Eliminado de la barra lateral",
      "addedToSidebar": "Añadido a la barra lateral",
      "pinned": "Fijado en el perfil",
      "unpinned": "Quitado del perfil",
      "pinFailed": "No se pudo actualizar las publicaciones fijadas",
      "countryPinned": "Fijado al feed del país",
      "countryUnpinned": "Quitado del feed del país",
      "countryPinFailed": "No se pudo fijar al feed del país",
      "countryUnpinFailed": "No se pudo quitar del feed del país",
      "convoMuted": "Conversación silenciada",
      "convoMuteFailed": "No se pudo silenciar la conversación",
      "muted": "Silenciaste a @{{name}}",
      "unmuted": "Ya no silencias a @{{name}}",
      "muteFailed": "No se pudo silenciar al usuario",
      "unmuteFailed": "No se pudo quitar el silencio",
      "postDeleted": "Publicación eliminada",
      "deleteFailed": "No se pudo eliminar la publicación",
      "eventBroadcast": "Evento transmitido a los relays",
      "broadcastFailed": "No se pudo transmitir el evento",
      "copied": "{{label}} copiado al portapapeles"
    },
    "deleteDialog": {
      "title": "¿Eliminar publicación?",
      "description": "Esto solicitará la eliminación de los relays. Algunos relays pueden seguir guardando una copia del evento original. Esta acción no se puede deshacer.",
      "cancel": "Cancelar",
      "delete": "Eliminar",
      "deleting": "Eliminando..."
    },
    "jsonDialog": {
      "title": "Detalles del evento",
      "eventId": "ID del evento",
      "eventIdLabel": "ID del evento",
      "rawJson": "JSON crudo",
      "eventJsonLabel": "JSON del evento",
      "broadcast": "Transmitir evento",
      "broadcasting": "Transmitiendo..."
    }
  },
  "policyPages": {
    "privacy": {
      "seoTitle": "Política de privacidad",
      "seoDescription": "Política de privacidad de {{appName}} — cómo se maneja tu información en la red Nostr",
      "title": "Política de privacidad"
    },
    "csae": {
      "seoTitle": "Política de protección infantil",
      "seoDescription": "Política de {{appName}} sobre el abuso y la explotación sexual infantil (CSAE) — nuestro compromiso con la seguridad infantil en la red Nostr",
      "title": "Política de protección infantil"
    },
    "donorGuide": {
      "seoTitle": "Guía para donantes",
      "seoDescription": "Cómo funciona donar en {{appName}} y cómo proteger tu privacidad.",
      "title": "Guía para donantes",
      "subtitle": "Grin real, enviado directamente. Todo el flujo en una página corta."
    },
    "recipientGuide": {
      "seoTitle": "Guía para receptores",
      "seoDescription": "Cómo recibir donaciones en {{appName}} y retirar fondos de forma privada.",
      "title": "Guía para receptores",
      "subtitle": "Elige qué aceptar, recibe donaciones, retira."
    },
    "changelog": {
      "seoTitle": "Notas de versión",
      "seoDescription": "Novedades en {{appName}}",
      "title": "Notas de versión",
      "loadError": "No se pudo cargar el registro de cambios.",
      "empty": "Aún no hay versiones.",
      "pastReleases": "Versiones anteriores",
      "showLess": "Mostrar menos",
      "readMore": "Leer más",
      "preReleaseLabel": "Compilación previa al lanzamiento",
      "preReleaseBody": "Esta compilación contiene cambios aún no incluidos en una versión.",
      "viewUnreleased": "Ver cambios sin publicar",
      "categories": {
        "Added": "Añadido",
        "Changed": "Cambiado",
        "Deprecated": "Obsoleto",
        "Removed": "Eliminado",
        "Fixed": "Corregido",
        "Security": "Seguridad"
      }
    }
  },
  "about": {
    "seoTitle": "Acerca de",
    "seoDescription": "Cómo funciona {{appName}}: conectando a receptores con financiamiento imparable a través de Grin y Nostr.",
    "hero": {
      "eyebrow": "Sobre {{appName}}",
      "headlinePart1": "Cómo",
      "headlineAppName": "{{appName}}",
      "headlinePart2": "funciona.",
      "body": "{{appName}} es una plataforma de donaciones resistente a la censura construida sobre Nostr y Grin. Sin cuentas bancarias congeladas. Sin cierres corporativos. Solo apoyo directo de personas que creen en tu causa.",
      "trustChips": {
        "decentralized": "Descentralizado",
        "openSource": "Código abierto",
        "censorshipResistant": "Resistente a la censura"
      },
      "ctaDonor": "Lee la guía para donantes",
      "ctaRecipient": "Lee la guía para receptores",
      "sampleCard": {
        "countryName": "Venezuela",
        "public": "Pública",
        "imageAlt": "Venezolanos en una vigilia con velas sosteniendo un letrero que dice 'Liberen a todos los presos políticos · ¡Cese la represión!'",
        "orgName": "Venezolanos Libres",
        "title": "Libera a los presos políticos de Venezuela",
        "description": "Defensa legal y apoyo familiar para más de 800 presos políticos detenidos por el régimen de Maduro.",
        "raised": "recaudados",
        "ofGoal": "de $10,000",
        "donorsLine": "247 donantes · 12 países",
        "donate": "Donar Grin"
      }
    },
    "howItWorks": {
      "eyebrow": "Cómo funciona",
      "title": "Tres pasos. Sin intermediarios.",
      "lede": "Sin bancos, sin fronteras, sin permisos.",
      "step1": {
        "imageAlt": "Una llave criptográfica naranja brillante flotando en el espacio oscuro, simbolizando la identidad autosoberana",
        "title": "Los receptores se registran en segundos.",
        "body": "Sin banco. Sin papeleo. Sin aprobación. Un receptor crea una cuenta en {{appName}}, añade a su campaña la dirección de recepción de su propia cartera Grin y puede aceptar apoyo desde cualquier parte del mundo."
      },
      "step2": {
        "imageAlt": "Una moneda Grin brillante volando por el aire sobre un mapa oscuro del mundo, simbolizando un pago transfronterizo instantáneo",
        "title": "Los donantes envían Grin directamente.",
        "body": "Los donantes pagan desde cualquier cartera Grin, ya sea a través del checkout de GoblinPay de la campaña o directamente a su dirección Slatepack grin1. {{appName}} nunca toca el dinero. La transacción va de la cartera del donante a la cartera del receptor."
      },
      "step3": {
        "imageAlt": "Una mano abierta con luz naranja cálida irradiando desde la palma, simbolizando recibir y autonomía",
        "title": "El apoyo llega a donde importa.",
        "body": "Los fondos llegan directamente al receptor. Mantienen la custodia, mantienen el control. Mueven, intercambian o gastan; las guías a continuación explican cómo hacerlo de forma privada y segura."
      }
    },
    "faq": {
      "eyebrow": "Preguntas",
      "title": "Preguntas frecuentes.",
      "chapter1": {
        "label": "Primeros pasos",
        "description": "Qué es Eranos, quién lo construyó y cuánto cuesta."
      },
      "chapter2": {
        "label": "Donaciones en Grin",
        "description": "Cómo funcionan los pagos, por qué Grin, qué permanece privado y sus contrapartidas."
      },
      "chapter3": {
        "label": "Sobre Nostr",
        "description": "El protocolo abierto sobre el que se construye Eranos y cómo funciona tu cuenta."
      }
    },
    "guides": {
      "eyebrow": "Guías",
      "title": "Elige de qué lado estás.",
      "lede": "Tanto si envías como si recibes, aprende a hacerlo de forma segura y privada.",
      "donor": {
        "imageAlt": "Manifestantes con capucha marchando por una calle europea al anochecer, sosteniendo bengalas rojas encendidas y pancartas con 'FREEDOM' y 'LIBERTAD'",
        "role": "Para donantes",
        "title": "Apoya causas que los bancos no apoyarán.",
        "description": "Envía Grin directamente a receptores y movimientos en cualquier parte del mundo, sin pedir permiso a un procesador de pagos.",
        "bullet1": "Paga desde cualquier cartera Grin, como Goblin o grin-wallet.",
        "bullet2": "Las donaciones llegan directamente al receptor. Sin custodio, sin intermediario.",
        "cta": "Lee la guía para donantes"
      },
      "recipient": {
        "imageAlt": "Vista aérea de miles de manifestantes reunidos de noche en una plaza con bengalas rojas encendidas, bajo una pancarta proyectada 'UNITY IN DARKNESS' en los edificios circundantes",
        "role": "Para receptores",
        "title": "Recibe fondos sin pedir permiso.",
        "description": "Recibe apoyo directamente de personas que creen en tu causa. Sin cuenta bancaria, sin formulario de solicitud, sin empresa en medio.",
        "bullet1": "Empieza a recibir donaciones tan pronto como te registres.",
        "cta": "Lee la guía para receptores"
      },
      "stillStuck": "¿Aún tienes dudas?",
      "followTeam": "Sigue a Team Soapbox en Nostr",
      "stillStuckSuffix": ". Allí resolvemos preguntas."
    }
  },
  "faq": {
    "categories": {
      "getting-started": {
        "label": "Sobre Eranos"
      },
      "payments": {
        "label": "Donaciones en Grin en Eranos"
      },
      "about-nostr": {
        "label": "Sobre Nostr"
      },
      "legacy": {
        "label": "Legado"
      }
    },
    "items": {
      "what-is-ditto": {
        "question": "¿Qué es {{appName}}?",
        "answer": [
          "{{appName}} es una plataforma para enviar donaciones en Grin directamente a los receptores. No hay intermediario, ni procesador de pagos, ni cuenta que pueda ser congelada.",
          "{{appName}} está construido sobre Nostr, por lo que tu identidad no está atada a este sitio: es tuya."
        ]
      },
      "cost-to-use": {
        "question": "¿{{appName}} tiene algún costo?",
        "answer": [
          "**No.** {{appName}} no cobra ninguna comisión de plataforma. Cuando donas, pagas solo la pequeña comisión de la red Grin que va a los mineros, no a nosotros."
        ]
      },
      "who-made-this": {
        "question": "¿Quién creó {{appName}}?",
        "answer": [
          "{{appName}} está hecho por [Soapbox](https://soapbox.pub), un equipo de código abierto que crea herramientas para el ecosistema Nostr, en colaboración con el [World Liberty Congress](https://worldlibertycongress.org/)."
        ]
      },
      "censorship-resistance": {
        "question": "¿Qué significa aquí \"resistente a la censura\"?",
        "answer": [
          "Ninguna empresa se interpone entre un donante y un receptor. {{appName}} no retiene los fondos y no puede congelar la dirección.",
          "Mientras la red Grin siga funcionando, las donaciones pueden enviarse y recibirse. Que el propio {{appName}} se quedara fuera de línea no las detendría."
        ]
      },
      "why-onchain": {
        "question": "¿Por qué Grin?",
        "answer": [
          "Grin es dinero digital con privacidad incorporada. Su diseño Mimblewimble no pone direcciones en la cadena y oculta todos los importes, así que las donaciones no dejan el rastro público que dejan la mayoría de las criptomonedas.",
          "En {{appName}}, las campañas reciben Grin de dos maneras: a través de GoblinPay (escaneas un QR y el pago viaja a la campaña como un slatepack cifrado a través de Nostr) o directamente a la dirección Slatepack grin1 de la campaña desde cualquier cartera Grin. En ambos casos, los fondos llegan a una cartera que la campaña controla.",
          "Los totales de las campañas se mantienen honestos sin renunciar a esa privacidad: un donante puede publicar un comprobante de pago y {{appName}} lo verifica contra un nodo de Grin para confirmar que la transacción está realmente en la cadena. El comprobante revela el importe y el kernel de la transacción, no quién pagó. Las guías para donantes y receptores explican los detalles."
        ]
      },
      "why-not-rotating-addresses": {
        "question": "¿Por qué {{appName}} no procesa las donaciones en su propio servidor?",
        "answer": [
          "Hacerlo exigiría que {{appName}} actuara como un intermediario que mueve dinero, tomando primero la custodia del Grin y reenviándolo después al receptor.",
          "Eso nos convertiría en un transmisor de dinero, sujeto a las regulaciones que eso conlleva, y en un único punto de fallo: apaga el servidor de {{appName}} y habrás apagado todas las donaciones que pasan por él.",
          "En cambio, las donaciones viajan de la cartera Grin del donante a la cartera Grin de la campaña. Cada campaña publica su propia dirección Slatepack grin1 o su checkout de GoblinPay, {{appName}} nunca toca los fondos y la plataforma en sí no puede apagarse para censurar a nadie. Y como Grin no pone direcciones en la cadena, las donaciones son imposibles de vincular por defecto, sin que nadie retenga el dinero en medio."
        ]
      },
      "why-not-other-crypto": {
        "question": "¿Por qué no Bitcoin, Monero u otra criptomoneda?",
        "answer": [
          "Bitcoin es la criptomoneda más adoptada, pero su libro contable es público: una donación a una dirección conocida expone el importe, la hora y la parte que envía, para siempre. Añadir privacidad encima significa herramientas extra, pasos extra y más formas de equivocarse. Para donaciones a causas sensibles, ese es el valor por defecto equivocado.",
          "Grin hace que el camino privado sea el único camino. Mimblewimble no deja direcciones en la cadena y oculta todos los importes, así que los donantes no necesitan herramientas especiales para estar seguros. Al mismo tiempo, los comprobantes de pago de Grin permiten a una campaña mostrar un total verificado y comprobado en la cadena sin exponer a sus donantes. Monero también ofrece una privacidad sólida, pero los comprobantes de pago de Grin encajan con el modelo de donaciones verificadas de {{appName}}, y su cadena ligera mantiene simple la verificación."
        ]
      },
      "what-is-nostr": {
        "question": "¿Qué es Nostr?",
        "answer": [
          "Nostr es una red abierta donde **tú** eres dueño de tu cuenta, no una empresa. Tu identidad es una clave criptográfica que tú controlas, no un nombre de usuario en el servidor de otra persona.",
          "En {{appName}}, esa misma clave firma tus campañas y los recibos de donación que construyen tu total verificado, y por eso tu identidad y tus campañas funcionan en cualquier lugar de Nostr sin registrarte con nadie."
        ]
      },
      "why-login-different": {
        "question": "¿Por qué mi inicio de sesión es tan distinto y largo?",
        "answer": [
          "En lugar de un usuario y una contraseña controlados por una empresa, Nostr usa un par de claves criptográficas.",
          "Tu \"clave pública\" (empieza por **npub**) es tu nombre de usuario. Tu \"clave secreta\" (empieza por **nsec**) es tu contraseña. La cadena larga es lo que hace que sea prácticamente imposible adivinarla."
        ]
      },
      "lose-secret-key": {
        "question": "¿Qué pasa si pierdo mi clave secreta?",
        "answer": [
          "**No hay botón de \"olvidé mi contraseña\".** Nadie puede restablecerla por ti. Si la pierdes, tu cuenta y tus campañas desaparecen para siempre. (Tus fondos en Grin viven en tu propia cartera Grin y su frase semilla, que es independiente de esta clave.)",
          "**Guarda tu clave secreta en un lugar seguro ahora mismo.** Para consejos, lee [Cómo gestionar tus claves de Nostr](https://soapbox.pub/blog/managing-nostr-keys)."
        ]
      },
      "manage-secret-key": {
        "question": "¿Puedo guardar mi clave secreta en el gestor de contraseñas de mi teléfono?",
        "answer": [
          "Sí. Puedes guardarla en el gestor de contraseñas de tu dispositivo (Llavero de iCloud, 1Password, Bitwarden, etc.). En iPhone, guardarla en Contraseñas te permite usar Face ID o Touch ID para iniciar sesión.",
          "Para una guía completa, consulta [Cómo gestionar tus claves de Nostr](https://soapbox.pub/blog/managing-nostr-keys)."
        ]
      },
      "fyp": {
        "question": "¿Cómo funciona el feed?",
        "answer": [
          "Tu feed muestra campañas y publicaciones de las personas a las que sigues. No hay un algoritmo decidiendo qué ves."
        ]
      },
      "what-are-relays": {
        "question": "¿Qué son los relés?",
        "answer": [
          "Los relés son los servidores que almacenan y entregan los eventos de Nostr: publicaciones, recibos de donación, información de perfil. Los valores por defecto funcionan de inmediato; puedes añadir o quitar relés en Ajustes > Red."
        ]
      },
      "what-are-blossom": {
        "question": "¿Qué son los servidores Blossom?",
        "answer": [
          "Los servidores Blossom guardan los archivos multimedia (imágenes de campañas, fotos de perfil) cuando los subes. Puedes gestionar qué servidores utilizas en Ajustes > Red."
        ]
      },
      "report-content": {
        "question": "¿Cómo denuncio contenido dañino?",
        "answer": [
          "Toca el menú de tres puntos (**...**) en cualquier publicación y selecciona \"Denunciar\". Desde el mismo menú puedes silenciar o bloquear usuarios."
        ]
      },
      "vs-mastodon-bluesky": {
        "question": "¿En qué se diferencia Nostr de Mastodon o Bluesky?",
        "answer": [
          "En Mastodon, tu cuenta vive en un servidor concreto. En Bluesky, la mayoría de las cuentas dependen de una sola empresa. En Nostr, tu identidad es una clave que tú controlas, y tu perfil y tus campañas te acompañan a cualquier aplicación de Nostr."
        ]
      },
      "profile-fields": {
        "question": "¿Qué son los campos del perfil?",
        "answer": [
          "Los campos del perfil te permiten añadir información extra a tu perfil: enlaces, direcciones de wallet, música, fotos, vídeos."
        ]
      }
    }
  },
  "guides": {
    "shared": {
      "tldrEyebrow": "Versión corta"
    },
    "donor": {
      "tldr": {
        "lede": "Dona desde cualquier cartera Grin: escanea el QR de GoblinPay de la campaña o paga a su dirección Slatepack grin1. Grin es privado por defecto, así que tu donación no deja un rastro público.",
        "nextActions": [
          "Paga desde cualquier cartera Grin",
          "Sin intermediarios, sin periodos de retención",
          "Privado por defecto"
        ]
      },
      "flow": {
        "heading": "Cómo fluye una donación",
        "steps": {
          "openCampaign": {
            "title": "Abre la campaña",
            "body": "Toca Donar y elige un camino. GoblinPay: introduce un importe, escanea el QR con una cartera Goblin y el pago viaja a la campaña como un slatepack cifrado a través de Nostr, con confirmación automática. Dirección Grin: paga a la dirección Slatepack grin1 de la campaña desde cualquier cartera Grin; tu cartera se encarga del transporte, a través de Tor o intercambiando slatepacks."
          },
          "arrivesDirectly": {
            "title": "Llega directamente",
            "body": "Los fondos se liquidan directamente en la cartera de la campaña. {{appName}} no los retiene ni los redirige. Si quieres que tu aporte cuente para el total público de la campaña, publica después el comprobante de pago o el recibo; revela el importe, no tu identidad."
          }
        }
      },
      "publicVisible": {
        "title": "Qué es público y qué no",
        "body": "La cadena de Grin no tiene direcciones y oculta todos los importes, así que los observadores externos no pueden ver quién donó a una campaña ni cuánto. El total de la campaña en {{appName}} se construye solo con los comprobantes y recibos que los donantes deciden publicar, y cada uno revela únicamente el importe y el kernel de la transacción."
      },
      "privacy": {
        "heading": "Donar de forma privada",
        "intro": "En la cadena, Grin ya te protege: sin direcciones, importes ocultos, sin lista pública de donantes. Lo que todavía puede identificarte es cómo adquiriste el Grin y qué decides publicar. Si tu riesgo es alto, estos pasos merecen la pena. Elige uno o combínalos.",
        "options": {
          "nonKyc": {
            "name": "Adquiere Grin sin KYC",
            "purpose": "Mínalo o cómpralo de persona a persona, para que las monedas no estén vinculadas a tu documento de identidad desde el principio."
          },
          "coinjoin": {
            "name": "Omite el recibo público",
            "purpose": "Publicar un comprobante de pago vincula la donación con tu identidad de Nostr. No lo publiques y la donación queda entre tú y la campaña."
          }
        }
      },
      "consumerApps": {
        "title": "Los exchanges saben quién eres",
        "body": "Los exchanges que listan GRIN verifican tu identidad y guardan registros de cada retiro. La cadena pública no mostrará tu donación, pero el exchange sabe adónde fue su retiro. Si eso importa en tu situación, retira primero a una cartera que controles y dona desde ahí."
      }
    },
    "recipient": {
      "tldr": {
        "lede": "Publica una dirección Slatepack grin1 de una cartera Grin que controles, o configura un checkout de GoblinPay. Las donaciones llegan de cartera a cartera. {{appName}} nunca retiene tus fondos.",
        "nextActions": [
          "Consigue una cartera Grin y una dirección",
          "Añádela a tu campaña",
          "Haz una copia de seguridad de la frase semilla de tu cartera"
        ]
      },
      "howReceiving": {
        "heading": "Cómo funciona la recepción",
        "paragraphs": [
          "Las donaciones en {{appName}} viajan directamente de la cartera Grin del donante a la tuya. Al crear una campaña, eliges cómo recibir:",
          "**Una dirección Slatepack grin1.** Cualquier cartera Grin (Goblin, grin-wallet) te da una. Los donantes le pagan desde cualquier cartera Grin, de forma interactiva a través de Tor o intercambiando slatepacks; las carteras se encargan del transporte.",
          "**GoblinPay.** Un checkout que permite a los donantes pagar dentro de la aplicación: escanean un QR y el pago viaja hacia ti como un slatepack cifrado y envuelto (gift wrap) a través de Nostr, con confirmación automática y un recibo firmado al final.",
          "**Ambos.** Los donantes con una cartera Goblin tienen el flujo de un solo escaneo, y todos los demás pagan a tu dirección Slatepack desde la cartera Grin que usen. Ofrecer ambos te mantiene abierto a todos los donantes.",
          "La privacidad es el valor por defecto en cualquier caso. El diseño Mimblewimble de Grin no pone direcciones en la cadena y oculta todos los importes, así que tus donaciones nunca aparecen en ningún libro contable público que cualquiera pueda consultar.",
          "El total verificado de tu campaña cuenta una donación cuando su comprobante de pago o su recibo de GoblinPay se publica y se comprueba: la firma del receptor debe verificarse y el kernel de la transacción debe estar confirmado en la cadena contra un nodo de Grin. Cada comprobante publicado revela el importe y el kernel, nada sobre el donante."
        ]
      },
      "whatEveryoneSees": {
        "heading": "Qué puede ver todo el mundo",
        "paragraphs": [
          "Los visitantes ven la página de tu campaña, su objetivo y el total verificado construido con los comprobantes y recibos que los donantes decidieron publicar. Cada uno de ellos revela un importe y un kernel de transacción, no la identidad de un donante.",
          "Nadie puede consultar tu saldo ni tu historial de donaciones en la cadena. No hay ninguna dirección que inspeccionar ni importes que leer; más allá de los recibos publicados, la gente solo ve lo que tú compartas sobre el progreso de la campaña."
        ]
      },
      "movePromptly": {
        "heading": "Tu cartera, tu responsabilidad",
        "steps": {
          "sweep": {
            "title": "Las donaciones llegan a una cartera que tú controlas",
            "body": "{{appName}} nunca gestiona una cartera por ti. Los fondos llegan a la cartera Grin cuya dirección o checkout de GoblinPay publicaste, así que la custodia es tuya desde la primera donación. Eso también significa que la responsabilidad es tuya: cualquiera que tenga la frase semilla de tu cartera tiene los fondos, y sin ella los fondos son irrecuperables."
          },
          "dontSit": {
            "title": "Guarda la frase semilla sin conexión",
            "body": "Especialmente en campañas de alto valor, guarda la frase semilla de tu cartera Grin sin conexión (en papel, en un soporte metálico de respaldo o en un gestor de contraseñas en un dispositivo dedicado). La semilla es la cartera: asegura las palabras y ya tienes almacenamiento en frío."
          }
        }
      },
      "cashout": {
        "heading": "Convertir a efectivo",
        "intro": "La cadena de Grin no expondrá tus donaciones, así que la principal decisión de privacidad es cómo conviertes a moneda local. Cualquier servicio que verifique tu identidad sabrá qué conviertes a través de él. Las opciones de abajo tienen distintas contrapartidas.",
        "options": {
          "coinjoin": {
            "name": "Exchanges",
            "purpose": "El camino más simple hacia el dinero fiat. Cuenta con KYC: el exchange conoce tu identidad y el importe que conviertes a través de él."
          },
          "peerToPeer": {
            "name": "De persona a persona",
            "purpose": "Intercambia Grin por dinero fiat directamente con otra persona o a través de un intermediario extrabursátil (OTC). Sin plataforma en medio."
          },
          "spendDirectly": {
            "name": "Gástalo directamente",
            "purpose": "Gasta Grin como dinero con comercios y servicios que lo acepten, sin convertirlo antes a efectivo."
          }
        }
      },
      "tumblers": {
        "title": "No se necesitan mezcladores",
        "body": "En Grin no hay tumblers ni servicios de mezcla en los que confiar, y no necesitas ninguno. Mimblewimble oculta los importes y no deja direcciones en la cadena, así que las donaciones son privadas por defecto."
      }
    }
  }
}
