docs: def categories(self, *category_slugs):
          """
          Return the entries with the given category slugs.
          When multiple tags are provided, they operate as "OR" query.
          """
          categories_field = getattr(self.model, 'categories', None)
          if categories_field is None:
              raise AttributeError("The {0} does not include CategoriesEntryMixin".format(self.model.__name__))
  
          if issubclass(categories_field.rel.model, TranslatableModel):
              # Needs a different field, assume slug is translated (e.g django-categories-i18n)
              filters = {
                  'categories__translations__slug__in': category_slugs,
              }
  
              # TODO: should the current language also be used as filter somehow?
              languages = self._get_active_rel_languages()
              if languages:
                  if len(languages) == 1:
                      filters['categories__translations__language_code'] = languages[0]
                  else:
                      filters['categories__translations__language_code__in'] = languages
  
              return self.filter(**filters).distinct()
          else:
              return self.filter(categories__slug=category_slugs)