The internet connects billions of people across every corner of the globe. Yet, 72% of consumers prefer to buy products when information is presented in their native language. At Invent, we believe powerful AI tools shouldn't be limited by language, they should feel natural and intuitive no matter where you are or what language you speak.
Today, we're pulling back the curtain on how we've built Invent to be truly global from day one.
Why Internationalization Matters
When we started building Invent, we had a choice: bolt on translations later as an afterthought, or architect the entire platform with global users in mind. We chose the latter.
Here's why this matters:
For businesses: Your customers speak different languages. If you're building AI assistants, chatbots, or automated workflows with Invent, they need to communicate naturally with users in Portuguese, German, French, or any other language your audience speaks.
For teams: Modern organizations are distributed. Your team in São Paulo should have the same seamless experience as your colleagues in Berlin or Tokyo. Language shouldn't create friction.
For accessibility: Language is the first barrier to technology adoption. By removing it, we open doors for millions who would otherwise be excluded.
The Seven Languages We Support (And Growing)
Invent is currently available in:
- 🇬🇧 English (Default)
- 🇪🇸 Spanish
- 🇵🇹 Portuguese
- 🇧🇷 Brazilian Portuguese
- 🇮🇹 Italian
- 🇫🇷 French
- 🇩🇪 German
But this isn't just about translating buttons and menus. Every part of Invent, from the dashboard to error messages, from integration descriptions to this very blog post, is available in all supported languages.
Try It Yourself: See This Post in Your Language

Here's a quick experiment: Scroll down to the footer of this page. You'll see a language selector. Try switching to Spanish, French, or any language you're comfortable with.
Notice something? This entire article transforms. Not just the navigation, the content itself adapts to your preferred language while maintaining its meaning and context.
This is the experience we want every Invent user to have.
How We Make It Work
We have two translation systems working together: one for UI text (buttons, labels, menus) and one for content (blog posts, documentation). Here's how each works.
UI Translations: Lingo.dev + OpenAI
We write all interface text in English in our codebase.
We use an AI coding agent like Cursor to replace the English text with translation keys in the translations JSON. Translations become easy with AI coding agents. Then Lingo.dev picks up the English JSON and sends it to OpenAI's GPT models. The translations come back as separate JSON files for each language (Spanish, Portuguese, French, etc.).
English stays bundled directly with the app for instant loading. Other languages load on-demand from JSON when needed.
When we deploy, all translations ship together, no waiting, no separate translation phase.
Blog Posts: Server-Side Rendering
Blog posts work differently because they're dynamic content, not static UI text.
Writing and translating:
We write posts in English and store them in Sanity (a headless CMS). AI translates each post into all supported languages automatically, creating separate documents. One English post becomes seven documents, each with its own translated title, body, and URL slug.
URL rewriting:
Here's where it gets clever. When you visit /es/blog/my-post, our middleware intercepts the request, strips the /es prefix, and sets a header (x-lang: es). Internally, the request becomes /blog/my-post with the language traveling through headers instead of routing.
This means we don't maintain seven copies of every page. One codebase handles all languages.
Server-side detection:
Before the page renders, we detect your language by checking:
- The
x-langheader (set by middleware if you used a language URL like/es/...) - Your saved language cookie (from the footer selector)
- Your browser's Accept-Language header
Fetching and rendering:
The page fetches the post from our API with the detected language code. The API returns the matching document from Sanity. The page renders server-side with the translated content, so the HTML that reaches your browser is already in the correct language. No flash of English, no client-side translation.
Switching languages:
The footer dropdown saves your preference to a cookie and reloads the page. On reload, the server detects your new language, fetches the right content, and renders it. Simple, but it works because the whole system runs server-side.
SEO
Each translated post has its own canonical URL (/es/blog/..., /de/blog/...). We generate metadata that tells search engines about all available translations. Google indexes each version separately and shows the right one based on searcher location.
Building for the World
At Invent, we're building tools for the world, not just for English speakers. Every product decision, every feature release, every piece of content goes through our internationalization pipeline.
The result? Whether you're a solo entrepreneur in Portugal, a enterprise team in Germany, or a startup in Argentina, Invent works for you, in your language.
