Title: Incode Translate Master
Author: Adrian Alcala
Published: <strong>Est 31, 2026</strong>
Last modified: Gwynngala 23, 2026

---

Search plugins

![](https://ps.w.org/incode-translate-master/assets/banner-772x250.png?rev=3674809)

![](https://ps.w.org/incode-translate-master/assets/icon-256x256.png?rev=3674809)

# Incode Translate Master

 By [Adrian Alcala](https://profiles.wordpress.org/adrianincode/)

[Download](https://downloads.wordpress.org/plugin/incode-translate-master.2.10.4.zip)

 * [Details](https://cor.wordpress.org/plugins/incode-translate-master/#description)
 * [Reviews](https://cor.wordpress.org/plugins/incode-translate-master/#reviews)
 *  [Installation](https://cor.wordpress.org/plugins/incode-translate-master/#installation)
 * [Development](https://cor.wordpress.org/plugins/incode-translate-master/#developers)

 [Support](https://wordpress.org/support/plugin/incode-translate-master/)

## Description

**Incode Translate Master makes your site bilingual from the front end — no account,
no license key, no sign-up.** Install it, pick your translation language, and start
translating your real pages by clicking on the text you want to change, while you
look at the actual design. A translation never breaks a button or a heading again.

A built-in **keyless engine translates out of the box**, so you can go from a single-
language site to a published second language in minutes. Prefer your own provider?
Plug in a DeepL, Google or Gemini key whenever you like and you pay the provider
directly.

#### ✨ Why you’ll like it

 * 🖱️ **Translate what you see.** Click text on your own page and translate it in
   context — headings, buttons, menus, image captions.
 * 🔑 **Works with zero setup.** A free keyless engine translates immediately. No
   API key, no credit card, no account.
 * 🚀 **Not a trial.** Everything described here is fully functional and never expires.
   Nothing is disabled waiting for a payment.
 * 🔎 **SEO-ready.** Translations publish on their own URL prefix with reciprocal
   hreflang tags and a self-referencing canonical, so Google indexes them.
 * ⚡ **Fast.** Translations live in your database and are served as plain HTML —
   no API call while a visitor loads the page.

#### 🧩 Everything it does

 * 🖊️ **Visual front-end editor.** Open your page, click any string, and edit the
   machine translation in the side panel while seeing the real layout.
 * 📦 **Batch translation.** Send all pending strings with one click. The queue 
   runs in batches, resumes where it stopped and never translates the same string
   twice.
 * 🔬 **Full-site scan.** Extract every translatable string from your posts and 
   pages at once and manage them from one screen.
 * 💾 **Auto-translate on save.** New and changed texts of a post can be translated
   automatically in the background when you save, so the translation never lags 
   behind the original.
 * 🏷️ **SEO title translation.** With Yoast SEO installed, each page’s meta title
   is translated so your translated pages show a title in their own language on 
   search results.
 * 🌐 **Translation engines.** Free keyless engine, or bring your own key for Google
   Translate, DeepL or Gemini. Switch engines any time without losing what’s already
   translated.
 * 🔀 **Language switcher.** Dropdown, list, flags or inline — as a shortcode, a
   theme widget, a menu item or an Elementor widget.
 * 🧠 **Translation memory.** Every translated string is stored in your own database.
   If the same sentence appears in two hundred pages, the engine is called once.
 * 🧱 **Works with your stack.** Any theme, Elementor and Elementor Pro, WooCommerce
   product and page text, and the usual caching plugins.

#### 💎 There is also a Pro version

Everything above is free, permanent and complete — this list is here so you know
what exists, not because anything is missing. [Incode Translate Master Pro](https://wptranslate.es/precios/)
adds more languages at the same time, translated URL slugs, automatic language detection
for first-time visitors, a multilingual XML sitemap, Rank Math SEO support and translation
of the emails WordPress and WooCommerce send.

### External services

This plugin can send your content to third-party machine-translation services to
translate it. A request is made only when you actively translate a string, run a
batch translation or save a post with auto-translate enabled, and it contains the
text to translate plus the target language code. No translation service is contacted
while simply viewing already-translated pages.

You choose the engine in Settings  Translation provider. Depending on your choice,
the plugin connects to:

 * **Free engine (default, no API key).** Uses Google’s public translation endpoint
   and, as a fallback, MyMemory. Sends the text to translate and the target language.
    - Google Translate — Terms: https://policies.google.com/terms — Privacy: https://
      policies.google.com/privacy
    - MyMemory (Translated s.r.l.) — Terms: https://mymemory.translated.net/terms-
      and-conditions — Privacy: https://translated.com/confidentiality
 * **Google Cloud Translation API** (optional, your own API key) — Terms: https://
   cloud.google.com/terms — Privacy: https://policies.google.com/privacy
 * **DeepL API** (optional, your own API key) — Terms: https://www.deepl.com/pro-
   license — Privacy: https://www.deepl.com/privacy
 * **Google Gemini API** (optional, your own API key) — Terms: https://ai.google.
   dev/gemini-api/terms — Privacy: https://policies.google.com/privacy

**Bug reports (optional).** The plugin’s Support screen has a form to report a problem.
Only if you fill it in and press Send, the plugin sends what you wrote — plus the
technical report shown to you on that same screen — to the plugin author’s server
at wptranslate.es, so the problem can be investigated and answered. The technical
report lists your WordPress, PHP and MySQL versions, your theme, your active plugins,
the plugin’s own configuration and the most recent error lines from its translation
log. It never includes API keys, passwords, or the content of your pages, and it
is displayed in full, exactly as it will be sent, before you send it. Nothing is
sent automatically or in the background.

 * wptranslate.es (Adrian Alcala) — Terms: https://wptranslate.es/terminos-y-condiciones/—
   Privacy: https://wptranslate.es/politica-de-privacidad/

Only the engine you select is contacted. If you never trigger a translation and 
never send a bug report, no external service receives any data.

## Screenshots

[⌊Visual editor: click any text on your own page and translate it while looking 
at the real design.⌉⌊Visual editor: click any text on your own page and translate
it while looking at the real design.⌉[

Visual editor: click any text on your own page and translate it while looking at
the real design.

[⌊Dashboard: total strings, translated, pending and progress by language at a glance.⌉⌊
Dashboard: total strings, translated, pending and progress by language at a glance
.⌉[

Dashboard: total strings, translated, pending and progress by language at a glance.

[⌊Languages: your source language and the translated one, each with its own URL 
prefix.⌉⌊Languages: your source language and the translated one, each with its own
URL prefix.⌉[

Languages: your source language and the translated one, each with its own URL prefix.

[⌊77 languages to choose from, with a live search.⌉⌊77 languages to choose from,
with a live search.⌉[

77 languages to choose from, with a live search.

[⌊Translation manager: original and translation side by side, with search and one-
click auto-translation.⌉⌊Translation manager: original and translation side by side,
with search and one-click auto-translation.⌉[

Translation manager: original and translation side by side, with search and one-
click auto-translation.

[⌊String manager: every string found on the site, with its context, its source and
the post it came from.⌉⌊String manager: every string found on the site, with its
context, its source and the post it came from.⌉[

String manager: every string found on the site, with its context, its source and
the post it came from.

[⌊Settings: translation providers. Free (Google) needs no API key; Gemini, DeepL
and Google Cloud use your own.⌉⌊Settings: translation providers. Free (Google) needs
no API key; Gemini, DeepL and Google Cloud use your own.⌉[

Settings: translation providers. Free (Google) needs no API key; Gemini, DeepL and
Google Cloud use your own.

[⌊Auto-translate on save: publish or update a page, even from Elementor, and the
translation runs in the background.⌉⌊Auto-translate on save: publish or update a
page, even from Elementor, and the translation runs in the background.⌉[

Auto-translate on save: publish or update a page, even from Elementor, and the translation
runs in the background.

[⌊Language switcher: flag and name, flags only or language code, with your own colours
and corner radius.⌉⌊Language switcher: flag and name, flags only or language code,
with your own colours and corner radius.⌉[

Language switcher: flag and name, flags only or language code, with your own colours
and corner radius.

[⌊Translate and replace: rewrites the real content in the database to migrate a 
whole site to another language.⌉⌊Translate and replace: rewrites the real content
in the database to migrate a whole site to another language.⌉[

Translate and replace: rewrites the real content in the database to migrate a whole
site to another language.

[⌊The site in its original language, at the root URL.⌉⌊The site in its original 
language, at the root URL.⌉[

The site in its original language, at the root URL.

[⌊The same page in English at /en/ - same design, translated content.⌉⌊The same 
page in English at /en/ - same design, translated content.⌉[

The same page in English at /en/ – same design, translated content.

## Installation

 1. Upload the plugin folder to `/wp-content/plugins/`, or install the ZIP from **Plugins
    Add New  Upload Plugin**.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. Go to **Incode Translate Master  Languages** and choose your translation language.
 4. Open any page of your site and use the toolbar link to start translating, or run
    a scan and translate in batch from **Incode Translate Master  Strings**.

## FAQ

### Is this plugin a trial version?

No. Everything described here works with no key, no account and no expiry date. 
Nothing is time-limited or disabled waiting for a payment.

### Is there a paid version?

Yes, and it changes nothing about this one. The free plugin is complete and permanent:
original language plus one translation language, with every feature listed above.
Pro adds more simultaneous languages, translated slugs, visitor language detection,
a multilingual sitemap, Rank Math support and email translation. You can see it 
at [wptranslate.es](https://wptranslate.es/precios/).

### Do I need an API key?

No. A built-in keyless engine translates with no configuration. If you prefer, you
can add your own key for Google Translate, DeepL or Gemini in Settings, so the translation
cost is billed to you directly by the provider.

### What languages does my site end up with?

Two: the original language your content is written in, plus the translation language
you choose. The translation is published under its own URL prefix, and you can change
the translation language whenever you want from the Languages screen.

### Will Google index the translated versions?

Yes. The translated version is published under its own URL prefix, with reciprocal
hreflang tags and a self-referencing canonical.

### Does it slow the site down?

No. Translations are stored in your database and served as regular HTML. There is
no API call while a visitor loads the page.

### Does it work with Elementor and WooCommerce?

Yes. Elementor designs are read from their own JSON so no string is missed, including
Elementor Pro widgets. For WooCommerce it covers product and page texts.

### What happens to my translations if I remove the plugin?

They are yours. You can export them before uninstalling, and the uninstall routine
asks whether to keep or delete the plugin tables.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Incode Translate Master” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Adrian Alcala ](https://profiles.wordpress.org/adrianincode/)

[Translate “Incode Translate Master” into your language.](https://translate.wordpress.org/projects/wp-plugins/incode-translate-master)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/incode-translate-master/),
check out the [SVN repository](https://plugins.svn.wordpress.org/incode-translate-master/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/incode-translate-master/)
by [RSS](https://plugins.trac.wordpress.org/log/incode-translate-master/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.10.4

 * Housekeeping: nothing changes in the free plugin. This release only keeps the
   version in step with the paid edition, which got a follow-up to the 2.10.3 caching
   fix covering automatic browser language detection — a feature the free plugin
   does not include. If you are already on 2.10.3 there is nothing you need to do.

#### 2.10.3

 * Fixed: the plugin wrote its language cookie on every single page view, including
   visits that were served in the site’s own default language. Any response that
   carries a cookie is treated as personalised by a full-page cache — Varnish on
   Cloudways, and the equivalent on most managed hosting — so the page was never
   stored and every visit was rebuilt by PHP. The chosen language is now remembered
   from the browser, and only when the visitor is not on the default language, so
   the site caches normally again.
 * Fixed: that same cookie also switched off automatic browser language detection
   after the first page. The cookie looked like a language the visitor had picked
   on purpose, so from the second page onwards the detection stepped aside and left
   the site in the default language.

#### 2.10.2

 * Fixed: the “Write a review” button in the review request opened a WordPress.org
   address that does not exist, so it landed on a 404 instead of the review form.
   It now links to the plugin’s listing on WordPress.org, where the review is written.

#### 2.10.1

 * Fixed: testing a Gemini API key always tested the model that was already saved,
   not the one selected on screen. Picking a different model and pressing Test re-
   tested the previous one, so every model failed with the very same error.
 * Fixed: the Gemini model list offered five models that no longer exist, and Google
   answered 404 for every one of them. The list is now asked directly to Google 
   with your own API key, so you only see models that key can really use.
 * Fixed: a 404 from Google was reported as “not available in your region” — a cause
   that was never checked — and it suggested a model that no longer exists. Google’s
   own message is now shown exactly as it comes.
 * Added: the language switcher style (dropdown, list, flags, inline) can now be
   chosen from the Settings tab, with a live preview that uses the real front-end
   markup and CSS before you save.

#### 2.10.0

 * Added: a Support screen inside the plugin. It gathers the answers to the questions
   that come up most — adding a language, what the translation states mean, why 
   a translated string can still show the old text — and it has a form to report
   a problem directly to the plugin author.
 * Added: the report form attaches a technical summary of your installation (versions,
   theme, active plugins, plugin settings and recent errors from the log). It is
   shown in full before sending, it never contains API keys or page content, and
   it is only ever sent when you press the button.
 * Fixed: the link in the plugin’s own notice landed on the shop page without putting
   anything in the basket, because the shop moved to one product with three licence
   options and the link still pointed at the old one.

#### 2.9.5

 * Changed: the review request now waits until the plugin has been translating your
   site for a week and has saved at least twenty translations, instead of showing
   up right after the very first one. It can also be postponed for two weeks if 
   you would rather decide later, and it is now translated into the five languages
   bundled with the plugin.

#### 2.9.3

 * Fixed: links with a query string lost it for any visitor who had already opened
   a page in another language. Site search, add-to-cart links and WooCommerce AJAX
   calls were all redirected to that language’s home page with the query string 
   dropped. The redirect now carries the query string through.
 * Fixed: a form posted to a URL without a language prefix was redirected too, and
   a 302 turns a POST into a GET, so the submission was lost. Those requests are
   no longer redirected. The same applies to WooCommerce AJAX endpoints, files and/.
   well-known/.
 * Fixed: the language switcher no longer loads its stylesheet and script inside
   the Elementor editor preview, where they could push the editor into Safe Mode.

#### 2.9.2

 * New: after the plugin translates something for the first time, it asks once whether
   you feel like leaving a review on WordPress.org. It appears on the dashboard,
   the plugins list and the plugin’s own screens, it is dismissible, and once you
   answer — either way — it never comes back. It is never shown at the same time
   as any other notice from the plugin.

#### 2.9.1

 * New (optional): the primary language can now be served under its own URL prefix,
   exactly like the secondary languages — for example the Spanish home at /es/ instead
   of /. The canonical, the hreflang x-default, the per-language sitemap and a 301
   that consolidates the old unprefixed addresses all follow the prefixed URL, so
   a site migrating from another multilingual plugin that already publishes its 
   primary language on a prefixed URL keeps the exact same structure and its existing
   indexing. Off by default: sites that serve the primary language at the root are
   completely unaffected.
 * Fixed: the SEO integration could crash the Elementor editor. Yoast passes null
   through its title, description, canonical and OG-URL filters when there is no
   queried object — a Theme Builder template, the editor preview — and a non-nullable
   type hint turned that into a fatal error on PHP 8.
 * Fixed: saving an API key could show “Settings saved!” and, right underneath, “
   Not configured” — with the key actually saved. The screen re-read the settings
   in a second request and, when that request failed, the failure was discarded 
   silently and the old state was painted back.
 * Fixed: the plugin never checked that its settings had really reached the database.
   It now re-reads them after writing and reports an honest error if they did not.
 * Fixed: opening Settings fired seven requests at once. On shared hosting some 
   of them lost their turn and the screen was painted half empty. It is now a single
   request.
 * Changed: a failure to read the settings is now shown on screen instead of being
   mistaken for “nothing is configured”.
 * Changed: API settings are no longer loaded on every visit to the public site.

#### 2.8.1

 * Changed: the Pro notice now takes you straight to the licence it is offering,
   with it ready in the basket, instead of to a page of plans. Nothing changes in
   how the plugin translates.

#### 2.8.0

 * Fixed: on most pages the plugin was not telling Google that a translated version
   existed, so those translations were left out of the search index. The check that
   decided it counted only the strings currently filed under that page, and that
   filing moves on its own as the site is scanned.
 * Fixed: “page not found” screens and search results announced a translated version
   of a page that does not exist.
 * Fixed: pages built with Elementor filed their texts under a different key than
   the rest of the plugin, so the same sentence could be stored — and paid for —
   twice. Existing duplicates are merged automatically when you update.
 * Fixed: bold text and links inside a paragraph were being stripped out when the
   paragraph was translated. Formatting is now put back into the translated sentence.
   If a link cannot be placed with certainty, the paragraph is left in the original
   language instead of published without its link.
 * Fixed: any address containing the word “sitemap” was skipped, so pages like /
   blog/how-to-create-a-sitemap/ were never translated and never got a language 
   prefix. Only real sitemap files are skipped now.
 * Fixed: the visual editor showed strings as pending even when they were already
   translated, which invited overwriting good work. It now normalises text the same
   way the server does, and falls back to the context-free index.
 * Fixed: auto-translate on save never ran in the block editor, which saves through
   the REST API. It now runs there too. Elementor keeps its own path and is unaffected.

#### 2.7.9

 * Fixed: the Pro notice was invisible on the plugin’s own screens. It is now printed
   as an inline notice, so WordPress no longer moves it inside the app container
   where it was being wiped out on the first repaint.
 * The notice shows the launch offer for Pro while it lasts, with a live countdown
   to the end date. When the offer is over the notice goes back to its normal text
   on its own, with no update needed.
 * Countdown is driven by the server clock, so a wrong clock on the visitor’s computer
   cannot make it run fast or slow.
 * The new strings are translated into Spanish, French, German, Italian and Brazilian
   Portuguese.

#### 2.7.8

 * Added a dismissible notice about the Pro version, shown only to administrators,
   only on the Dashboard, the Plugins screen and the plugin’s own screens, and only
   after the plugin has been installed for a week.
 * The notice honours “prefers-reduced-motion” and remembers your choice per user:“
   Maybe later” hides it for 30 days and the ✕ hides it for good. Both preferences
   are removed when the plugin is uninstalled.
 * Added a “Go Pro” link to the plugin’s row in the Plugins list.

#### 2.7.7

 * 🌍 **New:** The whole plugin is now translatable, and ships translated into Spanish,
   French, German, Italian and Brazilian Portuguese.
 * The admin interface, the setup wizard and the front-end visual editor now follow
   your WordPress language instead of always showing the same texts.
 * Every user-facing string is internationalized with the `incode-translate-master`
   text domain, including the JavaScript, so translate.wordpress.org contributors
   can translate it into any other language.

#### 2.7.6

 * Clearer bilingual model: the site has its original language plus one translation
   language, and changing it is now an explicit, documented action in the Languages
   screen.
 * The memory limit is only raised while processing a confirmed large page or a 
   heavy scan task, never globally.
 * Hardened output escaping in the language switcher (wp_kses allowlist) and CSS
   color sanitization.

#### 2.7.5

 * The plugin is now called “Incode Translate Master”.

#### 2.6.0

 * ✨ **New:** Auto-translate on save — new and changed texts of a post are translated
   automatically in the background when you save it.
 * 🏷️ **New:** Yoast SEO integration — the meta title of each page is translated.
 * 🌐 **Improved:** Translation engines — built-in keyless engine, or your own Google
   Translate, DeepL or Gemini API key, switchable any time.
 * 🧭 **Improved:** Simpler language management.

#### 2.5.0

 * 🧙 **New:** Setup wizard on activation — pick your source language, choose the
   free engine (or your own key) and run the first scan, all in guided steps.

#### 2.4.0

 * 🎉 **First release:** front-end visual editor, full-site scan, batch translation,
   keyless free engine, translation memory, language switcher, and Elementor / WooCommerce
   support.

## Meta

 *  Version **2.10.4**
 *  Last updated **3 dydh ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.1 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.0 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/incode-translate-master/)
 * Tags
 * [bilingual](https://cor.wordpress.org/plugins/tags/bilingual/)[hreflang](https://cor.wordpress.org/plugins/tags/hreflang/)
   [localization](https://cor.wordpress.org/plugins/tags/localization/)[translate](https://cor.wordpress.org/plugins/tags/translate/)
   [translation](https://cor.wordpress.org/plugins/tags/translation/)
 *  [Advanced View](https://cor.wordpress.org/plugins/incode-translate-master/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/incode-translate-master/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/incode-translate-master/reviews/)

## Contributors

 *   [ Adrian Alcala ](https://profiles.wordpress.org/adrianincode/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/incode-translate-master/)