Si estás utilizando el control ReportViewer en una web ASP.NET, puede que los textos del control te aparezcan en inglés. Incluso si tienes que desarrollar una web para un idioma de una de nuestras comunidades (gallego, catalán, euskera…) el control ReportViewer lo podrás adaptar para que los textos aparezcan en el idioma que quieras.
Cambiando la cultura de la página (UICulture=”es-ES” Culture=”es-ES”) no me funcionó. Tampoco otras soluciones que proponen algunos foros. Todos relacionados con la cultura y globalización. Al acceder a la página de Reporting Services (http://servidor/reports) los mensajes me aparecen en castellano, pero en mi página que tiene el control ReportViewer (tengo instalado el 2008 SP1 en castellano) seguía en inglés.
Después de buscar y buscar por la web en encontré una solución que me funcionó: implementar la clase Microsoft.Reporting.WebForms.IReportViewerMessages con una clase. Esta clase hay que crearla en una carpeta especial denominada App_Code.
Para que el control ReportViewer utilice la clase, hay que crear una variable en el archivo web.config, en el grupo appSettings.
<add key="ReportViewerMessages" value="MensajesReportViewer.ES, App_Code"/>
MensajesReportViewer es el nombre del NameSpace y ES es el nombre de la clase. Si te da miedo tocar el archivo web.config podrás crear la variable desde el Administrador IIS: Seleccionas la aplicación con el botón derecho y eliges propiedades. En la pestaña ASP.NET pulsas el botón Editar configuración. Aparecerá una ventana en la que agregarás en Configuración de la aplicación
El código de la clase es el siguiente:
Imports Microsoft.VisualBasic
Namespace RVM
Public Class MiCultura
Implements Microsoft.Reporting.WebForms.IReportViewerMessages
Public ReadOnly Property BackButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.BackButtonToolTip
Get
Return "Atrás"
End Get
End Property
Public ReadOnly Property ChangeCredentialsText() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ChangeCredentialsText
Get
Return "Cambiar Credenciales"
End Get
End Property
Public ReadOnly Property ChangeCredentialsToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ChangeCredentialsToolTip
Get
Return "Cambiar Credenciales"
End Get
End Property
Public ReadOnly Property CurrentPageTextBoxToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.CurrentPageTextBoxToolTip
Get
Return "Página actual"
End Get
End Property
Public ReadOnly Property DocumentMap() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.DocumentMap
Get
Return "Mapa"
End Get
End Property
Public ReadOnly Property DocumentMapButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.DocumentMapButtonToolTip
Get
Return "Mapa del documento"
End Get
End Property
Public ReadOnly Property ExportButtonText() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ExportButtonText
Get
Return "Exportar"
End Get
End Property
Public ReadOnly Property ExportButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ExportButtonToolTip
Get
Return "Exportar"
End Get
End Property
Public ReadOnly Property ExportFormatsToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ExportFormatsToolTip
Get
Return "Formatos de exportación"
End Get
End Property
Public ReadOnly Property FalseValueText() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.FalseValueText
Get
Return "Falso"
End Get
End Property
Public ReadOnly Property FindButtonText() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.FindButtonText
Get
Return "Buscar"
End Get
End Property
Public ReadOnly Property FindButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.FindButtonToolTip
Get
Return "Buscar"
End Get
End Property
Public ReadOnly Property FindNextButtonText() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.FindNextButtonText
Get
Return "Siguiente"
End Get
End Property
Public ReadOnly Property FindNextButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.FindNextButtonToolTip
Get
Return "Siguiente"
End Get
End Property
Public ReadOnly Property FirstPageButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.FirstPageButtonToolTip
Get
Return "Primera página"
End Get
End Property
Public ReadOnly Property InvalidPageNumber() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.InvalidPageNumber
Get
Return "Página no válida"
End Get
End Property
Public ReadOnly Property LastPageButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.LastPageButtonToolTip
Get
Return "Última página"
End Get
End Property
Public ReadOnly Property NextPageButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.NextPageButtonToolTip
Get
Return "Siguiente página"
End Get
End Property
Public ReadOnly Property NoMoreMatches() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.NoMoreMatches
Get
Return "No se encuentran más coincidencias"
End Get
End Property
Public ReadOnly Property NullCheckBoxText() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.NullCheckBoxText
Get
Return "Nulo"
End Get
End Property
Public ReadOnly Property NullValueText() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.NullValueText
Get
Return "Nulo"
End Get
End Property
Public ReadOnly Property PageOf() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.PageOf
Get
Return "de"
End Get
End Property
Public ReadOnly Property ParameterAreaButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ParameterAreaButtonToolTip
Get
Return "Mostrar u ocultar parámetros"
End Get
End Property
Public ReadOnly Property PasswordPrompt() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.PasswordPrompt
Get
Return "Contraseña"
End Get
End Property
Public ReadOnly Property PreviousPageButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.PreviousPageButtonToolTip
Get
Return "Página anterior"
End Get
End Property
Public ReadOnly Property PrintButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.PrintButtonToolTip
Get
Return "Imprimir"
End Get
End Property
Public ReadOnly Property ProgressText() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ProgressText
Get
Return "El informe se está generando"
End Get
End Property
Public ReadOnly Property RefreshButtonToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.RefreshButtonToolTip
Get
Return "Actualizar"
End Get
End Property
Public ReadOnly Property SearchTextBoxToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.SearchTextBoxToolTip
Get
Return "Buscar texto"
End Get
End Property
Public ReadOnly Property SelectAll() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.SelectAll
Get
Return "(Seleccionar Todo)"
End Get
End Property
Public ReadOnly Property SelectAValue() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.SelectAValue
Get
Return "<Seleccione un valor>"
End Get
End Property
Public ReadOnly Property SelectFormat() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.SelectFormat
Get
Return "Seleccionar un formato"
End Get
End Property
Public ReadOnly Property TextNotFound() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.TextNotFound
Get
Return "Texto no encontrado"
End Get
End Property
Public ReadOnly Property TodayIs() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.TodayIs
Get
Return "Hoy es"
End Get
End Property
Public ReadOnly Property TrueValueText() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.TrueValueText
Get
Return "Verdadero"
End Get
End Property
Public ReadOnly Property UserNamePrompt() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.UserNamePrompt
Get
Return "Usuario"
End Get
End Property
Public ReadOnly Property ViewReportButtonText1() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ViewReportButtonText
Get
Return "Ver informe"
End Get
End Property
Public ReadOnly Property ZoomControlToolTip() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ZoomControlToolTip
Get
Return "Zoom"
End Get
End Property
Public ReadOnly Property ZoomToPageWidth() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ZoomToPageWidth
Get
Return "Ancho de página"
End Get
End Property
Public ReadOnly Property ZoomToWholePage() As String Implements Microsoft.Reporting.WebForms.IReportViewerMessages.ZoomToWholePage
Get
Return "Toda la página"
End Get
End Property
End Class
End Namespace
Yo utilizo Visual Studio 2008 y facilita enormemente la tarea ya que al teclear Implements y la clase, al pulsar intro, él sólo introduce casi todo el código. Sólo hay que ir rellenando las propiedades con el Return correspondiente.

Hola! muy bueno por cierto. Te hago una consulta, ¿Cómo sería con el tema de las fechas?
Porque en mi proyecto me las muestra con el formato jan/1998 y quisiera que sea asi: ene/1998
Por: Pedro el 29 noviembre 2011
a las 8:18 pm
Seguramente que sea un problema de cultura y Globalización en las páginas. Puedes probar a cambiar la directiva @ Page de la página:
un saludo.
Por: toniogago el 29 noviembre 2011
a las 10:28 pm
Esa directiva Page existe en visual studio 2008?
Por: Software online de administracion de reservas el 22 febrero 2012
a las 2:50 pm
Perdón, ya encontré la directiva Page.
Por: Software online de administracion de reservas el 22 febrero 2012
a las 8:50 pm
Muchas gracias Tonio, finalemente me sirvió de muchisima ayuda tu post.
Por: Manuel-alquiler en Cuba el 24 febrero 2012
a las 7:36 pm