Ver Mensaje Individual
  #7 (permalink)  
Antiguo 03/05/2006, 11:29
Avatar de moNTeZIon
moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Hola mcEmmanuel,

Muchas gracias por el link. Me llevó a éste otro que acabé de entender mejor:

http://msdn2.microsoft.com/en-US/library/bz9tc508.aspx

Bien. Pues el problema radica en el evento que ejecuto el cambio de cultura. como lo hacia en el Page_Load, resulta que en ese punto ya se ha ejecutado el método "InitializeCulture()", que forma parte de la clase Page, y se ejecuta antes que el Page_Load, ya que es donde se define la cultura para poder trabajar ya con los valores correctos para la cultura especificada.

Así pues, sólo hay que sobreescribir el método con nuestro código, y entonces si, lee los textos del Fichero de Recursos que corresponda.

Les dejo mi código. Lo manejo a través de una variable de sesion:
Código:
Protected Overrides Sub InitializeCulture()

  Dim IdiomaActual As String

  Select Case Session("Idioma")
  Case "ENG"
    IdiomaActual = "en-GB"
  Case "FRA"
    IdiomaActual = "fr-FR"
  Case Else
    Session("Idioma") = "ESP"
    IdiomaActual = "es-ES"
  End Select

  UICulture = IdiomaActual
  Culture = IdiomaActual
  Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(IdiomaActual)
  Thread.CurrentThread.CurrentUICulture = New CultureInfo(IdiomaActual)

  MyBase.InitializeCulture()

End Sub
Espero que les sirva!
Y gracias una vez más mcEmmanuel!
__________________
..:: moNTeZIon ::..