diff --git a/openerp/models.py b/openerp/models.py index 1b75bd2e05f..c4c7f69dd2f 100644 --- a/openerp/models.py +++ b/openerp/models.py @@ -295,6 +295,7 @@ class BaseModel(object): _sequence = None _description = None _needaction = False + _translate = True # set to False to disable translations export for this model # dict of {field:method}, with method returning the (name_get of records, {id: fold}) # to include in the _read_group, if grouped on this field diff --git a/openerp/tools/translate.py b/openerp/tools/translate.py index 01d945c7867..25ee4218d0f 100644 --- a/openerp/tools/translate.py +++ b/openerp/tools/translate.py @@ -668,6 +668,10 @@ def trans_generate(lang, modules, cr): _logger.error("Unable to find object %r", model) continue + if not registry[model]._translate: + # explicitly disabled + continue + exists = registry[model].exists(cr, uid, res_id) if not exists: _logger.warning("Unable to find object %r with id %d", model, res_id) @@ -688,7 +692,8 @@ def trans_generate(lang, modules, cr): _logger.error("name error in %s: %s", xml_name, str(exc)) continue objmodel = registry.get(obj.model) - if objmodel is None or field_name not in objmodel._columns: + if (objmodel is None or field_name not in objmodel._columns + or not objmodel._translate): continue field_def = objmodel._columns[field_name]