Função Idioma no PowerAppsLanguage function in PowerApps

Retorna a marcação de idioma do usuário atual.Returns the language tag of the current user.

DescriçãoDescription

A função Idioma retorna o idioma, o script e a região do usuário atual como uma marcação de idioma.The Language function returns the language, script, and region of the current user as a language tag.

Use as informações de idioma para personalizar seu aplicativo entre as localidades.Use the language information to tailor your app across locales. Por exemplo, se você estiver criando um aplicativo para ser usado na Itália e ne França, será possível usar Idioma para exibir automaticamente cadeias de caracteres em italiano e francês para os usuários nesses diferentes locais.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.

Marcas de idiomaLanguage tags

Uma marcação de idioma pode estar em um dos três formatos:A language tag can be in one of three formats:

Valor retornadoReturn value DescriçãoDescription
"lg‑RE""lg‑RE" lg é a abreviação de dois caracteres para o idioma e RE é a abreviação de dois caracteres para a região.lg is the two character abbreviation for the language and RE is the two character abbreviation for the region. Esse é o tipo de retorno mais comum.This is the most common return type. Por exemplo, "en-GB" é retornado para Grã-Bretanha.For example, "en-GB" is returned for Great Britain.
"lg""lg" lg é a abreviação de dois caracteres para o idioma.lg is the two character abbreviation for the language. Este é o formato usado quando o PowerApps tem informações sobre o idioma, mas não tem informações para 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 abreviação de dois caracteres para o idioma e scrp é a abreviação de quatro caracteres para o script e RE é a abreviação 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 usa o formato de marcação de idiomas de IETF BCP-47.PowerApps uses the IETF BCP-47 language tag format.

Para ver a lista de marcas de idiomas com suporte, digite Value( "1", ) na barra de fórmulas ou na exibição avançada e percorra a lista de localidades sugerida 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 usam marcas de idioma.The Text and Value functions also use language tags. Use essas funções para converter de e para cadeias de caracteres de texto de uma maneira conhecida globalmente.Use these functions for translating to and from text strings in a globally aware manner. Ao passar uma marcação de idioma para essas funções e se a região não fizer diferença, você pode usar apenas a parte do idioma da marcação.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

Language()Language()

ExemplosExamples

Localidade do usuárioUser's locale

Supõe-se que o sistema operacional do host e/ou navegador estejam usando a localidade padrão para o local.It is assumed that the host operating system and/or browser are using the default locale for the location.

FórmulaFormula LocalLocation Valor RetornadoReturn 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, EUAAtlanta, 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 configurações do sistema do usuário"sr-cyrl-RS" or "sr-latn-RS", depending on the user's system settings

Tabela de localizaçãoLocalization table

Uma abordagem simples para a localização é criar uma planilha do Excel mapeando um TextID definido pelo autor para um texto traduzido para o idioma do usuário.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 você possa usar uma coleção ou qualquer outra fonte de dados para essa tabela, escolhemos Excel porque ele é fácil de editar e gerenciar fora do aplicativo 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 em branco para a coluna Idioma será usada como padrão se não houver nenhuma cadeia de caracteres 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. Essa 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 nossos propósitos, precisamos apenas examinar o idioma da localidade 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 da marcação de idioma completo na tabela acima.If regional considerations were important, we could have included the full language tag value in the table above.

  2. Use a faixa de opções Inserir, o comando Tabela, para tornar isso em uma tabela do Excel adequada.Use the Insert ribbon, Table command, to make this into a proper Excel table. Por padrão, ela será nomeada Table1, mas você pode chamá-la como quiser com a faixa de opções Design/Ferramentas da Tabela e a caixa de texto Nome de tabela: 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. Salve o arquivo do Excel no sistema de arquivos local.Save the Excel file to your local file system.
  4. No PowerApps, clique no painel direito, clique ou toque na guia Fontes de dados e, em seguida, clique ou toque em Adicionar fonte 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 ao seu aplicativo, clique ou toque no arquivo do Excel salvo 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 clique ou toque em Conectar.Select the table that you created, and then click or tap Connect.

Em seu aplicativo, onde quer que tenha usado o texto "Hello" antes, use esta fórmula em vez disso:In your app, wherever you would have used the text "Hello" before, use this formula instead:

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

Essa fórmula pesquisará o valor de LocalizedText adequado para o idioma do usuário e, se não for encontrado, voltará para a versão em branco padrão.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.

Lembre-se de que cadeias de caracteres traduzidas para outros idiomas podem ser significativamente maiores do que as que estiverem em seu idioma.Be aware that translated strings in other languages could be significantly longer than they are in your language. 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.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

Você pode traduzir o texto sob demanda usando 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, clique no painel direito, clique ou toque na guia Fontes de dados e, em seguida, clique ou toque em Adicionar fonte 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.

Em seu aplicativo, onde quer que tenha usado o texto "Hello" antes, use esta fórmula em vez disso:In your app, wherever you would have used the text "Hello" before, use this formula instead:

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

O serviço Microsoft Translator usa as mesmas marcas de idioma que a função Idioma retorna.The Microsoft Translator service uses the same language tags that the Language function returns.

Essa abordagem tem algumas desvantagens em comparação com o exemplo anterior que utilizou uma tabela previamente traduzida de cadeias de caracteres 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 levará tempo para ser concluída, exigindo uma chamada para um serviço na rede.The translation will take time to complete, requiring a call to a service across the network. Isso resultará em um atraso para exibir o texto traduzido em seu aplicativo.This will result in a lag to see the translated text in your app.
  • A tradução será mecânica e pode não ser o que você prevê ou não ser a melhor opção para a situação dentro de seu aplicativo.The translation will be mechanical and may not be what you anticipate or be the best choice for the situation within your app.