class_docstr: A repository for message catalogs.
class_docstr_tok: ["A","repository","for","message","catalogs","."]
code: def catalogs(self) -> Generator[CatalogInfo, None, None]:
      for basedir, filename in self.pofiles:
          domain = canon_path(path.splitext(filename)[0])
          yield CatalogInfo(basedir, domain, self.encoding)
  
imports: from __future__ import annotations
  import os
  import re
  from datetime import datetime, timezone
  from os import path
  from typing import TYPE_CHECKING, Callable, NamedTuple
  import babel.dates
  from babel.messages.mofile import write_mo
  from babel.messages.pofile import read_po
  from sphinx.errors import SphinxError
  from sphinx.locale import __
  from sphinx.util import logging
  from sphinx.util.osutil import SEP, canon_path, relpath
label_desc: Use image node_id 4 for calling the CatalogRepository obj's underlying member method code with example usage: obj.catalogs() without return types