Função de idioma

Aplica-se a: Aplicações de tela Fluxos de ambiente de trabalho Power Platform CLI

Devolve a etiqueta de idioma do utilizador atual.

Descrição

A função Language devolve o idioma, o script e a região do utilizador atual como etiqueta de idioma.

Utilize as informações de idioma para personalizar a sua aplicação em regiões. Por exemplo, se criar uma aplicação que será utilizada em Itália e em França, pode utilizar Language para apresentar automaticamente cadeias em italiano e francês aos seus utilizadores nessas localizações diferentes.

Etiquetas de idioma

A etiqueta de idioma pode estar num destes três formatos:

Valor devolvido Descrição
"lg‑RE" lg é a abreviatura de dois carateres do idioma e RE é a abreviatura de dois carateres da região. Este é o tipo de devolução mais comum. Por exemplo, "en-GB" é devolvido para Grã-Bretanha.
"lg" lg é a abreviatura de dois carateres para o idioma. Este é o formato utilizado quando o Power Apps tem informações sobre o idioma, mas não tem informações sobre a região específica.
"lg‑scrp‑RE" lg é a abreviatura de dois carateres do idioma, scrp é a abreviatura de quatro caracteres do script, e RE é a abreviatura de dois caracteres para a região.

O Power Apps utiliza o formato etiqueta de idioma IETF BCP-47.

Para ver a lista das etiquetas de idioma suportadas, escreva Value( "1", ) na barra de fórmulas ou na vista avançada e percorra a lista das regiões sugeridas para o segundo argumento.

As funções Text e Value também utilizam as etiquetas de idioma. Utilize estas funções para traduzir de e para cadeias de texto de uma forma globalmente consciente. Quando transmitir uma etiqueta de idioma para estas funções e a região não for importante, pode utilizar apenas parte de idioma da etiqueta.

Sintaxe

Language()

Exemplos

Região do utilizador

Presume-se que o sistema operativo anfitrião e/ou o browser estão a utilizar a região predefinida para a localização.

Fórmula Localização Valor Devolvido
Language() Lisboa, Portugal "pt-PT"
Language() Rio de Janeiro, Brasil "pt-BR"
Language() Atlanta, E.U.A. "en-US"
Language() Manchester, Grã-Bretanha "en-GB"
Language() Paris, França "fr-FR"
Language() Roseau, Dominica "en"
Language() Belgrado, Sérvia "sr-cyrl-RS" ou "sr-latn-RS", dependendo das definições de sistema do utilizador

Tabela de localização

Uma abordagem simples à localização consiste em criar uma folha de cálculo em Excel mapeando um TextID definido pelo utilizador para um texto traduzido para o idioma do utilizador. Embora possa utilizar uma coleção ou qualquer outra origem de dados para esta tabela, escolhemos o Excel porque é mais fácil de editar e gerir fora da aplicação por tradutores.

  1. Crie a seguinte tabela no Excel:

    Tabela de localização.

    A entrada com blank para a coluna Language será utilizada como predefinição se não houver nenhuma cadeia de texto específica encontrada para um determinado idioma. Esta entrada deve aparecer após todas as outras entradas para um determinado TextID.

    Para as nossas finalidades, necessitamos apenas de verificar o idioma da região e não a região. Se as considerações regionais fossem importantes, poderíamos ter incluído o valor completo da etiqueta de idioma na tabela acima.

  2. Utilize o friso Inserir, o comando Tabela, para incluí-lo numa tabela Excel adequada. Por predefinição, será designado como Tabela 1, mas pode atribuir o nome que pretender com o friso Ferramentas/Estrutura da tabela e a caixa de texto Nome da tabela: no lado mais à esquerda.

  3. Guarde o ficheiro do Excel no sistema de ficheiros local.

  4. No Power Apps, no painel da direita, clique ou toque no separador Origem de Dados e, em seguida, clique ou toque em Adicionar origem de dados.

  5. Clique ou toque em Adicionar dados estáticos à aplicação, clique ou toque no ficheiro do Excel que guardou e, em seguida, clique ou toque em Abrir.

  6. Selecione a tabela que criou e, em seguida, clique ou toque em Ligar.

Na sua aplicação, onde quer que tenha utilizado o texto "Hello" anteriormente, em vez disso, utilize esta fórmula:

  • LookUp( Table1, TextID = "Hello" && (LanguageTag = Left( Language(), 2 ) || IsBlank( LanguageTag ))).LocalizedText

Esta fórmula vai pesquisar o valor LocalizedText adequado para o idioma do utilizador e, se não for encontrado, irá reverter para a versão blank predefinida.

Tenha em atenção que as cadeias traduzidas noutros idiomas podem ser consideravelmente maiores do que no seu idioma. Em muitos casos, as etiquetas e outros elementos que apresentam as cadeias na sua interface de utilizador terão de ser maiores para caber.

Translation service

Pode traduzir texto a pedido utilizando um serviço de tradução, como o serviço Microsoft Translator:

  1. No Power Apps, no painel da direita, clique ou toque no separador Origem de Dados e, em seguida, clique ou toque em Adicionar origem de dados.
  2. Clique ou toque em Microsoft Translator.

Na sua aplicação, onde quer que tenha utilizado o texto "Hello" anteriormente, em vez disso, utilize esta fórmula:

  • MicrosoftTranslator.Translate( "Hello", Language() )

O serviço Microsoft Translator utiliza etiquetas de idioma semelhantes às devolvidas pela função Language.

Esta abordagem é fornecida com algumas desvantagens em comparação com o exemplo anterior, que é utilizado uma tabela previamente traduzida de cadeias de texto:

  • A tradução demora tempo a concluir, e requer uma chamada para um serviço através da rede. Este procedimento resulta num desfasamento para ver o texto traduzido na sua aplicação.
  • A tradução será automática, pode não ser o que esperava e pode não ser a melhor opção para o contexto na sua aplicação.