Tuesday, December 16, 2025
1 change · 19.0
Enhancements to existing features
This update optimizes how Odoo imports translations, addressing a previous issue where large JSON objects caused memory problems. By focusing only on updated translations and simplifying the import query, the system now handles frequent updates more efficiently, preventing potential errors and improving overall performance.
Original PR description
Before this commit, when importing the translations with the TranslationImporter object, the save method was building one big query per model, with each JSON object containing all the languages. On our server, where 36 languages are installed, this leads to big JSON objects, especially for some large mail templates. Recently, we even got MemoryErrors because of the soft memory limit being hit. The query was about 250MB long. In the function, we already have the current values, so it's easy to compare them to the new values, and only consider these in the query. Furthermore, there is no need to add the languages that aren't being updated. With this commit, we are building a slightly more complicated query, but it will receive much less data when the translations are updated frequently, as unchanged values will be ignored. Task-id: none Forward-Port-Of: odoo/odoo#239678