diff --git a/openerp/addons/base/ir/ir_translation.py b/openerp/addons/base/ir/ir_translation.py index 99aa362edf2..ce6c3d11863 100644 --- a/openerp/addons/base/ir/ir_translation.py +++ b/openerp/addons/base/ir/ir_translation.py @@ -124,7 +124,12 @@ class ir_translation_import_cursor(object): find_expr = "irt.lang = ti.lang AND irt.type = ti.type " \ " AND irt.name = ti.name AND irt.src = ti.src " \ - " AND (ti.type != 'model' OR ti.res_id = irt.res_id) " + " AND irt.module = ti.module " \ + " AND ( " \ + " (ti.type NOT IN ('model', 'view')) " \ + " OR (ti.type = 'model' AND ti.res_id = irt.res_id) " \ + " OR (ti.type = 'view' AND irt.res_id IS NULL) " \ + " OR (ti.type = 'view' AND irt.res_id IS NOT NULL AND ti.res_id = irt.res_id)) " # Step 2: update existing (matching) translations if self._overwrite: