Enabling language translation in reports
To enable translations for a report, it needs to be called from a template, using a
<t t-call>
element with a t-lang
attribute.
The t-lang
attribute should evaluate to a language code, such as es
or en_US
. It needs the name of the field where the language to use can be found. This will frequently be the language of the Partner the document is to be sent to, stored at partner_id.lang
field. In our case, we don't have a Partner field, but we can use the responsible user, and the corresponding language preference is in user_id.lang
.
The function expects a template name, and will render and translate it. This means that we need to define the page content of our report in a separate template, as shown in the following:
<report id="action_todo_task_report_translated" string="Translated To-do Tasks" model="todo.task" report_type="qweb-pdf" name="todo_report.report_todo_task_translated...