Une fois le plugin en place, voici tout ce que vous pouvez faire. Quatorze écrans, et les options que personne ne montre.
La page Traduire le site liste vos langues sous forme de pastilles. Grise : la langue n'a jamais tourné. Verte : son passage est terminé. Un clic sur une pastille verte la rouvre pour relancer la langue.
Vous traduisez toutes vos langues d'un coup ou une seule, vous cliquez sur Démarrer, et le journal défile URL par URL. Le nombre de pages à traiter est annoncé avant de commencer.
Le passage ne retraduit jamais ce qui est déjà en base : pour chaque langue, seules les phrases absentes partent à l'IA. Relancer une langue ne repaie donc pas ce qui est déjà traduit.
Vous pouvez arrêter en cours de route. Au retour, un bandeau vous propose de reprendre là où vous en étiez, ou de repartir de zéro.

TrueLang affiche l'URL fautive, la langue, le message d'erreur brut du fournisseur et une explication lisible. Rien n'échoue en silence.
Vous décidez : réessayer cette URL, la passer, tout arrêter. Et quand c'est le serveur qui n'arrive pas à s'appeler lui-même, un bouton bascule la traduction en mode navigateur.
Ces trois pages WooCommerce ne s'affichent complètement que si le visiteur a des articles dans son panier ou s'il est connecté. Un passage en masse ne les voit jamais remplies.
Un parcours guidé vous fait donc traverser chacune d'elles pendant que TrueLang capture. Toutes vos langues cibles sont traduites dans le même passage.
À côté, le traducteur de page sert au reste : un formulaire, une popup, un slider, tout ce qui n'apparaît qu'après un clic ou un défilement. Vous ouvrez la page, vous choisissez la langue, vous traduisez. Une page, une langue à la fois.

Une colonne TrueLang s'ajoute à vos listes d'articles, de pages et de produits : une barre de progression, le compte traduit sur total, et le code de chaque langue. Vert quand la traduction est à jour, orange quand la page a été modifiée depuis, gris quand elle manque.
Au survol d'une ligne, deux actions apparaissent : Traduire, qui lance cette page seule dans toutes vos langues, et Corriger la traduction, qui reprend une langue précise.
Et une action groupée traite une sélection entière d'un coup, comme n'importe quelle action de masse WordPress.

Une case dans Configuration : chaque page, article ou produit publié part en traduction dans toutes vos langues, en tâche de fond. Rien à lancer à la main.
Elle vaut aussi pour les contenus modifiés après coup.
Sur le même écran, deux interrupteurs de performance : l'éditeur visuel du front, qui n'est de toute façon jamais chargé pour vos visiteurs, et le cache HTML pleine page, à couper si vous tournez déjà avec LiteSpeed, WP Rocket ou Varnish.

Sur une page traduite, un bouton TrueLang Editor apparaît dans la barre d'administration. Un clic, et chaque phrase traduite se souligne directement dans la page.
Vert : traduit par l'IA. Orange : modifié par vous, TrueLang n'y touchera plus. Rouge : manquant, ce qui arrive surtout quand le mot est identique dans les deux langues (Page en français, Page en anglais). Les segments identiques ne sont pas facturés.

Le panneau de gauche cherche dans les segments de la page, ou dans tout le site si vous basculez l'interrupteur. Chaque résultat affiche l'original, la traduction dans un champ modifiable, et trois boutons : valider, faire retraduire par l'IA, supprimer.

Chaque segment porte aussi son empreinte. Cliquez sur la pastille verte dans la page pour la copier, collez-la dans la recherche, et vous tombez exactement sur ce segment.
Le même panneau donne l'URL traduite de la page, que vous réécrivez à la main ou faites regénérer par l'IA, ainsi que son titre et sa méta description. Un SEO propre dans chaque langue, sans quitter la page.

L'écran Modifier les traductions cherche dans toute votre base par le texte, avec un filtre de langue facultatif, et vous laisse corriger directement dans la liste.
Trois purges, de la plus fine à la plus radicale : les segments d'une page pour une langue donnée, une langue entière (on vous demande de taper son nom), ou l'intégralité de vos traductions (on vous demande de taper DELETE).

Un terme source, sa traduction, la langue. L'IA utilisera exactement celle-là partout où le terme apparaît. C'est là que vous protégez vos noms de marque, vos références produit et votre vocabulaire métier.
Scan vous montre où le terme apparaît déjà dans vos traductions existantes, et Retraduire ne reprend que ces segments-là, pas tout le site. Une case étend la règle aux URLs.

Ne jamais traduire : des termes exacts, laissés intacts partout. Vos noms de marque, vos noms de produits, vos termes techniques.
Exclure des sections : des sélecteurs CSS, une classe, un identifiant, un attribut ou une balise. Pratique pour le contenu écrit par vos utilisateurs. Tout élément portant la classe notranslate est de toute façon ignoré.
Exclure des pages : une URL par ligne, sans le préfixe de langue. La page garde sa langue d'origine dans toutes les langues, sort du sitemap et perd ses balises hreflang. Une étoile couvre tout ce qui est sous un chemin, et une ligne commençant par un point d'interrogation vise une chaîne de requête.

/mon-compte/* couvre tout ce qui est en dessous, mais pas /mon-compte/ lui-même : écrivez les deux lignes si vous voulez la page aussi.
Sur une page exclue, les liens internes repartent vers votre langue source : un visiteur qui clique quitte la version traduite. Et retirer une règle ne détruit rien, les traductions déjà stockées reviennent.
Sous-dossier (monsite.com/en/) ou paramètre d'URL (monsite.com/?lang=en). Le sous-dossier est recommandé : c'est celui que les moteurs comprennent le mieux.
Pour chaque langue, une case traduit aussi les slugs : /en/about/ plutôt que /en/a-propos/. Elle n'est pas proposée pour les langues à idéogrammes ni pour les écritures de droite à gauche, dont les caractères ne passent pas dans une URL.
Deux réglages de plus : forcer le préfixe sur la langue par défaut, utile quand votre site est déjà indexé sous /fr/ après un WPML ou un Polylang, et ajouter les URLs traduites au sitemap.

Dix styles, cinq emplacements, et le shortcode [truelang] pour le poser exactement où vous voulez dans votre constructeur de pages.
Un champ de CSS personnalisé, avec les sélecteurs documentés sur place : le bouton, le panneau déroulant, une option, la langue active, le drapeau, la flèche, et la barre en ligne. De quoi le fondre dans votre thème sans toucher au code.
Et des exclusions d'URL, pour le cacher sur les pages où il n'a rien à faire : le tunnel de commande, l'espace client.

Sitemap multilingue avec alternates hreflang, régénéré à chaque requête. Balises hreflang avec x-default injectées dans chaque page. Titres, descriptions, og: et cartes Twitter traduits. Canonical et og:url réécrits par langue pour éviter le contenu dupliqué. Slugs traduits.
La page liste aussi vos règles de redirection actives, et vous laisse en ajouter à la main. C'est fait pour les vieilles URLs que TrueLang n'a jamais vues : des pages créées par votre ancien traducteur et déjà supprimées avant la migration. Vous prenez les 404 de la Search Console et vous les collez ici.

Quatre redirections 301 sont posées sans rien configurer : ?lang=xx vers /xx/page/, en.monsite.com vers monsite.com/en/, un slug non traduit vers sa version traduite, et le préfixe de la langue par défaut retiré.
Un bouton détecte WPML, TranslatePress, Polylang, Weglot et GTranslate, et vous dit s'il reste des doublons à nettoyer. TrueLang n'importe pas leurs traductions : elles ont été capturées à un autre niveau que le sien et ne seraient jamais réutilisées. Il retraduit avec votre moteur et vous donne les redirections.
Deux outils de nettoyage, un pour WPML, un pour Polylang, suppriment les articles dupliqués en créant les 301 au passage. Vos commandes, remboursements et coupons WooCommerce ne sont jamais supprimés, et les avis laissés sur un produit traduit sont rapatriés sur l'original avec le statut d'acheteur vérifié de vos clients.

Quatre familles de vérifications : votre configuration, le serveur (version de PHP, max_execution_time, memory_limit, support Unicode des expressions régulières, permaliens), le cache et le CDN (extension de cache de page, cache objet, Cloudflare), et les modes de traduction.
Le test de loopback se lance à la demande. Si votre serveur ne sait pas s'appeler lui-même, la traduction côté serveur échouera : il faudra passer par le traducteur de page, qui travaille depuis votre navigateur. Vous le savez avant de lancer, pas au milieu.

Un compteur de mots, par langue ou toutes langues confondues, calculé sur les segments déjà repérés. Vous avez une estimation avant de lancer, pas une surprise après.
Et les commentaires WordPress restent hors périmètre par défaut : ils pèsent des milliers de mots pour un résultat rarement bon, puisqu'ils sont souvent déjà écrits dans plusieurs langues.

Nous avons mis dans ce plugin toutes les fonctionnalités que nous utilisons nous-mêmes sur nos propres sites.
Si une fonctionnalité vraiment essentielle vous manque et pourrait servir à tout le monde, n'hésitez pas à nous contacter. Nous évaluerons le besoin et l'ajouterons s'il est pertinent.
L'équipe TrueLang