- Translating a Studio report into the contact's language
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Comptabilitat
- Inventari
- PoS
- Project
- MRP
This question has been flagged
2
Respostes
4281
Vistes
Problem: A custom made report (with Studio) is printed (or the pdf is generated) with all the fields translated into the language of the user in Odoo, instead of the language of the contact for whom the report is intended.
Use case: A newsletter is sent to the contacts of a company. Of course, this should be in the language of the contact that will receive the letter. The goal is that fields like for example the title of a contact (mister, miss) are translated into the language of the receiving person.
Cause: In reports such as an invoice (translated into the contact’s language by default), a context is added in the XML code to indicate this. This XML code is missing if you create a report in Studio from scratch.
Solution: Add this piece of code in the XML code:
<t t-set="doc" t-value="doc.with_context(lang=doc.partner_id.lang)" />
What it means in human language: we’re adding a context to this report, which sets the language of the report to the language of the partner that’s present in the document from which we’re generating the report.
How to get the language?
If you are generating a report from the contacts app (as in the example above), you just need the value of the language field -> doc.lang
If you are generating a report from an app like accounting, there is an extra step to go through the contact itself -> doc.partner_id.lang
Step by step guide
1) Go to the report you created in Studio
2) Go to Report -> XML (the developer mode has to be activated)
3) In the dropdown, select the one that starts by studio_customization. and ends with _document.
4) Copy the entire thing: “studio_customization.studio_report_docume_c8a3a442-df5c-4463-96cd-c90eb64439cb_document”
5) Go (in debug mode) to the views in the technical settings
6) Search for the line you copied in step 4
7) Open the one where the ‘key’ is the same as the line you copied
8) Add the piece of code
Great article, thank you Lukas, unblocked me with a report I had this issue with!
Hi Lukas,
Hope all is good!
Your post seems to be exactly what I have been looking for.
Unfortunately, I get stuck at step 3.
If you could help, I would be grateful!
What should I chose?
https://drive.google.com/file/d/17iWtKPasTfv7lpuOj3RsjoFUE12Y-jB1/view?usp=sharing
Thanks in advance!
Kind regards,
George
Hi George! All fine here, hope the same for you.
This should be the one: https://tinyurl.com/2mp86ah6
Let me know if it works!
Kind regards,
Lukas
Hi Lukas,
I am trying to translate my delivery slip (created in Odoo Studio) into the customers language.
However, it keeps generating it in Dutch.
I have added the formula:
t t-name="studio_report_document">
Seems like I am doing something incorrect.
Thanks, Ellen
Enjoying the discussion? Don't just read, join in!
Create an account today to enjoy exclusive features and engage with our awesome community!
Registrar-seRelated Posts | Respostes | Vistes | Activitat | |
---|---|---|---|---|
|
1
de març 24
|
2515 | ||
|
1
d’oct. 21
|
4741 | ||
|
0
de nov. 19
|
8 | ||
|
5
d’oct. 24
|
11951 | ||
|
3
de febr. 25
|
28348 |
Hi Lukas,
Everything great!
Thanks so much for the answer, it seems like I have a few more things to take care of before I can actually translate it, but that's ok.
Thanks so much again!
Have a great day,
George