Fonction Language dans PowerAppsLanguage function in PowerApps

Retourne la balise de langue de l’utilisateur actuel.Returns the language tag of the current user.

DescriptionDescription

La fonction Language retourne la langue, le script et la région de l’utilisateur actuel sous forme de balise de langue.The Language function returns the language, script, and region of the current user as a language tag.

Utilisez les informations de langue pour adapter votre application aux paramètres régionaux.Use the language information to tailor your app across locales. Par exemple, si vous créez une application qui sera utilisée en Italie et en France, vous pouvez utiliser la fonction Language pour afficher automatiquement les chaînes italiennes et françaises à l’attention des utilisateurs se trouvant dans ces pays.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.

Balises de langueLanguage tags

Une balise de langue peut se présenter sous trois formats :A language tag can be in one of three formats:

Valeur renvoyéeReturn value DescriptionDescription
"lg‑RE""lg‑RE" lg est l’abréviation de la langue en deux caractères et RE l’abréviation de la région (en deux caractères également).lg is the two character abbreviation for the language and RE is the two character abbreviation for the region. Il s’agit du type de valeur renvoyée le plus courant.This is the most common return type. Par exemple, la valeur « en-GB » est retournée pour le Royaume-Uni.For example, "en-GB" is returned for Great Britain.
"lg""lg" lg est l’abréviation de la langue en deux caractères.lg is the two character abbreviation for the language. Il s’agit du format utilisé lorsque PowerApps dispose d’informations sur la langue, mais pas sur la région spécifique.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 est l’abréviation de la langue en deux caractères, scrp l’abréviation du script en quatre caractères et RE l’abréviation de la région en deux caractères.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.

PowerApps utilise le format de balise de langue IETF BCP-47.PowerApps uses the IETF BCP-47 language tag format.

Pour afficher la liste des balises de langues prises en charge, tapez Value( "1"; ) dans la barre de formule ou l’affichage avancé et faites défiler la liste des paramètres régionaux suggérés pour le deuxième argument.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.

Les fonctions Text et Value utilisent également des balises de langue.The Text and Value functions also use language tags. Ces fonctions, qui reconnaissent toutes les langues, peuvent être utilisées pour la traduction vers et à partir de chaînes de texte.Use these functions for translating to and from text strings in a globally aware manner. Lorsque la transmission d’une balise de langue à ces fonctions et la région ne font aucune différence, vous pouvez utiliser simplement la partie de la balise dédiée à la langue.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.

SyntaxeSyntax

Language()Language()

ExemplesExamples

Paramètres régionaux utilisateurUser's locale

Il est supposé que le système d’exploitation hôte et/ou le navigateur utilisent les paramètres régionaux par défaut de l’emplacement.It is assumed that the host operating system and/or browser are using the default locale for the location.

FormuleFormula EmplacementLocation Valeur renvoyéeReturn Value
Language()Language() Lisbonne, PortugalLisbon, Portugal « pt-PT »"pt-PT"
Language()Language() Rio de Janeiro, BrésilRio de Janeiro, Brazil « pt-BR »"pt-BR"
Language()Language() Atlanta, États-UnisAtlanta, USA « en-US »"en-US"
Language()Language() Manchester, Grande-BretagneManchester, Great Britain « en-GB »"en-GB"
Language()Language() Paris, FranceParis, France « fr-FR »"fr-FR"
Language()Language() Roseau, DominiqueRoseau, Dominica « en »"en"
Language()Language() Belgrade, SerbieBelgrade, Serbia « sr-cyrl-RS » ou « sr-latn-RS » selon les paramètres système de l’utilisateur"sr-cyrl-RS" or "sr-latn-RS", depending on the user's system settings

Tableau de localisationLocalization table

Une approche simple en matière de localisation consiste à créer une feuille de calcul Excel en mappant un TextID défini par l’auteur à un texte traduit dans la langue de l’utilisateur.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. Vous pourriez utiliser une collection ou toute autre source de données pour ce tableau. Cependant, nous avons choisi Excel car il est plus simple, pour les traducteurs, de modifier et de gérer les textes en dehors de l’application.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. Dans Excel, créez le tableau suivant :Create the following table in Excel:

    L’entrée avec une valeur vide dans la colonne des langues sera utilisée comme valeur par défaut si aucune chaîne de texte spécifique n’est trouvée pour une langue donnée.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. Cette entrée doit apparaître après toutes les autres entrées pour un TextID spécifique.This entry must appear after all other entries for a given TextID.

    Dans le cas présent, nous nous intéressons uniquement à la langue correspondant aux paramètres régionaux et non à la région.For our purposes, we only need to look at the language of the locale and not the region. Si les considérations régionales étaient importantes, nous pourrions inclure la valeur de balise de langue complète dans le tableau ci-dessus.If regional considerations were important, we could have included the full language tag value in the table above.

  2. Utilisez le ruban Insérer et la commande Tableau pour organiser ces données dans un tableau Excel approprié.Use the Insert ribbon, Table command, to make this into a proper Excel table. Par défaut, il sera nommé Tableau1, mais vous pouvez le nommer comme vous le souhaitez à l’aide du ruban Outils de tableau/Création et de la zone de texte Nom du tableau : à gauche.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. Enregistrez le fichier Excel sur votre système de fichiers local.Save the Excel file to your local file system.

  4. Dans le volet de droite de PowerApps, cliquez ou appuyez sur l’onglet Data Sources (Sources de données), puis cliquez ou appuyez sur Add data source (Ajouter une source de données).In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.

  5. Cliquez ou appuyez sur Add static data to your app (Ajouter des données statiques à votre application), cliquez ou appuyez sur le fichier Excel enregistré, puis cliquez ou appuyez sur Open (Ouvrir).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. Sélectionnez le tableau que vous avez créé, puis cliquez ou appuyez sur Connect (Connexion).Select the table that you created, and then click or tap Connect.

Dans votre application, remplacez toutes les occurrences du texte « Hello » que vous auriez utilisées précédemment par la formule suivante :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

Cette formule va rechercher la valeur LocalizedText appropriée selon la langue de l’utilisateur. Si la valeur n’est pas trouvée, la version vide par défaut est rétablie.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.

N’oubliez pas que les chaînes traduites dans d’autres langues peuvent être beaucoup plus longues que dans la langue d’origine.Be aware that translated strings in other languages could be significantly longer than they are in your language. Souvent, les étiquettes et d’autres éléments affichant les chaînes dans votre interface utilisateur doivent être élargis en conséquence.In many cases, the labels and other elements that display the strings in your user interface will need to be wider to accommodate.

Service de traductionTranslation service

Vous pouvez traduire du texte à la demande à l’aide d’un service de traduction comme Microsoft Translator :You can translate text on demand using a translation service, such as the Microsoft Translator service:

  1. Dans le volet de droite de PowerApps, cliquez ou appuyez sur l’onglet Data Sources (Sources de données), puis cliquez ou appuyez sur Add data source (Ajouter une source de données).In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.
  2. Cliquez ou appuyez sur Microsoft Translator.Click or tap Microsoft Translator.

Dans votre application, remplacez toutes les occurrences du texte « Hello » que vous auriez utilisées précédemment par la formule suivante :In your app, wherever you would have used the text "Hello" before, use this formula instead:

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

Le service Microsoft Translator utilise les mêmes balises de langue que celles renvoyées par la fonction Language.The Microsoft Translator service uses the same language tags that the Language function returns.

Cette approche présente certains inconvénients par rapport à l’exemple précédent qui utilisait un tableau de chaînes de texte prétraduites :This approach comes with some drawbacks when compared to the previous example which utilized a pre-translated table of text strings:

  • La traduction nécessitera un appel à un service sur le réseau et prendra donc du temps.The translation will take time to complete, requiring a call to a service across the network. Cela retardera l’affichage du texte traduit dans votre application.This will result in a lag to see the translated text in your app.
  • La traduction sera automatique. Elle ne correspondra peut-être pas à vos attentes et n’offrira pas systématiquement un résultat adapté à votre application.The translation will be mechanical and may not be what you anticipate or be the best choice for the situation within your app.