Modo oscuro ----------- Selector de tres estados (automatico -> claro -> oscuro), no un interruptor de dos: "automatico" es el estado de partida y sigue al sistema operativo mientras no se toque. La eleccion explicita se guarda en localStorage y gana sobre el sistema en ambos sentidos. Un script `is:inline` en el <head> aplica `data-theme` antes del primer pintado, asi que no hay destello blanco. Hubo que redefinir las RAMPAS de la paleta, no solo la capa semantica: casi todos los componentes (cabecera, tarjeta del formulario, menu, pie, botones, chips) leen `--color-palette-*` directamente, y tocando solo `--color-background`/`--color-text` la cabecera y la tarjeta se quedaban en lavanda claro sobre fondo oscuro. Las rampas de severidad son la excepcion deliberada: de esas solo se invierten el tinte de fondo (-10) y el texto que va encima (-90), porque los rellenos -30/-50/-70 son la senal de gravedad y moverlos rompe el contraste del distintivo y el orden error < critico. Cuatro excepciones se escriben como reglas de componente porque un mismo token hace dos trabajos opuestos: texto sobre relleno amarillo, el chip de filtro (que fijaba `background: white` a pelo), el selector de idioma (idem, mas su flecha SVG incrustada con trazo oscuro) y el logotipo, que es un mapa de bits en base64 dentro de un .svg y por tanto no tiene ningun `fill` que redefinir -- se le da la vuelta con invert + hue-rotate, que conserva el tono del corazon rosa y de la marca de afnic. Verificado con un barrido automatico de contraste sobre 7 paginas x 2 temas: 0 elementos por debajo de 3:1. El tema claro queda byte a byte como estaba. "Ultimos analisis" ------------------ Llevaba vacio desde siempre por una causa distinta de la que se creia. El bloque lleva `define:vars`, lo que obliga a Astro a emitirlo como script CLASICO en vez de como modulo; el `import.meta.env.BASE_URL` que tenia dentro es entonces un error de sintaxis que aborta el fichero entero antes de la primera linea, asi que el fetch nunca llegaba a ejecutarse. El parche del 2026-09-15 (repartir copias del JSON a cada carpeta de idioma desde el cron) atacaba un sintoma que no existia: el 404 de /es/recent-scans.json era real, pero lo provocaba la comprobacion manual, no la pagina. Quitadas las dos apariciones de `import.meta` del bloque, la lista se pinta en los 11 idiomas leyendo la ruta absoluta /recent-scans.json, y el reparto por idioma ya no hace falta.
96 lines
4.5 KiB
JSON
96 lines
4.5 KiB
JSON
{
|
|
"startTestNav": "Iniciar proba",
|
|
"faqNav": "Preguntas frecuentes",
|
|
"welcome": "Benvido a Zonemaster",
|
|
"startTestTitle": "Comproba o estado do teu dominio",
|
|
"runTestTitle": "Proba o teu dominio",
|
|
"faqTitle": "Preguntas frecuentes",
|
|
"resultTitle": "Resultado da proba",
|
|
"langLabel": "Cambiar de idioma",
|
|
"startTestBtn": "Executar a proba",
|
|
"runningTest": "Executando a proba...",
|
|
"menu": "Menú",
|
|
"close": "Pechar",
|
|
"domain": "Dominio",
|
|
"domainName": "Nome de dominio",
|
|
"showOptions": "Amosar as opcións",
|
|
"hideOptions": "Agochar as opcións",
|
|
"noticeHeading": "Atención! Máis información sobre a proba sen delegación",
|
|
"noticeLink": "/gl/faq/#undelegated",
|
|
"noticeText": "Que é unha proba dun dominio sen delegación?",
|
|
"nameServers": "Servidores de nomes",
|
|
"nameserver": "Servidor de nomes {index}",
|
|
"deleteNameserver": "Eliminar o servidor de nomes {index}",
|
|
"name": "Nome",
|
|
"addressOptional": "Enderezo (opcional)",
|
|
"fetchNameservers": "Obter os servidores de nomes da zona superior",
|
|
"noNameservers": "Non se atoparon servidores de nomes na zona superior",
|
|
"fetching": "Obtendo...",
|
|
"DSRecords": "Rexistros DS",
|
|
"dsRecord": "Rexistro DS {index}",
|
|
"deleteDSRecord": "Eliminar o rexistro DS {index}",
|
|
"fetchDSRecords": "Obter os DS da zona superior",
|
|
"noDSRecords": "Non se atoparon rexistros DS na zona superior",
|
|
"keytag": "Etiqueta da chave",
|
|
"algorithm": "Algoritmo",
|
|
"digestType": "Tipo de resumo",
|
|
"digest": "Resumo",
|
|
"deleteRow": "Eliminar a fila",
|
|
"general": "Xeral",
|
|
"disable": "Desactivar",
|
|
"only": "só",
|
|
"ipv4AndIpv6": "IPv4 e IPv6",
|
|
"resetForm": "Restablecer o formulario",
|
|
"programVersions": "Versións do programa",
|
|
"sourceCode": "Código fonte",
|
|
"documentation": "Documentación",
|
|
"copyright": "Dereitos de autor © AFNIC e The Swedish Internet Foundation. Todos os dereitos reservados",
|
|
"infoHeading1": "Que é Zonemaster?",
|
|
"infoPreamble": "Fai unha revisión completa do teu dominio. Zonemaster axúdache a avaliar o seu estado.",
|
|
"infoTextParagraph1": "Cando envías un dominio a Zonemaster, a ferramenta examina o seu estado de arriba abaixo na árbore DNS.",
|
|
"infoTextStrong": "Zonemaster realiza moitas probas,",
|
|
"infoTextParagraph2": "como comprobar as sinaturas DNSSEC, o acceso aos distintos servidores e a validez dos enderezos IP.",
|
|
"infoHeading2": "Unha nota sobre o DNS",
|
|
"infoTextParagraph3": "O sistema de nomes de dominio asocia nomes de dominio con enderezos IP.",
|
|
"img1Alt": "Unha persoa mirando un computador",
|
|
"img2Alt": "O mundo conectado por unha rede",
|
|
"faqPreamble": "Aquí atoparás respostas a preguntas habituais sobre Zonemaster.",
|
|
"faqTextParagraph1": "Se aínda non atopas a información que buscas, podes contactar co equipo de Zonemaster mediante a",
|
|
"faqParagraph1Link": "lista de correo de usuarios, o xestor de incidencias ou o enderezo electrónico de contacto.",
|
|
"history": "Historial",
|
|
"testHistory": "Historial de probas",
|
|
"undelegated": "Sen delegación",
|
|
"delegated": "Delegado",
|
|
"historyAll": "Todo",
|
|
"all": "Todo",
|
|
"info": "Información",
|
|
"notice": "Aviso",
|
|
"warning": "Advertencia",
|
|
"error": "Erro",
|
|
"critical": "Crítico",
|
|
"expandAll": "Despregar todos os módulos",
|
|
"collapseAll": "Pregar todos os módulos",
|
|
"search": "Buscar",
|
|
"searchInText": "Buscar texto nas mensaxes",
|
|
"testResultFor": "Resultado da proba de",
|
|
"createdOn": "Creado o",
|
|
"filterSeverityLevels": "Filtrar os niveis de gravidade",
|
|
"profile": "Perfil",
|
|
"tldURL": "URL do TLD",
|
|
"exportResult": "Exportar",
|
|
"exportJson": "JSON",
|
|
"exportHtml": "HTML",
|
|
"exportCsv": "CSV",
|
|
"exportText": "Texto",
|
|
"share": "Compartir",
|
|
"dnsIntroNav": "Que é o DNS",
|
|
"dnsRecordsNav": "Rexistros DNS",
|
|
"recentScansTitle": "Últimas análises",
|
|
"recentScansEmpty": "Aínda non hai análises recentes para amosar.",
|
|
"recentScansError": "Agora mesmo non se poden cargar as análises recentes.",
|
|
"cloudhostTitle": "DNS resiliente para clientes de CloudHost.es",
|
|
"cloudhostText": "O DNS round-robin pode repartir consultas entre varios enderezos, mentres que o anycast permite anunciar o mesmo servizo DNS desde distintas localizacións de rede. CloudHost.es pode axudar os seus clientes a valorar estas opcións segundo a súa arquitectura.",
|
|
"adSlotLabel": "Espazo publicitario reservado",
|
|
"themeToggle": "Cambiar tema"
|
|
}
|