Ages 15–18 · Grades 9–12 · Computer Science · Vietnamese first
LocaleForge
One word, many languages. What does the code count?
A person reads phở as three letters. The software reading it sees three letters — but also five bytes, and, stored a different way, more code points than letters. “How long is this word?” has more than one true answer, and picking the wrong unit is how apps mangle Vietnamese names, cut off German buttons, and sort the alphabet wrong. Read the string, predict what the software measures, then check it against the real engine.
Every answer here is computed by the same Unicode and Intl tools a shipped app uses — nothing is made up. Runs on your device; nothing leaves it.
Loading the strings lab…
How are you feeling?
A case · you decide
Linh's name field
Linh, 16 — building the sign-up form for a community app used by Vietnamese and English speakers
Linh limits names to 10 characters by checking the string's length in bytes. A user called Nguyễn Thị Ánh is told her name is too long, and the sorted member list puts every name starting with Đ at the very end.
In UTF-8, 'ễ' takes several bytes. Counted by bytes, a short Vietnamese name looks long.
Sorting by raw code point puts Đ after Z. Vietnamese readers expect it right after D.
How should Linh measure the name length?
How should she sort the member list?
Ánh signed up on the first try. The member list reads in the order a Vietnamese reader would expect, and the English names are still where English readers look.
Who made this?
“In reality, every technology reflects decisions made by designers, companies, and communities, and carries the values and power of those choices.”
- Who benefits from this technology?
- Whose needs are ignored?
Brain break
What next? Pick a door
- More like this LibraryForge What does this helper function return? ShipForge Will this app pass review? KindForge Will this program compile?
- A bit harder FilterForge Is your filter fair and accurate? StateForge What screen does this state show? SyncForge Will both players see the same world?
- Something different CommonplaceForge Can you restate it in your words? HueForge Which colour pairing reads clearest? BallotQuest What does this ballot measure actually do?