Ingot nemá vlastní jazykové soubory. Každý viditelný text je vlastnost, kterou dodává volající už přeloženou.
Žádné primitivum Ingotu nepřekládá ani jedno slovo. Kit nemá vlastní jazykové soubory a nesahá na překladový kontext. Všechno, co uživatel uvidí nebo uslyší, přijde dovnitř jako vlastnost — už ve správném jazyce.
Je to záměr, ne mezera. Primitivum, které si popisky překládá samo, si k nim musí přinést vlastní jmenný prostor — a ten se pak pere s jmenným prostorem obrazovky o to, kdo je vlastníkem slova „Zrušit“. Tenhle kit tu otázku nemá, protože slovo nikdy nevlastní.
Nejčastější chyba nejsou nepřeložená tlačítka — těch si všimne každý. Jsou to texty, které vidí jen odečítač obrazovky, takže zůstanou v původním jazyce i v jinojazyčné administraci a nikdo to nenahlásí:
closeLabel — popisek křížku v dialogu. Bez něj odečítač přečte jen „tlačítko“.caption tabulky — popis, který se nevykresluje do obrazu.actionsLabel — záhlaví sloupce s řádkovými akcemi.loadingLabel — hlášení „načítám“. Typově je nepovinné, ale jakmile se může načítat, je bez něj hlášení prázdné.Pár popisků říká kit sám — „Zpět“ na toastu, žárovka a křížek nápovědy, „nastaveno“ u tajného pole. Ty bere ze slovníku IngotProvider: bez providera jsou anglicky, s lang="cs" česky a přes labels se dají přepsat jednotlivě. Vlastní prop komponenty má vždycky přednost.
Odborné termíny mají dvě podoby: jednoduchý opis pro čtenáře, který obor teprve poznává, a expertní termín pro toho, kdo v něm žije. Kterou podobu uvidí, si volí uživatel — režimy jsou Jednoduše, Expert a výchozí Obojí.
Režim „Obojí“ ukazuje expertní termín a jednoduchý opis v závorce za ním — ne v tooltipu. Tooltip nefunguje na dotykové obrazovce, odečítač obrazovky ho bez extra práce nepřečte a text mimo stránku nenajde ani vyhledávání. Závorka je delší, ale vidí ji každý.
Vyzkoušej: přepni Slovník pod tímhle odstavcem a sleduj, jak se termíny v tabulce překreslí. Volba je tady u ukázky, protože jinou tabulku na tomhle webu neovládá — dokumentace píše o rozhraní, ne o výrobě. V aplikaci je to volba účtu a platí všude, kde odborný termín padne.
| Klíč | Co uživatel vidí |
|---|---|
nesting | Nesting (Rozmístění dílů na plech) |
setup_time | Seřizovací čas (Příprava stroje) |
tolerance_class | Třída tolerance (Přesnost výroby) |
Termíny bydlí v jednom registru vedle ostatních jazykových pomůcek doc webu. Každý termín je dvojice variant, obě už přeložené do všech jazyků, které doc web nese.
expert povinně, simple jen pokud má termín opravdový jednoduchý opis — ne jen synonymum.termLabel(klíč, režim, jazyk) — nikdy nevpisuj jednu z variant natvrdo. Tím by se text odpojil od volby uživatele.simple varianty se ve všech režimech ukazuje expertně — chybějící opis nikdy neskončí jako prázdný text.Ukázka je ta část stránky, na kterou se čtenář dívá nejdřív. Stránka, která přeloží všechno kromě ní, vypadá hotově a není — a je to horší, než kdyby nepřekládala nic, protože si toho nikdo nevšimne.
Ukázka proto dostane jazyk čtenáře a všechny své texty drží v jedné konstantě nahoře v modulu. Nahoře záměrně: výpis kódu pod ukázkou je ten samý soubor, takže čtenář vidí i to, odkud se texty berou.
const TEXT: Localized<Record<string, string>> = {
cs: { save: "Uložit změny" },
en: { save: "Save changes" },
};
export function Demo({ lang }: { lang: DocLang }): JSX.Element {
const t = TEXT[lang];
return <Button>{t.save}</Button>;
}Česky psaný text kdekoli jinde v ukázce je chyba, kterou zachytí kontrola repozitáře — ne až anglický čtenář.
Každá stránka komponenty má vlastní sekci Překlady, kde jsou vyjmenované právě ty popisky, které si žádá ona. Tahle stránka drží pravidlo; tam najdeš seznam.