@agent-native/core 0.80.9 → 0.80.11
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/corpus/README.md +1 -1
- package/corpus/core/CHANGELOG.md +13 -0
- package/corpus/core/package.json +1 -1
- package/corpus/core/src/agent/production-agent.ts +108 -15
- package/corpus/core/src/cli/design-connect.ts +28 -2
- package/corpus/core/src/cli/skills.ts +45 -24
- package/corpus/core/src/client/AssistantChat.tsx +123 -26
- package/corpus/core/src/client/sse-event-processor.ts +9 -0
- package/corpus/templates/assets/.agents/skills/image-generation/SKILL.md +9 -2
- package/corpus/templates/assets/AGENTS.md +4 -0
- package/corpus/templates/assets/actions/_tool-activity.ts +46 -0
- package/corpus/templates/assets/actions/generate-image-batch.ts +26 -5
- package/corpus/templates/assets/actions/generate-image.ts +118 -67
- package/corpus/templates/assets/actions/list-draft-assets.ts +50 -0
- package/corpus/templates/assets/actions/rerun-generation-run.ts +52 -31
- package/corpus/templates/assets/app/components/create/RecentDraftsSection.tsx +100 -0
- package/corpus/templates/assets/app/i18n/zh-TW.ts +7 -0
- package/corpus/templates/assets/app/i18n-data.ts +61 -0
- package/corpus/templates/assets/app/routes/_index.tsx +4 -0
- package/corpus/templates/assets/app/routes/library.tsx +145 -38
- package/corpus/templates/assets/changelog/2026-06-29-image-generation-can-now-render-requested-text-and-respect-b.md +6 -0
- package/corpus/templates/assets/changelog/2026-06-30-image-generation-no-longer-looks-stuck-while-the-provider-is-still-working.md +6 -0
- package/corpus/templates/assets/changelog/2026-06-30-tagged-presets-now-control-the-image-aspect-ratio.md +6 -0
- package/corpus/templates/assets/server/lib/generation.ts +135 -11
- package/corpus/templates/assets/shared/api.ts +4 -0
- package/corpus/templates/clips/actions/list-ai-requests.ts +60 -0
- package/corpus/templates/clips/app/hooks/use-auto-title.ts +24 -25
- package/corpus/templates/design/DESIGN-STUDIO-PLAN.md +717 -0
- package/corpus/templates/design/actions/add-breakpoint.ts +143 -0
- package/corpus/templates/design/actions/add-localhost-screens.ts +5 -0
- package/corpus/templates/design/actions/apply-a11y-fix.ts +317 -0
- package/corpus/templates/design/actions/apply-component-prop-edit.ts +441 -0
- package/corpus/templates/design/actions/apply-design-state.ts +213 -0
- package/corpus/templates/design/actions/apply-design-token-edit.ts +202 -0
- package/corpus/templates/design/actions/apply-motion-edit.ts +413 -0
- package/corpus/templates/design/actions/apply-shader-fill.ts +404 -0
- package/corpus/templates/design/actions/apply-visual-edit.ts +191 -5
- package/corpus/templates/design/actions/capture-design-state.ts +224 -0
- package/corpus/templates/design/actions/connect-builder-app.ts +162 -0
- package/corpus/templates/design/actions/create-component.ts +447 -0
- package/corpus/templates/design/actions/create-design-branch.ts +263 -0
- package/corpus/templates/design/actions/create-design-state.ts +162 -0
- package/corpus/templates/design/actions/delete-design-state.ts +55 -0
- package/corpus/templates/design/actions/delete-design.ts +20 -0
- package/corpus/templates/design/actions/deploy-design-preview.ts +275 -0
- package/corpus/templates/design/actions/get-component-details.ts +251 -0
- package/corpus/templates/design/actions/get-design-branch-diff.ts +362 -0
- package/corpus/templates/design/actions/get-design-review.ts +314 -0
- package/corpus/templates/design/actions/get-design-surface-index.ts +582 -0
- package/corpus/templates/design/actions/get-motion-timeline.ts +99 -0
- package/corpus/templates/design/actions/index-components.ts +258 -0
- package/corpus/templates/design/actions/index-design-tokens.ts +277 -0
- package/corpus/templates/design/actions/list-design-extensions.ts +309 -0
- package/corpus/templates/design/actions/list-design-source-capabilities.ts +153 -0
- package/corpus/templates/design/actions/list-design-states.ts +90 -0
- package/corpus/templates/design/actions/migrate-inline-design-to-app.ts +298 -0
- package/corpus/templates/design/actions/open-component-source.ts +242 -0
- package/corpus/templates/design/actions/preview-component-prop-edit.ts +260 -0
- package/corpus/templates/design/actions/preview-design-token-edit.ts +113 -0
- package/corpus/templates/design/actions/preview-shader-fill.ts +187 -0
- package/corpus/templates/design/actions/remove-breakpoint.ts +103 -0
- package/corpus/templates/design/actions/remove-motion-timeline.ts +196 -0
- package/corpus/templates/design/actions/run-design-audit.ts +436 -0
- package/corpus/templates/design/actions/run-design-extension-action.ts +284 -0
- package/corpus/templates/design/actions/set-active-breakpoint.ts +39 -0
- package/corpus/templates/design/app/components/design/DesignCanvas.tsx +1550 -82
- package/corpus/templates/design/app/components/design/DesignExtensionsPanel.tsx +649 -43
- package/corpus/templates/design/app/components/design/DrawOverlay.tsx +1 -1
- package/corpus/templates/design/app/components/design/EditPanel.tsx +1788 -52
- package/corpus/templates/design/app/components/design/LayersPanel.tsx +114 -33
- package/corpus/templates/design/app/components/design/LocalSourceEditBanner.tsx +157 -0
- package/corpus/templates/design/app/components/design/MotionDock.tsx +1071 -0
- package/corpus/templates/design/app/components/design/MultiScreenCanvas.tsx +1053 -99
- package/corpus/templates/design/app/components/design/ReviewPanel.tsx +766 -0
- package/corpus/templates/design/app/components/design/StatesPanel.tsx +581 -0
- package/corpus/templates/design/app/components/design/TokensPanel.tsx +578 -0
- package/corpus/templates/design/app/components/design/canvas-primitive-style.ts +241 -0
- package/corpus/templates/design/app/components/design/index.ts +16 -0
- package/corpus/templates/design/app/components/design/inspector/AutoLayoutMatrix.tsx +15 -6
- package/corpus/templates/design/app/components/design/inspector/DesignColorPicker.tsx +66 -3
- package/corpus/templates/design/app/components/design/inspector/InspectorAiActions.tsx +145 -0
- package/corpus/templates/design/app/components/design/inspector/SHADER_INTEGRATION.md +42 -12
- package/corpus/templates/design/app/components/visual-editor/DrawOverlay.tsx +1 -1
- package/corpus/templates/design/app/hooks/useAgentEditRequest.ts +131 -0
- package/corpus/templates/design/app/hooks/useDesignHotkeys.ts +3 -1
- package/corpus/templates/design/app/i18n/zh-TW.ts +32 -0
- package/corpus/templates/design/app/i18n-data.ts +280 -0
- package/corpus/templates/design/app/pages/DesignEditor.tsx +3087 -490
- package/corpus/templates/design/changelog/2026-06-29-added-a-review-panel-in-the-design-editor-s-inspector-with-a.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-copying-and-pasting-layers-no-longer-shows-success-notificat.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-device-presets-in-all-screens-view-resize-the-selected-previ.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-layer-and-canvas-drags-keep-the-layer-list-stable-while-chan.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-layer-moves-can-be-undone-and-redone-without-flashing-the-ca.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-screen-previews-use-a-single-blue-hover-border-in-all-screen.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-selected-containers-show-draggable-padding-and-gap-guides-on.md +6 -0
- package/corpus/templates/design/changelog/2026-06-29-the-design-editor-adds-a-studio-layer-with-tokens-respon.md +6 -0
- package/corpus/templates/design/changelog/2026-06-30-accessibility-findings-now-offer-a-one-click-fix.md +6 -0
- package/corpus/templates/design/changelog/2026-06-30-component-instances-now-have-editable-props-in-the-inspe.md +6 -0
- package/corpus/templates/design/changelog/2026-06-30-design-token-edits-now-stay-visible-in-previews-and-token-li.md +6 -0
- package/corpus/templates/design/changelog/2026-06-30-inspect-code-now-shows-the-elements-opening-tag-at-a-gla.md +6 -0
- package/corpus/templates/design/changelog/2026-06-30-shader-fill-presets-can-now-be-applied-to-an-element.md +6 -0
- package/corpus/templates/design/changelog/2026-06-30-the-motion-timeline-can-now-add-a-track-to-any-element-a.md +6 -0
- package/corpus/templates/design/changelog/2026-06-30-visual-editor-selection-layer-paint-and-drawing-controls-are-more-reliable.md +6 -0
- package/corpus/templates/design/e2e/global-setup.ts +94 -2
- package/corpus/templates/design/e2e/helpers.ts +10 -4
- package/corpus/templates/design/server/db/schema.ts +123 -0
- package/corpus/templates/design/server/plugins/db.ts +90 -0
- package/corpus/templates/design/shared/builder-app.ts +297 -0
- package/corpus/templates/design/shared/capability-resolver.ts +123 -0
- package/corpus/templates/design/shared/capture-sanitize.ts +70 -0
- package/corpus/templates/design/shared/code-layer.ts +1016 -71
- package/corpus/templates/design/shared/component-model.ts +274 -0
- package/corpus/templates/design/shared/design-review.ts +275 -0
- package/corpus/templates/design/shared/design-source-capabilities.ts +286 -0
- package/corpus/templates/design/shared/design-state.ts +112 -0
- package/corpus/templates/design/shared/design-surface-index.ts +258 -0
- package/corpus/templates/design/shared/motion-compiler.ts +349 -0
- package/corpus/templates/design/shared/motion-timeline.ts +193 -0
- package/corpus/templates/design/shared/resolve-tweaks.ts +32 -9
- package/corpus/templates/design/shared/responsive-classes.ts +452 -0
- package/corpus/templates/design/shared/shader-fill.ts +323 -0
- package/corpus/templates/design/shared/source-mode.ts +245 -0
- package/corpus/templates/plan/app/components/plan/CanvasArea.tsx +6 -2
- package/corpus/templates/plan/changelog/2026-06-29-plan-canvases-open-without-an-initial-pan-and-zoom-flicker.md +6 -0
- package/dist/agent/production-agent.d.ts.map +1 -1
- package/dist/agent/production-agent.js +94 -10
- package/dist/agent/production-agent.js.map +1 -1
- package/dist/cli/design-connect.d.ts.map +1 -1
- package/dist/cli/design-connect.js +28 -2
- package/dist/cli/design-connect.js.map +1 -1
- package/dist/cli/skills.d.ts.map +1 -1
- package/dist/cli/skills.js +37 -21
- package/dist/cli/skills.js.map +1 -1
- package/dist/client/AssistantChat.d.ts +14 -0
- package/dist/client/AssistantChat.d.ts.map +1 -1
- package/dist/client/AssistantChat.js +115 -22
- package/dist/client/AssistantChat.js.map +1 -1
- package/dist/client/sse-event-processor.d.ts.map +1 -1
- package/dist/client/sse-event-processor.js +10 -0
- package/dist/client/sse-event-processor.js.map +1 -1
- package/dist/collab/routes.d.ts +1 -1
- package/dist/file-upload/actions/upload-image.d.ts +2 -2
- package/dist/notifications/routes.d.ts +2 -2
- package/dist/observability/routes.d.ts +8 -8
- package/dist/resources/handlers.d.ts +2 -2
- package/dist/server/agent-engine-api-key-route.d.ts +1 -1
- package/dist/server/transcribe-voice.d.ts +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { sendToAgentChat, useT } from "@agent-native/core/client";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { toast } from "sonner";
|
|
4
|
+
|
|
5
|
+
export interface AgentEditRequestArgs {
|
|
6
|
+
/** Freeform user message describing the edit to make. */
|
|
7
|
+
message: string;
|
|
8
|
+
/** CSS selector or data-agent-native-node-id identifying the target element. */
|
|
9
|
+
selector?: string;
|
|
10
|
+
/** Source id (data-code-layer-id) of the target element. */
|
|
11
|
+
sourceId?: string;
|
|
12
|
+
/** The design file id (screen / file row id) being edited. */
|
|
13
|
+
fileId?: string;
|
|
14
|
+
/** The design id (row id of the design). */
|
|
15
|
+
designId?: string;
|
|
16
|
+
/** For localhost-connected screens: the source file path to route edits through. */
|
|
17
|
+
routeSourceFile?: string;
|
|
18
|
+
/** Human-readable filename for context (e.g. "index.html"). */
|
|
19
|
+
filename?: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Builds the hidden agent context string for an edit request, following the
|
|
24
|
+
* same pattern used by the tweaks panel (DesignEditor.tsx ~5293) and the
|
|
25
|
+
* extensions panel context builder (DesignExtensionsPanel.tsx ~120-131).
|
|
26
|
+
*/
|
|
27
|
+
function buildEditContext(args: AgentEditRequestArgs): string {
|
|
28
|
+
const lines: string[] = [];
|
|
29
|
+
|
|
30
|
+
if (args.designId) {
|
|
31
|
+
lines.push(`Design id: "${args.designId}".`);
|
|
32
|
+
}
|
|
33
|
+
if (args.fileId) {
|
|
34
|
+
lines.push(
|
|
35
|
+
args.filename
|
|
36
|
+
? `Active file: "${args.filename}" (file id: "${args.fileId}").`
|
|
37
|
+
: `Active file id: "${args.fileId}".`,
|
|
38
|
+
);
|
|
39
|
+
} else if (args.filename) {
|
|
40
|
+
lines.push(`Active file: "${args.filename}".`);
|
|
41
|
+
}
|
|
42
|
+
if (args.selector) {
|
|
43
|
+
lines.push(`Selected element CSS selector: "${args.selector}".`);
|
|
44
|
+
}
|
|
45
|
+
if (args.sourceId) {
|
|
46
|
+
lines.push(
|
|
47
|
+
`Selected element source id (data-code-layer-id): "${args.sourceId}".`,
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
if (args.routeSourceFile) {
|
|
51
|
+
lines.push(
|
|
52
|
+
`Localhost source file to route edits through: "${args.routeSourceFile}".`,
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
lines.push("");
|
|
57
|
+
lines.push("Agent instructions:");
|
|
58
|
+
lines.push(
|
|
59
|
+
"1. Call view-screen first to see the current state of the design.",
|
|
60
|
+
);
|
|
61
|
+
lines.push(
|
|
62
|
+
"2. For style, class, text, or positional changes on the selected element, prefer apply-visual-edit — it is deterministic and does not require a full regeneration.",
|
|
63
|
+
);
|
|
64
|
+
lines.push(
|
|
65
|
+
"3. For structural changes, new sections, or multi-element edits, use edit-design (search/replace) for small targeted changes or generate-design for full rewrites.",
|
|
66
|
+
);
|
|
67
|
+
lines.push(
|
|
68
|
+
"4. If a routeSourceFile is provided, the design screen is connected to localhost source code. Route edits through the agent code editing surface for that file rather than modifying the inline HTML prototype.",
|
|
69
|
+
);
|
|
70
|
+
|
|
71
|
+
return lines.join("\n");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Builds the full pasteable prompt string (visible message + context block)
|
|
76
|
+
* for use in the "Copy prompt" flow.
|
|
77
|
+
*/
|
|
78
|
+
function buildFullPrompt(args: AgentEditRequestArgs): string {
|
|
79
|
+
const context = buildEditContext(args);
|
|
80
|
+
return `${args.message}\n\n---\n${context}`;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface UseAgentEditRequestReturn {
|
|
84
|
+
/**
|
|
85
|
+
* Routes the edit request directly to the agent chat sidebar.
|
|
86
|
+
* The message is shown in the chat; the context is hidden.
|
|
87
|
+
*/
|
|
88
|
+
sendEdit: (args: AgentEditRequestArgs) => Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Builds the same prompt+context as a single string and copies it to the
|
|
91
|
+
* clipboard. Toasts success or blocked per the pattern in DesignEditor.tsx ~7608.
|
|
92
|
+
*/
|
|
93
|
+
copyPrompt: (args: AgentEditRequestArgs) => Promise<void>;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Shared hook for routing AI edit requests from the inspector and the
|
|
98
|
+
* local-source banner. Reuses sendToAgentChat from @agent-native/core/client
|
|
99
|
+
* and the clipboard+toast pattern established in DesignEditor.tsx.
|
|
100
|
+
*/
|
|
101
|
+
export function useAgentEditRequest(): UseAgentEditRequestReturn {
|
|
102
|
+
const t = useT();
|
|
103
|
+
|
|
104
|
+
const sendEdit = useCallback(
|
|
105
|
+
async (args: AgentEditRequestArgs): Promise<void> => {
|
|
106
|
+
const context = buildEditContext(args);
|
|
107
|
+
sendToAgentChat({
|
|
108
|
+
message: args.message,
|
|
109
|
+
context,
|
|
110
|
+
submit: true,
|
|
111
|
+
openSidebar: true,
|
|
112
|
+
});
|
|
113
|
+
},
|
|
114
|
+
[],
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
const copyPrompt = useCallback(
|
|
118
|
+
async (args: AgentEditRequestArgs): Promise<void> => {
|
|
119
|
+
const text = buildFullPrompt(args);
|
|
120
|
+
try {
|
|
121
|
+
await navigator.clipboard.writeText(text);
|
|
122
|
+
toast.success(t("designEditor.toasts.codingHandoffCopied"));
|
|
123
|
+
} catch {
|
|
124
|
+
toast.error(t("designEditor.toasts.clipboardBlocked"));
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
[t],
|
|
128
|
+
);
|
|
129
|
+
|
|
130
|
+
return { sendEdit, copyPrompt };
|
|
131
|
+
}
|
|
@@ -307,7 +307,9 @@ function handleDesignHotkey(
|
|
|
307
307
|
if (primary && key === "d") return run(props.onDuplicate);
|
|
308
308
|
if (primary && key === "r") return run(props.onRename);
|
|
309
309
|
if (primary && key === "g") {
|
|
310
|
-
|
|
310
|
+
// Figma uses ⇧⌘G for ungroup; also support ⌥⌘G as an alias.
|
|
311
|
+
if (event.shiftKey || event.altKey) return run(props.onUngroup);
|
|
312
|
+
return run(props.onGroup);
|
|
311
313
|
}
|
|
312
314
|
|
|
313
315
|
if (primary && (key === "=" || key === "+")) return run(props.onZoomIn);
|
|
@@ -239,6 +239,18 @@ const messages = {
|
|
|
239
239
|
},
|
|
240
240
|
},
|
|
241
241
|
designEditor: {
|
|
242
|
+
askAgent: "詢問代理",
|
|
243
|
+
tokens: {
|
|
244
|
+
title: "權杖",
|
|
245
|
+
newToken: "新增權杖",
|
|
246
|
+
cssVar: "CSS 變數",
|
|
247
|
+
value: "值",
|
|
248
|
+
add: "新增權杖",
|
|
249
|
+
refresh: "重新整理權杖",
|
|
250
|
+
empty: "尚無權杖",
|
|
251
|
+
emptyHint: "新增設計權杖以重複使用顏色、間距等。",
|
|
252
|
+
applying: "套用中…",
|
|
253
|
+
},
|
|
242
254
|
generationMayHaveStopped:
|
|
243
255
|
"生成可能在建立檔案前停止。請檢視代理訊息或重試。",
|
|
244
256
|
generationMayHaveStoppedToast: "生成可能在建立檔案前停止。",
|
|
@@ -383,6 +395,8 @@ const messages = {
|
|
|
383
395
|
"agent-structural-edit": "結構移動需要代理",
|
|
384
396
|
},
|
|
385
397
|
toasts: {
|
|
398
|
+
componentCreated: "元件已建立",
|
|
399
|
+
componentCreateFailed: "無法建立元件",
|
|
386
400
|
codingHandoffError: "無法建立編碼交接",
|
|
387
401
|
codingHandoffCopied: "編碼交接已複製",
|
|
388
402
|
clipboardBlocked: "剪貼簿被阻止",
|
|
@@ -411,6 +425,24 @@ const messages = {
|
|
|
411
425
|
layerMoveFailed: "無法移動該圖層",
|
|
412
426
|
duplicateElementFailed: "無法複製該元素",
|
|
413
427
|
saveCopyError: "無法儲存這個設計的副本",
|
|
428
|
+
auditRunFailed: "無法執行設計稽核",
|
|
429
|
+
},
|
|
430
|
+
localSourceEdit: {
|
|
431
|
+
bannerNotice: "對已連結本機程式碼的編輯由 AI 代理套用,不會直接寫入。",
|
|
432
|
+
askAiToEdit: "請 AI 編輯",
|
|
433
|
+
copyPrompt: "複製提示",
|
|
434
|
+
dialogTitle: "請 AI 編輯已連結的來源",
|
|
435
|
+
requestPlaceholder: "將按鈕顏色改成藍色、更新標題文字…",
|
|
436
|
+
askAi: "詢問 AI",
|
|
437
|
+
applyWithAi: "用 AI 套用",
|
|
438
|
+
copyPromptTooltip: "將提示複製到剪貼簿",
|
|
439
|
+
targeting: "目標:",
|
|
440
|
+
describeElementChange: "描述要對此元素進行的變更…",
|
|
441
|
+
describeChange: "描述您想要變更的內容…",
|
|
442
|
+
dialogDescription:
|
|
443
|
+
"描述您想要變更的內容。代理會先呼叫 view-screen,再透過程式碼編輯器套用編輯。",
|
|
444
|
+
dialogDescriptionFile:
|
|
445
|
+
"描述您想在「{{file}}」中變更的內容。代理會先呼叫 view-screen,再透過程式碼編輯器套用編輯。",
|
|
414
446
|
},
|
|
415
447
|
inspectorLockedTitle: "產生中,檢查器已鎖定",
|
|
416
448
|
inspectorLockedDescription: "第一個畫面準備好後即可使用控制項。",
|
|
@@ -244,6 +244,18 @@ const enUS = {
|
|
|
244
244
|
},
|
|
245
245
|
},
|
|
246
246
|
designEditor: {
|
|
247
|
+
askAgent: "Ask agent",
|
|
248
|
+
tokens: {
|
|
249
|
+
title: "Tokens",
|
|
250
|
+
newToken: "New token",
|
|
251
|
+
cssVar: "CSS variable",
|
|
252
|
+
value: "Value",
|
|
253
|
+
add: "Add token",
|
|
254
|
+
refresh: "Refresh tokens",
|
|
255
|
+
empty: "No tokens yet",
|
|
256
|
+
emptyHint: "Add design tokens to reuse colors, spacing, and more.",
|
|
257
|
+
applying: "Applying…",
|
|
258
|
+
},
|
|
247
259
|
generationMayHaveStopped:
|
|
248
260
|
"Generation may have stopped before creating files. Check the agent message or try again.",
|
|
249
261
|
generationMayHaveStoppedToast:
|
|
@@ -426,6 +438,28 @@ const enUS = {
|
|
|
426
438
|
layerMoveFailed: "Could not move that layer",
|
|
427
439
|
duplicateElementFailed: "Could not duplicate that element",
|
|
428
440
|
saveCopyError: "Could not save a copy of this design",
|
|
441
|
+
auditRunFailed: "Unable to run design audit",
|
|
442
|
+
componentCreated: "Component created",
|
|
443
|
+
componentCreateFailed: "Could not create component",
|
|
444
|
+
},
|
|
445
|
+
localSourceEdit: {
|
|
446
|
+
bannerNotice:
|
|
447
|
+
"Edits to connected local code are applied by the AI agent, not written directly.",
|
|
448
|
+
askAiToEdit: "Ask AI to edit",
|
|
449
|
+
copyPrompt: "Copy prompt",
|
|
450
|
+
dialogTitle: "Ask AI to edit connected source",
|
|
451
|
+
requestPlaceholder:
|
|
452
|
+
"Change the button color to blue, update the heading text…",
|
|
453
|
+
askAi: "Ask AI",
|
|
454
|
+
applyWithAi: "Apply with AI",
|
|
455
|
+
copyPromptTooltip: "Copy prompt to clipboard",
|
|
456
|
+
targeting: "Targeting:",
|
|
457
|
+
describeElementChange: "Describe the change for this element…",
|
|
458
|
+
describeChange: "Describe what you want to change…",
|
|
459
|
+
dialogDescription:
|
|
460
|
+
"Describe what you want to change. The agent will call view-screen first, then apply edits through the code editor.",
|
|
461
|
+
dialogDescriptionFile:
|
|
462
|
+
'Describe what you want to change in "{{file}}". The agent will call view-screen first, then apply edits through the code editor.',
|
|
429
463
|
},
|
|
430
464
|
},
|
|
431
465
|
layersPanel: {
|
|
@@ -8879,6 +8913,7 @@ const designPublicShareOverrides = {
|
|
|
8879
8913
|
shareEditorLinkDescription: "有權限的任何人都能在編輯器中開啟這個設計。",
|
|
8880
8914
|
toasts: {
|
|
8881
8915
|
saveCopyError: "無法儲存這個設計的副本",
|
|
8916
|
+
auditRunFailed: "無法執行設計稽核",
|
|
8882
8917
|
},
|
|
8883
8918
|
},
|
|
8884
8919
|
visualEdit: {
|
|
@@ -8908,6 +8943,7 @@ const designPublicShareOverrides = {
|
|
|
8908
8943
|
"有访问权限的任何人都可以在编辑器中打开此设计。",
|
|
8909
8944
|
toasts: {
|
|
8910
8945
|
saveCopyError: "无法保存此设计的副本",
|
|
8946
|
+
auditRunFailed: "无法运行设计审核",
|
|
8911
8947
|
},
|
|
8912
8948
|
},
|
|
8913
8949
|
visualEdit: {
|
|
@@ -8937,6 +8973,7 @@ const designPublicShareOverrides = {
|
|
|
8937
8973
|
"Cualquier persona con acceso puede abrir este diseño en el editor.",
|
|
8938
8974
|
toasts: {
|
|
8939
8975
|
saveCopyError: "No se pudo guardar una copia de este diseño",
|
|
8976
|
+
auditRunFailed: "No se pudo ejecutar la auditoria de diseno",
|
|
8940
8977
|
},
|
|
8941
8978
|
},
|
|
8942
8979
|
visualEdit: {
|
|
@@ -8966,6 +9003,7 @@ const designPublicShareOverrides = {
|
|
|
8966
9003
|
"Toute personne ayant acces peut ouvrir ce design dans l'editeur.",
|
|
8967
9004
|
toasts: {
|
|
8968
9005
|
saveCopyError: "Impossible d'enregistrer une copie de ce design",
|
|
9006
|
+
auditRunFailed: "Impossible d'executer l'audit de design",
|
|
8969
9007
|
},
|
|
8970
9008
|
},
|
|
8971
9009
|
visualEdit: {
|
|
@@ -8996,6 +9034,7 @@ const designPublicShareOverrides = {
|
|
|
8996
9034
|
toasts: {
|
|
8997
9035
|
saveCopyError:
|
|
8998
9036
|
"Eine Kopie dieses Designs konnte nicht gespeichert werden",
|
|
9037
|
+
auditRunFailed: "Design-Audit konnte nicht ausgefuehrt werden",
|
|
8999
9038
|
},
|
|
9000
9039
|
},
|
|
9001
9040
|
visualEdit: {
|
|
@@ -9025,6 +9064,7 @@ const designPublicShareOverrides = {
|
|
|
9025
9064
|
"アクセス権のある人は、このデザインをエディターで開けます。",
|
|
9026
9065
|
toasts: {
|
|
9027
9066
|
saveCopyError: "このデザインのコピーを保存できませんでした",
|
|
9067
|
+
auditRunFailed: "デザイン監査を実行できませんでした",
|
|
9028
9068
|
},
|
|
9029
9069
|
},
|
|
9030
9070
|
visualEdit: {
|
|
@@ -9054,6 +9094,7 @@ const designPublicShareOverrides = {
|
|
|
9054
9094
|
"액세스 권한이 있는 누구나 편집기에서 이 디자인을 열 수 있습니다.",
|
|
9055
9095
|
toasts: {
|
|
9056
9096
|
saveCopyError: "이 디자인의 사본을 저장할 수 없습니다",
|
|
9097
|
+
auditRunFailed: "디자인 감사를 실행할 수 없습니다",
|
|
9057
9098
|
},
|
|
9058
9099
|
},
|
|
9059
9100
|
visualEdit: {
|
|
@@ -9083,6 +9124,7 @@ const designPublicShareOverrides = {
|
|
|
9083
9124
|
"Qualquer pessoa com acesso pode abrir este design no editor.",
|
|
9084
9125
|
toasts: {
|
|
9085
9126
|
saveCopyError: "Nao foi possivel salvar uma copia deste design",
|
|
9127
|
+
auditRunFailed: "Nao foi possivel executar a auditoria de design",
|
|
9086
9128
|
},
|
|
9087
9129
|
},
|
|
9088
9130
|
visualEdit: {
|
|
@@ -9112,6 +9154,7 @@ const designPublicShareOverrides = {
|
|
|
9112
9154
|
"access वाला कोई भी व्यक्ति इस design को editor में खोल सकता है।",
|
|
9113
9155
|
toasts: {
|
|
9114
9156
|
saveCopyError: "इस design की copy सहेजी नहीं जा सकी",
|
|
9157
|
+
auditRunFailed: "design audit चलाया नहीं जा सका",
|
|
9115
9158
|
},
|
|
9116
9159
|
},
|
|
9117
9160
|
visualEdit: {
|
|
@@ -9141,6 +9184,7 @@ const designPublicShareOverrides = {
|
|
|
9141
9184
|
"يمكن لاي شخص لديه صلاحية الوصول فتح هذا التصميم في المحرر.",
|
|
9142
9185
|
toasts: {
|
|
9143
9186
|
saveCopyError: "تعذر حفظ نسخة من هذا التصميم",
|
|
9187
|
+
auditRunFailed: "تعذر تشغيل تدقيق التصميم",
|
|
9144
9188
|
},
|
|
9145
9189
|
},
|
|
9146
9190
|
visualEdit: {
|
|
@@ -9323,6 +9367,232 @@ const designVisualEditOverrides = {
|
|
|
9323
9367
|
},
|
|
9324
9368
|
} satisfies Record<Exclude<LocaleCode, "en-US">, PartialMessages>;
|
|
9325
9369
|
|
|
9370
|
+
const designLocalSourceEditOverrides = {
|
|
9371
|
+
"zh-TW": {
|
|
9372
|
+
designEditor: {
|
|
9373
|
+
localSourceEdit: {
|
|
9374
|
+
bannerNotice: "對已連結本機程式碼的編輯由 AI 代理套用,不會直接寫入。",
|
|
9375
|
+
askAiToEdit: "請 AI 編輯",
|
|
9376
|
+
copyPrompt: "複製提示",
|
|
9377
|
+
dialogTitle: "請 AI 編輯已連結的來源",
|
|
9378
|
+
requestPlaceholder: "將按鈕顏色改成藍色、更新標題文字…",
|
|
9379
|
+
askAi: "詢問 AI",
|
|
9380
|
+
applyWithAi: "用 AI 套用",
|
|
9381
|
+
copyPromptTooltip: "將提示複製到剪貼簿",
|
|
9382
|
+
targeting: "目標:",
|
|
9383
|
+
describeElementChange: "描述要對此元素進行的更改…",
|
|
9384
|
+
describeChange: "描述您想要更改的內容…",
|
|
9385
|
+
dialogDescription:
|
|
9386
|
+
"描述您想要更改的內容。代理會先呼叫 view-screen,再透過程式碼編輯器套用編輯。",
|
|
9387
|
+
dialogDescriptionFile:
|
|
9388
|
+
"描述您想在「{{file}}」中更改的內容。代理會先呼叫 view-screen,再透過程式碼編輯器套用編輯。",
|
|
9389
|
+
},
|
|
9390
|
+
},
|
|
9391
|
+
},
|
|
9392
|
+
"zh-CN": {
|
|
9393
|
+
designEditor: {
|
|
9394
|
+
localSourceEdit: {
|
|
9395
|
+
bannerNotice: "对已连接本地代码的编辑由 AI 代理应用,不会直接写入。",
|
|
9396
|
+
askAiToEdit: "请 AI 编辑",
|
|
9397
|
+
copyPrompt: "复制提示",
|
|
9398
|
+
dialogTitle: "请 AI 编辑已连接的源码",
|
|
9399
|
+
requestPlaceholder: "将按钮颜色改成蓝色、更新标题文字…",
|
|
9400
|
+
askAi: "询问 AI",
|
|
9401
|
+
applyWithAi: "用 AI 应用",
|
|
9402
|
+
copyPromptTooltip: "将提示复制到剪贴板",
|
|
9403
|
+
targeting: "目标:",
|
|
9404
|
+
describeElementChange: "描述要对此元素进行的更改…",
|
|
9405
|
+
describeChange: "描述您想要更改的内容…",
|
|
9406
|
+
dialogDescription:
|
|
9407
|
+
"描述您想要更改的内容。代理会先调用 view-screen,再通过代码编辑器应用编辑。",
|
|
9408
|
+
dialogDescriptionFile:
|
|
9409
|
+
"描述您想在“{{file}}”中更改的内容。代理会先调用 view-screen,再通过代码编辑器应用编辑。",
|
|
9410
|
+
},
|
|
9411
|
+
},
|
|
9412
|
+
},
|
|
9413
|
+
"es-ES": {
|
|
9414
|
+
designEditor: {
|
|
9415
|
+
localSourceEdit: {
|
|
9416
|
+
bannerNotice:
|
|
9417
|
+
"Las ediciones del código local conectado las aplica el agente de IA, no se escriben directamente.",
|
|
9418
|
+
askAiToEdit: "Pedir edición a la IA",
|
|
9419
|
+
copyPrompt: "Copiar prompt",
|
|
9420
|
+
dialogTitle: "Pedir a la IA que edite el código conectado",
|
|
9421
|
+
requestPlaceholder:
|
|
9422
|
+
"Cambia el color del botón a azul, actualiza el texto del título…",
|
|
9423
|
+
askAi: "Preguntar a la IA",
|
|
9424
|
+
applyWithAi: "Aplicar con IA",
|
|
9425
|
+
copyPromptTooltip: "Copiar prompt al portapapeles",
|
|
9426
|
+
targeting: "Objetivo:",
|
|
9427
|
+
describeElementChange: "Describe el cambio para este elemento…",
|
|
9428
|
+
describeChange: "Describe lo que quieres cambiar…",
|
|
9429
|
+
dialogDescription:
|
|
9430
|
+
"Describe lo que quieres cambiar. El agente llamará a view-screen primero y luego aplicará los cambios a través del editor de código.",
|
|
9431
|
+
dialogDescriptionFile:
|
|
9432
|
+
'Describe lo que quieres cambiar en "{{file}}". El agente llamará a view-screen primero y luego aplicará los cambios a través del editor de código.',
|
|
9433
|
+
},
|
|
9434
|
+
},
|
|
9435
|
+
},
|
|
9436
|
+
"fr-FR": {
|
|
9437
|
+
designEditor: {
|
|
9438
|
+
localSourceEdit: {
|
|
9439
|
+
bannerNotice:
|
|
9440
|
+
"Les modifications du code local connecté sont appliquées par l'agent IA, pas écrites directement.",
|
|
9441
|
+
askAiToEdit: "Demander à l'IA de modifier",
|
|
9442
|
+
copyPrompt: "Copier le prompt",
|
|
9443
|
+
dialogTitle: "Demander à l'IA de modifier la source connectée",
|
|
9444
|
+
requestPlaceholder:
|
|
9445
|
+
"Change la couleur du bouton en bleu, mets à jour le titre…",
|
|
9446
|
+
askAi: "Demander à l'IA",
|
|
9447
|
+
applyWithAi: "Appliquer avec l'IA",
|
|
9448
|
+
copyPromptTooltip: "Copier le prompt dans le presse-papiers",
|
|
9449
|
+
targeting: "Cible :",
|
|
9450
|
+
describeElementChange: "Décrivez la modification pour cet élément…",
|
|
9451
|
+
describeChange: "Décrivez ce que vous voulez changer…",
|
|
9452
|
+
dialogDescription:
|
|
9453
|
+
"Décrivez ce que vous voulez changer. L'agent appellera d'abord view-screen, puis appliquera les modifications via l'éditeur de code.",
|
|
9454
|
+
dialogDescriptionFile:
|
|
9455
|
+
"Décrivez ce que vous voulez changer dans \"{{file}}\". L'agent appellera d'abord view-screen, puis appliquera les modifications via l'éditeur de code.",
|
|
9456
|
+
},
|
|
9457
|
+
},
|
|
9458
|
+
},
|
|
9459
|
+
"de-DE": {
|
|
9460
|
+
designEditor: {
|
|
9461
|
+
localSourceEdit: {
|
|
9462
|
+
bannerNotice:
|
|
9463
|
+
"Änderungen am verbundenen lokalen Code werden vom KI-Agenten angewendet, nicht direkt geschrieben.",
|
|
9464
|
+
askAiToEdit: "KI um Änderung bitten",
|
|
9465
|
+
copyPrompt: "Prompt kopieren",
|
|
9466
|
+
dialogTitle: "KI um Bearbeitung der verbundenen Quelle bitten",
|
|
9467
|
+
requestPlaceholder:
|
|
9468
|
+
"Ändere die Button-Farbe in Blau, aktualisiere den Überschriftstext…",
|
|
9469
|
+
askAi: "KI fragen",
|
|
9470
|
+
applyWithAi: "Mit KI anwenden",
|
|
9471
|
+
copyPromptTooltip: "Prompt in die Zwischenablage kopieren",
|
|
9472
|
+
targeting: "Ziel:",
|
|
9473
|
+
describeElementChange: "Beschreibe die Änderung für dieses Element…",
|
|
9474
|
+
describeChange: "Beschreibe, was du ändern möchtest…",
|
|
9475
|
+
dialogDescription:
|
|
9476
|
+
"Beschreibe, was du ändern möchtest. Der Agent ruft zuerst view-screen auf und wendet die Änderungen dann über den Code-Editor an.",
|
|
9477
|
+
dialogDescriptionFile:
|
|
9478
|
+
'Beschreibe, was du in "{{file}}" ändern möchtest. Der Agent ruft zuerst view-screen auf und wendet die Änderungen dann über den Code-Editor an.',
|
|
9479
|
+
},
|
|
9480
|
+
},
|
|
9481
|
+
},
|
|
9482
|
+
"ja-JP": {
|
|
9483
|
+
designEditor: {
|
|
9484
|
+
localSourceEdit: {
|
|
9485
|
+
bannerNotice:
|
|
9486
|
+
"接続済みローカルコードの編集は AI エージェントが適用し、直接は書き込みません。",
|
|
9487
|
+
askAiToEdit: "AI に編集を依頼",
|
|
9488
|
+
copyPrompt: "プロンプトをコピー",
|
|
9489
|
+
dialogTitle: "接続済みソースの編集を AI に依頼",
|
|
9490
|
+
requestPlaceholder: "ボタンの色を青に変更、見出しテキストを更新…",
|
|
9491
|
+
askAi: "AI に質問",
|
|
9492
|
+
applyWithAi: "AI で適用",
|
|
9493
|
+
copyPromptTooltip: "プロンプトをクリップボードにコピー",
|
|
9494
|
+
targeting: "対象:",
|
|
9495
|
+
describeElementChange: "この要素への変更を説明してください…",
|
|
9496
|
+
describeChange: "変更したい内容を説明してください…",
|
|
9497
|
+
dialogDescription:
|
|
9498
|
+
"変更したい内容を説明してください。エージェントはまず view-screen を呼び出し、その後コードエディターで編集を適用します。",
|
|
9499
|
+
dialogDescriptionFile:
|
|
9500
|
+
"「{{file}}」で変更したい内容を説明してください。エージェントはまず view-screen を呼び出し、その後コードエディターで編集を適用します。",
|
|
9501
|
+
},
|
|
9502
|
+
},
|
|
9503
|
+
},
|
|
9504
|
+
"ko-KR": {
|
|
9505
|
+
designEditor: {
|
|
9506
|
+
localSourceEdit: {
|
|
9507
|
+
bannerNotice:
|
|
9508
|
+
"연결된 로컬 코드 편집은 AI 에이전트가 적용하며 직접 작성하지 않습니다.",
|
|
9509
|
+
askAiToEdit: "AI에 편집 요청",
|
|
9510
|
+
copyPrompt: "프롬프트 복사",
|
|
9511
|
+
dialogTitle: "연결된 소스 편집을 AI에 요청",
|
|
9512
|
+
requestPlaceholder:
|
|
9513
|
+
"버튼 색상을 파란색으로 변경, 제목 텍스트 업데이트…",
|
|
9514
|
+
askAi: "AI에 질문",
|
|
9515
|
+
applyWithAi: "AI로 적용",
|
|
9516
|
+
copyPromptTooltip: "프롬프트를 클립보드에 복사",
|
|
9517
|
+
targeting: "대상:",
|
|
9518
|
+
describeElementChange: "이 요소에 대한 변경 사항을 설명하세요…",
|
|
9519
|
+
describeChange: "변경하려는 내용을 설명하세요…",
|
|
9520
|
+
dialogDescription:
|
|
9521
|
+
"변경하려는 내용을 설명하세요. 에이전트가 먼저 view-screen을 호출한 다음 코드 편집기로 편집을 적용합니다.",
|
|
9522
|
+
dialogDescriptionFile:
|
|
9523
|
+
"“{{file}}”에서 변경하려는 내용을 설명하세요. 에이전트가 먼저 view-screen을 호출한 다음 코드 편집기로 편집을 적용합니다.",
|
|
9524
|
+
},
|
|
9525
|
+
},
|
|
9526
|
+
},
|
|
9527
|
+
"pt-BR": {
|
|
9528
|
+
designEditor: {
|
|
9529
|
+
localSourceEdit: {
|
|
9530
|
+
bannerNotice:
|
|
9531
|
+
"As edições do código local conectado são aplicadas pelo agente de IA, não escritas diretamente.",
|
|
9532
|
+
askAiToEdit: "Pedir edição à IA",
|
|
9533
|
+
copyPrompt: "Copiar prompt",
|
|
9534
|
+
dialogTitle: "Pedir à IA para editar a fonte conectada",
|
|
9535
|
+
requestPlaceholder:
|
|
9536
|
+
"Mude a cor do botão para azul, atualize o texto do título…",
|
|
9537
|
+
askAi: "Perguntar à IA",
|
|
9538
|
+
applyWithAi: "Aplicar com IA",
|
|
9539
|
+
copyPromptTooltip: "Copiar prompt para a área de transferência",
|
|
9540
|
+
targeting: "Alvo:",
|
|
9541
|
+
describeElementChange: "Descreva a alteração para este elemento…",
|
|
9542
|
+
describeChange: "Descreva o que você quer mudar…",
|
|
9543
|
+
dialogDescription:
|
|
9544
|
+
"Descreva o que você quer mudar. O agente chamará view-screen primeiro e depois aplicará as edições pelo editor de código.",
|
|
9545
|
+
dialogDescriptionFile:
|
|
9546
|
+
'Descreva o que você quer mudar em "{{file}}". O agente chamará view-screen primeiro e depois aplicará as edições pelo editor de código.',
|
|
9547
|
+
},
|
|
9548
|
+
},
|
|
9549
|
+
},
|
|
9550
|
+
"hi-IN": {
|
|
9551
|
+
designEditor: {
|
|
9552
|
+
localSourceEdit: {
|
|
9553
|
+
bannerNotice:
|
|
9554
|
+
"जुड़े हुए local code में बदलाव AI agent लागू करता है, सीधे नहीं लिखे जाते।",
|
|
9555
|
+
askAiToEdit: "AI से edit करने को कहें",
|
|
9556
|
+
copyPrompt: "Prompt कॉपी करें",
|
|
9557
|
+
dialogTitle: "जुड़े हुए source को edit करने के लिए AI से कहें",
|
|
9558
|
+
requestPlaceholder: "बटन का रंग नीला करें, heading text अपडेट करें…",
|
|
9559
|
+
askAi: "AI से पूछें",
|
|
9560
|
+
applyWithAi: "AI से लागू करें",
|
|
9561
|
+
copyPromptTooltip: "Prompt को clipboard पर कॉपी करें",
|
|
9562
|
+
targeting: "लक्ष्य:",
|
|
9563
|
+
describeElementChange: "इस element के लिए बदलाव बताएं…",
|
|
9564
|
+
describeChange: "आप क्या बदलना चाहते हैं, बताएं…",
|
|
9565
|
+
dialogDescription:
|
|
9566
|
+
"आप क्या बदलना चाहते हैं, बताएं। Agent पहले view-screen को call करेगा, फिर code editor से बदलाव लागू करेगा।",
|
|
9567
|
+
dialogDescriptionFile:
|
|
9568
|
+
'"{{file}}" में आप क्या बदलना चाहते हैं, बताएं। Agent पहले view-screen को call करेगा, फिर code editor से बदलाव लागू करेगा।',
|
|
9569
|
+
},
|
|
9570
|
+
},
|
|
9571
|
+
},
|
|
9572
|
+
"ar-SA": {
|
|
9573
|
+
designEditor: {
|
|
9574
|
+
localSourceEdit: {
|
|
9575
|
+
bannerNotice:
|
|
9576
|
+
"يطبّق وكيل الذكاء الاصطناعي التعديلات على الكود المحلي المتصل، ولا تُكتب مباشرة.",
|
|
9577
|
+
askAiToEdit: "اطلب من الذكاء الاصطناعي التعديل",
|
|
9578
|
+
copyPrompt: "نسخ الموجّه",
|
|
9579
|
+
dialogTitle: "اطلب من الذكاء الاصطناعي تعديل المصدر المتصل",
|
|
9580
|
+
requestPlaceholder: "غيّر لون الزر إلى الأزرق، وحدّث نص العنوان…",
|
|
9581
|
+
askAi: "اسأل الذكاء الاصطناعي",
|
|
9582
|
+
applyWithAi: "تطبيق بالذكاء الاصطناعي",
|
|
9583
|
+
copyPromptTooltip: "نسخ الموجّه إلى الحافظة",
|
|
9584
|
+
targeting: "الهدف:",
|
|
9585
|
+
describeElementChange: "صف التغيير المطلوب على هذا العنصر…",
|
|
9586
|
+
describeChange: "صف ما تريد تغييره…",
|
|
9587
|
+
dialogDescription:
|
|
9588
|
+
"صف ما تريد تغييره. سيستدعي الوكيل view-screen أولاً ثم يطبّق التعديلات عبر محرر الكود.",
|
|
9589
|
+
dialogDescriptionFile:
|
|
9590
|
+
'صف ما تريد تغييره في "{{file}}". سيستدعي الوكيل view-screen أولاً ثم يطبّق التعديلات عبر محرر الكود.',
|
|
9591
|
+
},
|
|
9592
|
+
},
|
|
9593
|
+
},
|
|
9594
|
+
} satisfies Record<Exclude<LocaleCode, "en-US">, PartialMessages>;
|
|
9595
|
+
|
|
9326
9596
|
export const messagesByLocale = {
|
|
9327
9597
|
"en-US": enUS,
|
|
9328
9598
|
"zh-TW": mergeMessages(
|
|
@@ -9332,6 +9602,7 @@ export const messagesByLocale = {
|
|
|
9332
9602
|
designShapeToolOverrides["zh-TW"],
|
|
9333
9603
|
designPublicShareOverrides["zh-TW"],
|
|
9334
9604
|
designVisualEditOverrides["zh-TW"],
|
|
9605
|
+
designLocalSourceEditOverrides["zh-TW"],
|
|
9335
9606
|
),
|
|
9336
9607
|
),
|
|
9337
9608
|
"zh-CN": mergeMessages(
|
|
@@ -9344,6 +9615,7 @@ export const messagesByLocale = {
|
|
|
9344
9615
|
designShapeToolOverrides["zh-CN"],
|
|
9345
9616
|
designPublicShareOverrides["zh-CN"],
|
|
9346
9617
|
designVisualEditOverrides["zh-CN"],
|
|
9618
|
+
designLocalSourceEditOverrides["zh-CN"],
|
|
9347
9619
|
{
|
|
9348
9620
|
root: {
|
|
9349
9621
|
commandActions: "操作",
|
|
@@ -9395,6 +9667,7 @@ export const messagesByLocale = {
|
|
|
9395
9667
|
designShapeToolOverrides["es-ES"],
|
|
9396
9668
|
designPublicShareOverrides["es-ES"],
|
|
9397
9669
|
designVisualEditOverrides["es-ES"],
|
|
9670
|
+
designLocalSourceEditOverrides["es-ES"],
|
|
9398
9671
|
{
|
|
9399
9672
|
root: {
|
|
9400
9673
|
commandActions: "Acciones",
|
|
@@ -9446,6 +9719,7 @@ export const messagesByLocale = {
|
|
|
9446
9719
|
designShapeToolOverrides["fr-FR"],
|
|
9447
9720
|
designPublicShareOverrides["fr-FR"],
|
|
9448
9721
|
designVisualEditOverrides["fr-FR"],
|
|
9722
|
+
designLocalSourceEditOverrides["fr-FR"],
|
|
9449
9723
|
{
|
|
9450
9724
|
root: {
|
|
9451
9725
|
commandActions: "Actions",
|
|
@@ -9497,6 +9771,7 @@ export const messagesByLocale = {
|
|
|
9497
9771
|
designShapeToolOverrides["de-DE"],
|
|
9498
9772
|
designPublicShareOverrides["de-DE"],
|
|
9499
9773
|
designVisualEditOverrides["de-DE"],
|
|
9774
|
+
designLocalSourceEditOverrides["de-DE"],
|
|
9500
9775
|
{
|
|
9501
9776
|
root: {
|
|
9502
9777
|
commandActions: "Aktionen",
|
|
@@ -9548,6 +9823,7 @@ export const messagesByLocale = {
|
|
|
9548
9823
|
designShapeToolOverrides["ja-JP"],
|
|
9549
9824
|
designPublicShareOverrides["ja-JP"],
|
|
9550
9825
|
designVisualEditOverrides["ja-JP"],
|
|
9826
|
+
designLocalSourceEditOverrides["ja-JP"],
|
|
9551
9827
|
{
|
|
9552
9828
|
root: {
|
|
9553
9829
|
commandActions: "操作",
|
|
@@ -9600,6 +9876,7 @@ export const messagesByLocale = {
|
|
|
9600
9876
|
designShapeToolOverrides["ko-KR"],
|
|
9601
9877
|
designPublicShareOverrides["ko-KR"],
|
|
9602
9878
|
designVisualEditOverrides["ko-KR"],
|
|
9879
|
+
designLocalSourceEditOverrides["ko-KR"],
|
|
9603
9880
|
{
|
|
9604
9881
|
root: {
|
|
9605
9882
|
commandActions: "작업",
|
|
@@ -9650,6 +9927,7 @@ export const messagesByLocale = {
|
|
|
9650
9927
|
designShapeToolOverrides["pt-BR"],
|
|
9651
9928
|
designPublicShareOverrides["pt-BR"],
|
|
9652
9929
|
designVisualEditOverrides["pt-BR"],
|
|
9930
|
+
designLocalSourceEditOverrides["pt-BR"],
|
|
9653
9931
|
{
|
|
9654
9932
|
root: {
|
|
9655
9933
|
commandActions: "Ações",
|
|
@@ -9701,6 +9979,7 @@ export const messagesByLocale = {
|
|
|
9701
9979
|
designShapeToolOverrides["hi-IN"],
|
|
9702
9980
|
designPublicShareOverrides["hi-IN"],
|
|
9703
9981
|
designVisualEditOverrides["hi-IN"],
|
|
9982
|
+
designLocalSourceEditOverrides["hi-IN"],
|
|
9704
9983
|
{
|
|
9705
9984
|
root: {
|
|
9706
9985
|
commandActions: "क्रियाएं",
|
|
@@ -9752,6 +10031,7 @@ export const messagesByLocale = {
|
|
|
9752
10031
|
designShapeToolOverrides["ar-SA"],
|
|
9753
10032
|
designPublicShareOverrides["ar-SA"],
|
|
9754
10033
|
designVisualEditOverrides["ar-SA"],
|
|
10034
|
+
designLocalSourceEditOverrides["ar-SA"],
|
|
9755
10035
|
{
|
|
9756
10036
|
root: {
|
|
9757
10037
|
commandActions: "الإجراءات",
|