
RJVV Tools Translate for WPML translates the ACF fields of your posts and custom post types,
not just the title and the content.
On a site built with Advanced Custom Fields, a lot of the content lives in repeaters,
flexible content and nested groups rather than in the editor. When a translation is created,
those field values are copied across as they are. This plugin walks that structure and
translates the text inside it.
Translations are created as real WPML translations: same translation group as the original,
correct language assignment, marked as complete. They are not duplicates sitting outside
WPML.
What it translates
- Post title, slug, content and excerpt, for posts and any custom post type WPML marks as
translatable. On WooCommerce the excerpt is the product short description. - ACF text fields (text, textarea, wysiwyg), including those inside repeaters, flexible
content and nested groups, at any depth. - Taxonomy terms: name, slug, description and their own ACF fields. Term assignments are
copied to the translation, whichwp_insert_post()does not do on its own. - ACF options pages, when the theme stores one set of values per language.
- WPML String Translation strings, grouped by domain.
How it decides what to send
Every field is hashed. When you edit the original, only the fields that actually changed are
sent again — you do not pay to re-translate a whole page because one paragraph moved. The
table shows, per language, whether a translation is missing, outdated (and how many fields
changed), up to date, or was made outside the plugin.
Your own API key
You connect your own OpenAI API key, so you pay OpenAI for what you use and nothing else.
There is no per-word cost and no translation credits. The request uses structured outputs,
so the model can only return the same keys it received: it cannot reshape your field
structure.
You can give the model standing instructions (tone, names never to translate) and exclude
fields by name or pattern — useful for codes, references and proper names that must stay
identical in every language.
Free vs Pro
The free version translates posts, custom post types and their ACF fields — title,
slug, content, excerpt and every text field inside repeaters, flexible content and nested
groups.
Pro adds the rest of a full multilingual site:
- Taxonomies — term names, slugs, descriptions and their ACF fields.
- ACF options pages — one set of values per language.
- WPML String Translation — theme and plugin strings, by domain.
- Source language — translate from the language content is actually written in,
which does not have to be the WPML default. - Fix language — content written in the wrong language, moved and translated in
place, with a backup. - Reassign terms — repair term assignments after changing WPML settings, at no API cost.
Requirements
- WPML Multilingual CMS — required. WPML String Translation only for the Strings tab.
- Advanced Custom Fields — optional. Without it the plugin still translates titles,
slugs and content; with it, every text field too. ACF PRO for repeaters and flexible content. - An OpenAI API key.
External services
This plugin sends content to the OpenAI API in order to translate it.
What is sent: the texts you choose to translate — post titles, slugs, content, ACF field
values, taxonomy term names and descriptions, or WPML strings — together with the source and
target language and any extra instructions you configure. Nothing is sent until you press a
translate button: there is no background or scheduled sending.
When: only on your explicit action from the plugin’s admin screens.
Who receives it: OpenAI, L.L.C., through https://api.openai.com/v1/chat/completions,
authenticated with the API key you provide.
- Terms of use: https://openai.com/policies/row-terms-of-use/
- Privacy policy: https://openai.com/policies/row-privacy-policy/
The plugin does not send your content anywhere else, and the plugin author receives no data.
Screenshots

Content tab: every original with its status per language, filters and batch actions.

Settings: API key, model, source language, excluded fields and instructions for the model.

Taxonomies tab, with terms and their own ACF fields.
