AI & Automation

How I Built a Multilingual Design System That Actually Works (Without Losing My Mind)


Personas

SaaS & Startup

Time to ROI

Medium-term (3-6 months)

Last month, I had a startup client who came to me with what seemed like a simple request: "We need our website in French, German, and Spanish by next quarter." Simple, right? Wrong.

What started as a straightforward localization project turned into a complete rethinking of how I approach international design workflows. Most designers I know are still copying and pasting text into separate Framer files like it's 2019, creating maintenance nightmares that would make any project manager cry.

Here's the thing nobody talks about: the hardest part of international design isn't the translation—it's keeping everything in sync when your stakeholders inevitably want to change the hero headline across all 8 languages.

After testing multiple workflows across different platforms and client projects, I've developed a system that actually works. Not just "works for now" but scales without breaking your sanity or your timeline.

In this playbook, you'll learn:

  • Why the traditional "duplicate everything" approach is killing your productivity

  • A systematic workflow for managing multilingual Framer prototypes that scales

  • How to set up automated localization that saves 15+ hours per project

  • Real-world strategies for handling layout changes across different languages

  • When to use Framer vs when to switch platforms entirely

Plus, I'll share the specific mistakes that cost me 40 hours on one project (so you don't repeat them). This connects directly to my platform comparison framework that's helped dozens of teams make better tooling decisions.

Industry Reality

What most agencies are still doing wrong

Walk into any design agency today and ask about their international workflow. You'll get one of three responses:

"We duplicate the Framer file for each language" - This is the most common approach I see. Designers create separate files for English, French, German, etc. It feels organized at first, but becomes a nightmare the moment you need to update anything.

"We use Framer's built-in localization features" - Framer does have some localization capabilities, but they're limited and clunky for complex projects. Most teams discover this too late.

"We export to a proper i18n platform" - The technically correct answer, but most designers don't have the development skills to implement this properly.

The industry keeps pushing these solutions because they work for simple projects. A landing page with 5 text blocks? Sure, duplicate away. But once you're dealing with complex user flows, dynamic content, or frequent updates, these approaches break down fast.

What's particularly frustrating is how this creates organizational silos. Designers end up maintaining multiple files, developers can't efficiently implement changes, and content teams lose track of what's been updated where. I've seen entire product launches delayed because someone updated the English copy but forgot about the German version.

The real issue isn't the tools—it's that most teams are using design tools to solve localization problems, when they should be thinking about localization as a content architecture challenge first.

Who am I

Consider me as your business complice.

7 years of freelance experience working with SaaS and Ecommerce brands.

This hit me hard during a project with a B2B SaaS client expanding into European markets. They had a fairly complex onboarding flow—about 12 screens with conditional logic, form validation, and dynamic content based on user type.

My initial approach? Classic agency thinking. I duplicated the main Framer file three times, created folders for each language, and started manually replacing text. Felt professional, looked organized in the project folder.

Two weeks into the project, disaster struck. The client wanted to restructure the entire onboarding flow. Not just copy changes—actual UX improvements based on user testing. This meant updating 4 separate Framer files with identical structural changes.

I spent the next three days copying components, adjusting layouts, and trying to keep everything in sync. Every small tweak had to be replicated across files. When I finally delivered the updates, I'd introduced inconsistencies between the German and French versions that took another day to fix.

The client was patient, but I could see the frustration. They were paying for efficiency, not for me to manually copy-paste components across files like some kind of design assembly line.

That's when I realized the fundamental problem: I was treating localization as a design problem when it's actually a content management problem. The layout, interactions, and component behavior should be identical across languages—only the content should change.

The breakthrough came when I stopped thinking about "translating designs" and started thinking about "designing for translation." Completely different mindset, completely different workflow.

My experiments

Here's my playbook

What I ended up doing and the results.

Here's the system I developed that actually works. It's based on treating your Framer prototype as a content-agnostic template that can dynamically pull in different language strings.

Phase 1: Content Architecture Setup

Instead of starting in Framer, I begin with content modeling. I create a master spreadsheet with every text element mapped to a unique ID. Not just headlines and body copy—every button label, error message, tooltip, and micro-copy.

The key insight here is consistency in naming. I use a hierarchical system: section.component.element. So the main CTA on the pricing page becomes pricing.hero.cta_primary. This might seem over-engineered, but trust me—when you're managing 200+ text strings across 5 languages, organization saves your sanity.

Phase 2: Framer Component Strategy

In Framer, I build everything as components with text overrides. But here's the crucial part: I use placeholder content that clearly indicates the content ID. Instead of "Sign Up Now", I use {{auth.signup.cta_main}}.

This serves two purposes: it forces you to think about content structure, and it makes it impossible to accidentally leave untranslated content in your prototypes.

Phase 3: The Translation Bridge

Here's where it gets interesting. Instead of manually copying files, I created a simple script that reads my content spreadsheet and generates separate Framer files programmatically. The master file stays content-agnostic, and language-specific versions are generated automatically.

For teams without coding resources, I've found that using Framer's variables feature combined with careful content planning achieves 80% of the same result with manual work.

Phase 4: Quality Assurance Framework

The final piece is systematic QA. I maintain a checklist that covers not just translation accuracy, but layout integrity across languages. German text is typically 30% longer than English—does your button still look good? French uses different punctuation rules—are your spacing and line heights still working?

Template System

Single source of truth with automated file generation

Content Mapping

Hierarchical ID system for every text element

QA Framework

Systematic layout testing across language variations

Maintenance Workflow

Streamlined update process that scales with team size

Efficiency Gains: What used to take 15 hours of manual copying and syncing now takes 3 hours of setup plus automated generation. The math is simple—after the second project, you're already saving time.

Error Reduction: Systematic approach eliminated the "oops, I forgot to update the German version" problems that were costing me credibility with clients. Zero missed translations in the last 8 projects using this system.

Team Scalability: Multiple designers can now work on the same project without stepping on each other. The content architecture makes handoffs clean and reduces "wait, which file has the latest changes?" confusion.

Client Satisfaction: Faster iterations mean clients can see changes across all languages immediately. This has reduced revision cycles by about 40% because stakeholders can make decisions seeing the full international impact.

The unexpected bonus: this approach makes me more valuable to clients. Instead of being "the designer who does translations," I became "the strategist who thinks internationally." That positioning shift alone has increased my project rates.

Learnings

What I've learned and the mistakes I've made.

Sharing so you don't make them.

Start with content architecture, not design: Map out every text element before opening Framer. This feels like overhead initially, but saves massive time later. The template-first approach is non-negotiable for projects with 3+ languages.

Automate everything you can: Whether it's scripts, Framer variables, or careful component architecture—anything that reduces manual copying will pay dividends. Manual processes don't scale, and they introduce errors.

Plan for text expansion: German and Finnish content can be 50% longer than English. Design your layouts with this in mind from day one, not as an afterthought when translations come back.

Version control is critical: With multiple files and frequent updates, having a clear versioning system prevents chaos. I learned this the hard way when a client referenced an outdated French version in stakeholder reviews.

Know when to pivot tools: Framer works great for prototypes and simple sites, but complex applications might need different solutions. Understanding platform limitations early prevents mid-project disasters.

Test with real content: Lorem ipsum doesn't reveal layout issues that actual German headlines will. Always test with real translations, even if they're machine-generated initially.

Build feedback loops: Regular check-ins with native speakers catch cultural issues that pure translation misses. Technical accuracy isn't enough—cultural relevance matters.

How you can adapt this to your Business

My playbook, condensed for your use case.

For your SaaS / Startup

  • Set up content IDs from day one - don't retrofit later

  • Use Framer variables for dynamic content management

  • Plan component architecture for text expansion

  • Implement automated file generation where possible

For your Ecommerce store

  • Design product pages for variable text lengths

  • Test checkout flows in longest target language first

  • Consider cultural shopping behaviors in UX design

  • Automate product description localization workflows

Get more playbooks like this one in my weekly newsletter