DEV Community

Art
Art

Posted on

I Built a Tool That Translates Meaning — Not Words

A call for testers, native speakers, and developers who want to help preserve languages before they disappear.


It Started With an Ice Cream

I walked barefoot through Denmark in short trousers, bought an ice cream cone, and wrote about it.

Then I ran it through SOUL.

A few seconds later I had the same story in Spanish, Portuguese, Catalan and Low German. Plattdeutsch. A language I barely speak anymore. Words I hadn't heard in decades. But when I read them aloud, they came back. The sound unlocked something.

That's when I knew this was working.


What SOUL Actually Does

Most translation tools work at the word level.

Word in → word out.

SOUL works at the concept level.

Before any translation happens, SOUL builds a dictionary of meanings, not words. Each concept gets its own entry:

Concept {
  id: "longing-de"
  note: "Sehnsucht — transcendent longing. No English equivalent."
  dynamic: piano
  tempo: largo
  de: "Sehnsucht"
  es: "añoranza"
  ca: "enyorança"
  en: "Sehnsucht"
  nds: "Sehnsucht"
  pt: "saudade"
}
Enter fullscreen mode Exit fullscreen mode

Notice: English keeps Sehnsucht, because there is no English word.

SOUL doesn't flatten the gap. It marks it.

A reader knows they're touching something their language cannot fully hold.


The Pipeline, Grok Does the Heavy Lifting Once

Here's what happens under the hood:

You write Markdown (your language)
  → soul encode
    → Grok API (automatic, one call)
      → extracts concepts, not just words
      → fills the dictionary per language
        → soul render -l es  → Spanish
        → soul render -l ca  → Catalan
        → soul render -l nds → Low German
        → soul render -l pt  → Portuguese
Enter fullscreen mode Exit fullscreen mode

Grok runs once per concept.

After that, no AI needed. Ever.

Pure deterministic rendering. Offline. Forever.

One dictionary entry, curated once by a native speaker —

and every future book that uses that concept gets it right automatically.

The system grows without the system growing.


Why This Matters Beyond Tech

Have you ever thought about obrigado?

In Portuguese it means "thank you."

It also literally means: I am obligated.

Every time a child says thank you in Portuguese —

they practice owing something.

Nobody planned this. It's just what was handed down.

In German, Verantwortung means moral accountability,

you chose this, you must answer for it.

In English, responsibility can mean the same thing,

or just a job description. Nobody's fault. Just assigned.

One word where German has two.

A whole dimension of moral weight quietly lost in translation.

These aren't curiosities.

They're the invisible architecture of how we think.

SOUL preserves the architecture.


What Cannot Be Burned

Franco banned Catalan. Books were burned.

Wilhelm Reich's work was burned, in the United States, in the 1950s.

Professor Bernd Senf spent decades carefully reconstructing what was lost.

When the soul of a book lives in SOUL format on IPFS,

you can delete an incarnation.

You cannot delete the meaning.

A .soul file is plain 7-bit ASCII.

Readable since 1963.

It carries its own specification, a time capsule.

In 50 years, someone opens this repo.

No CrowdWare. No cloud. No permission needed.

They read the spec. They reconstruct every language version.

The meaning survived.

Low German is fading.

42 languages in Guatemala are endangered.

Catalan remembers what suppression feels like.

SOUL gives every language a reason to exist and a way to survive.


CrowdBooks — Anyone Can Publish

SOUL connects directly to CrowdBooks, a decentralized book platform on IPFS.

You speak → Whisper → Text → SOUL → IPFS
Reader opens → SOUL from IPFS → their language → Bookreader
Enter fullscreen mode Exit fullscreen mode

Anyone can write a book.

Anyone can encode it into SOUL.

Anyone can add a language, just add a translation table.

The Bookreader needs no update.

Publish in German today.

Add Spanish next month when a native speaker curates the dictionary.

Add Hebrew when someone who reads it tells us the concepts are right.

Every language that gets a dictionary becomes a language this book can speak.


What I'm Looking For

This is the call.

Testers — clone the repo, run the example texts, tell me where the translation feels wrong. The ice cream story is there. The Danish barefoot walk. Read it in your language and tell me what's missing.

Native speakers, especially Low German, Catalan, Mam, Kaqchikel, Portuguese. Every concept in the dictionary was placed by software. It needs human eyes. Your eyes. One correction from a native speaker is worth more than a thousand AI iterations.

Linguists, the concept model is young and surely wrong in ways I cannot see. Words like hygge, saudade, Weltanschauung, ubuntu, concepts that carry entire worldviews, need careful handling. Tell me what I'm missing.

Developers — Go, SML, IPFS. Small stack. Clean. Documented. Clone it, build it, break it. PRs welcome on Codeberg.


The Bigger Picture

I'm not doing this for money.

I'm doing it because I can and because it needs doing.

Somewhere between Socrates asking questions in Athens,

Gandhi refusing to participate in a system that needed everyone's compliance,

and an elder in Guatemala speaking Mam to a child, there is a thread.

The thread is this:

meaning matters more than the vessel it travels in.

SOUL is just a vessel.

A very careful one.


Try It

git clone https://codeberg.org/CrowdWare/soul-go
cd soul-go
# see README for setup
soul encode -l de example/eiswaffel.md
soul render -l es example/eiswaffel.soul
soul render -l nds example/eiswaffel.soul
Enter fullscreen mode Exit fullscreen mode

Read the Low German version aloud.

See what comes back.



CrowdWare — Lutherstadt Wittenberg — 2026

Cause no harm to any living being.

Top comments (0)