'When changing source term of a translation, change its value in db
for the associated object, and the src field.'

def _inverse_source(self):

    self.ensure_one()
    if (self.type == 'model'):
        (model_name, field_name) = self.name.split(',')
        model = self.env[model_name]
        field = model._fields[field_name]
        if (not callable(field.translate)):
            model.browse(self.res_id).with_context(lang=None).write({field_name: self.source})
    if (self.src != self.source):
        self.write({'src': self.source})
