Skip to main content

Modify Site Regional and Default Language settings with JSOM and JavaScript

There are some really nice code examples for the CSOM Regional and Language APIs in the Office Dev PnP Library:
https://github.com/OfficeDev/PnP/tree/master/Samples/Core.Settings.LocaleAndLanguage

But, I could not find JSOM code example of these APIs. So I am listing down some of the most frequently used Regional and Language functions here.

1) Add a Supported UI Language:


(function () {
"use strict";
var context = SP.ClientContext.get_current();
var web = context.get_web();
//This is important. Wont work otherwise.
web.set_isMultilingual(true);
web.addSupportedUILanguage(1043); //Dutch
//The full list of SharePoint 2013 and SharePoint Online LCIDs is here:
//https://technet.microsoft.com/en-us/library/ff463597.aspx
web.update();
context.executeQueryAsync(function(){
console.log("Language Added");
},function(sender,args){
console.log(args.get_message());
});
})();
view rawJSOM_MUI_Add.js hosted with ❤ by GitHub

2) Remove a Supported UI Language:


(function () {
"use strict";
var context = SP.ClientContext.get_current();
var web = context.get_web();
//This is important. Wont work otherwise.
web.set_isMultilingual(true);
web.removeSupportedUILanguage(1043); //Dutch
web.update();
context.executeQueryAsync(function(){
console.log("Language Removed");
},function(sender,args){
console.log(args.get_message());
});
})();
view rawJSOM_MUI_Remove.js hosted with ❤ by GitHub

3) Disable Multi Lingual and Remove all UI Languages:


(function () {
"use strict";
var context = SP.ClientContext.get_current();
var web = context.get_web();
//Remove all UI languages
web.set_isMultilingual(false);
web.update();
context.executeQueryAsync(function(){
console.log("MUI Disabled");
},function(sender,args){
console.log(args.get_message());
});
})();
view rawJSOM_MUI_False.js hosted with ❤ by GitHub

4) Get Regional Settings:


A full list of all the regional settings properties is available here:
https://msdn.microsoft.com/EN-US/library/office/jj244880.aspx

(function () {
"use strict";
var context = SP.ClientContext.get_current();
var web = context.get_web();
var regionalSettings = web.get_regionalSettings();
context.load(regionalSettings, "TimeZone", "Time24", "LocaleId")
context.executeQueryAsync(function () {
//TimeZone
console.log(regionalSettings.get_timeZone().get_description()); //(UTC) Dublin, Edinburgh, Lisbon, London
//24 Hour Clock
console.log(regionalSettings.get_time24()) //True/False
//Locale Id
console.log(regionalSettings.get_localeId()); //2057
}, function (sender, args) {
console.log(args.get_message());
});
})();


5) Set Regional Settings:


(function () {
"use strict";
var context = SP.ClientContext.get_current();
var web = context.get_web();
var regionalSettings = web.get_regionalSettings();
context.load(regionalSettings)
context.executeQueryAsync(function () {
regionalSettings.set_localeId(2057) //English (UK)
regionalSettings.set_time24(true); //true/false
regionalSettings.update();
context.executeQueryAsync(function () {
console.log("success");
}, function (sender, args) {
console.log(args.get_message());
});
}, function (sender, args) {
console.log(args.get_message());
});
})();


6) Set Time Zone of a site:


This one was a bit tricky but I finally got there in the end. You will need to know the ID of the Time Zone you want to set in the site. A full list of SharePoint TimeZone IDs is here:
https://msdn.microsoft.com/library/microsoft.sharepoint.spregionalsettings.timezones.aspx

(function () {
"use strict";
var context = SP.ClientContext.get_current();
var web = context.get_web();
var regionalSettings = web.get_regionalSettings();
//Find the full list of SharePoint TimeZone IDs here
//https://msdn.microsoft.com/library/microsoft.sharepoint.spregionalsettings.timezones.aspx
var timeZone = regionalSettings.get_timeZones().getById(23); //(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi
context.load(regionalSettings);
context.load(timeZone);
context.executeQueryAsync(function () {
regionalSettings.set_timeZone(timeZone);
regionalSettings.update();
context.executeQueryAsync(function () {
console.log("success");
}, function (sender, args) {
console.log(args.get_message());
});
}, function (sender, args) {
console.log(args.get_message());
});
})();

Comments

Popular posts from this blog

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: using Microsoft.SharePoint.Client ; using Microsoft.SharePoint.Client.UserProfiles ; using System.Security ; namespace UpdateLanguagePreference { class Program { static void Main ( string[] args ) { //Tenant Admin Details string tenantAdministrationUrl = " https://yoursite-admin.sharepoint.com/ " ; string tenantAdminLoginName = " tenantadmin@yoursite.onmicrosoft.com " ; string tenantAdminPassword = " password " ; //AccountName of the user whos property you want to update. ...

Power shell Script to get External Users on Office 365

Hello Everyone,  Below is the Powershell script to get all external users from office 365 tenant. #--------------------------------------------------------------------------------------------------------------------------- $host.Runspace.ThreadOptions = "ReuseThread" #Definition of the function that gets all the external users in a SharePoint Online Tenant. function Get-SPOExternalUsers {     param ($sUserName,$sMessage,$sSPOAdminCenterUrl)     try     {             Write-Host "----------------------------------------------------------------------------"  -foregroundcolor Green         Write-Host "Getting all the external users in a SharePoint Online Tenant" -foregroundcolor Green         Write-Host "----------------------------------------------------------------------------"  -foregroundcolor Green         $msolcred = Get-Credential -UserName...

Build and Deploy a custom theme in SharePoint 2019: Using C# and Site features

Custom Theme and Branding are common to use cases and all kinds of business users like to have the personalized team and collaboration sites. today I am posting C# code that will help to build custom features for SharePoint 2019 site.   If need any assistance, I would be happy to help: kamal_pandey@outlook.com  ----------------------------- Code to build  custom features---------- using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.SharePoint; using Microsoft.SharePoint.Utilities; namespace SharePointBranding.Code {     public class BrandingManager     {         public SPWeb Web { get; set; }         public BrandingManager(SPWeb web)         {             Web = web;         }         public void SetMasterPage(stri...