Skip to contentNew: Does ChatGPT recommend your brand? Free 60-second AI visibility check →
By The DDH Team · Digital Dashboard Hub

How to Write Prompts for Non-English Output

The fix for shaky non-English output is almost never the model — it's an under-specified prompt. Name the exact language and locale, lock it in the system prompt, and show one short sample.

By The DDH Team at Digital Dashboard HubUpdated

To get reliable non-English output, write the instruction in (or alongside) the target language, name the exact language and locale (for example **Brazilian Portuguese**, not just "Portuguese"), put that rule in a system prompt so it persists, and include one short sample in the target language to anchor tone, register, and script. That four-part recipe — language + locale + persistence + a sample — fixes the large majority of "it keeps drifting back to English" problems.

Modern frontier models are strongly multilingual, so the bottleneck is usually instruction clarity, not capability. For the official model-specific guidance see the OpenAI prompt engineering guide, the Claude prompt engineering overview, and Google's prompting strategies. If you want a structured starting point, the Translation Prompt Generator and the ChatGPT Prompt Generator both build locale-aware prompts for you — free, no signup, free forever.

Digital Dashboard Hub

Writing good prompts for ONE AI is hard. Writing them for GPT-5, Claude, Gemini, Perplexity, Midjourney and 6 more is a full-time job. DDH's AI Prompt Builder writes once, runs everywhere — locked to your niche, voice, and brand tone.

Free 14 days, no card.

What to specify for non-English output (and why)

Feature
Dimension
Specify it explicitly?
Why it matters
Language + locale (e.g. pt-BR)Generic language name leaves script and regional conventions to chance
Formality / address (usted, vous, Sie)Encoded grammatically in most languages; wrong choice reads as rude or too casual
Script (Simplified/Traditional, Cyrillic/Latin)Several languages use more than one writing system
One-shot tone sampleAnchors register far better than adjectives that vary by culture
Untranslatables policy + glossaryPrevents inconsistent handling of product names and technical terms
Locale formatting (date, decimal, currency)Models may default to US/English conventions otherwise
Persistence (system prompt vs. one message)A single user-turn instruction drifts back to English over a long chat

Sources: [OpenAI prompt guide](https://platform.openai.com/docs/guides/prompt-engineering), [Claude prompt engineering](https://docs.claude.com/en/docs/build-with-claude/prompt-engineering/overview), [Google prompting strategies](https://ai.google.dev/gemini-api/docs/prompting-strategies), [W3C language tags](https://www.w3.org/International/articles/language-tags/). Verified June 2026.

Why models drift back to English (and how to stop it)

Large language models are trained on a corpus that skews heavily toward English, so English is the path of least resistance. When your instruction is ambiguous — or when the conversation history is mostly English — the model quietly reverts. The cure is to remove the ambiguity and make the target language the persistent default rather than a one-off request.

Three failure modes account for most of the drift. **Drift over a long conversation**: you ask for French once, then five turns later it answers in English because the rule lived in a single user message instead of the system prompt. **Locale collapse**: you said "Spanish" and got a generic blend instead of the **Mexican** or **Castilian** variant you needed, with the wrong vocabulary and currency formatting. **Register mismatch**: the model used informal "tú"/"du" address where your brand needs formal "usted"/"Sie". Each is fixable with one explicit line in the prompt.

The single most effective move is to set the language rule in the system prompt, because that instruction applies to every turn. See how to write a system prompt for the general pattern; the language rule is just one durable instruction among others.


Specify language AND locale — they are not the same

"Translate to Chinese" is under-specified: the model has to guess between Simplified and Traditional script, and between Mainland, Taiwan, Hong Kong, or Singapore conventions. "Write in **Simplified Chinese (Mainland China, zh-CN)**" removes the guesswork. The same applies across languages — Brazilian vs. European Portuguese, Latin American vs. Castilian Spanish, Canadian vs. France French all differ in vocabulary, spelling, date and number formatting, and idiom.

Use a BCP-47 language tag (such as `pt-BR`, `es-MX`, `zh-Hant-TW`) when you can — it is unambiguous and machine-readable, which is handy if the output feeds another system. For human-readable prompts, naming the country plus the script is just as clear: "Traditional Chinese as used in Taiwan."

Locale also governs formatting the model might otherwise get wrong: thousands separators (1,000 vs. 1.000), decimal commas, 24-hour vs. 12-hour clocks, date order (DD/MM vs. MM/DD), and currency symbols and placement. If formatting matters for your output, state the locale convention explicitly rather than assuming the model infers it from the language name.


Lock tone, formality, and script with a short sample

Telling beats showing for rules, but showing beats telling for style. After you state the language and locale, include one or two sentences of sample output in the target language that demonstrate the register and tone you want. This is a one-shot example, and it anchors the model far more reliably than an adjective like "professional" — which means different things across cultures.

Be explicit about the formality axis, because most non-English languages encode it grammatically. Specify formal vs. informal address (vous/tu, usted/tú, Sie/du, keigo vs. casual in Japanese). State whether you want gender-neutral phrasing where the language allows it. And name the script when more than one exists — Serbian can be Cyrillic or Latin; Japanese mixes kanji, hiragana, and katakana with house-style choices about which to prefer.

If you are producing customer-facing copy, pair this with a defined audience. The Customer Persona Generator helps you describe who the reader is, which in turn makes the formality and tone decisions obvious instead of arbitrary.


Tell the model how to handle untranslatables and English fragments

Real-world text is rarely 100% one language. Product names, technical terms, code, URLs, and brand taglines often stay in English even in a French or Japanese document. If you don't say what to do, the model will make an inconsistent call — translating your product name on one line and leaving it on the next.

Add a one-line policy: for example, "Keep product names, code, and the brand tagline in English; translate everything else into Japanese. On first use of a kept English term, add a short gloss in parentheses." This is the kind of rule that separates amateur from production-grade localization output.

For terms that have an established local translation, you can supply a small glossary inline ("render 'dashboard' as 'tablero', not 'panel de control'"). A short, explicit term list eliminates the most common reviewer complaints and keeps terminology consistent across a long document.


Before / after: a non-English prompt that holds up

Here is a vague prompt that drifts and produces generic, wrong-register output:

``` Write a welcome email in Spanish for new customers of our software. ```

It doesn't say which Spanish, how formal, what to do with the product name, or what tone the brand uses. Now the locked-down version, ideally placed in the system prompt:

``` You write all output in Latin American Spanish (es-MX). Use the formal "usted" register throughout. Keep the product name "DataDeck" in English; translate everything else. Use the local number/date format (DD/MM/AAAA, decimal comma). Mirror this tone sample: SAMPLE: "Le damos la bienvenida a DataDeck. Estamos a su disposición para ayudarle a comenzar." TASK: Write a 120-word welcome email for new customers. End with a clear call to action to schedule onboarding. ```

The result stays in es-MX, keeps "DataDeck" intact, uses "usted" consistently, and matches the supplied tone — turn after turn, because the rule lives in the system prompt. For a deeper comparison of how models handle multilingual work, see best AI for translation 2026 and our multi-modal prompting guide for image-plus-language tasks like translating text inside screenshots.

How to write a prompt for reliable non-English output

  1. 1

    Name the exact language and locale

    State the language plus the regional variant and script — e.g. "Brazilian Portuguese (pt-BR)" or "Traditional Chinese, Taiwan (zh-Hant-TW)". Use a BCP-47 tag when the output feeds another system.

  2. 2

    Put the language rule in the system prompt

    Move the instruction from a one-off user message into a persistent system prompt so it applies to every turn and survives long conversations. See how to write a system prompt.

  3. 3

    Set formality and any gender/script choices

    Specify formal vs. informal address (usted/tú, vous/tu, Sie/du, keigo), gender-neutral phrasing where allowed, and the script when more than one exists. These are grammatical decisions the model otherwise guesses.

  4. 4

    Show one short tone sample

    Add one or two sentences of target-language output that demonstrate the register and voice you want. This one-shot anchor outperforms abstract adjectives like "professional" or "friendly".

  5. 5

    Define the untranslatables policy and a mini-glossary

    Say which terms stay in English (product names, code, brand taglines) and supply preferred translations for any ambiguous terms — e.g. "render 'dashboard' as 'tablero'". This keeps terminology consistent across a long document.

  6. 6

    Pin locale formatting and verify with a native speaker

    State date order, decimal/thousands separators, clock format, and currency placement. For anything published or customer-facing, have a fluent speaker review — models can produce subtle register or idiom errors that read as off-brand.

Frequently Asked Questions

How do I get ChatGPT to respond in another language?

Name the exact language and locale (e.g. "reply only in Brazilian Portuguese, pt-BR") and, for multi-turn chats, put that rule in a custom instruction or system prompt so it persists across every turn. Adding one short sample in the target language locks the tone. See the OpenAI prompt guide.

Why does the AI keep switching back to English?

Because the language rule lived in a single user message and the model defaulted to its English-heavy training as the conversation grew. Move the instruction into the system prompt so it applies to every response, not just the first one.

How do I specify a regional dialect like Mexican Spanish or Brazilian Portuguese?

State the country and, where relevant, the script: "Latin American Spanish (es-MX)" or "Brazilian Portuguese (pt-BR)". A BCP-47 tag is the most unambiguous form, and you can add locale formatting rules for dates, decimals, and currency.

How do I control formality when prompting in French, German, or Japanese?

Say it directly: "use the formal vous", "use Sie throughout", or "use polite keigo". Most non-English languages encode formality grammatically, so naming the register prevents the model from picking an inconsistent or too-casual form.

Should I write my prompt in English or in the target language?

Either works on modern models, but the most reliable pattern is an English instruction that names the target language plus a short sample written in that language. Writing the whole prompt in the target language can also help reinforce the output language.

How do I stop the model from translating product names and technical terms?

Add an untranslatables policy: "Keep product names, code, and the brand tagline in English; translate everything else." For consistency, supply a small glossary of preferred translations for any ambiguous terms.

Which AI model is best for non-English output?

The frontier models from OpenAI, Anthropic, and Google are all strongly multilingual, so prompt clarity usually matters more than model choice. For a side-by-side look at multilingual strengths, see best AI for translation 2026 and how to choose an AI model 2026.

How do I make sure the non-English output is actually correct?

Pin the locale, give a tone sample, and supply a glossary to reduce errors — then have a fluent native speaker review anything published or customer-facing. Models can produce subtle register, idiom, or formatting mistakes that read as off-brand.

Build a locale-aware prompt in seconds.

The Translation Prompt Generator scaffolds language, locale, formality, and glossary rules for you — free, no signup, free forever. Part of 40+ free prompt tools.

Browse all prompt tools →