Fonction Language

S’applique à : Application canevas Flux de bureau CLI Power Platform

Retourne la balise de langue de l’utilisateur actuel.

Description

La fonction Language retourne la langue, le script et la région de l’utilisateur actuel sous forme de balise de langue.

Utilisez les informations de langue pour adapter votre application aux paramètres régionaux. 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.

Balises de langue

Une balise de langue peut se présenter sous trois formats :

Valeur renvoyée Description
"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). Il s’agit du type de valeur renvoyée le plus courant. Par exemple, la valeur « en-GB » est retournée pour le Royaume-Uni.
"lg" lg est l’abréviation de la langue en deux caractères. Il s’agit du format utilisé lorsque Power Apps dispose d’informations sur la langue, mais pas sur la région spécifique.
"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.

Power Apps utilise le format de balise de langue IETF BCP-47.

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.

Les fonctions Text et Value utilisent également des balises de langue. Ces fonctions, qui reconnaissent toutes les langues, peuvent être utilisées pour la traduction vers et à partir de chaînes de texte. 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.

Syntaxe

Language()

Exemples

Paramètres régionaux utilisateur

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.

Formule Emplacement Valeur renvoyée
Language() Lisbonne, Portugal "pt-PT"
Language() Rio de Janeiro, Brésil "pt-BR"
Language() Atlanta, États-Unis "en-US"
Language() Manchester, Royaume-Uni "en-GB"
Language() Paris, France "fr-FR"
Language() Roseau, Dominique « en »
Language() Belgrade, Serbie « sr-cyrl-RS » ou « sr-latn-RS » selon les paramètres système de l’utilisateur

Tableau de localisation

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

  1. Dans Excel, créez le tableau suivant :

    Tableau de localisation.

    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. Cette entrée doit apparaître après toutes les autres entrées pour un TextID spécifique.

    Dans le cas présent, nous nous intéressons uniquement à la langue correspondant aux paramètres régionaux et non à la région. Si les considérations régionales étaient importantes, nous pourrions inclure la valeur de balise de langue complète dans le tableau ci-dessus.

  2. Utilisez le ruban Insérer et la commande Tableau pour organiser ces données dans un tableau Excel approprié. 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.

  3. Enregistrez le fichier Excel sur votre système de fichiers local.

  4. Dans Power Apps, dans le volet de droite, cliquez ou appuyez sur l’onglet Data Sources, puis cliquez ou appuyez sur Add data source.

  5. Cliquez ou appuyez sur Add static data to your app, cliquez ou appuyez sur le fichier Excel enregistré, puis cliquez ou appuyez sur Open.

  6. Sélectionnez le tableau que vous avez créé, puis cliquez ou appuyez sur Connect.

Dans votre application, remplacez toutes les occurrences du texte « Hello » que vous auriez utilisées précédemment par la formule suivante :

  • LookUp( 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.

N’oubliez pas que les chaînes traduites dans d’autres langues peuvent être beaucoup plus longues que celles dans votre langue. Souvent, les étiquettes et d’autres éléments affichant les chaînes dans votre interface utilisateur doivent être élargis en conséquence.

Service de traduction

Vous pouvez traduire du texte à la demande à l’aide d’un service de traduction comme Microsoft Translator :

  1. Dans Power Apps, dans le volet de droite, cliquez ou appuyez sur l’onglet Data Sources, puis cliquez ou appuyez sur Add data source.
  2. Cliquez ou appuyez sur Microsoft Translator.

Dans votre application, remplacez toutes les occurrences du texte « Hello » que vous auriez utilisées précédemment par la formule suivante :

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

Le service Microsoft Translator utilise les mêmes balises de langue que celles renvoyées par la fonction Language.

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 :

  • La traduction nécessitera un appel à un service sur le réseau et prendra donc du temps. Cela retardera l’affichage du texte traduit dans votre application.
  • La traduction sera automatique. Elle ne correspondra peut-être pas à vos attentes et n’offrira pas systématiquement un résultat adapté à votre application.