Friday, 13 November 2015

Update user language and regional settings with CSOM

Following my previous post around multilingual aspects of SharePoint Online: Modify Site Regional and Language settings with JSOM and JavaScript

Here is some CSOM code which updates the personal regional settings of the current user or another user (if you are a tenant admin and have the rights to update user profiles)

Before update:

The code:

After update:


1 comment:

dattaraj said...

Hi Vardhman,

I am trying to update the logged in users Language settings using SP Server Side code as below:

string mui = lcid == 1036 ? "fr-FR" : "en-US";

SPWeb web = SPContext.Current.Web;
SPUser user = web.CurrentUser;

SPSecurity.RunWithElevatedPrivileges(delegate {
userSettingsProvider = SPUserSettingsProviderManager.Local.UserSettingsProviders.FirstOrDefault();

userSettingsProvider.UpdateUserLanguageSettings(userSettingsProvider.GetProviderContext(web.CurrentUser), web.CurrentUser, mui, "ui-ui");
userSettingsProvider.UpdateUserDisplayLanguageSettings(userSettingsProvider.GetProviderContext(user), user, mui);
userSettingsProvider.UpdateUserContentLanguageSettings(userSettingsProvider.GetProviderContext(user), user, mui);

when i see in the _/layouts/regionalsetng.aspx?type=user, i see that Language field takes a while to get the value updated(After Multiple refresh its updated). But i need it to be refreshed immediately. Any suggestion?