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.