aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/LocaleSelector.svelte
blob: 44c254d477416c4302b7e92d0c5b94b5e1e54d11 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script lang="ts">
  import { t, locale, locales } from "$lib/translations";
  let { style = "" }: any = $props();
  let l = $state($locale);

  const handleChange = ({ currentTarget }) => {
    const { value } = currentTarget;
    document.cookie = `lang=${value}; path=/`;
    $locale = value;
    l = value;
  };
</script>

<select name="language" aria-label="Language" bind:value={l} onchange={handleChange}>
  {#each $locales as locale}
    <option value={locale}>{$t(`lang.${locale}`)}</option>
  {/each}
</select>