code: def setup(app: Sphinx) -> dict[str, Any]:
      app.add_builder(MessageCatalogBuilder)
  
      app.add_config_value(
          "gettext_compact", True, "gettext", {bool, str}
      )
      app.add_config_value("gettext_location", True, "gettext")
      app.add_config_value("gettext_uuid", False, "gettext")
      app.add_config_value("gettext_auto_build", True, "env")
      app.add_config_value("gettext_additional_targets", [], "env")
      app.add_config_value(
          "gettext_last_translator",
          "FULL NAME <EMAIL@ADDRESS>",
          "gettext",
      )
      app.add_config_value(
          "gettext_language_team", "LANGUAGE <LL@li.org>", "gettext"
      )
      app.connect(
          "config-inited", _gettext_compact_validator, priority=800
      )
  
      return {
          "version": "builtin",
          "parallel_read_safe": True,
          "parallel_write_safe": True,
      }
  
imports: from __future__ import annotations
  import time
  from codecs import open
  from collections import defaultdict
  from os import getenv, path, walk
  from typing import TYPE_CHECKING, Any
  from uuid import uuid4
  from docutils import nodes
  from sphinx import addnodes, package_dir
  from sphinx.builders import Builder
  from sphinx.errors import ThemeError
  from sphinx.locale import __
  from sphinx.util import logging
  from sphinx.util.console import bold
  from sphinx.util.display import status_iterator
  from sphinx.util.i18n import CatalogInfo, docname_to_domain
  from sphinx.util.index_entries import split_index_msg
  from sphinx.util.nodes import extract_messages, traverse_translatable_index
  from sphinx.util.osutil import canon_path, ensuredir, relpath
  from sphinx.util.tags import Tags
  from sphinx.util.template import SphinxRenderer
label_desc: Use image node_id 4 for calling a global function with example usage: setup(app) and returns: dict