In JReport Server, a folder "resources" is added in the installation root directory for holding language packages. Each language package contains all the UI text and messages available in JReport Server (including Page Report Studio, Web Report Studio, JDashboard and Visual Analysis), and specifies the UI text in a specific language. When a language package is applied, the UI will be displayed in the language specified in the language package. When there are more than one language packages, you can select the one you are familiar with for your own convenience as the JReport Server environment language. For example, if you are a German you may be glad to apply the German language package.
Moreover, when creating a WAR/EAR file to include a JReport Server, the languages.jar which packs all language resources in the <server_install_root>\resources
directory will be generated and included for the multiple language support. The languages.jar makes sure the server UI text is displayed correctly after deploying the WAR/EAR to other application servers.
Currently JReport provides only the English language packages: en and en-us. However, JReport accepts user-customized language packages and can recognize and load them if they are correctly specified, though it may be a big task.
In each language package, there are three property files which together contain all UI text and messages in JReport Server:
The structure of a language package which is stored in the <server_install_root>\resources\server\languages
directory follows:
\LanguageName
To add a language package, follow the steps below:
<server_install_root>\resources\server\languages
directory.<server_install_root>\resources\server\languages\en
directory to the \fr folder. <jdk_install_root>\bin
directory by running the following line in the Command Console:
C:\jdk1.6.0_17\bin>native2ascii -encoding utf-8 common.properties >newcommon.properties
C:\jdk1.6.0_17\bin>native2ascii -encoding utf-8 dhtml.properties >newdhtml.properties
C:\jdk1.6.0_17\bin>native2ascii -encoding utf-8 server.properties >newserver.properties
Note: When you convert your property files to the same directory as the original ones you need give them new names instead of replacing the original in order to avoid problems.
Naming criterion for language package folders
* FolderName(language)
* FolderName(language-country)
* FolderName(language-country-variant)
The folder name should be lower-case codes.
The language argument is a valid ISO Language Code. These codes are the lower-case two-letter codes as defined by ISO-639. You can find a full list of these codes at a number of sites, for example: http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt.
The country argument is a valid ISO Country Code. These codes are the lower-case two-letter codes as defined by ISO-3166. You can find a full list of these codes at a number of sites, for example: http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html.
The variant argument is a vendor or browser-specific code. For example, use win for Windows, mac for Macintosh, and posix for POSIX. Where there are two variants, separate them with an underscore, and put the more important one first.
Once the application language is set, it takes effect in the whole JReport Server, including Page Report Studio, Web Report Studio, and JDashboard. There are two ways of setting the application language:
There is an option Specify Default Language for you to switch the application language. The available language list depends on the language packages in <server_install_root>\resources\server\languages
.
To specify the application language:
End users can control the application language by the parameter jrs.language when accessing the JReport Console page or Page Report Studio UI via URLs. The format of the URL is as follows:
http://IP_Address:port/context/pagename?parameter=value&jrs.language=Language_Name
The value of jrs.language should be the same as the language package folder name in the <server_install_root>\resources\server\languages
directory and be lower-case letters.
The following are two examples:
http://127.0.0.1:8888/jinfonet/index.jsp?jrs.language=zh-cn
http://127.0.0.1:8888/dhtmljsp/dhtml.jsp?jrs.cmd=jrs.try_vw&jrs.report=/EmployeeInformation.cls&jrs.catalog=/SampleReports.cat&jrs.cat_version=1&jrs.path=/EmployeeInformation.cls&jrs.result_type=8&jrs.language=zh-cn
Note: The specified application language by URL parameter has higher priority than that specified by UI option; however, it takes effect only in the current user session.