Files
lage-chat-control/frontend/src/lib/i18n/fr.json
T
sucupira db5a997e50 feat(oki): fondations de la migration vers la stack souveraine OKI
Architecture décidée et documentée dans ADR.md : SvelteKit natif en
fichiers plats plutôt que Strapi (55 outils, données statiques,
souveraineté et budget performance prioritaires — doctrine §1.2, §4.4).

- frontend/ : SvelteKit 2 + Svelte 5 (runes), adapter-static, 58 pages
  prérendues, CSS natif en @layer (reset→tokens→base→layouts→components),
  tokens oklch(), container queries, typo fluide clamp(), 2 polices WOFF2
  auto-hébergées (Atkinson Hyperlegible, Fraunces), zéro CDN tiers
- i18n FR/gcf typé (clé manquante = erreur de build), bascule Kréyòl
  persistée en localStorage, micro-textes créoles (« Ou pa manké ayen »)
- Composants : ToolCard, DifficultyBadge (forme+texte+couleur, jamais la
  couleur seule), CategoryNav (≤5 entrées, divulgation progressive),
  SearchBar (raccourci /), LanguageSwitcher, EndMarker
- content/ : 55 fiches migrées depuis src/ (script frontend/scripts/
  migrate-tools.mjs, idempotent), licences SPDX reprises de directory.json
- docs/ : DESIGN_SYSTEM.md et CONTENT_GUIDE.md

Budgets vérifiés : JS 41 Ko gzip, CSS 2,9 Ko gzip, svelte-check 0 erreur.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 12:51:17 -04:00

64 lines
2.0 KiB
JSON

{
"site": {
"name": "Exit Chat Control",
"tagline": "Reprends le contrôle de ton internet",
"description": "Annuaire d'outils libres pour la souveraineté numérique — messagerie chiffrée, VPN, auto-hébergement, OS libres."
},
"nav": {
"home": "Accueil",
"directory": "Annuaire",
"contribute": "Contribuer",
"skipToContent": "Aller au contenu"
},
"hero": {
"title": "Chwazi zouti ou",
"subtitle": "Reprends le contrôle de ton internet : des outils libres, expliqués simplement, du premier geste au serveur auto-hébergé.",
"cta": "Voir l'annuaire"
},
"directory": {
"title": "Annuaire des outils",
"intro": "Chaque outil est libre, vérifié, et classé par difficulté. Commence par le vert.",
"filterCategory": "Catégorie",
"filterDifficulty": "Difficulté",
"allCategories": "Toutes les catégories",
"allDifficulties": "Toutes",
"results": "outils",
"resultOne": "outil",
"empty": "Ayen pa maché èvè filtè-lasa — essaie d'élargir les filtres.",
"endOfList": "Ou pa manké ayen",
"endOfListSub": "Tu es au bout de la liste — rien ne se recharge dans ton dos.",
"prevPage": "Page précédente",
"nextPage": "Page suivante",
"page": "Page"
},
"tool": {
"what": "À quoi ça sert",
"why": "Pourquoi c'est important",
"who": "Pour qui, quand",
"install": "Installer et utiliser",
"officialSite": "Site officiel",
"sourceCode": "Code source",
"license": "Licence",
"category": "Catégorie",
"backToDirectory": "Retour à l'annuaire"
},
"difficulty": {
"beginner": "Débutant",
"intermediate": "Intermédiaire",
"advanced": "Avancé"
},
"search": {
"label": "Rechercher un outil",
"placeholder": "Rechercher… (touche /)",
"noResults": "Aucun outil trouvé"
},
"lang": {
"switchLabel": "Langue",
"switchTo": "Passer en"
},
"footer": {
"license": "Contenu et code libres (MIT). Zéro tracker, zéro CDN, zéro cookie.",
"contribute": "Proposer un outil ou une correction"
}
}