Translate body content
POM Translate does not present the complete post_content field as one unrestricted copy. It parses the saved source, extracts translatable segments and supported attributes, and stores a structural skeleton that can reassemble the localized body.
This makes rows easier to translate and protects markup, but each row must remain compatible with its placeholders.
Enable content extraction
Open Settings → POM Translate → Content types, find the post type, and enable Content. Publish or privately publish the source object, then save it.
If Content is disabled, POM Translate stores no translatable body segments for that post type. Title, excerpt, and registered metadata can remain available independently.
Read segmented rows
Under Translations → Translate contents, body rows normally use Post content context. Other extracted rows can identify a post-content attribute, shortcode attribute, or shortcode inner content.
A paragraph containing inline markup may appear as:
Order before %1%Friday at 14:00%/1% for same-day dispatch.
The %1% pair represents protected inline structure. Translate the surrounding words and the text inside the pair, but retain both tokens exactly once and in a valid order.
Work in reading order
- Open Manage translations from the source editor.
- Select the target locale.
- identify the first body row from its context;
- translate headings before dependent paragraphs;
- continue through lists, captions, buttons, and other extracted values;
- save the current table page;
- open the localized public route;
- compare its visual sequence with the source.
The table can contain 100 rows per page by default. Saving before pagination prevents unsaved text from being left behind.
Preserve structure
Do not:
- delete or invent
%…%placeholder tokens; - translate HTML element names;
- move words into a different translation row;
- paste the complete page markup into one textarea;
- translate IDs, CSS classes, script data, or configuration values;
- add unsupported wrappers around an existing fragment.
POM Translate validates known placeholders on save. A row with incompatible tokens is rejected while other valid changed rows can still be processed.
Understand extracted attributes
Some visitor-facing HTML attributes are stored as separate strings. Their context identifies the relevant post-content attribute. Translate the value, not the attribute name.
Links also have separate URL localization behavior. Translating anchor text in a body row does not by itself translate a custom destination URL or a post slug.
Handle unparsed content
When normal HTML parsing cannot produce a structured body, POM Translate can store a fallback body string. Treat it cautiously:
- compare the full source structure;
- retain all required markup and placeholders;
- verify the complete page after saving;
- investigate malformed source HTML before translating at scale.
Visual Composer content uses a dedicated parser whenever the source contains [vc_. Other builder storage may require registered metadata or an integration.
Verify assembly
After saving, inspect:
- headings and paragraph order;
- inline emphasis and links;
- lists and tables;
- image captions and supported attributes;
- shortcodes and embedded widgets;
- spacing introduced around inline elements;
- source-language fallback rows;
- mobile and desktop layout.
If text is correct in the table but appears in the wrong component, resave the canonical source structure and then review which rows were regenerated.
Read Translate content inside shortcodes when tokens belong to a shortcode.