How POM Translate works
POM Translate separates source editing from localized rendering. WordPress keeps the canonical post, term, menu item, or other supported object. POM Translate discovers the values that need language, associates translations with those values, and supplies the correct version when a request uses another locale.
The process has two distinct phases:
Source object is saved
↓
Eligible fields are inspected
↓
Text units, protected markup, and a content skeleton are stored
↓
Editors add translations for each target locale
Visitor requests a localized URL
↓
POM Translate determines the request locale
↓
Stored values are loaded and validated
↓
Translated content and localized links are assembled
Machine translation is not part of the visitor phase. POM AI can help create stored drafts through an authorized translation workflow, but public rendering only reads translations that already exist.
Understand the content model
Start with these articles when planning ownership or migration:
- One post, many languages follows the shared WordPress object through editing and public display.
- Why POM Translate does not duplicate posts explains the consequences for IDs, queries, relationships, and deletion.
- How translations are associated with source content explains how a target value remains connected to its source field and locale.
The important boundary is that language-specific prose and URLs vary, while the underlying WordPress object remains shared.
Follow the save-time pipeline
Saving an enabled source object is what refreshes POM Translate’s view of that content:
- How translatable values are extracted identifies the content containers, attributes, shortcode values, and configured fields that become editable strings.
- What the content skeleton represents explains why document structure is stored separately from prose.
- How the skeleton is regenerated after a save covers eligibility, changed source content, removed values, and parser fallback.
- How protected markers preserve inline structure explains the validation that prevents a damaged translation from breaking its source markup.
This phase can update translation data because it runs when the source object is written. A normal visitor request does not perform extraction or create missing translations.
Follow the request-time pipeline
The localized result depends on more than the translated paragraph:
- How POM Translate selects the active language describes URL prefixes, saved visitor preference, browser language, administration requests, and supported dynamic contexts.
- How translated content is assembled for a visitor follows stored values through fallback, placeholder restoration, shortcode processing, and internal-link localization.
- How translated URLs are generated and resolved separates locale prefixes and object slugs from ordinary content translation.
- How registered interface strings are translated covers stable application labels that do not belong to a post or term.
Software gettext catalogs, WooCommerce email contexts, REST responses, and other specialist surfaces extend this model but have their own chapters and constraints.
Understand performance and caches
POM Translate reduces repeated work by loading related values together and using request or persistent caches for supported lookups and rendered content. Those optimizations do not turn every multilingual page into a static page:
- What the architecture optimizes explains batching, priming, fallbacks, and the limits of architectural performance claims.
- How translation changes interact with caches distinguishes POM Translate’s internal caches from page caches and CDN copies.
- Measure multilingual performance responsibly provides a repeatable comparison for source and target routes.
The guarantees to verify
For one representative object, this architecture should produce all of the following:
- the source and target routes resolve to the same canonical WordPress object;
- the target request uses the intended locale;
- each non-empty valid translation replaces its corresponding source value;
- an empty or invalid target value falls back safely;
- supported markup, attributes, shortcodes, and links retain their structure;
- saving a translation refreshes the relevant POM Translate runtime cache;
- no translation provider is contacted during the public request.
Use the focused article for the surface you are testing. Treat this chapter as the conceptual map, not as a substitute for the task-specific language, URL, content-type, selector, cache, or integration guides that follow.