What Happens When You Ask an AI Model a Question in a Language It Barely Knows
10 min read · updated August 11, 2026
It does not refuse, and it does not say the language is unfamiliar. It produces confident text, and the ways that text is wrong are specific and predictable enough to recognise even if you cannot read it.
What the distribution looks like
A model is a function from a token sequence to a distribution over the next token. Nothing in that function has a mode for “I have not seen enough of this”. When the context is in a language with almost no representation in training, the distribution does not become empty or uniform; it becomes dominated by whatever else the model has seen in similar-looking contexts. That is the entire mechanism, and every failure mode below is a consequence of it.
Three things fill that vacuum, in roughly this order of strength: the script’s highest-frequency neighbours (a related language written the same way), the global prior (English, which dominates the corpus), and surface-level morphological patterns learned from languages with similar shapes. The model is not guessing at your language. It is producing the most probable continuation given a context it has weak statistics for, and the most probable continuation is drawn from somewhere else.
The six failure modes
These are distinguishable, and knowing which one you have tells you whether a prompt change can help.
- Immediate language substitution. You ask in the target language; the first token is English. The instruction to answer in the language was implicit, and the model’s prior for “answer” overrode the weak signal from the prompt. This is the most benign case, because it is honest about what happened and an explicit instruction usually fixes it.
- Mid-answer code-switching. The response starts in the target language and drifts into English — often at the first technical noun, then permanently. Each token is sampled given the preceding ones; once two or three English tokens are in the context, the local statistics favour English strongly, and the switch is self-reinforcing. This is the same runaway-drift mechanism that makes spelling conventions decay over a long document.
- Drift into a related higher-resource language. Ask in Tigrinya and get Amharic; ask in Nynorsk and get Bokmål; ask in a regional variety and get the metropolitan standard. Script and vocabulary overlap make the neighbour a high-probability continuation, and the output is fluent, which is what makes this the hardest mode to catch. This is the same mechanism behind every dialect-steering page in this cluster, from Cantonese collapsing into Standard Written Chinese to Belgian Dutch collapsing into Netherlands Dutch.
- Invented morphology. The output uses real words with affixes that do not exist, or applies a productive pattern from a related language to a stem that does not take it. Grammatical agreement fails in ways a learner would not fail: gender marked on the wrong word, a case ending borrowed from a neighbouring language, plurals formed by the wrong one of several competing rules. Fluent to a non-speaker, immediately wrong to a speaker.
- Script-correct nonsense. The characters are from the right script and the token sequence is locally plausible, but the text does not parse as sentences. This is the byte-fallback regime showing through — when a language is tokenized into byte fragments, the model is effectively predicting spelling rather than words. It is the visible end of the tokenizer vocabulary bottleneck.
- Degenerate repetition. A phrase or clause repeats until the token limit. This happens when the distribution has no strong candidate and the highest-probability continuation of a sequence is the sequence again. It is the one mode sampling parameters affect much: it is far more common at low temperature.
Why English leaks back in
Three separate pressures push toward English and they compound.
Corpus share is the obvious one: English is the plurality of the pretraining data, so it is the fallback prior for anything the model is uncertain about. Instruction tuning is the less obvious one and may matter more — the post-training data that teaches a model to follow instructions and to be helpful is far more English-skewed than the pretraining corpus, so the behaviour of answering is more tightly bound to English than the knowledge being answered from.
The third is technical vocabulary. Many languages simply use English terms for software concepts, so the training data itself code-switches, and the model reproduces a real pattern. This one is not an error; it is a register question, and the answer differs by language and audience. It is worth separating from genuine drift before you spend effort suppressing it.
Why it never says it does not know
Calibration and competence are different quantities. The model’s output distribution says how likely a token is to follow in text like its training data. It does not encode how much training data existed for this language, because that quantity was never a feature the model could observe. Low data produces a distribution that is confidently wrong rather than visibly uncertain, and the sampler picks from it in exactly the same way either way.
Instruction tuning makes this worse, not better. A model trained to be helpful and to answer has had unhelpful non-answers penalised. “I do not have reliable knowledge of this language” is precisely such a non-answer, and it is unlikely to be produced unless the language was rare enough in training to have appeared in refusal examples — which is a coverage problem in itself. If you need the model to abstain, you have to ask for abstention explicitly and give it a permitted way to do so.
Detecting it without speaking the language
You can get a usable signal in a few minutes without a speaker.
- Round-trip. Ask for output in the target language, then in a fresh conversation ask a different model to translate it back to English. Semantic collapse in the round trip is a strong signal, and using a different model avoids a model agreeing with its own errors.
- Script-share check. Compute the proportion of output characters in the target script. A response that is 60% Latin when the target language is written in Geʽez is code-switching, and you did not have to read a word of it to know.
- Repetition check. Count distinct trigrams as a fraction of total trigrams. A ratio far below what you see in the same model’s English output at the same length is degenerate repetition.
- Neighbour check. Run automatic language identification over the output and check that the returned code is the one you asked for, not a close relative. Note that identifiers themselves struggle exactly where models do, so a low-confidence result is itself informative — see distinguishing similar languages in detection.
- Consistency check. Ask the same factual question five times at temperature 0.7 and compare answers. In a language the model knows, the answers agree on substance. In one it does not, they diverge on facts as well as wording.
None of these tells you the output is correct. They tell you when it is definitely not, which is enough to decide whether a human reviewer is required before anything ships.