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

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)