How to Prompt AI to Translate Text and Keep the Tone

Naive translation prompts get the words right and the tone wrong. Here is a two-pass prompting method, with a before/after example, that keeps a casual message casual and a formal one formal.

Steve Jefferson
Steve Jefferson
Developer Advocate
21 August 20261 min read

Ask an AI model to translate a sentence and it usually gets the words right and the tone wrong. A casual joke between friends comes back sounding like a memo. A warm thank-you note reads like a legal notice. This happens because a plain "translate this" prompt asks the model to do two jobs at once, convert meaning and preserve voice, and when those goals compete, most models default to the safer one. The fix is a two-pass prompt: a literal draft first, then a second pass that names the source tone explicitly, casual, formal, sales, or technical, instead of hoping the model infers it. Here is how to run it, with a real before-and-after example.

Why naive translation prompts flatten tone

A one-line prompt like "translate this into Spanish, keep the tone" fails for a specific reason: it never says what the tone actually is. The model has to guess register from cues buried in the source text, contractions, exclamation points, a missing greeting, and those cues get lost while it's also busy converting meaning. Language models generate the most probable continuation of a prompt, and the most probable translation of most sentences is the neutral, textbook-correct one, not the most true-to-voice one. That bias comes from training data skewing formal and edited, not from a fixed rule every model follows identically. For the mechanics behind why this happens, see how a large language model predicts text.

The model isn't broken, it's answering a question you didn't fully ask. "Translate this" is a meaning question. "Translate this and sound like the same person said it" is a style question. Bundling both into one instruction forces the model to prioritize, and it usually picks correctness over voice.

The two-pass method that actually keeps tone

Instead of one prompt trying to do both jobs, split it into two. This is the same underlying idea behind most of the reliable patterns in prompt engineering: break a compound task into steps the model can do one at a time, rather than asking for everything in a single instruction.

Pass one: get a literal, unstyled draft

Ask for a translation that prioritizes literal accuracy over style, and tell the model explicitly not to adjust tone yet. This gives you two things: a stable base text to check for meaning errors, and a clean separation between "did it get the meaning right" and "did it get the voice right." If something is wrong at this stage, it's a translation problem, not a tone problem, and you fix it before layering style back on.

Pass two: name the source tone and ask for a register match

This is the step most people skip, and it matters most. Don't say "keep the tone." Say what the tone is: casual, formal, sales, technical, or some specific combination. Then ask the model to rewrite the literal draft so a native speaker would recognize that register, not just understand the meaning. It's the same register-naming trick behind getting AI to match your brand voice in any language: the model needs a label, not an assumption.

A reusable template for both passes looks like this.

text
PASS 1 - Literal draft
Translate the following text into [target language]. Prioritize literal accuracy over style. Do not adjust tone yet.

Text: "[source text]"

---

PASS 2 - Tone match
Here is a literal translation of a [casual / formal / sales / technical] source text.
Rewrite it in [target language] so a native speaker would recognize it as [casual / formal / sales / technical] in tone, not just accurate in meaning.
Match the register, sentence rhythm, and level of directness of the original.
If any phrase is an idiom, joke, or culturally specific reference that would not land the same way for a [target language] speaker, flag it instead of translating it literally, and suggest a natural local equivalent or explain briefly why it doesn't translate.

Literal draft: "[paste Pass 1 output]"
Original source tone: [casual / formal / sales / technical]
Target audience: [who will read this]

Before and after: watching the tone disappear, then come back

To make this concrete, here is an illustrative example I wrote for this post, a short casual English message translated into French, first with a plain one-pass prompt, then with the two-pass method above. These are examples written to demonstrate the pattern, not quotes pulled from any tool.

Source text (casual, to a friend): "Hey, sorry for the radio silence, work's been insane. Let's grab coffee soon, my treat!"

Flat first-pass translation: "Bonjour, je m'excuse pour le manque de communication. Le travail a été très intense. Nous devrions nous rencontrer pour prendre un café bientôt, ce sera moi qui paierai."

Tone-corrected second pass: "Salut, désolé pour le silence radio, le boulot a été dingue. On se fait un café bientôt, c'est moi qui invite !"

Both versions are grammatically correct French. Only the second one sounds like a text from a friend. The first pass reaches for "je m'excuse" and a full formal sentence structure, the kind of phrasing you'd expect in a customer service email. The second pass uses contractions, informal vocabulary like "boulot" and "dingue," drops the greeting formality, and keeps the exclamation point's energy. Nobody had to tell the model French grammar was wrong the first time. The words were fine. The register was the entire problem, and naming it explicitly is what fixed it.

Idioms and culturally specific humor: flag it, don't force it

There's a specific failure mode inside the tone problem that deserves its own instruction: idioms, wordplay, and culturally specific jokes. Translated literally, "it's raining cats and dogs" means nothing in most other languages, and a pun built on two English words sounding alike almost never survives translation. Left unaddressed, one of two things happens: the model translates the idiom word for word into something confusing, or it quietly drops the joke and flattens the line, which is its own tone failure.

The fix is the instruction already in the pass-two template above: tell the model to flag anything culturally specific instead of forcing a literal translation, and to propose a natural local equivalent or explain briefly why it doesn't carry over. That turns a silent failure into a visible one you can review, instead of shipping a translation that just reads strangely.

Applying this to real work

Business writing lives on a narrow register, so the tone problem shows up hardest there. A cold outreach email translated too formally reads stiff and gets ignored, too casually reads unprofessional. Naming the source tone as "sales" specifically, rather than just "formal," matters here, since sales copy is usually more direct and confident than standard formal writing. If you're translating the same kind of content repeatedly, support replies, product descriptions, save the pass-two prompt as a template and reuse it with only the tone label and audience changed, the same principle behind getting consistent AI output across many pieces of content.

If output still reads stiff after both passes, the usual culprit is a tone label that's too broad, or a missing audience line (casual for a close friend and casual for a company Slack channel aren't the same register). Add an audience line and treat it like fixing any other underperforming prompt: isolate what's underspecified rather than rewriting from scratch. It's also worth testing this structure across whichever models you use, since some follow an explicit tone label more closely than others, and that variance is normal rather than a sign the technique is broken.

FAQ

Can I combine the two passes into one prompt? For short, simple text, sometimes. For anything longer or more nuanced, the two-pass version is more reliable because it stops the model from trading off accuracy against tone in a single instruction, and gives you a checkpoint to catch meaning errors before style is layered on.

How do I know what tone label to use? Describe the source text in one word, the way you'd describe it to a colleague: casual, formal, sales, technical, playful, urgent. If unsure, look at signals, contractions and exclamation points suggest casual, hedged phrasing suggests formal, short imperative sentences suggest sales or technical.

Does this work for languages with formal and informal address, like tu and vous in French? Yes, and it's worth specifying directly. Add a line naming which form to use rather than leaving it to the tone label alone, since "casual" doesn't automatically tell the model which is appropriate for the relationship in your text.

Will AI translation ever sound fully native without a human editing pass? Often close, not always exact. The two-pass method closes most of the gap for everyday writing, but for anything published externally, marketing copy, legal text, public support content, a native speaker review is still the safest final step.

Do I need to name the target audience every time? For short, low-stakes text, no. For anything where tone matters, a customer-facing email or marketing copy, yes. The audience line is what turns "casual" from a vague adjective into something the model can act on consistently.

How did this land?

About the author

Steve Jefferson
Steve Jefferson

Developer Advocate

Steve builds something with Swarmz every week and writes up what worked, what broke, and what he'd do differently. Tutorials and hands-on guides are his lane.

Share

Get the next post in your inbox

One email a month. Product updates, engineering posts, and the best of Built with Swarmz.

I agree to receive emails about AI building tips and Swarmz product news. Unsubscribe any time.