code: def replace_orig_field(self, option):
          
          if option:
              option_new = list(option)
              for opt in option:
                  if opt in self.trans_opts.fields:
                      index = option_new.index(opt)
                      option_new[index:index + 1] = get_translation_fields(opt)
                  elif isinstance(opt, (tuple, list)) and (
                          [o for o in opt if o in self.trans_opts.fields]):
                      index = option_new.index(opt)
                      option_new[index:index + 1] = self.replace_orig_field(opt)
              option = option_new
          return option
docs: Replaces each original field in `option` that is registered for
          translation by its translation fields.
  
          Returns a new list with replaced fields. If `option` contains no
          registered fields, it is returned unmodified.
  
          >>> self = TranslationAdmin()  # PyFlakes
          >>> print(self.trans_opts.fields.keys())
          ['title',]
          >>> get_translation_fields(self.trans_opts.fields.keys()[0])
          ['title_de', 'title_en']
          >>> self.replace_orig_field(['title', 'url'])
          ['title_de', 'title_en', 'url']
  
          Note that grouped fields are flattened. We do this because:
  
              1. They are hard to handle in the jquery-ui tabs implementation
              2. They don't scale well with more than a few languages
              3. It's better than not handling them at all (okay that's weak)
  
          >>> self.replace_orig_field((('title', 'url'), 'email', 'text'))
          ['title_de', 'title_en', 'url_de', 'url_en', 'email_de', 'email_en', 'text']