Communardo Software GmbH, Kleiststraße 10 a, D-01129 Dresden
0800 1 255 255

Babylonisches SharePoint

Wer sich etwas inten­si­ver mit SharePoint beschäf­tigt, stol­pert frü­her oder spä­ter über Sprachabhängigkeiten. So las­sen sich bei­spiels­weise Templates nicht ver­wen­den, weil sie für eine andere Sprache ent­wi­ckelt wur­den oder Listenspalten hei­ßen plötz­lich anders.

Besonders inter­es­sant wird das Ganze, wenn man sich dann noch auf einem SharePoint mit instal­lier­ten Language-Packs befin­det, wo jedes Web eine andere Sprache haben kann.

Die Sprache eines Webs lässt sich recht ein­fach ermit­teln, wenn man ein Objekt vom Typ SPWeb (Namespace: Microsoft.SharePoint) instan­zi­iert hat. In die­sem Fall kann man die Eigenschaft Language ver­wen­den:

code view

Diese beinhal­tet die LCID der Sprache in der das Web erstellt wurde.

Etwas span­nen­der gestal­tet es sich dann schon, wenn man in Erfahrung brin­gen möchte, in wel­cher Sprache der Server instal­liert wurde, denn danach rich­ten sich z.B. die Namen der Search Scopes. Allerdings sucht man in der Definition von SPServer (Namespace: Microsoft.SharePoint.Administration) ver­geb­lich nach einer Eigenschaft Language oder LCID.

Die Lösung ist – recht ver­steckt – zu fin­den in der Klasse SPRegionalSetting (Namespace: Microsoft.SharePoint).

Die sta­ti­sche Property SPRegionalSettings.GlobalServerLanguage bie­tet Zugriff auf die Sprache des Servers:

int globalLCID =  + SPRegionalSettings.GlobalServerLanguage.LCID;
string installed = "server was installed with LCID " + globalLCID.ToString();

Die sta­ti­sche Property SPRegionalSettings.GlobalInstalledLanguages zeigt an, auf wel­che Sprachen der SharePoint auf­grund von LanguagePacks erwei­tert wurde:

List<string> languageList = new List<string>();
SPLanguageCollection langColl = SPRegionalSettings.GlobalInstalledLanguages;
foreach (SPLanguage lang in langColl)
{
   languageList.Add(lang.LCID.ToString());
}
string installed = "installed Language Packs: "
   + string.Join(",", languageList.ToArray());

Related Posts

Pin It on Pinterest