Partilhar via


Localizar valores de propriedade do produto

Os nomes dos produtos podem ser localizados para diferentes regiões. Com o Dynamics 365 Sales, pode fornecer etiquetas localizadas para determinados atributos de produtos, para que as pessoas possam ver os nomes localizados que correspondem às suas preferências de idioma. Este artigo é sobre como os programadores podem interagir com esta funcionalidade. Para obter instruções passo a passo sobre como utilizar esta funcionalidade na aplicação, consulte a documentação das versões anteriores em Traduzir nomes e propriedades de produtos em vários idiomas.

Atributos que suportam valores de propriedade localizados

A lista a seguir contém os atributos que suportam valores localizáveis:

  • Product.Name

  • DynamicProperty.Name

  • DynamicPropertyOptionSetItem.DynamicPropertyOptionName

  • DynamicPropertyOptionSetItem.DynamicPropertyOptionDescription

    As classes StringAttributeMetadata e MemoAttributeMetadata têm uma propriedade Booleana só de leitura IsLocalizable que é false para todos os atributos, exceto os quatro na tabela anterior.

Obter valores de propriedade localizados

Não precisa de fazer nada de diferente para obter o valor localizado que corresponde à preferência de idioma do utilizador. Se existir um valor localizado para o idioma preferencial do utilizador, este será devolvido. Se não existir um valor localizado, será devolvido o valor do idioma base da organização. Este comportamento mantém a compatibilidade com versões anteriores; qualquer código que utilize atualmente o atributo de nome do produto continuará a funcionar utilizando quaisquer valores localizados. Se a localização dos valores da propriedade estiver incompleta, os utilizadores poderão ver valores de idiomas mistos.

Para obter todas as etiquetas localizadas para um atributo localizável específico, utilize a mensagem RetrieveLocLabelsRequest.

Consulta utilizando valores localizados

Ao consultar tabelas com condições utilizando valores para atributos localizados, as condições são avaliadas utilizando primeiro o seu idioma preferencial. Se não houver valores localizados para o atributo, a consulta será revertida para o idioma base. Os resultados da consulta para valores de atributos localizados são devolvidos no seu idioma preferencial, se existirem. Caso contrário, os resultados serão devolvidos no seu idioma base.

Criar ou atualizar registos com atributos localizáveis

Os registos com atributos localizados são só de leitura, a menos que o seu idioma preferencial seja o idioma base da organização. Só pode criar registos com valores de propriedade localizados utilizando o idioma base da organização. Se atualizar o valor do idioma base para um atributo localizável, quaisquer valores localizados para esse atributo não serão alterados, exceto se limpar o valor do idioma base. Se definir o valor do idioma base como nulo ou uma cadeia (carateres) vazia, todos os valores localizados para essa propriedade também serão limpos.

Para adicionar ou atualizar etiquetas localizadas para qualquer atributo localizado específico, utilize a mensagem SetLocLabelsRequest ou importe valores traduzidos. Quaisquer alterações nos atributos localizáveis aparecem no histórico de auditoria do registo. O identificador de código de idioma (LCID) para o valor localizado aparece no histórico de auditoria.

Traduzir atributos localizáveis

O processo de localização programática de atributos localizáveis é semelhante ao processo utilizado para traduzir etiquetas de soluções localizadas. [!INCLUIR[proc_more_information]Traduzir texto personalizado de tabela e coluna para outros idiomas

Ao contrário da tradução de valores de metadados, o utilizador que exporta e importa valores de atributos localizados não necessita de ter o direito de acesso de administrador do sistema. O direito de acesso do gestor de vendas tem os privilégios necessários para traduzir os atributos localizáveis. A pessoa que traduz os valores de propriedade localizados só pode exportar os registos para os quais tem acesso para ver e atualizar os registos para os quais tem privilégios de atualização.

Para traduzir atributos localizáveis programaticamente, deve primeiro exportar as definições de etiquetas localizadas atuais utilizando ExportFieldTranslationRequest. O ExportFieldTranslationResponse. A propriedade ExportTranslationFile contém um byte[] para um ficheiro comprimido crmFieldTranslations.zip que contém um ficheiro [Content_types].xml e um ficheiro crmFieldTranslations.xml que pode ser aberto utilizando o Office Excel. A folha de cálculo Etiquetas Localizadas contém uma coluna com um valor LCID para cada idioma aprovisionado para a organização. A coluna com os valores do idioma base é preenchida e as colunas para cada idioma aprovisionado contêm todos os valores localizados anteriormente. Este ficheiro pode ser editado por um tradutor para fornecer etiquetas localizadas para as propriedades localizáveis.

Sugestão

Se pretender realizar uma atualização em massa apenas dos nomes dos idiomas base, também pode editar os valores dos idiomas base.

Após o ficheiro crmFieldTranslations.xml ser editado para fornecer etiquetas localizadas, comprima-o juntamente com o ficheiro [Content_types].xml e defina esse ficheiro como a propriedade TranslationFile do ImportFieldTranslationRequest.

Modificar os valores incluídos ao exportar valores de propriedade traduzidos

Os valores incluídos nas traduções exportadas são controlados por vistas personalizáveis associadas às tabelas que suportam valores de propriedades localizáveis. Apenas as tabelas de produtos apresentam esta vista na interface do utilizador de personalização. Estas vistas são denominadas Exportar Traduções de Campo. A tabela a seguir fornece o SavedQueryId para estas vistas.

Table SavedQueryId FetchXml por predefinição
produto 9cfe2a9f-13c4-e311-8f2e-00155d9d2505 <fetch version="1.0"
output-format="xml-platform"
mapping="logical"
distinct="false">
<entity name="product">
<attribute name="name" />
</entity>
</fetch>
dynamicproperty 4833cf48-1ac4-e311-8f2e-00155d9d2505 <fetch version="1.0"
output-format="xml-platform"
mapping="logical">
<entity name="dynamicproperty">
<attribute name="name" />
</entity>
</fetch>
dynamicpropertyoptionsetitem d64cce30-1fc4-e311-8f2e-00155d9d2505 <fetch version="1.0"
output-format="xml-platform"
mapping="logical">
<entity name="dynamicpropertyoptionsetitem">
<attribute name="dynamicpropertyoptionname" />
<attribute name="dynamicpropertyoptiondescription" />
</entity>
</fetch>

Pode editar a propriedade FetchXml destas vistas para filtrar quaisquer valores de propriedade de atributos que não pretenda incluir. Por exemplo, pode querer eliminar registos arquivados ou incluir apenas aqueles que são atualizados após uma determinada data.

Monitorizar o progresso das tarefas de importação de traduções de campo

As tabelas de tarefas de sistema contêm as seguintes vistas para monitorizar o progresso das tarefas de importação de tradução de campos:

  • Todas as Tarefas de Importação de Tradução de Campos

  • Tarefas de Importação de Tradução de Campos Concluídas

  • Tarefas de Importação de Tradução de Campos Em Curso

  • As Minhas Tarefas de Importação de Tradução de Campos

  • Tarefas de Importação de Tradução de Campos Não Iniciadas

    As seguintes condições causam erros ao importar tarefas de tradução:

Message Description
Aviso: não tem permissões de escrita para uma ou mais das linhas especificadas no ficheiro de importação para a folha de cálculo {0}, Linha {1}. A pessoa que executa a importação pode não ter permissões de escrita numa linha incluída no ficheiro importado.

O processamento de outras linhas continuará.
Aviso: as cadeias de carateres de tradução do idioma base presentes na folha de cálculo {0}, linha {1}, coluna {2} são nulas. Um valor de idioma base não pode ser apagado através da importação de traduções.

O processamento de outras linhas continuará
Aviso: o número de células na linha {0} não corresponde ao número de células na linha 1 na folha de cálculo {1}. Todas as linhas da folha de cálculo devem ter o mesmo número de células.

O processamento de outras linhas continuará.
Aviso: foi encontrado um nome de tabela inválido na folha de cálculo {0}, Linha {1}, Coluna A. Não há nenhuma tabela válida no sistema utilizando um nome na folha de cálculo.

O processamento de outras linhas continuará.
Aviso: um Nome da Coluna do Objeto inválido foi encontrado na folha de cálculo {0}, Linha {1}, Coluna C. Não existe nenhum atributo localizável válido no sistema utilizando um nome na folha de cálculo.

O processamento de outras linhas continuará.
Aviso: um ID do Objeto inválido foi encontrado na folha de cálculo {0}, Linha {1}, Coluna B. Não existe registo correspondente na organização para o item nesta linha.

O processamento de outras linhas continuará.
Erro: nenhuma linha foi encontrada na folha de cálculo {0}. A folha de cálculo a importar está vazia.
Erro: o ID da Organização presente na folha de cálculo {0} não corresponde ao ID da Organização atual. Só pode importar traduções para a mesma organização de onde foram exportadas.
Aviso: um código de idioma inválido foi encontrado na folha de cálculo {0}, Coluna {1}. | Detalhes: {2} O LCID na coluna não é um número inteiro válido ou o language pack para o idioma não está instalado.

As traduções na coluna são ignoradas.

Valores de ID de localidade válidos podem ser encontrados em Gráfico de ID de localidade (LCID).
Erro: um código de idioma duplicado foi encontrado na folha de cálculo {0}, Coluna {1}. Cada coluna deve ter um código de idioma diferente.
Erro: o ficheiro de tradução é inválido. O ficheiro comprimido deve conter os seguintes ficheiros na sua raiz: CrmFieldTranslations.xml, [Content_Types].xml O ficheiro comprimido (zip) a importar deve conter apenas os ficheiros descritos no erro.
Erro: o ficheiro de traduções é inválido ou não está em conformidade com o esquema necessário. O ficheiro CrmFieldTranslations.xml incluído no ficheiro comprimido (zip) deve ser um ficheiro que tenha sido exportado do sistema e editado apenas para fornecer valores localizados. Outras alterações podem invalidar o ficheiro.

Desinstalar um idioma

Todas as etiquetas localizadas fornecidas para um idioma desinstalado permanecem no sistema para que permaneçam no lugar, caso o idioma seja reinstalado.

Tabelas do catálogo de produtos
Traduzir texto personalizado de tabela e colunaTraduzir nomes e propriedades de produtos em vários idiomas