Practice: reading the board at the cart
What you will be able to do
Stand at a made-to-order rice cart and read the board unaided: tell the header from the dish lines, pick a protein where the board offers a choice, spot the add-on lines at the bottom, and read the numeral column without guessing.
A stall board has no sentences. Every line is a compressed noun phrase followed by a number, and the cart supplies the grammar: the header names the genre, the middle lines are flavour word plus protein, and the lines at the bottom starting เพิ่ม, พิเศษ or + are modifiers that attach to whatever you ordered above.
This is the biggest text at the top of the board. What does it tell you about every line underneath?
อาหารตามสั่ง
อาหารตามสั่ง is aa-hǎan dtaam sàng, food made to order. It carries no number because it is not a dish; it is the genre label for the whole cart, and it tells you that you order in words rather than by pointing. The tray cart is the other kind, ข้าวแกง, where the curries are pre-cooked and you do point, so that option describes a different stall entirely. A set-meal-at-lunchtime reading is wrong because ตามสั่ง means precisely the opposite of a fixed menu, and the drinks are only ever a line or two at the bottom, never the whole board.
What is the slash between the two words doing here?
กะเพราหมู/ไก่ ๕๐
gà-phrao mǔu/gài. หมู (mǔu, pork) and ไก่ (gài, chicken) sit either side of the slash and one number covers both, so the slash is a choice, not a pairing. It lives only on the board: when you order you say one side of it, gà-phrao gài khráp, and if you forget, the cook fires back mǔu rěu gài, which is your cue rather than a rebuke. Nothing here means sold out, and the add-on egg is a separate line further down starting เพิ่ม. Note too that no บาท is written, as is usual on a board: a number at the end of a line rarely needs a label.
Two proteins, two numbers. Which reading is right?
ข้าวผัดหมู/กุ้ง ๕๐/๖๐
khâao phàt mǔu/gûng. Two slashes pair strictly in order: หมู is written first so it takes the first number, and กุ้ง (gûng, shrimp) takes the second. Reversing them gets it backwards, and shrimp is almost always the top tier on a cart, which makes the pattern predictable once you have seen it twice. The single-slash line above does offer a free choice, but only because it has one number; here there are two, so there is nothing to choose. And the portion sizes are not written on a dish line at all: the large one lives on its own พิเศษ line at the bottom.
Which of these reads forty-five?
Hand-painted and sun-bleached boards blur ๔ against ๕, so the pair has to be automatic.
๔ is sìi, four, and ๕ is hâa, five, so ๔๕ is sìi-sìp-hâa. ๕๔ is the same two digits the other way round, hâa-sìp-sìi; ๔๔ is sìi-sìp-sìi and ๕๕ is hâa-sìp-hâa. This is the pair the lesson warns about, because ๔ and ๕ blur badly in a hand-painted or faded hand and one stroke is all that separates them. Many carts now use Arabic numerals, but hand-painted boards and older stalls still use Thai ones, and in tourist areas the Thai-numeral board is sometimes the local list.
This sits near the bottom of the board. What is it?
เพิ่มไข่ดาว ๑๐
เพิ่ม (phôem, add) marks the start of the add-on section, and ไข่ดาว (khài daao) is a fried egg, so this attaches to whatever dish you have already chosen. Its position near the bottom is itself information: dishes are above, modifiers below. The omelette is a different line, ไข่เจียวหมูสับ, which is a dish you order on its own. Nothing on a board is free, or the line would not be there, and no ตามสั่ง cart sells raw eggs by the basket.
You add this line to your order. What arrives?
พิเศษ +๑๐
พิเศษ (phí-sèet) is the large portion, and the arithmetic + is standard board shorthand for เพิ่ม. Note what is missing: ธรรมดา (tham-má-daa), the regular size, is never written, because boards only write what deviates from the default. The signature-dish reading is the expensive mistake this line exists to catch; ask for พิเศษ expecting the house special and you simply get more of what you ordered, plus the extra. Chilli is not what พิเศษ controls, and a second plate would mean ordering a second line, not adding to this one.
The cook taps this line before the wok is even hot. What is being asked?
ใส่กล่อง +๕
ใส่กล่อง is sài glàwng, put it in a box. Carts pay for the foam box and pass that on, so eating in is literally cheaper than taking away. This is the written half of the question the cook will ask out loud before cooking starts, thaan thîi nîi rěu glàp bâan, eating here or taking home. Extra rice is its own line, ข้าวเปล่า; heat is not written on the board at all; and payment is settled at the end, never before the wok heats.
Which line on the board do you read out to the cook?
Your plate has arrived and you want a bare scoop of rice on the side as well.
ข้าวเปล่า is khâao bplàao: ข้าว is rice and เปล่า means plain or bare. The near neighbour is น้ำเปล่า, náam bplàao, which is the same เปล่า on น้ำ (water), so it gets you a bottle of drinking water instead. ข้าวผัด is khâao phàt, fried rice, which is a cooked dish rather than a plain scoop, and เพิ่มไข่ดาว adds a fried egg. Stall vocabulary recycles constantly: learn เปล่า once here and the water line comes free.
How should this line be read?
น้ำเปล่า ๑๐ น้ำอัดลม ๑๕
Two items crammed onto one line with nothing but a space between them, because real boards save space. The numeral is your only separator: when you hit a number, the item has ended, so น้ำเปล่า (náam bplàao, drinking water) closes and น้ำอัดลม (náam àt-lom, literally pressed wind, meaning carbonated) begins. Reading it as one drink in two sizes would make it a พิเศษ-style modifier, which is a different pattern with its own line. Ice and bottle deposits are not written on a cart board at all.
There is no cooking verb here at all. What comes on the plate?
หมูกระเทียม ๕๐
mǔu grà-thiam: just หมู (pork) plus กระเทียม (garlic), two bare nouns stacked, with the cart supplying both the cooking method and the rice. Menu Thai does this constantly, so if a line looks too short to be a dish it usually is a dish anyway. The other three are all real lines on the same board and each names its own flavour word: กะเพรา for holy basil, ซีอิ๊ว for the soy-sauce noodles, ไข่เจียว for the omelette. None of those words appears here.
Everything else on this board arrives over rice. What arrives here?
ผัดซีอิ๊วหมู ๕๐
phàt sii-íu mǔu. This is the standard exception to the over-rice default, and it is why the line keeps its ผัด when กะเพราหมู drops one: here ผัด is part of the dish's identity. Nearly every ตามสั่ง cart cooks two or three noodle plates alongside the rice ones. A curry ladled from a tray belongs to a ข้าวแกง cart, not this one; soup is not on the board; and rice fried with pork is the separate ข้าวผัด line. ซีอิ๊ว is a Teochew loanword, and the ๊ mark on it is your signal to suspect Chinese origin rather than fight the spelling.
The cook's own name for this is longer. What has the board left off?
กะเพราหมู
The full form is ผัดกะเพราหมูราดข้าว. ผัด (stir-fried) goes because the flavour word already implies it, and ราดข้าว (over rice) goes because a plate over rice is the default way food leaves this cart. What survives is the skeleton: flavour word plus protein. หมู stays precisely because it is what distinguishes this line from the chicken one, and กะเพรา stays because it is the dish's whole identity. A board keeps a word only when it does one of those two jobs. Recognise กะเพรา by shape, incidentally: it is the most misspelled word in Thailand and boards routinely write กระเพรา.
Which one is the garlic?
Two words on this board open with ก plus a cluster, and at arm's length they look almost alike.
กระเทียม is grà-thiam, garlic, the second half of หมูกระเทียม. Its near neighbour กะเพรา is gà-phrao, holy basil, a different flavour on a different line, and the two are easy to confuse at a glance because both open with ก and carry a cluster. ไก่ (gài) is chicken and กุ้ง (gûng) is shrimp; both are proteins rather than flavour words, which is why they turn up to the right of a flavour word and never instead of one. The protein words repeat on almost every line, so use them as anchors: everything to their left is the dish, everything to their right is the number.
Read it as head noun then filling. What comes to the table?
ไข่เจียวหมูสับ ๔๕
khài jiao mǔu sàp. Thai food names run head noun first, modifiers after: ไข่เจียว is the omelette, and หมูสับ (minced pork) tells you what is in it. Read left to right as the thing, then its filling, and the line resolves itself. A fried egg on top of something else would be ไข่ดาว, which is the add-on line at the bottom of the board, not this. Pork with egg stirred through reverses the head noun and the modifier, which is exactly the mistake this word order exists to prevent. The number here also forces you to tell ๔ from ๕.
Common mistake
พิเศษ never means the house speciality; it means a larger portion for the extra shown, with the regular size ธรรมดา left unwritten because it is the default. And when one line carries two proteins and two numbers, they pair strictly in order rather than offering a choice of number.