Translation that actually fits

Beginner gets simple structure. Fluent gets native rhythm. Written gets precision. Spoken gets flow. All combinations, one translator.

Demo

Your language, your level

Choose a thought and see how Levelang shapes it — simple structure at beginner, native rhythm at fluent. Casual or formal, written or spoken, every combination is different.

Mode
Mood
Beginner
Les étudiants ont bien compris la leçon? Je doute. Le professeur a expliqué deux fois.
lay-zay-tew-DYAHN zohng byahn kohn-PREE lah luh-SOHN? zhuh DOOT. luh proh-feh-SUHR ah zex-plee-KAY duh FWAH.
Three short sentences — doubt is expressed as a standalone reaction ("Je doute") rather than embedded in a complex clause. This is how a beginner communicates the same idea using only simple structures they already know: questions, statements, and basic past tense.
Intermediate
Je pense que les étudiants n’ont pas bien compris la leçon, même si le professeur l’a expliquée deux fois.
zhuh pahns kuh leh-zay-tew-DYAHN n’ohn PAH byahn kohn-PREE lah luh-SOHN, mem SEE luh proh-feh-SEUR lah-zex-plee-KAY deuh FWAH.
"Je pense que" (I think that) expresses doubt without the subjunctive — a natural way to say roughly the same thing with simpler grammar. "Même si" (even if) handles the concession because it takes the regular indicative, unlike "bien que" which would require the subjunctive. Everything flows as one connected sentence now.
Advanced
Je doute que les élèves aient entièrement compris la leçon, bien que le professeur l’ait expliquée deux fois.
zhuh DOOT kuh lay-zay-LEHV eh-yuh-zahn-tyair-MAHN kohn-PREE lah luh-SOHN, byahn kuh luh proh-feh-SUHR lah-yuh-tay-zex-plee-KAY duh FWAH.
The subjunctive appears: "douter que" (to doubt that) triggers "aient compris" (past subjunctive), and "bien que" (although) triggers "l'ait expliquée." This is the grammatical leap that defines advanced French — embedding doubt and concession into a single flowing sentence with three clauses. "Élèves" (pupils) is a slightly more refined word choice than "étudiants."
Fluent
Je doute que les élèves aient entièrement compris la leçon, même si le professeur l’a expliquée deux fois.
zhuh DOOT kuh lay-zay-LEHV zay ahn-tyair-MAHN kohn-PREE lah luh-SOHN, MEM see luh proh-feh-SEUR lah-zex-plee-KAY duh FWAH.
A native French speaker would keep the subjunctive for doubt ("douter que") but switch back to "même si" for the concession — it sounds more natural than "bien que" in everyday writing. The advanced version is grammatically correct but slightly stiff; this version reads the way a French person would actually write it.

Try the AI chat. We're building an AI conversation partner that speaks at your level — not above it.

How It Works

Three steps to communicating in any language

We don't just translate — we translate within the bounds of what you know.

🎯

1. Tell us where you are

Beginner through fluent, spoken or written, casual or formal — and more. Tell us where you are and how you want to communicate, so Levelang can shape the output to fit.

⚙️

2. We adapt the language

The whole translation adapts to your level. A beginner won't see the subjunctive in French, case endings in German, or aspect particles in Mandarin. At advanced, they appear — alongside the vocabulary and nuance that come with them.

3. You get something you can use

Not a translation over your head — something within your reach, in the form you'd actually hear or read it. Language you can understand, use, and be understood.

Language Modes

Written and spoken aren't the same language

Most translators give you textbook output regardless of context. Levelang supports distinct language modes — starting with written and spoken, the most fundamental divide. Spoken French drops the "ne" in negation. Spoken German restructures around particles. Same meaning, different language.

"I don't think the professor understood that we haven't finished the assignment yet."
Beginner
✏️ Written
Le professeur a compris? Je ne pense pas. Nous n’avons pas fini le devoir.
luh proh-feh-SUHR ah kohn-PREE? zhuh nuh pahns PAH. noo nah-VOHN pah fee-NEE luh duh-VWAHR.
🗣️ Spoken
Le prof a compris? Je pense pas. On n’a pas fini le devoir.
luh pruhf ah kohn-PREE? zhuh pahns PAH. ohn nah PAH fee-NEE luh duh-VWAHR.
Three changes transform the sentence from written to spoken. "Le prof" replaces "le professeur" — the everyday spoken shortening that every French learner hears immediately. "Je pense pas" drops the "ne" — in spoken French, negation is almost always just "pas" without the "ne." "On" replaces "nous" for "we" — the default spoken pronoun. Three small changes, completely different feel.
Intermediate
✏️ Written
Je pense que le professeur n’a pas compris que nous n’avons pas encore fini le devoir.
zhuh pahns kuh luh proh-feh-SEUR nah pah kohn-PREE kuh noo nah-VOHN pah ahn-KOR fee-NEE luh duh-VWAHR.
🗣️ Spoken
Je pense que le prof a pas compris qu’on a pas encore fini le devoir.
zhuh pahns kuh luh PROF ah pah kohn-PREE kohn ah pah ahn-KOR fee-NEE luh duh-VWAR.
The same ne-dropping pattern continues: "a pas compris" and "a pas encore fini" both lose their "ne." "Le prof" stays. "Qu’on" contracts "que on" — a natural spoken contraction. The sentence structure is identical to written, but every negation and pronoun shifts to its spoken form. Written intermediate explains carefully; spoken intermediate talks naturally.
Advanced
✏️ Written
Je ne pense pas que le professeur ait compris qu’on n’avait pas encore fini le devoir.
zhuh nuh pahns PAH kuh luh proh-feh-SEUR eh kohn-PREE kohn nah-VEH pahz ahn-KOR fee-NEE luh duh-VWAHR.
🗣️ Spoken
Je pense pas que le prof ait compris qu’on n’a pas encore fini le devoir.
zhuh pahns PAH kuh luh pruhf eh kohn-PREE kohn nah PAH ahn-KOR fee-NEE luh duh-VWAHR.
"Je pense pas que" — the negated opinion that triggers the subjunctive, but without the "ne." The subjunctive "ait compris" stays (it’s a grammatical requirement, not a register choice). "Le prof" for spoken vocabulary. "N’a pas" instead of written’s "n’avait pas" — spoken French tends toward simpler past tenses. The grammar is advanced but the delivery is conversational.
Fluent
✏️ Written
Je ne pense pas que le professeur ait compris que nous n’avons pas encore fini le devoir.
zhuh nuh pahns PAH kuh luh proh-feh-SUHR eh kohn-PREE kuh noo nah-VOHN pahz ahn-KOHR fee-NEE luh duh-VWAHR.
🗣️ Spoken
Je crois pas qu’le prof ait compris qu’on n’a pas encore fini le devoir.
zhuh krwah PAH kluh pruhf eh kohn-PREE kohn nah PAH ahn-KOHR fee-NEE luh duh-VWAHR.
"Je crois pas" replaces "je pense pas" — "croire" (to believe) is more natural than "penser" (to think) in casual spoken French for expressing opinions. "Qu’le prof" contracts "que le" — a distinctly spoken compression you’d hear in fast casual speech. The subjunctive stays, but everything around it reshapes into something you’d actually hear a French person say while chatting.
Supported Languages

Four languages, each with its own rules

Every language works differently — so every language gets its own set of level definitions, constraints, and mode rules.

🇫🇷 French
Full support
Beginner · Intermediate · Advanced · Fluent
Modes: Written · Spoken Moods: Casual · Formal
Beginner
Je suis content. Paris est beau. J'aime cette ville.
🇩🇪 German
Full support
Beginner · Intermediate · Advanced · Fluent
Modes: Written · Spoken Moods: Casual · Formal
Beginner
Ich bin froh. Berlin ist schön. Ich mag diese Stadt.
🇮🇹 Italian
Full support
Beginner · Intermediate · Advanced · Fluent
Modes: Written · Spoken Moods: Casual · Formal
Beginner
Sono contento. Roma è bella. Mi piace questa città.
🇨🇳 Mandarin Chinese
In development
Beginner · Advanced · Fluent
Modes: Spoken (default) · Written (advanced+) Moods: Casual · Formal
Beginner
我很高兴。北京很漂亮。我喜欢这个城市。
Wǒ hěn gāoxìng. Běijīng hěn piàoliang. Wǒ xǐhuān zhège chéngshì.
🇪🇸 Spanish
Coming soon
Language support in development
🇵🇱 Polish
Coming soon
Language support in development
🇭🇰 Cantonese
Coming soon
Language support in development
Early Access

Get Levelang on your phone

The mobile app is the fastest way to use Levelang. Available on iOS and Android — we're rolling out early access now.

Integrations

Add Levelang to your AI assistant

One URL. That's it. Point Claude, Cursor, or any MCP-compatible tool at the Levelang server and get level-aware translation in any conversation.

Configuration
{
  "mcpServers": {
    "levelang": {
      "url": "https://mcp.levelang.app/sse"
    }
  }
}
You
How would “If I had known the restaurant was closed, I would have chosen a different place” look at different levels in German?
Claude
levelang:translate_compare → deu, written, casual
Here’s how that sentence changes across levels:

Beginner
Das Restaurant war geschlossen. Ich habe das nicht gewusst. Ich habe dann einen anderen Ort gewählt.
Three separate facts — no way to express “if” yet.

Intermediate
Ich habe nicht gewusst, dass das Restaurant geschlossen war. Ich habe einen anderen Ort gewählt.
Can embed “that” (dass) but still can’t form the hypothetical.

Advanced
Wenn ich gewusst hätte, dass das Restaurant geschlossen war, hätte ich einen anderen Ort gewählt.
Full conditional with Konjunktiv II — one flowing sentence.
You
How do I say "I don't think we're going to be able to finish this before they close" in French? Like, something casual I'd actually say.
Claude
levelang:translate → fra, intermediate, casual, spoken
Here's a natural way to say that:

Je pense qu'on va pas pouvoir finir ça avant qu'ils ferment.

On va pas instead of nous n'allons pas — the ne drops and on replaces nous, which is how spoken French actually sounds.
You
How would a more advanced speaker say that?
Claude
levelang:translate → fra, advanced, casual, spoken
An advanced speaker would restructure the doubt itself:

Je pense pas qu'on puisse finir ça avant qu'ils ferment.

Instead of "I think we won't be able to," this says "I don't think we can" — negating penser triggers the subjunctive, so pouvoir becomes puisse.