Traducciones con vReport


([N1] andrei) #1

Buenas,

Estoy haciendo varios informes en vReport, y me gustaría saber cómo cambiar de idioma.
Sé traducir los informes, y añadir varios idiomas, ¿pero cómo podría elegir qué idioma imprimir (digamos que para un cliente la quiero en inglés y para otro en italiano - o mostrar los dos para otros)?

La ayuda del manual es más que escueta: http://dl.velneo.com/es/productos/v7/openapps/documentos/documentacion_velneo_vreport_1_6_716.pdf (o igual no la entiendo bien).


([N3] pacosatu) #2

Hola andrei.

La documentación de vReport además de ser escueta es un desastre. Entre otras pifias, aparecen funcionalidades que solo están operativas en QT usando NCReport. Me imagino que lo de los idiomas es una de estas pifias. Que yo sepa, no hay forma de fijar el idioma del informe en tiempo de ejecución desde vClient.

De todas formas, el informe es un fichero XML y como tal es fácilmente editable.
Busca el tag <language>…</language> en el fichero XML.

Verás allí los idiomas utilizados, el código 00 siempre aparece el primero y es el idioma por defecto.
Por ejemplo, si usas el inglés aparecerá <language>00,en</language>.

Si quieres imprimir el informe en inglés prueba a cambiar el orden 00,en por en,00.
Pon el valor de <langrole> a 1.

Por supuesto tendrás que habilitar un sistema que abra el XML, haga el cambio según el idioma seleccionado y lo grabe temporalmente para imprimirlo.

Pruébalo.
Saludos
Paco Satué


([N1] andrei) #3

Tenía claro que tendría que hacer algo con el XML después de pelear con todo ello, no estoy seguro de que valga la pena el trabajo. Veré.

Muchas gracias.


([N4] rpaton) #4

Hola:

 Para el caso que se comenta en este hilo y probando lo que indica Paco, para por ejemplo un formato de factura en 4 idiomas (Español=por defecto, Francés, Inglés y Alemán) reemplazo en el XML la cadena   lang="en"  por lang="00" y utilizo ese XML y hace la impresión en Inglés. Si sustituyo  lang="fr" por lang="00" imprime en Francés y así con todos los idiomas que tengas o necesites.

 Realmente le estás diciendo a vReport que el idioma por defecto es ese. Cargo el XML en una variable, lo transformo y lo envío a imprimir. De esta forma siempre conservo el original. Así me evito tener que crear un formato para cada idioma.

 Saludos.

 Ricardo Patón