DEV Community

Fabrice Grenouillet
Fabrice Grenouillet

Posted on

I stopped managing translations manually (and built this instead)

Managing multilingual content has always felt… wrong to me.

In most projects, it quickly turns into:

  • duplicated fields (title_en, title_fr)
  • messy i18n JSON files
  • constant synchronization issues

At some point, I started wondering:
why is this even a developer problem?

Rethinking the approach

Instead of treating translations as something external (keys, files, etc.), I tried a different approach:

What if multilingual support was part of the data model itself?

So I built a small Airtable-like system where fields are multilingual by design.

You write content once, and it becomes available in multiple languages automatically.

Example:
Title: "Hello world"
→ fr: Bonjour le monde
→ es: Hola mundo

No keys. No duplication. No sync issues.

How it works

Each field stores multiple language versions internally.

On top of that:

  • automatic translation (using GPT)
  • ability to override manually per language

Where it can be used

The system can be accessed:

  • via API
  • or directly inside a templating engine I’m building (Ekit Studio)

So content flows directly into rendering without extra i18n layers.

Why this feels better

This approach shifts the problem:

  • from code → to data
  • from developers → to content structure

And in practice, it removes a lot of friction.

Curious to hear from others

Top comments (0)