i18n
Type-safe translations, pluralization, date/number formatting, and language switching with Paraglide JS.
Language Switcher
Detection order: URL prefix → Cookie → Base locale (English)
Current language: English (en)
Formatting locale: en-US
Translated Messages
Pluralization
ICU MessageFormat handles pluralization rules per language.
Date & Number Formatting
Formatting uses the browser's Intl API, decoupled from the translation locale.
Content Translation (Database)
The tc() helper translates JSON fields from the database, falling back through: current locale → English → first available.
Error Codes
Domain error codes resolve to localized strings via errorMessage(code).
Type Safety
Message keys are compile-time checked — a missing key or wrong parameter fails the build, not the runtime.
Think this pattern could be better? Tell us how.
Leave feedback