dsh-coding-sidebar 1.0.0
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/LICENSE +21 -0
- package/README.md +524 -0
- package/cordis.patch.yml +49 -0
- package/lib/client-editor.js +48229 -0
- package/lib/client-mermaid.js +200745 -0
- package/lib/client-registry.js +21867 -0
- package/lib/client-terminal.js +9361 -0
- package/lib/client.js +21867 -0
- package/lib/index.js +4556 -0
- package/lib/invariant.js +22 -0
- package/lib/types/agent-opens.d.ts +65 -0
- package/lib/types/agent-pty.d.ts +226 -0
- package/lib/types/browser-probe.d.ts +15 -0
- package/lib/types/bundle-route.d.ts +12 -0
- package/lib/types/client/BrowserView.d.ts +39 -0
- package/lib/types/client/DiffTab.d.ts +6 -0
- package/lib/types/client/DiffView.d.ts +51 -0
- package/lib/types/client/EditorHost.d.ts +13 -0
- package/lib/types/client/FileTree.d.ts +38 -0
- package/lib/types/client/FreeWindow.d.ts +29 -0
- package/lib/types/client/GitView.d.ts +10 -0
- package/lib/types/client/MarkdownHtml.d.ts +32 -0
- package/lib/types/client/OrphanedTab.d.ts +11 -0
- package/lib/types/client/PdfView.d.ts +6 -0
- package/lib/types/client/RenderBoundary.d.ts +32 -0
- package/lib/types/client/SandboxStatusBar.d.ts +10 -0
- package/lib/types/client/SideCardSection.d.ts +74 -0
- package/lib/types/client/SideChatView.d.ts +16 -0
- package/lib/types/client/Sidebar.d.ts +6 -0
- package/lib/types/client/SubagentView.d.ts +16 -0
- package/lib/types/client/TabBar.d.ts +54 -0
- package/lib/types/client/TerminalView.d.ts +24 -0
- package/lib/types/client/TextEditor.d.ts +10 -0
- package/lib/types/client/TreePanel.d.ts +24 -0
- package/lib/types/client/UploadOverlay.d.ts +20 -0
- package/lib/types/client/add-plugin-modal.d.ts +15 -0
- package/lib/types/client/api.d.ts +275 -0
- package/lib/types/client/binary-download.d.ts +12 -0
- package/lib/types/client/breakpoints.d.ts +17 -0
- package/lib/types/client/browser.d.ts +60 -0
- package/lib/types/client/builtins/index.d.ts +18 -0
- package/lib/types/client/builtins/tabs.d.ts +11 -0
- package/lib/types/client/builtins/viewers.d.ts +3 -0
- package/lib/types/client/chunk-loader.d.ts +131 -0
- package/lib/types/client/chunks/editor.d.ts +9 -0
- package/lib/types/client/chunks/mermaid.d.ts +10 -0
- package/lib/types/client/chunks/terminal.d.ts +9 -0
- package/lib/types/client/cm-themes.d.ts +24 -0
- package/lib/types/client/conversation-draft.d.ts +14 -0
- package/lib/types/client/desktop-env.d.ts +35 -0
- package/lib/types/client/editor-load.d.ts +66 -0
- package/lib/types/client/frame-batcher.d.ts +24 -0
- package/lib/types/client/icons.d.ts +59 -0
- package/lib/types/client/image-types.d.ts +3 -0
- package/lib/types/client/ime-guard.d.ts +36 -0
- package/lib/types/client/index.d.ts +25 -0
- package/lib/types/client/intercept.d.ts +46 -0
- package/lib/types/client/lang.d.ts +14 -0
- package/lib/types/client/layout-push.d.ts +15 -0
- package/lib/types/client/lazy-chunk.d.ts +25 -0
- package/lib/types/client/link-intercept.d.ts +42 -0
- package/lib/types/client/locales-ar.d.ts +18 -0
- package/lib/types/client/locales-de.d.ts +4 -0
- package/lib/types/client/locales-fr.d.ts +10 -0
- package/lib/types/client/locales-hi.d.ts +17 -0
- package/lib/types/client/locales-id.d.ts +15 -0
- package/lib/types/client/locales-it.d.ts +8 -0
- package/lib/types/client/locales-ja.d.ts +17 -0
- package/lib/types/client/locales-ko.d.ts +9 -0
- package/lib/types/client/locales-nl.d.ts +16 -0
- package/lib/types/client/locales-pl.d.ts +19 -0
- package/lib/types/client/locales-pt.d.ts +1 -0
- package/lib/types/client/locales-ru.d.ts +13 -0
- package/lib/types/client/locales-sv.d.ts +1 -0
- package/lib/types/client/locales-th.d.ts +17 -0
- package/lib/types/client/locales-tr.d.ts +17 -0
- package/lib/types/client/locales-vi.d.ts +17 -0
- package/lib/types/client/locales-zh-HK.d.ts +32 -0
- package/lib/types/client/locales-zh-MO.d.ts +32 -0
- package/lib/types/client/locales-zh-TW.d.ts +32 -0
- package/lib/types/client/locales.d.ts +452 -0
- package/lib/types/client/markdown-html.d.ts +96 -0
- package/lib/types/client/markdown-images.d.ts +45 -0
- package/lib/types/client/markdown-labels.d.ts +38 -0
- package/lib/types/client/md-toc.d.ts +4 -0
- package/lib/types/client/mermaid-blocks.d.ts +47 -0
- package/lib/types/client/mermaid-sanitize.d.ts +2 -0
- package/lib/types/client/mermaid.d.ts +12 -0
- package/lib/types/client/open-when-sized.d.ts +20 -0
- package/lib/types/client/open-with-settings.d.ts +4 -0
- package/lib/types/client/open-with.d.ts +87 -0
- package/lib/types/client/openpath-intercept.d.ts +85 -0
- package/lib/types/client/paths.d.ts +43 -0
- package/lib/types/client/pdf-types.d.ts +2 -0
- package/lib/types/client/pinned.d.ts +86 -0
- package/lib/types/client/plugin-settings.d.ts +8 -0
- package/lib/types/client/plugins-shared.d.ts +27 -0
- package/lib/types/client/plugins-tabs.d.ts +3 -0
- package/lib/types/client/plugins-viewers.d.ts +3 -0
- package/lib/types/client/prefs.d.ts +41 -0
- package/lib/types/client/produced-files.d.ts +29 -0
- package/lib/types/client/selection-payload.d.ts +27 -0
- package/lib/types/client/service.d.ts +439 -0
- package/lib/types/client/settings-nav-icon.d.ts +19 -0
- package/lib/types/client/shell-presets.d.ts +48 -0
- package/lib/types/client/sidechat-transcript.d.ts +103 -0
- package/lib/types/client/split-pane.d.ts +36 -0
- package/lib/types/client/state.d.ts +432 -0
- package/lib/types/client/subagent-detect.d.ts +54 -0
- package/lib/types/client/subagent-jobs.d.ts +63 -0
- package/lib/types/client/tab-content-memo.d.ts +40 -0
- package/lib/types/client/terminal-font.d.ts +78 -0
- package/lib/types/client/terminal-links.d.ts +119 -0
- package/lib/types/client/theme.d.ts +45 -0
- package/lib/types/client/titlebar-strip.d.ts +23 -0
- package/lib/types/client/upload.d.ts +69 -0
- package/lib/types/client/wco.d.ts +47 -0
- package/lib/types/config.d.ts +64 -0
- package/lib/types/context-types.d.ts +605 -0
- package/lib/types/fs-operations.d.ts +28 -0
- package/lib/types/fs-search.d.ts +24 -0
- package/lib/types/fs-tree.d.ts +51 -0
- package/lib/types/git.d.ts +124 -0
- package/lib/types/html-route.d.ts +59 -0
- package/lib/types/index.d.ts +47 -0
- package/lib/types/invariant.d.ts +15 -0
- package/lib/types/jobs-routes.d.ts +45 -0
- package/lib/types/open-external.d.ts +24 -0
- package/lib/types/path-security.d.ts +20 -0
- package/lib/types/prefs-shared.d.ts +236 -0
- package/lib/types/pty-deps.d.ts +78 -0
- package/lib/types/pty-manager.d.ts +168 -0
- package/lib/types/sidechat-core.d.ts +172 -0
- package/lib/types/sidechat-routes.d.ts +30 -0
- package/lib/types/subagent-activity.d.ts +44 -0
- package/lib/types/subagent-live-route.d.ts +44 -0
- package/lib/types/tools.d.ts +34 -0
- package/lib/types/trust-fence.d.ts +24 -0
- package/lib/types/wire.d.ts +38 -0
- package/package.json +172 -0
- package/scripts/install.ps1 +306 -0
- package/scripts/install.sh +287 -0
- package/src/agent-opens.ts +265 -0
- package/src/agent-pty.ts +527 -0
- package/src/browser-probe.ts +26 -0
- package/src/bundle-route.ts +129 -0
- package/src/client/BrowserView.tsx +289 -0
- package/src/client/DiffTab.tsx +114 -0
- package/src/client/DiffView.tsx +305 -0
- package/src/client/EditorHost.tsx +558 -0
- package/src/client/FileTree.tsx +669 -0
- package/src/client/FreeWindow.tsx +337 -0
- package/src/client/GitView.tsx +717 -0
- package/src/client/MarkdownHtml.tsx +296 -0
- package/src/client/OrphanedTab.tsx +27 -0
- package/src/client/PdfView.tsx +110 -0
- package/src/client/RenderBoundary.tsx +49 -0
- package/src/client/SandboxStatusBar.tsx +60 -0
- package/src/client/SideCardSection.module.css +960 -0
- package/src/client/SideCardSection.tsx +1163 -0
- package/src/client/SideChatView.module.css +437 -0
- package/src/client/SideChatView.tsx +645 -0
- package/src/client/Sidebar.tsx +1370 -0
- package/src/client/SubagentView.module.css +547 -0
- package/src/client/SubagentView.tsx +883 -0
- package/src/client/TabBar.tsx +365 -0
- package/src/client/TerminalView.tsx +424 -0
- package/src/client/TextEditor.tsx +468 -0
- package/src/client/TreePanel.tsx +275 -0
- package/src/client/UploadOverlay.tsx +62 -0
- package/src/client/add-plugin-modal.tsx +199 -0
- package/src/client/api.ts +357 -0
- package/src/client/binary-download.tsx +23 -0
- package/src/client/breakpoints.ts +61 -0
- package/src/client/browser.ts +167 -0
- package/src/client/builtins/index.ts +37 -0
- package/src/client/builtins/tabs.tsx +340 -0
- package/src/client/builtins/viewers.tsx +125 -0
- package/src/client/chunk-loader.ts +358 -0
- package/src/client/chunks/editor.tsx +9 -0
- package/src/client/chunks/mermaid.tsx +10 -0
- package/src/client/chunks/terminal.tsx +9 -0
- package/src/client/cm-themes.ts +129 -0
- package/src/client/conversation-draft.ts +29 -0
- package/src/client/css-modules.d.ts +5 -0
- package/src/client/desktop-env.ts +72 -0
- package/src/client/editor-load.ts +92 -0
- package/src/client/frame-batcher.ts +56 -0
- package/src/client/icons.tsx +152 -0
- package/src/client/image-types.ts +8 -0
- package/src/client/ime-guard.ts +47 -0
- package/src/client/index.tsx +427 -0
- package/src/client/intercept.tsx +188 -0
- package/src/client/lang.ts +225 -0
- package/src/client/layout-push.ts +24 -0
- package/src/client/layout.css +90 -0
- package/src/client/lazy-chunk.tsx +89 -0
- package/src/client/link-intercept.ts +73 -0
- package/src/client/locales-ar.ts +368 -0
- package/src/client/locales-de.ts +353 -0
- package/src/client/locales-fr.ts +360 -0
- package/src/client/locales-hi.ts +367 -0
- package/src/client/locales-id.ts +365 -0
- package/src/client/locales-it.ts +358 -0
- package/src/client/locales-ja.ts +367 -0
- package/src/client/locales-ko.ts +359 -0
- package/src/client/locales-nl.ts +365 -0
- package/src/client/locales-pl.ts +369 -0
- package/src/client/locales-pt.ts +350 -0
- package/src/client/locales-ru.ts +365 -0
- package/src/client/locales-sv.ts +350 -0
- package/src/client/locales-th.ts +367 -0
- package/src/client/locales-tr.ts +367 -0
- package/src/client/locales-vi.ts +367 -0
- package/src/client/locales-zh-HK.ts +382 -0
- package/src/client/locales-zh-MO.ts +382 -0
- package/src/client/locales-zh-TW.ts +382 -0
- package/src/client/locales.ts +894 -0
- package/src/client/markdown-html.ts +331 -0
- package/src/client/markdown-images.ts +137 -0
- package/src/client/markdown-labels.tsx +52 -0
- package/src/client/md-toc.tsx +127 -0
- package/src/client/mermaid-blocks.ts +110 -0
- package/src/client/mermaid-sanitize.ts +93 -0
- package/src/client/mermaid.tsx +406 -0
- package/src/client/open-when-sized.ts +43 -0
- package/src/client/open-with-settings.tsx +135 -0
- package/src/client/open-with.ts +221 -0
- package/src/client/openpath-intercept.ts +143 -0
- package/src/client/paths.ts +63 -0
- package/src/client/pdf-types.ts +4 -0
- package/src/client/pinned.ts +183 -0
- package/src/client/plugin-settings.ts +43 -0
- package/src/client/plugins-shared.ts +29 -0
- package/src/client/plugins-tabs.ts +96 -0
- package/src/client/plugins-viewers.ts +30 -0
- package/src/client/prefs.ts +210 -0
- package/src/client/produced-files.ts +120 -0
- package/src/client/selection-payload.ts +86 -0
- package/src/client/service.ts +859 -0
- package/src/client/settings-nav-icon.ts +45 -0
- package/src/client/shell-presets.ts +83 -0
- package/src/client/sidebar.module.css +2788 -0
- package/src/client/sidechat-transcript.ts +321 -0
- package/src/client/split-pane.tsx +331 -0
- package/src/client/state.ts +1497 -0
- package/src/client/subagent-detect.ts +137 -0
- package/src/client/subagent-jobs.ts +161 -0
- package/src/client/tab-content-memo.ts +55 -0
- package/src/client/terminal-font.ts +224 -0
- package/src/client/terminal-links.ts +194 -0
- package/src/client/theme.ts +110 -0
- package/src/client/titlebar-strip.ts +37 -0
- package/src/client/upload.ts +187 -0
- package/src/client/wco.ts +120 -0
- package/src/config.ts +154 -0
- package/src/context-types.ts +611 -0
- package/src/fs-operations.ts +95 -0
- package/src/fs-search.ts +113 -0
- package/src/fs-tree.ts +158 -0
- package/src/git.ts +446 -0
- package/src/html-route.ts +106 -0
- package/src/index.ts +1291 -0
- package/src/invariant.ts +32 -0
- package/src/jobs-routes.ts +257 -0
- package/src/open-external.ts +90 -0
- package/src/path-security.ts +75 -0
- package/src/prefs-shared.ts +280 -0
- package/src/pty-deps.ts +240 -0
- package/src/pty-manager.ts +376 -0
- package/src/sidechat-core.ts +468 -0
- package/src/sidechat-routes.ts +344 -0
- package/src/subagent-activity.ts +91 -0
- package/src/subagent-live-route.ts +93 -0
- package/src/tools.ts +482 -0
- package/src/trust-fence.ts +84 -0
- package/src/wire.ts +100 -0
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The vi (Vietnamese) dictionary for the betterSidebar namespace.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the key set of `zh` in `locales.ts`. The sidebar's `t()`
|
|
5
|
+
* consults this dict when `attachBetterLocale(store)` has been called
|
|
6
|
+
* with an active better-locale store whose `active` is `'vi'`; absent
|
|
7
|
+
* that, the existing zh/en chain runs unchanged.
|
|
8
|
+
*
|
|
9
|
+
* Translation conventions:
|
|
10
|
+
* - Technical terms stay in English where appropriate (Git, SSH, HTTP, URL,
|
|
11
|
+
* Markdown, PDF, VS Code, API Key, Base URL, token, etc.).
|
|
12
|
+
* - Placeholders keep {name} verbatim (interpolation runs after lookup).
|
|
13
|
+
* - Formal Vietnamese appropriate for software UI.
|
|
14
|
+
* - Terminology is kept consistent with the DSH core vi dictionary.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/** The vi dictionary (key-set-equal to zh, enforced by the type annotation in locales.ts). */
|
|
18
|
+
export const vi: Record<string, string> = {
|
|
19
|
+
files: 'Tệp',
|
|
20
|
+
explorer: 'Trình khám phá',
|
|
21
|
+
git: 'Quản lý mã nguồn',
|
|
22
|
+
terminal: 'Terminal',
|
|
23
|
+
editor: 'Trình soạn thảo',
|
|
24
|
+
editorExplorer: 'Cách mở tệp',
|
|
25
|
+
editorExplorerDesc: 'Kiểm soát cách mở tệp',
|
|
26
|
+
editorExplorerMerged: 'Gộp',
|
|
27
|
+
editorExplorerMergedDesc: 'Tệp chuyển tại chỗ trong cùng cửa sổ; cửa sổ mới mặc định mở cây tệp',
|
|
28
|
+
editorExplorerSplit: 'Riêng biệt',
|
|
29
|
+
editorExplorerSplitDesc: 'Cửa sổ không đường dẫn là trình khám phá (chỉ cây tệp); mỗi tệp mở cửa sổ riêng (có cây tệp, mặc định thu gọn)',
|
|
30
|
+
editorTreeToggle: 'Panel cây tệp',
|
|
31
|
+
editorPathPlaceholder: 'Nhập đường dẫn tệp (tương đối thư mục phiên hoặc tuyệt đối), Enter để mở',
|
|
32
|
+
editorSearchPlaceholder: 'Tìm theo tên tệp…',
|
|
33
|
+
editorSearchNoResults: 'Không có tệp phù hợp',
|
|
34
|
+
editorSearchTruncated: 'Quá nhiều kết quả, chỉ hiển thị một phần',
|
|
35
|
+
editorEmptyHint: 'Chọn tệp từ cây tệp bên phải hoặc ô nhập đường dẫn phía trên để xem trước',
|
|
36
|
+
openFileNewTab: 'Mở trong Tab mới',
|
|
37
|
+
openFileSide: 'Mở ở bên cạnh',
|
|
38
|
+
openWithMenu: 'Mở bằng',
|
|
39
|
+
openWithSshSuffix: ' (SSH)',
|
|
40
|
+
pinOpenWith: 'Ghim vào menu',
|
|
41
|
+
unpinOpenWith: 'Bỏ ghim',
|
|
42
|
+
openWithExplorer: 'Trình quản lý tệp',
|
|
43
|
+
openWithVscode: 'VS Code',
|
|
44
|
+
openWithCursor: 'Cursor',
|
|
45
|
+
openWithZed: 'Zed',
|
|
46
|
+
openWithSettingsSshTitle: 'Máy chủ từ xa SSH',
|
|
47
|
+
openWithSettingsSshDesc: 'Để trống cho không gian làm việc cục bộ; nhập user@host hoặc alias SSH, các trình mở họ VSCode sẽ chuyển sang giao thức vscode-remote/ssh-remote, Trình quản lý tệp / Zed / trình soạn thảo tùy chỉnh không phải VSCode sẽ ẩn khỏi menu',
|
|
48
|
+
openWithSettingsSshPlaceholder: 'user@host hoặc alias SSH',
|
|
49
|
+
openWithSettingsCustomTitle: 'Trình soạn thảo tùy chỉnh',
|
|
50
|
+
openWithSettingsCustomDesc: 'Tên + mẫu URL (placeholder {path}) + cờ họ VSCode; ở chế độ SSH chỉ họ VSCode mở được đường dẫn từ xa',
|
|
51
|
+
openWithSettingsAdd: 'Thêm',
|
|
52
|
+
openWithSettingsName: 'Tên',
|
|
53
|
+
openWithSettingsTemplate: 'vd: cursor://file/{path}',
|
|
54
|
+
openWithSettingsFamily: 'Họ VSCode',
|
|
55
|
+
openWithSettingsFamilyDesc: 'Trình soạn thảo này dùng giao thức URL của VSCode (hỗ trợ mở từ xa qua SSH)',
|
|
56
|
+
openWithSettingsRemove: 'Xóa',
|
|
57
|
+
openWithSettingsInvalidHint: 'Trình soạn thảo thiếu tên hoặc mẫu (cần chứa {path} và bắt đầu bằng scheme://) sẽ không xuất hiện trong menu',
|
|
58
|
+
newTab: 'Tab mới',
|
|
59
|
+
openExplorer: 'Trình khám phá',
|
|
60
|
+
brokenSymlink: 'Symlink hỏng',
|
|
61
|
+
openGit: 'Panel Git',
|
|
62
|
+
newTerminal: 'Terminal mới',
|
|
63
|
+
terminalLimit: 'Đã đạt giới hạn terminal (3)',
|
|
64
|
+
close: 'Đóng',
|
|
65
|
+
closeOtherTabs: 'Đóng các tab khác',
|
|
66
|
+
closeLeftTabs: 'Đóng tab bên trái',
|
|
67
|
+
closeRightTabs: 'Đóng tab bên phải',
|
|
68
|
+
moveToFreeWindow: 'Chuyển sang cửa sổ tự do',
|
|
69
|
+
floatDropHint: 'Thả để mở trong cửa sổ tự do',
|
|
70
|
+
dockToSidebar: 'Quay lại thanh bên',
|
|
71
|
+
pinTerminal: 'Ghim Terminal',
|
|
72
|
+
pinAgentTerminal: 'Ghim Terminal Agent',
|
|
73
|
+
pinToWorkspace: 'Ghim vào Workspace',
|
|
74
|
+
pinToGlobal: 'Ghim Toàn cục',
|
|
75
|
+
unpinTerminal: 'Bỏ ghim',
|
|
76
|
+
pinnedTerminalTooltip: '{kind} · {scope} · {cwd}',
|
|
77
|
+
pinnedTerminalKindUi: 'Terminal UI',
|
|
78
|
+
pinnedTerminalKindAgent: 'Terminal Agent',
|
|
79
|
+
pinnedTerminalScopeWorkspace: 'Đã ghim vào workspace',
|
|
80
|
+
pinnedTerminalScopeGlobal: 'Đã ghim toàn cục',
|
|
81
|
+
pinnedRailLabel: 'Terminal đã ghim',
|
|
82
|
+
closePinnedTerminal: 'Đóng Terminal',
|
|
83
|
+
collapse: 'Thu gọn thanh bên',
|
|
84
|
+
expand: 'Mở rộng thanh bên',
|
|
85
|
+
terminalError: 'Kết nối terminal thất bại',
|
|
86
|
+
terminalConnectFailed: 'Terminal kết nối thất bại nhiều lần',
|
|
87
|
+
terminalRetry: 'Thử lại',
|
|
88
|
+
terminalDepsFailed: 'Dependency terminal node-pty tải thất bại',
|
|
89
|
+
terminalDepsHint: 'Chạy lệnh sau trong terminal hoặc cmd trên máy DSH để sửa, rồi nhấn thử lại (node-pty đồng bộ phiên bản với lõi DSH):',
|
|
90
|
+
terminalDepsProfile: ' (phát hiện profile: {profile})',
|
|
91
|
+
preview: 'Xem trước',
|
|
92
|
+
toc: 'Mục lục',
|
|
93
|
+
edit: 'Chỉnh sửa',
|
|
94
|
+
mermaidError: 'Render Mermaid thất bại',
|
|
95
|
+
mermaidZoomIn: 'Phóng to',
|
|
96
|
+
mermaidZoomOut: 'Thu nhỏ',
|
|
97
|
+
mermaidZoomReset: 'Đặt lại',
|
|
98
|
+
mermaidZoomHint: 'Cuộn để zoom · kéo để di chuyển · Esc để đóng',
|
|
99
|
+
refresh: 'Làm mới',
|
|
100
|
+
showInFolder: 'Hiển thị trong thư mục',
|
|
101
|
+
refreshUnsavedConfirm: 'Tệp đã thay đổi trên đĩa. Làm mới sẽ loại bỏ các chỉnh sửa chưa lưu. Tiếp tục?',
|
|
102
|
+
save: 'Lưu',
|
|
103
|
+
saved: 'Đã lưu',
|
|
104
|
+
unsaved: 'Chưa lưu',
|
|
105
|
+
saveFailed: 'Lưu thất bại',
|
|
106
|
+
truncation: 'Tệp quá lớn, chỉ hiển thị 512KB đầu',
|
|
107
|
+
binary: 'Tệp nhị phân, không xem trước được',
|
|
108
|
+
loading: 'Đang tải…',
|
|
109
|
+
error: 'Tải thất bại',
|
|
110
|
+
retry: 'Thử lại',
|
|
111
|
+
splitLeft: 'Chia bên trái',
|
|
112
|
+
splitRight: 'Chia bên phải',
|
|
113
|
+
splitUp: 'Chia lên trên',
|
|
114
|
+
splitDown: 'Chia xuống dưới',
|
|
115
|
+
notRepo: 'Thư mục hiện tại không phải repo git',
|
|
116
|
+
noChanges: 'Không có thay đổi',
|
|
117
|
+
statusTruncated: 'Quá nhiều thay đổi; chỉ hiển thị 2000 mục đầu tiên',
|
|
118
|
+
stage: 'Stage',
|
|
119
|
+
unstage: 'Unstage',
|
|
120
|
+
stageAll: 'Stage tất cả',
|
|
121
|
+
unstageAll: 'Unstage tất cả',
|
|
122
|
+
commitPlaceholder: 'Thông điệp commit (Ctrl+Enter)',
|
|
123
|
+
commit: 'Commit',
|
|
124
|
+
commitError: 'Commit thất bại',
|
|
125
|
+
branch: 'Branch',
|
|
126
|
+
worktree: 'Worktree',
|
|
127
|
+
checkoutError: 'Chuyển branch thất bại',
|
|
128
|
+
history: 'Lịch sử',
|
|
129
|
+
changes: 'Thay đổi',
|
|
130
|
+
staged: 'Đã stage',
|
|
131
|
+
unstaged: 'Chưa stage',
|
|
132
|
+
cancel: 'Hủy',
|
|
133
|
+
diffEmpty: 'Không có khác biệt văn bản',
|
|
134
|
+
diffLoadError: 'Tải diff thất bại',
|
|
135
|
+
diffBinary: 'Nhị phân',
|
|
136
|
+
diffAdded: 'Thêm',
|
|
137
|
+
diffDeleted: 'Xóa',
|
|
138
|
+
diffRenamed: 'Đổi tên',
|
|
139
|
+
diffExpand: 'Mở rộng {count} dòng còn lại',
|
|
140
|
+
diffCollapse: 'Thu gọn',
|
|
141
|
+
discard: 'Bỏ thay đổi',
|
|
142
|
+
discardTitle: 'Bỏ thay đổi',
|
|
143
|
+
discardDesc: 'Sẽ hủy các thay đổi worktree của «{path}» (không thể khôi phục).',
|
|
144
|
+
viewCommitDiff: 'Xem diff commit',
|
|
145
|
+
copyShortHash: 'Sao chép hash ngắn',
|
|
146
|
+
copyFullHash: 'Sao chép hash đầy đủ',
|
|
147
|
+
copySubject: 'Sao chép thông điệp commit',
|
|
148
|
+
revertCommit: 'Revert commit',
|
|
149
|
+
revertTitle: 'Revert commit',
|
|
150
|
+
revertDesc: 'Sẽ tạo commit mới trên branch hiện tại đảo ngược «{subject}».',
|
|
151
|
+
cherryPickCommit: 'Cherry-pick commit',
|
|
152
|
+
cherryPickTitle: 'Cherry-pick commit',
|
|
153
|
+
cherryPickDesc: 'Áp dụng các thay đổi của «{subject}» lên branch hiện tại.',
|
|
154
|
+
timeJustNow: 'vừa xong',
|
|
155
|
+
timeMinutesAgo: '{n} phút trước',
|
|
156
|
+
timeHoursAgo: '{n} giờ trước',
|
|
157
|
+
timeYesterday: 'hôm qua',
|
|
158
|
+
loadMore: 'Tải thêm',
|
|
159
|
+
historyLoadError: 'Tải thêm lịch sử thất bại',
|
|
160
|
+
produced: 'Đã tạo',
|
|
161
|
+
producedOpen: 'Mở trong thanh bên',
|
|
162
|
+
disconnected: 'Terminal mất kết nối, đang kết nối lại…',
|
|
163
|
+
exited: 'Tiến trình terminal đã thoát',
|
|
164
|
+
noSession: 'Chọn một phiên để dùng thanh bên',
|
|
165
|
+
pluginNotLoaded: 'Plugin chưa tải, tab tạm không khả dụng:',
|
|
166
|
+
hiddenFiles: 'Tệp ẩn',
|
|
167
|
+
parent: 'Thư mục cha',
|
|
168
|
+
copied: 'Đã sao chép',
|
|
169
|
+
copy: 'Sao chép',
|
|
170
|
+
newFile: 'Tệp mới',
|
|
171
|
+
openEditor: 'Mở trình soạn thảo',
|
|
172
|
+
gitDetail: 'Xem chi tiết thay đổi',
|
|
173
|
+
referenceFile: '@tệp',
|
|
174
|
+
addToConversation: 'Thêm vào cuộc trò chuyện',
|
|
175
|
+
copyRelative: 'Sao chép đường dẫn tương đối',
|
|
176
|
+
copyAbsolute: 'Sao chép đường dẫn tuyệt đối',
|
|
177
|
+
download: 'Tải xuống',
|
|
178
|
+
uploadFiles: 'Tải tệp lên',
|
|
179
|
+
uploadFolder: 'Tải thư mục lên',
|
|
180
|
+
uploadHere: 'Tải lên đây',
|
|
181
|
+
uploadDropHint: 'Kéo tệp/thư mục vào đây để tải lên',
|
|
182
|
+
uploadDropChat: 'Kéo vào khu vực chat: thêm hình ảnh vào cuộc trò chuyện',
|
|
183
|
+
uploadTo: 'Tải lên {dir}',
|
|
184
|
+
uploadingTo: 'Đang tải lên {dir}…',
|
|
185
|
+
uploadProgress: 'Đang tải lên {done}/{total}: {name}',
|
|
186
|
+
uploadDone: 'Đã tải lên {count} tệp',
|
|
187
|
+
uploadFailed: 'Tải lên thất bại: {error}',
|
|
188
|
+
uploadFailedUnknown: 'Lỗi không xác định',
|
|
189
|
+
uploadTooLarge: 'Tệp quá lớn, vượt giới hạn tải lên',
|
|
190
|
+
uploadCancelled: 'Đã hủy tải lên',
|
|
191
|
+
settingsNav: 'Thẻ bên',
|
|
192
|
+
settingsIntro: 'Quản lý nội dung hiển thị và hành vi mặc định của thẻ bên',
|
|
193
|
+
settingsPopupDesc: 'Cấu hình tùy chọn cho «{feature}»',
|
|
194
|
+
settingsDone: 'Xong',
|
|
195
|
+
settingsOpenTitle: 'Mở mặc định cho phiên mới',
|
|
196
|
+
settingsOpenDesc: 'Tự động mở rộng thẻ bên cho phiên mới; phiên đã có giữ nguyên bố cục',
|
|
197
|
+
settingsWidthTitle: 'Tỷ lệ chiều rộng mặc định',
|
|
198
|
+
settingsWidthDesc: 'Tỷ lệ phần trăm chiều rộng cửa sổ mà thẻ bên chiếm cho phiên mới (20–60)',
|
|
199
|
+
settingsWidthSuffix: '%',
|
|
200
|
+
settingsOpenPathTitle: 'Mở tệp chat trong thanh bên',
|
|
201
|
+
settingsOpenPathDesc: 'Khi nhấp link tệp trong chat (dòng công cụ, danh sách sản phẩm, nhắc tệp), mở trong trình soạn thảo thanh bên thay vì ứng dụng mặc định hệ thống',
|
|
202
|
+
settingsOpenToolsTitle: 'Tiêm công cụ mở thanh bên cho mô hình',
|
|
203
|
+
settingsOpenToolsDesc: 'Khi bật, mô hình có thể mở tệp, thư mục và trang HTTP(S) trong thanh bên qua công cụ sidebar_open (mặc định tắt)',
|
|
204
|
+
settingsTitleBarTitle: 'Chế độ tương thích thanh tiêu đề',
|
|
205
|
+
settingsTitleBarDesc: 'Chọn phương án tương thích thanh tiêu đề: tự động phát hiện (mặc định, bảo thủ) / Web DSH chính thức / shell desktop đã biết / tùy chỉnh (khoảng dịch chuyển + CSS tùy chỉnh)',
|
|
206
|
+
settingsTitleBarStripTitle: 'Khoảng dịch chuyển',
|
|
207
|
+
settingsTitleBarStripDesc: 'Chiều cao dải thanh tiêu đề: số pixel dịch xuống của nút và nội dung thanh bên (0–120, mặc định 40; áp dụng trong chế độ tùy chỉnh)',
|
|
208
|
+
settingsSchemeAutoTitle: 'Tự động phát hiện',
|
|
209
|
+
settingsSchemeAutoDesc: 'Bảo thủ: chỉ nhường chỗ theo chiều cao thanh tiêu đề thật khi API Window Controls Overlay chuẩn khả dụng; môi trường web thuần không sửa gì',
|
|
210
|
+
settingsSchemeWebTitle: 'Web DSH chính thức',
|
|
211
|
+
settingsSchemeWebDesc: 'Khai báo tường minh chạy trên web chính thức: không điều chỉnh gì cả (kể cả hình học WCO chuẩn)',
|
|
212
|
+
settingsSchemeCustomTitle: 'Tùy chỉnh',
|
|
213
|
+
settingsSchemeCustomDesc: 'Toàn quyền kiểm soát: chèn CSS tùy chỉnh (có thể ghi đè style built-in), và chỉ định khoảng dịch chuyển thanh tiêu đề',
|
|
214
|
+
settingsSchemeDetectedSuffix: 'đã phát hiện',
|
|
215
|
+
settingsCustomCssTitle: 'CSS tùy chỉnh',
|
|
216
|
+
settingsCustomCssDesc: 'Style追加 vào cuối trang (cùng ưu tiên thì viết sau thắng; ghi đè biến inline JS cần !important)',
|
|
217
|
+
settingsCustomCssPlaceholder: '/* vd: dành sẵn 36px cho shell tự vẽ thanh tiêu đề */\nhtml[data-dsh-title-bar-height="36"] {\n --dsh-title-bar-strip: 36px !important;\n}',
|
|
218
|
+
settingsSaveFailed: 'Lưu thất bại',
|
|
219
|
+
settingsConflict: 'Cài đặt đã bị sửa bởi cửa sổ khác, vui lòng thử lại',
|
|
220
|
+
binaryNoPreview: 'Loại tệp này không hỗ trợ xem trước',
|
|
221
|
+
downloadToView: 'Tải xuống để xem',
|
|
222
|
+
settingsSubagentTitle: 'Tự động mở trang Quản lý tác vụ khi phát hiện tác nhân con',
|
|
223
|
+
settingsSubagentDesc: 'Khi phiên hiện tại tạo tác nhân con mới, tự động mở rộng thanh bên và mở trang Quản lý tác vụ; tắt thì phải mở thủ công',
|
|
224
|
+
settingsJobsTitle: 'Tự động mở trang Tác vụ nền khi có tác vụ nền mới',
|
|
225
|
+
settingsJobsDesc: 'Khi phiên hiện tại có tác vụ nền mới, tự động mở rộng thanh bên và mở trang Tác vụ nền (mỗi tác vụ mới đều kích hoạt); tắt thì phải mở thủ công',
|
|
226
|
+
settingsToolsTitle: 'Tiêm công cụ terminal cho mô hình',
|
|
227
|
+
settingsToolsDesc: 'Khi bật, mô hình có thể tạo và điều khiển terminal thanh bên qua 8 công cụ terminal_* (mặc định tắt)',
|
|
228
|
+
settingsFontFamilyTitle: 'Font terminal',
|
|
229
|
+
settingsFontFamilyDesc: 'Font terminal tùy chỉnh (CSS font-family, vd: "JetBrains Mono", monospace; để trống theo font mono của theme)',
|
|
230
|
+
settingsFontFamilyPlaceholder: '"JetBrains Mono", monospace',
|
|
231
|
+
settingsFontSizeTitle: 'Cỡ chữ terminal',
|
|
232
|
+
settingsFontSizeDesc: 'Cỡ chữ terminal (9–32, mặc định 13)',
|
|
233
|
+
settingsFontSizeSuffix: 'px',
|
|
234
|
+
settingsShellTitle: 'Đường dẫn shell',
|
|
235
|
+
settingsShellDesc: 'Shell khởi động cho terminal UI và mô hình (đường dẫn tuyệt đối hoặc tên thực thi). Để trống sẽ phân tích theo thứ tự: yaml config.shell → $SHELL / login shell / powershell.exe trên Windows. Áp dụng cho terminal mở sau đó',
|
|
236
|
+
settingsShellPlaceholder: 'vd: /bin/zsh (để trống = tự động)',
|
|
237
|
+
settingsShellArgsTitle: 'Tham số shell',
|
|
238
|
+
settingsShellArgsDesc: 'Tham số shell tường minh, phân tách bằng dấu cách; khi không trống sẽ thay thế hoàn toàn mặc định (đồng bộ với contract shellArgs yaml)',
|
|
239
|
+
settingsShellArgsPlaceholder: 'vd: -l (để trống = mặc định)',
|
|
240
|
+
settingsTabsTitle: 'Nội dung thanh bên',
|
|
241
|
+
settingsViewersTitle: 'Trình xem tệp',
|
|
242
|
+
settingsGeneralTitle: 'Chung',
|
|
243
|
+
settingsPopup: 'Cài đặt tính năng',
|
|
244
|
+
settingsViewerCatchAll: 'Catch-all: mọi tệp',
|
|
245
|
+
viewerImage: 'Hình ảnh',
|
|
246
|
+
viewerPdf: 'PDF',
|
|
247
|
+
viewerMarkdown: 'Markdown',
|
|
248
|
+
viewerCode: 'Mã',
|
|
249
|
+
viewerBinary: 'Tải nhị phân',
|
|
250
|
+
viewerHtml: 'HTML',
|
|
251
|
+
browser: 'Trình duyệt',
|
|
252
|
+
browserPlaceholder: 'Nhập URL, vd: example.com',
|
|
253
|
+
browserGo: 'Đi',
|
|
254
|
+
browserBack: 'Lùi',
|
|
255
|
+
browserForward: 'Tiến',
|
|
256
|
+
browserStart: 'Nhập URL để bắt đầu duyệt (chế độ sandbox)',
|
|
257
|
+
browserBlockedScheme: 'Đã chặn: chỉ cho phép link http/https',
|
|
258
|
+
browserBlockedLoopback: 'Đã chặn: không cho phép truy cập địa chỉ cục bộ hoặc nội bộ trong trình duyệt',
|
|
259
|
+
browserInvalid: 'URL không hợp lệ',
|
|
260
|
+
browserNoSandboxWarning: 'Sandbox đã tắt: trang hiện tại cùng nguồn với UI, có toàn quyền phiên (có thể bật lại trong cài đặt)',
|
|
261
|
+
htmlNoSandboxWarning: 'Sandbox đã tắt: HTML này cùng nguồn với UI, có thể đọc tệp phiên và API nội bộ (có thể bật lại trong cài đặt)',
|
|
262
|
+
sandboxStatusOn: 'Chế độ sandbox: đã bật · trang không thể truy cập dữ liệu UI và tệp cục bộ, đăng nhập và cookie bên thứ ba có thể không hoạt động',
|
|
263
|
+
sandboxUnlock: 'Mở khóa tạm (không an toàn)',
|
|
264
|
+
sandboxRestore: 'Khôi phục sandbox',
|
|
265
|
+
settingsHtmlDefaultUnsafeTitle: 'Mở xem trước HTML không sandbox mặc định (không an toàn)',
|
|
266
|
+
settingsHtmlDefaultUnsafeDesc: 'Khi bật, mỗi lần mở tệp HTML xem trước sẽ mặc định không sandbox (cùng nguồn UI, có thể đọc tệp phiên và API nội bộ); có thể khôi phục sandbox tạm thời trên thanh trạng thái',
|
|
267
|
+
settingsHtmlSandboxTitle: 'Tắt sandbox xem trước HTML (không an toàn)',
|
|
268
|
+
settingsHtmlSandboxDesc: 'Khi tắt, HTML xem trước sẽ chạy cùng nguồn với UI: có thể đọc tệp phiên, local storage và gọi API nội bộ. Chỉ bật cho tệp hoàn toàn đáng tin cậy',
|
|
269
|
+
settingsBrowserSandboxTitle: 'Tắt sandbox trình duyệt (không an toàn)',
|
|
270
|
+
settingsBrowserSandboxDesc: 'Khi tắt, mọi trang truy cập sẽ chạy cùng nguồn với UI: có thể đọc dữ liệu phiên và mạo danh phiên đăng nhập. Chỉ bật cho trang hoàn toàn đáng tin cậy',
|
|
271
|
+
settingsBrowserLinksTitle: 'Mở link ngoài trong chat ở thanh bên',
|
|
272
|
+
settingsBrowserLinksDesc: 'Khi bật, nhấp link ngoài trong chat hoặc UI sẽ mở trong thanh bên thay vì cửa sổ mới; HTTP và HTTPS được kiểm soát riêng bởi công tắc bên dưới; Ctrl/Cmd+nhấp luôn bỏ qua',
|
|
273
|
+
settingsBrowserHttpTitle: 'Mở trang HTTP trong thanh bên',
|
|
274
|
+
settingsBrowserHttpDesc: 'Khi bật, nhấp link HTTP ngoài trong chat hoặc UI sẽ mở trong thanh bên (trang plugin khai báo urlTarget ưu tiên); Ctrl/Cmd+nhấp luôn bỏ qua',
|
|
275
|
+
settingsBrowserHttpsTitle: 'Mở trang HTTPS trong thanh bên',
|
|
276
|
+
settingsBrowserHttpsDesc: 'Khi bật, nhấp link HTTPS ngoài trong chat hoặc UI sẽ mở trong thanh bên. Mặc định tắt: đa số trang HTTPS từ chối nhúng, trình duyệt hệ thống mượt mà hơn',
|
|
277
|
+
settingsBrowserLoopbackTitle: 'Địa chỉ cục bộ được phép',
|
|
278
|
+
settingsBrowserLoopbackDesc: 'Danh sách cho phép phân tách bằng dấu phẩy của địa chỉ loopback (vd. localhost:5174 hoặc 127.0.0.1:8080) mà trình duyệt thanh bên có thể truy cập; để trống sẽ chặn tất cả địa chỉ cục bộ theo mặc định. Hộp cát vẫn áp dụng — các trang không thể đọc dữ liệu GUI',
|
|
279
|
+
settingsBrowserLoopbackPlaceholder: 'vd. localhost:5174, 127.0.0.1:8080',
|
|
280
|
+
browserOpenExternal: 'Mở trong trình duyệt',
|
|
281
|
+
browserEmbedBlocked: '{host} từ chối nhúng',
|
|
282
|
+
browserEmbedBlockedDesc: 'Trang này cấm hiển thị trong trang khác qua X-Frame-Options / frame-ancestors, không thể tải trong thanh bên. Mở trực tiếp trong trình duyệt',
|
|
283
|
+
browserEmbedAnyway: 'Vẫn tải',
|
|
284
|
+
subagent: 'Quản lý tác vụ',
|
|
285
|
+
openSubagent: 'Quản lý tác vụ',
|
|
286
|
+
subagentMainAgent: 'Tác nhân chính',
|
|
287
|
+
subagentEmpty: 'Không có tác nhân con',
|
|
288
|
+
subagentEmptyDesc: 'Tác nhân con do tác nhân chính tạo ra sẽ hiển thị ở đây',
|
|
289
|
+
subagentRunning: 'Đang chạy',
|
|
290
|
+
subagentInactive: 'Nghỉ',
|
|
291
|
+
subagentModeOneShot: 'Một lần',
|
|
292
|
+
subagentModeContinuable: 'Có thể tiếp tục',
|
|
293
|
+
subagentCount: '{count} tác nhân con',
|
|
294
|
+
subagentCountRunning: '{count} tác nhân con · {running} đang chạy',
|
|
295
|
+
subagentDiagCorrupt: 'Bị hỏng',
|
|
296
|
+
subagentDiagUnsupported: 'Không hỗ trợ',
|
|
297
|
+
subagentDiagUnavailable: 'Không khả dụng',
|
|
298
|
+
subagentThinking: 'Đang suy nghĩ…',
|
|
299
|
+
sideChat: 'Chat bên (beta)',
|
|
300
|
+
sideChatNew: 'Luồng mới',
|
|
301
|
+
sideChatUntitled: 'Luồng mới',
|
|
302
|
+
sideChatEmpty: 'Không có cuộc trò chuyện bên',
|
|
303
|
+
sideChatEmptyDesc: 'Mỗi cuộc trò chuyện bên là một Tab riêng trong thanh tab, kế thừa ngữ cảnh phiên hiện tại, không vào phiên chính',
|
|
304
|
+
sideChatCreating: 'Đang tạo cuộc trò chuyện bên…',
|
|
305
|
+
sideChatRetry: 'Thử lại',
|
|
306
|
+
sideChatThreads: 'Chuyển luồng / mới',
|
|
307
|
+
sideChatSave: 'Lưu thành phiên mới',
|
|
308
|
+
sideChatSaveTitle: 'Nâng luồng này thành phiên cấp cao nhất, xuất hiện trong danh sách phiên chính',
|
|
309
|
+
sideChatSaved: 'Đã lưu thành phiên mới',
|
|
310
|
+
sideChatNoTurn: 'Cần hoàn thành ít nhất một vòng trò chuyện trước khi lưu',
|
|
311
|
+
sideChatPendingDrop: 'Tin nhắn theo dõi chưa hoàn thành cuối cùng sẽ không được đưa vào phiên đã lưu',
|
|
312
|
+
sideChatFirstPlaceholder: 'Hỏi câu đầu tiên — ngữ cảnh đã kế thừa…',
|
|
313
|
+
sideChatComposerPlaceholder: 'Hỏi tiếp…',
|
|
314
|
+
sideChatThinking: 'Đang đào sâu…',
|
|
315
|
+
sideChatThink: 'Suy nghĩ',
|
|
316
|
+
sideChatInjection: 'Đã tiêm ngữ cảnh',
|
|
317
|
+
sideChatSend: 'Gửi',
|
|
318
|
+
sideChatCancel: 'Dừng',
|
|
319
|
+
sideChatCancelTitle: 'Hủy vòng hiện tại (giữ hàng đợi)',
|
|
320
|
+
sideChatClose: 'Đóng luồng',
|
|
321
|
+
sideChatCloseTitle: 'Giải phóng agent của luồng (lịch sử được giữ)',
|
|
322
|
+
sideChatError: 'Lỗi chat bên: {message}',
|
|
323
|
+
jobs: 'Tác vụ nền',
|
|
324
|
+
jobsCount: '{count} tác vụ nền',
|
|
325
|
+
jobsCountRunning: '{count} tác vụ nền · {running} đang chạy',
|
|
326
|
+
jobStatusRunning: 'Đang chạy',
|
|
327
|
+
jobStatusStopping: 'Đang dừng',
|
|
328
|
+
jobStatusCompleted: 'Đã hoàn thành',
|
|
329
|
+
jobStatusKilled: 'Đã hủy',
|
|
330
|
+
jobStatusFailed: 'Thất bại',
|
|
331
|
+
jobDurationSeconds: '{seconds}s',
|
|
332
|
+
jobDurationMinutes: '{minutes}m {seconds}s',
|
|
333
|
+
jobDurationHours: '{hours}h {minutes}m',
|
|
334
|
+
jobViewOutput: 'Xem đầu ra',
|
|
335
|
+
jobHideOutput: 'Ẩn đầu ra',
|
|
336
|
+
jobNoOutput: 'Chưa có đầu ra',
|
|
337
|
+
jobNotReadYet: 'Đang chờ mô hình đọc đầu ra tác vụ này (sau khi mô hình chạy job_output, đầu ra sẽ hiển thị ở đây)',
|
|
338
|
+
jobOutputTruncated: 'Đầu ra quá dài, đã cắt bớt',
|
|
339
|
+
jobOutputError: 'Đọc đầu ra thất bại',
|
|
340
|
+
jobKill: 'Hủy',
|
|
341
|
+
jobKillConfirm: 'Nhấp lại để xác nhận hủy',
|
|
342
|
+
jobKillError: 'Hủy thất bại',
|
|
343
|
+
addPluginsTabCard: 'Thêm plugin tab',
|
|
344
|
+
addPluginsTabCardDesc: 'Đăng ký trang thanh bên mới',
|
|
345
|
+
addPluginsViewerCard: 'Thêm plugin xem trước',
|
|
346
|
+
addPluginsViewerCardDesc: 'Đăng ký xem trước loại tệp mới',
|
|
347
|
+
addPluginsTabDesc: 'Trang thanh bên (tab) có thể mở rộng qua plugin. Plugin đăng ký qua service ctx.betterSidebar; nhấp «Cài đặt» để sao chép lệnh cài, dán vào terminal nơi DSH chạy rồi thực thi.',
|
|
348
|
+
addPluginsViewerDesc: 'Trình xem tệp có thể mở rộng qua plugin. Plugin đăng ký qua service ctx.betterSidebar; nhấp «Cài đặt» để sao chép lệnh cài, dán vào terminal nơi DSH chạy rồi thực thi.',
|
|
349
|
+
addPluginsBrowseMore: 'Duyệt thêm plugin trên GitHub (topic: dsh-coding-sidebar)',
|
|
350
|
+
addPluginsSearch: 'Tìm theo tên / mô tả plugin…',
|
|
351
|
+
addPluginsNoMatch: 'Không có plugin phù hợp',
|
|
352
|
+
addPluginsRecommended: 'Plugin đề xuất',
|
|
353
|
+
addPluginsEmpty: 'Chưa có plugin nào, hoan nghênh bạn publish plugin dưới GitHub topic',
|
|
354
|
+
openPlugin: 'Mở',
|
|
355
|
+
copyInstall: 'Sao chép lệnh cài',
|
|
356
|
+
pluginOfficeDesc: 'Xem trước bộ Office (.docx / .xlsx / .pptx) cho trình soạn thảo dsh-coding-sidebar, tách thư viện render Office nặng ra khỏi bundle chính, cài theo nhu cầu',
|
|
357
|
+
pluginFlowglassDesc: 'Biểu đồ luồng phiên theo thời gian thực: ba lane cho user, assistant và tool call, hỗ trợ nhóm song song, nhánh tác nhân con, drill-down từng lớp và trạng thái trực tiếp; sau khi cài dsh-coding-sidebar đăng ký tab «Flowglass» native, khi chưa cài giữ drawer riêng',
|
|
358
|
+
pluginGitForgeDesc: 'Tab «Git Forge» của dsh-coding-sidebar: kho tài khoản GitHub/Gitea và Forge khác + cấp quyền theo project + chặn cứng chính sách push; token chỉ lưu secrets cục bộ, không vào ngữ cảnh mô hình; cung cấp công cụ GitForge chỉ đọc và HTTPS credential helper cho agent',
|
|
359
|
+
pluginGitRemotesDesc: 'Tab Git Remotes của dsh-coding-sidebar: xem branch/upstream/ahead-behind, fetch (có thể prune), pull ff-only, push chỉ sau khi xác nhận trong tab. Không thay thế tab stage/commit Git built-in, cũng không cung cấp force-push hay công cụ auto-push cho mô hình',
|
|
360
|
+
pluginSentinelDesc: 'Hệ thống đánh thức agent theo điều kiện: cảm biến file/process/port/HTTP/command/webhook, khi điều kiện đạt sẽ tự đánh thức phiên ngủ; đăng ký tab «Sentinel» hiển thị bảng giám sát toàn server',
|
|
361
|
+
pluginSidebarQaDesc: 'Tab chọn-đoạn-hỏi dựa trên dsh-coding-sidebar: chọn văn bản trò chuyện → hỏi ở panel phải → phiên theo dõi riêng trong cùng workspace (❓ theo dõi · chủ đề): mô hình nhanh không suy nghĩ nén ngữ cảnh chat chính rồi tiêm cùng trích dẫn, không gián đoạn chat chính; theo dõi có thể lồng nhau, tiếp tục, lưu trữ',
|
|
362
|
+
pluginSshTunnelDesc: 'Tab «SSH Tunnel» của dsh-coding-sidebar: danh sách máy đa host + cấp quyền theo project + khóa lưu cục bộ; công cụ mô hình SSHManager (exec/SFTP/chiến lược phiên); terminal tương tác trung tâm và SFTP hai pane',
|
|
363
|
+
pluginTurnReviewDesc: 'Cổng duyệt người cho diff «vừa rồi»: Approve / Request changes theo path kèm comment tùy chọn; path nhóm theo phiên chính / tác nhân con / không rõ nguồn; nhấp file xem diff snapshot đầu vòng vs hiện tại. Không fork, không /rewind',
|
|
364
|
+
pluginVideoPreviewDesc: 'Xem trước video inline trong trình soạn thảo dsh-coding-sidebar (.mp4/.webm/.mov/.mkv/.avi v.v.), có route host /video hỗ trợ HTTP Range (206), có thể tua tiến độ, không bị giới hạn mediaLimit 20MB',
|
|
365
|
+
pluginDocsPanelDesc: '«Tài liệu toàn cục» trong thanh bên DSH: ghi chú Markdown toàn cục, đọc từ bất kỳ workspace nào — danh sách chọn để đọc, outline hover để nhảy, mở ngoài trong Chrome / VS Code, sao chép code, thư mục cấu hình được (mặc định ~/.dsh/docs)',
|
|
366
|
+
pluginEgoBrowserDesc: 'Trình duyệt agent cho DeepSeek Harness: 32 công cụ ego_* điều khiển Chromium thật; tab «ego browser» gốc trong thanh bên hiển thị trực tiếp mọi trang agent truy cập — bạn có thể bấm, kéo và gõ để tiếp quản. Tự động đăng ký tab khi có dsh-coding-sidebar, nếu không thì rơi về bong bóng nổi',
|
|
367
|
+
}
|