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:
- A number that changed. If the English says 90 km/h, the translation has to say 90 km/h.
- A cricket word read in its everyday sense. A batter isn't cake mix, and a seam isn't the hem of a shirt.
- A "not" that went missing.
- A sentence that stopped halfway.
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:
| English | Machine translation | Which 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.
| English | Which 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:
| Hindi | Tamil | |
|---|---|---|
| lines with a cricket word in its everyday sense | 133 | 253 |
| "not" lost (read and confirmed) | 8 | 12 |
| a number changed | 6 | 7 |
| a sentence cut short | 10 | 24 |
| 35 lines read in full: wrong / garbled | 11 / 4 | 16 / 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:
- Cricket and physics words stay in English. So do the everyday English words people already use in Tamil or Hindi, like ball, speed, simple and practice. The explaining, the verbs and the grammar are in Tamil or Hindi.
- Write it the way people talk. Tamil like a good explainer video (நீங்க, இருக்கு, பண்ணுங்க, not the written நீங்கள், இருக்கிறது, செய்யுங்கள்). Hindi like a coach talking to a player, using तुम, not textbook Hindi. Neutral, not any one region's dialect.
- Endings attach to the English word the way people type them in chat: ball-ஐ, seam-ஓட, ball को, seam की.
- The textbook word goes in the glossary, not the lesson. Tap "drift" and you get what it means in simple English and in your language, the word your science book uses for it, and what not to confuse it with (turn, swing).
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."
Dip வேணும்னா wheel மாதிரி roll பண்ணு. Turn-க்கு seam batter-ஐப் பார்க்கணும். Drift-க்கு axis-ஐ கொஞ்சம் மேல tilt பண்ணு.
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:
காத்து 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.
காத்து பந்தைப் பக்கவாட்டுல தள்ளும். அதுதான் டிரிஃப்ட்.
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.
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:
- Every number and every live value is identical. A rewritten sentence can't quietly change a claim.
- Every glossary word in the English is still there, in English.
- If the English says "not", the mixed version needs a negative too. A mismatch goes to a person instead of being blocked, because sometimes the natural wording has no negative word in it. In our sample, "It doesn't" became அது தப்பு ("that's wrong"), which is right.
- A native speaker reviews the first lesson in every lab and spot-checks the rest.
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.
- Test with your real text, all of it. A demo sentence will look fine. Our whole course took 23 seconds to translate, so there's no reason to test only a sample.
- List your field's ordinary words that have special meanings. Ours were off, leg, pitch, seam, swing, turn and batter. Medicine, law and finance all have their own. That list is your test.
- Look for the mistakes that mislead, not for similarity. Changed numbers, special words read the everyday way, a missing "not", sentences that stop halfway. A similarity score against our own packs came out at about 37 to 38 for both languages, which tells you very little on its own. The flags are what found the problems.
- Then read 30 or so lines yourself, start to finish. Pattern checks miss things. A line that turns "not always" into "never" still has a negative word in it, so a simple "not" check lets it through.
- Protecting your special words fixes words, not meaning. Hiding them from the translator would have saved the batter from becoming thunder. It wouldn't have saved a single reversed sentence.
- If your app reads aloud, test the voice too, especially on mixed lines, and on more than one brand of phone.
- When you can't check a language, show English. A plain English line is a better fallback than a fluent sentence in your own language that says the opposite.
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 test app, which translates every line on the phone and times each one.
- The scoring scripts, with each language's list of cricket words, the everyday meanings that mislead, and how the language writes "not".
- All 1,102 English lines, our Hindi and Tamil packs, the translator's raw output, and the scored reports, line by line.
- The Tanglish and Hinglish sample lesson, and the test lines we play through the phone's voices.
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.
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.
Get CricCuts → The open dataRelated 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.