code: def add_translation_handlers(
      self,
      node: type[Element],
      **kwargs: tuple[Callable, Callable | None],
  ) -> None:
      logger.debug(
          "[app] adding translation_handlers: %r, %r", node, kwargs
      )
      for builder_name, handlers in kwargs.items():
          translation_handlers = self.translation_handlers.setdefault(
              builder_name, {}
          )
          try:
              visit, depart = handlers  # unpack once for assertion
              translation_handlers[node.__name__] = (visit, depart)
          except ValueError as exc:
              raise ExtensionError(
                  __(
                      "kwargs for add_node() must be a (visit, depart) "
                      "function tuple: %r=%r"
                  )
                  % (builder_name, handlers),
              ) from exc
  
imports: from __future__ import annotations
  import sys
  import traceback
  from importlib import import_module
  from types import MethodType
  from typing import TYPE_CHECKING, Any, Callable
  from sphinx.domains import Domain, Index, ObjType
  from sphinx.domains.std import GenericObject, Target
  from sphinx.errors import ExtensionError, SphinxError, VersionRequirementError
  from sphinx.extension import Extension
  from sphinx.io import create_publisher
  from sphinx.locale import __
  from sphinx.parsers import Parser
  from sphinx.roles import XRefRole
  from sphinx.util import logging
  from sphinx.util.logging import prefixed_warnings
label_desc: Use image node_id 19 for calling the SphinxComponentRegistry obj's underlying member method code with example usage: obj.add_translation_handlers(node) without return types