Deployment
Deploying a SvelteKit App using Paraglide-Sveltekit
is usually no different than deploying a normal SvelteKit App.
However, there are some considerations you may want to take with certain hosting providers.
Serverless Providers
Paraglide-SvelteKit
makes use of AsyncLocalStorage
to keep track of the language on the server without introducing cross-talk between concurrent requests.
Serverless providers usually spawn an instance of the server for each request, so this isn't necessary. To improve performance you can disable it.
Deployment on Cloudflare
Paraglide-SvelteKit
makes use of AsyncLocalStorage
. AsyncLocalStorage
is supported on Cloudflare, but you need to enable the nodejs_als
feature flag in wrangler.toml
.
Issues on Vercel
SvelteKit's reroute
hook currently doens't play well with Vercel (see sveltejs/kit#11879), which means that we need to slightly adapt the setup to make it work when deployed to Vercel.
- Remove the
reroute
hook fromsrc/hooks.js
- Move the routes you want to localize
routes
into a[[locale]]
folder - Don't use translated
pathnames
We are working on contributing a fix for sveltejs/kit#11879, so this workaround will hopefully not be needed much longer.