Compatibilidad global
Nota
Microsoft Power Fx es el nuevo nombre del lenguaje de fórmulas para aplicaciones de lienzo. Estos artículos son un trabajo en progreso a medida que extraemos el idioma de las aplicaciones de lienzo, lo integramos con otros productos Microsoft Power Platform y ponerlo a disposición como código abierto. Empiece con Información general de Microsoft Power Fx para una introducción al idioma.
Tanto mientras se construye como se ejecuta la lógica, el texto que muestra Power Fx se mostrará en los idiomas correspondientes. La escritura y presentación de fechas y números se ha adaptado a su idioma y región concretos.
Por ejemplo, algunas regiones del mundo usan . (punto) como un separador decimal, mientras que otros usan , (coma). Esto es lo que también hace Excel. Por lo general, esto no se hace en otros lenguajes de programación, que generalmente usan un punto canónico . como separador decimal para todos los usuarios de todo el mundo. Para ser lo más accesible posible para los creadores de todos los niveles, es importante que 3,14
es un número decimal para una persona en Francia que ha usado esa sintaxis toda su vida.
Las aplicaciones que cree también pueden ser globales. Use las funciones Language, Text, Value, DateValue y otras para adaptar lo que se muestra y se utiliza como entrada en diferentes idiomas.
Configuración de idioma
Cuando se usa el paquete Studio nativo o un reproductor nativo, el sistema operativo host especifica el idioma. En el caso de Windows, esta opción puede controlarse en "Toda la configuración" y después en la opción de "Hora e idioma". Windows también permite especificar los caracteres que se va a usar como separador decimal, invalidando la configuración de idioma.
Cuando se trabaja con la Web, es el explorador el que proporciona el idioma. La mayoría de los exploradores utilizan la configuración del sistema operativo de host de forma predeterminada, y algunos permiten establecer el idioma manualmente.
Entorno de creación
El entorno de creación se adapta a la configuración de idioma del autor. La aplicación se guarda de forma independiente del idioma, para que los autores con distintos idiomas puedan editar la misma aplicación.
Nombres en las fórmulas
La mayoría de los elementos de una fórmula están siempre en inglés:
- Nombres de función: Si, Navegar, Recopilar, etc.
- Nombres de propiedad de los controles: Screen.Fill, Button.OnSelect, Textbox.Font, etc.
- Nombres de enumeración: Color.Aqua, DataSourceInfo.MaxValue, FontWeight.Bold, etc.
- Registros de señales: Compass.Heading, Location. Latitude, App.ActiveScreen, etc.
- Operadores: Primario, en, exactIn, etc.
A medida que se localiza la experiencia de creación, los controles y otros nombres de objetos se mostrarán en el idioma nativo del autor. En español, algunos de los nombres de los controles aparecen como:
Al insertar uno de estos controles en la aplicación, su nombre será en inglés de forma predeterminada. Este cambio sirve para mantener la coherencia con los nombres de propiedad de los controles y el resto de la fórmula. Por ejemplo, Casilla se inserta como Checkbox1.
Después de insertar un control, puede cambiar el nombre por el que prefiera. Mientras está seleccionado, el extremo izquierdo de la cinta de opciones "Contenido" muestra el nombre del control. Al seleccionar este nombre, se despliega un cuadro de texto donde puede editarlo:
Si lo desea, aquí se puede cambiar el nombre del control por Casilla1. La línea roja ondulada, que en este caso muestra el explorador, se debe a que el nombre no es una palabra en español y no supone ningún problema.
Puede usar los nombres que desee como:
- Nombres del control
- Nombres de colección
- Nombres de variable de contexto
Separadores de fórmulas y operador de encadenamiento
Algunos separadores y operadores cambiarán según el separador decimal del idioma del autor:
Separador decimal del idioma del autor | Separador decimal de Power Apps | Separador de lista de Power Apps | Operador de encadenamiento de Power Apps |
---|---|---|---|
, (punto) | , (punto) | , (coma) | ; (punto y coma) |
, (coma) | , (coma) | ; (punto y coma) | ;; (doble punto y coma) |
El cambio en el separador de lista de Power Apps es coherente con el separador de lista de Excel. Esto afectará a lo siguiente:
Por ejemplo, considere la siguiente fórmula expresada en un idioma y región que usa un punto como separador decimal, como Japón o el Reino Unido:
Ahora vea esta misma fórmula en un idioma y región donde se usa una coma para el separador decimal, como Francia o España:
Los signos resaltados señalan los operadores que cambian entre las dos versiones. El operador de selección de la propiedad . (punto) en Slider1.Value siempre es el mismo, independientemente de cuál sea el separador decimal.
La fórmula no cambia; lo que cambia es cómo se muestra y cómo la visualiza y edita el autor. Dos autores diferentes que usen dos idiomas distintos pueden ver y editar la misma fórmula, y cada uno verá los separadores y operadores correspondientes a su idioma.
Creación de una aplicación global
La aplicación que cree puede adaptarse a distintos idiomas y proporcionar una experiencia de usuario óptima a usuarios de todo el mundo.
Función Language
La función Idioma devuelve la etiqueta de idioma del usuario actual. Por ejemplo, esta función devuelve "en-GB" para los usuarios de Gran Bretaña y "de-DE" para los usuarios de Alemania.
Entre otras cosas, puede usar Language para mostrar texto traducido a los usuarios. La aplicación puede incluir una tabla de valores traducidos en la aplicación:
Y, a continuación, utilizar una fórmula como la siguiente para extraer las cadenas traducidas de la tabla:
LookUp( Table1, TextID = "Hello" && (LanguageTag = Left( Language(), 2 ) || IsBlank( LanguageTag ))).LocalizedText
Las cadenas traducidas a otros idiomas podrían ocupar más espacio que las que están en su idioma. 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.
Para más información, consulte la documentación de la función Language.
Formato de números, fechas y horas
Los números, las fechas y las horas se escriben con diferentes formatos en las distintas partes del mundo. El significado de las comas, los decimales y el orden del día, mes y año varían de una ubicación a otra.
La función Text da formato a números y fechas utilizando la configuración de idioma del usuario.
El texto requiere una cadena de formato para saber cómo desea formatear el número o la fecha. Esta cadena de formato puede ser de dos formas:
- Una enumeración independiente de la configuración regional. Por ejemplo, Text( Now(), DateTimeFormat.LongDate ). Esta fórmula dará formato a la fecha actual con el formato correspondiente al idioma. Este método es la mejor manera de especificar la cadena de formato.
- Una cadena de formato personalizado. Por ejemplo, Text( Now(), "[$-en-US]dddd, mmmm dd, yyyy" ) muestra el mismo texto que la enumeración cuando se utiliza en el idioma "en-US". La ventaja de la cadena de formato personalizado es que puede especificar exactamente lo que desea.
"[$-en-US]" al principio de la cadena de formato personalizado indica a Text en qué idioma debe interpretar la cadena de formato personalizado. Esta cadena se inserta automáticamente y su valor predeterminado es el idioma de creación. Normalmente no necesitará cambiar esta cadena. Resulta útil cuando los autores de distintos idiomas están modificando la misma aplicación.
El tercer argumento de Text especifica el idioma que se usará para el resultado de la función. El valor predeterminado es el idioma configurado para el usuario actual.
Para más información, consulte la documentación de la función Text.
Lectura de números, fechas y horas
Hay cuatro funciones para leer los números, las fechas y las horas proporcionados por el usuario:
- Valor: Convierte un número en una cadena de texto en un valor numérico.
- DateValue: Convierte un valor de fecha en una cadena de texto en un valor de fecha/hora. Cualquier tiempo especificado en la cadena de texto se ignora.
- TimeValue: Convierte un valor de hora en una cadena de texto en un valor de fecha/hora. Se omiten las fechas especificadas en la cadena de texto.
- DateTimeValue: Convierte un valor de fecha y hora en una cadena de texto en un valor de fecha/hora.
Si usó Excel, todas estas funciones se combinan en la función única Value. Se desglosan aquí porque Power Apps tiene tipos distintos de valores de fecha/hora y números.
Todas estas funciones tienen los mismos argumentos:
- Cadena, requerida: Una cadena del usuario. Por ejemplo, una cadena escribe en un control de Entrada de texto y lee desde el control con la propiedad Texto.
- Idioma, opcional: El idioma en el que se interpretará la cadena. De forma predeterminada, es el idioma configurado para el usuario.
Por ejemplo:
- Value( "12,345.678", "en-US" ) o Value( "12,345.678" ) cuando se encuentra donde "en-US" es el idioma del usuario, devuelve el número 12345.678, listo para los cálculos.
- DateValue( "1/2/01", "es-ES" ) o DateValue( "1/2/01" ) cuando se encuentra donde "es-ES" es el idioma del usuario, devuelve el valor de fecha y hora 1 de febrero de 2001 a medianoche.
- TimeValue( "11:43:02", "fr-FR" ) o TimeValue( "11:43:02" ) cuando se encuentra donde "fr-FR" es el idioma del usuario, devuelve el valor de fecha/hora 1 de enero de 1970 a las 11:43:02.
- DateTimeValue( "11:43:02 1/2/01", "de-DE" ) o DateTimeValue( "11:43:02 1/2/01" ) cuando se encuentra donde "de-DE" es el idioma del usuario, devuelve el valor de fecha y hora 1 de febrero de 2001 a las 11:43:02.
Para más información, consulte la documentación de las funciones Value y DateValue, TimeValue y DateTimeValue.
Información sobre Calendar y Clock
Las funciones Calendar y Clock proporcionan información sobre el calendario y el reloj en el idioma del usuario actual.
Entre otras cosas, use estas funciones para proporcionar un control Dropdown con una lista de opciones.
Para más información, consulte la documentación de las funciones Calendar y Clock.