I have a HTTP Module deployed on a SharePoint 2019 site collection to implement multilingual based on site URL.
"/sites/test_en" must be shown in english
"/sites/test_fr" must be shown in french
"/sites/test_es" must be shown in spanish
For this purpose the HTTP Module sets the CultureInfo in the context_PreSendRequestHeaders event doing:
CultureInfo newCultureInfo = new CultureInfo("es-ES"); //spanish
Thread.CurrentThread.CurrentCulture = newCultureInfo;
Thread.CurrentThread.CurrentUICulture = newCultureInfo;
Doing that, seems to work fine. Site pages are translated, but some element like default list column names and some UI options are using the browser default language and not the language setted on the HTTP Module.
Do you have any clue of what is going wrong?