blob: acb9ae575c78f64a6262c42760cd9c9674f483bd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import {writable} from "svelte/store";
import {base_domain, CookieNames} from "./configuration";
import {get_cookie, set_cookie} from "./helpers";
export function preffered_or_default() {
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";
}
type Locales = "en"|"nb";
export const currentLocale = writable<Locales>((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());
});
|