PowerApps è un prodotto globale. È possibile creare e usare app in molte lingue e aree diverse.

Sia in fase di compilazione che di esecuzione delle app, il testo visualizzato da PowerApps è stato tradotto in diverse lingue. È possibile vedere voci di menu, finestre di dialogo, schede della barra multifunzione e altro testo nella propria lingua madre. La digitalizzazione e la visualizzazione di date e numeri sono anch'esse adattate in base alla lingua e all'area specifiche. Ad esempio, in alcune aree del mondo viene usato "." come separatore decimale mentre in altre ",".

Anche le app create possono essere supportate a livello globale. Usare Language, Text, Value, DateValue e altre funzioni per adattare ciò che viene visualizzato e usato come input nelle diverse lingue.

Impostazioni della lingua

Quando si usa lo studio nativo o un lettore nativo, la lingua usata è specificata dal sistema operativo host. Per Windows, questa impostazione può essere controllata in "Tutte le impostazioni", "Data/ora e lingua". Windows consente anche di specificare i caratteri da usare per il separatore decimale, ignorando l'impostazione della lingua.

Quando si usano le esperienze Web, viene usata la lingua specificata dal browser. La maggior parte dei browser applica automaticamente le impostazioni del sistema operativo host, ma alcuni di essi offrono un modo per impostare manualmente la lingua.

Ambiente di creazione

L'ambiente di creazione si adatta all'impostazione della lingua dell'autore. L'app stessa è archiviata in modo indipendente dalla lingua, in modo che gli autori che usano diverse lingue possano modificare la stessa app.

Nomi nelle formule

La maggior parte degli elementi nelle formule rimangono in inglese:

  • I nomi delle funzioni: If, Navigate, Collect, ...
  • I nomi delle proprietà di controllo: Screen.Fill, Button.OnSelect, Textbox.Font, ...
  • I nomi delle enumerazioni: Color.Aqua, DataSourceInfo.MaxValue, FontWeight.Bold...
  • I record di segnale: Compass.Heading, Location. Latitude, App.ActiveScreen, ...
  • Gli operatori: Parent, in, exactIn, ...

Via via che l'esperienza di creazione viene localizzata, i nomi dei controlli e degli altri oggetti verranno visualizzati nella lingua madre dell'autore. In spagnolo, alcuni dei nomi di controllo vengono visualizzati come:

Quando si inserisce uno di questi nell'app, il relativo nome verrà visualizzato automaticamente in inglese. Ciò avviene per coerenza con i nomi delle proprietà di controllo e il resto della formula. Ad esempio, il termine Casilla indicato sopra viene inserito come Checkbox1.

Dopo che è stato inserito un controllo, è possibile modificarne il nome a proprio piacimento. Quando viene selezionato, la parte all'estrema sinistra della barra multifunzione "Contenuto" visualizza il nome del controllo. Se si seleziona questo nome viene visualizzata una casella di testo in cui è possibile modificare il nome:

In questo caso è eventualmente possibile rinominare il controllo in Casilla1. La riga rossa ondulata, in questo caso visualizzata da un browser, è dovuta al fatto che il nome non è una parola spagnola e non ha alcun interesse.

È possibile usare qualsiasi nome a proprio piacimento per:

  • Nomi dei controlli
  • Nomi delle raccolte
  • Nomi delle variabili di contesto

Separatori di formula e operatore di concatenamento

Alcuni separatori e operatori si sposteranno in base al separatore decimale della lingua dell'autore:

Separatore decimale della lingua dell'autore Separatore decimale PowerApps Separatore di elenco PowerApps Operatore di concatenamento PowerApps
. (punto) . (punto) , (virgola) ; (punto e virgola)
, (virgola) , (virgola) ; (punto e virgola) ;; (doppio punto e virgola)

La modifica nel separatore di elenco PowerApps è coerente con il separatore di elenco di elenco di Excel. Si applica a:

Si consideri ad esempio la formula seguente in "en-US":

  • If( Slider1.Value > 12.59, UpdateContext( { Validation: true, MovingOn: 1 } ); Navigate( "NextScreen", "" ), UpdateContext( { Validation: false } ) )

In una lingua in cui "," viene usato come separatore decimale, questo valore verrà visualizzato nell'esperienza di creazione come:

  • If( Slider1.Value > 12,59; UpdateContext( { Validation: true; MovingOn: 1 } );; Navigate( "NextScreen", "" ); UpdateContext( { Validation: false } ) )

Si noti che l'operatore di selezione proprietà . in Slider1.Value è sempre lo stesso, indipendentemente dal separatore decimale.

Internamente la formula non viene modificata, l'unica modifica riguarda la modalità di visualizzazione e modifica da parte dell'autore. Due diversi autori che usano lingue diverse potranno visualizzare e modificare la stessa formula e ognuno di essi visualizzerà i separatori e gli operatori appropriati per la propria lingua.

Creazione di un'app globale

L'app creata può adattarsi alle diverse lingue, offrendo un'esperienza utente eccezionale per gli utenti in tutto il mondo.

Funzione Language

La funzione Language restituisce il tag di lingua relativo all'utente corrente. Ad esempio, questa funzione restituisce "en-GB" per gli utenti in Gran Bretagna e "de-DE" per gli utenti in Germania.

Tra le altre cose, è possibile usare Language per visualizzare il testo tradotto per gli utenti. L'app può includere una tabella dei valori tradotti nell'app:

E quindi usare una formula come quelle indicate di seguito per inserire le stringhe tradotte dalla tabella:

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

Tenere presente che le stringhe tradotte in altre lingue potrebbero essere molto più lunghe di quelle nella propria lingua. In molti casi, le etichette e gli altri elementi che consentono di visualizzare le stringhe nell'interfaccia utente dovranno essere più larghi per consentire l'adattamento.

Per altre informazioni, vedere la documentazione per la funzione Language.

Formattazione di numeri, date e ore

Numeri, date e ore sono scritti in formati diversi nelle diverse parti del mondo. Il significato di virgole, decimali e l'ordine di giorno, mese e anno variano da un'area geografica all'altra.

La funzione Text consente di formattare numeri e date usando l'impostazione della lingua dell'utente.

Text richiede una stringa di formato per sapere come si intende formattare il numero o la data. Questa stringa di formato può assumere uno dei due formati seguenti:

  • Un'enumerazione supportata a livello globale. Ad esempio, Text( Now(), DateTimeFormat.LongDate ). Questa formula formatterà la data corrente in un formato appropriato per la lingua. Questo è il modo migliore per specificare la stringa di formato.
  • Una stringa di formato personalizzato. Ad esempio, Text( Now(), "[$-en-US]dddd, mmmm dd, yyyy" ) visualizza lo stesso testo dell'enumerazione quando viene usata nella lingua "en-US". Il vantaggio della stringa di formato personalizzato è che è possibile specificare esattamente il risultato voluto.

"[$en-US]" nella parte anteriore della stringa di formato personalizzato indica a Text in quale lingua interpretare la stringa di formato personalizzato. Questo valore viene inserito per l'utente ed è impostato automaticamente sulla lingua dell'autore. In genere non è necessario modificare questa impostazione. È utile quando gli autori di lingue diverse modificano la stessa app.

Il terzo argomento a Text specifica la lingua da usare per il risultato della funzione. Il valore predefinito è l'impostazione della lingua dell'utente corrente.

Per altre informazioni, vedere la documentazione per la funzione Text.

Lettura di numeri, date e ore

Esistono quattro funzioni per la lettura di numeri, date e ore specificati dall'utente:

  • Value: converte un numero in una stringa di testo in un valore numerico.
  • DateValue: converte un valore di data in una stringa di testo in un valore data/ora. L'ora specificata nella stringa di testo viene ignorata.
  • TimeValue: converte un valore di ora in una stringa di testo in un valore data/ora. La data specificata nella stringa di testo viene ignorata.
  • DateTimeValue: converte un valore di data e ora in una stringa di testo in un valore data/ora.

Se è stato usato Excel, tutte queste funzioni vengono combinate nella funzione unica Value. In questo caso sono suddivise poiché PowerApps offre tipi separati per i valori data/ora e i numeri.

Tutte queste funzioni hanno gli stessi argomenti:

  • Stringa, obbligatorio: una stringa da parte dell'utente. Ad esempio i tipi di una stringa in un controllo input di testo e letti dal controllo con la proprietà Text.
  • Lingua, facoltativo: la lingua in cui interpretare la stringa. Per impostazione predefinita, l'impostazione della lingua dell'utente.

Ad esempio:

  • Value( "12,345.678", "en-US" ) o Value( "12,345.678" ) quando si trovano in un punto in cui la lingua dell'utente è"en-US" restituiscono il numero 12345.678, pronto per i calcoli.
  • DateValue( "1/2/01", "es-ES" ) o DateValue( "1/2/01" ) quando si trovano in un punto in cui la lingua dell'utente è "es-ES" restituiscono il valore data/ora 1° febbraio 2001 a mezzanotte.
  • TimeValue( "11:43:02", "fr-FR" ) o DateValue( "11:43:02" ) quando si trovano in un punto in cui la lingua dell'utente è "fr-FR" restituiscono il valore data/ora 1° gennaio 1970 alle 11:43:02.
  • TimeDateValue( "11:43:02 1/2/01", "de-DE" ) o DateValue( "11:43:02" ) quando si trovano in un punto in cui la lingua dell'utente è "de-DE" restituiscono il valore data/ora 1° febbraio 2001 alle 11:43:02.

Per altre informazioni, vedere la documentazione relativa alle funzioni Value e DateValue, TimeValue, e DateTimeValue e all'uso di date e ore.

Informazioni di calendario e orologio

Le funzioni Calendar e Clock offrono informazioni sul calendario e l'orologio per la lingua dell'utente corrente.

Tra le altre cose, usare queste funzioni per specificare un controllo Elenco a discesa con un elenco di scelte.

Per altre informazioni, vedere la documentazione relativa alle funzioni Calendar e Clock.