Saturday, October 31, 2009

Resources em SharePoint

Autor:André Lage
Publicação:__________
Download:Documento
(EN)TranslateLink
 
Resources em Solução de Sharepoint

Umas das situações que tenho encontrado em algumas soluções na internet, e a utilização no codigo de textos, sem ter a possibilidade de alterar o seu conteudo para outra lingua, sem ser a padrão ou seja a "Inglesa".
Ao realizar este artigo prentendo que os desenvolvedores de Sharepoint tenham a capacidade de disponibilizar as suas soluções que possam ser usadas em várias Linguagem e outros paises que não o de origem.   

Solução SharePoint em Visual Studio 

Para asssociar ao projecto deverá ser criado a pasta "<hive>\12\CONFIG\Resources\" que será de suporte ao ficheiros a traduzir.
[Nome Projecto].resx
[Nome Projecto].pt-PT.resx
[Nome Projecto].en-US.resx

Para utilizar os resources como os ficheiro Features e soluções de apoio de SharePoint que se encontram na pasta Hive"12", como os ficheiros FEATURE.XML deverá ser necessário criar os resources na pasta ""<hive>\12\Resources\".
[Nome Projecto].resx
[Nome Projecto].pt.resx
[Nome Projecto].en.resx


 



 
Para utilizar os resources em código podemos utilizar o seguinte exemplo:
HttpContext.GetGlobalResourceObject("[Nome Projecto]", "[nome da String]").ToString();

 

Para usar resources em modulo de XML
Exemplo Feature.XML:
$Resources:MyResource, MyName



 


Sempre que for necessário adicionar algum texto de apoio directamente nas páginas "ASPX" ou "ASCX", este deverá vir dos ficheiro resx.
Exemplo:
<%$ Resources:[Nome Projecto], [nome da String] %> 




Neste Exemplo é demonstrado a arquitectura da nossa solução tendo uma imagem de como a estrutura dos ficheiros de Visual Studio ira reflectir na Solução de Sharepoint.  
Em Anexo fica a solução que podemo utilizar como ajuda ao desenvolvimento.




 

Instalação da Solução e 


Depois de criar a nossa solução WSP, podemos utilizar a a solução Sharepoint Installer de uma maneira simples, simples.




 
Para utilizar os resources criados que são guardados na pasta Hive""\12\Config\Resources", será ser necessário copiar para o pasta do Site de Sharepoint "c:\inetpub\wwwroot\wss\VirtualDirectories\80\App_GlobalResources" que vai ser utilizado para realizar a tradução da Cultura do Site.
Para realizar esta tarefa a Microsoft disponibilizou uma linha de comandos para copiar estes ficheiros para a pasta de Site de Sharepoint
EXEMPLO:
"Stsadm -o copyappbincontent"


Os novos resources em "\12\Config\Resources" são copiados para o pasta do Site de Sharepoint "c:\inetpub\wwwroot\wss\VirtualDirectories\80\App_GlobalResources"




 
Depois de instalada a solução WSP no site a utilizar é necessário activar a Feature para utilizar a WebPart com UserControl utilizando Resources. 
 

Depois de activada a nossa solução, podemos adicionar a nossa WebPart para ver o resultado final, se o Site estiver como Lingua Base Ingles, entao aparece em "1033", se for em Português aparece o Texto em "2070".



Feito, aqui deixo em anexo a solução que podem utilizar para criar as soluções usando Resources.
Espero que tenham gostado desta solução e que seja bastante útil, as vezes é complicado passar todas as ideias que tenho na cabeça para o papel, sim uma verdadeira tempestade...
Bom aqui mando um abraço de Portugal para toda a gente :) ......


2 comments:

Unknown said...

O SharePoint Installer não "funca" com o WSS, pena :(

André Lage said...

Joao como falamos ao telefone, ele funciona a questão era mesmo saber como utilizar :).

Aqui tens um exemplo de um projecto de uma Webpart com UserControl
Documento