1

When you export the translation template for a specific module, you export all the items in the module: literal string in python, labels and all the info you have manually introduced in the data folder:

  1. Imagine that you have installed your module for your client and some translations are missing. Especially the ones in the records added in the data folder. Then, the user translates some of them through the Odoo interface, si the table ir_translation is updated with those terms.

  2. Then, you want to add more fields to the module with their translations in the po file, or modify some of the translations already done.

  3. If you want to load the terms you have written in the po file you must overwrite the translations of all fields in the po file (marking the checkbox). But the problem is that there will be some fields that were translated by the user among those fields.

    load a translation file

Is there a way to keep the modified or altered translations by the user?

I have also taken into account:

  • Exporting again the language of the module won't bring the new translated record through the interface
  • I can export data from ir.translation and write it into the po file, but it's kind of cumbersome to do it every time I want to alter the po file
  • I could send the po file to the client, even though that's not very convenient
  • I could isolate as much as possible the records in a new module where I don't have any po file

Possible best solution

  • Just a check to mark "keep translation records modified by the user" would be enough. The updated records may be identified just checking the last write date in ir_translation. Or I could even adding a new field to ir_translation to indicate that the user updated them. I am afraid this is in the translation engine in Odoo, I don't know if it will be safe or easy to touch.
ChesuCR
  • 9,352
  • 5
  • 51
  • 114

0 Answers0