Cambiar idioma a calendarExtender ajax control toolkit

Posted on 06/01/2008

50


Colocar fecha en español CalendarExtender
Ajax control toolkitHola de nuevo:

En mi trabajo me han solicitado crear una aplicación la cual trabaja con fechas, para lo cual me puse a buscar distintos controles para generar calendarios sin ninguna suerte.
Hasta que le pregunté a un amigo (de esos que saben más que uno) como podía colocar un calendario y me explico que el ajax control toolkit venía con una herramienta para desplegar un calendario. Baje el ajax control toolkit y ajax extensión de la siguiente página

http://Ajax.asp.net

Para hacer funcionar el calendario hemos de colocar un TextBox un ScriptManager (base para el manejo del Ajax control toolkit) y un control llamado CalendarExtender .

Para que esto funcione debemos seguir los siguientes pasos

1. Agregar ScriptManager

Agregar script manager

2. Agregar un TextBox (si se desea cambiar el id)
3. Agregar el CalendarExtender

Agregar textbox y calendar extender

4. Asignar como TargetControlID el ID del TextBox que colocamos anteriormente

Hasta ahí todo bien no??

Bueno eso es lo que cualquiera pensaría (incluido yo) pero acá se nos presenta el primer problema.

EL CALENDARIO CON UN FORMATO «RARO»
Esto debido a que la configuración nativa del CalendarExtender es la norteamericana (mes/dia/año) y para colmo de males
EL TEXTO APARECE EN INGLES OMG

calendartextoeningles.jpg

y con el siguiente formato

formatotexto.jpg

Para solucionar este problema debemos seguir los siguientes pasos.

Seleccionamos el ScriptManager y accedemos a la ventana de propiedades

Cambiamos a True los siguientes valores.


EnableScriptGlobalization
EnableScriptLocalization

Por ultimo accedemos a la seccion de código de la página y en la primera linea agregamos los siguientes parámetros

Culture=»Auto»

UICulture=»Auto”

Ejemplo:

<%@ Page Language=»VB» AutoEventWireup=»false» CodeFile=»pruebaCalendario.aspx.vb» Inherits=»pruebaCalendario» Culture=»Auto» UICulture=»Auto”

%>

Despues de esto realizamos las pruebas y vemos que el calendario está en españolAdemás el formato cambió a Dia/Mes/Año

calendarcorregido.jpg

EDICION IMPORTANTE.
No lo he probado aún pero Jorge en uno de los  post de más abajo pone el siguiente enlace para cambiar la palabra «today»

http://www.forosdelweb.com/f78/asp-net-calendar-extender-change-language-globalization-cambiar-idioma-ajax-postback-706809/

Pruebenlo y me comentan.

Pronto vuelvo con más post.

Gracias Jorge

——————————————————————————————————————————————-

ACTUALIZACIÓN: 

Gracias a Dragon que envió la siguiente actualización (editada para ser mas compresnible)

-En mi ToolkitScriptManager tambien tengo “EnableScriptGlobalization=”true” EnableScriptLocalization=”true”»

-Anteriormente tenia en mi pagina “uiCulture=”auto” culture=”es-MX”», pero no traducia el “Today” asi que en el load de mi pagina cargue los atributos;
“Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(“es-ES”)
Thread.CurrentThread.CurrentUICulture = New CultureInfo(“es-ES”)”, con las librerias correspondientes;
“Imports System.Threading
Imports System.Globalization”

Nota:solo traduce con el valor de “es-ES”, es por eso que lo cargue en el load.

———————————————————–