Compartir a través de


Uso de características de localización en Office 365 complemento de ejemplo

El ejemplo Core.CreateContentTypes muestra cómo usar las características de localización de Office 365 en sitios, listas, tipos de contenido y columnas de sitio. En este ejemplo de código se usa una aplicación de consola para hacer lo siguiente:

  • Cree tipos de contenido, columnas de sitio y listas, y asocie columnas de sitio con tipos de contenido.
  • Localice el tipo de contenido, la columna de sitio, la lista y un sitio proporcionado por el usuario.

Nota:

Las características de localización descritas en este artículo solo están disponibles en Office 365. Para obtener información sobre las características de localización que están disponibles en Office 365 Dedicado o SharePoint Server local, vea Localización de complementos de SharePoint y Localización de soluciones de SharePoint.

Antes de empezar

Para empezar, descargue el complemento de ejemplo Core.CreateContentTypes del proyecto Office 365 Developer Patterns and Practices en GitHub.

Antes de ejecutar este ejemplo de código, complete los pasos siguientes.

Configuración del idioma en el sitio

  1. En el sitio del equipo, elija Configuración Configuración>del sitio.

  2. En Administración del sitio, elija Configuración de idioma.

  3. En la página Configuración de idioma , en Idiomas alternativos, elija los idiomas alternativos que el sitio debe admitir. Por ejemplo, puede elegir finlandés y francés, como se muestra en la ilustración siguiente.

    Captura de pantalla que muestra la configuración de idioma de un sitio.

  4. Elija Aceptar.

Establecer el idioma para mostrar en la página de perfil del usuario

  1. En la parte superior del sitio de Office 365, elija la imagen de perfil y, después, Acerca de mí.

    Captura de pantalla de la página de perfil de usuario con Acerca de mí resaltado

  2. En la página Acerca de mí , elija Editar su perfil.

  3. Elija ... (opciones adicionales) y, a continuación, elija Idioma y región.

  4. En Mis idiomas de presentación, elija un nuevo idioma similar al que estableció en el sitio mediante la lista Elegir un nuevo idioma y, a continuación, elija Agregar. Por ejemplo, elija Finés y Francés como se muestra. Puede mover el idioma que prefiera hacia arriba o hacia abajo si elige las flechas arriba y abajo.

    Captura de pantalla de la sección Idioma y región de la página del perfil del usuario

  5. Elija Guardar todo y cerrar.

Nota:

El sitio puede tardar unos minutos en representarse en los idiomas seleccionados.

Ejecución de la aplicación de ejemplo Core.CreateContentTypes

Al ejecutar este ejemplo de código, se muestra una aplicación de consola, como se muestra en la ilustración siguiente. Debe proporcionar el sitio para localizar y las credenciales del administrador de Office 365.

Captura de pantalla de la aplicación de consola Core.CreateContentTypes

Cuando se ejecuta la aplicación de consola, el método Main de Program.cs realiza las siguientes tareas:

  • Llama al método CreateContentTypeIfDoesNotExist para crear un tipo de contenido denominado Documento de Contoso.

  • Llama al método CreateSiteColumn para crear una columna de sitio denominada Contoso String.

  • Llama al método AddSiteColumnToContentType para vincular la columna de sitio De cadena de Contoso al tipo de contenido Documento de Contoso .

  • Llama al método CreateCustomList para crear una nueva lista denominada MyList.

A continuación, el método Main llama a los métodos LocalizeSiteAndList y LocalizeContentTypeAndField .

El método LocalizeSiteAndList muestra cómo hacer lo siguiente:

  • Establezca diferentes valores localizados para el título y la descripción de un sitio mediante el método SetValueForUICulture en las propiedades TitleResource y DescriptionResource del objeto Web .

  • Establezca diferentes valores localizados para el título y la descripción de un sitio mediante el método SetValueForUICulture en las propiedades TitleResource y DescriptionResource del objeto Web .

El método LocalizeContentTypeAndField muestra cómo hacer lo siguiente:

  • Establezca diferentes valores localizados para el nombre y la descripción de un tipo de contenido mediante el método SetValueForUICulture en las propiedades NameResource y DescriptionResource del objeto ContentType .

  • Establezca diferentes valores localizados para el título y la descripción de un sitio mediante el método SetValueForUICulture en las propiedades TitleResource y DescriptionResource del objeto Field .

Nota:

El código de este artículo se proporciona tal cual, sin garantía de ningún tipo, expresa o implícita, incluidas las garantías implícitas de aptitud para un propósito particular, comerciabilidad o ausencia de infracción.

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();
        }

Como se muestra en la ilustración siguiente, el sitio muestra el título de francés personalizado Hola mundo - Francés, que se estableció mediante el método LocalizeSiteAndList.

Captura de pantalla del título de la página personalizada actualizada

Vea también