Contributors mailing list archives

contributors@odoo-community.org

Browse archives

Avatar

Re: Translations and UI

by
Le Filament, Rémi Cazenave
- 08/09/2021 11:28:10

Thank you Yann, Joerg and Tom for your proposals.


I have implemented a new module based on the proposal from Yann : https://sources.le-filament.com/lefilament/base_default_lang_translate

I added a boolean on res_lang in order to select your default language. Any update performed with this language would then :

  • Update translation in this language (default behaviour)
  • Update source terms for all translations with the new value
  • Store new value in object table in database

I also have added a function to modify state of existing translations in case a source term is modified (state changes to to_translate).


Still need to work on scripts to bring database back to a proper state, cleaning all the mess coming from default Odoo behavior :)


Of course if you believe this could be useful for OCA, I can create a PR to move it under OCA umbrella.


Best Regards,

Le Filament
Rémi CAZENAVE
------
SCOP LE FILAMENT
06.87.23.26.04
remi@le-filament.com
Le 07/09/2021 à 13:31, Yann Papouin a écrit :
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 <remi@le-filament.com> 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
Rémi CAZENAVE
------
SCOP LE FILAMENT

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

_______________________________________________
Mailing-List: https://odoo-community.org/groups/contributors-15
Post to: mailto:contributors@odoo-community.org
Unsubscribe: https://odoo-community.org/groups?unsubscribe

Reference