Solved

How to translate IFS Crystal reports?

  • 9 August 2021
  • 8 replies
  • 549 views

Userlevel 2
Badge +4

Hi,

Could you please explain me the steps which we should follow, in order to translate a crystal report into another language, ex: to Chinese? Look forward for your help.

Thanks,

Thilani

icon

Best answer by Minoshini Fonseka 10 August 2021, 04:22

View original

This topic has been closed for comments

8 replies

Userlevel 7
Badge +19

hi @CedThilaI ,

Crystal framework looks for .rpt layouts in the corresponding language folder which the user selects from print dialog. 

if user selects “en” language from the print dialog, the crystal report layout (.rpt) file should be in OpenReportPath\en directory. If the user selects “zh” language from the print dialog, the crystal report layout (.rpt) file should be existing in OpenReportPath\zh folder. The crystal framework is designed this way to allow customers to develop their own versions of crystal layouts for different languages. For example, you can keep the “en” version and “zh” version of same layout in these two folders. To have translations for the report, you will need to add translations to the corresponding report server logic (.rdf). 

Userlevel 6
Badge +18

@CedThilaI Unfortunately there is no automatic translation available for Crystal Reports based on the selected language; you need to develop a different version of each report and store them in language-specific subfolders under the defined OpenReportPath parameter location.  This is good because it allows for different report content based on regulatory requirements etc rather than only doing a language translation.

The OpenReportPath directory value is defined in the Crystal Report server configuration file and the language folders inside that directory use the 2-character ISO codes that IFS uses, e.g. en, de,nl, fr etc.

Nick

 

Userlevel 7
Badge +18

A user logged in with one language might be dealing with a customer who wants to do business in another language.

We handle this requirement by reading a Custom Logical Unit that holds languages, field keys, and translations.

Userlevel 3
Badge +9

@durette we will be looking at creating Invoice Crystal layouts in French shortly. I am curious about your comment in this case. I thought the selection of the language at the point of printing a Crystal invoice would determine which layout is used (please see screenshot)? Perhaps your solution has a more complex set of requirements? When you have a minute could you please expand on the details of the requirements in your case and the solution ?

Many thanks

 

 

Userlevel 7
Badge +18

@durette we will be looking at creating Invoice Crystal layouts in French shortly. I am curious about your comment in this case. I thought the selection of the language at the point of printing a Crystal invoice would determine which layout is used (please see screenshot)? Perhaps your solution has a more complex set of requirements? When you have a minute could you please expand on the details of the requirements in your case and the solution ?

Many thanks

 

 

We manage one version of the Crystal files in language “en”. This simplifies adding and removing fields because we only need to do it once.

We pull our language text by company--but only partially. We used to use Document Footers for this a lot, but this custom LU gives us additional parameterization to drive which text is chosen.

Userlevel 3
Badge +9

@durette It sounds like you have an elegant/efficient solution there. Do you use this solution to generate invoices in different languages? if you are only using one version of the Crystal file in languages “en” it means you don’t have hard-coded headers in your invoices. Are your invoices fully parameterised?

We have 6 invoices layouts to accommodate the requirements of clients. I have managed so far with staying with only 6 layouts

Userlevel 7
Badge +18

Do you use this solution to generate invoices in different languages?

Are your invoices fully parameterised?

Yes and Yes. Our multi-language reports have no hard-coded labels. Everything comes from a formula.

Userlevel 3
Badge +9

We’re about to start un upgrade from v9 to v10. I will share your concept with our technical consultant. Hopefully he will be able to figure out how to achieve a similar result. Many thanks for sharing.