diff --git a/trytond/trytond/ir/translation.py b/trytond/trytond/ir/translation.py index 8c25c4ace2..3fc2bf79bc 100644 --- a/trytond/trytond/ir/translation.py +++ b/trytond/trytond/ir/translation.py @@ -180,11 +180,13 @@ class Translation(ModelSQL, ModelView): name = model.__name__ + ',' + field_name insert(field, 'field', name, field.string) insert(field, 'help', name, field.help) - if (hasattr(field, 'selection') - and isinstance(field.selection, (tuple, list)) - and getattr(field, 'translate_selection', True)): - selection = [s for _, s in field.selection] - insert(field, 'selection', name, selection) + if hasattr(field, 'selection'): + if (isinstance(field.selection, (tuple, list)) + and getattr(field, 'translate_selection', True)): + selection = [s for _, s in field.selection] + insert(field, 'selection', name, selection) + if field.help_selection: + insert(field, 'help', name, field.help_selection.values()) @classmethod def register_wizard(cls, wizard, module_name): @@ -1330,9 +1332,11 @@ class TranslationClean(Wizard): field = Model._fields.get(field_name) if not field: return True - if not field.help: + help_ = field.help + help_selection = list(getattr(field, 'help_selection', {}).values()) + if not help_ and not help_selection: return True - if translation.src not in list(field.help): + if translation.src not in list(help_) + help_selection: return True def transition_clean(self):