Intégrer un support global aux applications canevas

Power Apps est un produit international. Vous pouvez générer et utiliser des applications canevas dans de nombreuses langues et régions.

Tant dans la phase de création que d’exécution des applications, le texte affiché par Power Apps a été traduit dans plusieurs langues. Les éléments de menu, boîtes de dialogue, onglets du ruban et autre texte s’affichent dans votre langue maternelle. De même, les dates et nombres sont adaptés en fonction de votre langue et de votre région. Par exemple, certaines régions du monde utilisent un . (point ou point) comme séparateur décimal tandis que d’autres utilisent une , (virgule).

Les applications que vous créez peuvent également être sensibles au contexte international. Utilisez les fonctions Language, Text, Value, DateValue et autres pour adapter ce qui apparaît à l’écran dans différentes langues.

Paramètres de langue

Si vous utilisez le studio ou un lecteur natif, la langue utilisée est celle fournie par le système d’exploitation hôte. Pour Windows, ce paramétrage se trouve dans « Tous les paramètres », puis dans « Heure et langue ». Windows vous permet également d’indiquer les caractères à utiliser en tant que séparateur décimal, en remplacement du paramètre de langue.

Si vous utilisez une expérience web, la langue utilisée est celle fournie par le navigateur. La plupart des navigateurs adoptent par défaut le paramètre du système d’exploitation hôte, bien que certains permettent également de définir la langue manuellement.

Environnement de création

L’environnement de création s’adapte aux paramètres de langue de l’auteur. L’application elle-même est stockée de manière agnostique par rapport à la langue, afin que les auteurs utilisant différentes langues puissent modifier la même application.

Noms utilisés dans les formules

La plupart des éléments d’une formule sont toujours en anglais :

  • Noms de fonction : If, Navigate, Collect, etc.
  • Noms des propriétés de contrôle : Écran.Fill, Bouton.OnSelect, Textbox.Font, etc.
  • Noms des énumérations : Color.Aqua, DataSourceInfo.MaxValue, FontWeight.Bold, etc.
  • Enregistrements de signaux : Compass.Heading, Location.Latitude, App.ActiveScreen, etc.
  • Opérateurs : Parent, in, exactIn, etc.

Dans la mesure où l’expérience de création est localisée, les noms de contrôle et d’autres objets s’affichent dans la langue native de l’auteur. En espagnol par exemple, certains des noms de contrôle apparaissent comme suit :

Nom des commandes en espagnol.

Lorsque vous insérez une de ces commandes dans votre application, son nom anglais par défaut est rétabli. Nous procédons ainsi par souci de cohérence entre les noms des propriétés de contrôle et le reste de la formule. Par exemple, Casilla répertorié ci-dessus est inséré en tant que Case à cocher1.

Après l’insertion d’un contrôle, vous pouvez modifier le nom à votre convenance. Par exemple, si vous sélectionnez la partie tout à gauche du ruban « Contenu », celle-ci affiche le nom du contrôle. Sélectionnez ce nom pour faire apparaître une zone de texte déroulante à partir de laquelle modifier le Nom:

Expérience en espagnol.

Si vous le souhaitez, vous pouvez ici renommer le contrôle en Casilla1. La partie rouge ondulée, qui apparaît dans ce cas dans un navigateur, signale simplement que le nom indiqué n’est pas un nom espagnol. Il ne s’agit en aucun cas d’un problème.

Vous pouvez utiliser le nom de votre choix pour les :

  • Noms de contrôle
  • Noms de collection
  • Noms de variables de contexte

Opérateur de chaînage et séparateurs de formule

Certains séparateurs et opérateurs vont être déplacés selon le séparateur décimal choisi dans la langue de l’auteur :

Séparateur décimal de la langue de l’auteur Séparateur décimal Power Apps Séparateur de liste Power Apps Opérateur de chaînage Power Apps
. (point) . (point) , (virgule) ; (point-virgule)
, (virgule) , (virgule) ; (point-virgule) ;; (double point-virgule)

Vous changez de séparateur de liste dans Power Apps un peu comme vous changez de séparateur de liste dans Excel. Il a un impact sur :

  • Arguments des appels de fonction
  • Champs d’un enregistrement
  • Enregistrements dans une table.

Par exemple, considérons la formule suivante exprimée dans une langue et une région qui utilisent le point ou la période comme séparateur décimal, comme le Japon ou le Royaume-Uni :

Power Apps formula If open paren slider1 dot value greater than 12 dot 59 comma notify open paren double-quote Valid! double-quote comma success close paren semi-colon Navigate open paren double-quote NextScreen double-quote comma None close paren comma notify open paren double-quote Invalid, try again double-quote comma error close paren close paren.

Maintenant, affichez cette même formule dans une langue et une région où une virgule est utilisée pour le séparateur décimal, comme la France ou l’Espagne :

Power Apps formula If open paren slider1 dot value greater than 12 comma 59 semi-colon notify open paren double-quote Valid! double-quote semi-colon success close paren double semi-colon Navigate open paren double-quote NextScreen double-quote semi-colon None close paren semi-colon notify open paren double-quote Invalid, try again double-quote semi-colon error close paren close paren.

Le surlignage montre les opérateurs qui changent entre les deux versions. L’opérateur de sélection de propriété . (point) dans Slider1.Value est toujours le même, quel que soit le séparateur décimal.

En interne, la formule reste inchangée. La seule chose qui change, c’est la façon dont le tout est affiché et modifié par l’auteur. Deux auteurs différents qui utilisent deux langues différentes peuvent ainsi afficher et modifier la même formule, chacun visualisant les séparateurs et opérateurs qui conviennent à leur langue.

Création d’une application globale

L’application que vous créez peut s’adapter aux différentes langues, ce qui offre aux utilisateurs une excellente expérience dans le monde entier.

Fonction Language

La fonction Language renvoie la balise de langue de l’utilisateur actuel. Par exemple, cette fonction renvoie "en-GB" pour les utilisateurs en Grande-Bretagne et "de-DE" pour les utilisateurs en Allemagne.

Vous pouvez entre autres utiliser Language afin d’afficher le texte traduit pour vos utilisateurs. Votre application peut inclure une table de valeurs traduite :

Tableau avec texte localisé.

Il vous suffit ensuite d’utiliser une formule semblable à celle-ci pour extraire les chaînes traduites de la table :

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

Les chaînes traduites dans d’autres langues peuvent être beaucoup plus longues que 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.

Pour plus d’informations, voir la documentation sur la fonction Language.

Mise en forme des nombres, dates et heures

Les formats des nombres, dates et heures diffèrent dans le monde. L’emplacement des virgules et des décimales, ainsi que l’ordre du mois, du jour et de l’année varient d’un pays à un autre.

La fonction Text formate les nombres et dates à l’aide du paramètre de langue de l’utilisateur.

La fonction Text nécessite que la chaîne de format sache comment vous allez mettre en forme le nombre ou la date. Cette chaîne de format peut prendre l’une des deux formes suivantes :

  • Une énumération qui tient compte de l’aspect international. Par exemple, Text( Now(), DateTimeFormat.LongDate ). Cette formule exprime la date du jour dans un format de langue approprié. C’est la méthode que nous privilégions pour spécifier la chaîne de format.
  • Une chaîne de format personnalisée. Par exemple, Text( Now(), "[$-en-US]dddd, mmmm dd, yyyy" ) affiche le même texte que l’énumération quand utilisé dans la langue "en-US". La chaîne de format personnalisée présente un avantage en ce sens qu’elle vous permet de spécifier exactement ce que vous voulez.

La partie "[$-en-US]" au début de la chaîne de format personnalisée mentionne à la fonction Text dans quelle langue interpréter cette chaîne. La chaîne est insérée pour vous et adopte par défaut la valeur de votre langue de création. Normalement, vous n’avez pas à la modifier. C’est utile lorsque des auteurs qui utilisent différentes langues modifient la même application.

Le troisième argument de la fonction Text indique quelle langue utiliser pour le résultat. La valeur par défaut est le paramètre de langue de l’utilisateur actuel.

Pour plus d’informations, voir la documentation sur la fonction Text.

Lecture des nombres, dates et heures

Il existe quatre fonctions pour la lecture des nombres, dates et heures fournis par l’utilisateur :

  • Value  : convertit un nombre dans une chaîne de texte en une valeur numérique.
  • DateValue  : convertit une valeur de date dans une chaîne de texte en une valeur date/heure. Toute heure spécifiée dans la chaîne de texte est ignorée.
  • TimeValue  : convertit une valeur d’heure dans une chaîne de texte en une valeur date/heure. Toute date spécifiée dans la chaîne de texte est ignorée.
  • DateTimeValue  : convertit une valeur de date et d’heure dans une chaîne de texte en une valeur date/heure.

Si vous utilisez Excel, toutes ces fonctions sont combinées dans la même fonction Value. Elles sont séparées ici, car Power Apps possède des types distincts pour les valeurs date/heure et les nombres.

Toutes ces fonctions possèdent les mêmes arguments :

  • String, requis : une chaîne fournie par l’utilisateur. Par exemple, une chaîne saisie dans un contrôle Saisie de texte et lue depuis le contrôle avec la propriété Text.
  • Language, facultatif : la langue dans laquelle interpréter le champ String. Par défaut, il s’agit du paramètre de langue de l’utilisateur.

Par exemple :

  • Value( "12,345.678", "en-US" ) ou Value( "12,345.678" ) dans un site où "en-US" est la langue de l’utilisateur renvoie le nombre 12345.678, prêt à être utilisé dans les calculs.
  • DateValue( "1/2/01", "es-ES" ) ou DateValue( "1/2/01" ) dans un site où "es-ES" est la langue de l’utilisateur renvoie la valeur date/heure 1er février 2001 à minuit.
  • TimeValue( "11:43:02", "fr-FR" ) ou TimeValue( "11:43:02" ) dans un site où « fr-FR » est la langue de l’utilisateur renvoie la valeur date/heure 1er janvier 1970 à 11:43:02.
  • DateTimeValue( "11:43:02 1/2/01", "de-DE" ) ou DateTimeValue( "11:43:02 1/2/01" ) dans un site où « de-DE » est la langue de l’utilisateur renvoie la valeur date/heure 1er février 2001 à 11:43:02.

Pour plus d’informations, voir la documentation relative aux fonctions Value, DateValue, TimeValue et DateTimeValue, ainsi que celle concernant l’utilisation des dates et heures.

Informations de calendrier et d’horloge

Les fonctions Calendar et Clock fournissent des informations de calendrier et d’horloge pour la langue actuelle de l’utilisateur.

Utilisez entre autres ces fonctions pour fournir un contrôle Liste déroulante avec une liste de choix.

Pour plus d’informations, voir la documentation sur les fonctions Calendar et Clock.

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).