Multilingual without plugins: the folder-based approach

Multilingual without plugins: the folder-based approach

The simplest solution for a multilingual site isn't a plugin, isn't a translation database, isn't gettext. It's one folder per language.

Structure

/it/  ← everything in Italian
/en/  ← everything in English
/fr/  ← add when needed

Each folder contains its own index.php (identical across all languages), lang.json (the only thing to translate) and content files under content/.

Add a language in 3 steps

  1. Copy /it/ → rename to /fr/
  2. Translate fr/lang.json
  3. Translate the files in fr/content/

The language switcher appears automatically because it scans the folders on its own. No extra configuration.