aboutsummaryrefslogtreecommitdiffstats
path: root/apps/kit/src/hooks.server.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/kit/src/hooks.server.ts')
-rw-r--r--apps/kit/src/hooks.server.ts47
1 files changed, 0 insertions, 47 deletions
diff --git a/apps/kit/src/hooks.server.ts b/apps/kit/src/hooks.server.ts
deleted file mode 100644
index 0f6e0c0..0000000
--- a/apps/kit/src/hooks.server.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { CookieNames } from "$lib/configuration";
-import { detectLocale, i18n, isLocale, locales } from '$lib/i18n/i18n-util'
-import type { Handle, RequestEvent } from '@sveltejs/kit'
-import { initAcceptLanguageHeaderDetector } from 'typesafe-i18n/detectors'
-import { parse, serialize } from "cookie";
-import type { Locales } from "$lib/i18n/i18n-types";
-import { loadAllLocales } from "$lib/i18n/i18n-util.sync";
-
-
-loadAllLocales()
-const L = i18n()
-
-export const handle: Handle = async ({ event, resolve }) => {
- const cookies = parse(event.request.headers.get("Cookie") ?? '');
- const localeCookie = cookies[CookieNames.locale];
- const preferredLocale = getPreferredLocale(event);
- let finalLocale = localeCookie ?? preferredLocale;
-
- console.log("Handling locale", {
- locales,
- localeCookie,
- preferredLocale,
- finalLocale
- });
-
- if (!isLocale(finalLocale)) finalLocale = "en";
- if (!localeCookie) {
- // Set a locale cookie
- event.setHeaders({
- "Set-Cookie": serialize(CookieNames.locale, finalLocale, {
- path: "/",
- expires: new Date(2099, 1, 1, 0, 0, 0, 0),
- sameSite: "strict"
- })
- });
- }
-
- event.locals.locale = finalLocale as Locales;
- event.locals.LL = L[finalLocale as Locales];
-
- return resolve(event, { transformPageChunk: ({ html }) => html.replace('%lang%', finalLocale) });
-}
-
-function getPreferredLocale(event: RequestEvent) {
- const acceptLanguageDetector = initAcceptLanguageHeaderDetector(event.request);
- return detectLocale(acceptLanguageDetector);
-}