Code-switching
One sentence.Two languages.
Most of the world does not speak one language at a time. A Portuguese sentence carrying four English nouns, an English sentence with one word from home in the middle: you do it without noticing. Nearly every dictation tool has decided which language you are speaking before you finish the first clause, and the rest of the sentence pays for that decision.
The short answer
You can dictate a sentence that holds two languages, but only with a tool that never fixes one language for the whole recording. Two things have to be true. The transcriber has to infer language from the words as they arrive rather than from a setting, and whatever tidies the transcript afterwards has to be forbidden to translate. Miss either and you get one of two failures: the minority language rewritten as whatever it sounds like, or your English vocabulary politely translated into your own language.
Five failures
Five ways a mixed sentence comes apart.
Not one of these is about your pronunciation. They are what happens when a tool has one language slot and your sentence needs two.
| The case | What comes back | What should happen |
|---|---|---|
| One foreign word inside a sentence | "Vou fazer o deploy amanhã" arrives as "Vou fazer o diploma amanhã". The transcriber is in Portuguese, deploy is not a Portuguese word, so it lands on the nearest word that is. | The word survives as deploy, spelled the way your industry spells it, in a sentence that is otherwise untouched. |
| A clause that switches over | You open in one language and close in the other. The second half comes back as plausible-looking nonsense in the first language, or does not come back at all. | The switch is just a switch. Each half is transcribed in the language it was spoken in, with no seam where the languages meet. |
| The cleanup pass translating | Transcription was correct, and then something helpful turned deploy into implantação and commit into confirmação. Now the sentence is grammatical and unusable. | A cleanup pass fixes punctuation, capitalisation and hesitation. It never decides which language a word should have been in. |
| The variant collapsing | Mixed speech is where a Portuguese variant slips: you said equipa and manda-me, and the output reads equipe and me envie. The tool has drifted to whichever Portuguese dominates its training audio. | European and Brazilian forms come back exactly as spoken, English words included, because nothing is being normalised toward anything. |
| Product names and internal acronyms | Figma, Vercel and Supabase arrive as ordinary words or split in two. Your team's three-letter acronym becomes one word nobody recognises. | Nothing fixes this, including us. Let it be wrong while you talk and correct the names once at the end. |
Four of those five are decisions somebody made for you. Only the last one is genuinely hard.
Why it happens
The language is a setting, and your sentence is not.
One language is chosen per recording
Most tools ask which language you speak, or guess it from the first seconds of audio, then hold that answer until you let go of the key. A sentence carrying two languages sits outside that model of the world, so the smaller half gets pushed into the bigger one. This is the daily failure for anyone bilingual, and it has nothing to do with how well they pronounce anything.
Recognition is prediction inside a vocabulary
Speech to text does not decode sounds one by one. It predicts the most likely sequence of words given the audio and what came before. Narrow the vocabulary to one language and a foreign word has nowhere to land: the model still returns its best guess, and its best guess is a word from the language it was told you were speaking. It never reports that it was confused.
The tidying pass is a language model, and models like consistency
Anything that turns a raw transcript into clean text is a language model, and language models drift toward one language, one register, one variant. Left to itself it will translate a stray English noun for you, formalise your speech, and settle a Portuguese sentence into whichever variant it prefers. Stopping that is not a model problem. It is an instruction somebody has to write and mean.
No benchmark measures it, so nothing pressures anyone to fix it
Accuracy is published as word error rate on monolingual audio. Code-switching is absent from every number a dictation tool advertises, which means a product can score beautifully and still fall apart on the way half the planet actually talks. The gap is not in the research. It is in what gets measured.
So the fix is not a better model. It is two product decisions: never pin the language, and forbid the cleanup pass from translating. Both are free, and both have to be made on purpose.
Two minutes
Test any dictation tool on mixed speech.
Five sentences, each isolating one layer. Speak them into whatever you already use, keep the five outputs, and you will know more than any feature list can tell you. It works on any tool, ours included, and it takes longer to read than to run.
- 01
Start in one language, finish in the other
Say: "Amanhã de manhã revejo o documento and then I will send it to the client." Both halves should come back in the language they were spoken in. If the English arrives as Portuguese-looking words, the tool has one language slot and you have found it in nine seconds.
- 02
Drop single foreign words into a normal sentence
Say: "Já fiz o commit mas ainda não fiz o push." The two English nouns must stay English and stay spelled that way. This is the single most common shape of bilingual professional speech, and it is the one most tools fail.
- 03
Say three product names in a row
Say: "Abre o Figma, depois o Slack, e no fim o Notion." Expect some of these to be wrong. What you are checking is whether they come back as recognisable attempts you can fix in one pass, or as words so far off that you have to re-dictate the sentence.
- 04
Check your variant, with English in the sentence
If you speak European Portuguese, say: "A equipa manda-me o report amanhã." If you speak Brazilian Portuguese, say: "A equipe me manda o report amanhã." The output has to keep your forms. A tool that returns the other variant is normalising you, and once you see it once you will see it every day.
- 05
Read the filler, then read the meaning
Speak one long sentence with real hesitation in it. Two questions about the result. Did it remove the hesitation, and did it change any of your words while it was in there? Removing filler is the job. Rewriting the sentence to read better is a different product, and worth knowing about before you commit to it.
Keep the five outputs in a note. That is a baseline, and the next tool you try can be compared against it instead of against your memory of it.
What we do
No language setting to get wrong.
Sonira sends your audio to the transcriber with no language hint at all, deliberately, because forcing a language is exactly what mangles the other one. Language is inferred from the words, so it can change inside a sentence without anything having to be told in advance.
The pass that cleans the transcript is instructed, in as many words, to keep your exact wording and language or languages, never to translate, and never to change the variant or register. It fixes punctuation, capitalisation, hesitation and spoken commands. It has no licence to hold an opinion about which language a word belongs in, or about European against Brazilian Portuguese.
What it will not do: know your company's internal acronyms or this month's product names. Nothing will. Those are a one-pass fix at the end, for every tool on the market.
macOS today, signed and notarised. Windows is next, in the same codebase.
Two languages, one sentence, nothing to configure.
Who lives here
Developers speak this way all day.
A Portuguese or Brazilian developer's sentence is local grammar carrying English nouns: deploy, commit, branch, merge, pull request, build, endpoint, cache. Nobody says implantação. A tool that translates its way to consistency makes every message in the team channel unusable, and a tool with a language setting asks you to choose between your grammar and your vocabulary.
It is not only code. Design, marketing, finance and medicine all run on English nouns inside local sentences. If your work has a vocabulary, part of it is in English, and that part is what dictation loses first.
One habit worth keeping
Say the sentence the way you would say it to a colleague. The instinct to simplify for the machine, to pick one language and stay inside it, costs more than the errors do: you end up dictating a flattened version of yourself and then editing it back into shape.
FAQ
Mixed-language dictation, answered.
- 01Can I really dictate one sentence with two languages in it?
- Yes, with a tool that does not fix a language per recording. Sonira sends no language hint to the transcriber and forbids the cleanup pass from translating, so a sentence that switches from Portuguese to English mid-clause comes back with each half in the language it was spoken in.
- 02Do I have to tell the app which languages I speak?
- No. There is no language setting for dictation, by design. The language choice in onboarding sets the app's own interface language and is not sent with your audio or your text.
- 03Will it translate my English words into Portuguese?
- It must not. The instruction to the cleanup pass is explicit: keep the user's exact wording and language or languages, never translate, and leave each part in the language it was spoken in. If you ever see a translated word in your output, that is a bug worth telling us about, not a preference we set.
- 04Does it keep European and Brazilian Portuguese apart when English is mixed in?
- That is the same rule doing the work. Changing the variant or register is forbidden, so equipa stays equipa and manda-me stays manda-me, with English nouns in the middle of the sentence and no drift toward whichever Portuguese is more common online.
- 05Does this work for languages other than Portuguese and English?
- The transcriber is multilingual and the cleanup rules are written to be language-agnostic, so mixing Spanish, French or German with English works on the same mechanism. Our own testing is deepest in English, European Portuguese and Brazilian Portuguese, and that is the honest limit of what we have measured rather than assumed.
- 06Does mixing languages make dictation slower?
- No. The audio streams to the transcriber while you speak and the same single cleanup pass runs afterwards, whether the sentence held one language or three. There is no extra step for mixed speech to pay for.
Say it the way you actually say it.
Free while in beta. macOS today, Windows next.
European against Brazilian Portuguese, and what dictation does to both
Dictating in English when English is not your first language