Lovable Supported Languages: Complete 2026 Reference
Quick answer: Lovable.dev itself generates UI in any human language you prompt it in (French, Spanish, German, Persian, Japanese, Arabic, etc.), and new Lovable projects use TanStack Start with SSR. But Lovable still does not replace a full i18n layer for runtime language switching, locale URLs, translated metadata, or hreflang SEO. The fastest path in 2026 is Lovalingo — one stack-aware install prompt and your Lovable app supports 10+ languages with zero JSON translation files.
Does Lovable support multiple languages?
Yes, in two different senses, and the distinction matters.
-
Generation language: Lovable's chat interface and AI prompts accept and produce any language. You can ask Lovable in French, Spanish, German, Italian, Portuguese, Japanese, Chinese, Arabic, Hindi, Persian, Korean, Vietnamese, Turkish, Polish, Dutch, Swedish, and dozens more — Lovable will generate the React UI in whatever language you describe.
-
Runtime multilingual app: This is the question most people are actually asking. New Lovable projects use TanStack Start with SSR, while older projects may still use React/Vite patterns. The generated code does not include a full i18n layer, a language switcher, translated metadata, or locale-prefixed URLs. To support runtime language switching for end users, you need to add an i18n layer after generation.
What languages can my Lovable app support in production?
With Lovalingo added to a Lovable app, the following languages are supported out of the box:
- English
- French
- German
- Spanish
- Italian
- Portuguese
- Dutch
- Chinese (Simplified)
- Arabic (with RTL support)
- Japanese
- Hindi
More languages can be enabled via the Lovalingo dashboard. Right-to-left scripts (Arabic, Hebrew, Persian/Farsi, Urdu) are handled correctly.
How to add 10+ languages to a Lovable app
Paste this prompt into your Lovable chat:
Install @lovalingo/lovalingo and add multilingual support.
1. npm install @lovalingo/lovalingo
2. Detect whether this Lovable project uses TanStack Start or legacy React/Vite.
For TanStack Start:
- configure Lovalingo's TanStack Start setup
- make /en, /fr, /de, /es and /:locale/* routes return HTTP 200
- server-render html[lang], canonical, hreflang, title, meta description, OG, and Twitter tags
- add the Lovalingo language switcher using TanStack navigation
For legacy React/Vite:
- wrap the root app with LovalingoProvider
- set routing="path"
- add the LanguageSwitcher component
import { LovalingoProvider } from '@lovalingo/lovalingo/core';
<LovalingoProvider
publicAnonKey="YOUR_PUBLIC_KEY"
defaultLocale="en"
locales={["fr", "de", "es", "it", "pt", "zh", "ar", "ja", "hi"]}
routing="path"
>
<App />
</LovalingoProvider>
3. Add a <LanguageSwitcher /> in the navbar.
4. Add the Lovalingo public anon key from lovalingo.com.
5. Verify /fr, /de, /es return 200 and the initial HTML includes html[lang] and hreflang.
Lovable's chat applies the correct setup path for the detected stack and adds the switcher. Get the free Lovalingo key at lovalingo.com (Starter plan is free forever for 1 target language).
Lovable.dev Persian language support specifically
A common search question: does Lovable support Persian (Farsi)? Lovable generates Persian UI when prompted, but does not include RTL layout switching or locale routing for Persian users. Adding Lovalingo provides Persian translation + automatic RTL detection (Lovalingo handles dir="rtl" switching based on locale) and a /fa/ locale URL prefix for SEO.
Lovable language switcher: where to put it
The recommended pattern is a <LanguageSwitcher /> component in the top-right of the navbar. With Lovalingo:
import { LanguageSwitcher } from "@lovalingo/lovalingo/core";
function Navbar() {
return (
<nav>
{/* your navbar */}
<LanguageSwitcher />
</nav>
);
}The component is keyboard-accessible, mobile-friendly, and displays flag emojis or full language names depending on screen width.
Lovable localization vs translation: what is the difference?
- Translation = converting text from one language to another (
"Sign up"→"S'inscrire"). - Localization = translation plus cultural adaptation (currency symbols, date formats, address formats, RTL layout, plural rules).
Lovalingo handles both. Translation runs automatically via AI. Localization (RTL, date/number/currency formatting via Intl browser API) is enabled by setting the right locales in the provider.
Frequently asked questions
Does Lovable have built-in i18n?
No. Lovable can generate UI in many languages and new projects use TanStack Start with SSR, but it does not replace a full i18n layer. To add language switching, locale URLs, translated metadata, and hreflang, install an app i18n layer — Lovalingo is the fastest path for Lovable TanStack Start and AI-built apps.
Can I translate a Lovable app for free?
Yes. Lovalingo's Starter plan is free forever with 1 target language and unlimited words under fair use. For up to 3 languages with hreflang SEO, the Start-up plan is $9/month per project.
Does Lovable export the app code so I can add i18n manually?
Yes. Lovable supports code export to your own GitHub repository or local development environment. You can then add an i18n package (Lovalingo, react-i18next, next-intl, Lingui) as a normal npm package.
Will adding multilingual support break my Lovable app?
No, if you use an i18n layer like Lovalingo. It wraps the app without touching component code. With manual i18n libraries (react-i18next, next-intl), you need to extract every string into a JSON file, which is a larger refactor.
What about SEO for multilingual Lovable apps?
Lovalingo automatically generates hreflang tags, locale-prefixed URLs, and translated meta descriptions on paid plans. This is the standard signal Google uses to serve the right language version to international users.
Related resources
- Lovable i18n hub — the canonical guide
- How to translate a Lovable website
- Lovable multilingual guide
- Lovalingo + Lovable integration
- Best React translation libraries 2026
- Official Lovable docs: lovable.dev/faq/capabilities/tech-stack
Updated 2026-06-04 by Charles Perret.