aboutsummaryrefslogtreecommitdiff
path: root/src/lib/components/language_selector.svelte
blob: e8d0c44d9d6bef1a7988ee4ef879d592f10ef65c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<script>
	import { locale, locales } from 'svelte-i18n';
	import { getLangNameFromCode } from 'language-name-map';
  import { goto } from '$app/navigation';

	$: namedLocales = $locales
	  .map((code) => ({
	    code,
	    ...getLangNameFromCode(code)
	  }))
	  .sort((a, b) => a.native - b.native);

	let selected = $locale;

	$: {
	  locale.set(selected);
	}

  const navigateAway = function () {
    goto('/');
  };
</script>

<select bind:value={selected} on:change={navigateAway}>
	{#each namedLocales as namedLocale}
		<option value={namedLocale.code}>{namedLocale.native}</option>
	{/each}
</select>

<style>
</style>