One Build, Two Languages: What a Bilingual Platform Actually Looks Like

Read time: 4 minutes

One Build, Two Languages: What a Bilingual Platform Actually Looks Like

Every small business in a bilingual market has the same website problem. You build it in English, and then someone asks the obvious question: where's the French?

The honest answer is usually a translate widget stapled to the header. The URL stays English. The page titles stay English. The checkout stays English. Search engines see one site with a cookie preference, and your French-speaking customers see a business that tolerates them.

I got tired of watching that be the answer, so this week I shipped a demo that does it properly: Nordet Supply — a fictional Ottawa–Gatineau janitorial and packaging distributor, in English at bilingual-demo.webfacemedia.dev and fully in French at bilingual-demo.webfacemedia.dev/fr. Same catalogue, same store, same team page — one build, two languages, no widget.

What "Properly" Actually Means

Real bilingual is not a dropdown that swaps words. It is the whole surface of the site, twice:

  • Translated addresses. The French store lives at /fr/boutique, the about page at /fr/a-propos — not /fr/about with French words in it. Search engines index these as the French pages they are.
  • Translated titles and descriptions. A French product page shows a French title in the browser tab and in Google, with proper hreflang linking so each language finds its twin.
  • A language switcher that knows where you are. Switch languages on a product page and you land on that product in the other language — not back on the homepage.
  • Even the 404. If a French visitor hits a dead link, the "page not found" is in French. Details like that are the difference between bilingual and translated.

The Store Didn't Get a Pass Either

The part most bilingual sites quietly give up on is commerce. This one didn't. The shop carries a real catalogue — janitorial, paper, foodservice packaging, can liners — organized by category, with per-product pages, case pricing, and a working checkout in both languages. Business customers get net-term accounts and add their PO number at checkout; everyone else checks out directly. Free local delivery over $150 across Ottawa and Gatineau, on the company's own trucks, twice a week.

None of that is mocked. The cart, the account flow, the delivery promise — it all runs, in English and in French.

What It Inherits From the Platform

This is the part I actually care about. Nordet was built by my planning system from a plain-English brief, and because it sits on the same platform every client site runs on, it didn't just get a homepage and a contact form. It inherited:

  • A complete store system — products, categories, checkout, shipping rules — not a plugin someone has to babysit.
  • The full multilingual layer — translated slugs, per-language metadata, hreflang, the switcher, the localized 404 — because it's in the template, not bolted on.
  • One place to run it all. Both languages live in the same content system. Change a price once, it's right in both languages. Add a product once, it exists in both stores.
  • A build that took one pass. Brief in, branded multi-page site with a working bilingual store out. The eight things it exposed that same day got fixed in the template the same day — so the next bilingual site starts where this one finished.

Why I Build Demos Like This

Nobody was paying for Nordet. I built it because the fastest way to find every place a platform falls down is to make it do the hard thing for real. A bilingual store is the hard thing: it touches content, commerce, SEO, and the build system all at once. If the platform survives that, a client's bilingual site is no longer a project risk — it's a feature they already own.

Nordet Supply bilingual store demo
Live demo

Nordet Supply — one store, two languages.

A fictional Ottawa–Gatineau janitorial and packaging distributor, built in one pass on the same platform every client site runs on. Browse the catalogue, run the checkout, flip the language — it's all real.

Real storeProducts, categories, cart and checkout.
Fully bilingualTranslated slugs, metadata, even the 404.
One systemBoth languages run from a single backend.

Built on the webfaCeMEdia platform · bilingual-demo.webfacemedia.dev

If your business serves customers in two languages and your website only speaks one — or speaks the second through a widget — that's exactly the kind of build I do. My contact page is open.