Contact Form 7 Polylang Module
NOTE v2 is now an extension of the CF7 Smart Grid-layout plugin. You need to install it to use this plugin. Why is this? You can read this thread, and this post. This plugin allows multilingual contact form 7 management using the polylang plugin. As of version 2.0 of this plugin, it is now developed as an extension of the CF7 Smart Grid-layout plugin. All 3 plugins, Polylang, CF7 Smart Grid-layout and Contact Form 7 need to be installed prior to installing this plugin. Works with multisite installations too. Now you can use a single CF7 form shortcode for all your translations. WARNING: ensure you follow the installation instructions along with the PolyLang settings adjustments. Make your CF7 Form more portable this plugin introduces form keys (which you can modify in the CF7 admin table). Keys are unique for each form, allowing you identify a form my its key rather than an ID. Why is this priceless? IDs changes from one server to the next because they are the custom post ID attributed by the WordPress installation, and therefore you develop your form in a local machine only to find out that the IDs are different when you move your form to your production server. To overcome this problem, we suggest you use a form key along with this plugin’s contact form shortcode, [cf7-form key="contact-us"]. Don’t worry your old contact form 7 shortcodes will still work too, behind the scenes we simply map the key to the ID and call the regular contact form 7 shortcode. Similarly you can use any translated form shortcode, and the plugin will make sure the right language is loaded. Please follow the Installation instructions carefully, especially the part about saving your Polylang settings after you have activated this plugin. English subtitled video on youtube, Spanish & French subtitles available in the caption settings. Checkout our other CF7 plugin extensions CF7 Polylang Module – this plugin allows you to create forms in different languages for a multi-language website. The plugin requires the Polylang plugin to be installed in order to manage translations. CF7 Multi-slide Module – this plugin allows you to build a multi-step form using a slider. Each slide has cf7 form which are linked together and submitted as a single form. Post My CF7 Form – this plugin allows you to save you cf7 form submissions to a custom post, map your fields to meta fields or taxonomy. It also allows you to pre-fill fields before your form is displayed. CF7 Google Map – allows google maps to be inserted into a Contact Form 7. Unlike other plugins, this one allows map settings to be done at the form level, enabling diverse maps to be configured for each forms. Smart Grid-Layout Design for CF7 – allows responsive grid layout Contact Form 7 form designs, enabling modular designs of complex forms, and rich inter-linking of your CMS data with taxonomy/posts populated dynamic dropdown fields. Thanks to Gérard Mathiuet for providing a fix for PolylangPro. Peter J. Herrel for improving the language folder management. Didier (@swissspaceboy) for pointing out an issue with the CF7 Special Mail tag [_site_url]. Privacy Notices This plugin, in itself, does not: track users by stealth; write any user personal data to the database; send any data to external servers; use cookies. 2.5.0 introduce ‘cf7pll_sync_form_metakeys’ to filter the synchronised form metakeys between translations. improve translation sync from original post. 2.4.1 fix language update. add notice to post-new pages. 2.4.0 enable other plugins to add their translation files. added ‘cf7pll_load_plugin_translation_resource’ filter. 2.3.4 fix broken translations of new form templates. 2.3.3 fix ZipArchive class missing Fatal error for PHP 7.3 onwards. 2.3.2 fix continue warning. 2.3.1 clean up deprecated delete posts code. 2.3.0 added hidden field _wpcf7_lang to front-end form. instroduce special mail tag [_home_url]. 2.2.0 fix for CF7 bug on special mail tag _site_url. 2.1.1 fix notices. improved translations 2.1.0 allows plugin update without cf7 smart grid, but restricted functionality. 2.0.1 removed empty front-end css/js from script queue. 2.0.0 major update to plugin to integrate with WP std admin pages for cf7 offered by cf7 smart grid plugin. code update to fix issue with polylang v2.3+ changes.
Top keywords
- form28×3.81%
- cf719×2.59%
- allows9×1.22%
- fix8×1.09%
- contact7×0.95%
- contact form7×0.95%
- polylang7×0.95%
- smart6×0.82%
- cf7 form5×0.68%
- cf7 smart5×0.68%
- post5×0.68%
- translations5×0.68%
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.