Contributors mailing list archives


Re: Translations and UI

DEC, Yann Papouin
- 07/09/2021 11:29:56
This is an old PR from launchpad that I still use in production on odoo 12.0

With this patch, the current language is considered the database one (written to tables) and always override 'en_US', but it could be easily modified to only override when the current env.context lang is 'fr*', that way the source (database language) becomes "french".

It is better to have this patch running since the first launch but a simple script could be written to override "database" data with the french one.

Yann PAPOUIN, Ingénieur R&D | DEC

Le mar. 7 sept. 2021 à 10:22, Rémi CAZENAVE - Le Filament <> a écrit :

Dear all,

We are struggling with dealing with translations for one of our customers using mainly advanced surveys (with Odoo 12.0).

Basically, they design all their surveys in French + they use template surveys that they duplicate for new ones, changing titles and a few labels / questions inside.

Then they need to translate these surveys in English and German, since some of them are sent to non-French speaking companies.

Because Odoo considers that sources terms are en_US, we have everywhere names in source terms like "template (copy)", which is of course not the term they need to translate in English and German but the French terms are to be translated in these languages. Also names in survey tables are the original en_US ones (with (copy) inside) which means nothing to them...

I am not sure how to address this ? I have seen a number of issues on GitHub which are marked as normal behaviour and won't fix, but of course this does not help.

I have tried a few things, and my last idea is the following : force context to lang = en_US and do not translate in French (leave terms untranslated) so that it will use source terms for French. Then activate en_GB and de_DE for translating french source in these languages.

I have tried using context="{'lang': 'en_US'}" on translated fields in views but this does not seem to be taken into account, only context in action is but this use all fields in English then (meaning labels, group strings, etc.), which is not the intended purpose.

We will probably override write() actions to force lang in context.

I suppose many of you have already faced issues with translations, any idea, remark, link is welcome !

Best Regards,


Le Filament

Post to: