Files
granja-infra 5cc7935b54 feat(zonemaster.es): modo oscuro de tres estados y arreglo real de "Ultimos analisis"
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.
2026-09-21 21:52:45 +02:00

88 lines
5.2 KiB
JSON

{
"startTestNav": "Démarrer un test",
"faqNav": "FAQ",
"welcome": "Bienvenue sur Zonemaster",
"startTestTitle": "Vérifiez l'état de votre domaine",
"runTestTitle": "Testez votre domaine",
"faqTitle": "Questions fréquentes",
"resultTitle": "Résultat du test",
"langLabel": "Changer de langue",
"startTestBtn": "Lancer un test",
"runningTest": "Test en cours...",
"menu": "Menu",
"close": "Fermer",
"domain": "Domaine",
"domainName": "Nom de domaine",
"showOptions": "Afficher les options",
"hideOptions": "Masquer les options",
"noticeHeading": "Info ! Plus d'infos sur le test non délégué",
"noticeLink": "/fr/faq/#undelegated",
"noticeText": "Qu'est-ce qu'un test de domaine non délégué ?",
"nameServers": "Serveurs de noms",
"nameserver": "Serveur de noms {index}",
"deleteNameserver": "Supprimer le serveur de noms {index}",
"name": "Nom",
"addressOptional": "Adresse (facultatif)",
"fetchNameservers": "Récupérer les serveurs de noms à partir de la zone parente",
"noNameservers": "Aucun serveur de noms trouvé dans la zone parent",
"fetching": "Récupération en cours...",
"DSRecords": "Enregistrements DS",
"dsRecord": "Enregistrement DS {index}",
"deleteDSRecord": "Supprimer l'enregistrement DS {index}",
"fetchDSRecords": "Récupérer les DS à partir de la zone parent",
"noDSRecords": "Aucun enregistrement DS trouvé dans la zone parent",
"keytag": "Identifiant de clé",
"algorithm": "Algorithme",
"digestType": "Type de condensat",
"digest": "Condensat",
"deleteRow": "Supprimer la ligne",
"general": "Général",
"disable": "Désactiver",
"only": "seulement",
"ipv4AndIpv6": "IPv4 et IPv6",
"resetForm": "Réinitialiser le formulaire",
"programVersions": "Versions du programme",
"sourceCode": "Code source",
"documentation": "Documentation",
"copyright": "Copyright © AFNIC et The Swedish Internet Foundation. Tous droits réservés",
"infoHeading1": "Qu'est-ce que Zonemaster ?",
"infoPreamble": "Offrez à votre nom de domaine un examen complet ! Zonemaster vous aide à évaluer l'état de votre nom de domaine.",
"infoTextParagraph1": "Lorsque vous envoyez un nom de domaine à Zonemaster pour un test, Zonemaster examine l'état du nom de domaine de la racine à la base de l'arbre DNS. Cela se fait généralement en examinant les données DNS de la racine, « . », au domaine de premier niveau (TLD) pour ce nom de domaine, comme « .net », puis au moyen des serveurs DNS qui contiennent les informations faisant autorité sur le nom de domaine spécifié.",
"infoTextStrong": "Zonemaster effectue de nombreux tests,",
"infoTextParagraph2": "comme la vérification des signatures DNSSEC ou la joignabilité des différents hôtes et la validité des adresses IP. Tout cela pour s'assurer que votre nom de domaine fonctionne aussi bien que possible.",
"infoHeading2": "Un mot sur le DNS",
"infoTextParagraph3": "Le système de noms de domaine (DNS) est une base de données qui associe aux noms de domaine des adresses du protocole Internet (IP), de la même manière qu'un annuaire associe aux noms des numéros de téléphone. Une adresse IP est une série unique de nombres qui identifie chaque ordinateur connecté à Internet. C'est similaire à la manière dont chaque téléphone a son propre numéro dans le réseau téléphonique. De telles longues séries de nombres fonctionnent bien pour les ordinateurs, mais pour les personnes, il est beaucoup plus difficile de les mémoriser. Ainsi, le DNS a été développé comme une couche supplémentaire pour faire le lien entre des noms que nous pouvons mieux retenir et des adresses IP utilisées par les ordinateurs chaque fois que nous voulons atteindre un site Web spécifique ou utiliser d'autres services sur Internet, comme le courrier électronique.",
"img1Alt": "Personne regardant un ordinateur",
"img2Alt": "Le monde connecté par un réseau",
"faqPreamble": "Trouvez des réponses aux questions courantes sur Zonemaster ici.",
"faqTextParagraph1": "Vous ne trouvez toujours pas les informations que vous cherchez ? Vous pouvez contacter l'équipe du projet Zonemaster en utilisant la",
"faqParagraph1Link": "liste de diffusion des utilisateurs, le suivi des problèmes ou l'adresse e-mail de contact.",
"history": "Historique",
"testHistory": "Historique des tests",
"undelegated": "Non délégué",
"delegated": "Délégué",
"historyAll": "Tous",
"all": "Tous",
"info": "Info",
"notice": "Note",
"warning": "Avertissement",
"error": "Erreur",
"critical": "Critique",
"expandAll": "Développer tous les modules",
"collapseAll": "Réduire tous les modules",
"search": "Rechercher",
"searchInText": "Rechercher du texte dans les messages",
"testResultFor": "Résultat du test pour",
"createdOn": "Créé le",
"filterSeverityLevels": "Filtrer les niveaux de sévérité",
"profile": "Profil",
"tldURL": "URL du TLD",
"exportResult": "Exporter",
"exportJson": "JSON",
"exportHtml": "HTML",
"exportCsv": "CSV",
"exportText": "Texte",
"share": "Partager",
"themeToggle": "Changer de thème"
}