Chaque milliseconde compte. Les Core Web Vitals de Google le confirment : si votre site est lent, vous perdez des positions. Si vous perdez des positions, vous perdez du trafic. Si vous perdez du trafic, vous perdez des clients.
Ajouter le support multilingue signifiait traditionnellement ajouter du traitement côté serveur, des bundles JavaScript plus lourds ou des chargements de page plus lents. En 2026, ce compromis n'existe plus. La traduction edge — livrer le contenu traduit via un CDN global en périphérie de réseau — fait de la performance multilingue un problème résolu.
Cet article explique comment fonctionne la traduction edge, pourquoi elle surpasse les approches serveur et client pour les sites multilingues, et comment LingoJS atteint un temps moyen de livraison de 26 millisecondes.
Le Problème de Performance de l'i18n Traditionnelle
Quand vous internationalisez un site de manière traditionnelle, vous ajoutez de la surcharge à chaque couche de la stack.
Rendu côté serveur (SSR) avec i18n
Si votre serveur rend les pages avec des traductions, chaque requête déclenche le chargement de fichiers de locale, la résolution des messages et l'interpolation des templates — avant que le HTML ne soit envoyé au navigateur. Pour un site Next.js ou Nuxt, cela signifie :
- Le serveur charge le bon fichier JSON de locale
- La bibliothèque i18n résout chaque clé de traduction
- Le framework interpole les traductions dans l'arbre de composants
- Le HTML rendu est envoyé au client
Ajouter 3 langues à une page avec 200 chaînes peut ajouter 50-150ms de traitement serveur par requête.
Bundles i18n côté client
Si vous livrez les traductions au navigateur, chaque locale s'ajoute à votre bundle JavaScript. Une configuration i18next typique avec 2 namespaces et 3 langues ajoute environ 15-25KB (gzip) à votre bundle client. Les utilisateurs sur connexions lentes paient le coût pour des langues qu'ils ne verront jamais.
Qu'est-ce que la Traduction Edge ?
La traduction edge déplace la couche de traduction hors de votre application et sur un CDN distribué mondialement. Au lieu que votre serveur traite les traductions ou que votre client charge des bundles de locale, un snippet JavaScript léger s'exécutant à la périphérie :
- Détecte la langue de l'utilisateur
- Récupère le contenu pré-traduit depuis le nœud edge CDN le plus proche
- Applique les traductions au DOM en temps réel
- Met tout en cache pour les visiteurs récurrents
L'insight clé : la traduction est un problème de données, pas de calcul. Vous n'avez pas besoin de re-traduire la même phrase à chaque chargement de page.
Comment Fonctionne la Traduction Edge LingoJS
Étape 1 : Le script se charge (non-bloquant)
Le snippet LingoJS se charge de manière asynchrone depuis le CDN global de jsDelivr. Avec l'attribut async, le navigateur n'attend pas qu'il se charge avant d'afficher la page.
Étape 2 : Détection de la langue à la périphérie
LingoJS vérifie l'en-tête Accept-Language et la géolocalisation IP. La détection se fait au niveau du CDN edge, pas sur votre serveur. La bonne version linguistique est identifiée en quelques millisecondes.
Étape 3 : La traduction est livrée depuis le nœud edge le plus proche
jsDelivr opère plus de 750 nœuds edge sur 6 continents. Quand un utilisateur à Tokyo demande une traduction en français, le payload vient du nœud edge de Tokyo, pas d'un serveur en Virginie. Le temps d'aller-retour est généralement sous 10ms.
Étape 4 : Application au DOM
La traduction est appliquée au DOM de la page. Les nœuds texte sont échangés avec leurs équivalents traduits. L'opération est batchée et utilise requestAnimationFrame pour éviter les saccades de mise en page. Temps total : sous 10ms.
Étape 5 : Persistance du cache
Le contenu traduit est mis en cache dans le localStorage du navigateur. À la prochaine visite, les traductions se chargent depuis le cache local en moins de 1ms.
Performance Mesurée : ~26ms en Moyenne
| Phase | Durée | Emplacement |
|---|---|---|
| Détection de la langue | < 2ms | Edge CDN |
| Recherche en cache | < 2ms | Edge CDN / localStorage |
| Récupération du payload | < 10ms | Edge CDN (régional) |
| Analyse du DOM | < 5ms | Navigateur |
| Remplacement du texte | < 7ms | Navigateur |
| Total | ~26ms |
Impact sur les Core Web Vitals
| Métrique | Sans traduction | Avec LingoJS | Delta |
|---|---|---|---|
| LCP | 1.8s | 1.8s | 0ms |
| INP | 45ms | 46ms | +1ms |
| CLS | 0.02 | 0.02 | 0 |
| TTFB | 180ms | 180ms | 0ms |
LingoJS n'ajoute aucun impact sur LCP, TTFB et CLS car le script se charge après le rendu de la page.
Pourquoi la Traduction CDN Surpasse le Côté Serveur
| Facteur | i18n côté serveur | Traduction edge (LingoJS) |
|---|---|---|
| Impact TTFB | +50-150ms par requête | 0ms (async) |
| CPU serveur | Interpolation par requête | Aucun (déchargé sur CDN) |
| Taille du bundle | +15-25KB par locale | 0KB (externe) |
| Latence géographique | Dépend de la localisation du serveur | Le plus proche des 750+ nœuds |
| Efficacité du cache | Cache serveur par requête | Multi-couche (CDN + navigateur) |
Qui Bénéficie le Plus de la Traduction Edge ?
Sites à fort contenu — marketing, documentation, blogs. Traduire 50 articles en 5 langues via SSR signifie 250 pages rendues qui rivalisent pour les ressources serveur. Avec la traduction edge, le CDN gère tout.
Dashboards SaaS avec données dynamiques. LingoJS détecte et traduit uniquement les éléments UI statiques (navigation, labels, boutons) tout en laissant les données dynamiques intactes ou traduites à la volée.
Boutiques e-commerce avec des milliers de pages produits. Traduire les descriptions produit en SSR pour 10 000 SKU sur 5 langues signifie 50 000 pages rendues. Avec la traduction edge, le texte est traduit une fois et mis en cache à la périphérie.
Démarrez avec la Traduction Edge
Vous n'avez pas besoin de configurer un CDN, des fonctions edge ou des règles d'invalidation de cache. LingoJS gère tout.
- Créez un compte gratuit
- Ajoutez une balise script à votre site
- Choisissez vos langues cibles
- C'est fait — votre contenu est traduit et servi depuis la périphérie
Le script est livré via jsDelivr (750+ nœuds edge), les traductions sont mises en cache multi-niveau, et le temps de livraison moyen est de 26ms. Vos Core Web Vitals restent inchangés.
