From 38a07e3dfbda798010cc7f219abec911f747eaf7 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Mon, 3 Oct 2022 16:45:26 +0800 Subject: feat: Fully functioning i18n --- apps/kit/src/routes/(main)/+layout.ts | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) (limited to 'apps/kit/src/routes/(main)/+layout.ts') diff --git a/apps/kit/src/routes/(main)/+layout.ts b/apps/kit/src/routes/(main)/+layout.ts index 13837be..5d0e005 100644 --- a/apps/kit/src/routes/(main)/+layout.ts +++ b/apps/kit/src/routes/(main)/+layout.ts @@ -1,9 +1,15 @@ -import type { Locales } from "$lib/i18n/i18n-types"; -import { loadLocaleAsync } from "$lib/i18n/i18n-util.async"; -import type { LayoutLoad } from "./$types"; +import type { LayoutLoad } from './$types' +import type { Locales } from '$lib/i18n/i18n-types' +import { loadLocaleAsync } from '$lib/i18n/i18n-util.async' +import { setLocale } from '$lib/i18n/i18n-svelte' -export const load: LayoutLoad<{ locale: Locales }> = async ({ url, params }) => { - let lang = "en" as Locales; - await loadLocaleAsync(lang); - return { locale: lang }; -}; +export const load: LayoutLoad<{ locale: Locales }> = async ({ data: { locale } }) => { + // load dictionary into memory + await loadLocaleAsync(locale) + + // if you need to output a localized string in a `load` function, + // you always need to call `setLocale` right before you access the `LL` store + setLocale(locale) + // pass locale to the "rendering context" + return { locale } +} \ No newline at end of file -- cgit v1.3