[FIX] base: avoid duplicated translations
[FIX] base: avoid duplicated translations

This commits fixes the following scenario:

1. load translations in language X
2. modify the source of a translated record (e.g. email template body)
3. click on 'load translations' button (flag)
4. execute the translation wizard for the same language (to refresh)

The translation of the modified record was duplicated.
This was due to the field src in the database being different than the msgid in
the po file. The src value is updated on the `insert_missing` call.

The matching on src for type='model' translations is only needed due to the
translations that are split (e.g. xml views or html content). For the other
translations, matching on the rec_id is enough.

opw-691752
Closes #14310

ygol/odoo,ygol/odoo,dfang/odoo,hip-odoo/odoo,hip-odoo/odoo,dfang/odoo,ygol/odoo,hip-odoo/odoo,ygol/odoo,hip-odoo/odoo,dfang/odoo,dfang/odoo,ygol/odoo,hip-odoo/odoo,ygol/odoo,ygol/odoo,dfang/odoo,dfang/odoo,hip-odoo/odoo