// Base catalog — the source of truth for this app's UI strings. Every key here // MUST be mirrored in `de.ts` (and any other locale); `defineLocale()` // enforces that parity at build time, so a missing translation fails typecheck // rather than silently falling back. // // Messages use ICU syntax: `{name}` placeholders, `{n, plural, …}`, and rich // tags like `` (rendered by passing a matching function to // ` {c} }} />`). import { defineCatalog } from '@voltro/i18n' export default defineCatalog({ // Browser tab title — locale-aware via the page's `meta({ locale })`. 'meta.home.title': 'Bill splitter', // ---- Layout shell (pages/layout.tsx) ---- 'lang.label': 'Language', // ---- Bill-splitter page (pages/index.tsx) ---- 'home.heading': 'Bill splitter', 'home.subtitle': '100% client-side · your last tip % is remembered locally', 'field.bill': 'Bill amount', 'field.tip': 'Tip', 'field.custom': 'Custom %', 'field.people': 'People', 'result.tip': 'Tip', 'result.total': 'Total', 'result.perPerson': 'per person', } as const)