Contributors mailing list archives

contributors@odoo-community.org

Browse archives

Avatar

RE: 16.0 translations

by
glueckkanja AG., Christopher Rogos
- 20/06/2024 22:25:05

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

Reference