docs: def add_catalogue(self, catalogue):
          """
          Merges translations from the given Catalogue into the current one.
          The two catalogues must have the same locale.
  
          @type id: The
          @param id: message id
  
          """
          assert isinstance(catalogue, MessageCatalogue)
  
          if catalogue.locale != self.locale:
              raise ValueError(
                  'Cannot add a catalogue for locale "%s" as the '
                  'current locale for this catalogue is "%s"' %
                  (catalogue.locale, self.locale))
  
          for domain, messages in list(catalogue.all().items()):
              self.add(messages, domain)
  
          for resource in catalogue.resources:
              self.add_resource(resource)