In
SharePoint 2007 (MOSS) la document library, in cui vengono salvate le pagine di publishing, viene nominata in base alla lingua di creazione del sito.
Quindi se ho un sito con template inglese (LCID=1033) si chiamerà
Pages, se ho un sito con template italiano (LCID=1040) si chiamerà
Pagine e così via.
Per ricavare da codice il nome è sufficiente leggere la risorsa
List_Pages_UrlName del resource file
cmscode.
string url = "http://sharepoint";
using (SPSite site = new SPSite(url))
{
using (SPWeb web = site.RootWeb)
{
uint lcid = web.Language;
//Microsoft.SharePoint.Utilities.SPUtility
string pagesUrlLocalized = SPUtility.GetLocalizedString("$Resources:cmscore,List_Pages_UrlName;", null, lcid);
Console.WriteLine(web.ServerRelativeUrl + pagesUrlLocalized);
}
}
Per ottenere il nome della cartella che contiene le liste (Lists) usare:
string pagesUrlLocalized = SPUtility.GetLocalizedString("$Resources:core,lists_Folder;", null, lcid);
In
PowerShell diventa:
$w = Get-SPWeb http://sharepoint.sgart.local
$lcid = $w.Language;
$pagesUrl= [Microsoft.SharePoint.Utilities.SPUtility]::GetLocalizedString("`$Resources:cmscore,List_Pages_UrlName;", $null, $lcid);
Write-Output "Pages: $pagesUrl"