code: def add_translation_fields(model, opts):
      
      model_empty_values = getattr(opts, 'empty_values', NONE)
      for field_name in opts.local_fields.keys():
          field_empty_value = parse_field(model_empty_values, field_name, NONE)
          for l in mt_settings.AVAILABLE_LANGUAGES:
              # Create a dynamic translation field
              translation_field = create_translation_field(
                  model=model, field_name=field_name, lang=l, empty_value=field_empty_value)
              # Construct the name for the localized field
              localized_field_name = build_localized_fieldname(field_name, l)
              # Check if the model already has a field by that name
  
              if hasattr(model, localized_field_name):
                  # Check if are not dealing with abstract field inherited.
                  for cls in model.__mro__:
                      if hasattr(cls, '_meta') and cls.__dict__.get(localized_field_name, None):
                          cls_opts = translator._get_options_for_model(cls)
                          if not cls._meta.abstract or field_name not in cls_opts.local_fields:
                              raise ValueError("Error adding translation field. Model '%s' already"
                                               " contains a field named '%s'." %
                                               (model._meta.object_name, localized_field_name))
              # This approach implements the translation fields as full valid
              # django model fields and therefore adds them via add_to_class
              model.add_to_class(localized_field_name, translation_field)
              opts.add_translation_field(field_name, translation_field)
  
      # Rebuild information about parents fields. If there are opts.local_fields, field cache would be
      # invalidated (by model._meta.add_field() function). Otherwise, we need to do it manually.
      if len(opts.local_fields) == 0:
          model._meta._expire_cache()
          model._meta.get_fields()
docs: Monkey patches the original model class to provide additional fields for
      every language.
  
      Adds newly created translation fields to the given translation options.