Partilhar via


Suporte global

Nota

Microsoft Power Fx é o novo nome para a linguagem de fórmula de aplicações de tela. Estes artigos associados são um trabalho em curso à medida que extraímos o idioma das aplicações de tela, o integramos com outros produtos do Microsoft Power Platform e o disponibilizamos como open source. Comece com a Visão geral de Microsoft Power Fx para uma introdução ao idioma.

Tanto enquanto cria e enquanto executa a lógica, o texto exibido pelo Power Fx será apresentado nos idiomas apropriados. A escrita e apresentação de datas e números é adaptada para a sua região e idioma.

Por exemplo, algumas regiões do mundo utilizam um . (ponto) como separador decimal, enquanto outros utilizam a , (vírgula). Isto é o que o Excel também faz. Normalmente, isto não é feito noutras linguagens de programação, que utilizam um . canónico como separador decimal para todos os utilizadores em todo o mundo. Para ser o mais acessível possível para os criadores a todos os níveis, é importante que 3,14 seja um número decimal para uma pessoa em França que tenha usado essa sintaxe toda a sua vida.

As aplicações que cria também podem estar conscientes do mundo. Utilize o Idioma, Texto, Valor, DateValue e outras funções para adaptar o que é apresentado e utilizado como entrada em idiomas diferentes.

Definições de idioma

Ao utilizar o estúdio nativo ou um leitor nativo, o idioma utilizado é indicado pelo sistema operativo anfitrião. Para o Windows, esta definição pode ser controlado em "Todas as Definições" e, em seguida, nas definições de "Hora e idioma". O Windows também permite especificar os carateres a utilizar para o separador decimal, ao substituir a definição de idioma.

Ao utilizar as experiências Web, o idioma utilizado é indicado pelo browser. A maioria das predefinições de browser na definição do sistema de operativo anfitrião também oferecem uma forma de definir o idioma manualmente.

Ambiente de criação

O ambiente de criação adapta-se à definição de idioma do autor. A própria aplicação é armazenada de uma forma agnóstica de idioma, para que os autores que utilizam idiomas diferentes possam editar a mesma aplicação.

Nomes nas fórmulas

A maioria dos elementos na fórmula encontram-se sempre em inglês:

  • Nomes de função: Se, Navegar, Recolher, etc.
  • Nomes de propriedade de controlo: Screen.Fill, Button.OnSelect, Textbox.Font, etc.
  • Nomes de enumeração: Color.Aqua, DataSourceInfo.MaxValue, FontWeight.Bold, etc.
  • Registos de sinal: Compass.Heading, Location. Latitude, App.ActiveScreen, etc.
  • Operadores: Principal, em, exactIn, etc.

Uma vez que a experiência de criação é localizada, o controlo e outros nomes de objeto irão aparecer no idioma nativo do autor. Em espanhol, alguns dos nomes do controlo aparecem como:

Nomes de controlo em Espanhol.

Ao inserir um destes controlos na sua aplicação, o respetivo nome será predefinido para inglês. Esta alteração é feita para estar coerente com os nomes de propriedade de controlo e o resto da fórmula. Por exemplo, Casilla listado acima é inserido como Caixa de verificação1.

Assim que um controlo é inserido, pode alterar o nome para o que quiser. Quando selecionado, o lado mais à esquerda do friso "Conteúdo" apresenta o nome do controlo. Ao selecionar este nome, uma caixa de texto é suspensa, onde pode editar o nome:

Experiência em Espanhol.

Se assim o desejar, pode mudar aqui o nome do controlo para Casilla1. O squiggly vermelho, neste caso apresentado por um browser, é porque o nome não é uma palavra espanhola e de nenhuma preocupação.

Pode utilizar quaisquer nomes que queira para:

  • Nomes de controlos
  • Nomes de coleções
  • Nomes de variáveis de contexto

Separadores de fórmulas e operador de encadeamento

Alguns separadores e operadores irão deslocar-se 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 ou período) . (ponto ou período) , (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. Tem impacto sobre:

  • Argumentos em chamadas de função.
  • Campos num registo.
  • Registos numa tabela.

Por exemplo, considere a fórmula seguinte expressa num idioma e região que utiliza ponto ou período como separador decimal, tal como o Japão ou o Reino Unido:

A fórmula do Power Apps If abre paren controlo de deslize1 ponto valor superior a 12 ponto 59 vírgula notify abre paren aspas duplas Valid! aspas duplas vírgula success fecha paren ponto e vírgula Navigate abre paren aspas duplas NextScreen aspas duplas vírgula None fecha paren vírgula notify abre paren aspas duplas Invalid, tente novamente aspas duplas vírgula error fecha paren fecha paren.

Agora, veja esta mesma fórmula num idioma e região onde é utilizada uma vírgula para o separador decimal, tal como França ou Espanha:

A fórmula do Power Apps If abre paren controlo de deslize1 ponto valor superior a 12 ponto 59 vírgula notify abre paren aspas duplas Valid! aspas duplas ponto e vírgula success fecha paren ponto e vírgula duplo Navigate abre paren aspas duplas NextScreen aspas duplas vírgula None fecha paren ponto e vírgula notify abre paren aspas duplas Invalid, tente novamente aspas duplas ponto e vírgula error fecha paren fecha paren.

O realce mostra os operadores que são alterados entre as duas versões. O operador de seleção de propriedade . (ponto) em Slider1.Value é sempre o mesmo, independentemente do separador decimal.

Internamente a fórmula não se altera, só é alterada a forma como é apresentada e editada pelo autor. Dois autores diferentes com dois idiomas diferentes podem ver e editar a mesma fórmula, com cada um a ver os operadores e os separadores adequados para o seu idioma.

Criar uma aplicação global

A aplicação que cria pode adaptar-se a idiomas diferentes, proporcionando uma experiência de utilizador excelente para os seus utilizadores em todo o mundo.

Função de idioma

A função Idioma devolve a etiqueta de idioma ao utilizador atual. Por exemplo, esta função devolve "pt-PT" para os utilizadores em Portugal e "de-DE" para utilizadores na Alemanha.

Entre outras coisas, pode utilizar Idioma para apresentar texto traduzido para os seus utilizadores. A sua aplicação pode incluir uma tabela dos valores traduzidos na sua aplicação:

Tabela com texto localizado.

E, em seguida, utilize uma fórmula como a seguinte para obter cadeias traduzidas da tabela:

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

As cadeias traduzidas noutros idiomas podem ser 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.

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

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

Os números, datas e horas são escritos em diferentes formatos em diferentes partes o mundo. O significado das vírgulas, casas decimais e a ordem do mês, dia e ano variam de acordo com a localização.

A função Texto formata números e datas com a definição de idioma do utilizador.

O Texto necessita de uma cadeia de formato para saber como pretende formatar o número ou a data. Esta cadeia de formato pode ter uma de duas formas:

  • Uma enumeração com suporte global. Por exemplo, Text( Now(), DateTimeFormat.LongDate ). Esta fórmula irá formatar a data atual para um formato adequado do idioma. Este método é a forma preferencial para especificar a cadeia de formato.
  • Uma cadeia de formato personalizado. Por exemplo, Text( Now(), "[$-en-US]dddd, mmmm dd, yyyy" ) apresenta o mesmo texto que a enumeração quando utilizado no idioma "en-US". A vantagem da cadeia de formato personalizado é que pode especificar exatamente o que pretende.

O "[$-en-US]" no início da cadeia de formato personalizado diz ao Texto em que idioma interpretar a cadeia de formato personalizado. Esta cadeia é inserida para si e predefinida para o idioma de criação. Normalmente, não tem de alterar esta cadeia. É útil quando os autores de diferentes idiomas estão a editar a mesma aplicação.

O terceiro argumento para Texto especifica o idioma a utilizar para o resultado da função. A predefinição é a definição de idioma do utilizador atual.

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

Leitura de números, datas e horas

Existem quatro funções para a leitura de números, datas e horas apresentadas pelo utilizador:

  • Valor: converte um número numa cadeia de texto para um valor numérico.
  • DateValue: converte um valor de data numa cadeia de texto para um valor de data/hora. Qualquer período de tempo especificado na cadeia de texto é ignorado.
  • TimeValue: converte um valor de hora numa cadeia de texto para um valor de data/hora. Qualquer data especificada na cadeia de texto é ignorada.
  • DateTimeValue: converte um valor de data e hora numa cadeia de texto para um valor de data/hora.

Se tiver utilizado o Excel, todas estas funções são combinadas numa função de Valor única. Estas são divididas aqui, uma vez que o Power Apps tem tipos separados para valores de data/hora e números.

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

  • Cadeia, obrigatório: uma cadeia do utilizador. Por exemplo, uma cadeia escreve num controlo de Introdução de texto e lê a partir do controlo com a propriedade de Texto.
  • Idioma, opcional: O idioma em que interpreta a Cadeia. Por predefinição, a definição de idioma do utilizador.

Por exemplo:

  • Value( "12,345.678", "en-US" ) ou Value( "12,345.678" ) quando localizados onde "en-US" é o idioma do utilizador devolve o número 12345.678, pronto para cálculos.
  • DateValue ("1/2/01", "es-ES") ou DateValue ("1/2/01") quando localizados onde "es-ES" é o idioma do utilizador devolve o valor de data/hora 1 de fevereiro de 2001 à meia-noite.
  • TimeValue( "11:43:02", "fr-FR" ) ou TimeValue( "11:43:02" ) quando localizados onde "fr-FR" é o idioma do utilizador devolve o valor de data/hora 1 de janeiro 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 em que "de-DE" é o idioma que o utilizador obtém do valor data/hora 1 de fevereiro de 2001 às 11:43:02.

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

Informações de Calendário e Relógio

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

Entre outras coisas, utilize estas funções para oferecer um controlo Pendente com uma lista de opções.

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