Invalidate integration caches

Use lifecycle actions rather than watching tables:

  • pom_translate_string_changed for source changes;
  • pom_translate_translation_changed for translated values or deletion;
  • pom_translate_slug_changed( $object_type, $object_id, $locale, $slug, $previous_slug );
  • pom_translate_custom_url_translation_changed( $url_id, $locale, $translated_url );
  • pom_translate_language_changed for request-local state.

Callbacks should calculate precise cache keys and avoid full-cache flushes. Include site and locale in every multilingual cache key.

POM Translate clears its own caches. These actions exist so integrations can clear derived fragments, indexes, or external caches they own; they are not authorization to mutate POM storage.