{"id":301990,"date":"2026-04-29T11:33:34","date_gmt":"2026-04-29T11:33:34","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/slytranslate-ai-translation-abilities\/"},"modified":"2026-05-26T20:06:45","modified_gmt":"2026-05-26T20:06:45","slug":"slytranslate","status":"publish","type":"plugin","link":"https:\/\/kal.wordpress.org\/plugins\/slytranslate\/","author":13775390,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.9.0","stable_tag":"1.9.0","tested":"7.0","requires":"6.9","requires_php":"8.1","requires_plugins":null,"header_name":"SlyTranslate - AI Translation Abilities","header_author":"Timon F\u00f6rst","header_description":"AI translation abilities for WordPress using native AI Connectors as a core feature, plus the AI Client and Abilities API for text and content translation.","assets_banners_color":"","last_updated":"2026-05-26 20:06:45","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/SlyBase\/wordpress-slytranslate\/","header_author_uri":"https:\/\/slybase.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":306,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq"],"tags":{"1.6.1":{"tag":"1.6.1","author":"TimonF","date":"2026-04-29 11:30:19"},"1.6.2":{"tag":"1.6.2","author":"TimonF","date":"2026-04-29 20:22:10"},"1.7.0":{"tag":"1.7.0","author":"TimonF","date":"2026-05-19 14:53:03"},"1.8.0":{"tag":"1.8.0","author":"TimonF","date":"2026-05-19 14:53:03"},"1.9.0":{"tag":"1.9.0","author":"TimonF","date":"2026-05-26 20:06:45"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3549733,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3549733,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3549733,"resolution":false,"location":"assets","locale":false}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.6.1","1.6.2","1.7.0","1.8.0","1.9.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3549733,"resolution":"1","location":"assets","locale":"","width":3018,"height":1950},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3549733,"resolution":"2","location":"assets","locale":"","width":3018,"height":1950},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3549733,"resolution":"3","location":"assets","locale":"","width":3018,"height":1950},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3549733,"resolution":"4","location":"assets","locale":"","width":1336,"height":582},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3549733,"resolution":"5","location":"assets","locale":"","width":3018,"height":1950},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3549733,"resolution":"6","location":"assets","locale":"","width":1501,"height":891}},"screenshots":{"1":"Side panel in post\/page editor","2":"Inline text translation","3":"Gutenberg block translation","4":"Post\/page list with bulk translation action","5":"Translation UI overview","6":"TranslatePress visual editor addon"}},"plugin_section":[],"plugin_tags":[256265,2353,10601,2333,261398],"plugin_category":[48],"plugin_contributors":[248563],"plugin_business_model":[],"class_list":["post-301990","plugin","type-plugin","status-publish","hentry","plugin_tags-abilities-api","plugin_tags-ai","plugin_tags-polylang","plugin_tags-translation","plugin_tags-wp-multilang","plugin_category-language-tools","plugin_contributors-timonf","plugin_committers-timonf"],"banners":[],"icons":{"svg":"https:\/\/ps.w.org\/slytranslate\/assets\/icon.svg?rev=3549733","icon":"https:\/\/ps.w.org\/slytranslate\/assets\/icon.svg?rev=3549733","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/slytranslate\/assets\/screenshot-1.png?rev=3549733","caption":"Side panel in post\/page editor"},{"src":"https:\/\/ps.w.org\/slytranslate\/assets\/screenshot-2.png?rev=3549733","caption":"Inline text translation"},{"src":"https:\/\/ps.w.org\/slytranslate\/assets\/screenshot-3.png?rev=3549733","caption":"Gutenberg block translation"},{"src":"https:\/\/ps.w.org\/slytranslate\/assets\/screenshot-4.png?rev=3549733","caption":"Post\/page list with bulk translation action"},{"src":"https:\/\/ps.w.org\/slytranslate\/assets\/screenshot-5.png?rev=3549733","caption":"Translation UI overview"},{"src":"https:\/\/ps.w.org\/slytranslate\/assets\/screenshot-6.png?rev=3549733","caption":"TranslatePress visual editor addon"}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<p>It works with any LLM available through a WordPress AI connector and natively supports Polylang, WP Multilang, WPGlobus, and TranslatePress Multilingual.<\/p>\n\n<p><strong>What it does<\/strong><\/p>\n\n<ul>\n<li>Translates posts, pages, and custom post types into any language managed by your active language plugin<\/li>\n<li>Translates selected text or entire Gutenberg blocks inline, without leaving the editor<\/li>\n<li>Exposes the same functionality as MCP abilities, so external LLM tools (Claude Code, Codex, and others) can drive translations programmatically<\/li>\n<li>Carries SEO metadata (title, description) through the same translation workflow as the post content<\/li>\n<li>Handles long and structured content with chunking and output validation<\/li>\n<li>Supports model-specific profiles that tune prompt style and retry behavior for known model families<\/li>\n<\/ul>\n\n<h4>Workflow 1 \u2014 Admin UI translation (posts &amp; pages overview, side panel)<\/h4>\n\n<p>Translate full posts or pages directly inside WordPress admin \u2014 either one at a time from the editor side panel or in bulk from the list view.<\/p>\n\n<p><strong>Requirements:<\/strong> language plugin + configured AI Connector<\/p>\n\n<p>From the <strong>post\/page list<\/strong>, 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.<\/p>\n\n<p>From the <strong>editor side panel<\/strong>, the same controls appear alongside the post you are currently editing. TranslatePress users get an equivalent panel inside the TranslatePress visual editor on <code>?trp-edit-translation<\/code> pages.<\/p>\n\n<p>The language plugin (Polylang, WP Multilang, WPGlobus, or TranslatePress) handles the translated post as it normally would \u2014 SlyTranslate creates or updates the translated entry and lets the language plugin own the relationship.<\/p>\n\n<h4>Workflow 2 \u2014 Inline Gutenberg translation (block or selected text)<\/h4>\n\n<p>Translate content while writing, without touching a language plugin or a full-post workflow.<\/p>\n\n<p><strong>Requirements:<\/strong> configured AI Connector<\/p>\n\n<p>Select any text in a Gutenberg block and the block toolbar gains a <strong>Translate<\/strong> button. The selected text is replaced with the translation in place. When no text is selected, the button translates the entire block.<\/p>\n\n<p>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.<\/p>\n\n<h4>Workflow 3 \u2014 LLM wrapper via MCP (Claude Code, Codex, and others)<\/h4>\n\n<p>Drive WordPress translations from inside your LLM tool of choice.<\/p>\n\n<p><strong>Requirements:<\/strong> language plugin + WordPress application password (token) + WordPress MCP Adapter plugin<\/p>\n\n<p>When a WordPress MCP Adapter is active, SlyTranslate registers its abilities over MCP. Any MCP-capable LLM client \u2014 Claude Code, Codex, custom agents \u2014 can then discover and call them.<\/p>\n\n<p>In this workflow <strong>the LLM wrapper provides the translation itself<\/strong>. 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.<\/p>\n\n<p>A typical agent session:<\/p>\n\n<ol>\n<li>Call <code>ai-translate\/get-languages<\/code> to find valid target language codes.<\/li>\n<li>Call <code>ai-translate\/get-translation-status<\/code> on the source post to read <code>source_language<\/code> and <code>single_entry_mode<\/code>.<\/li>\n<li>Translate the content using the agent's own LLM.<\/li>\n<li>Call <code>ai-translate\/translate-content<\/code> to write the translated entry.<\/li>\n<\/ol>\n\n<p>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.<\/p>\n\n<h4>Internal flow<\/h4>\n\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510   \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510   \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n\u2502    Admin UI      \u2502   \u2502    Gutenberg       \u2502   \u2502   LLM Wrapper          \u2502\n\u2502  (panel \/ list)  \u2502   \u2502 (block \/ toolbar)  \u2502   \u2502 (Claude Code, Codex\u2026)  \u2502\n\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518   \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n         \u2502 REST                 \u2502 REST                     \u2502 MCP\n         \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                                        \u2502\n                             \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n                             \u2502  SlyTranslate  Ability  \u2502\n                             \u2502  (REST \/ MCP endpoint)  \u2502\n                             \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                                        \u2502\n                            \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n                            \u2502     AI Connector      \u2502  \u2190 UI\/block workflows\n                            \u2502  (wp_ai_client_prompt)\u2502    only\n                            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                                        \u2502\n                            \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n                            \u2502   LLM (any provider)  \u2502\n                            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                                        \u2502\n                            \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n                            \u2502  Chunk + Validate     \u2502\n                            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                                        \u2502\n                            \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n                            \u2502   Language Plugin     \u2502\n                            \u2502  Polylang \/ TP \/ \u2026    \u2502\n                            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n                                        \u2502\n                            \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u25bc\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n                            \u2502   WordPress Post      \u2502\n                            \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n<\/code><\/pre>\n\n<p>In the MCP workflow the LLM Wrapper acts as the translation engine \u2014 the AI Connector and LLM steps inside WordPress are bypassed.<\/p>\n\n<h4>Abilities reference<\/h4>\n\n<pre><code>ai-translate\/get-languages \u2014 List languages exposed by the active language plugin\n\nai-translate\/get-translation-status \u2014 Show translation status for a content item, including `source_language` and `single_entry_mode`\n\nai-translate\/set-post-language \u2014 Change the language assignment of an existing content item (Polylang only)\n\nai-translate\/get-untranslated \u2014 Find content still missing a target translation\n\nai-translate\/translate-text \u2014 Translate arbitrary text\n\nai-translate\/translate-blocks \u2014 Translate serialized Gutenberg blocks\n\nai-translate\/translate-content \u2014 Create or update one translated post\/page\/CPT entry\n\nai-translate\/translate-content-bulk \u2014 Bulk-translate multiple entries\n\nai-translate\/get-progress \u2014 Return live progress for a running translation\n\nai-translate\/cancel-translation \u2014 Cancel a running translation\n\nai-translate\/get-available-models \u2014 List models from configured connectors\n\nai-translate\/save-additional-prompt \u2014 Save per-user additional instructions\n\nai-translate\/configure \u2014 Read or update persistent plugin settings\n<\/code><\/pre>\n\n<p><strong>MCP call sequence<\/strong><\/p>\n\n<p>For reliable results in agent workflows:<\/p>\n\n<ul>\n<li>Call <code>get-languages<\/code> first when the correct target language code is unknown.<\/li>\n<li>Call <code>get-translation-status<\/code> before <code>translate-content<\/code> to read <code>source_language<\/code>, <code>single_entry_mode<\/code>, and whether a translation already exists.<\/li>\n<li>Omit <code>source_language<\/code> unless you intentionally pin a source variant.<\/li>\n<li>Set <code>overwrite=true<\/code> only when status or prior context confirms a target-language entry already exists.<\/li>\n<li><code>translated_post_id<\/code> equals <code>source_post_id<\/code> in single-entry adapters (WP Multilang, WPGlobus, TranslatePress). In multi-post adapters (Polylang) the translated item has a sibling post ID.<\/li>\n<\/ul>\n\n<h4>Supported plugins<\/h4>\n\n<p><strong>Language plugins<\/strong><\/p>\n\n<ul>\n<li>Polylang<\/li>\n<li>WP Multilang<\/li>\n<li>WPGlobus<\/li>\n<li>TranslatePress Multilingual<\/li>\n<\/ul>\n\n<p><strong>SEO plugins<\/strong> (metadata translated alongside content)<\/p>\n\n<ul>\n<li>Genesis SEO<\/li>\n<li>Yoast SEO<\/li>\n<li>Rank Math<\/li>\n<li>All in One SEO<\/li>\n<li>The SEO Framework<\/li>\n<li>SEOpress<\/li>\n<li>Slim SEO<\/li>\n<\/ul>\n\n<h4>Supported model profiles<\/h4>\n\n<p>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:<\/p>\n\n<ul>\n<li><strong>TranslateGemma<\/strong> \u2014 dedicated runtime with <code>chat_template_kwargs<\/code> support via <code>direct_api_url<\/code><\/li>\n<li><strong>TowerInstruct \/ Salamandra<\/strong> \u2014 bilingual framing, conservative chunking, stricter retries<\/li>\n<li><strong>Nvidia Nemotron<\/strong> \u2014 system-prompt-aware, reasoning-disable, provider-parameter forwarding<\/li>\n<li><strong>Qwen 3.x \/ GLM-4.6v \/ Gemma 4 \/ Phi-4<\/strong> \u2014 thinking-aware profiles<\/li>\n<li><strong>EuroLLM \/ Llama 3.1-8B \/ SauerkrautLM<\/strong> \u2014 conservative chunking tuned for European languages<\/li>\n<li><strong>Ministral-3 \/ Ministral-8B<\/strong> \u2014 optimized for the Ministral model family<\/li>\n<\/ul>\n\n<p>Additional profiles can be registered via the <code>slytranslate_model_profiles<\/code> filter.<\/p>\n\n<!--section=installation-->\n<p><strong>Via WordPress Plugin Directory (recommended)<\/strong><\/p>\n\n<ol>\n<li>Ensure WordPress 6.9+ and PHP 8.1+ are running.<\/li>\n<li>In wp-admin, go to Plugins &gt; Add New and search for \"SlyTranslate\".<\/li>\n<li>Install and activate SlyTranslate.<\/li>\n<li>Install and configure an AI connector in Settings &gt; Connectors.<\/li>\n<li>Optional for content translation: install and activate Polylang, WP Multilang, WPGlobus, or TranslatePress Multilingual.<\/li>\n<li>Optional for local llama.cpp models: install AI Provider for llama.cpp.<\/li>\n<li>Optional for other OpenAI-compatible local\/self-hosted endpoints: install Ultimate AI Connector for Compatible Endpoints.<\/li>\n<li>Optional for MCP discovery: install and activate WordPress MCP Adapter.<\/li>\n<\/ol>\n\n<p><strong>Manual installation<\/strong><\/p>\n\n<ol>\n<li>Ensure WordPress 6.9+ and PHP 8.1+ are running.<\/li>\n<li>Copy the <code>slytranslate<\/code> directory to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate SlyTranslate in wp-admin.<\/li>\n<li>Configure an AI connector in Settings &gt; Connectors.<\/li>\n<li>Optional steps same as above.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20without%20a%20language%20plugin%3F\"><h3>Does this work without a language plugin?<\/h3><\/dt>\n<dd><p>Yes, for inline text and block translation. Content translation workflows (full post\/page) require a supported language plugin.<\/p><\/dd>\n<dt id=\"where%20are%20api%20keys%20configured%3F\"><h3>Where are API keys configured?<\/h3><\/dt>\n<dd><p>In WordPress Settings &gt; Connectors, not inside SlyTranslate.<\/p><\/dd>\n<dt id=\"can%20i%20run%20bulk%20translation%20from%20the%20post%2Fpage%20list%3F\"><h3>Can I run bulk translation from the post\/page list?<\/h3><\/dt>\n<dd><p>Yes. Select items in wp-admin, pick the bulk translation action, choose language and model, and confirm.<\/p><\/dd>\n<dt id=\"does%20this%20work%20inside%20the%20translatepress%20visual%20editor%3F\"><h3>Does this work inside the TranslatePress visual editor?<\/h3><\/dt>\n<dd><p>Yes. On pages opened with <code>?trp-edit-translation=true<\/code>, SlyTranslate adds a sidebar panel with the same model, overwrite, progress, and cancel controls used elsewhere.<\/p><\/dd>\n<dt id=\"how%20does%20overwriting%20existing%20translations%20work%3F\"><h3>How does overwriting existing translations work?<\/h3><\/dt>\n<dd><p>In the list-table dialog, overwrite is off by default. If a translation already exists you must enable it and confirm before the translation starts.<\/p><\/dd>\n<dt id=\"can%20i%20change%20a%20post%27s%20language%20without%20re-translating%3F\"><h3>Can I change a post's language without re-translating?<\/h3><\/dt>\n<dd><p>Yes, when using Polylang. Call <code>ai-translate\/set-post-language<\/code> with <code>post_id<\/code> and <code>target_language<\/code>. Use <code>force<\/code> to bypass conflict checks and <code>relink=true<\/code> to rewrite translation relations. Not available in WP Multilang mode.<\/p><\/dd>\n<dt id=\"how%20do%20i%20control%20the%20prompt%20and%20translation%20style%3F\"><h3>How do I control the prompt and translation style?<\/h3><\/dt>\n<dd><p>Use <code>ai-translate\/configure<\/code> for persistent defaults. Pass <code>additional_prompt<\/code> on any <code>translate-*<\/code> call for per-request instructions.<\/p><\/dd>\n<dt id=\"why%20does%20execute-ability%20fail%20even%20when%20discovery%20looks%20correct%3F\"><h3>Why does execute-ability fail even when discovery looks correct?<\/h3><\/dt>\n<dd><p>Some external WordPress MCP adapter wrappers expose a flatter <code>execute-ability<\/code> signature. If <code>discover-abilities<\/code> shows the correct SlyTranslate schema but <code>execute-ability<\/code> still errors about a missing <code>parameters<\/code> wrapper, investigate the external adapter layer \u2014 SlyTranslate controls ability names, descriptions, and schemas, not the wrapper surface.<\/p><\/dd>\n<dt id=\"which%20model-specific%20profiles%20are%20supported%3F\"><h3>Which model-specific profiles are supported?<\/h3><\/dt>\n<dd><p>Any LLM from a WordPress AI connector works without configuration. Built-in dedicated profiles exist for: TranslateGemma, TowerInstruct, Salamandra, Nvidia Nemotron, Qwen 3.x, GLM-4.6v, Gemma 4, Phi-4, EuroLLM, Llama 3.1-8B, SauerkrautLM, Ministral-3, and Ministral-8B. Additional profiles can be registered via the <code>slytranslate_model_profiles<\/code> filter.<\/p><\/dd>\n\n<\/dl>","raw_excerpt":"AI translation for WordPress \u2014 admin UI, Gutenberg inline, and MCP workflows for external LLM tools.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/301990","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=301990"}],"author":[{"embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/timonf"}],"wp:attachment":[{"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=301990"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=301990"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=301990"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=301990"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=301990"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kal.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=301990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}