The failure is not what people think it is
Ask anyone who has travelled and they will tell you a story about a comically bad menu translation. Those stories are real, but they are the minority. The far more common experience is quieter and more frustrating: the translation arrives, every word of it is right, and you still have no idea what you would be eating. That is not a bug in the engine. Translation converts words between languages, and the information you are missing was never in the words.
Dish names are names, not descriptions
Cuisines name dishes after people, places, jokes and shapes, and none of that survives a literal rendering. 螞蟻上樹 translates faithfully as “ants climbing a tree” and is glass noodles with minced pork. 麻婆豆腐 is “pockmarked old woman's tofu”. 親子丼 is “parent-and-child bowl”, which is chicken and egg over rice — accurate, and a strange way to find out. In Europe it is the same pattern with less poetry: “tête de veau” is calf's head and is exactly what it sounds like, Florentine “lampredotto” is the cow's fourth stomach and the translation will not warn you, and German “falscher Hase” — false hare — is meatloaf. A word-for-word translation is a faithful rendering of a name. What you needed was a description.
- 夫妻肺片 — “husband and wife lung slices” — cold sliced beef and offal in chilli oil.
- 螞蟻上樹 — “ants climbing a tree” — glass noodles with minced pork.
- 親子丼 — “parent-and-child bowl” — chicken and egg over rice.
- Falscher Hase — “false hare” — German meatloaf, no hare involved.
- Lampredotto — untranslated on most menus — tripe from the cow's fourth stomach.
The reading fails before the translating starts
Every camera translation is two steps: recognise the characters, then translate them. Restaurants are unusually hostile to step one. Menus use display fonts, script and hand lettering precisely because they are not meant to look like a document. Daily specials are chalked on a board. Laminated pages throw glare straight back at the lens. Japanese and Chinese menus are frequently set vertically, which many recognition engines handle badly when the phone is held horizontally. When the characters come through wrong, translation dutifully converts the wrong characters, and the nonsense you get back was decided before the translation engine ever saw the text.
A menu is a structured document and translation flattens it
A menu is not a paragraph. It is sections, dishes, sub-lines and prices, arranged so you can compare things. Camera translation overlays text roughly where it found it, and the result frequently detaches a price from its dish, merges two columns, or drops the section heading that told you this was the starter list. You end up scrolling a wall of translated fragments and reconstructing the menu in your head — which is work the tool should have done.
The information you actually need is not on the page
This is the failure with real consequences. Whether a dish contains nuts, fish, gluten, dairy or pork is very often not written on the menu at all. Japanese dashi is made with bonito, which quietly disqualifies a great many apparently vegetarian dishes. Thai cooking uses fish sauce almost everywhere. Refried beans and pastry are frequently made with lard. Indian dishes are often finished with ghee. None of that appears in the words being translated, so no translation engine can surface it — not because it translates badly, but because it is answering a different question.
What to do instead
Keep Google Translate: it is free, it works offline, and for signs, tickets and conversations it remains the best thing available. Just stop expecting it to do a job it was never built for. At the table, use something that reads the menu as food — that returns each dish with a description of what it actually is, an ingredient list and allergen flags, keeps the menu's sections intact, and can show you the dish name in the original language when it is time to order. That is a different category of tool, not a better translation engine.