language selection
This commit is contained in:
parent
bae8734f63
commit
b74f1e2289
3 changed files with 30 additions and 3 deletions
|
@ -25,7 +25,8 @@
|
||||||
Moon,
|
Moon,
|
||||||
Layers3,
|
Layers3,
|
||||||
MountainSnow,
|
MountainSnow,
|
||||||
GalleryVertical
|
GalleryVertical,
|
||||||
|
Languages
|
||||||
} from 'lucide-svelte';
|
} from 'lucide-svelte';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
@ -39,7 +40,7 @@
|
||||||
updateSelectionFromKey
|
updateSelectionFromKey
|
||||||
} from '$lib/stores';
|
} from '$lib/stores';
|
||||||
import { selectAll, selection } from '$lib/components/file-list/Selection';
|
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 { canUndo, canRedo, dbUtils, fileObservers, settings } from '$lib/db';
|
||||||
import { anySelectedLayer } from '$lib/components/layer-control/utils';
|
import { anySelectedLayer } from '$lib/components/layer-control/utils';
|
||||||
import { defaultOverlays } from '$lib/assets/layers';
|
import { defaultOverlays } from '$lib/assets/layers';
|
||||||
|
@ -47,7 +48,9 @@
|
||||||
|
|
||||||
import { resetMode, setMode, systemPrefersMode } from 'mode-watcher';
|
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 {
|
const {
|
||||||
distanceUnits,
|
distanceUnits,
|
||||||
|
@ -249,6 +252,26 @@
|
||||||
</Menubar.SubContent>
|
</Menubar.SubContent>
|
||||||
</Menubar.Sub>
|
</Menubar.Sub>
|
||||||
<Menubar.Separator />
|
<Menubar.Separator />
|
||||||
|
<Menubar.Sub>
|
||||||
|
<Menubar.SubTrigger>
|
||||||
|
<Languages size="16" class="mr-1" />
|
||||||
|
{$_('menu.language')}
|
||||||
|
</Menubar.SubTrigger>
|
||||||
|
<Menubar.SubContent>
|
||||||
|
<Menubar.RadioGroup
|
||||||
|
bind:value={$locale}
|
||||||
|
onValueChange={(value) => {
|
||||||
|
if (value) {
|
||||||
|
goto('/' + (value === 'en' ? '' : value));
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{#each Object.entries(languages) as [code, name]}
|
||||||
|
<Menubar.RadioItem value={code}>{name}</Menubar.RadioItem>
|
||||||
|
{/each}
|
||||||
|
</Menubar.RadioGroup>
|
||||||
|
</Menubar.SubContent>
|
||||||
|
</Menubar.Sub>
|
||||||
<Menubar.Sub>
|
<Menubar.Sub>
|
||||||
<Menubar.SubTrigger>
|
<Menubar.SubTrigger>
|
||||||
{#if $mode === 'system'}
|
{#if $mode === 'system'}
|
||||||
|
|
3
website/src/lib/languages.ts
Normal file
3
website/src/lib/languages.ts
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
export const languages = {
|
||||||
|
'en': 'English',
|
||||||
|
};
|
|
@ -29,6 +29,7 @@
|
||||||
"temperature_units": "Temperature units",
|
"temperature_units": "Temperature units",
|
||||||
"celsius": "Celsius",
|
"celsius": "Celsius",
|
||||||
"fahrenheit": "Fahrenheit",
|
"fahrenheit": "Fahrenheit",
|
||||||
|
"language": "Language",
|
||||||
"mode": "Mode",
|
"mode": "Mode",
|
||||||
"light": "Light",
|
"light": "Light",
|
||||||
"dark": "Dark",
|
"dark": "Dark",
|
||||||
|
|
Loading…
Reference in a new issue