9 July 2026
How to Translate a Framer Website (2026 Guide)
Four ways to translate a Framer site, and the one decision that matters most: where the translated pages actually live. Step by step, with hreflang, a language switcher, and what it costs.
Translating a Framer site is not hard. Choosing how to translate it is, because that choice decides what you own a year from now.
This guide walks through the whole thing: the four options, the one decision that actually matters, then the practical steps.
The one decision that matters
Before you compare features or prices, answer this: where should the translated pages live?
There are three real answers, and they lead to very different places.
Inside your own Framer project. The translated pages are ordinary Framer pages at real URLs. Google crawls them like any other page. You can edit them on the canvas. If you stop using whatever tool created them, the pages stay.
On someone else’s infrastructure. Weglot serves translated versions on a subdomain or a subdirectory, and Linguana hosts them on its own infrastructure. This is genuinely convenient: they manage hosting, they give translators a dashboard, and both serve hreflang from the server. The catch is that the translated URLs are theirs, not yours. Neither documents publicly what happens to them after you cancel.
As native Framer locales. Framer’s Locales add-on is the most integrated option, and the strongest on SEO plumbing: server-rendered hreflang, translated page paths and metadata per locale, native RTL, CMS covered. It costs $20 per month per locale, with no annual discount that we could find. Framer does not document what happens to extra locales if you stop paying.
None of these is wrong. They are different trades. Convenience and workflow on one side, ownership and a one-time cost on the other.
What each option costs
Rough numbers for three extra languages over one year, checked in June 2026:
- Framer Locales: around $720 per year, billed $20 per locale per month.
- Weglot: around €290 per year. Its €15 Starter plan covers one language; three languages means the Business plan at €29 a month.
- Linguana: around $228 per year on Starter, billed yearly ($25 a month if paid monthly), with a one-time grant of 10,000 AI credits.
- Page Translator: €29 once, for unlimited languages and pages.
The first three are recurring; the fourth is a one-time purchase. They are not the same kind of number, and mixing euros and dollars makes any multi-year total worse. Price your own case.
Plans and word limits change. Verify on each vendor’s pricing page before deciding. There is a full side-by-side comparison if you want the detail.
Translating with real pages, step by step
The rest of this guide assumes you picked the first answer: translated pages inside your own project. That is what Page Translator does.
1. Pick the pages and the languages
Select the pages you want translated and your target languages. There are 31 available. The plugin scans every text node on the pages you picked, so nothing has to be collected by hand.
One thing to know upfront: text baked inside a component stays invisible to the plugin until it is exposed as a component property. If a page looks like it has no text, that is almost always why. Open the component, select the text layer, and expose it.
2. Run the translation
There are three ways, and they exist for different situations.
Instant mode is the default. The AI translation runs inside the plugin. No API key, nothing to configure. Click Translate and the pages get created.
Your own DeepL key is the Advanced option. Paste the key and the plugin runs the pipeline automatically. DeepL closed its old 500,000-per-month free API plan to new signups: new accounts now get a one-time 1,000,000-character credit that does not reset. Useful when you want DeepL’s quality on European languages, where it is historically strongest.
Copy and paste into any LLM. The plugin extracts every text node into a structured prompt. Paste it into ChatGPT, Claude or Gemini, paste the returned JSON back, and the pages are generated. No extra subscription, and you use whichever AI you already pay for.
If you have brand terms, product names or jargon that must never be translated, add them to the Glossary first. It applies to both DeepL and LLM modes.
3. Check the result
The plugin duplicates your page structure and writes each translation into place, creating real pages at /fr, /de, /es and so on.
Open one. It is a normal Framer page. Fix a line, adjust a layout, change a component. Nothing is locked.
4. Add the language switcher
After the first translation the plugin generates a Language Switcher code component. Insert it on the canvas in one click. It has three display modes, and the colors, borders, typography, shadow and animation are all customizable.
It only resolves links on the published site. On the canvas it shows a reminder instead of real links, which surprises people the first time.
5. Make Google serve the right language
This is the part most people skip, and it is the part that decides whether the translations do anything for you.
Search engines need hreflang tags linking every language version of a page to its siblings, so they can serve the right language to the right visitor. Note what hreflang is not: it swaps the URL that already ranks, it does not raise your ranking. And the lang attribute is for accessibility and browser translation prompts, not for Google, which states it does not use it to detect a page’s language.
Page Translator injects hreflang on Pro, under Settings, hreflang. Read that carefully though: it injects the tags with a script that runs in the browser, not into the served HTML, because Framer locks server-rendered lang and hreflang to its paid native Locales. Google renders JavaScript and can pick them up; Bing is less reliable at it. It translates page slugs only in DeepL mode, and never translates page titles or meta descriptions. If server-rendered hreflang is a requirement, native Locales is the better tool.
6. Keep them in sync
Sites change. You rewrite three paragraphs on the homepage and now the French version is wrong.
Sync tracks what changed since the last translation. It detects those three text nodes, re-translates only those, and leaves everything else alone, including any manual edits you made to the translated page.
What about the CMS?
Page Translator handles static pages: home, about, landing pages, feature pages.
Blog posts, case studies and anything else living in a CMS collection are a different problem, because collections have their own structure. That is what CMS Translator is for. It creates a synced translated mirror of any collection. The two plugins together are €39 as the Translation Pack, which saves €9 over buying them separately.
Where to start
Install the plugin, translate one language on up to five pages for free, and look at the result on your own pages before paying anything. That is enough to know whether real pages inside your project are the trade you want.
If you would rather have a managed dashboard, translators with roles, or a site that is not on Framer, Weglot is a better tool and this guide is not trying to talk you out of it.