Cómo formatear fácilmente i18n en UI5
UI5 dispone un sistema de internacionalización de las aplicaciones. Una parte de ese sistema, son los textos i18n. Asumiremos que tenemos declarado en el manifest el ResourceBundle:
Y los ficheros de idioma en la carpeta i18n
. En la segunda línea, tenemos un texto con un valor dinámico:
Desde una vista, podríamos pintar lo siguiente:
El texto del saludo no se pintará correctamente, ya que veremos literalmente lo que tenemos puesto en el fichero ¡Hola {0}!
.
Formateando dinámicamente el texto
Podríamos utilizar una función formateadora en un fichero específico Formatter.js
o bien poner esa función directamente en nuestro controller. Pero como queremos tener el mínimo código necesario, utilizaremos una utilidad que nos ofrece UI5: sap/base/strings/formatMessage
. Lo podemos utilizar de la siguiente manera:
Esta vez, si en el Input introducimos nuestro nombre, el texto mostrará ¡Hola Carlos!
.