// Base catalog — the source of truth for this app's UI strings. Every key here // MUST be mirrored in `de.ts`; `defineLocale()` enforces that parity // at build time. Messages use ICU: `{name}` placeholders + `` tags. import { defineCatalog } from '@voltro/i18n' export default defineCatalog({ // Browser tab titles — locale-aware via each page's `meta({ locale })`. 'meta.login.title': 'Sign in', 'meta.editor.title': 'Content', // ---- Auth form (/login) ---- 'auth.signIn.heading': 'Sign in to the CMS', 'auth.signUp.heading': 'Create an editor account', 'auth.email': 'Email', 'auth.password': 'Password', 'auth.signIn.submit': 'Sign in', 'auth.signUp.submit': 'Create account', 'auth.toggle.toSignUp': 'No account? Create one', 'auth.toggle.toSignIn': 'Have an account? Sign in', 'auth.pending': 'Please wait…', 'auth.error': 'That didn’t work. Check your details and try again.', // ---- Editor shell ---- 'editor.brand': 'Content', 'editor.signOut': 'Sign out', 'lang.label': 'Language', // ---- Type list + rows ---- 'editor.types.heading': 'Content types', 'editor.list.heading': '{type}', 'editor.list.empty': 'No drafts yet — create one with the form on the right.', 'editor.row.edit': 'Edit', 'editor.row.publish': 'Publish', 'editor.row.unpublish': 'Unpublish', 'editor.status.draft': 'draft', 'editor.status.published': 'published', 'editor.status.archived': 'archived', // ---- Editing form ---- 'editor.form.new': 'New {type}', 'editor.form.editing': 'Editing', 'editor.form.save': 'Save draft', 'editor.form.saving': 'Saving…', 'editor.form.cancel': 'Cancel', 'editor.form.saved': 'Draft saved.', 'editor.form.invalid': 'Please fix the highlighted fields.', 'editor.form.loading': 'Loading types…', // ---- Scoped fallbacks ---- 'error.heading': 'Something went wrong', 'error.retry': 'Try again', 'notFound.heading': 'Not found', 'notFound.body': 'That page doesn’t exist.', 'notFound.back': '← Back to content', } as const)