Всё содержимое сайта должно как-то хранится на двух языках.
Можно отмечать на странице все "мультиязычные" элементы, и при переключении языка — обновлять их на лету. Для этого нужно чтобы JS загружал откуда-то весь контент страниц на двух языках. И дополнительно использовать
Intl для разных дат, списков, и всего такого.
Но лучше если всё содержимое веб страницы будет генерироваться на сервере в соответствии с выбранным языком. Тогда для переключения языка нужно будет передавать на сервер запрос с параметром. Например это можно оформить как префикс к URL
example.com/en/some-path