How do I build a trilingual NL + FR + DE storefront in Magento?
Belgium has three official languages: Dutch (Vlaams, ~60% of the population, Flanders: Antwerpen / Gent / Brugge / Leuven), French (Wallon, ~40%, Wallonia + Brussels: Charleroi / Liège / Namur / Mons), and German (~1%, the East Cantons: Eupen / St. Vith / Malmedy). A serious Belgian e-commerce store needs all three.
Magento 2 architecture for this:
- One Magento install, one website, three store views,
be_nl,be_fr,be_de. Shared catalogue, currency (EUR), and customer base, but separate translations, URL prefixes (or country-coded paths like/nl/,/fr/,/de/), and per-store CMS pages. - URL routing, prefix-based is the cleanest. Add IP-geo + browser-language fallback (Belgian visitors hitting the root see Dutch by default if they’re in Flanders, French in Wallonia, with manual switcher).
- hreflang, emit per-page
nl-BE/fr-BE/de-BEtags. We use Panth_Hreflang module to manage this from DB. - Per-store catalogues, product names + descriptions + meta translated per store view. Attribute scope = store view for any localised text.
- Per-store payment + shipping, same Bancontact / Payconiq stack on all three, but copy in the right language.
For Hyvä we ship a custom language-switcher that lives in the header without a full page reload.