Usar recursos de localização no suplemento de exemplo Office 365
O exemplo Core.CreateContentTypes mostra como usar os recursos de localização de Office 365 em sites, listas, tipos de conteúdo e colunas de site. Este exemplo de código usa um aplicativo de console para fazer o seguinte:
- Crie tipos de conteúdo, colunas de site e listas e associe colunas de site a tipos de conteúdo.
- Localize o tipo de conteúdo, a coluna do site, a lista e um site fornecido pelo usuário.
Observação
Os recursos de localização descritos neste artigo só estão disponíveis em Office 365. Para obter informações sobre os recursos de localização que estão disponíveis no Office 365 Dedicado ou no SharePoint Server local, consulte Localizar suplementos do SharePoint e Localizar soluções do SharePoint.
Antes de começar
Para começar, baixe o suplemento de exemplo Core.CreateContentTypes do projeto Office 365 Padrões e Práticas do Desenvolvedor no GitHub.
Antes de executar este exemplo de código, conclua as etapas a seguir.
Configurar as configurações de idioma em seu site
No site da equipe, escolha Configurações Configurações Configurações>configurações do site.
Em Administração de Site, escolha Configurações de idioma.
Na página Configurações de Idioma, em Idiomas alternativos, escolha os idiomas alternativos que seu site deve oferecer suporte. Por exemplo, você pode escolher finlandês e francês, conforme mostrado na figura a seguir.
Escolha OK.
Defina o idioma de exibição na página de perfil do usuário
Na parte superior do seu site do Office 365, escolha a imagem de perfil e escolha Sobre mim.
Na página Sobre mim , escolha Editar seu perfil.
Escolha ... (opções adicionais) e escolha Idioma e Região.
Em Meus Idiomas de Exibição, escolha um novo idioma semelhante ao que você definiu no site usando a lista Escolher um novo idioma e escolha Adicionar. Por exemplo, escolha finlandês e francês , conforme mostrado. Você pode mover seu idioma preferido para cima ou para baixo escolhendo as setas para cima e para baixo.
Escolha Salvar tudo e fechar.
Observação
Pode levar alguns minutos para seu site renderizar nos idiomas selecionados.
Executar o aplicativo de exemplo Core.CreateContentTypes
Quando você executa esse exemplo de código, um aplicativo de console é exibido, conforme mostrado na figura a seguir. Você precisa fornecer o site para localizar e as credenciais do administrador do Office 365.
Quando o aplicativo de console é executado, o método Main em Program.cs executa as seguintes tarefas:
Chama o método CreateContentTypeIfDoesNotExist para criar um tipo de conteúdo chamado Contoso Document.
Chama o método CreateSiteColumn para criar uma coluna de site chamada Cadeia de Caracteres Contoso.
Chama o método AddSiteColumnToContentType para vincular a coluna do site da Cadeia de Caracteres contoso ao tipo de conteúdo Contoso Document .
Chama o método CreateCustomList para criar uma nova lista chamada MyList.
Em seguida, o método Main chama os métodos LocalizeSiteAndList e LocalizeContentTypeAndField .
O método LocalizeSiteAndList mostra como fazer o seguinte:
Defina valores localizados diferentes para o título e a descrição de um site usando o método SetValueForUICulture nas propriedades TitleResource e DescriptionResource no objeto Web .
Defina valores localizados diferentes para o título e a descrição de um site usando o método SetValueForUICulture nas propriedades TitleResource e DescriptionResource no objeto Web .
O método LocalizeContentTypeAndField mostra como fazer o seguinte:
Defina valores localizados diferentes para o nome e a descrição de um tipo de conteúdo usando o método SetValueForUICulture nas propriedades NameResource e DescriptionResource no objeto ContentType .
Defina valores localizados diferentes para o título e a descrição de um site usando o método SetValueForUICulture nas propriedades TitleResource e DescriptionResource no objeto Field .
Observação
The code in this article is provided as-is, without warranty of any kind, either express or implied, including any implied warranties of fitness for a particular purpose, merchantability, or non-infringement.
private static void LocalizeSiteAndList(ClientContext cc, Web web)
{
// Localize the site title.
web.TitleResource.SetValueForUICulture("en-US", "Hello World");
web.TitleResource.SetValueForUICulture("fi-FI", "Hello World - Finnish");
web.TitleResource.SetValueForUICulture("fr-FR", "Hello World - French");
// Localize the site description.
web.DescriptionResource.SetValueForUICulture("en-US", "Hello World site sample");
web.DescriptionResource.SetValueForUICulture("fi-FI", " Hello World site sample - Finnish");
web.DescriptionResource.SetValueForUICulture("fr-FR", " Hello World site sample - French");
web.Update();
cc.ExecuteQuery();
// Localize the custom list that was created previously.
List list = cc.Web.Lists.GetByTitle("MyList");
cc.Load(list);
cc.ExecuteQuery();
// Localize the list title.
list.TitleResource.SetValueForUICulture("en-US", "Hello World");
list.TitleResource.SetValueForUICulture("fi-FI", "Hello World - Finnish");
list.TitleResource.SetValueForUICulture("fr-FR", " Hello World - French");
// Localize the list description.
list.DescriptionResource.SetValueForUICulture("en-US", "This example localizes a list using CSOM.");
list.DescriptionResource.SetValueForUICulture("fi-FI", "This example localizes a list using CSOM - Finnish.");
list.DescriptionResource.SetValueForUICulture("fr-FR", "This example localizes a list using CSOM - French.");
list.Update();
cc.ExecuteQuery();
}
private static void LocalizeContentTypeAndField(ClientContext cc, Web web)
{
ContentTypeCollection contentTypes = web.ContentTypes;
ContentType myContentType = contentTypes.GetById("0x0101009189AB5D3D2647B580F011DA2F356FB2");
cc.Load(contentTypes);
cc.Load(myContentType);
cc.ExecuteQuery();
// Localize content type name.
myContentType.NameResource.SetValueForUICulture("en-US", "Contoso Document");
myContentType.NameResource.SetValueForUICulture("fi-FI", "Contoso Document - Finnish");
myContentType.NameResource.SetValueForUICulture("fr-FR", "Contoso Document - French");
// Localize content type description.
myContentType.DescriptionResource.SetValueForUICulture("en-US", "This is the Contoso Document.");
myContentType.DescriptionResource.SetValueForUICulture("fi-FI", " This is the Contoso Document - Finnish.");
myContentType.DescriptionResource.SetValueForUICulture("fr-FR", " This is the Contoso Document - French.");
myContentType.Update(true);
cc.ExecuteQuery();
// Localize the site column.
FieldCollection fields = web.Fields;
Field fld = fields.GetByInternalNameOrTitle("ContosoString");
// Localize site column title.
fld.TitleResource.SetValueForUICulture("en-US", "Contoso String");
fld.TitleResource.SetValueForUICulture("fi-FI", "Contoso String - Finnish");
fld.TitleResource.SetValueForUICulture("fr-FR", "Contoso String - French");
// Localize site column description.
fld.DescriptionResource.SetValueForUICulture("en-US", "Used to store Contoso specific metadata.");
fld.DescriptionResource.SetValueForUICulture("fi-FI", "Used to store Contoso specific metadata - Finnish.");
fld.DescriptionResource.SetValueForUICulture("fr-FR", "Used to store Contoso specific metadata - French.");
fld.UpdateAndPushChanges(true);
cc.ExecuteQuery();
}
Conforme mostrado na figura a seguir, seu site exibe seu título francês personalizado Olá, Mundo - Francês, que foi definido usando o método LocalizeSiteAndList.