O PowerApps é um produto global. Você pode criar e usar aplicativos em diversos idiomas e regiões.

Durante a criação e execução de aplicativos, o texto exibido pelo PowerApps foi traduzido para uma variedade de idiomas. Você verá os itens de menu, caixas de diálogo, guias de faixa de opções e outros textos em seu idioma nativo. Digitar e exibir datas e números também é adaptado para sua região e idioma específicos. Por exemplo, algumas regiões do mundo uso "."como um separador decimal enquanto outros usam",".

Os aplicativos que você criar podem ser bem conhecidos globalmente. Use Language, Texto, Valor, ValorData e outras funções para adaptar o que será exibido e usado como entrada em diferentes idiomas.

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, isso pode ser controlado 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 com alguns também fornecendo 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 de 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, ...
  • Nomes de propriedade de controle: Screen.Fill, Button.OnSelect, Textbox.Font, ...
  • Nomes de enumeração: Color.Aqua, DataSourceInfo.MaxValue, FontWeight.Bold...
  • Registros de sinal: Compass.Heading, Location. Latitude, App.ActiveScreen, ...
  • Operadores: Parent, in, exactIn, ...

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:

Quando você insere um desses em seu aplicativo, seu nome será padronizado para o inglês. Isso é feito 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 para qualquer um que deseje. Quando selecionado, o lado esquerdo mais distante da faixa de opções "Conteúdo" exibe o nome do controle. Selecionar esse nome exibe uma caixa de texto em que você pode editar o nome:

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 controle
  • Nomes de coleção
  • Nomes de variável 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 PowerApps Separador de lista do PowerApps Operador de encadeamento do PowerApps
. (ponto final) . (ponto final) , (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 PowerApps é consistente com o que acontece com o separador de lista do Excel. Ele afeta:

Por exemplo, considere a seguinte fórmula em "en-US":

  • If( Slider1.Value > 12.59, UpdateContext( { Validation: true, MovingOn: 1 } ); Navigate( "NextScreen", "" ), UpdateContext( { Validation: false } ) )

Em um idioma em que "," é usado como o separador decimal, ela será exibida na experiência de criação como:

  • If( Slider1.Value > 12,59; UpdateContext( { Validation: true; MovingOn: 1 } );; Navigate( "NextScreen", "" ); UpdateContext( { Validation: false } ) )

Observe que 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.

Criando um aplicativo global

O aplicativo que você criar 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 idioma 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:

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

Lembre-se de que cadeias de caracteres traduzidas para outros idiomas podem ser significativamente 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 para a função Language.

Formatando 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 Texto formata números e datas usando a configuração de idioma do usuário.

Texto 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 ). Esta fórmula formatará a data atual em um formato de idioma apropriado. Essa é 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 você deseja.

O "[$-en-US]" na frente da cadeia de caracteres de formato personalizada informa a Texto em qual idioma interpretar a cadeia de caracteres de formato personalizada. Isso é inserido por você e é padronizado para seu idioma de criação. Normalmente, não será necessário alterar isso. É útil quando autores de diferentes idiomas estiverem editando o mesmo aplicativo.

O terceiro argumento para Texto 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 Texto.

Lendo números, datas e horas

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

  • Valor: converte um número de uma cadeia de caracteres de texto em um valor numérico.
  • ValorData – 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.
  • ValorTempo – converte um valor de hora de uma cadeia de caracteres em um valor de data/hora. Qualquer data especificada na cadeia de texto é ignorada.
  • ValorDataHora: converte um valor de data e hora de uma cadeia de caracteres de texto em um valor de data/hora.

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

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

  • String, obrigatório: uma cadeia de caracteres do usuário. Por exemplo, uma cadeia de caracteres digitada em um controle Entrada de texto e lida a partir do controle com a propriedade Texto.
  • Language, opcional: o idioma no qual interpretar a String. 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 DateValue( "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.
  • TimeDateValue( "11:43:02 1/2/01", "de-DE" ) ou DateValue( "11:43:02" ) quando localizado onde "de-DE" é o idioma do usuário retorna o valor de data/hora 1 de fevereiro de 2001 às 11:43:02.

Para obter mais informações, consulte a documentação para as funções Valor e ValorData, ValorTempo e ValorDataHora e trabalhando com datas e horas.

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

As funções Calendário e Relógio fornecem informações de calendário e relógio para o idioma atual do usuário.

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

Para obter mais informações, consulte a documentação para as funções Calendário e Relógio.