Ir al contenido

Localización en ASP

La configuración regional del servidor influye en cómo ASP clásico representa fechas, horas, números y monedas. Si la configuración predeterminada no coincide con la audiencia de la aplicación, podemos establecer una región concreta para cada sesión mediante Session.LCID.

Conviene aclarar que Session.LCID no detecta la ubicación geográfica del usuario. Su función es definir las reglas regionales que utilizará ASP al formatear valores.

La propiedad LCID del objeto Session permite asignar un identificador regional. Por ejemplo, el valor 1034 corresponde a español de España.

Session.LCID = 1034

Si queremos aplicar esta configuración al comenzar cada sesión, podemos incluirla dentro del evento Session_OnStart del fichero global.asa.

Sub Session_OnStart
Session.LCID = 1034
End Sub

A partir de ese momento, las funciones de formato de ASP utilizarán la configuración regional seleccionada.

En una aplicación con usuarios de distintos países, podemos recuperar la preferencia regional desde su perfil y asignarla al iniciar la sesión.

Sub Session_OnStart
Session.LCID = 1034
End Sub

Los valores deben proceder de una lista controlada por la aplicación. No es recomendable asignar directamente a Session.LCID un dato recibido sin validar.

Podemos utilizar una estructura Select Case para actuar según el valor de Session.LCID. En este ejemplo mostramos el nombre de la región mediante Response.Write().

Select Case Session.LCID
Case 1034
Response.Write("España")
Case 11274
Response.Write("Argentina")
Case 16394
Response.Write("Bolivia")
Case 13322
Response.Write("Chile")
Case 9226
Response.Write("Colombia")
Case 5130
Response.Write("Costa Rica")
Case 7178
Response.Write("República Dominicana")
Case 12298
Response.Write("Ecuador")
Case 4106
Response.Write("Guatemala")
Case Else
Response.Write("Región no contemplada")
End Select

La estructura Select Case compara el identificador actual con los valores configurados. La rama Case Else permite manejar cualquier región que no esté incluida en la lista.

Después de configurar Session.LCID, funciones como FormatDateTime() y FormatCurrency() generan resultados acordes con la región seleccionada.

Session.LCID = 1034
Response.Write(FormatDateTime(Now(), vbLongDate))
Response.Write("<br>")
Response.Write(FormatCurrency(1234.56))

Así podemos mantener una presentación coherente de fechas y monedas para cada usuario sin depender de la configuración regional predeterminada del servidor.

Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Localización en ASP

Descubre cómo configurar la Localización en ASP con Session.LCID para mostrar fechas, monedas y textos adaptados a cada región y atraer usuarios.

Descargar código