Auto locale
This commit is contained in:
18
src/routes/+layout.server.ts
Normal file
18
src/routes/+layout.server.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import type {LayoutServerLoad} from './$types';
|
||||
import {defaultLocale, locales} from "$lib/translations";
|
||||
|
||||
export const prerender = true;
|
||||
|
||||
export const load: LayoutServerLoad = async ({ request }) => {
|
||||
const supportedLocales = locales.get().map((l) => l.toLowerCase());
|
||||
|
||||
let locale = `${`${request.headers.get('accept-language')}`.match(/[a-zA-Z]+?(?=[-_,;])/)}`.toLowerCase();
|
||||
|
||||
if (!supportedLocales.includes(locale)) {
|
||||
locale = defaultLocale;
|
||||
}
|
||||
|
||||
return {
|
||||
i18n: { locale },
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user