Hi,
I just realised that you wanted to use a user provider and not a security addin. If you want to use a user provider you have to set up the current culture of thread in the CreatePrincipal method eg:
Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(yourculture);
Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(yourculture);
HttpContext.Current.Items.Add("FS_SessionLanguage",yourculture);
HttpContext.Current.Items.Add("FS_LanguagDirection",yourculturedirectionLTRorRTL);