]> git.r.bdr.sh - rbdr/forum/blobdiff - src/lib/components/language_selector/language_selector.svelte
Update / use typescript
[rbdr/forum] / src / lib / components / language_selector / language_selector.svelte
diff --git a/src/lib/components/language_selector/language_selector.svelte b/src/lib/components/language_selector/language_selector.svelte
new file mode 100644 (file)
index 0000000..64a4ef9
--- /dev/null
@@ -0,0 +1,26 @@
+<script lang="ts">
+       import { locale, locales } from 'svelte-i18n';
+       import { getLangNameFromCode } from 'language-name-map';
+
+       $: namedLocales = $locales
+         .map((code) => ({
+           code,
+           ...getLangNameFromCode(code)
+         }))
+         .sort((a, b) => a.native - b.native);
+
+  let selected = $locale
+
+       $: {
+         locale.set(selected);
+       }
+</script>
+
+<select bind:value={selected}>
+       {#each namedLocales as namedLocale}
+               <option value={namedLocale.code}>{namedLocale.native}</option>
+       {/each}
+</select>
+
+<style>
+</style>