Files
website/messages/de.json
T
enricobuehler 7bf10b6a12
Build & Deploy unom website / build (push) Successful in 21s
Build & Deploy unom website / deploy (push) Successful in 4s
i18n: paraglide setup mirroring played/plaza, de unprefixed + /en/ prefixed
- project.inlang/settings.json with locales [de, en], baseLocale de.
- messages/{de,en}.json hold the strings (tagline, blog labels, etc.).
- vite.config.ts: paraglideVitePlugin compiles to src/paraglide/
  (gitignored) on dev/build. Strategy: url → cookie →
  preferredLanguage → baseLocale. URL pattern keeps German at /:path
  (unprefixed) and English at /en/:path so existing URLs stay valid.
- server.tsx wraps the handler in paraglideMiddleware so AsyncLocalStorage
  carries the per-request locale into SSR.
- router.tsx adds rewrite { input: deLocalizeUrl, output: localizeUrl }
  so route matching stays locale-agnostic — the router sees /blog while
  URLs show /en/blog.
- cms.ts narrows getLocale()'s union back to the de|en pair the CMS
  supports, used as the default for find/findGlobal calls.
- Components/routes switch to m.foo() for user-visible strings; date
  formatting picks de-DE / en-GB from getLocale().
- Root html lang reads getLocale() so the document language flips per
  request.

Known minor: TanStack Start's { title } meta entry still serves the base
locale value (og:title and the description meta are localized correctly).
Will track separately.
2026-05-26 19:23:35 +02:00

16 lines
503 B
JSON

{
"$schema": "https://inlang.com/schema/inlang-message-format",
"site_name": "unom",
"site_tagline": "Kreative Webentwicklung aus Rottweil.",
"site_description": "Kreative Webentwicklung aus Rottweil",
"home_title": "unom - Kreative Webentwicklung",
"blog_title": "Blog",
"blog_meta_description": "Notizen, Gedanken und Tutorials aus der Werkstatt von unom.",
"blog_empty": "Noch keine Beiträge.",
"blog_all": "Alle Beiträge",
"blog_latest_heading": "Aus dem Blog",
"blog_back": "Blog"
}