SPWeb.ImportUserResources method
Importa recursos de usuário para o idioma especificado.
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'Declaração
Public Sub ImportUserResources ( _
language As CultureInfo, _
inputFile As Stream _
)
'Uso
Dim instance As SPWeb
Dim language As CultureInfo
Dim inputFile As Stream
instance.ImportUserResources(language, _
inputFile)
public void ImportUserResources(
CultureInfo language,
Stream inputFile
)
Parâmetros
language
Type: System.Globalization.CultureInfoEspecifica a cultura para a qual os recursos estão a ser importado. O valor deve ser uma das culturas na coleção retornada pela propriedade SupportedUICultures , mas ele não pode ser a cultura padrão para a interface do usuário do site, o valor retornado pela propriedade UICulture .
inputFile
Type: System.IO.StreamUm fluxo de dados de recursos do usuário. Os dados devem estar em.Formato de arquivo resx.
Exceptions
Exception | Condition |
---|---|
InvalidOperationException | Nenhum idioma alternativo está habilitado no site. |
InvalidOperationException | O idioma especificado não é um dos idiomas instalados. |
InvalidOperationException | Não há suporte para o idioma do site, ou é o idioma padrão. Não é possível importar recursos para o idioma padrão de um site. |
InvalidOperationException | O arquivo de entrada não pode ser importado porque o seu idioma não corresponde ao idioma especificado. |
Comentários
Você pode chamar o método ExportUserResources para criar um arquivo de recurso para cada um dos idiomas suportados pelo site e, em seguida, permitir que os arquivos para alguém que pode converter as cadeias de caracteres que eles contêm. Quando esse trabalho for concluído, você pode chamar o método ImportUserResources para importar traduções, tornando-os disponíveis para a interface do usuário multilíngüe.
Não é possível importar recursos para o idioma padrão do site. Novo texto para a interface de usuário é criado no idioma padrão e subseqüentemente é traduzido para idiomas alternativos. O texto do idioma padrão é usado como o valor do recurso para idiomas alternativos até que as traduções são fornecidas. Para obter mais informações, consulte a propriedade OverwriteTranslationsOnChange .
Examples
O exemplo a seguir é um aplicativo de console que procura por um arquivo de recurso com cultura específica para cada um dos idiomas alternativos suportados por um site. Se o aplicativo localiza um arquivo de recurso, ele importa.
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
Ver também
Referência
Microsoft.SharePoint namespace