UNPKG

svelte-lang

Version:

svelte-lang is an i18n library for Svelte that simplifies multilingual support. It offers a straightforward API for managing translations, supports parameterized strings, and integrates with Svelte stores for reactive language handling. Features include a

14 lines (13 loc) 617 B
import { pick } from 'accept-language-parser'; export function i18nHook(translations, defaultLanguage) { return (async ({ event, resolve }) => { const supportedLanguages = Object.keys(translations); const acceptLanguageHeader = event.request.headers.get('Accept-Language') ?? event.request.headers.get('accept-language'); let language = String(defaultLanguage); if (acceptLanguageHeader) { language = String(pick(supportedLanguages, acceptLanguageHeader) ?? defaultLanguage); } event.locals.language = language; return resolve(event); }); }