#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.
// src/hooks.server.js
import { i18n } from "$lib/i18n"
export const handle = i18n.handle({
disableAsyncLocalStorage: true, // @default = false
})
#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
.
compatibility_flags = [ "nodejs_als" ]
#Issues on Vercel
SvelteKit's reroute
hook currently doens't play well with Vercel (see sveltejs/kit#11879
- 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