Localizar soluções do SharePoint
O processo de preparação de aplicativos para que eles possam ser usados em todo o mundo é conhecido como localização. A localização é a tradução de recursos para uma cultura específica. Para obter mais informações, confira Globalizar e localizar aplicativos. Este tópico fornece uma visão geral sobre como localizar uma solução do SharePoint.
Para localizar uma solução, você remove cadeias de caracteres embutidas no código e as abstrai para colocá-las em arquivos de recurso. Um Arquivo de recurso é um arquivo baseado em XML com uma extensão .resx
. O arquivo de recurso contém as versões traduzidas das cadeias de caracteres usadas em sua solução. Para obter mais informações, confira Recursos em aplicativos.
Observação
Adicione apenas recursos de cadeia de caracteres aos arquivos de recurso da solução do SharePoint. Embora o Editor de Recursos permita que você adicione recursos que não sejam cadeia de caracteres, esses recursos não são implantados no SharePoint.
Arquivos de recurso
Há três tipos de arquivos de recurso: padrão, com neutralidade de idioma e específico a um idioma.
Tipo de arquivo de recurso | Descrição |
---|---|
Padrão | Também conhecido como um recurso de fallback, os arquivos de recurso padrão contêm cadeias de caracteres localizadas de acordo com a cultura padrão, como o inglês. Eles serão usados se nenhum arquivo de recurso localizado para o idioma especificado for encontrado. Os recursos padrão não têm arquivos separados, eles são armazenados no assembly principal do aplicativo. |
Com neutralidade de idioma | Um arquivo de recurso que contém cadeias de caracteres localizadas para um idioma, mas não uma cultura específica. Por exemplo, "fr" para francês. |
Específico do idioma | Um arquivo de recurso que contém cadeias de caracteres localizadas para um idioma e uma cultura. Por exemplo, "fr-CA" para francês canadense. |
Para obter mais informações, confira Organização hierárquica de recursos para localização.
Para especificar arquivos de recursos padrão em projetos do SharePoint que você desenvolve no Visual Studio, escolha Idioma invariável (País invariável) na lista de cultura da caixa de diálogo Adicionar Recurso ao adicionar um arquivo de recurso.
Adicionar um arquivo de recurso
Os comandos para adicionar arquivos de recurso estão no menu de atalho do nó da solução e dos nós de recurso no Gerenciador de Soluções.
Para adicionar um arquivo de recurso global a uma solução do SharePoint
No Visual Studio, abra uma solução do SharePoint.
Em Gerenciador de Soluções, escolha um nó de projeto do SharePoint e, na barra de menus, escolha Projeto>Adicionar Novo Item.
Na caixa de diálogo Adicionar Novo Item, escolha o modelo Arquivo de Recursos Globais e, em seguida, escolha o botão Adicionar.
Observação
O modelo de item de projeto Arquivo de Recursos Globais aparece somente quando um item de projeto do SharePoint é selecionado.
Na caixa de diálogo Adicionar Recurso, escolha uma cultura para o arquivo de recurso, como Inglês (Estados Unidos).
Esta etapa adiciona um arquivo de recurso global à sua solução no formato
{Resource_x_}.{culture}.resx
, como Resource1.en-US.resx.Quando o Editor de Recursos for aberto no Visual Studio, adicione recursos ao arquivo de recurso.
Para adicionar um arquivo de recurso a um recurso do SharePoint
Se a solução do SharePoint ainda não estiver aberta no Visual Studio, abra a solução.
No Gerenciador de Soluções, abra o menu de atalho para o nome de um recurso no nó Recursos e escolha Adicionar Recurso de Recurso.
Esta etapa adiciona um arquivo de recurso ao recurso no formato
{ResourceFileName}.{culture}{.resx}
, como Feature1.en-US.resx.Quando o Editor de Recursos for aberto no Visual Studio, adicione recursos ao arquivo de recurso.
Localizar soluções do SharePoint do Visual Studio
Ao localizar uma solução, você deve considerar todas as informações textuais que a solução exibe aos usuários. Mensagens informativas, mensagens de erro e cadeias de caracteres da interface do usuário devem ser traduzidas e essas traduções colocadas nos arquivos de recurso.
Cada cadeia de caracteres em um arquivo de recurso tem um identificador exclusivo. Use o mesmo identificador para a cadeia de caracteres traduzida em cada arquivo de recurso. Por exemplo, se "String1" for o identificador da primeira cadeia de caracteres no arquivo de recurso padrão, use o mesmo identificador para a primeira cadeia de caracteres nos arquivos de recurso específicos a um idioma.
Há três áreas que você normalmente localiza em aplicativos do SharePoint do Visual Studio: recursos, marcação de página ASPX e código. Para fins de ilustração, as seções a seguir pressupõem que você tenha uma solução do SharePoint que deseja localizar para alemão e japonês. O idioma padrão é inglês.
Localizar recursos
Para localizar um recurso, você precisa substituir o título embutido em código e a descrição do recurso por uma expressão que referencie o título traduzido e a cadeia de caracteres no arquivo de recurso localizado. Você faz essa alteração no Designer de Recursos no Visual Studio.
Para localizar o recurso em inglês para alemão e japonês, adicione três itens de projeto do Arquivo de Recurso ao seu projeto: um para inglês, um para alemão e outro para japonês. Os arquivos de recursos não podem ser usados para localizar marcação ou código ASPX. São necessários arquivos de recurso separados para eles.
Depois de criar os arquivos de recurso, adicione cadeias de caracteres traduzidas a eles. Acesse as cadeias de caracteres localizadas com uma expressão no seguinte formato:
$Resources:String ID
Os recursos no Visual Studio são sempre chamadas de Resources. Se você selecionar um idioma diferente do Idioma Invariável, uma ID de cultura será adicionada ao nome do arquivo de recurso. Por exemplo, se você adicionar um arquivo de recurso de idioma invariável (padrão), ele será chamado de Resources.resx. Se você adicionar um recurso específico a um idioma selecionando uma cultura do japonês (Japão), o arquivo será chamado Resources.ja-JP.resx. Os nomes de arquivos de recurso são atribuídos automaticamente e não podem ser alterados.
O escopo dos recursos é local em relação à funcionalidade à qual eles são adicionados. Para criar recursos que possam ser usados por qualquer funcionalidade ou arquivo de elemento na solução, adicione um item de projeto Arquivo de Recursos Globais em vez de um Arquivo de recurso. O item de projeto Arquivo de Recursos Globais está localizado na pasta 2010 em SharePoint na caixa de diálogo Adicionar Novo Item. Os arquivos de recursos globais são implantados na pasta \Resources da pasta raiz do SharePoint.
Para localizar um recurso
No Gerenciador de Soluções, abra o menu de atalho do nó Recurso1 e escolha Adicionar Recurso da Funcionalidade.
Na caixa de diálogo Adicionar Recurso, escolha Idioma Invariável na lista como a cultura do arquivo de recurso de idioma padrão.
Repita a etapa anterior para cada idioma localizado, escolhendo os idiomas de sua escolha para os arquivos de recurso localizados.
Arquivos de recurso de funcionalidade separados são criados: um para o idioma padrão e outro para cada idioma localizado que você deseja dar suporte.
Abra cada arquivo de recurso no Editor de Recursos e insira todas as IDs de cadeia de caracteres e seus valores.
Por exemplo, no arquivo de recurso padrão, insira uma ID de cadeia de caracteres de Título com um valor de Meu Título de Recurso e uma segunda ID de cadeia de caracteres de Descrição com um valor de Descrição do Meu Recurso. Para cada arquivo de recurso localizado, use as mesmas IDs de cadeia de caracteres usadas no recurso padrão, mas insira cadeias de caracteres localizadas para os valores.
Depois de inserir todos os valores de recurso, abra o menu de atalho do recurso (por exemplo, Feature1.feature) e escolha Designer de Exibição para abrir o recurso no Designer de Recursos.
Para localizar os campos Título e Descrição no recurso, use o seguinte formato para inserir valores em suas caixas:
$Resources:
ID da Cadeia de CaracteresPor exemplo, insira $Resources:Title na caixa Título do Recurso e $Resources:Descrição na caixa Descrição do Recurso.
As IDs da cadeia de caracteres devem corresponder às usadas nos arquivos de recurso.
Selecione a tecla F5 para compilar e executar o aplicativo.
No SharePoint, abra o menu Ações do Site, escolha Configurações do Site e, na seção Ações do Site, escolha o link Gerenciar Recursos do Site.
No SharePoint, altere o idioma de exibição do padrão.
O título e a descrição do recurso localizado aparecem no aplicativo. Para exibir recursos localizados, o servidor do SharePoint deverá ter um pacote de idiomas instalado que corresponda à cultura do arquivo de recurso.
Localizar marcação de página ASPX
Para localizar páginas ASP.NET, adicione três itens de projeto de Arquivo de recurso ao seu projeto: um para inglês, um para alemão e outro para japonês. Se além da marcação, você não precisar localizar o código, poderá adicionar um item do tipo Arquivos de Recursos Globais.
Páginas ASP.NET (.aspx) normalmente usam valores de cadeia de caracteres embutidos em código. Para localizar essas cadeias de caracteres, substitua-as por expressões que referenciam recursos localizados.
Para localizar marcação de ASPX
Adicione arquivos de recurso separados: um para a linguagem padrão e outro para cada linguagem localizada.
Se você estiver localizando apenas a marcação e não o código, adicione um item de projeto Arquivo de Recursos Globais. Se você estiver localizando código e marcação, adicione um item de projeto Arquivo de Recursos.
Para adicionar um Arquivo de Recursos Globais, em Gerenciador de Soluções, abra o menu de atalho de um item de projeto do SharePoint e escolha Adicionar>Novo Item. No nó SharePoint 2010, escolha o modelo Arquivo de Recursos Globais.
Para adicionar um Arquivo de Recursos, em Gerenciador de Soluções, abra o menu de atalho de um item de projeto do SharePoint e escolha Adicionar>Novo Item. Escolha o modelo Arquivo de Recursos.
Observação
Adicione os arquivos de recurso a um item de projeto do SharePoint para habilitar a propriedade Tipo de Implantação. Essa propriedade é necessária posteriormente neste procedimento. Se a sua solução não tiver um item de projeto do SharePoint, você poderá adicionar um projeto vazio do SharePoint e remover seu arquivo padrão Elements.xml.
Dê ao arquivo de recurso da linguagem padrão um nome de sua preferência e acrescente uma extensão
.resx
, como MyAppResources.resx. Use o mesmo nome base para cada arquivo de recurso localizado, mas adicione a ID de cultura. Por exemplo, nomeie um recurso localizado em alemão MyAppResources.de-DE.resx.Altere o valor da propriedade Tipo de Implantação de cada arquivo de recurso para AppGlobalResource para fazer com que eles sejam implantados na pasta App_GlobalResources do servidor. A pasta App_GlobalResources está em C:\inetpub\wwwroot\wss\VirtualDirectories\<número da porta>\App_GlobalResources.
Se você estiver usando os recursos para localizar código além da marcação de ASPX, deixe o valor da propriedade Ação de Build de cada arquivo como Recurso Inserido. Se você estiver usando os arquivos de recurso apenas para localizar a marcação, opcionalmente, poderá alterar o valor da propriedade dos arquivos para Conteúdo. Para obter mais informações, consulte Localizar soluções do SharePoint.
Observação
Se você usar arquivos de recursos não globais, mova-os para a pasta do item de projeto para habilitar a propriedade Tipo de Implantação e outras propriedades específicas do SharePoint.
Abra cada arquivo de recurso e adicione cadeias de caracteres localizadas, usando as mesmas IDs de cadeia de caracteres em cada arquivo.
Na marcação XML para a página ou controle de ASPX, substitua as cadeias de caracteres embutidas em código por valores que usam o seguinte formato:
<%$Resources:Resource File Name, String ID%>
Por exemplo, para localizar o texto de um controle de rótulo em uma página de aplicativo, você alteraria:
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> <asp:Label ID="lbl" runat="server" Text="Label text"></asp:Label> </asp:Content>
como
<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> <asp:Label ID="lbl" runat="server" Text="<%$Resources:MyAppResources,String1%>"></asp:Label> </asp:Content>
Escolha a tecla F5 para compilar e executar o aplicativo.
No SharePoint, altere o idioma de exibição do padrão.
As cadeias de caracteres localizadas aparecem no aplicativo. Para exibir recursos localizados, o servidor do SharePoint deverá ter um pacote de idiomas instalado que corresponda à cultura do arquivo de recurso.
Localizar código
Além de localizar cadeias de caracteres de Recurso e marcação ASP.NET, você também precisa localizar as cadeias de caracteres de mensagens e de erros que aparecem no código da solução. Mensagens informativas e de erro localizadas ficam em assemblies satélites. Os assemblies satélites contêm cadeias de caracteres visíveis para os usuários, como texto da interface do usuário e mensagens de saída, como exceções.
O Visual Studio usa o modelo de hub e spoke padrão do .NET Framework. O hub ou o assembly do programa principal contém os recursos do idioma padrão. Os spokes ou assemblies satélites contêm os recursos específicos a um idioma. Para obter mais informações, consulte Empacotamento e implantação de recursos. Os assemblies satélite são compilados com arquivos de recurso (.resx
). Quando você adiciona arquivos de recurso específicos a um idioma ao projeto e ao pacote da solução, o Visual Studio compila os arquivos de recurso em assemblies satélites chamados {Nome do projeto}.resources.dll.
Para localizar código
No Gerenciador de Soluções, abra o menu de atalho para um item de projeto e, em seguida, escolha Adicionar>Módulo.
Escolha o modelo Arquivo de Recursos.
Observação
Adicione os arquivos de recurso a um item de projeto do SharePoint para disponibilizar a propriedade Tipo de Implantação. Essa propriedade é necessária posteriormente neste procedimento.
Dê ao arquivo de recurso da linguagem padrão um nome de sua preferência e acrescente uma extensão
.resx
, como MyAppResources.resx.Repita as etapas 1 e 2 para adicionar arquivos de recurso separados ao item de projeto do SharePoint: um para cada idioma localizado.
Use o mesmo nome base para cada arquivo de recurso localizado, mas adicione a ID de cultura. Por exemplo, nomeie um recurso localizado em alemão MyAppResources.de-DE.resx.
Abra cada arquivo de recurso e adicione cadeias de caracteres localizadas. Use as mesmas IDs de cadeia de caracteres em cada arquivo.
Altere o valor da propriedade Tipo de Implantação de cada arquivo de recurso para AppGlobalResource para fazer com que cada arquivo seja implantado na pasta App_GlobalResources do servidor.
Deixe o valor da propriedade Build Action de cada arquivo como Recurso Inserido.
Os recursos inseridos são compilados na DLL do projeto.
Crie o projeto para criar as DLLs satélite do recurso.
No Designer de Pacotes, escolha a guia Avançado e adicione o assembly satélite.
Na caixa Localização, acrescente uma pasta de ID de cultura ao caminho do local, como de-DE\<Nome do item do projeto>.resources.dll.
Se a sua solução ainda não fizer referência ao assembly
System.Web
, adicione uma referência a ela e adicione uma diretiva em seu código a System.Web.Localize todas as cadeias de caracteres embutidas em código em seu código visíveis para os usuários, como texto da interface do usuário, erros e texto da mensagem. Substitua-as por uma chamada para o método GetGlobalResourceObject usando a seguinte sintaxe:
HttpContext.GetGlobalResourceObject("Resource File Name", "String ID")
Selecione a tecla F5 para compilar e executar o aplicativo.
No SharePoint, altere o idioma de exibição do padrão.
As cadeias de caracteres localizadas aparecem no aplicativo. Para exibir recursos localizados, o servidor do SharePoint deverá ter um pacote de idiomas instalado que corresponda à cultura do arquivo de recurso.
O código não localizado usa valores de cadeia de caracteres embutidos em código. Para localizar cadeias de caracteres de código, substitua-as por chamadas para GetGlobalResourceObject, que é um método que faz referência a recursos localizados.
Localização de código de Web Part
As Web Parts têm um recurso de editor de propriedades personalizado que inclui atributos de código que usam cadeias de caracteres embutidas em código, como WebDisplayName, Category e WebDescription. Para substituir os valores de cadeia de caracteres desses atributos, crie uma classe separada derivada da classe do atributo. Nessas classes, defina a propriedade do atributo. A propriedade do atributo depende da classe base. Por exemplo, a propriedade do atributo WebDisplayName é DisplayNameValue e a propriedade do atributo WebDescription é DescriptionValue.
Na classe derivada, faça referência à ID da cadeia de caracteres do arquivo de recurso e ao objeto ResourceManager para obter o valor localizado da ID da cadeia de caracteres. Retorne esse valor para o atributo do editor de propriedades.