Un site bilingue sans extension de traductionA bilingual site without a translation plugin
Deux langues dans la même page, une bascule sans rechargement, aucune extension. Ce que ça coûte, ce que ça rapporte, et quand ne pas le faire.Two languages in one page, switching without a reload, no plugin. What it costs, what it earns, and when not to do it.

Rendre un site bilingue passe d’ordinaire par une extension qui duplique chaque contenu, double les adresses, et devient le composant le plus fragile de l’installation. Pour un site vitrine, il existe une voie beaucoup plus légère.Making a site bilingual usually goes through a plugin that duplicates every piece of content, doubles the URLs, and becomes the most fragile component of the install. For a showcase site there is a much lighter path.
Le principe : les deux langues dans la pageThe principle: both languages in the page
Chaque texte est écrit dans les deux langues, côte à côte, chacun dans un conteneur portant son attribut de langue. Une règle de style n’en montre qu’un. Un bouton bascule l’attribut posé sur la page, et l’affichage change instantanément — sans rechargement, sans perte de la position de lecture, sans deuxième jeu d’adresses à maintenir.Each text is written in both languages, side by side, each inside a container carrying its language attribute. A style rule shows only one. A button flips the attribute on the page, and the display changes instantly — no reload, no loss of reading position, no second set of URLs to maintain.
La langue de départ suit celle du navigateur, et le choix du visiteur est mémorisé localement. Un visiteur francophone arrive en français, un visiteur anglophone en anglais, et chacun peut changer d’avis.The starting language follows the browser, and the visitor’s choice is remembered locally. A French-speaking visitor arrives in French, an English-speaking one in English, and either can change their mind.
Ce que ça coûteWhat it costs
- Les deux langues voyagent dans la page : quelques kilo-octets de plus, négligeables sur un site vitrine, inacceptables sur un média.Both languages travel in the page: a few extra kilobytes, negligible on a showcase site, unacceptable on a media site.
- Les moteurs voient les deux textes : il faut le déclarer honnêtement par des balises de langue alternative.Search engines see both texts: you must declare that honestly with alternate language tags.
- Le contenu rédigé dans l’administration doit être saisi deux fois, ou rester dans une seule langue, assumée.Content written in the admin must be entered twice, or stay in one language, owned as such.
Ce que ça rapporteWhat it earns
- Aucune extension à mettre à jour, aucune incompatibilité à redouter.No plugin to update, no incompatibility to fear.
- Une seule adresse par page : pas de contenu dupliqué, pas de redirections à gérer.One URL per page: no duplicate content, no redirects to manage.
- Une bascule instantanée, qui se remarque et donne une impression de soin.An instant switch, which gets noticed and signals care.
Quand ne pas le faireWhen not to do it
Dès qu’il y a du volume — un blog de cent articles, un catalogue, un média — cette approche ne tient plus : on doublerait le poids de chaque page pour un contenu que la plupart des visiteurs ne liront pas. Il faut alors de vraies adresses séparées par langue, et l’extension redevient le bon outil.As soon as there is volume — a hundred-article blog, a catalogue, a media site — the approach stops working: you would double the weight of every page for content most visitors will not read. You then need genuinely separate per-language URLs, and the plugin becomes the right tool again.
Le bon seuil est celui-ci : tant que les textes tiennent dans le thème et non dans la base, les deux langues dans la page sont la solution la plus simple. Au-delà, c’est une dette.The right threshold is this: as long as the texts live in the theme rather than the database, both languages in the page is the simplest solution. Beyond that, it is debt.