diff options
| author | Fuwn <[email protected]> | 2026-05-24 13:22:34 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-05-24 13:22:34 +0000 |
| commit | 56a7a7851b09cb30a5cd543c8cb4f926109b4290 (patch) | |
| tree | a620f908405fa48fd601580c5a48432831ec5c33 /src/lib/CommandPalette/syncActions.ts | |
| parent | fix(layout): preserve list panel when clicking action buttons in summary (diff) | |
| download | due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.tar.xz due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.zip | |
refactor(locale): move hardcoded UI strings into english locale
Adds optional namespaces (common, errors, commandPalette, headTitle,
notifications, schedule, events, home, reader, routes, badgePreview,
badgeWall) and extends existing ones (settings.*, lists.*, tools.*,
user.*, hololive.*) on the Locale interface. New fields are optional
so japanese.ts can omit them; svelte-i18n's fallbackLocale handles
the runtime miss.
HeadTitle gains an optional routeKey prop for type-safe lookup.
defaultActions becomes a factory so the command palette re-reads
locale on language toggle. The existing JP feedback translation
in routes/settings is preserved via japanese.ts.
Out of scope (kept hardcoded): service-worker.ts, app.html,
Landing*.svelte, tools.ts registry, Easter Event 2025 pages.
Diffstat (limited to 'src/lib/CommandPalette/syncActions.ts')
| -rw-r--r-- | src/lib/CommandPalette/syncActions.ts | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/src/lib/CommandPalette/syncActions.ts b/src/lib/CommandPalette/syncActions.ts index 90c6a931..b3cf01c6 100644 --- a/src/lib/CommandPalette/syncActions.ts +++ b/src/lib/CommandPalette/syncActions.ts @@ -4,6 +4,7 @@ import root from "$lib/Utility/root"; import settings from "$stores/settings"; import settingsSyncPulled from "$stores/settingsSyncPulled"; import settingsSyncTimes from "$stores/settingsSyncTimes"; +import locale from "$stores/locale"; import { get } from "svelte/store"; import type { CommandPaletteAction } from "./actions"; @@ -13,9 +14,11 @@ export const syncActions = ( ): CommandPaletteAction[] => { if (identityId <= 0) return []; + const l = get(locale)(); + const actions: CommandPaletteAction[] = [ { - name: "Push Settings Now", + name: l.commandPalette?.sync?.pushNow ?? "Push Settings Now", url: "#", preventDefault: true, tags: ["settings", "sync", "push", "upload", "remote"], @@ -32,8 +35,10 @@ export const syncActions = ( addNotification( options({ - heading: "Settings Sync", - description: "Pushed local configuration to remote", + heading: get(locale)().settings.settingsSync.title, + description: + get(locale)().commandPalette?.sync?.pushedDescription ?? + "Pushed local configuration to remote", }), ); @@ -46,7 +51,7 @@ export const syncActions = ( }, }, { - name: "Pull Settings Now", + name: l.commandPalette?.sync?.pullNow ?? "Pull Settings Now", url: "#", preventDefault: true, tags: ["settings", "sync", "pull", "download", "remote"], @@ -61,8 +66,10 @@ export const syncActions = ( if (!data?.configuration) { addNotification( options({ - heading: "Settings Sync", - description: "No remote configuration found", + heading: get(locale)().settings.settingsSync.title, + description: + get(locale)().commandPalette?.sync?.noRemoteFound ?? + "No remote configuration found", }), ); @@ -77,7 +84,11 @@ export const syncActions = ( }); addNotification( - options({ heading: "Pulled remote configuration" }), + options({ + heading: + get(locale)().notifications?.pulledRemote ?? + "Pulled remote configuration", + }), ); }); }) @@ -88,14 +99,20 @@ export const syncActions = ( if (syncEnabled) actions.push({ - name: "Disable Settings Sync", + name: l.commandPalette?.sync?.disable ?? "Disable Settings Sync", url: "#", preventDefault: true, tags: ["settings", "sync", "disable", "off", "stop"], onClick: () => { settings.setKey("settingsSync", false); - addNotification(options({ heading: "Settings sync disabled" })); + addNotification( + options({ + heading: + get(locale)().notifications?.syncDisabled ?? + "Settings sync disabled", + }), + ); }, }); |