Model structured multilingual content
Use this recipe when a custom post type combines normal fields, public metadata, taxonomies, shortcodes, or builder structures.
Classify every field
Create a field inventory and assign each value to one category:
- public prose to translate;
- internal or external URL to localize through the URL system;
- identifier, number, boolean, enum, relationship, or private value to preserve;
- complex known structure requiring a schema-aware adapter.
Do not recursively translate every string in serialized metadata.
Register the model
- Enable the custom post type and its required title, content, excerpt, or metadata parts.
- Add public meta keys with
pom_translate_translatable_meta_keys. - Enable public custom taxonomies.
- Declare textual shortcode attributes through
pom_translate_parser_translatable_shortcode_attributes. - Extend HTML parser tag or attribute lists only when their structural role is known.
- Save one complete object after all registrations are loaded.
Verify extraction and rendering
Confirm each public source appears once in the Translation Manager with the intended context. Translate one locale and review nested formatting, repeated components, empty optional fields, relationships, REST output, and archives.
Change one source field and reorder one structured component. Unchanged translations should remain associated correctly, while modified source text returns to the appropriate review workflow.
Cache custom rendered fragments by site, object, and locale. Use public translation-change actions to invalidate integration-owned entries.