diff --git a/website/src/lib/components/Menu.svelte b/website/src/lib/components/Menu.svelte index 8e062a36..b450c070 100644 --- a/website/src/lib/components/Menu.svelte +++ b/website/src/lib/components/Menu.svelte @@ -25,7 +25,8 @@ Moon, Layers3, MountainSnow, - GalleryVertical + GalleryVertical, + Languages } from 'lucide-svelte'; import { @@ -39,7 +40,7 @@ updateSelectionFromKey } from '$lib/stores'; import { selectAll, selection } from '$lib/components/file-list/Selection'; - import { derived } from 'svelte/store'; + import { derived, get } from 'svelte/store'; import { canUndo, canRedo, dbUtils, fileObservers, settings } from '$lib/db'; import { anySelectedLayer } from '$lib/components/layer-control/utils'; import { defaultOverlays } from '$lib/assets/layers'; @@ -47,7 +48,9 @@ import { resetMode, setMode, systemPrefersMode } from 'mode-watcher'; - import { _ } from 'svelte-i18n'; + import { _, locale } from 'svelte-i18n'; + import { languages } from '$lib/languages'; + import { goto } from '$app/navigation'; const { distanceUnits, @@ -249,6 +252,26 @@ + + + + {$_('menu.language')} + + + { + if (value) { + goto('/' + (value === 'en' ? '' : value)); + } + }} + > + {#each Object.entries(languages) as [code, name]} + {name} + {/each} + + + {#if $mode === 'system'} diff --git a/website/src/lib/languages.ts b/website/src/lib/languages.ts new file mode 100644 index 00000000..a3e24e4a --- /dev/null +++ b/website/src/lib/languages.ts @@ -0,0 +1,3 @@ +export const languages = { + 'en': 'English', +}; \ No newline at end of file diff --git a/website/src/locales/en.json b/website/src/locales/en.json index 413a0465..6bccdcb2 100644 --- a/website/src/locales/en.json +++ b/website/src/locales/en.json @@ -29,6 +29,7 @@ "temperature_units": "Temperature units", "celsius": "Celsius", "fahrenheit": "Fahrenheit", + "language": "Language", "mode": "Mode", "light": "Light", "dark": "Dark",