
Side panel in post/page editor
SlyTranslate wires AI translation into WordPress at three different levels: the admin UI, the Gutenberg editor, and from external LLM tools via MCP. Whichever level you work at, the same language plugin integrations and translation quality controls apply.
It works with any LLM available through a WordPress AI connector and natively supports Polylang, WP Multilang, WPGlobus, and TranslatePress Multilingual.
What it does
Translate full posts or pages directly inside WordPress admin — either one at a time from the editor side panel or in bulk from the list view.
Requirements: language plugin + configured AI Connector
From the post/page list, select one or more items and choose a translation action from the bulk-actions menu. A dialog lets you pick target language, model, and whether to overwrite existing translations. Progress updates live while the translation runs, and you can cancel at any time.
From the editor side panel, the same controls appear alongside the post you are currently editing. TranslatePress users get an equivalent panel inside the TranslatePress visual editor on ?trp-edit-translation pages.
The language plugin (Polylang, WP Multilang, WPGlobus, or TranslatePress) handles the translated post as it normally would — SlyTranslate creates or updates the translated entry and lets the language plugin own the relationship.
Translate content while writing, without touching a language plugin or a full-post workflow.
Requirements: configured AI Connector
Select any text in a Gutenberg block and the block toolbar gains a Translate button. The selected text is replaced with the translation in place. When no text is selected, the button translates the entire block.
This workflow is self-contained: it does not require a language plugin and does not create or modify translated post entries. It is useful for one-off corrections, translating imported content on the fly, or working in a single-language site where you just need AI rewriting in another language.
Drive WordPress translations from inside your LLM tool of choice.
Requirements: language plugin + WordPress application password (token) + WordPress MCP Adapter plugin
When a WordPress MCP Adapter is active, SlyTranslate registers its abilities over MCP. Any MCP-capable LLM client — Claude Code, Codex, custom agents — can then discover and call them.
In this workflow the LLM wrapper provides the translation itself. SlyTranslate’s MCP abilities handle the WordPress side: reading content structure, checking translation status, writing translated entries, and coordinating with the language plugin. No WordPress AI Connector is needed because translation is performed by the external model, not by WordPress.
A typical agent session:
ai-translate/get-languages to find valid target language codes.ai-translate/get-translation-status on the source post to read source_language and single_entry_mode.ai-translate/translate-content to write the translated entry.This is the right workflow for automating bulk site migrations, integrating translation into a CI/CD pipeline, or building a custom translation agent that uses a model not available as a WordPress AI connector.
┌──────────────────┐ ┌───────────────────┐ ┌────────────────────────┐
│ Admin UI │ │ Gutenberg │ │ LLM Wrapper │
│ (panel / list) │ │ (block / toolbar) │ │ (Claude Code, Codex…) │
└────────┬─────────┘ └────────┬──────────┘ └──────────┬─────────────┘
│ REST │ REST │ MCP
└──────────────────────┴──────────────────────────┘
│
┌──────────▼──────────────┐
│ SlyTranslate Ability │
│ (REST / MCP endpoint) │
└──────────┬──────────────┘
│
┌───────────▼───────────┐
│ AI Connector │ UI/block workflows
│ (wp_ai_client_prompt)│ only
└───────────┬───────────┘
│
┌───────────▼───────────┐
│ LLM (any provider) │
└───────────┬───────────┘
│
┌───────────▼───────────┐
│ Chunk + Validate │
└───────────┬───────────┘
│
┌───────────▼───────────┐
│ Language Plugin │
│ Polylang / TP / … │
└───────────┬───────────┘
│
┌───────────▼───────────┐
│ WordPress Post │
└───────────────────────┘
In the MCP workflow the LLM Wrapper acts as the translation engine — the AI Connector and LLM steps inside WordPress are bypassed.
ai-translate/get-languages — List languages exposed by the active language plugin
ai-translate/get-translation-status — Show translation status for a content item, including `source_language` and `single_entry_mode`
ai-translate/set-post-language — Change the language assignment of an existing content item (Polylang only)
ai-translate/get-untranslated — Find content still missing a target translation
ai-translate/translate-text — Translate arbitrary text
ai-translate/translate-blocks — Translate serialized Gutenberg blocks
ai-translate/translate-content — Create or update one translated post/page/CPT entry
ai-translate/translate-content-bulk — Bulk-translate multiple entries
ai-translate/get-progress — Return live progress for a running translation
ai-translate/cancel-translation — Cancel a running translation
ai-translate/get-available-models — List models from configured connectors
ai-translate/save-additional-prompt — Save per-user additional instructions
ai-translate/configure — Read or update persistent plugin settings
MCP call sequence
For reliable results in agent workflows:
get-languages first when the correct target language code is unknown.get-translation-status before translate-content to read source_language, single_entry_mode, and whether a translation already exists.source_language unless you intentionally pin a source variant.overwrite=true only when status or prior context confirms a target-language entry already exists.translated_post_id equals source_post_id in single-entry adapters (WP Multilang, WPGlobus, TranslatePress). In multi-post adapters (Polylang) the translated item has a sibling post ID.Language plugins
SEO plugins (metadata translated alongside content)
Any LLM available through a WordPress AI connector works without configuration. The following model families have dedicated built-in profiles that tune prompt style, chunking, and retry behavior:
chat_template_kwargs support via direct_api_urlAdditional profiles can be registered via the slytranslate_model_profiles filter.