Title: LATW AI Translation for Polylang
Author: szymon0zawadzki
Published: <strong>September 23, 2026</strong>
Last modified: September 23, 2026

---

Search plugins

![](https://ps.w.org/latw-ai-translation-for-polylang/assets/banner-772x250.png?
rev=3709036)

![](https://ps.w.org/latw-ai-translation-for-polylang/assets/icon-256x256.png?rev
=3709036)

# LATW AI Translation for Polylang

 By [szymon0zawadzki](https://profiles.wordpress.org/szymon0zawadzki/)

[Download](https://downloads.wordpress.org/plugin/latw-ai-translation-for-polylang.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/latw-ai-translation-for-polylang/#description)
 * [Reviews](https://wordpress.org/plugins/latw-ai-translation-for-polylang/#reviews)
 *  [Installation](https://wordpress.org/plugins/latw-ai-translation-for-polylang/#installation)
 * [Development](https://wordpress.org/plugins/latw-ai-translation-for-polylang/#developers)

 [Support](https://wordpress.org/support/plugin/latw-ai-translation-for-polylang/)

## Description

[LATW AI Translation for Polylang](https://llm-automatic-translation.top/latw-ai-translation-for-polylang/)
adds automatic AI translation to the Polylang workflow you already use.

Polylang keeps doing what it does today: languages, the language switcher, translation
groups, string translation, the multilingual structure of your site. This plugin
fills those translations in for you, using the AI model or translation engine you
pick and your own API key.

#### You bring your own API key

There is no subscription, no credit pack and no per-word price list here. You connect
your own provider key, and every request goes straight from your WordPress server
to OpenAI, Google or MyMemory, at their published rates, with nothing added on top
by us.

Nothing passes through our servers, and no content is stored outside your site and
your chosen provider. You are responsible for your own provider billing and usage
limits.

#### How it plugs into Polylang

Polylang has no built-in translation-management pipeline to plug into — a translation
is just another post, linked to the original through Polylang’s own language and
translation-group system, with nothing that extracts content or writes it back automatically.
So this plugin does that whole job itself.

On sites running **Polylang Pro**, it reuses Polylang’s own content export and import
machinery, so what counts as translatable content always matches what Polylang itself
understands. On **Polylang free**, which ships none of that machinery, the plugin
extracts content with its own equivalent, built to match Polylang’s own rules. Either
way, Elementor is handled by a dedicated extractor that pulls out only the text 
inside known widgets — the layout, styling and IDs never leave your site.

Pick your content on the plugin’s own Translations screen, tick the target languages,
and start. Jobs are collected in the background by WP-Cron, so a long page never
holds a request open or times out. The finished translation lands back in Polylang
exactly as if you had created it by hand — an ordinary post, term or string, findable,
editable and linked the same way as everything else on your multilingual site. If
you later delete this plugin, the translations stay; they belong to your site.

#### Who it is for

 * Agencies running client sites on Polylang that want translation cost moved off
   the invoice and onto a metered API key
 * Site owners with a few hundred pages, where per-word or subscription pricing 
   stops making sense
 * Anyone who needs translated content to travel between their own server and their
   chosen provider, with no intermediary in between

#### Features

 * **Deep Polylang integration** — writes finished translations straight into Polylang’s
   own language and translation-group model, so a translated post, term or string
   is no different from one you created by hand
 * **Four engines, your choice** — MyMemory, Google Translate, OpenAI and Gemini,
   and in Pro also your own model or any OpenAI-compatible API
 * **Your own model, or any OpenAI-compatible API** — point the plugin at a model
   you host yourself, or at a gateway such as OpenRouter or Groq, and translate 
   through it _(Pro)_
 * **Polylang string translation** — batch-translate the strings registered with
   Polylang
 * **Elementor support** — only the text inside known widgets is sent to the model,
   never the layout, styling or IDs
 * **ACF support** — translates Advanced Custom Fields content
 * **Taxonomy translation** — a dedicated screen for categories, tags and custom
   taxonomies, with per-term status
 * **SEO metadata** — Yoast SEO, Rank Math, SEOPress and All in One SEO titles and
   descriptions
 * **Website context** — describe your site once and every language-model translation
   is done with that context in mind
 * **Custom field control** — translate extra meta keys, or exclude ones you do 
   not want touched
 * **Cost tracking** — every completed job records what it actually cost, priced
   against the engine that produced it
 * **Translation history** — review any past translation, inspect what was sent 
   and what came back, track status over time
 * **Custom prompt and glossary** — control tone, register and terminology, and 
   lock specific terms to specific translations _(Pro)_
 * **Processing modes** — translate synchronously for immediate results, or send
   OpenAI jobs to the Batch API for roughly half the price
 * **Automatic translation** — automatically start a translation when creating posts
   of a selected type _(Pro)_
 * **Translate from a chat with Claude or ChatGPT (MCP)** — connect your site once
   and ask your assistant to translate a post, page or term; it runs inside the 
   subscription you already pay for, with no API key and no per-token cost _(Pro)_
 * **Re-translate only changes** — edit one paragraph, pay for one paragraph instead
   of the whole page _(Pro)_
 * **Bulk translation** — queue dozens of posts for translation in a single action
   instead of one at a time _(Pro)_

#### Free vs Pro

The free version is not a trial. It translates unlimited content into **every language
you have set up in Polylang**, permanently.

**Free**

 * Unlimited translations, every Polylang language
 * Posts, pages and custom post types
 * Taxonomy translation — categories, tags and custom taxonomies
 * Polylang string translation
 * Elementor layouts
 * ACF fields
 * SEO metadata — Yoast SEO, Rank Math, SEOPress, All in One SEO
 * Custom field control — translate extra meta keys, or exclude ones you do not 
   want touched
 * Translation history and per-job cost tracking
 * Batch processing, at roughly half price _(OpenAI only)_
 * Engines: MyMemory, Google Translate, OpenAI GPT-5.6 Luna and GPT-5.4 Nano, Gemini
   3.5 Flash Lite

**Pro**

Everything in free, plus:

 * Bulk translation — queue many posts in a single action instead of one at a time
 * Glossary — lock specific terms to specific translations
 * Editable translation prompt — control tone, register and terminology
 * Your own model, or any OpenAI-compatible API — point the plugin at a model you
   host yourself, or at a gateway such as OpenRouter or Groq, and translate through
   it
 * Translate from a chat with Claude or ChatGPT (MCP) — connect your site once and
   ask your assistant to translate a post, page or term; it runs inside the subscription
   you already pay for, with no API key and no per-token cost
 * More engines and models — Claude (Opus 5, Sonnet 5, Haiku 4.5), DeepL, and the
   larger OpenAI and Gemini models, for higher quality on difficult content
 * Premium support

[Upgrade to Pro](https://llm-automatic-translation.top/latw-ai-translation-for-polylang/)

#### Supported content

 * Post titles, content and excerpts
 * Custom post types Polylang is set to translate
 * Categories, tags and custom taxonomies
 * Strings registered with Polylang
 * Elementor widgets — only the text inside them is sent to the model, never the
   layout, styling or IDs
 * ACF fields
 * Yoast SEO, Rank Math, SEOPress and All in One SEO titles and descriptions
 * Image alt texts
 * Any meta key a plugin declares to Polylang as translatable, plus any key you 
   add yourself

#### Translation engines

Two language models and two machine translation engines, plus more models, Claude,
DeepL and a custom endpoint with Pro. Language models read your website description,
follow the translation prompt and handle nuance. Machine translation engines are
faster and cheaper per word but take no instructions, because there is nothing to
instruct.

**Language models**

 * **OpenAI** — GPT-5.6 Luna and GPT-5.4 Nano; the larger models come with Pro
 * **Google Gemini** — Gemini 3.5 Flash Lite; more models come with Pro

**Machine translation**

 * **Google Translate** — Neural Machine Translation, billed per character
 * **MyMemory** — translation memory with machine translation fallback, free within
   a daily quota, no API key required

**Your own endpoint** _(Pro)_

 * Any API that speaks OpenAI’s chat format: a model you host yourself, or a gateway
   such as OpenRouter or Groq. You enter the address, the model name and what it
   costs.

Each engine stores its own API key and model separately, so switching between them,
and back again, costs you nothing in reconfiguration.

#### Page builders

**Elementor is supported.** Only the text inside known widget fields is extracted
and sent to the model, as a flat list of strings. The widget tree itself — layout,
styling, IDs, responsive settings — never leaves your site, and the translation 
is written back into a copy of the original tree, so nothing the model never saw
can be damaged by it.

**Other builders are refused rather than mangled.** Bricks, Divi, Beaver Builder,
Oxygen and WPBakery keep their content in their own storage format instead of the
post content. Translating such a post would either produce an empty page or copy
the original layout across untouched — both of which look like a broken plugin. 
Posts built with them are detected and blocked in the interface, with the reason
shown, and refused server-side as well.

#### Polylang and Polylang Pro

Both editions work. With **Polylang Pro** the plugin delegates string extraction
and reassembly to Polylang’s own export machinery, so block parsing stays in step
with whatever Polylang supports. On **Polylang free** it uses its own content walker
instead. Elementor always goes through the plugin’s own extractor, on both editions.

#### Requirements

 * WordPress 6.2 or higher
 * PHP 7.4 or higher
 * [Polylang](https://wordpress.org/plugins/polylang/) 3.2 or higher, with at least
   two languages configured — this is an add-on for Polylang, not a standalone translation
   plugin
 * An API key for the engine you choose. MyMemory needs none.
 * Working WP-Cron, or a real server cron job calling wp-cron.php. If neither is
   available, the plugin offers a manual “Check Responses” button instead.

#### Third-Party Services

Content is sent only to the engine you selected in the plugin settings, and only
when you start a translation. Nothing is sent without your action, and every request
goes directly from your WordPress server to that provider.

**OpenAI API**

 * Service URL: [https://api.openai.com/](https://api.openai.com/)
 * Privacy Policy: [https://openai.com/privacy/](https://openai.com/privacy/)
 * Terms of Use: [https://openai.com/terms/](https://openai.com/terms/)

**Google Gemini API**

 * Service URL: [https://generativelanguage.googleapis.com/](https://generativelanguage.googleapis.com/)
 * Privacy Policy: [https://policies.google.com/privacy](https://policies.google.com/privacy)
 * Terms of Use: [https://ai.google.dev/gemini-api/terms](https://ai.google.dev/gemini-api/terms)

**Google Cloud Translation API**

 * Service URL: [https://translation.googleapis.com/](https://translation.googleapis.com/)
 * Privacy Policy: [https://policies.google.com/privacy](https://policies.google.com/privacy)
 * Terms of Use: [https://cloud.google.com/terms](https://cloud.google.com/terms)

**MyMemory (Translated S.r.l.)**

 * Service URL: [https://api.mymemory.translated.net/](https://api.mymemory.translated.net/)
 * Privacy Policy and Terms of Use: [https://mymemory.translated.net/terms-and-conditions](https://mymemory.translated.net/terms-and-conditions)
 * Usage limits: [https://mymemory.translated.net/doc/usagelimits.php](https://mymemory.translated.net/doc/usagelimits.php)

## Screenshots

[⌊Translations screen: pick content and target languages, with per-language status⌉⌊
Translations screen: pick content and target languages, with per-language status⌉[

Translations screen: pick content and target languages, with per-language status

[⌊Settings: pick an engine, its key and model, and the website description passed
to every translation⌉⌊Settings: pick an engine, its key and model, and the website
description passed to every translation⌉[

Settings: pick an engine, its key and model, and the website description passed 
to every translation

[⌊History: what was sent, what came back, and what each job cost⌉⌊History: what 
was sent, what came back, and what each job cost⌉[

History: what was sent, what came back, and what each job cost

## Installation

#### Quick start

 1. Install and activate Polylang, and set up at least two languages.
 2. Install and activate LATW AI Translation for Polylang.
 3. Go to **AI Translation > Settings**, choose an engine and paste its API key. Starting
    with MyMemory needs no key at all.
 4. Optionally write a short website description, so the language model knows what 
    kind of site it is translating.
 5. Open **AI Translation > Translations**, pick your content and target languages,
    and start.

Translations arrive in the background. Check **History** to see what was sent, what
came back, and what each job cost.

#### Adding Pro

Pro is a separate add-on plugin that runs alongside this one. Install this plugin
first, then upload the Pro .zip under **Plugins > Add New > Upload Plugin** and 
activate it. Bulk translation, the glossary, the editable prompt, the extra engines,
the custom endpoint and MCP appear on the screens you already know — there is no
second settings page and nothing to migrate.

#### Where to get an API key

The settings screen links straight to the right page for each engine, with step-
by-step instructions:

 * OpenAI — [platform.openai.com/api-keys](https://platform.openai.com/api-keys)
 * Google Gemini — [aistudio.google.com/apikey](https://aistudio.google.com/apikey)
 * Google Translate — a Google Cloud API key with the Cloud Translation API enabled
 * MyMemory — no key required
 * Custom endpoint _(Pro)_ — whatever your provider issues, for example [openrouter.ai/keys](https://openrouter.ai/keys)
   or [console.groq.com/keys](https://console.groq.com/keys); a model on your own
   server usually needs no key

## FAQ

### Do I need Polylang?

Yes. This is an add-on for [Polylang](https://wordpress.org/plugins/polylang/), 
not a standalone translation plugin. It needs Polylang active with at least two 
languages, and does nothing without it.

### Does it work with Polylang free, or only Polylang Pro?

Both. Polylang Pro lets the plugin reuse Polylang’s own export and reassembly machinery;
on Polylang free the plugin uses its own content walker. The screens and the results
are the same either way.

### What can I do with the free version?

Translate unlimited content into every language configured in Polylang, using MyMemory,
Google Translate, OpenAI GPT-5.6 Luna or GPT-5.4 Nano, or Gemini 3.5 Flash Lite.
Posts, custom post types, taxonomies, strings, ACF, Elementor, SEO metadata and 
custom fields are all included. It is not a trial and it does not expire.

### How much does translation actually cost?

It depends on the engine and the volume — you pay the provider directly, at their
rates. Language models bill per token, Google Translate bills per character, MyMemory
is free within its quota. As a rough guide, a single 1,000-word page through GPT-
5.4 Nano or Gemini 3.5 Flash Lite costs well under one cent. Every completed job
records what it actually cost, so the History screen shows real figures for your
own content rather than an estimate.

### Is my content sent anywhere else?

No. Content goes from your server to the engine you selected and back. It does not
pass through our servers, and we neither see nor store it.

### Which engine should I choose?

If quality on nuanced content matters most, use a language model — OpenAI or Gemini.
It reads the whole page, follows the translation prompt and your website description,
and keeps tone consistent. If you are pushing large volumes of straightforward text
and cost is the priority, Google Translate is cheaper and faster, and MyMemory is
free within its daily quota.

### Can I switch engines later?

Yes, at any time. Each engine keeps its own key and model setting, so switching 
back does not mean re-entering anything.

### Do Google Translate and MyMemory use the prompt?

No. They ignore the translation prompt and the website description. They are machine
translation engines rather than language models, so there is nothing to prompt.

### Can I customise the translation prompt?

This plugin ships one prompt, and the Settings page prints it in full so you can
see exactly what is sent. You can still add a website description, which is passed
to the model with every translation. Writing a prompt of your own, and a glossary
for locking specific terms, come with Pro.

### Which languages are supported?

Every language you have configured in Polylang. There is no per-language limit in
the free version.

### What are the processing modes?

**Synchronous** waits for the provider and fills in the translation in the same 
run.

**Background** is OpenAI-only. It finishes without holding a long request open, 
and is the default where available.

**Batch** is OpenAI-only too. It sends the job to OpenAI’s Batch API for roughly
half the price and collects it when ready, usually within the hour, though OpenAI
only guarantees a 24-hour window.

Gemini, Google Translate and MyMemory run synchronously only.

### Does it work with page builders?

Elementor is supported. Bricks, Divi, Beaver Builder, Oxygen and WPBakery are deliberately
refused: their content lives in their own storage format, and translating it would
produce an empty page or an untranslated copy. Those posts are marked in the list
with the reason, rather than silently producing a broken translation.

### Does it work with WooCommerce?

Products are ordinary posts as far as Polylang is concerned, so the plugin translates
whatever Polylang hands over. There is no shop-specific handling — product attribute
taxonomies and variations are not covered.

### Can I stop it translating certain fields?

Yes. **Settings > Custom Fields** takes a list of meta keys to translate in addition
to the defaults, and a list to exclude. The exclusion list wins.

### Can I translate from a chat with Claude or ChatGPT?

Yes, with Pro. Pro includes an MCP server: connect your site once to Claude or ChatGPT,
then ask the assistant to translate a post, page or term. It runs inside the subscription
you already have, so there is no API key and no per-token charge, and publishes 
the result as a Polylang-linked translation. The free version does not include MCP.

### Can I see what was translated?

Yes. The History screen shows every past translation, what was sent, what came back,
the status of each job and what it cost. The Logs screen carries the technical detail.

### How are translations queued?

Jobs go to your chosen engine and are collected by WP-Cron in the background, so
long pages do not time out. Cron health is shown on the dashboard. If your host 
blocks WP-Cron, enable **Manual Check Responses** in Settings > Advanced to get 
a button that collects finished jobs on demand.

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

They stay. Translated posts, terms and strings are ordinary Polylang content and
belong to your site. Deleting the plugin removes its own queue table, settings and
logs, and nothing else.

### What happens when my Pro license expires?

The version you have keeps working, but you stop receiving updates until you renew.
The free version continues working regardless, with no licence at all.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“LATW AI Translation for Polylang” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ szymon0zawadzki ](https://profiles.wordpress.org/szymon0zawadzki/)

[Translate “LATW AI Translation for Polylang” into your language.](https://translate.wordpress.org/projects/wp-plugins/latw-ai-translation-for-polylang)

### Interested in development?

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

## Changelog

#### 1.0.0

 * First release.

## Meta

 *  Version **1.0.0**
 *  Last updated **13 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [ai translation](https://wordpress.org/plugins/tags/ai-translation/)[automatic translation](https://wordpress.org/plugins/tags/automatic-translation/)
   [llm translation](https://wordpress.org/plugins/tags/llm-translation/)[machine translation](https://wordpress.org/plugins/tags/machine-translation/)
   [polylang](https://wordpress.org/plugins/tags/polylang/)
 *  [Advanced View](https://wordpress.org/plugins/latw-ai-translation-for-polylang/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/latw-ai-translation-for-polylang/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/latw-ai-translation-for-polylang/reviews/)

## Contributors

 *   [ szymon0zawadzki ](https://profiles.wordpress.org/szymon0zawadzki/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/latw-ai-translation-for-polylang/)