Класс SPUserResource
Ресурс пользовательских локализуемых.
Иерархия наследования
System.Object
Microsoft.SharePoint.SPUserResource
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public NotInheritable Class SPUserResource
'Применение
Dim instance As SPUserResource
public sealed class SPUserResource
Замечания
Ресурс пользователя — строка, содержащая текст, используемый многоязыкового интерфейса пользователя (MUI). Например ресурс может представлять описание веб-сайта. В этом случае одного SPUserResource объект, представляющий описание будет содержать текст, используемый для каждого из языков, поддерживаемых веб-сайта.
При создании нового ресурса текст для всех языков и региональных параметров находится в язык по умолчанию для веб-сайта. Следовательно кто-то перевода текста для конкретного языка и региональных параметров и Добавление перевода ресурса, заменяя непереведенные текст. Это можно сделать, который является необходимо задать свойство Thread.CurrentUICulture текущего потока на нужный язык, а затем установите свойство Value объекта ресурсов на локализованные строки. Другой способ — вызовите метод SetValueForUICulture , указав локализованное значение и региональных параметров.
Примеры
Следующий пример является консольное приложение, которое выводит данные из объекта SPUserResource , возвращаемого свойством TitleResource объект SPWeb . Сначала приложение выведет название языка, связанного с выполняемого потока и соответствующее значение ресурс. Затем печатаются имя языка по умолчанию для веб-сайта и его соответствующее значение ресурс. И, наконец Если этот параметр включен пакет многоязыкового интерфейса пользователя для веб-сайта, приложение выведет именами и значениями ресурсов для каждого альтернативного языка, который поддерживает сайта.
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Threading;
using Microsoft.SharePoint;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.RootWeb)
{
// Get the user resource for the Web site's title.
SPUserResource resource = web.TitleResource;
string format = "Language: {0} | Value: {1}";
// Display the value of the resource in the language of the current thread.
Console.WriteLine("Current Thread");
Console.WriteLine(format, CultureInfo.CurrentCulture.Name, resource.Value);
// Display the value for the default language.
CultureInfo uiDefault = web.UICulture;
Console.WriteLine("\nWeb Site Default");
Console.WriteLine(format, uiDefault.Name, resource.GetValueForUICulture(uiDefault));
if (web.IsMultilingual)
{
// Display the value of the resource for each supported language.
Console.WriteLine("\nAlternate Languages");
IEnumerable<CultureInfo> cultures = web.SupportedUICultures;
foreach (CultureInfo culture in cultures)
{
if (culture.LCID == uiDefault.LCID)
continue;
string value = resource.GetValueForUICulture(culture);
Console.WriteLine(format, culture.Name, value);
}
}
else
{
Console.WriteLine("\nMUI is not enabled.");
}
}
}
Console.Write("\nPress ENTER to continue....");
Console.Read();
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Globalization
Imports System.Threading
Imports Microsoft.SharePoint
Module ConsoleApp
Sub Main()
Using site As New SPSite("https://localhost")
Using web As SPWeb = site.OpenWeb()
' Get the user resource for the Web site's title.
Dim resource As SPUserResource = web.TitleResource
Dim format As String = "Language: {0} | Value: {1}"
' Display the value of the resource in the language of the current thread.
Console.WriteLine("Current Thread")
Console.WriteLine(format, CultureInfo.CurrentCulture.Name, resource.Value)
' Display the value for the default language.
Dim uiDefault As CultureInfo = web.UICulture
Console.WriteLine(vbLf & "Web Site Default")
Console.WriteLine(format, uiDefault.Name, resource.GetValueForUICulture(uiDefault))
If web.IsMultilingual Then
' Display the value of the resource for each supported language.
Console.WriteLine(vbLf & "Alternate Languages")
Dim cultures As IEnumerable(Of CultureInfo) = web.SupportedUICultures
For Each culture As CultureInfo In cultures
If culture.LCID = uiDefault.LCID Then
Continue For
End If
Dim value As String = resource.GetValueForUICulture(culture)
Console.WriteLine(format, culture.Name, value)
Next
Else
Console.WriteLine(vbLf & "MUI is not enabled.")
End If
End Using
End Using
Console.Write(vbCrLf & "Press ENTER to continue....")
Console.Read()
End Sub
End Module
Потокобезопасность
Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.
См. также
Справочные материалы
Пространство имен Microsoft.SharePoint