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

PowerShell For create Sub site in office 365

#Add references to SharePoint client assemblies and authenticate to Office 365 site Add-Type -Path "\Software\SharePoint 2013 Client Browser v1.7\Microsoft.SharePoint.Client.dll" Add-Type -Path "\Software\SharePoint 2013 Client Browser v1.7\Microsoft.SharePoint.Client.Runtime.dll" $Username = Read-Host -Prompt "Please enter your username" $Password = Read-Host -Prompt "Please enter your password" -AsSecureString $Site = "https://XXXXXXX.sharepoint.com/sites/Test2/" $Context = New-Object Microsoft.SharePoint.Client.ClientContext($Site) $Creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Username,$Password) $Context.Credentials = $Creds $csvLocation = "C:\Users\PS_SiteCollectionsToCreate.csv" $csv = Import-Csv $csvLocation #List Custom Templates $Templates = $Context.Site.GetWebTemplates("1033","0") $Context.Load($Templates) $Context.ExecuteQuery() $Templates | Whe...

SharePoint Framework extensions to Call Azure Function

In this article, we will talk about prerequisites, how to call Azure Function from SPFX extension, How to Create HHTP function, connect Visual Styuid editor to Azure and publish them, and Set Up CORS on the Azure Function, Create SharePoint Framework Extension, Azure Function, etc. Prerequisites :  Azure Subscriptions   VS code  Spfx Development Env  -   Step by steps details: https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-environment  Follow the below steps to create Azure Functions in the Azure portal.  Steps by steps guide:  https://docs.microsoft.com/en-us/sharepoint/dev/spfx/use-aadhttpclient-enterpriseapi    Reference :  https://docs.microsoft.com/en-us/answers/questions/430645/how-to-access-sharepoint-rest-api-in-my-function-a.html Step-1 : Login to Azure Portal (https://portal.azure.com/)   Step-2 : As highlighted below, click on the  + Create a resource, and click on “Comput...

SharePoint Capacity Management and Sizing Overview

Capacity management   is an ongoing process, because no implementation remains static with regard to content and usage. You need to plan for growth and change, so that your SharePoint Server 2013–based environment can continue to deliver an effective business solution. Capacity Planning  is only one part of the capacity management cycle. It is the initial set of activities that brings the design architect to the point where there is an initial architecture that the architect believes will best serve the SharePoint Server 2013 deployment. The capacity management model includes additional steps to help you validate and tune the initial architecture, and provides a feedback loop for re-planning and optimizing the production environment until it can support design goals with optimal choices of hardware, topology, and configuration. Capacity management versus capacity planning Capacity management extends the concept of capacity planning to express a cyclical appr...