Метод SPWeb.ImportUserResources
Импортирует ресурсы пользователя для указанного языка.
Пространство имен: Microsoft.SharePoint
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
Public Sub ImportUserResources ( _
language As CultureInfo, _
inputFile As Stream _
)
'Применение
Dim instance As SPWeb
Dim language As CultureInfo
Dim inputFile As Stream
instance.ImportUserResources(language, _
inputFile)
public void ImportUserResources(
CultureInfo language,
Stream inputFile
)
Параметры
language
Тип: System.Globalization.CultureInfoЗадает язык и региональные параметры, для которых ресурсы должны импортироваться. Значение должно быть одним из языков и региональных параметров в коллекцию, возвращаемую свойством SupportedUICultures , но не может быть по умолчанию языка и региональных параметров для пользовательского интерфейса веб-узла, значение, возвращаемое свойством UICulture .
inputFile
Тип: System.IO.StreamПоток с данными пользователя ресурса. Данные должны быть в.Формат файла RESX.
Исключения
Исключение | Условие |
---|---|
InvalidOperationException | На сайте включены дополнительные языки. |
InvalidOperationException | Указанный язык не является одним из установленных языков. |
InvalidOperationException | Язык не поддерживается веб-сайтом, либо это язык по умолчанию. Не удается импортировать ресурсы для языка по умолчанию для веб-сайта. |
InvalidOperationException | Входной файл невозможно импортировать, поскольку его язык не соответствует языку. |
Замечания
Можно вызвать метод ExportUserResources , чтобы создать файл ресурсов для каждого из языков, поддерживаемых веб-узла и затем дайте тому, кто может осуществлять преобразование строки, которые содержат файлы. По завершении этой работы можно вызвать метод ImportUserResources для импорта переводов, делая их доступными для многоязыкового интерфейса пользователя.
Не удается импортировать ресурсы для языка по умолчанию для веб-сайта. Новый текст пользовательского интерфейса создается на языке по умолчанию и впоследствии переведен на дополнительные языки. Текст языка по умолчанию используется значение ресурса для дополнительные языки, пока переводы предоставляются. Свойство OverwriteTranslationsOnChange получения дополнительных сведений см.
Примеры
Следующий пример является консольным приложением, которое ищет файл ресурсов для определенного языка и региональных параметров, для каждого из альтернативных языков, поддерживаемых веб-сайта. Если приложение находит файл ресурсов, импортирует его.
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using Microsoft.SharePoint;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
using (SPSite site = new SPSite("https://localhost"))
{
using (SPWeb web = site.RootWeb)
{
if (web.IsMultilingual)
{
// Import resources for all alternate languages supported by the website.
IEnumerable<CultureInfo> cultures = web.SupportedUICultures;
foreach (CultureInfo culture in cultures)
{
// Skip the default language.
if (culture == web.UICulture)
continue;
// Try to get a resource file for the current language.
FileInfo fi = GetResxFileInfo(Environment.CurrentDirectory, culture.Name);
if (fi == null)
continue;
// If a file exists, import it.
using (FileStream fs = fi.OpenRead())
{
Console.WriteLine("Importing from {0}", fi.Name);
web.ImportUserResources(culture, fs);
}
}
}
}
}
Console.Write("\nPress ENTER to continue....");
Console.Read();
}
static FileInfo GetResxFileInfo(string path, string cultureName)
{
DirectoryInfo di = new DirectoryInfo(path);
string searchPattern = String.Format("*.{0}.resx", cultureName);
FileInfo[] fi = di.GetFiles(searchPattern);
return fi.Length > 0 ? fi[0] : null;
}
}
}
Imports System
Imports System.Collections.Generic
Imports System.Globalization
Imports System.IO
Imports Microsoft.SharePoint
Module ConsoleApp
Sub Main()
Using site As New SPSite("https://localhost")
Using web As SPWeb = site.RootWeb
If web.IsMultilingual Then
' Import resources for all alternate languages supported by the website.
Dim cultures As IEnumerable(Of CultureInfo) = web.SupportedUICultures
For Each culture As CultureInfo In cultures
' Skip the default language.
If culture Is web.UICulture Then
Continue For
End If
' Try to get a resource file for the current language.
Dim fi As FileInfo = GetResxFileInfo(Environment.CurrentDirectory, culture.Name)
If fi Is Nothing Then
Continue For
End If
' If a file exists, import it.
Using fs As FileStream = fi.OpenRead()
Console.WriteLine("Importing from {0}", fi.Name)
web.ImportUserResources(culture, fs)
End Using
Next
End If
End Using
End Using
Console.Write(vbCrLf & "Press ENTER to continue....")
Console.Read()
End Sub
Function GetResxFileInfo(ByVal path As String, ByVal cultureName As String) As FileInfo
Dim di As New DirectoryInfo(path)
Dim searchPattern As String = String.Format("*.{0}.resx", cultureName)
Dim fi As FileInfo() = di.GetFiles(searchPattern)
Return If(fi.Length > 0, fi(0), Nothing)
End Function
End Module
См. также
Справочные материалы
Пространство имен Microsoft.SharePoint