Skip to Content

Contributors

16.0 translations

Hi guys,

We do have a customer which would like to translate a term used in a python method in a odoo module.
I know translations have changed a lot in 16.0, that and now field translations are stored as jsonb values.

To give you more context, here's a bit of code https://github.com/odoo/odoo/blob/16.0/addons/l10n_din5008_sale/models/sale.py#L12-L32

Our customer isn't happy with the german translation of "Salesperson", which is "Vertriebsmitarbeiter", and would like "Kundenberater" instead.

In the previous versions of odoo, it was possible to create a `l10n_extra` folder, and drop a new translation for the term, and that's it.

Now it's not possible anymore, and I'm looking for ways of doing it.
For instance, if some python code is raising an exception with some translated text that you're unhappy with, you cannot change it.

I noticed there was a few issues on this matter on github.com/odoo/odoo

I'm guessing that we aren't near close of having a solution from Odoo, and was wondering if there was anything in OCA about this?

Thanks!

---

Matthieu Méquignon


by Matthieu Méquignon - 04:04 - 20 Jun 2024

Follow-Ups

  • Re: 16.0 translations
    Exactly. Alternatively it can be done in the language settings by updating and overwriting the language.



    Best regards
    Christian



    Von: "Holger Brunn" <notifications@odoo-community.org>
    An: "Odoo Community Association, (OCA) Contributors" <contributors@odoo-community.org>
    Gesendet: Donnerstag, 20. Juni 2024 23:42:15
    Betreff: Re: 16.0 translations

    the i18n_extra mechanism still works exactly as it used to.
    
    That includes that translations are only overwritten on the first init of a 
    module, or with -u $module --i18n-overwrite.
    
    
    
    -- 
    Your partner for the hard Odoo problems
    https://hunki-enterprises.com

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


    by Christian Zöllner - 09:25 - 21 Jun 2024
  • Re: 16.0 translations
    Our customer isn't happy with the german translation of "Salesperson", which is "Vertriebsmitarbeiter", and would like "Kundenberater" instead.

    Hi Matthieu, in case this helps, if your pain point is about the QWeb report: https://github.com/OCA/server-ux/tree/16.0/template_content_swapper

    -- 
    田代祥隆 Yoshi Tashiro
    コタエル株式会社 / Quartile Limited



    On Fri, Jun 21, 2024 at 6:42 AM Holger Brunn <notifications@odoo-community.org> wrote:
    the i18n_extra mechanism still works exactly as it used to.
    
    That includes that translations are only overwritten on the first init of a 
    module, or with -u $module --i18n-overwrite.
    
    
    
    -- 
    Your partner for the hard Odoo problems
    https://hunki-enterprises.com

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


    by Yoshi Tashiro. - 02:56 - 21 Jun 2024
  • Re: 16.0 translations
    the i18n_extra mechanism still works exactly as it used to.
    
    That includes that translations are only overwritten on the first init of a 
    module, or with -u $module --i18n-overwrite.
    
    
    -- 
    Your partner for the hard Odoo problems
    https://hunki-enterprises.com

    by Holger Brunn - 11:41 - 20 Jun 2024
  • RE: 16.0 translations

    Hi,

     

    I total share your pain with the German translation in that point and also on “Credit Note” where we need to replace “Gutschrift” with “Rechnungskorrektur”.

     

    For these two values I’ve solved it this way, because I could not find another solution. It removes the original value and adds a new.

    You need to translate “Salesperson” in your custom module the same as it is translated in Odoo, and then add a new key/value pair to the collection.

     

    from odoo import _, models

     

    class SaleOrder(models.Model):

        _inherit = "sale.order"

     

        def _compute_l10n_din5008_template_data(self):

            result = super()._compute_l10n_din5008_template_data()

            for record in self:

                values = record.l10n_din5008_template_data

     

                # replace salesperson from list

                sales_person_label = _("Salesperson")

                values = [x for x in values if x[0] != sales_person_label]

     

                if record.user_id:

                    values.append((_("Contact Person"), record.user_id.name))

                record.l10n_din5008_template_data = values

          return result

     

    I know this is a very poor solution and would be happy for other, more generic suggestions.

     

    Best Regards,

    Christopher

     

    From: Matthieu Mequignon <notifications@odoo-community.org>
    Sent: Donnerstag, 20. Juni 2024 16:11
    To: Contributors <contributors@odoo-community.org>
    Subject: 16.0 translations

     

    Hi guys,

    We do have a customer which would like to translate a term used in a python method in a odoo module.
    I know translations have changed a lot in 16.0, that and now field translations are stored as jsonb values.

    To give you more context, here's a bit of code https://github.com/odoo/odoo/blob/16.0/addons/l10n_din5008_sale/models/sale.py#L12-L32

    Our customer isn't happy with the german translation of "Salesperson", which is "Vertriebsmitarbeiter", and would like "Kundenberater" instead.

    In the previous versions of odoo, it was possible to create a `l10n_extra` folder, and drop a new translation for the term, and that's it.

    Now it's not possible anymore, and I'm looking for ways of doing it.
    For instance, if some python code is raising an exception with some translated text that you're unhappy with, you cannot change it.

    I noticed there was a few issues on this matter on github.com/odoo/odoo

    I'm guessing that we aren't near close of having a solution from Odoo, and was wondering if there was anything in OCA about this?

    Thanks!

    ---

    Matthieu Méquignon


    by Christopher Rogos - 10:26 - 20 Jun 2024