Odoo version: 18.2 (SaaS, Enterprise)
We are working with product.template and we must update several HTML fields in multiple languages using JSON-RPC (write() with context['lang']).
Everything works as expected with standard Odoo translatable fields.
However, HTML fields created with Odoo Studio do not behave as properly translatable fields, even when Studio marks them as “translatable”.
Observed symptoms:
Updating a translation overwrites the HTML content in all languages.
The base language version is replaced as soon as any translation is updated.
Odoo attempts to “synchronize” or “merge” HTML fragments between languages, corrupting the content.
context['lang'] is ignored entirely.
It is not possible to maintain independent HTML translations using JSON-RPC.
No per-language entries appear in the new JSON-based translation system used by Odoo 16/17.
These issues only happen with Studio-generated HTML fields.
Standard translatable fields behave correctly, but Studio fields appear to be stored as a single shared value regardless of language.
Expected behavior
If a Studio field is marked as “translatable”, it should support independent values per language and respect context['lang'] when writing translations.
Actual behavior
Studio HTML fields seem to ignore multi-language storage entirely, and Odoo treats them as one unified value, causing overwrites and HTML merging issues.
Question
Is this the expected limitation of Odoo Studio?
Is there a way to make Studio HTML fields support proper per-language storage and allow JSON-RPC updates without overwriting all translations?