2016-07-04 18 views
1

Ich habe mehrsprachige Websites auf meinem SharePoint 2013-Server (vor Ort) und möchte lokalisierte Websites und Listennamen über die .NET Managed API (CSOM) in C#.Lokalisierte Liste/Site-Name von SharePoint 2013 vor Ort mit CSOM erhalten

Ich versuchte, das "TitleResource" property Objekt von Web-Objekt und seine GetValueForUICulture() Methode zu verwenden:

var web = spContext.Web; 
var webTitleRes = web.TitleResource; 
var webFrenchTitle = webTitleRes.GetValueForUICulture("fr").Value; 
spContext.ExecuteQuery(); 

Aber es in der letzten Zeile Abstürze zu sagen, dass dieses Feld/Eigenschaft existiert nicht:

Fig. 1

Ich habe zuvor versucht, den "LocaleID" -Wert des Webs zu aktualisieren, wie es in einer Beispielanwendung aus dem Office PnP-Projekt angezeigt wird: check here

Aber der Server eine Ausnahme aus und sagte, dass ich das nicht genug Erlaubnis zu tun haben:

Fig. 2

Nun, ich will nicht wirklich die LocaleID auf dem Server aktualisieren, ich habe gerade lokalisierte Titel lokal abrufen möchten, so scheint es ein völlig falscher Weg zu sein.

Wie kann ich die lokalisierte Titelzeichenfolge von meinem SharePoint-Server abrufen? Was vermisse ich?


aktualisieren

als Referenz, so scheint es, dass TitleResource und DescriptionResource Attribute nur aus dem "Online" Version von Sharepoint sind, noch die MSDN doc nicht erwähnt, etwas darüber, auf eine unsachgemäße Verwendung dieser führenden:

Fig. 3

Es kann in der brandneuen 2016 v verwendbar sein ersion, übrigens. Wir werden sehen.

Antwort

0

Die UiCulture sollte ein Culture-Objekt sein.

Versuchen Sie folgendes:

blablabla.GetValueForUICulture(new CultureInfo(1036)).Value; 
+0

Hmm, aber der Doc sagen, dass es eine Zeichenfolge sein muss (ich bin mit dem Client Object Model): [Link] (https://msdn.microsoft.com /en-us/library/office/microsoft.sharepoint.client.userresource.getvalueforuiculture.aspx). BTW, Visual Studio lehnt diese Zeile ab. Und es heißt immer noch, dass "TitleResource" nicht existiert. Obwohl das Dokument schreibt, dass dies für SharePoint 2013 ist, bin ich mir nicht sicher, ob es wahr ist oder ein Microsoft-Fehler. –

+0

Wenn ich mich gut erinnere, ist dies online für SharePoint online (O365). Vor-Ort SPs sind in mehreren Sprachen durch CSOM begrenzt. Einzige Option: Server-Side-Code. So verwenden Sie remote: Bereitstellen eines Webdienstes, der serverseitigen Code aufruft und ihn von einem Remotecomputer aus aufruft – Verthosa

+0

Das scheint tatsächlich der Fall zu sein, leider. Die MSDN-Dokumentseite ist nicht wirklich klar, da sie darauf hinweist, dass sie von "SharePoint 2013" aus zugänglich ist (ohne zu erwähnen, dass sie ausschließlich über die Online-Version zugänglich ist). Danke für deine Hilfe trotzdem! :) –