Longer translations, three plural forms, the Czech and English shape of dates and numbers, codes that are never translated, and the shared term dictionary.
The product runs in Czech and English, with German and Polish on the horizon. The interface is not translated as an afterthought — the layout allows for it from the start, because a translation that does not fit is fixed in the screen, not in the dictionary.
{count} items in stock. Another language assembles the words in another order, and gluing cannot do that.The same value looks different in every language — the separator, the order and the position of the symbol all change. That is why a value is never assembled as a string in a screen.
| Type | Czech | English |
|---|---|---|
| Date | 26. 05. 2026 | May 26, 2026 |
| Time | 14:35 | 2:35 PM |
| Number | 128 640,50 | 128,640.50 |
| Currency | 128 640 Kč | €5,120.00 |
| Unit | 3,0 mm · 1 250 Kč/h | 0.12 in · €50/h |
Intl.NumberFormat and friends according to the user's language — never by swapping a point for a comma by hand, which breaks with the next language added. ) stands between a number and its unit, so “12 kg” does not split across a line break.materials, record numbers such as OBJ-2418 and country codes such as CZ. A translated identifier stops matching what is in the data.The application speaks two vocabularies: a simple one for everyday work and an expert one for those who want precise domain terms. The choice applies everywhere — which is why terms come from a shared dictionary under one key, not from memory, so the same thing is not named two ways on two screens.
| Key | Simple | Expert |
|---|---|---|
nesting | Laying parts out on a sheet | Nesting |
setup_time | Machine preparation | Setup time |
tolerance_class | Manufacturing precision | Tolerance class |
The switcher for both the language and the vocabulary lives in the account menu, not in the page header — it is a setting of the person, not of the screen. The choice is therefore remembered by the account, not by the browser: on another machine the user does not have to set it again.