Can AI Handle Restaurant Menu Translation Without Mistakes?

Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Can AI Handle Restaurant Menu Translation Without Mistakes?
Coding Liquids tutorial cover featuring Sagnik Bhattacharya for Can AI Handle Restaurant Menu Translation Without Mistakes?

AI can translate a menu well enough to draft from, but not well enough to print unchecked. Keep each dish's own name, let the AI translate only the description, copy allergens from your kitchen's allergen sheet rather than letting the AI interpret them, then back-translate every line and have a fluent person approve it before a guest sees it.

The slips that hurt a restaurant are rarely grammar. A literal pass turns "sweetbreads" into a pastry, "hot honey" into warm honey and "nuts" into walnuts only. Dish names and allergen lines break first, so the method below protects those two things and lets the AI do the rest: wording, tone and layout.

Follow me on Instagram@sagnikteaches

Where a quick AI pass goes wrong on a menu

A menu is an awkward text to translate. The lines are short, many names are not meant to be translated at all, and a handful of sentences carry legal or medical weight. Six kinds of line deserve a rule of their own, and the table shows what a quick pass tends to do with each.

Connect on LinkedInSagnik Bhattacharya
Kind of lineWhat a quick pass tends to doWhat it costs youRule that prevents it
Dish names with idioms or local names ("ropa vieja", "toad in the hole")Translates the words, so "ropa vieja" arrives as "old clothes"Guests cannot recognise the dish or ask for it by nameKeep the name; translate what the dish is
Ingredient words with two meanings ("sweetbreads", "hot", "batter")Picks the everyday meaningA pastry where there should be offal; warm where you meant spicySpell the ingredient out in the master sheet, then check by back-translation
Cooking terms ("blackened", "devilled", "confit")Swaps in the nearest common wordA wrong picture of texture, heat or richnessAdd a one-line gloss in the sheet
Allergen statements ("contains tree nuts", "may contain sesame")Paraphrases, merges or drops itemsThe one error that can put a guest in hospitalFixed phrases approved by a person; nothing generated per menu
Diet and claim words (vegetarian, vegan, gluten-free, halal)Adds the word because the description sounds plausibleA claim you cannot back upClaims come from your records; the AI copies them and never adds them
Prices, sizes and unitsReformats numbers, separators or currencyA price that reads differently from the tillKeep numbers out of the AI step and paste them in afterwards

Notice what is missing from that table: grammar. Chat assistants usually write fluent menu copy in widely spoken languages, which is exactly why the errors above are dangerous. A fluent sentence that says the wrong thing looks finished.

Subscribe on YouTube@sagnikteaches

One note on scope. Photo menu translators exist, and they are built mainly for diners. Transpic's menu translator, for one, reads a menu photo and places editable translated text over the image, with export rules that depend on the plan. Its page is frank about the limits: it can surface allergen words that are printed on the menu, such as nuts or gluten, but it says it cannot identify unlisted ingredients or detect cross-contact, and it tells users to keep the original beside the translation and compare dish names, serving sizes and prices. That advice is sound. The steps below turn the same caution into a routine for the restaurant that writes the menu.

Build one master sheet before you open a chat

Translation goes wrong when the AI has to guess what is in a dish, so start with a sheet where nothing is a guess. One row per dish, one column per fact. The allergen column is filled in by whoever knows the recipe, from recipe cards and supplier specification sheets, never from how the menu describes the dish. If you have no allergen record yet, building it is the real work, and the allergen matrix tutorial shows how to draft one from your recipes and then verify it. For the English descriptions themselves, see writing menu descriptions that still sound like you.

Here are four rows from an illustrative 24-dish sheet.

IDDish name (kept as is)Plain descriptionAllergens (from kitchen records)Diet flag
M07Cacio e pepeSpaghetti with grated pecorino and black pepperWheat (gluten), milkNone until the cheese specification is checked
S03Toad in the holePork sausages baked in batter, with onion gravyWheat (gluten), egg, milk, celeryNone
M12Ropa viejaShredded beef in tomato sauce, with white riceCeleryNone
S09Sweetbreads on toastPan-fried calf sweetbreads (the thymus gland, not a sweet bread) on toastWheat (gluten), milkNone

Three columns do most of the protecting. "Dish name" is never sent for translation. "Plain description" is one sentence in plain words, so the sweetbreads row says what the ingredient is and gives the AI nothing to guess. "Diet flag" stays empty unless a record supports it. Take the cacio e pepe row: a description of pasta, cheese and pepper sounds vegetarian, but many traditional hard cheeses are made with animal rennet, so the flag waits for the cheese specification. That is a kitchen fact, and no translation tool can know it.

Add two more columns that never go near the AI: "Checked by" and "Date". They turn the sheet into a record you would be glad to show an inspector or an insurer, and they tell the next person when each row was last confirmed.

The translation prompt, and what a good first pass returns

Paste ten rows or fewer at a time, because long batches drift. The prompt below protects the names, keeps the AI away from allergens and diet flags, and makes it report its doubts instead of resolving them silently.

You are translating a restaurant menu into Spanish for guests who read Spanish.
Rules:
1. Never translate a dish name. Copy it exactly as written in the "Dish name" column.
2. Translate only the "Plain description" column, in short, natural menu wording.
3. Do not add, remove or reword any ingredient. If a word could mean two
   different things, do not choose: list it in the last column.
4. Do not touch the "Allergens" or "Diet flag" columns. Leave them out of your
   answer. I will add approved wording myself.
5. Return a table with four columns: ID | Dish name (unchanged) | Spanish
   description | Words you were unsure about.

[paste up to ten rows from the master sheet here]

An illustrative first pass for the four rows above looks like this.

IDDish nameSpanish descriptionWhat the AI flagged
M07Cacio e pepeEspaguetis con pecorino y pimienta negraNothing
S03Toad in the holeSalchichas de cerdo horneadas en masa, con salsa de cebolla"Batter": I used "masa"; a guest may picture bread dough
M12Ropa viejaTernera deshebrada en salsa de tomate, con arroz blancoNothing
S09Sweetbreads on toastMollejas de ternera salteadas sobre tostada"Sweetbreads": I used the offal meaning, not a sweet pastry

What I would keep and what I would change. The names are untouched, which is the point of rule 1. Both flagged words are answered by the master sheet, so I would type the answers into a glossary column ("batter = thin pouring mixture, not dough") and reuse them for every language. The "masa" choice goes to the human checker, because only a fluent reader knows whether that word suggests bread to a guest. A fluent reader would also catch something the AI did not flag: "horneadas en masa" can be read as "baked en masse", so that phrase needs rewording whichever word for batter they settle on. Notice that nothing in the output mentions gluten, milk or celery: the allergen column stayed with you.

Back-translation: let a second chat mark the first one's homework

Open a new chat so the second pass has not seen your original, and paste only the Spanish. If the same chat does both jobs it can simply echo the original, and you learn nothing. The second prompt asks for the opposite of polish.

Translate this Spanish menu text into English as literally as you can. Do not
try to make it sound better. Keep dish names exactly as they are. If a Spanish
word could mean two different foods, show both meanings in brackets.

[paste only the Spanish descriptions here]

Put the original and the return trip side by side in your sheet and mark each line pass, review or error. Differences in word order or style are not defects. Differences in an ingredient, a quantity, a cooking method or an allergen are. These six rows, all illustrative, show the kinds of slip that survive a careful prompt.

Original lineSpanish first passBack-translationVerdict
Spaghetti with pecorino and black pepperEspaguetis con pecorino y pimienta negraSpaghetti with pecorino and black pepperPass
Crispy squid with garlic mayoCalamares crujientes con mayonesa de ajoCrispy squid with garlic mayonnaisePass (allergens come from the sheet)
Beef cheek, mash, red wine jusCarrillera de ternera con puré y jugo de vino tintoVeal cheek with mash and red wine juiceReview: many readers take "jugo" as fruit juice, so ask the checker for a sauce word; "ternera" coming back as veal is normal, but confirm it suits your beef
Honey-glazed carrots with hazelnutsZanahorias glaseadas con miel y nuecesHoney-glazed carrots with walnutsError: the nut changed; it should be "avellanas"
Hot honey wingsAlitas con miel calienteWings with warm honeyError: "caliente" means warm; use "picante"
Calf sweetbreads on toastMollejas sobre tostadaSweetbreads (or gizzards) on toastReview: without "de ternera", "mollejas" can mean poultry gizzards; put the animal back

The last row shows why the prompt asks for both meanings in brackets. A smooth back-translation would have returned "sweetbreads on toast" and hidden the fact that the Spanish no longer says which animal, or even which organ, is on the plate.

Two limits are worth knowing. Back-translation catches drift, not shared misunderstanding: if both directions share a blind spot, a wrong term can survive the round trip, which is why a person still signs off. It also says nothing about tone, so a line can be exact and still sound curt or comic to a native reader. Using a different assistant for the return trip gives you a second opinion. A dedicated translator such as DeepL is another option, and its glossary lets you pin how named terms translate, although on its Free plan the entries stay in your browser rather than your account (DeepL help centre).

Allergen lines: fixed phrases, approved once by a person

Allergen wording is the one place where I would not let the AI write anything new. Two rules do the work: the kitchen decides what is in a dish, and a person decides how each allergen is said in each language, once.

First, know which list applies to you, because lists differ. Some name nine groups: milk, eggs, fish, crustacean shellfish, tree nuts, peanuts, wheat, soybeans and sesame. Others name fourteen, adding celery, mustard, lupin, molluscs and sulphites and naming gluten-containing cereals rather than wheat alone (both from official food-regulator pages). Ask your local food-safety authority which list governs your menu, because the translation has to follow it.

Second, keep a phrase bank. These are the sentences and allergen names that appear on every menu: the "tell our staff about allergies" line, the "contains" and "may contain" lead-ins, and each allergen name. Translate each once, have a fluent person approve it, store it in the sheet and let staff paste it. The AI never regenerates them, which removes the failure where a new draft quietly rephrases an allergen.

English phraseSpanish line (illustrative)Why it is fixed
If you have any allergies, please tell our staff before you order.Si tiene alguna alergia, avise a nuestro personal antes de pedir.The same invitation on every page and table card
Contains:Contiene:The lead-in has to be unambiguous
May contain traces of:Puede contener trazas de:A precautionary statement, not a recipe statement; never invented by the AI
Tree nutsFrutos de cáscara"Nueces" usually means walnuts, so it can read as excluding hazelnuts and cashews
PeanutsCacahuetesPeanuts are a separate group from tree nuts
Cereals containing gluten (wheat)Cereales con gluten (trigo)Names the grain, because "gluten" alone hides which one
MolluscsMoluscos"Shellfish" in English can mean molluscs or crustaceans, so each gets its own word

The Spanish column is an illustration. Your fluent checker approves the exact wording, because the term used on an allergen list can differ by market. Peanuts are "cacahuetes" to some Spanish-speaking guests and "maní" to others, and Spanish allergen material written for some markets says "nueces de árbol" where an official list elsewhere says "frutos de cáscara". Ask the checker to match the words your guests and your regulator use. The point is the process: the line is approved once and reused, never improvised.

Here is how the improvised version can fail. Left to translate the English line "Contains tree nuts" on its own, a first draft can return "Contiene nueces", which reads as walnuts. A guest allergic to hazelnuts or cashews could take that as not applying to them.

The same caution covers claims. Do not let the AI add "gluten-free", "nut-free" or "vegan" to a line. In some markets "gluten-free" is a defined claim, and "may contain" statements are voluntary and cannot stand in for good kitchen practice (one food regulator's allergen page says as much). A claim goes on the menu only when a record backs it. For a way to record cross-contact risks before you decide on a "may contain" line, see the cross-contact risk log tutorial, and for layout see allergen icons and dietary labels before you print.

Who signs it off, and what that costs

You have four realistic options for the human check, and they can be combined.

  • A fluent member of staff. Quickest and free. Ask them to compare against the master sheet rather than read from memory.
  • A regular guest or friend who reads the language daily. Good for tone: ask them to read the printed proof as a guest would.
  • A freelance translator or proofreader. The best choice for the allergen phrase bank, because you pay once and reuse the result.
  • A translation service. One published price point: Gengo lists human translation from $0.09 a word at its Standard level and from $0.18 at Advanced, with no minimum order (its pricing page, as of October 2026).

That last price gives you a ceiling. A 600-word menu bought outright as human translation would cost about $54 at the Standard rate and $108 at Advanced, per language. A proofread of AI text is a smaller job than a translation, so ask any freelancer for a quote on that basis.

Whoever checks needs a short brief, or they will read for style and miss the things that matter:

  1. Read each dish name as a name. Is it kept, spelled the same way throughout and accented as the original is?
  2. Read each description as a guest would. Would you know what you were ordering?
  3. Compare every ingredient with the English column. Has anything been added, dropped or swapped?
  4. Check each allergen word against the phrase bank, and check that the "contains" line matches the allergen cell for that dish.
  5. Look for words that mean something different on a menu, or in the region your guests come from.
  6. Check that the register, formal or friendly, is the same on every line.
  7. Sign and date the row.

A 24-dish menu, from sheet to printed card, with the clock running

For the main example, picture a neighbourhood restaurant with a 24-dish menu that wants a Spanish version for a printed card and a QR page. Nine dish names are native names kept as they are, four are idioms, and the descriptions total about 600 words. Every figure here is illustrative, but the sequence is the one I would follow.

StepTimeWhat came out
Master sheet: 24 rows, allergens from recipe cards40 minThree rows had no allergen record, so the chef filled them in; two diet flags came off because no record backed them
First pass in three batches of eight10 minThe AI listed seven unsure words; I answered them in the sheet's glossary column
Back-translation in a new chat10 minNine of 24 lines differ from the original
Review of the nine differences20 minThree real errors, four wording drifts, two harmless
Fluent reader checks the whole card45 minThree more fixes: a formal register in one footer line, a regional word for potato, an unclear gloss
Fix the lines, re-run the back-translation on the changed ones, sign off20 minTen lines changed in total

The total is 145 minutes, or 2 hours 25. Because the sheet already exists, a second language skips the first step and takes about 1 hour 45. One of the ten changed lines touched an allergen-relevant word: the hazelnuts that had become walnuts, which is why the back-translation step is there. Seven of the ten came from the back-translation, and a quick read of the Spanish would probably have passed every one of them, because every line was fluent.

The cost in money is small next to the cost in attention. The AI steps take minutes on any chat plan that lets you paste a table, and the human check is the only part you might pay for, at a fraction of the $54 to $108 ceiling above.

Specials boards, supplier swaps and the next reprint

A menu is not finished when it prints. Three situations break a translated menu after the sign-off, and each has a small rule.

Daily specials. Type them into the sheet. Photographing a chalkboard and asking the AI to translate it adds a reading step that can go wrong before translation even starts. Build specials from fixed frames, such as "Soup of the day: [ingredients]", so only the ingredients change.

Supplier swaps. Say your supplier replaces the basil pesto with a version that contains cashews. The sequence is: change the allergen cell in the master sheet, rebuild the English and Spanish allergen lines from the phrase bank, re-check the Spanish description only if the ingredient wording changed, date and initial the row, then withdraw the old table cards. If the menu is also on a page behind a QR code, the page can be corrected the same day, which is one reason to lay both out together (see printable and QR menus in Canva).

Reprints. Put the version date in a corner of every printed card, and make a reprint the trigger for a fresh pass through the sheet: any row not confirmed in the last three months gets re-checked.

Where AI saves time once names and allergens are safe

With the names and allergens protected, the AI is useful for work around the edges.

An ambiguity list. Ask it: "List every word in this menu that could mean something different to a diner than to a cook." The answer becomes a glossary for every language. An illustrative result: "batter (coating or pancake mix)", "jus (sauce or juice)", "hot (spicy or heated)", "pudding (dessert or savoury dish)".

Staff phrase cards. Have it draft the five questions staff most need in the guest's language ("Do you have any allergies?", "Is this dish spicy?") with the pronunciation spelled out for the team. Send them to the same checker who signs the menu.

Fitting the card. Translations often run longer than the English, so ask the AI to trim descriptions to the space on your card, then run the trimmed rows through the back-translation again. Trimming is when ingredients quietly disappear.

None of this needs special software: a spreadsheet, two chat windows and one fluent reader. What it needs is the habit of treating the sheet, not the chat, as the source of truth.

Questions restaurant owners ask before translating a menu

Which AI is best for translating a menu?

No single tool wins on every language, and rankings change monthly. Test two assistants on the same five awkward dishes: an idiom name, a word with two meanings, a spicy dish, a cooking term and an allergen line. Back-translate the results and keep the tool that needs fewer corrections. A dedicated translator such as DeepL helps if you want a glossary that pins your dish names.

Do I need a professional translator if I use AI?

You need a fluent human check, not always a professional translator. A bilingual member of staff can compare names and descriptions with your master sheet. For allergen wording I would pay a professional proofreader to approve the phrase bank once, because you then reuse those approved lines on every menu in that language.

Can I just photograph my menu and translate the photo?

You can, but typing the dishes into a sheet first is safer. A photo adds a reading step that can misread a handwritten special or a price, and it skips your allergen column entirely. Photo translators suit a guest reading your menu on a phone. They are not a way to produce a printed card.

How often should a translated menu be rechecked?

Whenever an ingredient, supplier or recipe changes, and at every reprint. Update the allergen cell in the master sheet first. The translated allergen line is then rebuilt from the approved phrase bank rather than regenerated by AI, and the row is dated and initialled again.

Further reads

Sources: official food-regulator allergen pages (nine-group and fourteen-group lists; voluntary precautionary statements); DeepL help centre (glossary feature); Gengo pricing page; Transpic menu translator page. All checked October 2026.

Want your menu sheet and phrase bank set up properly?

On a 1:1 call we'd build your master menu sheet, set the translation and back-translation prompts, and decide who signs off each language and how often.

Book a 1:1 call with me