0

I am working on a SharePoint Enterprise server 2013 . and i have an event receiver which get fired when an item is updated, and the event receiver will create a new sub-site using the following line of code:-

SPWeb newSite = spCurrentSite.Webs.Add(
                 curItemID, 
                 curItemSiteName,
                 "created automatically after adding a new project item",
                 Convert.ToUInt16(1033),
                 webTemplate,
                 false,
                 false
);
newSite.Update();

now our customer is a UK-based company ,, so i am not sure if i need to pass the local id = 2057 instead of 1033 as per the local ID table https://msdn.microsoft.com/en-us/library/ms912047%28WinEmbedded.10%29.aspx?f=255&MSPPError=-2147217396 .

now to be honest i am not very familiar with locals, but when i checked the "Central Admin" >> "Upgrade and Migration" >> "check product and patch installation status", i got three rows mentioned that the language is 1033:-

enter image description here

so does this mean i should pass localID = 1033 when creating a new subsite inside my above code?

second question. i have test the above code and on the new sub-site which get created , i checked its regional setting (sub-site>>Site Setting>>Site administration >> Regional Settings) , and i got the following :-

enter image description here

now since i am passing the localID as 1033 so i thought the regional setting for the sub-site will be "US" not "UK"..but seems the new sub-site got the same regional settings as its parent site (which is UK).

Third question is the local id something that i can chnage in the future for my sub-site ? or it can only be set once the sub-site is created (in my case it is created using the above line of code inside the event receiver )??

can anyone advice on the above 3 questions,as i am totally confused if i really have a problem or there is not any thing i should worry about regrading my Locals ?? Thanks

  • 1
    I recommend you to split the question as it is hard to answer all questions in one...i am afraid if it flag as too broad. – Waqas Sarwar MVP Jan 10 '17 at 17:28
  • @WaqasSarwarMVP i do agree with you that the question is somehow long,, but the 3 question are linked together so it is better to have them as one question.. – john Gu Jan 10 '17 at 17:46
1

There are two things, one is called language id and other is localeID

  • Language ID (LCID), is basically use for the specifying the language of the site collection / subsite. " The language ID determines the language that is used to display and interpret text that is on the site or site collection. For example, when a site owner creates a site in French, the site's toolbars, navigation bars, lists, and column headings appear in French" This option required a required language pack installed on the server. read more over here:Install or uninstall language packs for SharePoint 2013
  • LocaleID: The Locale ID controls the numbering, sorting, calendar, and time formatting for the Web site. you can change this once the subsite /site collection created. by default Subsite inherit settings of site collection.read more here: Regional and language settings

I hope you understand the difference between the language ID and LocaleID.

Once the site created then you can the localeID ( regional settings etc) but you cannot change the language of the site.

MSDN article you referring create the confusion. You cannot set the localeID when creating the site collection, the value you are providing is for the Language. Once the site created then you can set the locale and regional settings.

http://www.c-sharpcorner.com/blogs/change-locale-in-sharepoint-2013

  • thanks for the reply. so now i have these questions as i did not get your point. Q1) so when creating a sub-site using "spCurrentSite.Webs.Add()" should i pass the localID or the LCID ? as on this link msdn.microsoft.com/en-us/library/office/ms412285.aspx they mentioned i need to pass the nLCID but in the description they said to pass the localID ? second question,, in my code i am passing the 1033 , but the regional setting for the new subsite will be "UK" and not "US",, so is there a reason for this ? – john Gu Jan 11 '17 at 0:16
  • keeping in mind that currently the parent site have its regional setting set to "UK" and its parent site is a team site ... third question now seems there is not a language pack=2057 ,, but when it comes to language packs for sharepoint 2013 ,, then English regardless of being UK,US will be represented by 1033 as mentioned on this link technet.microsoft.com/en-us/library/… is this correct ? – john Gu Jan 11 '17 at 0:16
  • can you advice on my above 2 comments please? – john Gu Jan 11 '17 at 0:26
  • i get your point...documentation is little confusing...You can't set the localeID while create new web...at that time you provide the language of the web...So if you on the same page (you shared) check the code example and that will tell you the story "uint lcid = parentWeb.Language;" thats mean it is language id not the locale id. Now as you pass the 1033 while creating the new web then you will see text of the site in US english. – Waqas Sarwar MVP Jan 11 '17 at 3:22
  • Now once the site created then in your code you can set the locale value to your requirement also set the regional setting. Yes there is no separate language pack for En-UK...only one Lp under the English.... – Waqas Sarwar MVP Jan 11 '17 at 3:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.