Home / Blog / The batter became thunder
CricCuts Blog · Academy

The batter became
thunder.

We let a phone translate our cricket physics course into Tamil and Hindi. It finished the lot in 23 seconds, offline. It also switched off the pitch, turned the batter into thunder and flipped the answer to a quiz question. Here's what went wrong, what we're trying instead, and a short checklist if you're thinking of doing the same with your own app.

⏱ ~10 min read 🌐 Tamil · Hindi 📱 On-device AI 📂 Open data

The CricCuts Academy has a Science Lab. It teaches the physics behind cricket (why a ball swings, how a spinner makes it dip, what a heavier bat actually gets you) to students in Class 7 to 10, with simulators they can play with.

Plenty of the students we want to reach read Tamil, Hindi, Marathi or Kannada more comfortably than English. So we've drafted the lab in all four, with read-aloud in each. Each language is a pack of about 1,100 lines. A script checks that no number changed, and then the pack waits for a teacher to review it.

That's a lot of work for four languages, and Android supports dozens. Meanwhile, every Android phone can download Google's offline translator for free. So the obvious question was: why keep making packs? Why not let the phone translate the lab into whatever language the student uses?

It's a fair question, and I didn't want to answer it on a hunch. So we tested it.

The test

We built a small test app that does one job. It gives Google's on-device translator (ML Kit, version 17.0.3) every English line in the Science Lab, times each one and saves the result. That's all 1,102 lines: the lessons, the explanations, the labels on the diagrams and the simulator buttons. We ran it on a Xiaomi Pad 7, a recent mid-range tablet, into Hindi and Tamil, the two languages where we already had a pack to compare against.

Then a script went through every line. It didn't ask "does this match our pack?", because two good translations can word the same sentence differently. It looked for the mistakes that would actually mislead a student:

1,102
lines per language
23 s
for the whole course
14 ms
median per line
43–45 MB
model per language

Speed and size were fine. The whole course took 23 seconds. Each language is a one-time download of about 45 MB, and the app itself would grow by 16 MB for everyone. That's a real cost, but we'd have paid it if the translations had been good.

What came back

Here are a few lines, with what the translation actually says when you read it back in English:

EnglishMachine translationWhich says
away from the batterஇடி இருந்துfrom the thunder
turn off the pitchசுருதி அணைக்க
पिच को बंद करें
switch off the (musical) pitch
switch off the pitch
off stumpबंद स्टंपthe switched-off stump
Seam presentationமடிப்பு வழங்கல்supplying a fold
sweet spotஇனிப்பு ஸ்பாட்
मीठा स्थान
a spot that tastes sweet
sin 60°पाप 60 डिग्रीsin (the wrongdoing) 60°

It's funny until you picture a 13-year-old trying to learn from it. The cause is the same every time. The translator is very good at everyday language, and cricket is written almost entirely in everyday words with special meanings: off, leg, pitch, seam, swing, turn, drift, dip, length, batter, sweet spot. Every one of them is a trap.

Hindi and Tamil went wrong in different ways. In Hindi, single cricket words mostly survived: the batter became बल्लेबाज and the pitch stayed पिच, the way Hindi commentators say them. It was the phrases around them that broke. "Turn off the pitch" became an instruction to switch it off, the spinner's turn became बारी (your turn, as in a queue), and dip became डुबकी, a dunk in water. In Tamil, the cricket words themselves were lost. "Seam" became மடிப்பு, a fold, in 70 lines, and "batter" became இடி, thunder, in 31. Not once did either come back as the cricket word.

The one that worries me: a missing "not"

A wrong word is easy to spot, and students learn to read past it. A sentence that says the opposite of the English is much harder to catch.

EnglishWhich came back as
Top-spin (axis across the pitch) makes it dip.Top-spin (axis across the musical pitch), it does not dip.
Where the ball would reach the stumps if it didn't swing.If it swings there, the ball will reach the stumps.
Choose the bat you can swing fastest and most accurately, not the heaviest you can lift.Choose the bat you can swing fastest and most accurately, the heaviest you can lift.
No single change adds more than half a metre.Any change adds more than half a metre.

The first line is the answer to a lesson's Quick check. The whole lesson builds up to "top-spin makes the ball dip", and the Tamil answer says it doesn't. The third is advice from the power-hitting lab, and in Hindi it now tells you to pick the heaviest bat you can lift.

The student who needs the translation is exactly the student who can't tell that it contradicts the English.

That settled it for me. Some of these mistakes can be patched afterwards. You can protect the numbers. You can hide the cricket words from the translator and put them back afterwards, which would fix the thunder and the fold. But you can't fix a reversed sentence without understanding it, and if you could understand it, you wouldn't need the translator.

Here's the full count, from the script plus reading the flagged lines by hand:

HindiTamil
lines with a cricket word in its everyday sense133253
"not" lost (read and confirmed)812
a number changed67
a sentence cut short1024
35 lines read in full: wrong / garbled11 / 416 / 2

Sixteen of the 35 Tamil lines we read in full were wrong. You couldn't trust roughly every other sentence of that course. So the phone won't translate the Academy. We've written that down as a settled decision, so that nobody (me included, six months from now) quietly reopens it without new evidence.

Our own translations had the opposite problem

This part surprised me. Next to the machine's output, our packs were correct. They also read like a government textbook.

Our first drafts reached for the formal word every time. The pitch became ஆடுகளம், a spinner became சுழற்பந்து வீச்சாளர், and the Magnus lift became मैग्नस उत्थापन बल. All correct, and nobody talks like that: not a coach at the nets, not a Tamil cricket YouTuber, not a kid talking about last night's match. சுழற்பந்து வீச்சாளர் is a newspaper word. At the nets, the spinner is just the spinner.

So the machine went wrong on exactly the words people keep in English, and our careful drafts went wrong by translating those same words. That pointed us to the fix.

What we're trying instead: Tanglish and Hinglish

Instead of translating, we're writing each lesson the way a good teacher would actually say it, in the mix people really speak. For Tamil that mix is often called Tanglish, and for Hindi it's Hinglish. The rules are short:

The English words aren't a shortcut. They're part of what we're teaching. A student who learns "drift" inside a Tamil sentence today will recognise it in English commentary tomorrow.

Here's what it looks like. This is a coach's cue from our sample spin lesson: "Roll it like a wheel for dip. Seam at the batter for turn. Tilt the axis up for drift."

Tanglish

Dip வேணும்னா wheel மாதிரி roll பண்ணு. Turn-க்கு seam batter-ஐப் பார்க்கணும். Drift-க்கு axis-ஐ கொஞ்சம் மேல tilt பண்ணு.

Hinglish

Dip के लिए wheel की तरह roll करो। Turn के लिए seam batter की तरफ़। Drift के लिए axis को थोड़ा ऊपर tilt करो।

That's far closer to how coaches actually talk at the nets than anything a translator gave us, or our own formal drafts.

Which script for the English words?

The first real choice was how to write the English words. Here's one line, "The air pushes the ball sideways. That's drift.", written three ways:

A · English words in English letters

காத்து ball-ஐ பக்கவாட்டுல தள்ளும். அதுதான் drift.

Shows the English word the way it's spelled, so one glossary works for every language. Indian ads, news and chat already mix scripts like this.

B · English words in Tamil letters

காத்து பந்தைப் பக்கவாட்டுல தள்ளும். அதுதான் டிரிஃப்ட்.

The easiest to read aloud, but the student never sees the English spelling, and some words collide: "ball" in Tamil letters is பால், which is milk.

C · The whole line in English letters

Kaathu ball-a pakkavaattula thallum. Adhu thaan drift.

How lots of teenagers text. But there's no standard spelling, a phone's voice can't read it, and it drops the script a Tamil-medium student reads best.

We're leaning towards A. The risk with it isn't reading, it's listening. The lab reads every lesson aloud with the voice already on the phone, and a Tamil voice that hits an English word mid-sentence might mangle it.

Will the phone's voice read it?

We've checked one word so far. A Tamil lesson, read aloud by the phone's Tamil voice, reached the English word "speed", written in English letters inside the Tamil sentence. The voice said it in English, correctly, and carried on in Tamil. People mix English into Indian languages all the time, so we hoped the voices would cope, and this one did.

One word on one phone is a start, not a result. Next is a full set of test lines: look-alikes (bowl and ball), units like m/s inside a Tamil sentence, several cricket terms in a row, and a coach's cue. We'll play them on both Google's and Samsung's voices, since Samsung phones use Samsung's voice by default. If a voice stumbles on a word, we can hand it a Tamil-letter spelling to say, while the screen keeps showing the English.

How we keep it honest

An AI model writes each block fresh from the English, using the glossary and a one-page style guide for the language: how formal to be, which words stay English, how endings attach to them, and ten example lines. It doesn't go sentence by sentence. Then the same kinds of checks that caught the translator's mistakes run on every block before anything ships:

The full sample lesson ("The three kinds of spin") in English, Tanglish and Hinglish is in the open repo below. If you speak Tamil or Hindi, and especially if you teach, I'd love to hear where it sounds off.

If you're thinking of machine-translating your own app

Here's what I'd tell anyone building for Indian languages, after this experiment. None of it needs a big budget.

So, every language?

Not yet, and not this way. Each language still needs a pack, but a pack gets much cheaper to make. A new language is a style guide, one run of the pipeline and one review, and an edit to the English re-runs only the lines it changed. Until a language has a pack, the Academy shows English.

The test app and the data are open

Everything above is in a public repo: github.com/gklsndr/criccuts-academy-mt-probe. It has:

The scorer reads any model's output, so if you run a bigger translation model on a PC, you can score it on the same 1,102 lines without a phone. If you work on Indian-language translation or speech, it's a small, odd and very specific test set: everyday words with a technical meaning, and a known way to fail. I'd be glad to see how other models do on it.

⚠️
Before you quote a number. The packs we compared against are our own drafts. An AI model wrote them and a teacher hasn't reviewed them yet, so treat them as a rough answer key, not a gold standard. The 35 lines "read in full" were read by an AI assistant against the English. Their ids are in the repo, so you can read the same lines and disagree. This was one phone, one model version and two languages, on a course packed with exactly the words a general translator reads the everyday way. It says nothing about how well the same translator handles a shopping list.

None of this is a dig at the people who build on-device translation. A free, offline translator for dozens of languages that does a line in 14 ms on a mid-range tablet is remarkable. It's just the wrong tool for teaching cricket to a child who'll believe whatever it says.

Try the Science Lab

The Science Lab is in the CricCuts app, free and offline. Next updateHindi, Marathi, Tamil and Kannada arrive with the next update, as drafts we'd welcome your corrections on.

Get CricCuts → The open data

Related reading: why the future of AI is small models on the edge, many small models working together, and values, not side effects. More on the CricCuts blog.

Comments

Thoughts, questions, corrections — all welcome. No account needed.