Função Idioma no PowerAppsLanguage function in PowerApps

Devolve a etiqueta de idioma do utilizador atual.Returns the language tag of the current user.

DescriçãoDescription

A função Idioma devolve o idioma, o script e a região do utilizador atual como etiqueta de idioma.The Language function returns the language, script, and region of the current user as a language tag.

Utilize as informações de idioma para personalizar a sua aplicação em regiões.Use the language information to tailor your app across locales. Por exemplo, se criar uma aplicação que será utilizada em Itália e em França, pode utilizar idioma para apresentar automaticamente cadeias em italiano e francês aos seus utilizadores nessas localizações diferentes.For example, if you are creating an app that will be used in Italy and France, you can use Language to automatically display Italian and French strings to your users in those different locations.

Etiquetas de idiomaLanguage tags

A etiqueta de idioma pode estar num destes três formatos:A language tag can be in one of three formats:

Valor devolvidoReturn value DescriçãoDescription
"lg‑RE""lg‑RE" lg é a abreviatura de dois carateres do idioma e RE é a abreviatura de dois caracteres da região.lg is the two character abbreviation for the language and RE is the two character abbreviation for the region. Este é o tipo de retorno mais comum.This is the most common return type. Por exemplo, "en-GB" é devolvido para Grã-Bretanha.For example, "en-GB" is returned for Great Britain.
"lg""lg" lg é a abreviatura de dois caracteres para o idioma.lg is the two character abbreviation for the language. Este é o formato utilizado quando PowerApps tem informações sobre o idioma, mas não tem informações sobre a região específica.This is the format used when PowerApps has information about the language, but does not have information for the specific region.
"lg‑scrp‑RE""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.lg is the two character abbreviation for the language, scrp is the four character abbreviation for the script, and RE is the two character abbreviation for the region.

O PowerApps utiliza a etiqueta de idioma do IETF BCP-47.PowerApps uses the IETF BCP-47 language tag format.

Para ver a lista das etiquetas de idioma suportadas, escreva Valor( "1", ) na barra de fórmulas ou na vista avançada e percorra a lista das regiões sugeridas para o segundo argumento.To see the list of supported language tags, type Value( "1", ) in the formula bar or advanced view and scroll through the list of locales suggested for the second argument.

As funções Texto e Valor também utilizam as etiquetas de idioma.The Text and Value functions also use language tags. Utilize estas funções para traduzir de e para cadeias de texto de uma forma globalmente consciente.Use these functions for translating to and from text strings in a globally aware manner. 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.When passing a language tag to these functions and the region would not make a difference, you can use just the language portion of the tag.

SintaxeSyntax

Idioma()Language()

ExemplosExamples

Região do utilizadorUser's locale

Presume-se que o sistema operativo anfitrião e/ou o browser estão a utilizar a região predefinida para a localização.It is assumed that the host operating system and/or browser are using the default locale for the location.

FórmulaFormula LocalizaçãoLocation Valor devolvidoReturn Value
Language()Language() Lisboa, PortugalLisbon, Portugal "pt-PT""pt-PT"
Language()Language() Rio de Janeiro, BrasilRio de Janeiro, Brazil "pt-BR""pt-BR"
Language()Language() Atlanta, E.U.A.Atlanta, USA "en-US""en-US"
Language()Language() Manchester, Grã-BretanhaManchester, Great Britain "en-GB""en-GB"
Language()Language() Paris, FrançaParis, France "fr-FR""fr-FR"
Language()Language() Roseau, DominicaRoseau, Dominica "en""en"
Language()Language() Belgrado, SérviaBelgrade, Serbia "sr-cyrl-RS" ou "sr-latn-RS", dependendo das definições de sistema do utilizador"sr-cyrl-RS" or "sr-latn-RS", depending on the user's system settings

Tabela de localizaçãoLocalization table

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.A simple approach to localization is to create an Excel spreadsheet mapping an author defined TextID to a translated text for the user's language. 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.Although you could use a collection or any other data source for this table, we chose Excel because it is easy to edit and manage outside of the app by translators.

  1. Crie a seguinte tabela no Excel:Create the following table in Excel:

    A entrada com em branco para a coluna Idioma será utilizada como predefinição se não houver nenhuma cadeia de texto específica encontrada para um determinado idioma.The entry with blank for the Language column will be used as the default if there is no specific text string found for a given language. Esta entrada deve aparecer após todas as outras entradas para um determinado TextID.This entry must appear after all other entries for a given TextID.

    Para as nossas finalidades, necessitamos apenas de verificar o idioma da região e não a região.For our purposes, we only need to look at the language of the locale and not the region. Se as considerações regionais fossem importantes, poderíamos ter incluído o valor completo da etiqueta de idioma na tabela acima.If regional considerations were important, we could have included the full language tag value in the table above.

  2. Utilize o friso Inserir, o comando Tabela, para incluí-lo numa tabela Excel adequada.Use the Insert ribbon, Table command, to make this into a proper Excel table. 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.By default, it will be named Table1 but you can name it whatever you like with the Table Tools/Design ribbon and the Table Name: text box on the far left hand side.
  3. Guarde o ficheiro do Excel no sistema de ficheiros local.Save the Excel file to your local file system.
  4. No PowerApps, no painel da direita, clique ou toque no separador Origem de dados e, em seguida, clique ou toque em Adicionar origem de dados.In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.
  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.Click or tap Add static data to your app, click or tap the Excel file that you saved, and then click or tap Open.
  6. Selecione a tabela que criou e, em seguida, clique ou toque em Ligar.Select the table that you created, and then click or tap Connect.

Na sua aplicação, onde quer que tenha utilizado o texto "Olá" anteriormente, em vez disso, utilize esta fórmula:In your app, wherever you would have used the text "Hello" before, use this formula instead:

  • Pesquisar( Table1, TextID = "Olá" && (LanguageTag = Left( Language(), 2 ) || IsBlank( LanguageTag ))).LocalizedTextLookUp( 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 em branco predefinida.This formula will lookup the appropriate LocalizedText value for the language of the user, and if that is not found, will fall back on the default blank version.

Tenha em atenção que as cadeias traduzidas noutros idiomas podem ser consideravelmente maiores do que no seu idioma.Be aware that translated strings in other languages could be significantly longer than they are in your language. Em muitos casos, as etiquetas e outros elementos que apresentam as cadeias na sua interface de utilizador terão de ser maiores para caber.In many cases, the labels and other elements that display the strings in your user interface will need to be wider to accommodate.

Serviço de traduçãoTranslation service

Pode traduzir texto a pedido utilizando um serviço de tradução, como o serviço Microsoft Translator:You can translate text on demand using a translation service, such as the Microsoft Translator service:

  1. No PowerApps, no painel da direita, clique ou toque no separador Origem de dados e, em seguida, clique ou toque em Adicionar origem de dados.In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.
  2. Clique ou toque em Microsoft Translator.Click or tap Microsoft Translator.

Na sua aplicação, onde quer que tenha utilizado o texto "Olá" anteriormente, em vez disso, utilize esta fórmula:In your app, wherever you would have used the text "Hello" before, use this formula instead:

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

O serviço Microsoft Translator utiliza etiquetas de idioma semelhantes às devolvidas pela função idioma.The Microsoft Translator service uses the same language tags that the Language function returns.

Esta abordagem é fornecida com algumas desvantagens em comparação com o exemplo anterior, que é utilizado uma tabela previamente traduzida de cadeias de texto:This approach comes with some drawbacks when compared to the previous example which utilized a pre-translated table of text strings:

  • A tradução demora tempo a concluir, e requer uma chamada para um serviço através da rede.The translation will take time to complete, requiring a call to a service across the network. Este procedimento resulta num desfasamento para ver o texto traduzido na sua aplicação.This will result in a lag to see the translated text in your app.
  • 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.The translation will be mechanical and may not be what you anticipate or be the best choice for the situation within your app.