mulmoclaude 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/bin/mulmoclaude.js +11 -1
- package/client/assets/chunk-D8eiyYIV-CW0rPbG2.js +1 -0
- package/client/assets/{html2canvas-CDGcmOD3-Bkf2uOth.js → html2canvas-CDGcmOD3-BjwfzAN8.js} +1 -1
- package/client/assets/index-Bp1owZ-i.js +5101 -0
- package/client/assets/index-c63H1pnd.css +2 -0
- package/client/assets/{index.es-DqtpmBm8-D9mAh_KQ.js → index.es-DqtpmBm8-DudYPW7R.js} +1 -1
- package/client/assets/material-symbols-outlined-C0dZ3SlO.woff2 +0 -0
- package/client/assets/runtime-protocol-vue-BUk5WXSy.js +1 -0
- package/client/assets/{runtime-vue-BVUzgYGA.js → runtime-vue-fFYhnNg3.js} +1 -1
- package/client/assets/{vue-C8UuIO9J.js → vue-Kqzpl9Vx.js} +1 -1
- package/client/assets/vue.runtime.esm-bundler-BTyIdNAI.js +4 -0
- package/client/index.html +9 -11
- package/package.json +5 -4
- package/server/agent/backend/claude-code.ts +34 -0
- package/server/agent/backend/fake-echo.ts +370 -0
- package/server/agent/backend/index.ts +16 -1
- package/server/agent/config.ts +8 -1
- package/server/agent/mcpFailureMonitor.ts +167 -0
- package/server/agent/mcpPreflight.ts +185 -0
- package/server/agent/stream.ts +12 -1
- package/server/api/routes/mulmo-script.ts +19 -1
- package/server/api/routes/schedulerHandlers.ts +52 -4
- package/server/api/routes/sessions.ts +15 -0
- package/server/api/routes/skills.ts +263 -0
- package/server/events/notifications.ts +19 -91
- package/server/index.ts +87 -9
- package/server/notifier/macosReminderAdapter.ts +30 -0
- package/server/system/announceOptionalDeps.ts +50 -0
- package/server/system/config.ts +8 -1
- package/server/system/docker.ts +14 -6
- package/server/system/env.ts +18 -5
- package/server/system/optionalDeps.ts +129 -0
- package/server/utils/cli-flags.d.mts +14 -0
- package/server/utils/cli-flags.mjs +53 -0
- package/server/utils/time.ts +6 -0
- package/server/workspace/helps/business.md +2 -2
- package/server/workspace/helps/mulmoscript.md +3 -3
- package/server/workspace/helps/sandbox.md +2 -2
- package/server/workspace/hooks/dispatcher.mjs +1 -1
- package/server/workspace/paths.ts +13 -4
- package/server/workspace/skills/catalog.ts +355 -0
- package/server/workspace/skills/external/catalog.ts +283 -0
- package/server/workspace/skills/external/clone.ts +129 -0
- package/server/workspace/skills/external/id.ts +194 -0
- package/server/workspace/skills/external/install.ts +417 -0
- package/server/workspace/skills/external/presets.ts +50 -0
- package/server/workspace/skills-preset.ts +29 -17
- package/server/workspace/workspace.ts +10 -5
- package/src/App.vue +19 -8
- package/src/components/RightSidebar.vue +19 -0
- package/src/components/StackView.vue +10 -1
- package/src/config/apiRoutes.ts +0 -6
- package/src/config/roles.ts +2 -0
- package/src/lang/de.ts +50 -1
- package/src/lang/en.ts +49 -1
- package/src/lang/es.ts +49 -1
- package/src/lang/fr.ts +49 -1
- package/src/lang/ja.ts +49 -1
- package/src/lang/ko.ts +49 -1
- package/src/lang/pt-BR.ts +49 -1
- package/src/lang/zh.ts +49 -1
- package/src/plugins/manageSkills/View.vue +795 -30
- package/src/plugins/manageSkills/categories.ts +125 -0
- package/src/plugins/manageSkills/meta.ts +30 -0
- package/src/plugins/markdown/definition.ts +3 -3
- package/src/plugins/meta-types.ts +5 -0
- package/src/plugins/presentMulmoScript/Preview.vue +3 -3
- package/src/plugins/presentMulmoScript/View.vue +157 -33
- package/src/plugins/presentMulmoScript/meta.ts +4 -0
- package/src/plugins/scheduler/View.vue +45 -9
- package/src/plugins/scheduler/calendarDefinition.ts +6 -2
- package/src/plugins/scheduler/multiDayHelpers.ts +95 -0
- package/src/plugins/spreadsheet/View.vue +3 -3
- package/src/types/notification.ts +1 -1
- package/src/types/session.ts +6 -0
- package/src/types/sse.ts +5 -0
- package/src/types/toolCallHistory.ts +7 -0
- package/src/utils/agent/eventDispatch.ts +26 -5
- package/src/utils/agent/mcpHint.ts +50 -0
- package/src/utils/session/sessionEntries.ts +8 -32
- package/client/assets/PluginScopedRoot-YjvQq0Nn.js +0 -3
- package/client/assets/chunk-CernVdwh.js +0 -1
- package/client/assets/chunk-D8eiyYIV-CAXpUwLd.js +0 -1
- package/client/assets/index-BwrlMMHr.js +0 -5005
- package/client/assets/index-CvvNuegU.css +0 -2
- package/client/assets/material-symbols-outlined-BOZVWuR3.woff2 +0 -0
- package/client/assets/runtime-protocol-vue-C1To4M3t.js +0 -1
- package/client/assets/vue.runtime.esm-bundler-DQ8Kjjui.js +0 -4
- package/server/api/routes/notifications.ts +0 -195
- package/server/notifier/legacy-adapters.ts +0 -76
- package/src/composables/useSelectedResult.ts +0 -49
- /package/client/assets/{purify.es-Fx1Nqyry-Dwtk-9WZ.js → purify.es-Fx1Nqyry-B3aL7Uvj.js} +0 -0
- /package/client/assets/{typeof-DBp4T-Ny-CSr8wx1e.js → typeof-DBp4T-Ny-Bef7RiR_.js} +0 -0
package/src/config/roles.ts
CHANGED
|
@@ -310,6 +310,8 @@ export const ROLES: Role[] = [
|
|
|
310
310
|
TOOL_NAMES.presentDocument,
|
|
311
311
|
TOOL_NAMES.presentChart,
|
|
312
312
|
TOOL_NAMES.presentHtml,
|
|
313
|
+
TOOL_NAMES.readXPost,
|
|
314
|
+
TOOL_NAMES.searchX,
|
|
313
315
|
],
|
|
314
316
|
queries: [
|
|
315
317
|
"Summarise the key risk factors from AAPL's latest 10-K",
|
package/src/lang/de.ts
CHANGED
|
@@ -28,7 +28,7 @@ const deMessages = {
|
|
|
28
28
|
},
|
|
29
29
|
},
|
|
30
30
|
chatInput: {
|
|
31
|
-
placeholder: "
|
|
31
|
+
placeholder: "Nachricht an Claude…",
|
|
32
32
|
send: "Senden",
|
|
33
33
|
attachFile: "Datei anhängen",
|
|
34
34
|
fileTooLarge: "Datei zu groß ({sizeMB} MB). Das Maximum beträgt 30 MB.",
|
|
@@ -76,6 +76,12 @@ const deMessages = {
|
|
|
76
76
|
intraBody:
|
|
77
77
|
"Die Plugins „{first}“ und „{second}“ registrieren beide {dimension} „{key}“. „{first}“ hat ihn zuerst beansprucht, daher wird die Registrierung von „{second}“ ignoriert.",
|
|
78
78
|
},
|
|
79
|
+
optionalDeps: {
|
|
80
|
+
title: "Optionale Abhängigkeit nicht verfügbar",
|
|
81
|
+
notFound: "{command} nicht gefunden — zugehörige Funktionen wurden deaktiviert. Installieren Sie es und starten Sie neu, um sie zu aktivieren.",
|
|
82
|
+
notResponding:
|
|
83
|
+
"{command} ist installiert, antwortet aber nicht — zugehörige Funktionen wurden deaktiviert. Starten Sie es und starten Sie neu, um sie zu aktivieren.",
|
|
84
|
+
},
|
|
79
85
|
pluginErrorBoundary: {
|
|
80
86
|
title: "Plugin {pkg} ist abgestürzt",
|
|
81
87
|
subtitle: "Das Plugin konnte nicht gerendert werden. Der Fehler wurde in der Konsole protokolliert.",
|
|
@@ -105,6 +111,11 @@ const deMessages = {
|
|
|
105
111
|
error: "Fehler",
|
|
106
112
|
result: "Ergebnis",
|
|
107
113
|
running: "Läuft...",
|
|
114
|
+
mcpHint: {
|
|
115
|
+
title: (ctx: { named: (key: "server") => string }) => `Einrichtungshinweis: ${ctx.named("server")}`,
|
|
116
|
+
requiredKeys: "Erforderliche Schlüssel",
|
|
117
|
+
setupGuide: "Einrichtungsanleitung öffnen",
|
|
118
|
+
},
|
|
108
119
|
},
|
|
109
120
|
fileTreePane: {
|
|
110
121
|
sort: "Sortieren:",
|
|
@@ -579,6 +590,7 @@ const deMessages = {
|
|
|
579
590
|
yamlParseError: "YAML konnte nicht geparst werden — stellen Sie sicher, dass 'title' vorhanden ist",
|
|
580
591
|
propLabel: "{key}:",
|
|
581
592
|
moreCount: "+{count} weitere",
|
|
593
|
+
invalidRange: "Ungültiger Datumsbereich (endDate: {endDate})",
|
|
582
594
|
previewIcon: "📅",
|
|
583
595
|
previewUpcoming: "{count} anstehend",
|
|
584
596
|
previewAutomations: "{count} Automatisierung | {count} Automatisierungen",
|
|
@@ -1089,6 +1101,41 @@ const deMessages = {
|
|
|
1089
1101
|
errSaveFailed: "Speichern fehlgeschlagen: {error}",
|
|
1090
1102
|
errDeleteFailed: "Löschen fehlgeschlagen",
|
|
1091
1103
|
confirmDelete: 'Skill "{name}" löschen? Dies entfernt ~/mulmoclaude/.claude/skills/{name}/SKILL.md.',
|
|
1104
|
+
sectionActive: "Aktiv",
|
|
1105
|
+
sectionCatalog: "Katalog",
|
|
1106
|
+
sectionLegend:
|
|
1107
|
+
"Aktiv: in den Prompt geladen ({system} System = mc- mitgeliefert · {project} Projekt = bearbeitbar · {user} Benutzer = ~/.claude/skills/). Katalog: durchsuchen, ★markieren oder ▶einmal ausführen, ohne den Prompt aufzublähen.",
|
|
1108
|
+
catalogEmpty: "Keine Preset-Skills verfügbar.",
|
|
1109
|
+
catalogPresetHeading: "Presets",
|
|
1110
|
+
catalogStar: "Markieren",
|
|
1111
|
+
catalogStarred: "Markiert",
|
|
1112
|
+
catalogRunOnce: "Einmalig ausführen",
|
|
1113
|
+
sourceUserTitle: "Benutzer-Skill (~/.claude/skills/, in allen Workspaces verfügbar)",
|
|
1114
|
+
sourceSystemTitle: "System-Skill (mitgeliefert, mc- Präfix — schreibgeschützt, vom Launcher überschrieben)",
|
|
1115
|
+
sourceProjectTitle: "Projekt-Skill (.claude/skills/ des Workspaces, nur dieser Workspace)",
|
|
1116
|
+
sourcePresetTitle: "Preset-Katalog — Markieren anklicken, um in diesem Workspace zu aktivieren",
|
|
1117
|
+
errCatalogListFailed: "Katalog konnte nicht geladen werden: {error}",
|
|
1118
|
+
errCatalogStarFailed: "Skill konnte nicht markiert werden: {error}",
|
|
1119
|
+
errCatalogPreviewFailed: "Skill-Vorschau konnte nicht geladen werden: {error}",
|
|
1120
|
+
errCatalogRunOnceEmpty: "Diese Skill hat keinen Inhalt zum Ausführen.",
|
|
1121
|
+
catalogAddRepo: "Skill-Repository hinzufügen",
|
|
1122
|
+
catalogAddRepoTitle: "Ein Skill-Repository hinzufügen",
|
|
1123
|
+
catalogRepoUrlLabel: "GitHub-URL",
|
|
1124
|
+
catalogRepoUrlPlaceholder: "https://github.com/owner/repo",
|
|
1125
|
+
catalogRepoSubpathLabel: "Unterpfad (optional)",
|
|
1126
|
+
catalogRepoSubpathPlaceholder: "skills",
|
|
1127
|
+
catalogAddRepoSubmit: "Installieren",
|
|
1128
|
+
catalogAddRepoSuggestions: "Vorgeschlagene Repositories",
|
|
1129
|
+
catalogUninstallRepo: "Repository deinstallieren",
|
|
1130
|
+
catalogUpdateRepo: "Repository aktualisieren (neueste Version erneut laden)",
|
|
1131
|
+
catalogUninstallConfirm: "Dieses Repository deinstallieren? Bereits mit Stern markierte Skills bleiben in deiner aktiven Liste.",
|
|
1132
|
+
catalogRepoInstalling: "Installiere…",
|
|
1133
|
+
catalogRepoEmpty: "In diesem Repository wurden keine Skills gefunden.",
|
|
1134
|
+
sourceExternalTitle: "Externe Skill (aus einem GitHub-Repository installiert — zum Aktivieren auf den Stern klicken)",
|
|
1135
|
+
errCatalogRepoListFailed: "Installierte Repositories konnten nicht geladen werden: {error}",
|
|
1136
|
+
errCatalogRepoInstallFailed: "Repository konnte nicht installiert werden: {error}",
|
|
1137
|
+
errCatalogRepoUninstallFailed: "Repository konnte nicht deinstalliert werden: {error}",
|
|
1138
|
+
errCatalogRepoInvalidUrl: "Gib eine GitHub-Repository-URL ein.",
|
|
1092
1139
|
},
|
|
1093
1140
|
pluginManageRoles: {
|
|
1094
1141
|
heading: "Benutzerdefinierte Rollen",
|
|
@@ -1143,6 +1190,8 @@ const deMessages = {
|
|
|
1143
1190
|
stop: "■ Stoppen",
|
|
1144
1191
|
playPresentation: "Präsentation abspielen",
|
|
1145
1192
|
regenerateMovie: "Video neu generieren",
|
|
1193
|
+
movieGenerationFailed: "Videoerstellung fehlgeschlagen",
|
|
1194
|
+
retry: "Erneut versuchen",
|
|
1146
1195
|
errPrefix: "⚠ Fehler",
|
|
1147
1196
|
noBeats: "Keine Beats im Skript gefunden",
|
|
1148
1197
|
editSource: "Skript-Quelle bearbeiten",
|
package/src/lang/en.ts
CHANGED
|
@@ -50,7 +50,7 @@ const enMessages = {
|
|
|
50
50
|
},
|
|
51
51
|
},
|
|
52
52
|
chatInput: {
|
|
53
|
-
placeholder: "
|
|
53
|
+
placeholder: "Message Claude…",
|
|
54
54
|
send: "Send",
|
|
55
55
|
attachFile: "Attach file",
|
|
56
56
|
fileTooLarge: "File too large ({sizeMB} MB). Maximum is 30 MB.",
|
|
@@ -96,6 +96,11 @@ const enMessages = {
|
|
|
96
96
|
hostBody: 'Plugin "{plugin}" tried to register the {label} key "{key}" but it is reserved by the host. The plugin\'s entry has been dropped.',
|
|
97
97
|
intraBody: 'Plugins "{first}" and "{second}" both register {dimension} "{key}". "{first}" claimed it first, so "{second}"\'s registration is ignored.',
|
|
98
98
|
},
|
|
99
|
+
optionalDeps: {
|
|
100
|
+
title: "Optional dependency unavailable",
|
|
101
|
+
notFound: "{command} not found — related features are disabled. Install it and restart to enable them.",
|
|
102
|
+
notResponding: "{command} is installed but not responding — related features are disabled. Start it and restart to enable them.",
|
|
103
|
+
},
|
|
99
104
|
pluginErrorBoundary: {
|
|
100
105
|
title: "Plugin {pkg} crashed",
|
|
101
106
|
subtitle: "The plugin failed to render. The error has been logged to the console.",
|
|
@@ -125,6 +130,11 @@ const enMessages = {
|
|
|
125
130
|
error: "Error",
|
|
126
131
|
result: "Result",
|
|
127
132
|
running: "Running...",
|
|
133
|
+
mcpHint: {
|
|
134
|
+
title: (ctx: { named: (key: "server") => string }) => `${ctx.named("server")} setup hint`,
|
|
135
|
+
requiredKeys: "Required keys",
|
|
136
|
+
setupGuide: "Open setup guide",
|
|
137
|
+
},
|
|
128
138
|
},
|
|
129
139
|
fileTreePane: {
|
|
130
140
|
sort: "Sort:",
|
|
@@ -592,6 +602,7 @@ const enMessages = {
|
|
|
592
602
|
yamlParseError: "Could not parse YAML — ensure 'title' is present",
|
|
593
603
|
propLabel: "{key}:",
|
|
594
604
|
moreCount: "+{count} more",
|
|
605
|
+
invalidRange: "Invalid date range (endDate: {endDate})",
|
|
595
606
|
previewIcon: "📅",
|
|
596
607
|
previewUpcoming: "{count} upcoming",
|
|
597
608
|
previewAutomations: "{count} automation | {count} automations",
|
|
@@ -1074,6 +1085,41 @@ const enMessages = {
|
|
|
1074
1085
|
errSaveFailed: "Save failed: {error}",
|
|
1075
1086
|
errDeleteFailed: "Failed to delete",
|
|
1076
1087
|
confirmDelete: 'Delete skill "{name}"? This removes ~/mulmoclaude/.claude/skills/{name}/SKILL.md.',
|
|
1088
|
+
sectionActive: "Active",
|
|
1089
|
+
sectionCatalog: "Catalog",
|
|
1090
|
+
sectionLegend:
|
|
1091
|
+
"Active: loaded into the prompt ({system} System = mc- bundled · {project} Project = editable · {user} User = ~/.claude/skills/). Catalog: browse, ★ star or ▶ run once without bloating the prompt.",
|
|
1092
|
+
catalogEmpty: "No preset skills available.",
|
|
1093
|
+
catalogPresetHeading: "Presets",
|
|
1094
|
+
catalogStar: "Star",
|
|
1095
|
+
catalogStarred: "Starred",
|
|
1096
|
+
catalogRunOnce: "Run once",
|
|
1097
|
+
sourceUserTitle: "User skill (~/.claude/skills/, available in every workspace)",
|
|
1098
|
+
sourceSystemTitle: "System skill (bundled, mc- prefix — read-only, overwritten by the launcher)",
|
|
1099
|
+
sourceProjectTitle: "Project skill (workspace .claude/skills/, this workspace only)",
|
|
1100
|
+
sourcePresetTitle: "Preset catalog — click Star to activate in this workspace",
|
|
1101
|
+
errCatalogListFailed: "Failed to load catalog: {error}",
|
|
1102
|
+
errCatalogStarFailed: "Failed to star skill: {error}",
|
|
1103
|
+
errCatalogPreviewFailed: "Failed to load skill preview: {error}",
|
|
1104
|
+
errCatalogRunOnceEmpty: "This skill has no body to run.",
|
|
1105
|
+
catalogAddRepo: "Add skill repository",
|
|
1106
|
+
catalogAddRepoTitle: "Add a skill repository",
|
|
1107
|
+
catalogRepoUrlLabel: "GitHub URL",
|
|
1108
|
+
catalogRepoUrlPlaceholder: "https://github.com/owner/repo",
|
|
1109
|
+
catalogRepoSubpathLabel: "Subpath (optional)",
|
|
1110
|
+
catalogRepoSubpathPlaceholder: "skills",
|
|
1111
|
+
catalogAddRepoSubmit: "Install",
|
|
1112
|
+
catalogAddRepoSuggestions: "Suggested repositories",
|
|
1113
|
+
catalogUninstallRepo: "Uninstall repository",
|
|
1114
|
+
catalogUpdateRepo: "Update repository (re-fetch latest)",
|
|
1115
|
+
catalogUninstallConfirm: "Uninstall this repository? Skills you already starred stay in your active list.",
|
|
1116
|
+
catalogRepoInstalling: "Installing…",
|
|
1117
|
+
catalogRepoEmpty: "No skills found in this repository.",
|
|
1118
|
+
sourceExternalTitle: "External skill (installed from a GitHub repo — click Star to activate)",
|
|
1119
|
+
errCatalogRepoListFailed: "Failed to load installed repositories: {error}",
|
|
1120
|
+
errCatalogRepoInstallFailed: "Failed to install repository: {error}",
|
|
1121
|
+
errCatalogRepoUninstallFailed: "Failed to uninstall repository: {error}",
|
|
1122
|
+
errCatalogRepoInvalidUrl: "Enter a GitHub repository URL.",
|
|
1077
1123
|
},
|
|
1078
1124
|
pluginManageRoles: {
|
|
1079
1125
|
heading: "Custom Roles",
|
|
@@ -1128,6 +1174,8 @@ const enMessages = {
|
|
|
1128
1174
|
stop: "■ Stop",
|
|
1129
1175
|
playPresentation: "Play presentation",
|
|
1130
1176
|
regenerateMovie: "Regenerate movie",
|
|
1177
|
+
movieGenerationFailed: "Movie generation failed",
|
|
1178
|
+
retry: "Retry",
|
|
1131
1179
|
errPrefix: "⚠ Error",
|
|
1132
1180
|
noBeats: "No beats found in script",
|
|
1133
1181
|
editSource: "Edit Script Source",
|
package/src/lang/es.ts
CHANGED
|
@@ -33,7 +33,7 @@ const esMessages = {
|
|
|
33
33
|
},
|
|
34
34
|
},
|
|
35
35
|
chatInput: {
|
|
36
|
-
placeholder: "
|
|
36
|
+
placeholder: "Mensaje para Claude…",
|
|
37
37
|
send: "Enviar",
|
|
38
38
|
attachFile: "Adjuntar archivo",
|
|
39
39
|
fileTooLarge: "El archivo es demasiado grande ({sizeMB} MB). El máximo es 30 MB.",
|
|
@@ -80,6 +80,11 @@ const esMessages = {
|
|
|
80
80
|
intraBody:
|
|
81
81
|
'Los plugins "{first}" y "{second}" registran ambos el {dimension} "{key}". "{first}" lo reclamó primero, por lo que el registro de "{second}" se ignora.',
|
|
82
82
|
},
|
|
83
|
+
optionalDeps: {
|
|
84
|
+
title: "Dependencia opcional no disponible",
|
|
85
|
+
notFound: "No se encontró {command} — las funciones relacionadas se han desactivado. Instálalo y reinicia para habilitarlas.",
|
|
86
|
+
notResponding: "{command} está instalado pero no responde — las funciones relacionadas se han desactivado. Inícialo y reinicia para habilitarlas.",
|
|
87
|
+
},
|
|
83
88
|
pluginErrorBoundary: {
|
|
84
89
|
title: "El plugin {pkg} se ha bloqueado",
|
|
85
90
|
subtitle: "El plugin no se pudo renderizar. El error se ha registrado en la consola.",
|
|
@@ -109,6 +114,11 @@ const esMessages = {
|
|
|
109
114
|
error: "Error",
|
|
110
115
|
result: "Resultado",
|
|
111
116
|
running: "Ejecutando...",
|
|
117
|
+
mcpHint: {
|
|
118
|
+
title: (ctx: { named: (key: "server") => string }) => `Ayuda de configuración: ${ctx.named("server")}`,
|
|
119
|
+
requiredKeys: "Claves requeridas",
|
|
120
|
+
setupGuide: "Abrir guía de configuración",
|
|
121
|
+
},
|
|
112
122
|
},
|
|
113
123
|
fileTreePane: {
|
|
114
124
|
sort: "Orden:",
|
|
@@ -577,6 +587,7 @@ const esMessages = {
|
|
|
577
587
|
yamlParseError: "No se pudo analizar el YAML — asegúrate de que 'title' esté presente",
|
|
578
588
|
propLabel: "{key}:",
|
|
579
589
|
moreCount: "+{count} más",
|
|
590
|
+
invalidRange: "Rango de fechas no válido (endDate: {endDate})",
|
|
580
591
|
previewIcon: "📅",
|
|
581
592
|
previewUpcoming: "{count} próximos",
|
|
582
593
|
previewAutomations: "{count} automatización | {count} automatizaciones",
|
|
@@ -1086,6 +1097,41 @@ const esMessages = {
|
|
|
1086
1097
|
errSaveFailed: "Error al guardar: {error}",
|
|
1087
1098
|
errDeleteFailed: "Error al eliminar",
|
|
1088
1099
|
confirmDelete: '¿Eliminar la skill "{name}"? Esto borrará ~/mulmoclaude/.claude/skills/{name}/SKILL.md.',
|
|
1100
|
+
sectionActive: "Activas",
|
|
1101
|
+
sectionCatalog: "Catálogo",
|
|
1102
|
+
sectionLegend:
|
|
1103
|
+
"Activas: cargadas en el prompt ({system} Sistema = incluidas mc- · {project} Proyecto = editables · {user} Usuario = ~/.claude/skills/). Catálogo: explora, ★destaca o ▶ejecuta una vez sin inflar el prompt.",
|
|
1104
|
+
catalogEmpty: "No hay skills de preajuste disponibles.",
|
|
1105
|
+
catalogPresetHeading: "Preajustes",
|
|
1106
|
+
catalogStar: "Destacar",
|
|
1107
|
+
catalogStarred: "Destacada",
|
|
1108
|
+
catalogRunOnce: "Ejecutar una vez",
|
|
1109
|
+
sourceUserTitle: "Skill de usuario (~/.claude/skills/, disponible en todos los espacios)",
|
|
1110
|
+
sourceSystemTitle: "Skill de sistema (incluida, prefijo mc- — solo lectura, sobrescrita por el launcher)",
|
|
1111
|
+
sourceProjectTitle: "Skill del proyecto (.claude/skills/ del workspace, solo este espacio)",
|
|
1112
|
+
sourcePresetTitle: "Catálogo de preajustes — pulsa Destacar para activarla en este espacio",
|
|
1113
|
+
errCatalogListFailed: "Error al cargar el catálogo: {error}",
|
|
1114
|
+
errCatalogStarFailed: "Error al destacar la skill: {error}",
|
|
1115
|
+
errCatalogPreviewFailed: "Error al cargar la vista previa de la skill: {error}",
|
|
1116
|
+
errCatalogRunOnceEmpty: "Esta skill no tiene cuerpo para ejecutar.",
|
|
1117
|
+
catalogAddRepo: "Añadir repositorio de skills",
|
|
1118
|
+
catalogAddRepoTitle: "Añadir un repositorio de skills",
|
|
1119
|
+
catalogRepoUrlLabel: "URL de GitHub",
|
|
1120
|
+
catalogRepoUrlPlaceholder: "https://github.com/owner/repo",
|
|
1121
|
+
catalogRepoSubpathLabel: "Subruta (opcional)",
|
|
1122
|
+
catalogRepoSubpathPlaceholder: "skills",
|
|
1123
|
+
catalogAddRepoSubmit: "Instalar",
|
|
1124
|
+
catalogAddRepoSuggestions: "Repositorios sugeridos",
|
|
1125
|
+
catalogUninstallRepo: "Desinstalar repositorio",
|
|
1126
|
+
catalogUpdateRepo: "Actualizar repositorio (volver a obtener lo último)",
|
|
1127
|
+
catalogUninstallConfirm: "¿Desinstalar este repositorio? Las skills que ya marcaste con estrella permanecen en tu lista activa.",
|
|
1128
|
+
catalogRepoInstalling: "Instalando…",
|
|
1129
|
+
catalogRepoEmpty: "No se encontraron skills en este repositorio.",
|
|
1130
|
+
sourceExternalTitle: "Skill externa (instalada desde un repositorio de GitHub — pulsa la estrella para activar)",
|
|
1131
|
+
errCatalogRepoListFailed: "No se pudieron cargar los repositorios instalados: {error}",
|
|
1132
|
+
errCatalogRepoInstallFailed: "No se pudo instalar el repositorio: {error}",
|
|
1133
|
+
errCatalogRepoUninstallFailed: "No se pudo desinstalar el repositorio: {error}",
|
|
1134
|
+
errCatalogRepoInvalidUrl: "Introduce una URL de repositorio de GitHub.",
|
|
1089
1135
|
},
|
|
1090
1136
|
pluginManageRoles: {
|
|
1091
1137
|
heading: "Roles personalizados",
|
|
@@ -1140,6 +1186,8 @@ const esMessages = {
|
|
|
1140
1186
|
stop: "■ Detener",
|
|
1141
1187
|
playPresentation: "Reproducir presentación",
|
|
1142
1188
|
regenerateMovie: "Regenerar vídeo",
|
|
1189
|
+
movieGenerationFailed: "Error al generar el vídeo",
|
|
1190
|
+
retry: "Reintentar",
|
|
1143
1191
|
errPrefix: "⚠ Error",
|
|
1144
1192
|
noBeats: "No se encontraron beats en el script",
|
|
1145
1193
|
editSource: "Editar fuente del script",
|
package/src/lang/fr.ts
CHANGED
|
@@ -28,7 +28,7 @@ const frMessages = {
|
|
|
28
28
|
},
|
|
29
29
|
},
|
|
30
30
|
chatInput: {
|
|
31
|
-
placeholder: "
|
|
31
|
+
placeholder: "Message à Claude…",
|
|
32
32
|
send: "Envoyer",
|
|
33
33
|
attachFile: "Joindre un fichier",
|
|
34
34
|
fileTooLarge: "Fichier trop volumineux ({sizeMB} Mo). La limite est de 30 Mo.",
|
|
@@ -75,6 +75,11 @@ const frMessages = {
|
|
|
75
75
|
intraBody:
|
|
76
76
|
"Les plugins « {first} » et « {second} » enregistrent tous deux le {dimension} « {key} ». « {first} » l'a réclamé en premier, donc l'enregistrement de « {second} » est ignoré.",
|
|
77
77
|
},
|
|
78
|
+
optionalDeps: {
|
|
79
|
+
title: "Dépendance optionnelle indisponible",
|
|
80
|
+
notFound: "{command} introuvable — les fonctionnalités associées ont été désactivées. Installez-le et redémarrez pour les activer.",
|
|
81
|
+
notResponding: "{command} est installé mais ne répond pas — les fonctionnalités associées ont été désactivées. Démarrez-le et redémarrez pour les activer.",
|
|
82
|
+
},
|
|
78
83
|
pluginErrorBoundary: {
|
|
79
84
|
title: "Le plugin {pkg} a planté",
|
|
80
85
|
subtitle: "Le plugin n'a pas pu être affiché. L'erreur a été consignée dans la console.",
|
|
@@ -104,6 +109,11 @@ const frMessages = {
|
|
|
104
109
|
error: "Erreur",
|
|
105
110
|
result: "Résultat",
|
|
106
111
|
running: "En cours...",
|
|
112
|
+
mcpHint: {
|
|
113
|
+
title: (ctx: { named: (key: "server") => string }) => `Aide à la configuration : ${ctx.named("server")}`,
|
|
114
|
+
requiredKeys: "Clés requises",
|
|
115
|
+
setupGuide: "Ouvrir le guide de configuration",
|
|
116
|
+
},
|
|
107
117
|
},
|
|
108
118
|
fileTreePane: {
|
|
109
119
|
sort: "Tri :",
|
|
@@ -571,6 +581,7 @@ const frMessages = {
|
|
|
571
581
|
yamlParseError: "Impossible d'analyser le YAML — vérifiez que « title » est présent",
|
|
572
582
|
propLabel: "{key} :",
|
|
573
583
|
moreCount: "+{count} de plus",
|
|
584
|
+
invalidRange: "Plage de dates invalide (endDate: {endDate})",
|
|
574
585
|
previewIcon: "📅",
|
|
575
586
|
previewUpcoming: "{count} à venir",
|
|
576
587
|
previewAutomations: "{count} automatisation | {count} automatisations",
|
|
@@ -1080,6 +1091,41 @@ const frMessages = {
|
|
|
1080
1091
|
errSaveFailed: "Échec de l'enregistrement : {error}",
|
|
1081
1092
|
errDeleteFailed: "Échec de la suppression",
|
|
1082
1093
|
confirmDelete: 'Supprimer la skill "{name}" ? Cela retire ~/mulmoclaude/.claude/skills/{name}/SKILL.md.',
|
|
1094
|
+
sectionActive: "Actives",
|
|
1095
|
+
sectionCatalog: "Catalogue",
|
|
1096
|
+
sectionLegend:
|
|
1097
|
+
"Actives : chargées dans le prompt ({system} Système = incluses mc- · {project} Projet = modifiables · {user} Utilisateur = ~/.claude/skills/). Catalogue : parcourez, ★ajoutez aux favoris ou ▶exécutez une fois sans alourdir le prompt.",
|
|
1098
|
+
catalogEmpty: "Aucune skill de préréglage disponible.",
|
|
1099
|
+
catalogPresetHeading: "Préréglages",
|
|
1100
|
+
catalogStar: "Favori",
|
|
1101
|
+
catalogStarred: "Favoris",
|
|
1102
|
+
catalogRunOnce: "Exécuter une fois",
|
|
1103
|
+
sourceUserTitle: "Skill utilisateur (~/.claude/skills/, disponible dans tous les espaces)",
|
|
1104
|
+
sourceSystemTitle: "Skill système (incluse, préfixe mc- — lecture seule, écrasée par le launcher)",
|
|
1105
|
+
sourceProjectTitle: "Skill de projet (.claude/skills/ de l'espace, espace courant uniquement)",
|
|
1106
|
+
sourcePresetTitle: "Catalogue de préréglages — cliquez sur Favori pour activer dans cet espace",
|
|
1107
|
+
errCatalogListFailed: "Échec du chargement du catalogue : {error}",
|
|
1108
|
+
errCatalogStarFailed: "Échec de l'ajout aux favoris : {error}",
|
|
1109
|
+
errCatalogPreviewFailed: "Échec du chargement de l'aperçu : {error}",
|
|
1110
|
+
errCatalogRunOnceEmpty: "Cette skill n'a pas de contenu à exécuter.",
|
|
1111
|
+
catalogAddRepo: "Ajouter un dépôt de skills",
|
|
1112
|
+
catalogAddRepoTitle: "Ajouter un dépôt de skills",
|
|
1113
|
+
catalogRepoUrlLabel: "URL GitHub",
|
|
1114
|
+
catalogRepoUrlPlaceholder: "https://github.com/owner/repo",
|
|
1115
|
+
catalogRepoSubpathLabel: "Sous-chemin (facultatif)",
|
|
1116
|
+
catalogRepoSubpathPlaceholder: "skills",
|
|
1117
|
+
catalogAddRepoSubmit: "Installer",
|
|
1118
|
+
catalogAddRepoSuggestions: "Dépôts suggérés",
|
|
1119
|
+
catalogUninstallRepo: "Désinstaller le dépôt",
|
|
1120
|
+
catalogUpdateRepo: "Mettre à jour le dépôt (récupérer la dernière version)",
|
|
1121
|
+
catalogUninstallConfirm: "Désinstaller ce dépôt ? Les skills déjà mises en favori restent dans votre liste active.",
|
|
1122
|
+
catalogRepoInstalling: "Installation…",
|
|
1123
|
+
catalogRepoEmpty: "Aucune skill trouvée dans ce dépôt.",
|
|
1124
|
+
sourceExternalTitle: "Skill externe (installée depuis un dépôt GitHub — cliquez sur l'étoile pour activer)",
|
|
1125
|
+
errCatalogRepoListFailed: "Échec du chargement des dépôts installés : {error}",
|
|
1126
|
+
errCatalogRepoInstallFailed: "Échec de l'installation du dépôt : {error}",
|
|
1127
|
+
errCatalogRepoUninstallFailed: "Échec de la désinstallation du dépôt : {error}",
|
|
1128
|
+
errCatalogRepoInvalidUrl: "Saisissez une URL de dépôt GitHub.",
|
|
1083
1129
|
},
|
|
1084
1130
|
pluginManageRoles: {
|
|
1085
1131
|
heading: "Rôles personnalisés",
|
|
@@ -1134,6 +1180,8 @@ const frMessages = {
|
|
|
1134
1180
|
stop: "■ Arrêter",
|
|
1135
1181
|
playPresentation: "Lire la présentation",
|
|
1136
1182
|
regenerateMovie: "Régénérer la vidéo",
|
|
1183
|
+
movieGenerationFailed: "Échec de la génération de la vidéo",
|
|
1184
|
+
retry: "Réessayer",
|
|
1137
1185
|
errPrefix: "⚠ Erreur",
|
|
1138
1186
|
noBeats: "Aucun beat trouvé dans le script",
|
|
1139
1187
|
editSource: "Modifier la source du script",
|
package/src/lang/ja.ts
CHANGED
|
@@ -35,7 +35,7 @@ const jaMessages = {
|
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
37
|
chatInput: {
|
|
38
|
-
placeholder: "
|
|
38
|
+
placeholder: "Claude にメッセージ…",
|
|
39
39
|
send: "送信",
|
|
40
40
|
attachFile: "ファイルを添付",
|
|
41
41
|
fileTooLarge: "ファイルが大きすぎます({sizeMB} MB)。上限は 30 MB です。",
|
|
@@ -82,6 +82,11 @@ const jaMessages = {
|
|
|
82
82
|
intraBody:
|
|
83
83
|
"プラグイン「{first}」と「{second}」が同じ {dimension}「{key}」を登録しています。「{first}」が先に確保したため、「{second}」の登録は無視されます。",
|
|
84
84
|
},
|
|
85
|
+
optionalDeps: {
|
|
86
|
+
title: "任意の依存コマンドを利用できません",
|
|
87
|
+
notFound: "{command} が見つかりません — 関連機能を無効化しました。インストールして再起動すると有効になります。",
|
|
88
|
+
notResponding: "{command} はインストール済みですが応答しません — 関連機能を無効化しました。起動して再起動すると有効になります。",
|
|
89
|
+
},
|
|
85
90
|
pluginErrorBoundary: {
|
|
86
91
|
title: "プラグイン {pkg} がクラッシュしました",
|
|
87
92
|
subtitle: "プラグインのレンダリングに失敗しました。エラーはコンソールに記録されています。",
|
|
@@ -111,6 +116,11 @@ const jaMessages = {
|
|
|
111
116
|
error: "エラー",
|
|
112
117
|
result: "結果",
|
|
113
118
|
running: "実行中...",
|
|
119
|
+
mcpHint: {
|
|
120
|
+
title: (ctx: { named: (key: "server") => string }) => `${ctx.named("server")} のセットアップヒント`,
|
|
121
|
+
requiredKeys: "必要なキー",
|
|
122
|
+
setupGuide: "セットアップガイドを開く",
|
|
123
|
+
},
|
|
114
124
|
},
|
|
115
125
|
fileTreePane: {
|
|
116
126
|
sort: "並び順:",
|
|
@@ -568,6 +578,7 @@ const jaMessages = {
|
|
|
568
578
|
yamlParseError: "YAML を解析できません — 'title' が含まれているか確認してください",
|
|
569
579
|
propLabel: "{key}:",
|
|
570
580
|
moreCount: "他 {count} 件",
|
|
581
|
+
invalidRange: "日付範囲が不正です (endDate: {endDate})",
|
|
571
582
|
previewIcon: "📅",
|
|
572
583
|
previewUpcoming: "今後 {count} 件",
|
|
573
584
|
previewAutomations: "オートメーション {count} 件",
|
|
@@ -1075,6 +1086,41 @@ const jaMessages = {
|
|
|
1075
1086
|
errSaveFailed: "保存失敗: {error}",
|
|
1076
1087
|
errDeleteFailed: "削除に失敗しました",
|
|
1077
1088
|
confirmDelete: "スキル「{name}」を削除しますか? ~/mulmoclaude/.claude/skills/{name}/SKILL.md が削除されます。",
|
|
1089
|
+
sectionActive: "アクティブ",
|
|
1090
|
+
sectionCatalog: "カタログ",
|
|
1091
|
+
sectionLegend:
|
|
1092
|
+
"アクティブ: プロンプトに読み込まれる ({system} システム = mc- 同梱 · {project} プロジェクト = 編集可 · {user} ユーザー = ~/.claude/skills/)。カタログ: プロンプトを肥大化させずに閲覧・★スター・▶今だけ実行ができる。",
|
|
1093
|
+
catalogEmpty: "利用できるプリセットスキルがありません。",
|
|
1094
|
+
catalogPresetHeading: "プリセット",
|
|
1095
|
+
catalogStar: "スター",
|
|
1096
|
+
catalogStarred: "スター済み",
|
|
1097
|
+
catalogRunOnce: "今だけ実行",
|
|
1098
|
+
sourceUserTitle: "ユーザースキル (~/.claude/skills/、全ワークスペース共通)",
|
|
1099
|
+
sourceSystemTitle: "システムスキル (同梱、mc- 接頭辞 — 読み取り専用、launcher 起動時に上書き)",
|
|
1100
|
+
sourceProjectTitle: "プロジェクトスキル (ワークスペース直下の .claude/skills/、このワークスペースのみ)",
|
|
1101
|
+
sourcePresetTitle: "プリセットカタログ — スターでこのワークスペースに有効化",
|
|
1102
|
+
errCatalogListFailed: "カタログの読み込みに失敗しました: {error}",
|
|
1103
|
+
errCatalogStarFailed: "スキルのスター追加に失敗しました: {error}",
|
|
1104
|
+
errCatalogPreviewFailed: "スキルプレビューの読み込みに失敗しました: {error}",
|
|
1105
|
+
errCatalogRunOnceEmpty: "このスキルには実行できる本文がありません。",
|
|
1106
|
+
catalogAddRepo: "スキルリポジトリを追加",
|
|
1107
|
+
catalogAddRepoTitle: "スキルリポジトリを追加",
|
|
1108
|
+
catalogRepoUrlLabel: "GitHub URL",
|
|
1109
|
+
catalogRepoUrlPlaceholder: "https://github.com/owner/repo",
|
|
1110
|
+
catalogRepoSubpathLabel: "サブパス(任意)",
|
|
1111
|
+
catalogRepoSubpathPlaceholder: "skills",
|
|
1112
|
+
catalogAddRepoSubmit: "インストール",
|
|
1113
|
+
catalogAddRepoSuggestions: "おすすめリポジトリ",
|
|
1114
|
+
catalogUninstallRepo: "リポジトリをアンインストール",
|
|
1115
|
+
catalogUpdateRepo: "リポジトリを更新(最新を再取得)",
|
|
1116
|
+
catalogUninstallConfirm: "このリポジトリをアンインストールしますか? すでに★したスキルはアクティブ一覧に残ります。",
|
|
1117
|
+
catalogRepoInstalling: "インストール中…",
|
|
1118
|
+
catalogRepoEmpty: "このリポジトリにスキルが見つかりません。",
|
|
1119
|
+
sourceExternalTitle: "外部スキル(GitHub リポジトリからインストール — ★ で有効化)",
|
|
1120
|
+
errCatalogRepoListFailed: "インストール済みリポジトリの読み込みに失敗しました: {error}",
|
|
1121
|
+
errCatalogRepoInstallFailed: "リポジトリのインストールに失敗しました: {error}",
|
|
1122
|
+
errCatalogRepoUninstallFailed: "リポジトリのアンインストールに失敗しました: {error}",
|
|
1123
|
+
errCatalogRepoInvalidUrl: "GitHub リポジトリの URL を入力してください。",
|
|
1078
1124
|
},
|
|
1079
1125
|
pluginManageRoles: {
|
|
1080
1126
|
heading: "カスタムロール",
|
|
@@ -1129,6 +1175,8 @@ const jaMessages = {
|
|
|
1129
1175
|
stop: "■ 停止",
|
|
1130
1176
|
playPresentation: "プレゼンテーション再生",
|
|
1131
1177
|
regenerateMovie: "動画を再生成",
|
|
1178
|
+
movieGenerationFailed: "動画の生成に失敗しました",
|
|
1179
|
+
retry: "再試行",
|
|
1132
1180
|
errPrefix: "⚠ エラー",
|
|
1133
1181
|
noBeats: "スクリプトにビートが見つかりません",
|
|
1134
1182
|
editSource: "スクリプトソースを編集",
|
package/src/lang/ko.ts
CHANGED
|
@@ -35,7 +35,7 @@ const koMessages = {
|
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
37
|
chatInput: {
|
|
38
|
-
placeholder: "
|
|
38
|
+
placeholder: "Claude에게 메시지…",
|
|
39
39
|
send: "전송",
|
|
40
40
|
attachFile: "파일 첨부",
|
|
41
41
|
fileTooLarge: "파일이 너무 큽니다 ({sizeMB} MB). 최대 30 MB 까지 가능합니다.",
|
|
@@ -83,6 +83,11 @@ const koMessages = {
|
|
|
83
83
|
intraBody:
|
|
84
84
|
'플러그인 "{first}"과(와) "{second}"이(가) 동일한 {dimension} "{key}"을(를) 등록합니다. "{first}"이(가) 먼저 등록했으므로 "{second}"의 등록은 무시됩니다.',
|
|
85
85
|
},
|
|
86
|
+
optionalDeps: {
|
|
87
|
+
title: "선택적 의존성을 사용할 수 없습니다",
|
|
88
|
+
notFound: "{command}을(를) 찾을 수 없습니다 — 관련 기능이 비활성화되었습니다. 설치 후 재시작하면 활성화됩니다.",
|
|
89
|
+
notResponding: "{command}이(가) 설치되어 있지만 응답하지 않습니다 — 관련 기능이 비활성화되었습니다. 시작한 후 재시작하면 활성화됩니다.",
|
|
90
|
+
},
|
|
86
91
|
pluginErrorBoundary: {
|
|
87
92
|
title: "플러그인 {pkg}이(가) 충돌했습니다",
|
|
88
93
|
subtitle: "플러그인 렌더링에 실패했습니다. 오류가 콘솔에 기록되었습니다.",
|
|
@@ -112,6 +117,11 @@ const koMessages = {
|
|
|
112
117
|
error: "오류",
|
|
113
118
|
result: "결과",
|
|
114
119
|
running: "실행 중...",
|
|
120
|
+
mcpHint: {
|
|
121
|
+
title: (ctx: { named: (key: "server") => string }) => `${ctx.named("server")} 설정 도움말`,
|
|
122
|
+
requiredKeys: "필수 키",
|
|
123
|
+
setupGuide: "설정 가이드 열기",
|
|
124
|
+
},
|
|
115
125
|
},
|
|
116
126
|
fileTreePane: {
|
|
117
127
|
sort: "정렬:",
|
|
@@ -568,6 +578,7 @@ const koMessages = {
|
|
|
568
578
|
yamlParseError: "YAML 을 파싱할 수 없습니다 — 'title' 이 포함되어 있는지 확인하세요",
|
|
569
579
|
propLabel: "{key}:",
|
|
570
580
|
moreCount: "+{count}개 더",
|
|
581
|
+
invalidRange: "잘못된 날짜 범위 (endDate: {endDate})",
|
|
571
582
|
previewIcon: "📅",
|
|
572
583
|
previewUpcoming: "예정 {count}개",
|
|
573
584
|
previewAutomations: "자동화 {count}개",
|
|
@@ -1075,6 +1086,41 @@ const koMessages = {
|
|
|
1075
1086
|
errSaveFailed: "저장 실패: {error}",
|
|
1076
1087
|
errDeleteFailed: "삭제 실패",
|
|
1077
1088
|
confirmDelete: '스킬 "{name}" 을(를) 삭제할까요? ~/mulmoclaude/.claude/skills/{name}/SKILL.md 가 제거됩니다.',
|
|
1089
|
+
sectionActive: "활성",
|
|
1090
|
+
sectionCatalog: "카탈로그",
|
|
1091
|
+
sectionLegend:
|
|
1092
|
+
"활성: 프롬프트에 로드됨 ({system} 시스템 = mc- 동봉 · {project} 프로젝트 = 편집 가능 · {user} 사용자 = ~/.claude/skills/). 카탈로그: 프롬프트를 키우지 않고 살펴보거나 ★별 표시 또는 ▶한 번만 실행할 수 있습니다.",
|
|
1093
|
+
catalogEmpty: "사용 가능한 프리셋 스킬이 없습니다.",
|
|
1094
|
+
catalogPresetHeading: "프리셋",
|
|
1095
|
+
catalogStar: "별 표시",
|
|
1096
|
+
catalogStarred: "별 표시됨",
|
|
1097
|
+
catalogRunOnce: "한 번만 실행",
|
|
1098
|
+
sourceUserTitle: "사용자 스킬 (~/.claude/skills/, 모든 워크스페이스 공통)",
|
|
1099
|
+
sourceSystemTitle: "시스템 스킬 (동봉, mc- 접두사 — 읽기 전용, 런처 부팅 시 덮어씀)",
|
|
1100
|
+
sourceProjectTitle: "프로젝트 스킬 (워크스페이스 .claude/skills/, 이 워크스페이스 전용)",
|
|
1101
|
+
sourcePresetTitle: "프리셋 카탈로그 — 별 표시를 눌러 이 워크스페이스에 활성화",
|
|
1102
|
+
errCatalogListFailed: "카탈로그를 불러오지 못했습니다: {error}",
|
|
1103
|
+
errCatalogStarFailed: "스킬에 별 표시를 추가하지 못했습니다: {error}",
|
|
1104
|
+
errCatalogPreviewFailed: "스킬 미리보기를 불러오지 못했습니다: {error}",
|
|
1105
|
+
errCatalogRunOnceEmpty: "이 스킬에는 실행할 본문이 없습니다.",
|
|
1106
|
+
catalogAddRepo: "스킬 저장소 추가",
|
|
1107
|
+
catalogAddRepoTitle: "스킬 저장소 추가",
|
|
1108
|
+
catalogRepoUrlLabel: "GitHub URL",
|
|
1109
|
+
catalogRepoUrlPlaceholder: "https://github.com/owner/repo",
|
|
1110
|
+
catalogRepoSubpathLabel: "하위 경로 (선택)",
|
|
1111
|
+
catalogRepoSubpathPlaceholder: "skills",
|
|
1112
|
+
catalogAddRepoSubmit: "설치",
|
|
1113
|
+
catalogAddRepoSuggestions: "추천 저장소",
|
|
1114
|
+
catalogUninstallRepo: "저장소 제거",
|
|
1115
|
+
catalogUpdateRepo: "저장소 업데이트(최신 다시 가져오기)",
|
|
1116
|
+
catalogUninstallConfirm: "이 저장소를 제거할까요? 이미 별표한 스킬은 활성 목록에 남습니다.",
|
|
1117
|
+
catalogRepoInstalling: "설치 중…",
|
|
1118
|
+
catalogRepoEmpty: "이 저장소에서 스킬을 찾을 수 없습니다.",
|
|
1119
|
+
sourceExternalTitle: "외부 스킬 (GitHub 저장소에서 설치 — 별표로 활성화)",
|
|
1120
|
+
errCatalogRepoListFailed: "설치된 저장소를 불러오지 못했습니다: {error}",
|
|
1121
|
+
errCatalogRepoInstallFailed: "저장소 설치에 실패했습니다: {error}",
|
|
1122
|
+
errCatalogRepoUninstallFailed: "저장소 제거에 실패했습니다: {error}",
|
|
1123
|
+
errCatalogRepoInvalidUrl: "GitHub 저장소 URL을 입력하세요.",
|
|
1078
1124
|
},
|
|
1079
1125
|
pluginManageRoles: {
|
|
1080
1126
|
heading: "커스텀 역할",
|
|
@@ -1129,6 +1175,8 @@ const koMessages = {
|
|
|
1129
1175
|
stop: "■ 정지",
|
|
1130
1176
|
playPresentation: "프레젠테이션 재생",
|
|
1131
1177
|
regenerateMovie: "동영상 재생성",
|
|
1178
|
+
movieGenerationFailed: "동영상 생성에 실패했습니다",
|
|
1179
|
+
retry: "다시 시도",
|
|
1132
1180
|
errPrefix: "⚠ 오류",
|
|
1133
1181
|
noBeats: "스크립트에서 비트를 찾을 수 없습니다",
|
|
1134
1182
|
editSource: "스크립트 원본 편집",
|
package/src/lang/pt-BR.ts
CHANGED
|
@@ -28,7 +28,7 @@ const ptBRMessages = {
|
|
|
28
28
|
},
|
|
29
29
|
},
|
|
30
30
|
chatInput: {
|
|
31
|
-
placeholder: "
|
|
31
|
+
placeholder: "Mensagem para Claude…",
|
|
32
32
|
send: "Enviar",
|
|
33
33
|
attachFile: "Anexar arquivo",
|
|
34
34
|
fileTooLarge: "Arquivo muito grande ({sizeMB} MB). O limite é 30 MB.",
|
|
@@ -75,6 +75,11 @@ const ptBRMessages = {
|
|
|
75
75
|
intraBody:
|
|
76
76
|
'Os plugins "{first}" e "{second}" registram o mesmo {dimension} "{key}". "{first}" o reivindicou primeiro, portanto o registro de "{second}" é ignorado.',
|
|
77
77
|
},
|
|
78
|
+
optionalDeps: {
|
|
79
|
+
title: "Dependência opcional indisponível",
|
|
80
|
+
notFound: "{command} não encontrado — recursos relacionados foram desativados. Instale-o e reinicie para habilitá-los.",
|
|
81
|
+
notResponding: "{command} está instalado mas não responde — recursos relacionados foram desativados. Inicie-o e reinicie para habilitá-los.",
|
|
82
|
+
},
|
|
78
83
|
pluginErrorBoundary: {
|
|
79
84
|
title: "O plugin {pkg} travou",
|
|
80
85
|
subtitle: "O plugin falhou ao renderizar. O erro foi registrado no console.",
|
|
@@ -104,6 +109,11 @@ const ptBRMessages = {
|
|
|
104
109
|
error: "Erro",
|
|
105
110
|
result: "Resultado",
|
|
106
111
|
running: "Executando...",
|
|
112
|
+
mcpHint: {
|
|
113
|
+
title: (ctx: { named: (key: "server") => string }) => `Dica de configuração: ${ctx.named("server")}`,
|
|
114
|
+
requiredKeys: "Chaves obrigatórias",
|
|
115
|
+
setupGuide: "Abrir guia de configuração",
|
|
116
|
+
},
|
|
107
117
|
},
|
|
108
118
|
fileTreePane: {
|
|
109
119
|
sort: "Ordenar:",
|
|
@@ -570,6 +580,7 @@ const ptBRMessages = {
|
|
|
570
580
|
yamlParseError: "Não foi possível analisar o YAML — verifique se 'title' está presente",
|
|
571
581
|
propLabel: "{key}:",
|
|
572
582
|
moreCount: "+{count} mais",
|
|
583
|
+
invalidRange: "Intervalo de datas inválido (endDate: {endDate})",
|
|
573
584
|
previewIcon: "📅",
|
|
574
585
|
previewUpcoming: "{count} próximos",
|
|
575
586
|
previewAutomations: "{count} automação | {count} automações",
|
|
@@ -1075,6 +1086,41 @@ const ptBRMessages = {
|
|
|
1075
1086
|
errSaveFailed: "Falha ao salvar: {error}",
|
|
1076
1087
|
errDeleteFailed: "Falha ao excluir",
|
|
1077
1088
|
confirmDelete: 'Excluir a skill "{name}"? Isso remove ~/mulmoclaude/.claude/skills/{name}/SKILL.md.',
|
|
1089
|
+
sectionActive: "Ativas",
|
|
1090
|
+
sectionCatalog: "Catálogo",
|
|
1091
|
+
sectionLegend:
|
|
1092
|
+
"Ativas: carregadas no prompt ({system} Sistema = inclusas mc- · {project} Projeto = editáveis · {user} Usuário = ~/.claude/skills/). Catálogo: explore, ★favorite ou ▶execute uma vez sem inflar o prompt.",
|
|
1093
|
+
catalogEmpty: "Nenhuma skill de preset disponível.",
|
|
1094
|
+
catalogPresetHeading: "Presets",
|
|
1095
|
+
catalogStar: "Favoritar",
|
|
1096
|
+
catalogStarred: "Favoritada",
|
|
1097
|
+
catalogRunOnce: "Executar uma vez",
|
|
1098
|
+
sourceUserTitle: "Skill do usuário (~/.claude/skills/, disponível em todos os workspaces)",
|
|
1099
|
+
sourceSystemTitle: "Skill de sistema (inclusa, prefixo mc- — somente leitura, sobrescrita pelo launcher)",
|
|
1100
|
+
sourceProjectTitle: "Skill do projeto (.claude/skills/ do workspace, apenas este workspace)",
|
|
1101
|
+
sourcePresetTitle: "Catálogo de presets — clique em Favoritar para ativar neste workspace",
|
|
1102
|
+
errCatalogListFailed: "Falha ao carregar o catálogo: {error}",
|
|
1103
|
+
errCatalogStarFailed: "Falha ao favoritar a skill: {error}",
|
|
1104
|
+
errCatalogPreviewFailed: "Falha ao carregar a pré-visualização da skill: {error}",
|
|
1105
|
+
errCatalogRunOnceEmpty: "Esta skill não tem corpo para executar.",
|
|
1106
|
+
catalogAddRepo: "Adicionar repositório de skills",
|
|
1107
|
+
catalogAddRepoTitle: "Adicionar um repositório de skills",
|
|
1108
|
+
catalogRepoUrlLabel: "URL do GitHub",
|
|
1109
|
+
catalogRepoUrlPlaceholder: "https://github.com/owner/repo",
|
|
1110
|
+
catalogRepoSubpathLabel: "Subcaminho (opcional)",
|
|
1111
|
+
catalogRepoSubpathPlaceholder: "skills",
|
|
1112
|
+
catalogAddRepoSubmit: "Instalar",
|
|
1113
|
+
catalogAddRepoSuggestions: "Repositórios sugeridos",
|
|
1114
|
+
catalogUninstallRepo: "Desinstalar repositório",
|
|
1115
|
+
catalogUpdateRepo: "Atualizar repositório (rebuscar o mais recente)",
|
|
1116
|
+
catalogUninstallConfirm: "Desinstalar este repositório? As skills que você já marcou com estrela permanecem na sua lista ativa.",
|
|
1117
|
+
catalogRepoInstalling: "Instalando…",
|
|
1118
|
+
catalogRepoEmpty: "Nenhuma skill encontrada neste repositório.",
|
|
1119
|
+
sourceExternalTitle: "Skill externa (instalada de um repositório do GitHub — clique na estrela para ativar)",
|
|
1120
|
+
errCatalogRepoListFailed: "Falha ao carregar os repositórios instalados: {error}",
|
|
1121
|
+
errCatalogRepoInstallFailed: "Falha ao instalar o repositório: {error}",
|
|
1122
|
+
errCatalogRepoUninstallFailed: "Falha ao desinstalar o repositório: {error}",
|
|
1123
|
+
errCatalogRepoInvalidUrl: "Informe uma URL de repositório do GitHub.",
|
|
1078
1124
|
},
|
|
1079
1125
|
pluginManageRoles: {
|
|
1080
1126
|
heading: "Papéis personalizados",
|
|
@@ -1129,6 +1175,8 @@ const ptBRMessages = {
|
|
|
1129
1175
|
stop: "■ Parar",
|
|
1130
1176
|
playPresentation: "Reproduzir apresentação",
|
|
1131
1177
|
regenerateMovie: "Regenerar vídeo",
|
|
1178
|
+
movieGenerationFailed: "Falha ao gerar o vídeo",
|
|
1179
|
+
retry: "Tentar novamente",
|
|
1132
1180
|
errPrefix: "⚠ Erro",
|
|
1133
1181
|
noBeats: "Nenhum beat encontrado no script",
|
|
1134
1182
|
editSource: "Editar fonte do script",
|