Skip to main content

Strings

Format

Utilizar format para desplegar mensajes conteniendo datos y en llamadas a funciones javascript.

Si la aplicación se va a traducir en diferentes lenguajes no hay que re-programar los mensajes.

// mal
&Msg = "El cliente Nro." + &CliId.ToString() + " se llama " + &CliNom

// bien
&Msg = format( "El cliente Nro. %1 se llama %2", &CliId.ToString(), &CliNom)

Esto soluciona la traducción según contexto. Por ejemplo,

ingles: "The name of John's dog is Gandalf"

español: "El nombre del perro de John es Gandalf"

Lo anterior realizado mediante concatenación no quedaría correctamnete traducido.

En el siguiente caso, podemos ver como podemos dejar para traducir solo el texto dentro de un método jsevent.

// mal
&Msg = "confirm('¿Está seguro de agregar excepción?')"
&LstExc.JSEvent( "onclick", &Msg)

// bien
&Msg = format( !"confirm('%1')", "¿Está seguro de agregar excepción?")
&LstExc.JSEvent( "onclick", &Msg)

Uso de Caracter !

Utilizar !"" para strings que no deben ser traducidos.

Un traductor puede modificar constantes o códigos específicos del sistema y pueden afectar el funcionamiento, por ejemplo parámetros.

// mal
&ParVal = ParamGet( "GLOBAL ENCRYPT KEY")

// bien
&ParVal = ParamGet( !"GLOBAL ENCRYPT KEY")

Uso de comilla

Utilizar comilla doble por defecto.

Estandarización de código para facilitar la lectura.

// mal
&Msg = 'Hola mundo!'

// bien
&Msg = "Hola mundo!"