Funzione Language in PowerAppsLanguage function in PowerApps

Restituisce il tag di lingua dell'utente corrente.Returns the language tag of the current user.

DescrizioneDescription

La funzione Language restituisce lingua, script e area geografica dell'utente corrente come tag di lingua.The Language function returns the language, script, and region of the current user as a language tag.

Usare le informazioni sulla lingua per personalizzare un'app per varie impostazioni locali.Use the language information to tailor your app across locales. Ad esempio, se si sta creando un'app che verrà usata in Italia e in Francia, è possibile usare la funzione Language per visualizzare automaticamente stringhe in italiano e francese per gli utenti nei rispettivi paesi.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.

Tag di linguaLanguage tags

Un tag di lingua può avere tre formati:A language tag can be in one of three formats:

Valore restituitoReturn value DescrizioneDescription
"lg‑RE""lg‑RE" lg è l'abbreviazione di due caratteri per la lingua e RE è l'abbreviazione di due caratteri per l'area geografica.lg is the two character abbreviation for the language and RE is the two character abbreviation for the region. Questo è il tipo restituito più comune.This is the most common return type. Ad esempio, "en-GB" viene restituito per la Gran Bretagna.For example, "en-GB" is returned for Great Britain.
"lg""lg" lg è l'abbreviazione di due caratteri per la lingua.lg is the two character abbreviation for the language. Questo è il formato usato quando PowerApps ha informazioni sulla lingua, ma non informazioni per l'area geografica.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 è l'abbreviazione di due caratteri per la lingua, scrp è l'abbreviazione di quattro caratteri per lo script e RE è l'abbreviazione di due caratteri l'area geografica.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 usa il formato del tag di lingua IETF BCP-47.PowerApps uses the IETF BCP-47 language tag format.

Per vedere l'elenco dei tag delle lingue supportate, digitare Value( "1", ) nella barra della formula o nella visualizzazione avanzata e scorrere l'elenco delle impostazioni locali consigliate per il secondo argomento.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.

Le funzioni Text e Value usano anche i tag di lingua.The Text and Value functions also use language tags. Usare queste funzioni per la traduzione di stringhe di testo in modo globale.Use these functions for translating to and from text strings in a globally aware manner. Quando si passa un tag di lingua a queste funzioni e l'area geografica non è importante, è possibile usare solo la parte del linguaggio del tag.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.

SintassiSyntax

Language()Language()

EsempiExamples

Impostazioni locali dell'utenteUser's locale

Si presuppone che il sistema operativo host o il browser usino le impostazioni locali predefinite per l'area geografica.It is assumed that the host operating system and/or browser are using the default locale for the location.

FormulaFormula PercorsoLocation Valore restituitoReturn Value
Language()Language() Lisbona, PortogalloLisbon, Portugal "pt-PT""pt-PT"
Language()Language() Rio de Janeiro, BrasileRio de Janeiro, Brazil "pt-BR""pt-BR"
Language()Language() Atlanta, USAAtlanta, USA "en-US""en-US"
Language()Language() Manchester, Gran BretagnaManchester, Great Britain "en-GB""en-GB"
Language()Language() Parigi, FranciaParis, France "fr-FR""fr-FR"
Language()Language() Roseau, Repubblica dominicanaRoseau, Dominica "en""en"
Language()Language() Belgrado, Serbia e MontenegroBelgrade, Serbia "sr-cyrl-RS" o "sr-latn-RS", a seconda delle impostazioni di sistema dell'utente"sr-cyrl-RS" or "sr-latn-RS", depending on the user's system settings

Tabella di localizzazioneLocalization table

Un approccio semplice alla localizzazione consiste nel creare un foglio di calcolo di Excel eseguendo il mapping di un autore definito TextID per un testo tradotto nella lingua dell'utente.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. Sebbene sia possibile usare una raccolta o qualsiasi altra origine dati per questa tabella, un foglio di calcolo di Excel è più adatto per la modifica e la gestione all'esterno dell'app da parte dei traduttori.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. In Excel, creare la tabella seguente:Create the following table in Excel:

    La voce con blank nella colonna Language verrà usata come impostazione predefinita se non è presente alcuna stringa di testo specifico per una determinata lingua.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. Questa voce deve essere inclusa dopo tutte le altre voci per un determinato TextID.This entry must appear after all other entries for a given TextID.

    A questo scopo, è necessario esaminare la lingua delle impostazioni locali e non dell'area geografica.For our purposes, we only need to look at the language of the locale and not the region. Se fossero importanti le considerazioni regionali, sarebbe opportuno includere il valore di tag di lingua completo della tabella precedente.If regional considerations were important, we could have included the full language tag value in the table above.

  2. Usare il comando Tabella della barra multifunzione Inserisci per eseguire questa operazione in una tabella di Excel.Use the Insert ribbon, Table command, to make this into a proper Excel table. Per impostazione predefinita, verrà denominata Tabella1 , ma è possibile assegnarle un altro nome nella casella di testo Nome tabella che si trova sul lato sinistro della barra multifunzione Strumenti tabella/Progettazione.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. Salvare il file di Excel nel file system locale.Save the Excel file to your local file system.
  4. In PowerApps, nel riquadro di destra, fare clic su o toccare la scheda Origini dati e quindi fare clic su o toccare Aggiungi origine dati.In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.
  5. Fare clic su o toccare Aggiungi dati statici all'app, fare clic su o toccare il file di Excel salvato, quindi fare clic su o toccare Apri.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. Selezionare la tabella creata e fare clic su o toccare Connetti.Select the table that you created, and then click or tap Connect.

Nell'app, nel punto in cui dovrebbe essere usato il testo "Hello" in precedenza, usare invece questa formula: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

Questa formula ricerca il valore di LocalizedText appropriato per la lingua dell'utente e, se non lo trova, restituirà il valore predefinito blank.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.

Tenere presente che le stringhe tradotte in altre lingue potrebbero essere molto più lunghe di quelle nella propria lingua.Be aware that translated strings in other languages could be significantly longer than they are in your language. 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.In many cases, the labels and other elements that display the strings in your user interface will need to be wider to accommodate.

Servizio di traduzioneTranslation service

È possibile tradurre il testo su richiesta tramite un servizio di traduzione, ad esempio il servizio Microsoft Translator:You can translate text on demand using a translation service, such as the Microsoft Translator service:

  1. In PowerApps, nel riquadro di destra, fare clic su o toccare la scheda Origini dati e quindi fare clic su o toccare Aggiungi origine dati.In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.
  2. Fare clic su o toccare Microsoft Translator.Click or tap Microsoft Translator.

Nell'app, nel punto in cui dovrebbe essere usato il testo "Hello" in precedenza, usare invece questa formula:In your app, wherever you would have used the text "Hello" before, use this formula instead:

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

Il servizio Microsoft Translator usa gli stessi tag di lingua restituiti dalla funzione Language.The Microsoft Translator service uses the same language tags that the Language function returns.

Questo approccio ha alcuni svantaggi rispetto all'esempio precedente che usa una tabella di stringhe di testo pre-tradotta:This approach comes with some drawbacks when compared to the previous example which utilized a pre-translated table of text strings:

  • La traduzione può impiegare del tempo, se è necessaria una chiamata a un servizio sulla rete.The translation will take time to complete, requiring a call to a service across the network. Ciò causerà un certo ritardo prima che venga visualizzato il testo tradotto nell'app.This will result in a lag to see the translated text in your app.
  • La traduzione sarà meccanica e potrebbe non corrispondere alle aspettative o essere la scelta migliore per il contesto all'interno dell'app.The translation will be mechanical and may not be what you anticipate or be the best choice for the situation within your app.