The words are part of the interface.
I wanted English and German copy that helped restaurant staff act, not decode the software.
An interface can be visually coherent and still sound like a collection of implementation notes. I asked for a language only pass across Vividish, in English and German.
The constraint mattered. This was not an invitation to redesign screens or change the backend. It was a chance to examine what each sentence was doing for the person reading it.
See the original requestInside the screen
A language switch is a promise about the whole flow.
Putting two language choices in the header is visible. Carrying the choice through every instruction is the harder part.

Select a detail
EN and DE sit in the guest header. I would follow that selection into the cart, confirmation, and error states instead of checking only this first screen.
Search and category filters are part of the same experience. Longer translations need room here, and operational messages need the same editorial attention as the menu.
May guest view in English. This capture cannot establish the quality or completeness of the German translation.
The original request22 Jun 2026 · excerpt
written by human who really care
Excerpted from the development conversation. Punctuation is lightly edited; the surrounding story is an edited retrospective.
01
The same sentence has a different job in an error.
A menu label helps someone scan. A confirmation tells them an action has happened. An error has to help them recover. I wanted the language review to move through those moments rather than optimise every sentence as if it were a homepage headline. Restaurant staff should be able to act on a message while doing the rest of their job.
That also changes how I direct an AI editing pass. A shorter sentence is not automatically clearer. It can lose the condition that explains why an action is unavailable, or remove the next step from a failure. The constraint was to improve the English and German language resources while preserving their functional information. The work needed to keep the promises of the interface intact as it improved the phrasing.
02
Language has a technical contract
The checks covered JSON validity, translation arguments, parser errors, hardcoded strings, and native string files. A sentence containing a missing interpolation argument can break even when it reads beautifully in a document.
English and German also need to preserve the same functional information. The work included German phrasing and umlauts as well as native strings; this was broader than replacing the most visible English headlines.
03
A translation file cannot show a crowded button.
The structural checks had a concrete purpose. Missing keys and mismatched interpolation arguments can break a sentence before anybody has a chance to read it. Passing those checks is necessary, but a longer translated label still has to live inside a real control. A phone, a tablet at the counter, and a dense workspace can expose different failures in the same wording.
The June response explicitly left visual inspection open. I would next compare the same action in both languages, watching line breaks, truncation, and the order in which the explanation and button are read. The later actual component screen is useful context for that kind of inspection, not evidence that the June pass had already completed it. Keeping that boundary helps me choose the next check instead of declaring the whole language experience finished.
Internal terminology can obscure an ordinary action. I return to that question in Monthly should mean a month after it was last done.
Where this chapter landed
What changed.
English, German, and native language resources were revised and structurally checked. Visual fit across screen sizes remained unverified in that pass.
Added while revisiting this story · September 2026
The thinking behind the detail.
Research notes to take these decisions further. These sources were reviewed for this retrospective.
Allow the translation to take up space
W3C documents how text length and wrapping can change across languages, including long compound words. That supports the need for rendered review after a language resource pass, especially in short labels and constrained controls.