Función Language en PowerAppsLanguage function in PowerApps

Devuelve la etiqueta de idioma del usuario actual.Returns the language tag of the current user.

DescripciónDescription

La función Language devuelve el idioma, el alfabeto y la región del usuario actual como una etiqueta de idioma.The Language function returns the language, script, and region of the current user as a language tag.

Use la información de idioma para adaptar la aplicación a las configuraciones regionales.Use the language information to tailor your app across locales. Por ejemplo, si va a crear una aplicación que se usará en Italia y Francia, puede usar Language para mostrar automáticamente cadenas en italiano y francés a los usuarios que se encuentren estas ubicaciones diferentes.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.

Etiquetas LanguageLanguage tags

Las etiquetas de idioma pueden presentar uno de estos tres formatos:A language tag can be in one of three formats:

Valor devueltoReturn value DescripciónDescription
"lg‑RE""lg‑RE" lg es la abreviatura de dos caracteres para el idioma y RE es la abreviatura de dos caracteres para la región.lg is the two character abbreviation for the language and RE is the two character abbreviation for the region. Se trata del tipo de valor devuelto más común.This is the most common return type. Por ejemplo, se devuelve "en-GB" para Gran Bretaña.For example, "en-GB" is returned for Great Britain.
"lg""lg" lg es la abreviatura de dos caracteres para el idioma.lg is the two character abbreviation for the language. Este es el formato que se usa cuando PowerApps tiene información sobre el idioma, pero no sobre la región específica.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 es la abreviatura de dos caracteres para el idioma, scrp es la abreviatura de cuatro caracteres para el alfabeto y RE es la abreviatura de dos caracteres para la región.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 el formato de etiqueta de idioma IETF BCP-47.PowerApps uses the IETF BCP-47 language tag format.

Para ver la lista de etiquetas de idioma compatibles, escriba Value( "1", ) en la barra de fórmulas o en la vista avanzada, y desplácese por la lista de configuraciones regionales sugeridas para el segundo argumento.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.

Las funciones Text y Value también usan etiquetas de idioma.The Text and Value functions also use language tags. Use estas funciones para traducir desde y hacia cadenas de texto teniendo en cuenta el contexto global.Use these functions for translating to and from text strings in a globally aware manner. Cuando pasar una etiqueta de idioma a estas funciones y la región no suponga una diferencia, puede usar solo la porción de idioma de la etiqueta.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.

SintaxisSyntax

Language()Language()

EjemplosExamples

Configuración regional del usuarioUser's locale

Se supone que el sistema operativo host o el explorador usan la configuración regional predeterminada para la ubicación.It is assumed that the host operating system and/or browser are using the default locale for the location.

FórmulaFormula UbicaciónLocation Valor devueltoReturn Value
Language()Language() Lisboa, PortugalLisbon, Portugal "pt-PT""pt-PT"
Language()Language() Río de Janeiro, BrasilRio de Janeiro, Brazil "pt-BR""pt-BR"
Language()Language() Atlanta, Estados UnidosAtlanta, USA "en-US""en-US"
Language()Language() Mánchester, Reino UnidoManchester, Great Britain "en-GB""en-GB"
Language()Language() París, FranciaParis, France "fr-FR""fr-FR"
Language()Language() Roseau, DominicaRoseau, Dominica "en""en"
Language()Language() Belgrado, SerbiaBelgrade, Serbia "sr-cyrl-RS" o "sr-latn-RS", según la configuración del sistema del usuario"sr-cyrl-RS" or "sr-latn-RS", depending on the user's system settings

Tabla de localizaciónLocalization table

Un enfoque sencillo para la localización consiste en crear una hoja de cálculo de Excel en la que se asigne un TextID definido por el autor a un texto traducido para el idioma del usuario.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. Aunque podría utilizar una colección o cualquier otro origen de datos para esta tabla, hemos elegido Excel porque a los traductores les resulta fácil de editar y administrar fuera de la aplicación.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. Cree la siguiente tabla en Excel:Create the following table in Excel:

    La entrada con blank para la columna Language se usará como el valor predeterminado si no hay ninguna cadena de texto específica para un idioma determinado.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. Esta entrada debe aparecer después de todas las demás entradas para un determinado TextID.This entry must appear after all other entries for a given TextID.

    Para nuestros propósitos, solo necesitamos consultar el idioma de la configuración regional, no la región.For our purposes, we only need to look at the language of the locale and not the region. Si consideraciones regionales fueran importantes, podríamos haber incluido el valor completo de la etiqueta de idioma en la tabla anterior.If regional considerations were important, we could have included the full language tag value in the table above.

  2. Use la cinta de opciones Insertar y el comando Tabla para convertirla en una tabla de Excel apropiada.Use the Insert ribbon, Table command, to make this into a proper Excel table. De forma predeterminada, se denominará Table1, pero puede asignarle el nombre quiera con la cinta de opciones Herramientas de tabla/Diseño y el cuadro de texto Nombre de la tabla del extremo izquierdo.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. Guarde el archivo de Excel en el sistema de archivos local.Save the Excel file to your local file system.
  4. En PowerApps, en el panel derecho, pulse o haga clic en la pestaña Orígenes de datos y, después, pulse o haga clic en Agregar origen de datos.In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.
  5. Pulse o haga clic en Agregar datos estáticos a la aplicación, pulse o haga clic en el archivo de Excel que ha guardado y, luego, en Abrir.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. Seleccione la tabla que ha creado y, después, pulse o haga clic en Conectar.Select the table that you created, and then click or tap Connect.

En la aplicación, en los casos en los que antes habría usado el texto "Hello", use la siguiente fórmula en su lugar: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

Esta fórmula buscará el valor adecuado de LocalizedText para el idioma del usuario y, si no lo encuentra, recurrirá a la versión predeterminada 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.

Tenga en cuenta que las cadenas traducidas a otros idiomas podrían ocupar más espacio que las que están en su idioma.Be aware that translated strings in other languages could be significantly longer than they are in your language. En muchos casos, las etiquetas y otros elementos que muestran las cadenas en la interfaz de usuario necesitarán ser más anchos para dar cabida a esas cadenas.In many cases, the labels and other elements that display the strings in your user interface will need to be wider to accommodate.

Servicio de traducciónTranslation service

Puede traducir texto a petición con un servicio de traducción, como el servicio Microsoft Translator:You can translate text on demand using a translation service, such as the Microsoft Translator service:

  1. En PowerApps, en el panel derecho, pulse o haga clic en la pestaña Orígenes de datos y, después, pulse o haga clic en Agregar origen de datos.In PowerApps, in the right-hand pane, click or tap the Data Sources tab, and then click or tap Add data source.
  2. Pulse o haga clic en Microsoft Translator.Click or tap Microsoft Translator.

En la aplicación, en los casos en los que antes habría usado el texto "Hello", use la siguiente fórmula en su lugar:In your app, wherever you would have used the text "Hello" before, use this formula instead:

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

El servicio Microsoft Translator usa las mismas etiquetas de idioma que devuelve la función Language.The Microsoft Translator service uses the same language tags that the Language function returns.

Este enfoque tiene algunas desventajas en comparación con el ejemplo anterior, en el que se usaba una tabla de cadenas de texto traducida previamente:This approach comes with some drawbacks when compared to the previous example which utilized a pre-translated table of text strings:

  • La traducción tardará en completarse, ya que requiere llamar a un servicio a través de la red.The translation will take time to complete, requiring a call to a service across the network. Esto implica que transcurrirá un tiempo hasta que pueda ver el texto traducido en la aplicación.This will result in a lag to see the translated text in your app.
  • La traducción será mecánica y es posible que los resultados no sean los esperados ni la mejor opción para el contexto de su aplicación.The translation will be mechanical and may not be what you anticipate or be the best choice for the situation within your app.