aboutsummaryrefslogtreecommitdiff
path: root/src/lib/CommandPalette/syncActions.ts
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-05-24 13:22:34 +0000
committerFuwn <[email protected]>2026-05-24 13:22:34 +0000
commit56a7a7851b09cb30a5cd543c8cb4f926109b4290 (patch)
treea620f908405fa48fd601580c5a48432831ec5c33 /src/lib/CommandPalette/syncActions.ts
parentfix(layout): preserve list panel when clicking action buttons in summary (diff)
downloaddue.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.ts35
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",
+ }),
+ );
},
});