Personalizar etiquetas para admitir varios idiomas

Cuando se crean personalizaciones en Dynamics 365 Customer Engagement (on-premises), se puede admitir varios idiomas con etiquetas.

Usar etiquetas

Microsoft.Xrm.Sdk.dll API Web
Clase Label Etiqueta ComplexType
Clase LocalizedLabel ComplexType LocalizedLabel

Las etiquetas son cadenas localizadas que se muestran a los usuarios en las aplicaciones cliente. Se implementan mediante Label (Etiqueta ComplexType o clase Label), que admite paquetes de idiomas. Las cadenas que se muestran a los usuarios, como nombres de entidades u opciones de un conjunto de opciones, se pueden almacenar en varios idiomas. Los usuarios pueden seleccionar el idioma que desean mostrar en los formularios y vistas en Dynamics 365 Customer Engagement (on-premises).

En la siguiente tabla se enumeran todos los metadatos que usan Label.

Propiedad de metadatos Descripción
AttributeMetadata.Description Descripción de un atributo.
AttributeMetadata.DisplayName Muestra el nombre de un atributo.
EntityMetadata.Description Descripción de una entidad.
EntityMetadata.DisplayCollectionName Nombre plural de una entidad.
EntityMetadata.DisplayName Nombre de una entidad.
AssociatedMenuConfiguration.Label Etiqueta usada para una entidad en una relación de entidad.
OptionMetadata.Label Etiqueta usada para una opción en una lista desplegable, estado o atributo de estado.

Label puede almacenar una cadena para cada idioma instalado. Esta matriz es la propiedad LocalizedLabels. Siempre debe haber una etiqueta almacenada para el idioma base. Las etiquetas para otros idiomas pueden ser null. Si el usuario desea mostrar la interfaz de usuario en un idioma y la etiqueta no tiene una cadena para ese idioma, se usará la etiqueta del idioma base.

Puede usar la propiedad UserLocalizedLabel para recuperar la etiqueta del idioma seleccionado por el usuario.

Mensajes para usar con las etiquetas

En la siguiente tabla se enumeran los mensajes que se pueden usar para trabajar con etiquetas localizadas que admiten varios idiomas. Al importar traducciones se puede generar un informe basado en el trabajo de importación de la misma forma que se genera cuando se importa una solución. Para obtener más información, consulte Instalar o actualizar una solución.

Mensaje Operación de la API web Ensamblado del SDK
ExportTranslation
Exporta todas las traducciones para una solución específica a un archivo comprimido.
Acción ExportTranslation ExportTranslationRequest
ImportTranslation
Importa todas las traducciones desde un archivo comprimido.
Acción ImportTranslation ImportTranslationRequest
RetrieveFormattedImportJobResults
Recupera los resultados de ImportJob como un documento XML diseñado para ser abierto mediante Office Excel.
Función RetrieveFormattedImportJobResults RetrieveFormattedImportJobResultsRequest
RetrieveLocLabels
Recupera las etiquetas localizadas para el atributo especificado.
Función RetrieveLocLabels RetrieveLocLabelsRequest
SetLocLabels
Establece las etiquetas localizadas para el atributo especificado.
Acción SetLocLabels SetLocLabelsRequest

Personalizar las etiquetas en el idioma base

Las herramientas de personalización proporcionan varias formas de editar nombres de la entidad y esas propiedades se pueden personalizar mediante programación. También se pueden editar los mensajes de la entidad. Pero no está expuesto cada mensaje. Otra forma de encontrar y de personalizar el texto usado en la aplicación es exportar las traducciones, modificar la configuración del idioma base e importar las traducciones de nuevo. Aunque éste no es el propósito de esta característica, es una forma compatible identificar y personalizar el texto usado en la aplicación. Para obtener más información, consulte Modificar los mensajes de una entidad.

Traducir texto de entidad y atributo personalizado

Debido a que solo se pueden realizar personalizaciones en la aplicación utilizando el idioma base, cuando se desea proporcionar etiquetas localizadas para estas personalizaciones se debe exportar el texto de las etiquetas de modo que puedan ser localizas para otros idiomas habilitados para la organización.

Exportar el texto personalizado para traducción

Puede exportar las traducciones en la aplicación web o con el mensaje ExportTranslation (Acción ExportTranslation o clase ExportTranslationRequest).

El texto exportado se guarda como archivo comprimido que contiene un CrmTranslations.xml y que puede abrir con Office Excel. Puede enviar este archivo a un lingüista experto, a una agencia de traducción o a una empresa de localización.

Para obtener más información, consulte Esquemas de referencia XML de Office 2003.

Importar el texto traducido

Después de exportar el texto personalizado de las entidades o atributos y de traducirlo, puede importar las cadenas de texto traducidas en la aplicación web con el mensaje ImportTranslation (Acción ImportTranslation o clase ImportTranslationRequest). El archivo que se importa debe ser un archivo comprimido que contengan los archivos CrmTranslations.xml y [Content_Types].xml tal como se han exportado.

Una vez importadas las traducciones, el texto personalizado aparece para los usuarios que trabajan en los idiomas a los que tradujo el texto.

Nota

Dynamics 365 Customer Engagement (on-premises) no puede importar texto traducido que tenga más de 500 caracteres. Si alguno de los elementos del archivo de traducción tiene más de 500 caracteres, se producirá un error en el proceso de importación. Si esto sucede, revise la línea que provocó el error, reduzca el número de caracteres e intente de nuevo la importación.

Puesto que solo se permite personalizar texto en el idioma base, puede trabajar en Dynamics 365 Customer Engagement (on-premises) con el idioma base establecido como preferencia de idioma. Para comprobar que aparece el texto traducido, debe cambiar su preferencia de idioma para la interfaz de usuario de Dynamics 365 Customer Engagement (on-premises). Para realizar tareas de personalización adicionales, debe volver a cambiar al idioma base.

Administrar idiomas para la organización

Dynamics 365 Customer Engagement (on-premises) permite instalar el paquete de varios idiomas en un servidor y permite al usuario seleccionar un paquete de idioma. Para obtener más información acerca de cómo instalar paquetes de idiomas, consulte Habilitar idiomas. Esta sección contiene información acerca de los mensajes que se usan para administrar los idiomas ya instalados para la organización.

En la siguiente tabla se enumeran los mensajes que se pueden usar para trabajar con los paquetes de idiomas. Use estos mensajes con el método IOrganizationService.Execute

Mensaje Operación de la API web Ensamblado del SDK
DeprovisionLanguage
Contiene los datos necesarios para desaprovisionar un idioma.
Acción DeprovisionLanguage DeprovisionLanguageRequest
ProvisionLanguage
Contiene los datos necesarios para aprovisionar un nuevo idioma.
Acción ProvisionLanguage ProvisionLanguageRequest
RetrieveAvailableLanguages
Recupera la lista de los idiomas disponibles.
Función RetrieveAvailableLanguages RetrieveAvailableLanguagesRequest
RetrieveDeprovisionedLanguages
Recupera la lista de los paquetes de idiomas instalados en el servidor que se han deshabilitado.
Función RetrieveDeprovisionedLanguages RetrieveDeprovisionedLanguagesRequest
RetrieveInstalledLanguagePacks
Contiene los datos necesarios para recupera la lista de los paquetes de idiomas instalados en el servidor.
Función RetrieveInstalledLanguagePacks RetrieveInstalledLanguagePacksRequest
RetrieveInstalledLanguagePackVersion
Contiene los datos necesarios para recupera la versión de un paquete de idioma instalado.
Función RetrieveLicenseInfo RetrieveInstalledLanguagePackVersionRequest
RetrieveProvisionedLanguages
Recupera la lista de los paquetes de idiomas instalados en el servidor que están habilitados.
Función RetrieveProvisionedLanguages RetrieveProvisionedLanguagesRequest
RetrieveProvisionedLanguagePackVersion
Recupera la versión de los paquetes de idiomas instalados en el servidor.
Función RetrieveProvisionedLanguagePackVersion RetrieveProvisionedLanguagePackVersionRequest

Consulte también

Ampliar el modelo de metadatos para Dynamics 365 Customer Engagement (on-premises)
PersonalizarDynamics 365 Customer Engagement (on-premises)
Modificar los mensajes de una entidad
AttributeMetadata
EntityMetadata
OptionMetadata