10 minutos de leitura
Com o surgimento da medida USERCULTURE, da possibilidade de incluir medidas em diversas propriedades de gráficos e formas, e da adição de parâmetros de campo, criar relatórios multilíngues se tornou uma tarefa mais simples.
Em meados de 2023, Ted Pattinson, Principal Program Manager na Microsoft, publicou no GitHub novas diretrizes para a criação desses relatórios, utilizando uma ferramenta chamada Translations Builder, que pode ser instalada através deste link.
Neste artigo, vou mostrar como o Translations Builder pode nos auxiliar na implementação de traduções em relatórios, seguindo as boas práticas e os conceitos definidos por Ted Pattinson em seu artigo. Também trarei exemplos práticos da ferramenta em funcionamento e algumas dicas com base na experiência de quem já a utilizou em diversos relatórios.
No Power BI, há três tipos de tradução que podem ser aplicados a um relatório, cada um exigindo uma abordagem específica. O Translations Builder é capaz de realizar dois deles:
1. Tradução de metadados do modelo semântico; 2. Tradução de textos livres como títulos de gráficos, cabeçalhos ou qualquer entrada de texto que aceite uma medida como valor.
O terceiro tipo, a tradução de dados, não será abordado neste artigo, pois é feita com o uso de parâmetros de campo e não pode ser realizada por meio da ferramenta.
Na maioria dos casos, os dois primeiros tipos de tradução já são suficientes para permitir que audiências multiculturais acessem e utilizem um relatório com facilidade. A seguir, veremos como esses tipos são tratados pela ferramenta.
Esse tipo de tradução permite a exibição de nomes traduzidos para objetos do dataset, como tabelas, colunas, medidas e hierarquias. As propriedades que podem ser traduzidas incluem Caption, Description e Display Folder.
A propriedade Caption é a mais relevante para os usuários que visualizam os relatórios, pois define o nome exibido do objeto. Por exemplo, em um arquivo do Power BI com uma medida chamada "Custo Total", a propriedade Caption armazena exatamente esse valor — "Custo Total".
Embora a tradução da Caption geralmente seja suficiente para os consumidores do relatório, as propriedades Description e Display Folder também podem ser úteis, especialmente para autores que criam e editam relatórios no serviço do Power BI.
Para habilitar essas traduções no Power BI, utilizaremos o Translations Builder, que, após a instalação, ficará disponível no menu “Ferramentas Externas”.
Abaixo, apresentamos a interface da ferramenta:
Neste exemplo, estou utilizando uma tabela com pets disponíveis para adoção (disponível em Adoptable Pets - Catalog).
Observe que, na coluna “Property”, aparecem apenas valores do tipo “Caption” para as colunas e para a tabela. Isso acontece porque não adicionei nenhuma descrição nem criei pastas para organização.
Note também que o campo “Default Language” está configurado como English [en-US]. Esse idioma é definido no momento da criação do arquivo, de acordo com as configurações de idioma e localização do seu Power BI Desktop — esse ponto é bastante importante e será detalhado mais adiante.
Cada linha exibida na tabela do Translations Builder representa um objeto do dataset que *pode ser traduzido via metadados. Esses objetos são identificados pela coluna “Object Type” (Table para nomes de tabelas, Column para nomes de colunas e Measure para nomes de medidas) e pela coluna “Name”, que traz o nome original do objeto.
Em seguida, irei adicionar os idiomas português (Brasil) e espanhol (América Latina) ao meu arquivo, clicando no botão “Add Language”:
Após a adição dos idiomas, novas colunas serão exibidas na ferramenta — uma para cada idioma incluído.
Existem três formas de atribuir traduções aos objetos do dataset:
1. Inserção manual (via input direto); 2. Utilização de um arquivo exportado para Excel; 3. Integração com o Azure Translator Service.
Neste exemplo, utilizarei o primeiro método, preenchendo manualmente as células da coluna referente ao idioma português:
Para o idioma espanhol, utilizarei o segundo método. Ao gerar exports, possibilitamos que mais pessoas colaborem no processo de tradução. Em contextos em que a pessoa desenvolvedora precisa concentrar seus esforços em outras tarefas — ou não domina o idioma alvo — contar com usuários de negócio nativos pode ser uma abordagem eficiente.
Para isso, o Translations Builder introduz o conceito de translation sheet, um arquivo CSV exportado diretamente da ferramenta. Esse arquivo pode ser enviado a um tradutor humano, que realiza as adaptações necessárias e o devolve atualizado. Em seguida, é possível importá-lo para integrar as traduções revisadas diretamente ao dataset.
Esse método se mostra especialmente útil quando há especialistas ou usuários de negócio disponíveis para contribuir com traduções mais precisas e contextualizadas.
Para utilizá-lo, é necessário primeiro definir o diretório de exportação e importação de dados. Essa configuração pode ser feita em “Dataset Connection” > “Configure Settings…”:
Com os diretórios devidamente configurados, no *submenu “Export/Import Translations”, seleciono o idioma desejado no menu e clico em *“Export Translations Sheet”**:
Aqui está o arquivo:
Após preencher os dados nos campos da coluna E e salvar o arquivo no diretório de importação, o resultado pode ser visualizado no Translations Builder:
No terceiro método de tradução, o Translations Builder gera traduções automáticas por meio de chamadas de API ao Azure Translator Service, um endpoint oferecido pelo Azure Cognitive Services. Essa Web API permite automatizar a enumeração dos objetos do dataset, traduzindo-os do idioma padrão para idiomas secundários.
Embora o resultado do uso do Azure Translator Service não seja demonstrado neste artigo, vou mostrar as etapas necessárias para habilitá-lo. Para isso, basta inserir a chave de acesso do serviço e a localização em que ele está hospedado nas configurações da ferramenta externa:
Após inserir os dados, uma nova opção será exibida no menu principal. Basta selecionar o idioma desejado e clicar em “Generate Translations” para gerar as traduções:
Agora que já conhecemos os três métodos para traduzir os metadados de um modelo semântico, vamos entender como o Power BI gerencia essas traduções e as torna visíveis para os usuários.
Compreender esse processo é fundamental, pois ele influencia diretamente a forma como os relatórios são desenvolvidos e serve como base para o segundo tipo de tradução abordado neste artigo: a tradução de valores baseados em textos livres, como títulos de gráficos e cabeçalhos em geral.
Tanto as traduções de metadados quanto as de textos livres são aplicadas no nível do modelo semântico do Power BI — não no layout do relatório. O Power BI Desktop e o serviço do Power BI não oferecem suporte para armazenar ou carregar traduções de valores de texto que estão inseridos diretamente no layout.
Por exemplo, um texto contido em uma medida está armazenado no modelo semântico e pode ser traduzido. Já um texto inserido em uma caixa de texto está no layout do relatório e, portanto, não pode ser traduzido dessa forma.
Quando um relatório é carregado no serviço do Power BI, ele é interpretado com base no contexto do usuário, que inclui idioma e região geográfica — geralmente definidos por país. Essa combinação é rastreada por meio de um identificador chamado culture name.
O culture name normalmente é composto por dois elementos:
1. o identificador de idioma em letras minúsculas; 2. seguido pelo identificador de local em letras maiúsculas, separados por um hífen (por exemplo: pt-BR).
Esse valor pode ser determinado pela configuração de idioma e local do sistema operacional, navegador ou diretamente nas preferências do serviço do Power BI. O modelo semântico usa essa informação para decidir qual versão da tradução — previamente configurada — será exibida ao usuário.
A seguir, alguns exemplos de culture names:
Fonte: Microsoft Learn
No arquivo de demonstração criado para este artigo, adicionei um visual de tabela no Power BI Desktop, exibindo as colunas da tabela de pets disponíveis para adoção.
Além disso, inseri cinco visuais de cartão para apresentar as medidas: Total Pets, Total Dogs, Total Cats, Total Birds e Others.
É importante observar que, no Power BI Desktop, as informações sempre serão exibidas no idioma original, conforme definido no menu Dataset Properties > Default Language do Translations Builder. Esse idioma é determinado no momento da criação do arquivo no Power BI Desktop, de acordo com as configurações de idioma e país definidas dentro da própria ferramenta:
Meu computador e navegador estão configurados para o idioma português (região Brasil). Ao publicar o arquivo, é possível observar que os nomes das colunas e medidas são exibidos em português, conforme configurado previamente no Translations Builder.
É possível forçar a exibição em um idioma específico utilizando o parâmetro de URL "language=".
Por exemplo, caso eu queira visualizar os metadados em inglês, posso adicionar ao final da URL o seguinte trecho: "&language=en-US":
O mesmo procedimento pode ser aplicado a todos os idiomas (culture names) adicionados ao dataset por meio do Translations Builder.
Na nossa demo, também incluímos o espanhol (América Latina), que pode ser acessado adicionando o seguinte parâmetro à URL: “&language=es-419”
O segundo tipo de tradução que pode ser realizado com o auxílio do Translations Builder é a tradução de qualquer input de texto, desde que esse texto seja utilizado em um visual ou forma que aceite medidas em vez de valores estáticos.
Para fins de demonstração, vou traduzir o cabeçalho da página do relatório e o título de um gráfico que será inserido na página.
Para habilitar esse tipo de tradução, vamos adicionar labels no Translations Builder. Para isso, pressione Ctrl+A na tela principal da ferramenta. Os labels adicionados serão:
1. "Pets Available for Adoption" (para o título da página) 2. "Pets Distribution per Size" (para o título do gráfico)
Após clicar em “Add Labels”, eles aparecerão na tabela junto aos demais campos traduzidos via metadados. Em seguida, basta adicionar as traduções, como fizemos anteriormente, e pressionar Ctrl+L.
Esse atalho cria uma tabela chamada “Translated Localized Labels” diretamente no modelo semântico do seu arquivo Power BI Desktop.
O Translations Builder irá gerar automaticamente, dentro dessa tabela, medidas correspondentes aos labels e traduções inseridos.
A estrutura dessas medidas é composta por uma expressão SWITCH combinada com a função USERCULTURE, simulando o comportamento que o modelo semântico aplica aos metadados.
Veja abaixo um exemplo de medida gerada para o título da página:
Pets Available for Adoption Label = SWITCH( USERCULTURE(), "pt-BR", "Animais de Estimação Disponíveis para Adoção", "es-419", "Mascotas Disponibles para Adopción", "Pets Available for Adoption" )
A medida USERCULTURE retorna o culture name do usuário que está acessando o relatório no serviço do Power BI, no mesmo formato descrito anteriormente neste artigo.
Note que o else da medida é reservado para o idioma padrão associado ao modelo semântico — no meu caso, o inglês.
Essas medidas devem ser vinculadas ao local de exibição (como títulos de visuais ou caixas de texto que aceitem medidas), e suas traduções funcionarão da mesma forma que as traduções de metadados.
Veja abaixo como foi configurada a exibição do texto no cabeçalho do relatório e como as informações são apresentadas em inglês no ambiente local:
Ao publicar o arquivo no serviço do Power BI, os dois cabeçalhos são exibidos em português.
Além disso, observe que a legenda do gráfico e o título do eixo X também são traduzidos — nesse caso, por meio de metadados:
O idioma padrão do modelo semântico é definido pelas configurações de idioma e localização do Power BI Desktop no momento da criação do arquivo.
Como vimos anteriormente, esse idioma é essencial, pois será utilizado sempre que o culture name do usuário não corresponder a nenhum dos idiomas secundários.
Por exemplo, se um usuário com configuração regional em francês (fr-FR) acessar o arquivo de demonstração deste artigo, o idioma exibido será o inglês, que é o idioma padrão do modelo.
Se você identificar que a necessidade de múltiplos idiomas pode surgir no futuro, é importante alinhar isso com as partes interessadas e definir um idioma padrão apropriado antes da criação do arquivo.
Como já foi mencionado, apenas os dados do modelo semântico podem ser traduzidos. Por isso, elementos armazenados a nível de layout, como o nome das páginas, não são traduzidos automaticamente.
Para contornar essa limitação, recomenda-se usar botões com textos traduzidos para realizar a navegação entre as páginas do relatório.
Além disso, em alguns casos, usuários podem desejar alterar o idioma de exibição manualmente, mesmo que estejam associados a um culture name específico.
Por exemplo, um usuário brasileiro (pt-BR) que precise apresentar o relatório para uma audiência americana pode querer exibi-lo em inglês.
Para facilitar essa mudança de forma intuitiva, é possível adicionar botões na página inicial do relatório, que redirecionam o usuário para uma URL com o parâmetro "language=" já definido.
Dessa forma, o usuário não precisa editar manualmente a URL — basta um clique para alternar o idioma da exibição.
Para concluir este artigo, é importante destacar algumas limitações relacionadas ao uso de traduções em relatórios do Power BI.
A aplicação de traduções no modelo semântico está restrita a workspaces associados a capacidades dedicadas do Power BI Premium. Relatórios armazenados em capacidades compartilhadas não carregam corretamente as traduções configuradas.
A maneira mais simples de identificar se um workspace é Premium é verificar se há o ícone de um diamante ao lado do nome do workspace.
Outra limitação do Translations Builder é que ele permite traduzir apenas objetos do modelo semântico. Elementos armazenados no nível do relatório — como caixas de texto e nomes de abas — não oferecem suporte à tradução.
Além disso, a ferramenta não realiza a tradução de dados em si. No entanto, o artigo de Ted Pattinson apresenta boas práticas para lidar com esse tipo de necessidade, caso a tradução de dados seja um requisito.