Multi-language documents¶
The same document, produced in several languages, without maintaining a separate template for each.
What it produces¶
One report template that renders in whichever language the run requests, with translated labels and locale-appropriate dates and numbers.
How you build it¶
- Add the languages you need under Languages
- Move every fixed string in the template into a dictionary entry
- Provide a translation per language for each entry
- Check dates, numbers and currency against Text Formats for each locale
- Select the language when generating, by parameter or through the API
What makes it tricky¶
- Only dictionary text is translated. Anything typed directly into a component stays as typed, which is why a half-migrated template renders in two languages at once.
- Layout has to survive the longest translation. German and Finnish routinely run 30% longer than English; fixed-width columns that fit in English will clip.
- Data is not translated. Values coming from your data source arrive in whatever language they are stored in — translate them at the source or map them with a Badge.
- Date and currency formats are locale-dependent, and are set separately from the language.