DetectLocaleMiddleware will detect if a locale has been requested (or is default) and is not the current locale, and will redirect the user to that locale if needed.

InitStateMiddleware initialises the FluentState object and sets the current request locale and domain to it

This middleware will safely redirect you to the cms landing page when switching locales, in case you were viewing a url that does not apply to the new locale.