WordPress

How to Translate Your Whole WordPress Site with Gato AI Translations for Polylang

Sachin Krishna
Aug 6, 2026 7 min read
How to Translate Your Whole WordPress Site with Gato AI Translations for Polylang

Making your website multilingual is one of the best ways to grow it. Every language you add opens the site to readers who prefer it in their own, and earns its own place in search results, since search engines index each language separately. All of it from content you have already written.

What stopped most sites was how difficult the translation part was, involving invoices charged on a number of words, and dealing with translations that we’d need to copy and paste into WordPress for every post.

But all that has now changed: ChatGPT, Claude, Gemini, and other AI services produce translations that read as if a person wrote them, for a few cents per thousand words.

Gato AI Translations for Polylang is the plugin that brings that into WordPress. Polylang creates a version of each post per language and keeps the versions linked; Gato fills them in through the AI service of your choice and your own API key.

Gato AI Translations for Polylang

Gato AI Translations for Polylang adds AI translation to a Polylang site.

What comes out is the same site in another language, down to the headings, the button labels, and the menu entries. Right-to-left languages are supported too.

AI site language translation

The original site, in English.

Website language translation

The same page, translated into Hebrew.

What the Plugin Translates

  • Posts, pages, and custom post types, including the CPTs other plugins register.
  • Categories, tags, and custom taxonomies, so a translated post is filed under a translated term rather than the original-language one.
  • Media items: title, alt text, caption, and description.
  • Navigation menus and user descriptions.
  • SEO metadata, with built-in support for Yoast SEO, Rank Math, All in One SEO, SEOPress, Slim SEO, The SEO Framework, SEO Simple Pack, and WP Meta SEO.
  • Custom fields, including those from ACF and Meta Box. Per field, you decide whether the value is copied as-is, translated, or swapped for the equivalent entity in the target language.
Gato AI Translations for Polylang settings

Meta fields are configured individually as copy, translate, or entity reference.

How Block and Page-Builder Content Is Handled

The plugin does not send the post’s HTML to the AI service. It reads the content’s structure and extracts only the translatable strings from each block, widget, or element: the paragraph text, the heading, the button label. The results are written back into the same places, so markup, layout, and responsive settings come out unchanged.

custom testimonial block in original language

A custom testimonial block in the original language.

custom testimonial block after translation

The same block after translation, with its structure intact.

Core Gutenberg blocks, Elementor widgets, and Bricks elements are covered, as are blocks from Kadence, Greenshift, GenerateBlocks, and Yoast SEO. Anything more unusual can be declared through a PHP hook.

Sending strings instead of markup also keeps the request small, which lowers what the AI provider charges per post.

Translating Existing Content in Bulk

Open Posts, Pages, or any custom post type’s list screen, select the entries, choose Gato Translate from the Bulk Actions dropdown, and click Apply. The strings from the whole selection are sent together, which gives the AI service more context to work from and keeps the number of API calls down.

Choosing Gato Translate from Bulk Actions

Existing content is translated through the Bulk Actions dropdown.

A second entry, Gato Translate (Custom), runs the same job with the defaults overridden for that run, such as targeting a single language or a single part of the content.

Translating New Content on Publish

Automatic translation is out of the box. Publishing a post in the original language triggers its translation into every language configured in Polylang, with no further action. You can disable it for specific post types, so posts translate automatically while pages wait for you to trigger them.

Translating New Content

Publishing in the original language triggers the translations.

Links in the post body are rewritten to point at the target language’s version of the page they link to, so a Spanish article links to the Spanish pages rather than back to the originals.

References are resolved the same way. The featured image, the categories and tags, and any entities referenced from custom fields all point to their counterparts in the translated language.

Original post

The origin post: an internal link, a referenced image, and two related posts.

Post after translation

After translation: the link now points at /es/nuestros-servicios/, and the related post resolves to its Spanish counterpart.

Reviewing Translations Before They Go Live

Translations are ordinary WordPress entries. You can open one in the editor, change the wording, and publish it yourself. A setting decides what happens by default: translations can wait as drafts for review, publish straight away, or take the same status as the original post.

Reviewing translations

Translations are regular entries, editable before publishing.

If some translations fail, from an expired API key or a provider timeout, the plugin logs which entries and languages they were, and can re-run only those, skipping everything that already succeeded.

Choosing an AI Provider, and What It Costs

You supply your own API key. The supported providers are ChatGPT, Claude, Gemini, DeepSeek, Mistral AI, OpenRouter, DeepL, Google Translate, and self-hosted LLMs. You are billed by the provider at its published rate, with no credits to buy from the plugin and no word limit attached to the license.

AI connectors

Each provider is configured with your own API key.

Using the GPT-5.6 Luna model, translating 1,500 words costs about $0.02, which puts a 100,000-word site at roughly $1.33 per language. You can also mix providers, using DeepSeek for Chinese and another LLM everywhere else, and a self-hosted model keeps your content on your own infrastructure.

Controlling Terminology and Tone

The plugin sends a prompt with every translation request, and you can edit it, per language if needed. Use it to list the terms that must be left untranslated, such as product names, and to set the register, such as whether German and French translations address the reader formally.

AI connector settings

The prompt sent with each request sets terminology and tone.

Tag and category names can be left untranslated altogether, which suits sites whose terms are brand names, and DeepL glossaries are supported when DeepL is the provider.

Guiding You Through the Process

The plugin translates the content, and its documentation walks you through everything around that. It covers what to audit in the original content before the first run, since a mistake there is copied into every language, and the pieces that are easy to overlook until they are live: right-to-left languages, images with the text baked into them, duplicate tags across languages, and more.

The comprehensive guide to multilingual translation for WordPress websites collects all of it into a single checklist to work through, so that no part of the site is left untranslated.

Multilingual translation

The guide works through the whole process as a checklist.

Setting It Up

  1. Install Polylang and add your languages under Languages.
  2. Install Gato AI Translations for Polylang.
  3. Go to Gato AI Translations for Polylang > Settings, choose a provider, and enter its API key.
  4. Publish a post to see the automatic translation run, or select a few existing posts and use Gato Translate from Bulk Actions.
  5. Check the results, adjust the prompt if the terminology needs fixing, then translate the rest of the site.
Setting up Gato AI Translations for Polylang

The languages added in Polylang determine which translations are created.

Translating everything you have already published is a one-off that costs a few dollars. After that, each new post is translated into all your languages as you publish it, and the site simply stays multilingual.

Sachin Krishna
Written by Sachin Krishna

Content Writer at WPFloor with a passion for all things WordPress. Dedicated to helping users get the best out of their WordPress experience.

Leave a Reply

Your email address will not be published. Required fields are marked *