Compartilhar via


Usar valores de localidade em relatórios do Power BI de vários idiomas

Cada relatório carregado no serviço do Power BI inicializa com um contexto de usuário que identifica uma linguagem e uma região geográfica conhecida como localidade. Na maioria dos casos, uma localidade identifica um país/região. O serviço do Power BI acompanha a combinação de idioma e localidade do usuário usando um nome de cultura.

Um nome de cultura geralmente é um identificador de linguagem em minúsculas e um identificador de localidade em maiúsculas separados por um hífen. O nome da cultura en-US identifica um usuário nos Estados Unidos que fala inglês. Um nome de cultura es-ES identifica um usuário na Espanha que fala espanhol. Um nome de cultura fr-FR identifica um usuário na França que fala francês. Um nome de cultura de-DE identifica um usuário na Alemanha que fala alemão.

USERCULTURE Idioma Locale
en-US Inglês Estados Unidos
es-ES Espanhol Espanha
fr-FR Francês França
de-DE Alemão Alemanha

Observação

Em alguns casos, um nome de cultura também inclui outras informações. Por exemplo, há dois nomes de cultura diferentes para o idioma sérvio na Sérvia, que são sr-Cyrl-RS e sr-Latn-RS. A parte no meio conhecida como script (Cyrl e Latn) indica se o alfabeto cirílico ou o alfabeto latino deve ser usado. Para obter mais informações, consulte RFC 4646.

Para obter uma lista de valores do nome da cultura, consulte Códigos de idioma ISO 639 e Plataforma de Navegação Online.

Organizar o projeto para tradução de metadados

No início de um projeto que envolve a criação de um novo modelo semântico do Power BI com tradução de metadados, liste os nomes de cultura aos quais você planeja dar suporte. Em seguida, estenda o modelo semântico adicionando traduções de metadados para cada nome de cultura.

O diagrama a seguir mostra um modelo semântico que tem uma configuração de idioma padrão de en-US. O modelo semântico foi estendido com traduções de metadados para três outros nomes de cultura: es-ES, fr-FRe de-DE.

O diagrama mostra objetos de modelo semântico e suas traduções de metadados em duas tabelas breves para os valores padrão e três idiomas.

Cada tradução de metadados está associada a um nome de cultura específico. Os nomes de culturas atuam como chaves de pesquisa usadas para adicionar e recuperar traduções de metadados no contexto de um modelo semântico do Power BI.

Você não precisa fornecer traduções de metadados para o idioma padrão do modelo semântico. O Power BI pode usar apenas os nomes de objeto do modelo semântico diretamente para esse nome de cultura. Uma maneira de pensar sobre isso é que os nomes de objetos do modelo semântico atuam como um conjunto virtual de traduções de metadados para o idioma padrão.

O diagrama mostra objetos de modelo semântico e suas traduções de metadados, incluindo uma tradução para o idioma padrão.

É possível adicionar explicitamente a tradução de metadados para o idioma padrão. Use essa tática esporadicamente. Power BI Desktop não dá suporte ao carregamento de traduções de metadados em seu designer de relatório. Em vez disso, Power BI Desktop carrega apenas nomes de objeto de modelo semântico. Se você adicionar explicitamente traduções de metadados para o idioma padrão, os relatórios do Power BI parecerão diferentes em Power BI Desktop do que no serviço do Power BI.

Carregar um relatório no Power BI

Quando um usuário navega para um relatório do Power BI com uma solicitação HTTP GET, o navegador transmite um cabeçalho HTTP chamado Accept-Language com um valor definido como um nome de cultura válido. A captura de tela a seguir mostra uma solicitação GET que transmite um Accept-Language valor de cabeçalho de en-US.

Captura de tela mostra o cabeçalho valores de solicitação incluindo um valor do cliente de idioma de aceitação en-us.

Quando o serviço do Power BI carrega um relatório, ele lê o nome da cultura passado no cabeçalho Accept-Language e o usa para inicializar o idioma e a localidade do contexto de carregamento do relatório. Em seus dispositivos, os usuários podem controlar qual nome de cultura é passado no valor do cabeçalho Accept-Language definindo as configurações regionais.

Ao abrir um relatório do Power BI no serviço do Power BI, você pode substituir o valor do cabeçalho Accept-Language adicionando o parâmetro language no final da URL do relatório e definindo seu valor como um nome de cultura válido. Por exemplo, você pode testar o carregamento de um relatório para um usuário no Canadá que fala francês definindo o valor do language parâmetro como fr-CA.

Captura de tela mostra o relatório de demonstração com uma localidade na URL.

Observação

Adicionar o parâmetro language às URLs de relatório fornece uma maneira conveniente de testar traduções de metadados no serviço do Power BI. Essa técnica não exige que você reconfigure nenhuma configuração no computador local ou no navegador.

Suporte a várias localidades para um único idioma

Talvez seja necessário dar suporte a várias localidades para um único idioma falado. Considere um cenário com usuários que falam francês, mas vivem em diferentes países, como França, Bélgica e Canadá. Você publica um metadados com um idioma padrão de traduções de en-US e metadados e para mais três nomes de cultura, incluindo es-ES, fr-FRe de-DE.

O que acontece quando um usuário canadense de língua francesa abre o relatório com um valor de cabeçalho Accept-Language de fr-CA? O serviço do Power BI carrega traduções para francês (fr-FR) ou volta aos nomes de objeto de modelo semântico em inglês?

O diagrama representa um navegador com uma configuração de localidade de fr-CA conectando-se a um modelo semântico que tem várias localidades, mas não possui fr-CA.

Atualmente, as medidas agem de forma diferente das tabelas e colunas no Power BI. Com medidas, o serviço do Power BI tenta encontrar a correspondência mais próxima. Para o nome da cultura de fr-CA, os nomes das medidas seriam carregados usando as traduções de metadados para fr-FR.

Com tabelas e colunas, o serviço do Power BI requer uma correspondência exata entre o nome da cultura na solicitação e as traduções de metadados com suporte. Se não houver uma correspondência exata, o serviço do Power BI retornará ao carregamento de nomes de objetos de modelo semântico. Os nomes de tabelas e colunas nesse cenário seriam carregados usando nomes de objeto de modelo semântico em inglês.

Observação

Esse uso do idioma padrão nos nomes das tabelas e colunas é um problema conhecido do Power BI.

Recomendamos que você adicione a tradução de metadados para qualquer nome de cultura que deseje dar suporte. Neste exemplo, adicione três conjuntos de traduções em francês para dar suporte aos nomes de cultura de fr-FRe fr-BEfr-CA. A abordagem trata do cenário em que as traduções em francês para usuários na França são diferentes das traduções francesas para usuários no Canadá.

O diagrama mostra objetos de modelo semântico e suas traduções de metadados, incluindo três localidades francesas.

Implementar traduções usando medidas e USERCULTURE

Outro recurso no Power BI que ajuda na criação de relatórios de vários idiomas é a função DAX USERCULTURE (Expressões de Análise de Dados). Quando chamada dentro de uma medida, a função USERCULTURE retorna o nome da cultura do contexto de carregamento do relatório atual. Essa abordagem possibilita escrever a lógica DAX em medidas que implementam traduções dinamicamente.

Você pode implementar traduções dinamicamente chamando USERCULTURE em uma medida, mas não pode obter o mesmo resultado com tabelas calculadas ou colunas calculadas. As expressões DAX para tabelas calculadas e colunas calculadas são avaliadas no tempo de carregamento do modelo semântico. Se você chamar a função USERCULTURE na expressão DAX para uma tabela calculada ou coluna calculada, ela retornará o nome de cultura do idioma padrão do modelo semântico. Chamar USERCULTURE em uma medida retorna o nome de cultura do usuário atual.

O relatório de exemplo exibe o valor retornado USERCULTURE no canto superior direito da faixa de relatório. Normalmente, você não exibe um elemento de relatório como este em um aplicativo real.

Captura de tela mostra o relatório de demonstração com a localidade exibida no canto do navegador.

Esse código é um exemplo simples de escrita de uma expressão DAX para uma medida que implementa traduções dinâmicas. Você pode usar uma instrução SWITCH que chama USERCULTURE para formar um padrão básico para implementar traduções dinâmicas.

Product Sales Report Label = SWITCH( USERCULTURE() ),
  "es-ES", "Informe De Ventas De Productos",
  "fr-FR", "Rapport Sur Les Ventes De Produits",
  "fr-BE", "Rapport Sur Les Ventes De Produits",
  "fr-CA", "Rapport Sur Les Ventes De Produits",
  "de-DE", "Produktverkaufsbericht",
  "Product Sales Report"
)

Para obter mais informações, consulte Aprenda noções básicas do DAX no Power BI Desktop.

Formatar datas e números com a localidade do usuário atual

Você pode traduzir dinamicamente escrevendo uma expressão DAX em uma medida com lógica condicional com base no nome da cultura do usuário. Na maioria dos casos, você não precisa escrever lógica DAX condicional com base na localidade do usuário porque os visuais do Power BI lidam automaticamente com a formatação específica da localidade nos bastidores.

Em um cenário simples, você cria um relatório para uma audiência de consumidores de relatório que residem em Nova York (en-US) e em Londres (en-GB). Todos os usuários falam inglês (en), mas alguns residem em regiões diferentes (US e GB) em que datas e números são formatados de forma diferente. Por exemplo, um usuário de Nova York deseja ver datas em um formato mm/dd/yyyy, enquanto um usuário de Londres deseja ver datas em um formato dd/mm/yyyy.

Tudo funciona conforme o esperado se você configurar colunas e medidas usando cadeias de caracteres de formato que dão suporte à formatação regional. Se você estiver formatando uma data, recomendamos que você use uma cadeia de caracteres de formato, como Data Abreviada ou Data Longa , pois elas dão suporte à formatação regional.

Captura de tela mostra vários formatos de data, como datas curtas, datas longas, e mmmm d e aaaa.

Aqui estão alguns exemplos de como um valor de data formatado com Data Abreviada aparece quando carregado em localidades diferentes.

Locale Formatar
pt-BR 12/31/2022
en-GB 31/12/2022
pt-PT 31-12-2022
de-DE 31.12.2022
ja-JP 2022/12/31