To get multiple language support in Intellicus you need to make sure Intellicus (server and portal) runs in UTF-8 mode.
You can run Intellicus server and portal in UTF-8 mode as per instructions provided in the previous chapter.
This chapter explains configurations required on Intellicus Server for localization.
Language Bundle file on Report Server
Intellicus Report Server refers to this language bundle file for conversion information when source data of the report is in English, but the report output is required in a selected local language.
Report Server treats every piece of data coming from database as “key” and tries to find matching “value” (key-value pair) in the language bundle file. So, the language bundle file on Report Server needs to have all the possible keys (data values that may come from database) and values to be used for the selected language.
Figure 13: Tabs on language bundle file on Report Server
Information in the report server language bundle file is spread across multiple sheets:
Base: This sheet (necessarily called Base) contains translation information (key-value pair) that needs to be applied to all the reports deployed in all the categories.
CategoryName (the actual category name): This sheet contains translation information (key-value pair) that needs to be applied to the category (folder) identified by the sheet having respective category name. For example to translate reports deployed in “EmpReps” category, specify sheet name as “EmpReps” and specify key-value pairs on that sheet.
CategoryName_ReportName (the actual category name+underscore+actual report name): This sheet contains translation information (key-value pair) that needs to be applied to the “ReportName” deployed under “CategoryName”. For example, to translate “SalaryRep” deployed under “Finance” category, create a sheet with name “Finance_SalaryRep” and specify key-value pairs on that sheet.
For all the above sheets, key is specified in column A and value is specified in Column B. Key is the phrase that will be found on report. As specified above, value is the string with which the phrase will be replaced with.
Location
This file is placed on machine running Report Server at path:
<Intellicus installation path>/Intellicus/ReportEngine/resourcebundles
Intellicus identifies these files by their file names. For example, ja_JP.xls is the language bundle file for key-value in Japanese.
Note: Information in language bundle file is cached at report-server start up time. Restart the report server when you add a language resource bundle file on the report server.
Setting value of Report Server Property “Text Output Encoding”
When Intellicus is run in multi-language mode, Intellicus Server needs to run in UTF-8 file encoding (by setting FILE_ENCODING in run.bat file. This file is used to launch Intellicus report server).
Intellicus supports output generation in various formats including CSV, Text and Raw-Text.
Programs that may be used to open such files may not support UTF-8 encoding. If that is the case and you are aware that encoding those programs are configured to read, you can override the value set by FILE_ENCODING in run.bat file.
To change encoding for report generated in any of the text-based output types (Text, CSV or RAWTEXT) set value of Report Server property Text Output Encoding (Navigate > Administration > Configure > Server > Rendering) to the one you need.
Figure 14: Setting value of Text Output Encoding
This property is hot deployed. You need not re-start the Report Server to get the effect of new value specified for this property.
Important: To keep these configurations intact across versions during an upgrade, you need to make sure:
The configuration files are not overwritten during version upgrade or any patch application.
You keep a backup of the configuration files, in case the upgrade instructions require you to overwrite the files, and then you can ensure that you merge your entries into the new files.
Report output localization
Report getting localized data from database
Report data comes from the database. If this database already has localized content (content in script other than English), then you need to do following to make sure Intellicus Report Server generates such reports in that language.
If text-editor you use to open a report generated in text-based output types like (Text, CSV or RAW-TEXT) uses an encoding other than UTF-8, specify the required encoding by setting value of Report Server property Text Output Encoding (Navigate > Administration > Configure > Server > Rendering).
During report design, use fonts that support Unicode fonts, like Arial Unicode MS. For ad hoc reports, make sure all the templates use fonts that support Unicode fonts, like Arial Unicode MS.
In this case, you will not need report server language bundle file.
To localize labels on report
Label is a static text control appearing on a report. Value of such a control does not come from a database. It is typed in during report design. To localize such static text controls, you need to follow the below steps.
If text-editor you use to open a report generated in text-based output types like (Text, CSV or RAW-TEXT) uses an encoding other than UTF-8, specify the required encoding by setting value of Report Server property Text Output Encoding (Navigate > Administration > Configure > Server > Rendering).
During report design, use fonts that support Unicode fonts, like Arial Unicode MS. For ad hoc reports, make sure all the templates use fonts that support Unicode fonts, like Arial Unicode MS.
In this case, you also need to create language bundle file having key-value pair for all static text controls used in the report. This file will be placed on Report Server.
Note: You need to restart report server and portal after making configuration related changes. Changed configuration will be effective only after server-restart.
Report data is English, but report output needed to be localized
When a report-data comes from database having values in English, Intellicus report server can generate output of such a report in any of the language configured in Intellicus.
To localize output of such a report, you need to follow the below steps.
If text-editor you use to open a report generated in text-based output types like (Text, CSV or RAW-TEXT) uses an encoding other than UTF-8, specify the required encoding by setting value of Report Server property Text Output Encoding (Navigate > Administration > Configure > Server > Rendering).
During report design, use fonts that support Unicode fonts, like Arial Unicode MS. For ad hoc reports, make sure all the templates use fonts that support Unicode fonts, like Arial Unicode MS.
Applyi18forDataFields – Report level property in Studio. Set value of this property to True. By default this property is set to FALSE.
True: Based on the language user has selected at the time of login, Report server translate report data from English to respective language and that way generates the report output in selected language. For translation it uses the language bundle file placed on Report Server machine.
False: Report Server does not translate report data before generating report output.
You also need to create language bundle file having key-value pair for all possible values that may appear on report. This file will be placed on Report Server.
Note: You need to restart report server and portal after making configuration related changes. Changed configuration will be effective only after server restart.
Note: You can translate Report title, Report name, Report header, Grouping details and Report output. Apart from these, Label captions that appear on various controls like chart, matrix etc. can also be translated.
To localize email messages
Email message notifications in Intellicus can be localized by placing a folder with the locale name, example: folder name zh_CN (Chinese Simplified) under:
<Intellicus installation path>IntellicusReportEngineConfigmessagesmails
Keep the translated messages text files under the above folder saved using UTF-8 Encoding.