Suporte global

Nota

O Microsoft Power Fx é o novo nome da linguagem de fórmula para aplicativos de tela. Estes artigos são um trabalho em andamento à medida que extraímos a linguagem de aplicativos de tela, a integramos a outros produtos do Microsoft Power Platform e a disponibilizamos como software livre. Comece com Visão geral do Microsoft Power Fx para obter uma introdução à linguagem.

Durante a construção e execução da lógica, o texto exibido pelo Power Fx será exibido nas linguagens apropriadas. Digitar e exibir datas e números é adaptado para sua região e idioma específicos.

Por exemplo, algumas regiões do mundo usam um ponto . como um separador decimal enquanto outros usam uma vírgula ,. É isso que o Excel também faz. Isso geralmente não é feito em outras linguagens de programação, que usam um ponto canônico . como separador decimal para todos os usuários em todo o mundo. Para ser o mais acessível possível para os fabricantes em todos os níveis, é importante que 3,14 seja um número decimal para uma pessoa na França que usou essa sintaxe durante toda a vida.

Os aplicativos que você cria também podem ser conhecidos globalmente. Use Language, Text, Value, DateValue e outras funções para adaptar o que será exibido e usado como entrada em diferentes linguagens.

Configurações de idioma

Ao usar o estúdio nativo ou um reprodutor nativo, o idioma usado será fornecido pelo sistema operacional do host. Para o Windows, essa configuração pode ser controlada nas configurações "Todas as configurações" e, em seguida, em "Tempo e idioma". O Windows também permite que você especifique os caracteres a serem usados para o separador decimal, substituindo a configuração de idioma.

Ao utilizar serviços da Web, o idioma usado será fornecido pelo navegador. A maioria dos navegadores utiliza como padrão a configuração do sistema operacional do host, e alguns também fornecem uma maneira de definir o idioma manualmente.

Ambiente de criação

O ambiente de criação é adaptado para a configuração de idioma do autor. O aplicativo em si é armazenado de maneira independente do idioma, para que os autores que usam diferentes idiomas possam editar o mesmo aplicativo.

Nomes em fórmulas

A maioria dos elementos na fórmula estão sempre em inglês:

  • Nomes de função: If, Navegar, Coleta e assim por diante.
  • Nomes de propriedade de controle: Screen.Fill, Button.OnSelect, Textbox.Font e assim por diante.
  • Nomes de enumeração: Color.Aqua, DataSourceInfo.MaxValue, FontWeight.Bold e assim por diante.
  • Registros de sinal: Compass.Heading, Location. Latitude, App.ActiveScreen e assim por diante.
  • Operadores: Pai, em, exactIn e assim por diante.

Como a experiência de criação é localizada, nomes de controles e de outros objetos aparecerão no idioma nativo do autor. Em espanhol, alguns dos nomes de controle aparecem como:

Control names in Spanish.

Quando você insere um desses controles em seu aplicativo, seu nome será padronizado para o inglês. Essa alteração é feita para manter a consistência com os nomes de propriedade do controle e com o restante da fórmula. Por exemplo, Casilla listado acima será inserido como Checkbox1.

Depois de inserir um controle, é possível alterar o nome conforme desejar. Quando selecionado, o lado esquerdo mais distante da faixa de opções "Conteúdo" exibe o nome do controle. Selecione esse nome para exibir uma caixa de texto na qual você pode editar o nome:

Experience in Spanish.

Se desejar, aqui você poderá renomear o controle para Casilla1. A linha vermelha ondulada, nesse caso, exibida por um navegador, aparece porque o nome não é uma palavra em espanhol e isso não é um problema.

Você pode usar qualquer nome desejar para:

  • nomes de controles;
  • nomes de coleções;
  • nomes de variáveis de contexto.

Separadores de fórmula e operador de encadeamento

Alguns separadores e operadores mudarão com base no separador decimal do idioma do autor:

Separador decimal do idioma do autor Separador decimal do Power Apps Separador de lista do Power Apps Operador de encadeamento do Power Apps
. (ponto) . (ponto) , (vírgula) ; (ponto e vírgula)
, (vírgula) , (vírgula) ; (ponto e vírgula) ; (ponto e vírgula duplo)

A alteração no separador de lista do Power Apps é consistente com o que acontece com o separador de lista do Excel. Ele afeta:

  • Argumentos em chamadas de função.
  • Campos em um registro.
  • Registros em uma tabela.

Por exemplo, considere a seguinte fórmula expressa em um idioma e região que usa ponto como separador decimal, como Japão ou Reino Unido:

Power Apps formula If open paren slider1 dot value greater than 12 dot 59 comma notify open paren double-quote Valid! double-quote comma success close paren semi-colon Navigate open paren double-quote NextScreen double-quote comma None close paren comma notify open paren double-quote Invalid, try again double-quote comma error close paren close paren.

Agora, veja a mesma fórmula em um idioma e região em que uma vírgula é usada como separador decimal, como França ou Espanha:

Power Apps formula If open paren slider1 dot value greater than 12 comma 59 semi-colon notify open paren double-quote Valid! double-quote semi-colon success close paren double semi-colon Navigate open paren double-quote NextScreen double-quote semi-colon None close paren semi-colon notify open paren double-quote Invalid, try again double-quote semi-colon error close paren close paren.

O destaque mostra os operadores que mudam entre as duas versões. O operador de seleção da propriedade . em Slider1.Value sempre é o mesmo, independentemente de qual seja o separador decimal.

Internamente, a fórmula não é alterada, tudo que é alterado é como ela é exibida e editada pelo autor. Dois autores diferentes usando dois idiomas diferentes podem exibir e editar a mesma fórmula, com cada um vendo os separadores e operadores apropriados para seu idioma.

Criação de um aplicativo global

O aplicativo que você cria pode se adaptar a diferentes idiomas, fornecendo uma excelente experiência de usuário para os usuários em todo o mundo.

Função Language

A função Language retorna a marca de linguagem para o usuário atual. Por exemplo, a função retornará "en-GB" para usuários na Grã-Bretanha e "de-DE" para os usuários na Alemanha.

Entre outras coisas, você pode usar Language para exibir o texto traduzido para seus usuários. Seu aplicativo pode incluir uma tabela de valores traduzidos em seu aplicativo:

Table with localized text.

E, em seguida, usar uma fórmula como a seguinte para retirar cadeias de caracteres traduzidas da tabela:

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

Cadeias de caracteres traduzidas em outros idiomas podem ser maiores do que as que estiverem em seu idioma. Em muitos casos, os rótulos e outros elementos que exibem as cadeias de caracteres na interface do usuário precisarão ser maiores para acomodá-las.

Para obter mais informações, consulte a documentação sobre a função Language.

Formatação de números, datas e horas

Números, datas e horas são gravados em formatos diferentes em diferentes partes do mundo. O significado de vírgulas, casas decimais e a ordem de data, mês e ano variam de local para local.

A função Text formata números e datas usando a configuração de idioma do usuário.

Text requer uma cadeia de caracteres de formato para saber como você deseja formatar números ou datas. Essa cadeia de caracteres de formato pode ter uma destas duas formas:

  • Uma enumeração de reconhecimento global. Por exemplo, Text( Now(), DateTimeFormat.LongDate ). Essa fórmula formatará a data atual em um formato apropriado para o idioma. Esse método é a maneira preferencial para especificar a cadeia de caracteres de formato.
  • Uma cadeia de caracteres de formato personalizado. Por exemplo, Text( Now(), "[$-en-US]dddd, mmmm dd, yyyy" ) exibe o mesmo texto que a enumeração quando usada no idioma "en-US". A vantagem da cadeia de caracteres de formato personalizado é que você pode especificar exatamente o que deseja.

O "[$-en-US]" na frente da cadeia de caracteres de formato personalizada informa à função Text em qual idioma interpretar a cadeia de caracteres de formato personalizada. Essa cadeia de caracteres é inserida por você e é padronizada para seu idioma de criação. Normalmente, não será necessário alterá-la. É útil quando autores de diferentes idiomas estiverem editando o mesmo aplicativo.

O terceiro argumento de Text especifica qual idioma usar para o resultado da função. O padrão é a configuração de idioma do usuário atual.

Para obter mais informações, consulte a documentação para a função Text.

Leitura de números, datas e horas

Há quatro funções para ler números, datas e horas fornecidos pelo usuário:

  • Value: converte um número de uma cadeia de caracteres de texto em um valor numérico.
  • DateValue: converte um valor de data de uma cadeia de caracteres em um valor de data/hora. Qualquer horário especificado na cadeia de texto é ignorado.
  • TimeValue: converte um valor de hora de uma cadeia de caracteres em um valor de data/hora. Qualquer data especificada na cadeia de texto é ignorada.
  • DateTimeValue: converte um valor de data e hora de uma cadeia de caracteres de texto em um valor de data/hora.

Se você tiver usado o Excel, todas essas funções serão combinadas na única função Value. Elas são divididas aqui um vez que o Power Apps tem tipos separados de valores de data/hora e números.

Todas estas funções têm os mesmos argumentos:

  • Cadeia de caracteres, obrigatório: uma cadeia de caracteres do usuário. Por exemplo, uma cadeia de caracteres insere dados em um controle Entrada de texto e lê o controle com a propriedade Texto.
  • Idioma, opcional: o idioma no qual interpretar a Cadeia de caracteres. Por padrão, a configuração de idioma do usuário.

Por exemplo:

  • Value( "12,345.678", "en-US" ) ou Value( "12,345.678" ) quando localizado, onde "en-US" é o idioma do usuário, retorna o número 12345.678, pronto para cálculos.
  • DateValue( "1/2/01", "es-ES" ) ou DateValue( "1/2/01" ) quando localizado, onde "es-ES" é o idioma do usuário, retorna o valor de data/hora 1 de fevereiro de 2001 à meia-noite.
  • TimeValue( "11:43:02", "fr-FR" ) ou TimeValue( "11:43:02" ) quando localizado onde "fr-FR" é o idioma do usuário retorna o valor da data/hora 1 de fevereiro de 1970 às 11:43:02.
  • DateTimeValue( "11:43:02 1/2/01", "de-DE" ) ou DateTimeValue( "11:43:02 1/2/01" ) quando localizado onde "de-DE" é o idioma do usuário retorna o valor da data/hora 1 de fevereiro de 2001 às 11:43:02.

Para obter mais informações, consulte a documentação para as funções Value e DateValue, TimeValue e DateTimeValue.

Informações de calendário e relógio

As funções Calendar e Clock fornecem informações de calendário e relógio para a linguagem atual do usuário.

Entre outras coisas, use essas funções para oferecer um controle Lista suspensa com uma lista de opções.

Para obter mais informações, consulte a documentação sobre as funções Calendar e Clock.