svelte-i18n

Typed, ICU-aware i18n for SvelteKit 2 + Svelte 5.

Active locale: en

Plurals & select

Count-aware pluralization and gender selection via ICU messages.

Dates, numbers, currency

Locale-aware formatting — same input, native output in every language.

Ordinals

selectordinal gives you 1st / 2nd / 3rd — and 1er / 2e in French.

Reactivity pitfall

Why capturing t() into a const breaks locale switching — and the fix.

SEO links

Canonical, hreflang alternates, and x-default — one URL per page.

About

What this demo covers and how to run it locally.