Francisco Fiuza
Francisco Fiuza

Reputation: 421

How do I change the locale that JasperReports uses?

The windows installed on my machine has the locale en_AU and that's what JasperReports uses. I already tried changing the locale of all users, including the Administrator but it still uses en_AU.

How can I change that locale? Is it possible to change the REPORT_LOCALE parameter on my report?

Upvotes: 40

Views: 46979

Answers (3)

Jan Bodnar
Jan Bodnar

Reputation: 11637

The easiest way is to set the locale net.sf.jasperreports.default.locale property in the jasperreports.properties file.

Upvotes: 0

siom
siom

Reputation: 1807

You can set the locale on JVM that executes the JasperFillManager code if you do not want to change the code:

java -Duser.language=de -Duser.country=CH ...

Upvotes: 0

waxwing
waxwing

Reputation: 18743

The locale is set during execution, not in the JRXML.

Using Java, set the REPORT_LOCALE parameter for the report's parameter map. For example:

InputStream reportTemplate = getReportTemplate();
JRDataSource dataSource = getDataSource();

java.util.Map parameters = getParameters();
java.util.Locale locale = new Locale( "en", "US" );
parameters.put( JRParameter.REPORT_LOCALE, locale );

JasperFillManager.fillReport( reportTemplate, parameters, dataSource );

Using Jaspersoft Studio, open the project properties dialog to the Report Execution area:

Project Properties

Using iReport, set the report locale in the Options window under the "Report execution options" section in the General tab. This will set the report locale when run.

Upvotes: 63

Related Questions