From a8b44b09a404aee477e735501b828d1b14aad311 Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Tue, 7 Jun 2022 01:33:52 +0200 Subject: feat: Add inital translation support --- apps/projects/src/app/lib/stores/locale.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 apps/projects/src/app/lib/stores/locale.ts (limited to 'apps/projects/src/app/lib/stores') diff --git a/apps/projects/src/app/lib/stores/locale.ts b/apps/projects/src/app/lib/stores/locale.ts new file mode 100644 index 0000000..1215c20 --- /dev/null +++ b/apps/projects/src/app/lib/stores/locale.ts @@ -0,0 +1,21 @@ +import {base_domain, CookieNames} from "$shared/lib/configuration"; +import {get_cookie, set_cookie} from "$shared/lib/helpers"; +import {writable} from "svelte/store"; +import type {Locales} from "$app/lib/i18n/i18n-types"; + +export function preffered_or_default(): Locales { + if (/^en\b/i.test(navigator.language)) { + return "en"; + } + if (/^nb\b/i.test(navigator.language) || /^nn\b/i.test(navigator.language)) { + return "nb"; + } + return "en"; +} + +export const currentLocale = writable((get_cookie(CookieNames.locale) ?? preffered_or_default()) as Locales); +currentLocale.subscribe(locale => { + //@ts-ignore + if (locale === "preffered") set_cookie(CookieNames.locale, preffered_or_default(), base_domain()); + set_cookie(CookieNames.locale, locale, base_domain()); +}); -- cgit v1.3