Cómo construir informes multilingües de Crystal
-
10-07-2019 - |
Pregunta
Estamos desarrollando una aplicación Winforms multilingüe usando Visual Studio 2008. Estoy tratando de descubrir cómo puedo crear informes multilingües usando Crystal Reports.
¿Hay algo similar a los archivos de recursos .net en el mundo de Crystal Reports?
Solución
Lamento haberte robado tu insignia de planta rodadora, pero no creo que Crystal tenga la compatibilidad con varios idiomas similar a .NET. Creo que su única opción es tener un informe separado para cada idioma y pasar los datos al informe en el idioma que desea mostrar.
Aquí hay un enlace de una respuesta similar. http://www.dbforums.com/crystal- Reports / 991737-crystal-report-multillingual-support.html
Otros consejos
Esta sería una forma manual de hacer esto:
-
Cree un informe para cada idioma que desee y póngalo en la estructura de carpetas adecuada. es decir, todos los informes japoneses irán a la carpeta rpt_ja /.
-
Utilice el archivo de recursos .Net para especificar el nombre del recurso del informe y el nombre completo del recurso para cada idioma:
-
resource.resx
RPT_SAMPLE - > report01.rpt
RPT_SAMPLE_FULL - > MyCompany.NameSpace.Reports.Report01.rpt
-
resource.ja.resx
RPT_SAMPLE - > rpt_ja \ report01.ja.rpt
RPT_SAMPLE_FULL - > MyCompany.NameSpace.Reports.Report01.ja.rpt
-
-
Luego use este valor en el archivo de código de informe: abra el archivo .cs de informe y cambie:
public override string ResourceName { get { // Change this to HttpContext.GetGlobalResourceObject("Resource", "RPT_SAMPLE").ToString(); return "report01.rpt"; } set { // Do nothing }
}
public override string FullResourceName { get { // Change this to HttpContext.GetGlobalResourceObject("Resource", "RPT_SAMPLE_FULL").ToString(); return "rpt_ja\report01.ja.rpt"; } set { // Do nothing } }
EDITAR: HttpContext es para la aplicación web ASP.Net. En winform, puede probar Properties.Resources.ResourceManager.GetString () para obtener la cadena de recursos
Un cliente me pide una solución a este problema. Desarrollé una solución basada en las palabras clave de Crystal Reports contentLocale y las funciones personalizadas. Vea mi publicación: http://www.cogniza.com/blog/?p=55 .