WP Manifestindependent plugin directory
manifest / i18n / gustinai-multilingual

GustinAI Multilingual

Extension WordPress multilingue traduite par IA (Claude ou OpenAI) : Gutenberg, Elementor, Divi, SEO et GEO.

★ 0stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/jacckisback/gustinai-multilingual/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

GustinAI Multilingual: your WordPress site in every language, translated by AI

🌐 English · Français · Español · Italiano · Deutsch · Português

Version 1.0.0 WordPress 6.5+ PHP 8.1+ License GPL-2.0-or-later AI: Claude or OpenAI Gutenberg, Elementor, Divi 111 automated checks

Turn any WordPress site into a multilingual site translated by AI: real pages, translated URLs, SEO and GEO done right. No subscription and no word quota: you only pay for the AI you use, directly to Anthropic or OpenAI.

⬇️ Download the plugin (.zip) · 🚀 Quick start · 💸 Costs · 📊 Comparison · 🧠 How it works · ❓ FAQ


📑 Contents


✨ Why GustinAI Multilingual?

💸 No subscription, no word quota The plugin is free and open source (GPL). Translation is billed by the AI provider at cost, with your own key: about $0.06 per page and per language with Claude Opus 5.5, the most natural model, and less than $0.002 with Claude Haiku 5.5 (see costs).
🏠 Your translations belong to you Each translation is a real WordPress page stored in your database. No third-party server sits between your visitors and your content.
🧱 Your layout never breaks The AI never sees your HTML: only the texts are sent, the markup is replaced by numbered markers and then rebuilt exactly as it was. Gutenberg blocks, Elementor data and Divi modules stay intact.
🔎 SEO done by the book One URL per language, no automatic redirect, hreflang + x-default on every page, translated slugs and categories: exactly what Google recommends.[^g-multi][^g-hreflang]
🤖 Ready for AI search engines (GEO) One llms.txt per language[^llms], structured data linking each page to its translations[^schema], and a translation prompt written for SEO and GEO.
⚡ Zero AI during visits Translations are generated once, in the admin. Visitors get static pages: compatible with every cache and CDN, with no JavaScript added.

🌍 Why make your site multilingual?

  • 🛒 People buy in their own language. In a survey of 8,709 consumers in 29 countries, CSA Research found that 66% would choose a similar product that has information in their language, and 75% are more likely to buy the same brand again when customer care speaks their language.[^csa]
  • 🧭 Google needs one URL per language. Google recommends a separate URL for each language version and hreflang tags so it can show the right version to each user.[^g-multi][^g-hreflang] A translation that only appears in the browser, or that depends on a cookie, cannot be indexed.
  • 🌐 WordPress is everywhere. WordPress powers 39.5% of all websites and 58.2% of sites whose CMS is known.[^w3techs] GustinAI Multilingual adds languages to the site you already have, without rebuilding it.

[!TIP] In plain words: a multilingual site is not a widget that translates on the fly. It is one page per language, at its own address (/en/…, /es/…), that Google can read and that a visitor can share. This is exactly what the plugin creates.


📸 See it in action

The same home page in French, English, Spanish and German, each at its own URL
The same page in 4 languages. Each one has its own URL, its translated menu and a language switcher (simple HTML links, no flags). Demo site.

Languages box in the block editor

In the editor: the status of each language (Up to date, Edited by hand, Not translated), one-click translation and the estimated cost.

Pages list with a Languages column

In your page lists: 🟩 up to date, 🟨 original changed since the translation, +DE = translate into German in one click.

Bulk translation page with cost estimate

Bulk translation: estimate the cost, then translate the whole site in the background.

🖼️ More screenshots: languages and AI settings

Languages settings
Languages: 57 languages, editable URL prefix, default language without prefix (your current URLs don't change).

AI translation settings
AI translation: Claude or OpenAI, recommended model with prices, site description, glossary, form of address, monthly usage.


🚀 Quick start in 5 minutes

Requirements: WordPress 6.5+, PHP 8.1+, “pretty” permalinks, and a Claude (Anthropic) or OpenAI API key.

  1. Install. Download the zip, then go to Plugins → Add New → Upload Plugin and activate it.
  2. Choose your languages. Go to Multilingual → Settings → Languages. Your site's current language becomes the default language. WordPress translations for each new language are downloaded automatically.
  3. Get an API key.
  4. Configure the AI. In Multilingual → Settings → AI translation:
    • paste the key and keep the recommended model;
    • describe your site in 2 or 3 sentences, and add your brand names to the glossary;
    • click Test with a sample sentence.
  5. Translate.
    • Click +EN next to a page and check the result.
    • Then go to Multilingual → Bulk translation: Estimate the cost, then Start the translation.
  6. Add the language switcher. Use the Language switcher block, the [gaiml_switcher] shortcode, or let the plugin add it to a menu automatically.

[!IMPORTANT] Claude keys and workspaces: when you create the key, pick the “Default” workspace. The Claude API refuses requests made with a key that is not scoped to a workspace unless they carry an extra anthropic-workspace-id header, which the plugin does not send.[^a-key]

[!TIP] Even safer: declare your keys in wp-config.php rather than in the database. They then never appear in the admin.

define( 'GAIML_ANTHROPIC_API_KEY', 'sk-ant-...' );
define( 'GAIML_OPENAI_API_KEY', 'sk-...' );

[!NOTE] Want to proofread before publishing? Set New translations to Draft, to review before publishing. Google rewards quality content “however it is produced”.[^g-ai] Proofreading your key pages is the best guarantee.


💸 What does it really cost?

The plugin is free. You only pay the AI provider for the texts you send, with your own key. Prices were checked on the official pages on 2 November 2026:

Provider Model Price per million tokens (input / output) ≈ Cost per 100 pages of ~800 words, per language*
Claude Claude Opus 5.5 ⭐ recommended $4 / $20[^a-pricing] ≈ $5.80
Claude Claude Sonnet 5.5 $2 / $10[^a-pricing] ≈ $2.90
Claude Claude Haiku 5.5 $0.10 / $0.50[^a-pricing] ≈ $0.15
OpenAI GPT-6.1 Sol ⭐ recommended $2 / $10[^o-pricing] ≈ $2.90
OpenAI GPT-6.1 Terra $1 / $5[^o-pricing] ≈ $1.45
OpenAI GPT-6 Luna $0.10 / $0.50[^o-pricing] ≈ $0.15

* Estimate calculated by the plugin from the public prices: about 1 token per 3.5 characters, plus the instructions and JSON wrapping of each request, with a low reasoning effort. The plugin shows its own estimate for your content before you translate anything.

[!TIP] What is a token? It is the unit the AI providers bill: roughly ¾ of an English word. A page of 800 words is about 1,000 to 1,500 tokens.

Three mechanisms keep the bill low:

  • 🧠 Translation memory. An identical sentence is only paid for once, and an edited page only sends the sentences that changed.
  • 🗜️ Prompt caching. On Claude, the instructions shared by every request are cached. Cache reads cost 5% of the input price on Opus 5.5 and Sonnet 5.5.[^a-cache]
  • 🎚️ Low reasoning effort by default. Translating does not need long reasoning, so it is faster and cheaper.

📊 Comparison with paid translation plugins

Worked example: a site of 100 pages (~80,000 words) translated into 5 languages

That is 400,000 words to translate, because WPML and Weglot count words once per target language.[^wpml-words][^weglot-words]

Solution What you pay in year 1 And after that?
GustinAI Multilingual $0 plugin + ≈ $29 of AI, once (Claude Opus 5.5)
≈ $14.50 with Sonnet 5.5 or GPT-6.1 Sol, ≈ $0.75 with Haiku 5.5
$0 of licence. Only new or changed texts are sent to the AI.
Weglot €2,990 / year: the Advanced plan (1,000,000 words, 10 languages), because Pro stops at 200,000 words[^weglot][^weglot-words] Same amount every year. If you cancel, the translations disappear from your site.[^weglot-cancel]
WPML ≈ €614: the CMS plan at €99 (22,500 AI words included) + ≈ €515 of extra words at the public pay-as-you-go rates[^wpml][^wpml-words] Yearly renewal for updates, plus words for new content.
TranslatePress ≈ €195 to €349 / year: Personal (€99, 50,000 AI words) + 100,000-word packs at €24, or Developer (€349, 500,000 words)[^tp] Yearly licence. The AI word quota is topped up at renewal.[^tp]
GTranslate $350 / year: the Business plan, the first one with translated URLs (unlimited words)[^gtranslate] Yearly subscription. Translations are served by GTranslate's proxy.[^gtranslate]
Polylang Pro €99 / year (1 site) + the DeepL API, billed separately with your own key[^polylang] No one-click “translate everything” feature, according to the vendor.[^polylang]

Public list prices excluding VAT, checked on the vendors' pages on 2 November 2026; they can change. Our calculations are shown in each cell. For TranslatePress, we assume that words are counted per target language, as WPML and Weglot do. Each competitor offers features that GustinAI Multilingual does not have, such as professional human translation, translation management, multisite and WooCommerce. Compare against your own needs.

How each one works

GustinAI Multilingual WPML Polylang Pro TranslatePress Weglot GTranslate (paid plans)
Business model Free (GPL), AI paid at cost Licence €39–€199 (1 year of updates) + AI words[^wpml] Yearly licence from €99[^polylang] Yearly licence €99–€349[^tp] Monthly subscription €15–€699[^weglot] Monthly subscription $12–$50[^gtranslate]
Translation engine Claude or OpenAI, the model of your choice, with your key WPML AI words, DeepL, Google, Microsoft[^wpml-words] DeepL with your key[^polylang] TranslatePress AI (quota), Google or DeepL with your key[^tp] Included in the word quota[^weglot] Included[^gtranslate]
Where the translations live Your database, as real WordPress pages Your database, one post per language[^wpml-tables] Your database, content duplicated per language[^polylang] Your server, kept after the licence expires[^tp] Weglot's service[^weglot-cancel] GTranslate's cloud proxy[^gtranslate]
Translated URLs ✅ included ✅ ✅ ✅ all paid plans[^tp] from Pro (€79/month)[^weglot] from Business ($35/month)[^gtranslate]

WordPress, WPML, Polylang, TranslatePress, Weglot, GTranslate, Claude, OpenAI, ChatGPT, Elementor and Divi are trademarks of their respective owners. GustinAI Multilingual is an independent project, not affiliated with them.


🧠 How it works

flowchart LR
    A["📄 Your page<br/>Gutenberg · Elementor · Divi"] --> B["✂️ Extraction<br/>HTML replaced by markers ⟨g1⟩"]
    B --> C{"🧠 Translation memory<br/>already translated?"}
    C -- "yes: free" --> F
    C -- "no" --> D["🤖 Claude or OpenAI<br/>answer in strict JSON"]
    D --> E["✅ Validation<br/>markers · variables · shortcodes"]
    E --> F["🧱 Rebuild<br/>identical markup, localized links"]
    F --> G["🌍 Real WordPress page<br/>/en/translated-slug/"]

Example. Here is what happens to a sentence from your page:

Step Content
1. Your original HTML <p>Réservez <strong>aujourd’hui</strong> dans <a href="/contact/">notre bar</a>.</p>
2. What the AI receives Réservez <g1>aujourd’hui</g1> dans <g2>notre bar</g2>.
3. What the AI returns Book <g1>today</g1> at <g2>our bar</g2>.
4. What gets saved <p>Book <strong>today</strong> at <a href="/en/contact/">our bar</a>.</p>
  • The AI only ever sees text and markers. It cannot break a tag or a block, or inject HTML.
  • The link was localized automatically, from /contact/ to /en/contact/, because that page has an English translation.

When a visitor arrives:

sequenceDiagram
    participant V as 👤 Visitor or Googlebot
    participant W as WordPress + GustinAI Multilingual
    V->>W: GET /en/menu/
    Note over W: Language read from the URL (en)<br/>English page already saved
    W-->>V: English page + hreflang + canonical + lang="en-US"
    Note over V,W: No AI call · no JavaScript added · compatible with page caches

🔎 Multilingual SEO, by the book

Each recommendation from Google and the W3C, and what the plugin does about it:

Recommendation What GustinAI Multilingual does
Use different URLs for each language.[^g-multi] Sub-directories /en/, /es/… The default language can keep its current URLs, without a prefix.
Avoid automatically redirecting users based on their language.[^g-multi] The language comes only from the URL: no cookie, no detection. Googlebot sees every version.
Each language version must list itself as well as all the other versions (hreflang), plus x-default.[^g-hreflang] hreflang tags are generated on every page, both ways, only towards translations that are actually published.
Translate the main content, not just the boilerplate around it.[^g-multi] Everything is translated: content, page-builder data, SEO title and description, image alt texts, slugs, categories, tags and menus.
Declare the language of the page (accessibility).[^wcag] Add dir="rtl" for right-to-left languages.[^w3c-dir] <html lang="en-US"> on every page and dir="rtl" for Arabic, Hebrew, Persian and Urdu.
Don't use flags to indicate languages.[^w3c-flags] The switcher shows names or codes (EN, Español…), as plain HTML links that search engines can crawl.
XML sitemaps (built into WordPress since 5.5).[^wp-sitemaps] Every active language is listed in /wp-sitemap.xml. Yoast SEO and Rank Math pick up the right URLs.

Also included:

  • Translated slugs (/en/summer-cocktails/), or the same slug in every language if you prefer (/contact/ and /en/contact/).
  • Fields translated for Yoast SEO, Rank Math, SEOPress, The SEO Framework and AIOSEO.
  • No duplicate content: an /en/ URL never shows an untranslated page, and a wrong URL redirects to the translation in the requested language.

[!TIP] What is hreflang? It is a tag in the page code that tells Google: “this page also exists in Spanish, here is its address”. Google then shows the right version to each user.


🤖 GEO: being visible in AI answers

GEO (Generative Engine Optimization) means optimizing your content for answer engines such as ChatGPT, Claude, Perplexity and Google's AI Overviews. A 2024 paper presented at the KDD conference showed that suitable optimizations can boost visibility by up to 40% in these answers.[^geo]

  • 📄 llms.txt in every language (/llms.txt, /en/llms.txt…). This format, proposed in 2024, gives AI models a clean Markdown index of your site.[^llms]
  • 🧬 Structured data. inLanguage, workTranslation and translationOfWork[^schema] tell AI models that two pages are translations of each other. They are added to the Yoast SEO or Rank Math graph, or emitted alone if you don't use an SEO plugin.
  • ✍️ A translation prompt written for SEO and GEO. It asks for the vocabulary people actually search for in the target language and explicit headings, and forbids invented information.
  • 🔗 Internal links that stay in the language. An English page links to English pages, so the AI models that read it stay in the right language.

🧩 Page builders

Builder What is translated
Gutenberg (block editor) Texts, block attributes (buttons, search, navigation…) and synced patterns, whose blocks then point to the translated pattern. Translated blocks stay valid in the editor.
Elementor Every text widget (heading, text editor, button, tabs, accordions, forms, carousels…), links and images. The CSS is regenerated, and Elementor templates (header, footer, popup) are replaced by their translation.
Divi 4 (shortcodes) and Divi 5 (blocks) Module texts, titles, buttons and links. The Code module is never translated.
Classic editor Texts, custom HTML and form shortcodes, which are left untouched.

🛡️ Never translated: <code>, <pre>, `