En mode JavaScript, une seule balise de script dans l'en-tête <head> de votre site fait tout le travail : elle affiche le sélecteur de langue, choisit une langue pour chaque visiteur et remplace le texte de votre page par sa traduction dans le navigateur. Vos URL ne changent jamais, donc example.com/about est la même adresse dans toutes les langues et il n'y a pas de DNS à configurer. Le compromis est que les moteurs de recherche ne voient que votre langue source.
Le mode JavaScript est le seul mode pour Webflow, Framer, Squarespace, Duda, Tilda, Weebly et Lovable, et l'un des deux choix pour les projets Tout site web.
Ce qui est traduit
Universally extrait les chaînes de votre page avec les mêmes analyseurs qu'il utilise pour la traduction côté serveur :
- Texte dans la page.
- Le contenu
<title>et meta. - Les attributs
placeholder,aria-label,alt,titleetvalue.
Les traductions stockées, le comptage de mots et les règles de glossaire fonctionnent de la même manière que dans tous les autres modes. Le script définit également <html lang> et dir pour la langue choisie.
Ce qui ne l'est pas
- Les moteurs de recherche ne voient aucune traduction. Les traductions n'existent que dans le navigateur, et les robots d'exploration obtiennent votre HTML source. Aucun lien hreflang n'est ajouté.
- Seules les pages publiques sont traduites. Universally récupère chaque page lui-même, sans la session du visiteur, donc une page derrière un identifiant ou un mot de passe affiche son texte source.
- Le texte que JavaScript ajoute après le chargement de la page n'est pas traduit lorsqu'il n'est pas dans le HTML que votre serveur envoie. Le script réapplique les traductions au nouveau contenu pendant quelques secondes après le chargement et lors des navigations d'applications monopage, mais uniquement pour les chaînes qu'il possède déjà.
- JSON-LD n'est pas traduit.
- Les chaînes de requête sont ignorées.
?a=1et?a=2partagent un seul ensemble de traductions. - Environ 2 000 chaînes par page est le maximum. Les chaînes au-delà restent dans la langue source.
- Seules les règles de sélecteurs CSS s'appliquent. Sur Règles de traduction, Exclure les sélecteurs CSS fonctionne. Exclure les pages et Exclure la localisation des liens n'ont aucun effet en mode JavaScript, pas plus que Inclure les sélecteurs CSS. Voir Inclure et exclure les sélecteurs CSS.
- Le sélecteur n'a pas de paramètres de conception. Il se trouve dans le coin inférieur droit avec des drapeaux et des noms de langue (coin supérieur droit sur Framer et Lovable).
Lorsque les mots prépayés du projet sont épuisés, les nouvelles chaînes restent dans la langue source et les chaînes déjà traduites continuent de s'afficher. Voir Limites d'utilisation.
Comment ça marche
- Le script se charge. Le fichier
s.jsest servi avec un cache de 15 minutes. Tant que le projet est inactif ou n'a pas de langue cible active, il ne sert rien, c'est pourquoi votre site ne change pas tant que vous n'avez pas ajouté de langue. - Une langue est choisie. Un visiteur pour la première fois est automatiquement associé à la langue de son navigateur. Le choix est stocké dans un cookie nommé
universally_langpendant 30 jours. Choisir une langue dans le sélecteur définit le cookie et recharge la page. Le paramètre Rediriger par langue du navigateur dans les Paramètres généraux n'a aucun effet dans ce mode : la correspondance automatique se produit quoi qu'il arrive. - Le navigateur envoie l'URL de la page. Seules l'URL et la langue sont envoyées à Universally, jamais le contenu de la page.
- Universally récupère la page elle-même. Il demande l'URL de votre site publié anonymement, sans cookies de visiteur et sans connexion, extrait les chaînes, les traduit et les renvoie.
- Le navigateur remplace chaque chaîne sur place. Rien ne se recharge et l'adresse reste la même.
Les traductions d'une page sont mises en cache pendant 24 heures côté Universally et conservées dans le stockage du navigateur du visiteur, de sorte qu'une vue répétée ne présente aucun scintillement. Les modifications sur l'écran Traductions apparaissent une fois que le cache de 24 heures expire, ou immédiatement après avoir cliqué sur Vider le cache du traducteur dans les Paramètres généraux, ce qui vide les deux. Voir Modifier les traductions manuellement.
Pour voir quelle partie d'une page a été traduite, ajoutez ?uni_debug=1 à son URL et ouvrez la console du navigateur.
Quand choisir des sous-domaines à la place
Si vous souhaitez que chaque langue ait sa propre adresse, un projet N'importe quel site web peut passer aux sous-domaines de langue depuis sa page Configuration. Le retour arrière n'est pas encore disponible. Voir Sous-domaines de langue.