Back to blog
Engineering17 min read

Why Does the AI Answer in English When I Asked in Another Language?

Your input language is a default, not an instruction. Seven causes of an English answer, what each vendor publishes per surface, and 29 copy-paste prompts to pin the output language.

NH
Nafiul Hasan
Founder, Prompt Architects

TL;DR: The AI answers in English because your input language is a default, not an instruction, and seven things quietly outrank it: English custom instructions, a short prompt, one English turn, technical vocabulary, a JSON or table request, an interface language setting, and weak support for your language. State the output language explicitly.

Why does the AI answer in English when I asked in another language?

Because the language you typed in is a hint the model usually follows, not a setting it obeys. OpenAI says so in its own words. On its help centre page about using the API with text in different languages, read on 29 August 2026, it describes the behaviour as a tendency: "Write your prompt in Spanish, and you’re likely to receive a response in Spanish." The same paragraph adds that a French question means the model "will usually reply in French."

Likely. Usually. Those two hedges are the whole story. When the AI answers in the wrong language, something in the context outvoted a default that was never strong to begin with.

The useful part is that the causes are separable, and each has a different fix:

  1. Standing instructions written in English. Custom instructions, a system prompt, or project instructions set the register before your message arrives.
  2. A prompt too short to carry a language signal. One word, a proper noun, a URL, a code snippet.
  3. Mid-conversation drift. One English turn and the thread flips.
  4. Technical vocabulary. The surrounding words are overwhelmingly English even when your sentence is not.
  5. The output format. Asking for JSON, code or a table drags the prose along with the scaffolding.
  6. An interface or account language that differs from what you typed.
  7. Genuinely weaker support for your language, where quality drops and the model falls back to what it does best.

If you want the broader decision of which language to prompt in, we covered that separately in prompting AI in languages other than English. This page is about the failure, not the strategy.

What actually decides the answer's language?

Three things, in descending order of reliability: a standing instruction, an instruction inside the prompt, and the model's own inference from context. Only the first two are yours to control.

Anthropic is the only major vendor that documents this directly. Its multilingual support page for the API, read 29 August 2026, says: "Claude infers the response language from the conversation, but for production applications you should state the target language explicitly." It then names the system prompt as the place to put it: "The most reliable place to do this is the system prompt, which keeps the instruction stable across every turn of a conversation."

LayerWhat it isHow reliable
Standing instructionCustom instructions, system prompt, project or Gem instructionsStrongest. Applies to every turn, including ones you forget to label
In-prompt instructionA line in the message itselfStrong for that turn. Weakens as the thread grows
Inference from contextThe model reading your input languageWeakest. Outvoted by any of the seven causes above
Interface language settingThe menu language of the appUsually irrelevant to the answer. See the table further down

That last row is the one that costs people the most time. It looks like a language control and mostly is not.

Is an English system prompt setting the language for you?

This is the most common cause and the easiest to miss, because the instruction is invisible at the moment you type.

Custom instructions are not a per-chat setting. OpenAI's help centre states that "Your custom instructions are applied immediately to all chats." If yours say "You are a senior analyst. Be concise. Use bullet points," you have handed the model a block of English that arrives before every message you send, in every conversation, forever. The model is not ignoring your Polish question. It is reconciling your Polish question with a standing English brief, and English wins more often than it loses.

The fix is not to delete the instructions. It is to write the language line into them, in the target language, so the standing instruction pulls the same way your prompt does. That is a one-time edit that fixes every future chat at once, which is the argument for keeping these blocks somewhere you can edit rather than retyping them.

Why do short prompts, code and JSON pull the answer to English?

Because there is not enough of your language in the context to outweigh what else is there.

A one-word prompt, a proper noun, a URL, or a pasted stack trace carries almost no language signal. Neither does a technical question where most of the nouns are English regardless of what language you speak: useEffect, Kubernetes, OAuth, changelog. Your sentence may be Turkish, but two thirds of the tokens are not.

Structured output makes this worse in a predictable way. Ask for JSON and you get English keys, because that is the convention. Ask for a table and you get English column headers. Once that scaffolding is English, the prose inside it drifts to match. This is the same class of problem as format instructions being ignored, with the same shape of fix: stop giving one instruction for the whole output, and specify the parts separately.

OpenAI's guidance points the same way: "For the best results, keep your entire prompt in one language whenever possible. This helps the model stay consistent in its responses." That is advice you often cannot follow, because the code and the error message are not negotiable. When you cannot follow it, name the split explicitly instead of hoping the model guesses which half you meant.

Why does the thread flip to English after one turn?

Because the conversation is the context, and you just changed it.

One English follow-up, one pasted English document, one copied error message, and the balance of the thread tips. The next answer comes back in English, and every answer after that does too. It is a cousin of the consistency problem we wrote about in why you get a different answer every time: nothing broke, the inputs simply are not what you think they are.

Re-anchoring works better than arguing. Do not ask why it switched. State the language again, in that language, and add the scope: headings, labels, code comments, everything. If you re-anchor twice in one conversation, start a fresh chat with the language instruction at the top, because you are now fighting the accumulated weight of the thread.

Does the interface language setting control the reply?

Mostly no, and the vendors disagree about how clearly they say so. This is worth checking per surface rather than assuming, because the answer differs.

Vendor help centres, read 29 August 2026. App surfaces only.
FeatureChatGPT (app)Claude (app)Gemini (app)
Published interface-language list59 languages, English not listed11 languages71 entries, page says "more than 70"
How the setting is chosenAuto-detected from browser or device; overridable in SettingsPicked from the profile menuFollows browser or device on web; picked in Settings on Android
Does the vendor say it affects reply language?Not publishedSays noSays no
Per-language quality data on the app surfaceNot publishedNot publishedNot published
Regional variants in the listNoneSpanish (Spain), Spanish (Latin America), Portuguese (Brazilian)Chinese (Simplified/Traditional/Hong Kong) as one entry

Google is the most explicit. Its Gemini Apps help page says the setting "changes the language for the menu, notifications, and other text in Gemini Apps", and then, unambiguously: "Regardless of this setting, Gemini Apps can understand and reply in any supported language when you type your prompt or speak in Gemini Live." A separate Google page states the Gemini web app "is currently available in more than 70 languages and over 230 countries and territories."

Anthropic says the same thing in fewer words on its help centre: "Even if you've changed your language settings, you can still chat with Claude in any language." Its published interface list is eleven languages, which is a fraction of what the model handles.

OpenAI publishes a list of 59 languages you can set ChatGPT to, and says it will "automatically detect your browser or mobile device’s language and update ChatGPT’s language to match for supported languages". What it does not publish, anywhere on that page, is whether the setting influences the language the model answers in. Treat that as unknown rather than assuming either way.

Is the model just weaker in my language?

Sometimes, yes, and it is measurable. Anthropic publishes per-language evaluation scores expressed as a percentage of English performance, footnoted as run with extended thinking. On that table, Spanish sits at 98.2% and Yoruba at 79.7% for Claude Sonnet 4.5. On Claude Haiku 4.5, Spanish holds at 96.4% while Yoruba falls to 52.7%.

The gap between those two columns is the finding. Smaller models do not degrade evenly across languages; they degrade far more in lower-resource ones. OpenAI's multilingual MMLU results, published in its simple-evals repository and read 29 August 2026, show the same shape across the 2025-generation models it lists: Yoruba scores 0.780 on the strongest and 0.455 on the smallest, while Spanish moves only from 0.911 to 0.748. The benchmark is shared, incidentally. Anthropic's page credits the same dataset, and OpenAI's file says "we translated MMLU’s test set into 14 languages using professional human translators."

Two consequences. If quality collapses rather than the language merely slipping, switching to a larger model beats rewriting the prompt. And no vendor publishes any of this for its consumer app, so on ChatGPT or Gemini you are inferring from benchmark data collected somewhere else.

Which variety of your language did you actually ask for?

Here is the harder half, and the one no prompt fixes on its own: for many languages the useful question is not which language, but which variety.

"Spanish" does not choose between Spain and Latin America. "Portuguese" does not choose between Brazil and Portugal. "Serbian" does not choose Cyrillic or Latin, "Norwegian" does not choose Bokmål or Nynorsk, and "Chinese" does not choose Simplified or Traditional. The vendors' own lists show they know this and handle it inconsistently: Anthropic's interface list separates Spanish (Spain) from Spanish (Latin America), while OpenAI's list carries no regional variants at all.

A model will happily produce a fluent answer in the wrong register, the wrong script, or the wrong regional standard, and fluency is not correctness. Confident, grammatical Peninsular Spanish sent to a Mexican customer is still wrong. Anthropic's own guidance is worth taking literally here: "Submit text in its native script rather than transliteration for optimal results."

If you want tooling that stores these instruction blocks per language rather than retyped per chat, we surveyed what actually exists in the best multilingual AI prompt tools. Most publish nothing about language at all, which is its own answer.

That includes us, and we should say so plainly. Checked on 29 August 2026, none of our own /faq, /features or /pricing pages publishes any claim about output-language or multilingual support. The prompts on this page are model-side instructions, not a product feature we are selling you. Save them wherever you keep your reusable blocks.

29 copy-paste prompts to lock the output language

Replace [LANGUAGE] with your language, [VARIETY] with the regional standard, [SCRIPT] where a language has more than one, and [REGISTER] with the formality you need. Each block is one prompt.

Set the output language explicitly

1. Output language: [LANGUAGE] ([VARIETY]). Reply only in [LANGUAGE], including headings, labels, lists and any code comments.

2. Answer in [LANGUAGE]. Do not include an English translation, a summary in English, or English section titles.

3. I am writing to you in [LANGUAGE]. Answer in [LANGUAGE] regardless of the language of anything I paste below this line.

4. Two languages, two jobs. Read and reason over the source material in whatever language it is in. Write every word of your answer in [LANGUAGE].

5. Reply in [LANGUAGE] using [SCRIPT] script. Do not transliterate into Latin characters at any point.

Make it a standing instruction

6. Add to your custom instructions, written in the target language:
   Responde siempre en [LANGUAGE] ([VARIETY]), en todos los chats, salvo que te pida explícitamente otro idioma.

7. System prompt: Always respond in [LANGUAGE] ([VARIETY]), regardless of the language the user writes in. This applies to every turn of every conversation.

8. System prompt with a named exception: Respond in [LANGUAGE]. The only exceptions are code identifiers, library names, and error strings, which stay in their original form.

9. Project instruction: Every artefact produced in this project is written in [LANGUAGE] ([VARIETY]), register [REGISTER]. Flag anything you cannot express naturally in that variety rather than silently switching.

10. Before you answer, restate in one line which output language you are using and why. Then answer in [LANGUAGE].

Re-anchor after a drift

11. You switched to English. Return to [LANGUAGE] and stay there for the rest of this conversation, including headings and code comments.

12. Reset. From this message onward: output language [LANGUAGE] ([VARIETY]). Rewrite your last answer in that language before continuing.

13. I pasted an English document. That was source material, not a language instruction. Continue answering in [LANGUAGE].

14. For the rest of this thread, begin every response with the marker [[LANG: [LANGUAGE]]] so I can see when the language slips.

15. Translate your previous answer into [LANGUAGE] ([VARIETY]), preserving structure and formatting exactly, then continue the task in that language.

Structured output, field by field

16. Return JSON. Keys in English exactly as specified in the schema. All string values in [LANGUAGE] ([VARIETY]). No English text inside any value.

17. Return JSON with both keys and values in [LANGUAGE]. Use [SCRIPT] script for keys and confirm the consumer accepts non-ASCII keys before you rely on this.

18. Return a Markdown table. Column headers in [LANGUAGE]. Cell contents in [LANGUAGE]. Do not add an English header row.

19. Produce a bulleted summary in [LANGUAGE]. Keep every product name, brand, and technical identifier exactly as written in the source, untranslated.

20. Output two blocks. Block A: the structured data with English keys. Block B: the same content as prose in [LANGUAGE]. Do not merge them.

Technical content and do-not-translate lists

21. Explain this code in [LANGUAGE]. Keep function names, variable names, library names and error strings in their original form. Translate only the explanation.

22. Do-not-translate list: [TERM 1], [TERM 2], [TERM 3]. Reproduce these exactly as written, in their original script. Everything else in [LANGUAGE].

23. Write the commit message body in [LANGUAGE] and the subject line in English, under 72 characters.

24. Review this error in [LANGUAGE]. Quote the original English error text verbatim once, then discuss it entirely in [LANGUAGE].

Variety, script and register

25. Write in [LANGUAGE] as used in [COUNTRY OR REGION]. Use the vocabulary, spelling and date format of that variety, not a neutral international blend.

26. Register: [REGISTER]. Address the reader as [FORM OF ADDRESS] throughout, and do not switch forms mid-document.

27. Write in [LANGUAGE] ([VARIETY]). List at the end any three word choices where another regional variety would differ, so I can check them.

28. Write this in [LANGUAGE], then flag any sentence that reads as translated rather than natively written, and rewrite those sentences.

Audit before you ship

29. Review the text below as a native speaker of [LANGUAGE] ([VARIETY]) would. Report only: wrong register, wrong regional variety, calques from English, and anything a native speaker would not write. Do not rewrite it, and do not comment on the content.

A 60-second diagnostic

Run these in order. Stop at the first one that changes the behaviour.

  1. Open your custom instructions. If they are in English, that is your cause. Rewrite the language line in the target language.
  2. Start a fresh chat and send the same prompt with Output language: [LANGUAGE] on its own first line. If that works, the old thread had drifted.
  3. Count the English in your prompt. Pasted code, logs, or a quoted document will outweigh a short question.
  4. Check what you asked for. JSON, a table, or code carries English scaffolding by default. Specify the language per field.
  5. Check the app's language setting last, not first. Google and Anthropic both say it does not govern replies; OpenAI does not say either way.
  6. Try a larger model. If quality collapses rather than just the language slipping, this is the intervention that helps.
  7. Have a native speaker read it before it goes anywhere that matters.

Most of the time it is number one. The standing instruction you wrote six months ago in English is still arriving before every message, and rephrasing your question will not outrank it. Instructions that follow you into every chat need the same care as the prompt itself, which is the argument we made in how to make ChatGPT follow your instructions.

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 5.0★ on the Chrome Web Store.

Create An Account

Frequently asked questions

Free Chrome Extension

Stop rewriting prompts. Start shipping.

Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 5.0★ on the Chrome Web Store.

Create An Account