SlyTranslate – AI Translation Abilities
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 Translates posts, pages, and custom post types into any language managed by your active language plugin Translates selected text or entire Gutenberg blocks inline, without leaving the editor Exposes the same functionality as MCP abilities, so external LLM tools (Claude Code, Codex, and others) can drive translations programmatically Carries SEO metadata (title, description) through the same translation workflow as the post content Translates custom fields from ACF (including ACF blocks and options pages), Meta Box, and Pods automatically — no configuration required when the field plugin is active Handles long and structured content with chunking and output validation Supports model-specific profiles that tune prompt style and retry behavior for known model families Workflow 1 — Admin UI translation (posts & pages overview, side panel) 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. Workflow 2 — Inline Gutenberg translation (block or selected text) 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. Workflow 3 — LLM wrapper via MCP (Claude Code, Codex, and others) 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: Call ai-translate/get-languages to find valid target language codes. Call ai-translate/get-translation-status on the source post to read source_language and single_entry_mode. Translate the content using the agent’s own LLM. Call 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. Internal flow ┌──────────────────┐ ┌───────────────────┐ ┌────────────────────────┐ │ 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. Abilities reference 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 (set `background=true` to queue the batch via Action Scheduler/WP-Cron and poll it with `get-progress`) ai-translate/translate-terms — Bulk-translate taxonomy terms and link them as translations (Polylang only) ai-translate/get-translatable-fields — Introspect which meta fields a translation would translate or clear, with source attribution (manual/SEO/ACF/default/filter) ai-translate/get-progress — Return live progress for a running translation or a queued background job (`job_id`) ai-translate/cancel-translation — Cancel a running translation or a queued background job (`job_id`) 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: Call get-languages first when the correct target language code is unknown. Call get-translation-status before translate-content to read source_language, single_entry_mode, and whether a translation already exists. Omit source_language unless you intentionally pin a source variant. Set 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. Supported plugins Language plugins Polylang WP Multilang WPGlobus TranslatePress Multilingual Field plugins (custom fields translated alongside content) Advanced Custom Fields (ACF) — Free and Pro, including Repeater and Flexible Content, ACF blocks in Gutenberg, and options pages Meta Box (metabox.io) Pods SEO plugins (metadata translated alongside content) Genesis SEO Yoast SEO Rank Math All in One SEO The SEO Framework SEOpress Slim SEO Supported model profiles 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: TranslateGemma — dedicated runtime with chat_template_kwargs support via direct_api_url TowerInstruct / Salamandra — bilingual framing, conservative chunking, stricter retries Nvidia Nemotron — system-prompt-aware, reasoning-disable, provider-parameter forwarding Qwen 3.x / GLM-4.6v / Gemma 4 / Phi-4 — thinking-aware profiles EuroLLM / Llama 3.1-8B / SauerkrautLM — conservative chunking tuned for European languages Ministral-3 / Ministral-8B — optimized for the Ministral model family Additional profiles can be registered via the slytranslate_model_profiles filter.
Top keywords
- language22×1.98%
- translation20×1.80%
- ai-translate18×1.62%
- wordpress14×1.26%
- llm13×1.17%
- content12×1.08%
- post12×1.08%
- ai11×0.99%
- mcp11×0.99%
- translated10×0.90%
- workflow9×0.81%
- ai connector8×0.72%
SudoWP Radar
WordPress 7.0 introduced a new AI attack surface. Every plugin that registers an ability on your site declares a structured entry point for AI agents and MCP tools. SudoWP Radar audits that surface at runtime, flagging misconfigurations before they become incidents. It sits between reactive CVE scanners (which wait for a vulnerability to be disclosed) and developer-side static analysis tools (which run before deployment). Radar audits what is actually registered and executing on your live site, right now. What it audits Core ability rules (WP 6.9+) Open and weak permissions — abilities with no permission_callback, or one that passes any authenticated user through regardless of role. Missing or loose input schemas — abilities that accept unconstrained string inputs on fields like path, file, url, redirect, or slug. Common injection vector for path traversal and SSRF. REST overexposure — abilities marked show_in_rest with no or open permission control, reachable by unauthenticated callers. Orphaned callbacks — execute_callbacks referencing functions no longer loaded, typically left behind by deactivated plugins. Namespace collisions — duplicate ability names where the last registration silently overwrites the first, potentially downgrading the permission model. AI agent rules (WP 7.0+) AI prompt filter bypass (HIGH) — a plugin has disabled the sitewide AI prompt prevention gate. Any AI agent connected to your site bypasses this control. AI REST overexposure (CRITICAL/HIGH) — REST endpoints that invoke the AI client with no or weak permission checks. Directly exploitable by unauthenticated callers. AI missing version gate (MEDIUM) — plugins calling the WP 7.0 AI client without a compatibility check, causing fatal errors on sites not yet running 7.0. Hosting-injected ability (HIGH) — an ability registered by a plugin auto-installed by your hosting provider, without explicit site administrator consent, with REST exposure enabled. Requires premium vendor slug list via the SudoWP dataset. Connector key in database (HIGH) — an AI provider API key (OpenAI, Anthropic, Google, or similar) is stored as plaintext in your WordPress database via the WP 7.0 Connectors API. Any SQL injection or object cache exposure on your site leaks this key directly. The fix is to define it as an environment variable or PHP constant instead. Why this matters now WordPress 7.0 ships with native AI agent integration. Plugins can now register abilities that AI agents call directly, expose AI endpoints over REST, and connect to external AI providers via the Connectors API. Each of these is a new attack surface that existing security scanners do not cover — they match known CVEs, they do not audit AI agent architecture. Some hosting providers have begun auto-installing AI agent plugins on customer sites without explicit consent. If one of those plugins registers abilities with REST exposure, or stores an AI provider key in your database, Radar flags it. How it works Radar reads the live abilities registry after all plugins and themes have loaded. It applies its rule engine to each registered ability and returns a findings report with severity ratings (CRITICAL, HIGH, MEDIUM, LOW) and specific remediation guidance per finding. A risk score from 0-100 summarises the overall exposure. The audit runs on demand. It does not affect front-end performance. Security model Requires the radar_run_audit capability (administrators by default). All requests are nonce-gated. No public-facing endpoints. Findings are stored in user meta, not global options. Rate-limited to one audit per 30 seconds per user. Free vs premium The free plugin is a fully functional standalone auditor. An optional premium add-on (SudoWP Pro) extends it with vulnerability dataset matching (CVE references, CVSS scores, patch guidance), the hosting-injected vendor slug list, scheduled audits with email alerts, multi-site dashboard aggregation, and report export. None of the premium features are required to run the core audit. External Services When an API key is configured, SudoWP Radar connects to the SudoWP vulnerability dataset API (api.sudowp.com) to retrieve patch availability information for registered WordPress abilities. No data is transmitted without an API key being explicitly entered by the site administrator. When no key is present, the plugin makes zero external network requests. Data sent to the API: the ability name being looked up and your API key. No personal data, no site URL, no user data is transmitted. API key registration: https://sudowp.com/get-api-key/ Terms of service: https://sudowp.com/tos/ Privacy policy: https://sudowp.com/privacy-policy/