From a6b777130bfa44ff696d97b615a7dae90dbe86ea Mon Sep 17 00:00:00 2001 From: code-crusher Date: Thu, 15 Jan 2026 12:49:40 +0530 Subject: [PATCH 1/3] cleanup --- .../src/main/resources/icons/matterai-ic.png | Bin 7490 -> 5545 bytes .../src/main/resources/icons/matterai-ic.svg | 14 +- src/assets/icons/matterai-ic.png | Bin 7490 -> 5545 bytes src/assets/icons/matterai-ic.svg | 14 +- src/core/task/Task.ts | 9 + .../webview/__tests__/skipPatterns.spec.ts | 472 ++++++++++++++++++ src/core/webview/webviewMessageHandler.ts | 386 +++++++++++++- src/package.json | 2 +- src/services/chat-memory/MemoryManager.ts | 11 +- src/shared/ExtensionMessage.ts | 7 +- src/shared/WebviewMessage.ts | 3 + webview-ui/src/components/chat/ChatRow.tsx | 2 +- .../src/components/chat/CommandExecution.tsx | 2 +- .../kilocode/chat/LowCreditWarning.tsx | 2 +- .../src/components/memories/MemoriesView.tsx | 36 +- webview-ui/src/i18n/locales/en/memories.json | 3 +- 16 files changed, 911 insertions(+), 52 deletions(-) create mode 100644 src/core/webview/__tests__/skipPatterns.spec.ts diff --git a/jetbrains/plugin/src/main/resources/icons/matterai-ic.png b/jetbrains/plugin/src/main/resources/icons/matterai-ic.png index 271e2f9ba092805a1c2d257e0f16ab27231ef33e..255fba55b71b1b61fd11115a73405245eb86e6ce 100644 GIT binary patch literal 5545 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 NM9+;4Kf_!l{6AAfpZov- literal 7490 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 - - + + + - - - - + + + + diff --git a/src/assets/icons/matterai-ic.png b/src/assets/icons/matterai-ic.png index 271e2f9ba092805a1c2d257e0f16ab27231ef33e..255fba55b71b1b61fd11115a73405245eb86e6ce 100644 GIT binary patch literal 5545 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 NM9+;4Kf_!l{6AAfpZov- literal 7490 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 - - + + + - - - - + + + + diff --git a/src/core/task/Task.ts b/src/core/task/Task.ts index c105832a82..049138cd1c 100644 --- a/src/core/task/Task.ts +++ b/src/core/task/Task.ts @@ -1015,6 +1015,15 @@ export class Task extends EventEmitter implements TaskLike { return } + // If user rejects a tool/command, don't enqueue the feedback text as a new message + // The feedback is already handled by the tool rejection logic + if (askResponse === "noButtonClicked") { + this.askResponseText = text + this.askResponseImages = images + this.askResponse = askResponse + return + } + // this.askResponse = askResponse kilocode_change this.askResponseText = text this.askResponseImages = images diff --git a/src/core/webview/__tests__/skipPatterns.spec.ts b/src/core/webview/__tests__/skipPatterns.spec.ts new file mode 100644 index 0000000000..01159dad81 --- /dev/null +++ b/src/core/webview/__tests__/skipPatterns.spec.ts @@ -0,0 +1,472 @@ +/** + * Tests for code review skip patterns + */ +import { describe, it, expect } from "vitest" + +// Import the skip patterns and shouldSkipFile function +// Note: These are defined in webviewMessageHandler.ts, so we need to test them indirectly +// or extract them to a separate module for better testability + +describe("Code Review Skip Patterns", () => { + // For now, we'll test the patterns directly + // In a real implementation, these should be exported from a separate module + + const skipPatterns = [ + // Package managers + /package-lock\.json$/, + /\.env$/, + /\.vscodeignore$/, + /Makefile$/, + /\.md$/, + /\.mdx$/, + /\.json$/, + /yarn\.lock$/, + /pnpm-lock\.yaml$/, + /Podfile\.lock$/, + /Gemfile\.lock$/, + /composer\.lock$/, + /cargo\.lock$/, + /poetry\.lock$/, + /Pipfile\.lock$/, + /project\.assets\.json$/, + /packages\.lock\.json$/, + /npm-shrinkwrap\.json$/, + /bun\.lockb$/, + + /\.firebaserc$/, + /firebase\.json$/, + /\.prettierrc\.json$/, + /\.npmrc$/, + /config-overrides\.js$/, + /jsconfig\.json$/, + /robots\.txt$/, + + // Build directories + /\/dist\//, + /\/build\//, + /\/\.next\//, + /\/node_modules\//, + /\/out\//, + /\/\.gradle\//, + /\/\.dart_tool\//, + /\/\.pub-cache\//, + /\/\.pub\//, + /\/\.nuxt\//, + /\/\.output\//, + /\/target\//, + /\/bin\//, + /\/obj\//, + /\/\.venv\//, + /\/venv\//, + /\/env\//, + /\/__pycache__\//, + /\/\.pytest_cache\//, + /\/\.tox\//, + /\/\.eggs\//, + /\/\.bundle\//, + /\/vendor\//, + + // Minified files + /\.min\.js$/, + /\.min\.css$/, + /\.bundle\.js$/, + /\.bundle\.css$/, + + // iOS/Xcode + /\.pbxproj$/, + /\.xcworkspacedata$/, + /\.xcscheme$/, + /\.xcuserstate$/, + /\.plist$/, + /\.nib$/, + /\.storyboardc$/, + + // Android + /\.apk$/, + /\.aab$/, + /R\.java$/, + /BuildConfig\.java$/, + /\.iml$/, + /\.aar$/, + /\.dex$/, + + // Flutter + /\.g\.dart$/, + /\.freezed\.dart$/, + /flutter_export_environment\.sh$/, + /Flutter\.podspec$/, + + // Generated files + /\/generated\//, + /\/\.generated\//, + /\/\.gen\//, + /\/auto-generated\//, + /\.designer\./, + /\.Designer\./, + + // Config and metadata files + /\.DS_Store$/, + /Thumbs\.db$/, + /desktop\.ini$/, + /\/\.idea\//, + /\/\.vscode\//, + /\/\.vs\//, + /\.project$/, + /\.classpath$/, + /\/\.settings\//, + /\.editorconfig$/, + /\.gitattributes$/, + /\/\.gitignore\//, + /\/\.vercel\//, + /\/netlify\//, + + // Compiled binaries + /\.so$/, + /\.dylib$/, + /\.dll$/, + /\.class$/, + /\.pyc$/, + /\.pyo$/, + /\.o$/, + /\.obj$/, + /\.a$/, + /\.lib$/, + /\.exe$/, + /\.pdb$/, + /\.ilk$/, + /\.map$/, + /\.jar$/, + /\.war$/, + /\.ear$/, + + /prometheus\.yml$/, + /grafana\.yml$/, + /grafana-dashboard\.yml$/, + + // Filter all files with .cursor in their path + /\/\.cursor\//, + /\/\.github\//, + + // Go files + /\.pb\.go$/, + /\.pb\.gw\.go$/, + /\.gen\.go$/, + /mock_.+\.go$/, + /_string\.go$/, + /go\.sum$/, + /go\.mod$/, + /\.go\.orig$/, + + // API specs + /swagger\.json$/, + /swagger\.yaml$/, + /swagger\.yml$/, + /openapi\.json$/, + /openapi\.yaml$/, + /openapi\.yml$/, + + // Properties and config files + /buildconfig\.properties$/, + /application\.properties$/, + /application\.yml$/, + /application-.*\.properties$/, + /application-.*\.yml$/, + /\.config$/, + /\.conf$/, + /\.ini$/, + /\.toml$/, + /\.png$/, + /\.jpg$/, + /\.jpeg$/, + /\.gif$/, + /\.bmp$/, + /\.webp$/, + /\.svg$/, + /\.ico$/, + /\.tiff$/, + /\.tif$/, + /\.mp4$/, + /\.mp3$/, + /\.wav$/, + /\.ogg$/, + /\.mov$/, + /\.avi$/, + /\.wmv$/, + /\.flv$/, + /\.mkv$/, + /\.pdf$/, + /\.zip$/, + /\.tar$/, + /\.gz$/, + /\.rar$/, + /\.7z$/, + /\.exe$/, + /\.dll$/, + /\.bin$/, + /\.so$/, + /\.dylib$/, + /\.jar$/, + /\.wasm$/, + /\.psd$/, + /\.ai$/, + /\.eps$/, + /\.ttf$/, + /\.woff$/, + /\.woff2$/, + /\.eot$/, + /\.otf$/, + /\.apk$/, + /\.ipa$/, + /\.dmg$/, + /\.iso$/, + /\.csv$/, + + // Data files, datasets, and dumps + /\.tsv$/, + /\.psv$/, + /\.xlsx$/, + /\.xls$/, + /\.xlsm$/, + /\.xlsb$/, + /\.ods$/, + /\.sql$/, + /\.dump$/, + /\.dmp$/, + /\.sqlite$/, + /\.sqlite3$/, + /\.db$/, + /\.db3$/, + /\.psql$/, + /\.pgsql$/, + /\.parquet$/, + /\.avro$/, + /\.feather$/, + /\.orc$/, + /\.rds$/, + /\.rdata$/, + + // Log and temporary artifacts + /\.log(\.[\w.-]+)?$/, + /\.tmp$/, + /\.temp$/, + /\.bak$/, + /\.backup$/, + /\.swp$/, + /\.swo$/, + /\.swn$/, + /\.orig$/, + /\.rej$/, + /\.diff$/, + /\.patch$/, + + // Archive and binary blobs + /\.tgz$/, + /\.bz2$/, + /\.xz$/, + /\.lz4$/, + + // Coverage, cache, and artifact directories + /\/coverage\//, + /\/reports?\//, + /\/artifacts?\//, + /\/test-output\//, + /\/build-output\//, + /\/build-artifacts\//, + /\/\.nyc_output\//, + /\/\.cache\//, + /\/\.sass-cache\//, + /\/logs\//, + /\/log\//, + /\/tmp\//, + /\/temp\//, + ] + + function shouldSkipFile(filePath: string): boolean { + const normalizedPath = filePath.replace(/\\/g, "/") + for (const pattern of skipPatterns) { + if (pattern.test(normalizedPath)) { + return true + } + } + return false + } + + describe("Package manager files", () => { + it("should skip package-lock.json", () => { + expect(shouldSkipFile("package-lock.json")).toBe(true) + }) + + it("should skip yarn.lock", () => { + expect(shouldSkipFile("yarn.lock")).toBe(true) + }) + + it("should skip pnpm-lock.yaml", () => { + expect(shouldSkipFile("pnpm-lock.yaml")).toBe(true) + }) + + it("should skip .env files", () => { + expect(shouldSkipFile(".env")).toBe(true) + expect(shouldSkipFile(".env.local")).toBe(true) + expect(shouldSkipFile(".env.production")).toBe(true) + }) + }) + + describe("Build directories", () => { + it("should skip files in dist directory", () => { + expect(shouldSkipFile("dist/index.js")).toBe(true) + expect(shouldSkipFile("src/dist/file.js")).toBe(true) + }) + + it("should skip files in build directory", () => { + expect(shouldSkipFile("build/index.js")).toBe(true) + expect(shouldSkipFile("src/build/file.js")).toBe(true) + }) + + it("should skip files in node_modules", () => { + expect(shouldSkipFile("node_modules/react/index.js")).toBe(true) + expect(shouldSkipFile("src/node_modules/package/index.js")).toBe(true) + }) + + it("should skip files in .next directory", () => { + expect(shouldSkipFile(".next/static/chunks/main.js")).toBe(true) + }) + }) + + describe("Markdown and documentation", () => { + it("should skip .md files", () => { + expect(shouldSkipFile("README.md")).toBe(true) + expect(shouldSkipFile("docs/api.md")).toBe(true) + }) + + it("should skip .mdx files", () => { + expect(shouldSkipFile("blog/post.mdx")).toBe(true) + }) + }) + + describe("Config files", () => { + it("should skip .vscode directory", () => { + expect(shouldSkipFile(".vscode/settings.json")).toBe(true) + }) + + it("should skip .idea directory", () => { + expect(shouldSkipFile(".idea/workspace.xml")).toBe(true) + }) + + it("should skip .DS_Store", () => { + expect(shouldSkipFile(".DS_Store")).toBe(true) + }) + }) + + describe("Minified files", () => { + it("should skip .min.js files", () => { + expect(shouldSkipFile("bundle.min.js")).toBe(true) + }) + + it("should skip .min.css files", () => { + expect(shouldSkipFile("styles.min.css")).toBe(true) + }) + }) + + describe("Binary and media files", () => { + it("should skip image files", () => { + expect(shouldSkipFile("image.png")).toBe(true) + expect(shouldSkipFile("photo.jpg")).toBe(true) + expect(shouldSkipFile("icon.svg")).toBe(true) + }) + + it("should skip video files", () => { + expect(shouldSkipFile("video.mp4")).toBe(true) + expect(shouldSkipFile("movie.mov")).toBe(true) + }) + + it("should skip audio files", () => { + expect(shouldSkipFile("audio.mp3")).toBe(true) + expect(shouldSkipFile("sound.wav")).toBe(true) + }) + + it("should skip PDF files", () => { + expect(shouldSkipFile("document.pdf")).toBe(true) + }) + + it("should skip archive files", () => { + expect(shouldSkipFile("archive.zip")).toBe(true) + expect(shouldSkipFile("backup.tar.gz")).toBe(true) + }) + }) + + describe("Go files", () => { + it("should skip generated Go files", () => { + expect(shouldSkipFile("api.pb.go")).toBe(true) + expect(shouldSkipFile("api.pb.gw.go")).toBe(true) + expect(shouldSkipFile("mock_api.gen.go")).toBe(true) + }) + + it("should skip go.sum and go.mod", () => { + expect(shouldSkipFile("go.sum")).toBe(true) + expect(shouldSkipFile("go.mod")).toBe(true) + }) + }) + + describe("API specs", () => { + it("should skip OpenAPI specs", () => { + expect(shouldSkipFile("openapi.json")).toBe(true) + expect(shouldSkipFile("openapi.yaml")).toBe(true) + expect(shouldSkipFile("swagger.json")).toBe(true) + }) + }) + + describe("Source code files should NOT be skipped", () => { + it("should not skip TypeScript files", () => { + expect(shouldSkipFile("src/index.ts")).toBe(false) + expect(shouldSkipFile("component.tsx")).toBe(false) + }) + + it("should not skip JavaScript files", () => { + expect(shouldSkipFile("src/index.js")).toBe(false) + expect(shouldSkipFile("component.jsx")).toBe(false) + }) + + it("should not skip Python files", () => { + expect(shouldSkipFile("main.py")).toBe(false) + expect(shouldSkipFile("utils/helper.py")).toBe(false) + }) + + it("should not skip Go files (non-generated)", () => { + expect(shouldSkipFile("main.go")).toBe(false) + expect(shouldSkipFile("api/handler.go")).toBe(false) + }) + + it("should not skip Java files", () => { + expect(shouldSkipFile("Main.java")).toBe(false) + expect(shouldSkipFile("com/example/Service.java")).toBe(false) + }) + + it("should not skip Rust files", () => { + expect(shouldSkipFile("main.rs")).toBe(false) + expect(shouldSkipFile("lib/module.rs")).toBe(false) + }) + + it("should not skip C/C++ files", () => { + expect(shouldSkipFile("main.c")).toBe(false) + expect(shouldSkipFile("header.h")).toBe(false) + expect(shouldSkipFile("lib.cpp")).toBe(false) + }) + + it("should not skip HTML/CSS files (non-minified)", () => { + expect(shouldSkipFile("index.html")).toBe(false) + expect(shouldSkipFile("styles.css")).toBe(false) + }) + }) + + describe("Path normalization", () => { + it("should handle Windows paths", () => { + expect(shouldSkipFile("dist\\index.js")).toBe(true) + expect(shouldSkipFile("node_modules\\react\\index.js")).toBe(true) + }) + + it("should handle Unix paths", () => { + expect(shouldSkipFile("dist/index.js")).toBe(true) + expect(shouldSkipFile("node_modules/react/index.js")).toBe(true) + }) + }) +}) diff --git a/src/core/webview/webviewMessageHandler.ts b/src/core/webview/webviewMessageHandler.ts index 10367020ed..bf10ec4ca8 100644 --- a/src/core/webview/webviewMessageHandler.ts +++ b/src/core/webview/webviewMessageHandler.ts @@ -92,6 +92,302 @@ import { fetchAndRefreshOrganizationModesOnStartup, refreshOrganizationModes } f import { ImplementPlanPayload } from "../../shared/ExtensionMessage" // kilocode_change start: Helper functions for AI Code Review using Git API + +/** + * Skip patterns for AI code review - files that should be excluded from review + */ +const skipPatterns = [ + // Package managers + /package-lock\.json$/, + /\.env$/, + /\.vscodeignore$/, + /Makefile$/, + /\.md$/, + /\.mdx$/, + /\.json$/, + /yarn\.lock$/, + /pnpm-lock\.yaml$/, + /Podfile\.lock$/, + /Gemfile\.lock$/, + /composer\.lock$/, + /cargo\.lock$/, + /poetry\.lock$/, + /Pipfile\.lock$/, + /project\.assets\.json$/, + /packages\.lock\.json$/, + /npm-shrinkwrap\.json$/, + /bun\.lockb$/, + + /\.firebaserc$/, + /firebase\.json$/, + /\.prettierrc\.json$/, + /\.npmrc$/, + /config-overrides\.js$/, + /jsconfig\.json$/, + /robots\.txt$/, + + // Build directories - ALL FIXED with proper anchoring + /\/dist\//, + /\/build\//, + /\/\.next\//, + /\/node_modules\//, + /\/out\//, + /\/\.gradle\//, + /\/\.dart_tool\//, + /\/\.pub-cache\//, + /\/\.pub\//, + /\/\.nuxt\//, + /\/\.output\//, + /\/target\//, + /\/bin\//, + /\/obj\//, + /\/\.venv\//, + /\/venv\//, + /\/env\//, + /\/__pycache__\//, + /\/\.pytest_cache\//, + /\/\.tox\//, + /\/\.eggs\//, + /\/\.bundle\//, + /\/vendor\//, + + // Minified files + /\.min\.js$/, + /\.min\.css$/, + /\.bundle\.js$/, + /\.bundle\.css$/, + + // iOS/Xcode + /\.pbxproj$/, + /\.xcworkspacedata$/, + /\.xcscheme$/, + /\.xcuserstate$/, + /\.plist$/, + /\.nib$/, + /\.storyboardc$/, + + // Android + /\.apk$/, + /\.aab$/, + /R\.java$/, + /BuildConfig\.java$/, + /\.iml$/, + /\.aar$/, + /\.dex$/, + + // Flutter + /\.g\.dart$/, + /\.freezed\.dart$/, + /flutter_export_environment\.sh$/, + /Flutter\.podspec$/, + + // Generated files across frameworks - FIXED + /\/generated\//, + /\/\.generated\//, + /\/\.gen\//, + /\/auto-generated\//, + /\.designer\./, + /\.Designer\./, + + // Config and metadata files - FIXED + /\.DS_Store$/, + /Thumbs\.db$/, + /desktop\.ini$/, + /\/\.idea\//, + /\/\.vscode\//, + /\/\.vs\//, + /\.project$/, + /\.classpath$/, + /\/\.settings\//, + /\.editorconfig$/, + /\.gitattributes$/, + /\/\.gitignore\//, // Fixed but this might need to be /\.gitignore$/ if you want the file itself + /\/\.vercel\//, + /\/netlify\//, // Fixed from /\netlify/ + + // Compiled binaries + /\.so$/, + /\.dylib$/, + /\.dll$/, + /\.class$/, + /\.pyc$/, + /\.pyo$/, + /\.o$/, + /\.obj$/, + /\.a$/, + /\.lib$/, + /\.exe$/, + /\.pdb$/, + /\.ilk$/, + /\.map$/, + /\.jar$/, + /\.war$/, + /\.ear$/, + + /prometheus\.yml$/, + /grafana\.yml$/, + /grafana-dashboard\.yml$/, + + // Filter all files with .cursor in their path - FIXED + /\/\.cursor\//, + /\/\.github\//, + + // Go files + // Skip Go files generated by protoc-gen + /\.pb\.go$/, + // Skip gRPC-Gateway generated Go files + /\.pb\.gw\.go$/, + // Skip other common generated Go files + /\.gen\.go$/, + /mock_.+\.go$/, + /_string\.go$/, + /go\.sum$/, + /go\.mod$/, + /\.go\.orig$/, + + // API specs + /swagger\.json$/, + /swagger\.yaml$/, + /swagger\.yml$/, + /openapi\.json$/, + /openapi\.yaml$/, + /openapi\.yml$/, + + // Properties and config files + /buildconfig\.properties$/, + /application\.properties$/, + /application\.yml$/, + /application-.*\.properties$/, + /application-.*\.yml$/, + /\.config$/, + /\.conf$/, + /\.ini$/, + /\.toml$/, + /\.png$/, + /\.jpg$/, + /\.jpeg$/, + /\.gif$/, + /\.bmp$/, + /\.webp$/, + /\.svg$/, + /\.ico$/, + /\.tiff$/, + /\.tif$/, + /\.mp4$/, + /\.mp3$/, + /\.wav$/, + /\.ogg$/, + /\.mov$/, + /\.avi$/, + /\.wmv$/, + /\.flv$/, + /\.mkv$/, + /\.pdf$/, + /\.zip$/, + /\.tar$/, + /\.gz$/, + /\.rar$/, + /\.7z$/, + /\.exe$/, + /\.dll$/, + /\.bin$/, + /\.so$/, + /\.dylib$/, + /\.jar$/, + /\.wasm$/, + /\.psd$/, + /\.ai$/, + /\.eps$/, + /\.ttf$/, + /\.woff$/, + /\.woff2$/, + /\.eot$/, + /\.otf$/, + /\.apk$/, + /\.ipa$/, + /\.dmg$/, + /\.iso$/, + /\.csv$/, + + // Data files, datasets, and dumps + /\.tsv$/, + /\.psv$/, + /\.xlsx$/, + /\.xls$/, + /\.xlsm$/, + /\.xlsb$/, + /\.ods$/, + /\.sql$/, + /\.dump$/, + /\.dmp$/, + /\.sqlite$/, + /\.sqlite3$/, + /\.db$/, + /\.db3$/, + /\.psql$/, + /\.pgsql$/, + /\.parquet$/, + /\.avro$/, + /\.feather$/, + /\.orc$/, + /\.rds$/, + /\.rdata$/, + + // Log and temporary artifacts + /\.log(\.[\w.-]+)?$/, + /\.tmp$/, + /\.temp$/, + /\.bak$/, + /\.backup$/, + /\.swp$/, + /\.swo$/, + /\.swn$/, + /\.orig$/, + /\.rej$/, + /\.diff$/, + /\.patch$/, + + // Archive and binary blobs + /\.tgz$/, + /\.bz2$/, + /\.xz$/, + /\.lz4$/, + + // Coverage, cache, and artifact directories + /\/coverage\//, + /\/reports?\//, + /\/artifacts?\//, + /\/test-output\//, + /\/build-output\//, + /\/build-artifacts\//, + /\/\.nyc_output\//, + /\/\.cache\//, + /\/\.sass-cache\//, + /\/logs\//, + /\/log\//, + /\/tmp\//, + /\/temp\//, +] + +/** + * Check if a file should be skipped from code review based on skip patterns + * @param filePath - The file path to check (relative or absolute) + * @returns true if the file should be skipped, false otherwise + */ +function shouldSkipFile(filePath: string): boolean { + // Normalize the path to use forward slashes for consistent pattern matching + const normalizedPath = filePath.replace(/\\/g, "/") + + // Check against all skip patterns + for (const pattern of skipPatterns) { + if (pattern.test(normalizedPath)) { + return true + } + } + + return false +} + async function getGitChanges(cwd: string): Promise<{ files: any[]; gitDiff: string }> { try { const { exec } = await import("child_process") @@ -147,6 +443,12 @@ async function getGitChanges(cwd: string): Promise<{ files: any[]; gitDiff: stri for (const line of numstatLines) { const [adds, dels, filePath] = line.split("\t") if (filePath) { + // Skip files that match skip patterns + if (shouldSkipFile(filePath)) { + console.log(`[Code Review] Skipping file: ${filePath}`) + continue + } + let additions = parseInt(adds) let deletions = parseInt(dels) if (isNaN(additions)) additions = 0 @@ -192,6 +494,12 @@ async function getGitChanges(cwd: string): Promise<{ files: any[]; gitDiff: stri for (const filePath of untrackedFiles) { if (!filePath) continue + // Skip files that match skip patterns + if (shouldSkipFile(filePath)) { + console.log(`[Code Review] Skipping untracked file: ${filePath}`) + continue + } + // For untracked files, we need to count lines manually or treat as all additions // git diff --no-index /dev/null file could work, or just read file let additions = 0 @@ -223,6 +531,32 @@ async function getGitChanges(cwd: string): Promise<{ files: any[]; gitDiff: stri const { stdout } = await execAsync("git diff HEAD", { cwd }) gitDiff = stdout + // Filter out diffs for skipped files + const filteredDiffLines: string[] = [] + const lines = gitDiff.split("\n") + let currentFile: string | null = null + let includeCurrentFile = true + + for (const line of lines) { + // Check for diff file header (e.g., "diff --git a/file.ts b/file.ts") + const fileMatch = line.match(/^diff --git a\/(.+?) b\/(.+)$/) + if (fileMatch) { + currentFile = fileMatch[1] + // Check if this file should be skipped + includeCurrentFile = !shouldSkipFile(currentFile) + if (!includeCurrentFile) { + console.log(`[Code Review] Filtering diff for: ${currentFile}`) + } + } + + // Only include lines for files that are not skipped + if (includeCurrentFile) { + filteredDiffLines.push(line) + } + } + + gitDiff = filteredDiffLines.join("\n") + // If there are untracked files, we need to generate diffs for them too if we want them in the review // Ideally we construct "fake" diffs for them // The original implementation generated diffs for "A" status files from scratch @@ -992,30 +1326,29 @@ export const webviewMessageHandler = async ( break } - // Open each file with pending edits in diff view - for (const [readablePath, edit] of pendingEdits.entries()) { - try { - const fileName = path.basename(edit.absolutePath) - const fileUri = vscode.Uri.file(edit.absolutePath) + // Use VS Code's native changes view to show all files in one view + try { + const { DIFF_VIEW_URI_SCHEME } = await import("../../integrations/editor/DiffViewProvider") - // Create a URI for the original content using the diff view scheme - const originalUri = vscode.Uri.parse(`cline-diff:${fileName}`).with({ - query: Buffer.from(edit.originalContent).toString("base64"), - }) + const changes = Array.from(pendingEdits.entries()).map(([readablePath, edit]) => { + // Get the new content from the last edit (most recent change) + const lastEdit = edit.edits[edit.edits.length - 1] + const newContent = lastEdit ? lastEdit.newContent : edit.originalContent - // Open diff view between original and current content - await vscode.commands.executeCommand( - "vscode.diff", - originalUri, - fileUri, - `${fileName}: Original ↔ Axon Code's Changes`, - { preserveFocus: true }, - ) - } catch (error) { - provider.log( - `Failed to open diff for ${readablePath}: ${error instanceof Error ? error.message : "Unknown error"}`, - ) - } + return [ + vscode.Uri.file(edit.absolutePath), + vscode.Uri.parse(`${DIFF_VIEW_URI_SCHEME}:${readablePath}`).with({ + query: Buffer.from(edit.originalContent).toString("base64"), + }), + vscode.Uri.parse(`${DIFF_VIEW_URI_SCHEME}:${readablePath}`).with({ + query: Buffer.from(newContent).toString("base64"), + }), + ] + }) + + await vscode.commands.executeCommand("vscode.changes", "Axon Code: Changes Preview", changes) + } catch (error) { + provider.log(`Failed to open changes view: ${error instanceof Error ? error.message : "Unknown error"}`) } break } @@ -1624,6 +1957,15 @@ ${comment.suggestion} }) break } + case "delete_memory": { + const { MemoryManager } = await import("../../services/chat-memory/MemoryManager") + const memoryManager = new MemoryManager(provider.context.globalStorageUri.fsPath) + await memoryManager.deleteMemory(message.memoryId!) + await provider.postMessageToWebview({ + type: "memory_deleted", + }) + break + } // kilocode_change end case "checkpointRestore": { const result = checkoutRestorePayloadSchema.safeParse(message.payload) diff --git a/src/package.json b/src/package.json index 16f7800b83..93fb29a179 100644 --- a/src/package.json +++ b/src/package.json @@ -3,7 +3,7 @@ "displayName": "%extension.displayName%", "description": "%extension.description%", "publisher": "matterai", - "version": "5.2.0", + "version": "5.2.1", "icon": "assets/icons/matterai-ic.png", "galleryBanner": { "color": "#FFFFFF", diff --git a/src/services/chat-memory/MemoryManager.ts b/src/services/chat-memory/MemoryManager.ts index 22aaadf39d..3bd5eeb141 100644 --- a/src/services/chat-memory/MemoryManager.ts +++ b/src/services/chat-memory/MemoryManager.ts @@ -48,7 +48,7 @@ export class MemoryManager { } /** - * Save a new memory + * Save a new memory (replaces existing memory with same taskId) */ async saveMemory(options: MemorySaveOptions): Promise { await this.loadMemories() @@ -69,7 +69,14 @@ export class MemoryManager { mode, } - this.memories.push(memory) + // Remove existing memory with same taskId (replace instead of append) + const existingIndex = this.memories.findIndex((m) => m.taskId === taskId) + if (existingIndex !== -1) { + this.memories[existingIndex] = memory + } else { + this.memories.push(memory) + } + await this.saveMemories() } diff --git a/src/shared/ExtensionMessage.ts b/src/shared/ExtensionMessage.ts index b5b4bc13dc..553ace2634 100644 --- a/src/shared/ExtensionMessage.ts +++ b/src/shared/ExtensionMessage.ts @@ -156,9 +156,10 @@ export interface ExtensionMessage { | "dismissedUpsells" | "showTimestamps" // kilocode_change | "organizationSwitchResult" - | "implementPlan" // kilocode_change: Plan mode implementation - | "showToast" // kilocode_change - | "memories_response" // kilocode_change: Chat memories response + | "implementPlan" + | "showToast" + | "memories_response" + | "memory_deleted" text?: string // kilocode_change start payload?: diff --git a/src/shared/WebviewMessage.ts b/src/shared/WebviewMessage.ts index e6b09530b3..6f185be43a 100644 --- a/src/shared/WebviewMessage.ts +++ b/src/shared/WebviewMessage.ts @@ -325,6 +325,8 @@ export interface WebviewMessage { | "showToast" // kilocode_change | "get_memories" // kilocode_change: Chat memories | "memories_response" // kilocode_change: Chat memories response + | "delete_memory" // kilocode_change: Delete memory + | "memory_deleted" // kilocode_change: Memory deleted response // kilocode_change end text?: string editedMessageContent?: string @@ -396,6 +398,7 @@ export interface WebviewMessage { organizationId?: string | null // For organization switching showAllWorkspaces?: boolean // kilocode_change: For get_memories memories?: MemoryItem[] // kilocode_change: For memories_response + memoryId?: string // kilocode_change: For delete_memory codeIndexSettings?: { // Global state settings codebaseIndexEnabled: boolean diff --git a/webview-ui/src/components/chat/ChatRow.tsx b/webview-ui/src/components/chat/ChatRow.tsx index b06def179a..e59c87b4a7 100644 --- a/webview-ui/src/components/chat/ChatRow.tsx +++ b/webview-ui/src/components/chat/ChatRow.tsx @@ -1320,7 +1320,7 @@ export const ChatRowContent = ({ e.preventDefault() vscode.postMessage({ type: "openInBrowser", - url: "https://app.matterai.so/billing", + url: "https://app.matterai.so/billing?tab=axon-code", }) }} style={{ diff --git a/webview-ui/src/components/chat/CommandExecution.tsx b/webview-ui/src/components/chat/CommandExecution.tsx index bb1119403a..53ea6161d7 100644 --- a/webview-ui/src/components/chat/CommandExecution.tsx +++ b/webview-ui/src/components/chat/CommandExecution.tsx @@ -255,7 +255,7 @@ const OutputContainerInternal = ({ isExpanded, output }: { isExpanded: boolean;
{output.length > 0 && }
diff --git a/webview-ui/src/components/kilocode/chat/LowCreditWarning.tsx b/webview-ui/src/components/kilocode/chat/LowCreditWarning.tsx index f5458be008..c037614763 100644 --- a/webview-ui/src/components/kilocode/chat/LowCreditWarning.tsx +++ b/webview-ui/src/components/kilocode/chat/LowCreditWarning.tsx @@ -75,7 +75,7 @@ export const LowCreditWarning = ({ vscode.postMessage({ type: "openInBrowser", - url: "https://app.matterai.so/billing", + url: "https://app.matterai.so/billing?tab=axon-code", }) }}> {t("kilocode:lowCreditWarning.addCredit")} diff --git a/webview-ui/src/components/memories/MemoriesView.tsx b/webview-ui/src/components/memories/MemoriesView.tsx index 1d37786eab..db2b9b02c2 100644 --- a/webview-ui/src/components/memories/MemoriesView.tsx +++ b/webview-ui/src/components/memories/MemoriesView.tsx @@ -34,12 +34,18 @@ const MemoriesView = ({ onDone }: MemoriesViewProps) => { if (message.type === "memories_response") { setMemories(message.memories || []) setLoading(false) + } else if (message.type === "memory_deleted") { + // Refresh memories after deletion + vscode.postMessage({ + type: "get_memories", + showAllWorkspaces, + }) } } window.addEventListener("message", handleMessage) return () => window.removeEventListener("message", handleMessage) - }, []) + }, [showAllWorkspaces]) // Filter memories by search query const filteredMemories = memories.filter((memory) => { @@ -64,6 +70,14 @@ const MemoriesView = ({ onDone }: MemoriesViewProps) => { return content.substring(0, maxLength) + "..." } + // Handle delete memory + const handleDeleteMemory = (memoryId: string) => { + vscode.postMessage({ + type: "delete_memory", + memoryId, + }) + } + return ( @@ -135,11 +149,21 @@ const MemoriesView = ({ onDone }: MemoriesViewProps) => {

{memory.taskTitle || t("memories:untitled")}

- {memory.mode && ( - - {memory.mode} - - )} +
+ {memory.mode && ( + + {memory.mode} + + )} + +
diff --git a/webview-ui/src/i18n/locales/en/memories.json b/webview-ui/src/i18n/locales/en/memories.json index 12db13e365..3db0c4fa47 100644 --- a/webview-ui/src/i18n/locales/en/memories.json +++ b/webview-ui/src/i18n/locales/en/memories.json @@ -8,5 +8,6 @@ "count": "{{count}} memories", "currentWorkspace": "Current Workspace", "allWorkspaces": "All Workspaces", - "untitled": "Untitled" + "untitled": "Untitled", + "delete": "Delete memory" } From f63e6485d336972dec8fa68d5fe6b08e6ad94d29 Mon Sep 17 00:00:00 2001 From: code-crusher Date: Thu, 15 Jan 2026 12:59:57 +0530 Subject: [PATCH 2/3] Fix: Don't queue messages after rejecting exec_cmd tool When rejecting a tool/command (like exec_cmd), the sendingDisabled state was being set to true, which caused subsequent messages to be queued instead of sent directly. This fix excludes tool/command rejection cases from setting sendingDisabled, allowing normal message flow after rejection. --- webview-ui/src/components/chat/ChatView.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/webview-ui/src/components/chat/ChatView.tsx b/webview-ui/src/components/chat/ChatView.tsx index e69a2eb484..20d4037a4e 100644 --- a/webview-ui/src/components/chat/ChatView.tsx +++ b/webview-ui/src/components/chat/ChatView.tsx @@ -865,8 +865,15 @@ const ChatViewComponent: React.ForwardRefRenderFunction Date: Thu, 15 Jan 2026 13:19:08 +0530 Subject: [PATCH 3/3] i18n: update translations and add memories locale files - Update translations across all supported languages - Add new memories.json locale files for webview-ui - Update documentation for browser-use and custom-modes features - Remove deprecated changeset-release workflow - Update terminal command generator tests --- .github/workflows/changeset-release.yml | 148 ------------------ .../docs/features/browser-use.md | 2 +- .../docs/features/custom-modes.md | 2 +- src/i18n/locales/ar/kilocode.json | 32 ++-- src/i18n/locales/ca/kilocode.json | 26 +-- src/i18n/locales/cs/kilocode.json | 26 +-- src/i18n/locales/de/kilocode.json | 26 +-- src/i18n/locales/en/kilocode.json | 26 +-- src/i18n/locales/es/kilocode.json | 26 +-- src/i18n/locales/hi/kilocode.json | 26 +-- src/i18n/locales/id/kilocode.json | 26 +-- src/i18n/locales/it/kilocode.json | 26 +-- src/i18n/locales/ja/kilocode.json | 24 +-- src/i18n/locales/ko/kilocode.json | 26 +-- src/i18n/locales/nl/kilocode.json | 26 +-- src/i18n/locales/pl/kilocode.json | 26 +-- src/i18n/locales/pt-BR/kilocode.json | 26 +-- src/i18n/locales/ru/kilocode.json | 26 +-- src/i18n/locales/th/kilocode.json | 26 +-- src/i18n/locales/tr/kilocode.json | 26 +-- src/i18n/locales/uk/kilocode.json | 26 +-- src/i18n/locales/vi/kilocode.json | 26 +-- src/i18n/locales/zh-CN/kilocode.json | 6 +- src/i18n/locales/zh-TW/kilocode.json | 2 +- src/package.nls.ar.json | 3 +- src/package.nls.ca.json | 3 +- src/package.nls.cs.json | 3 +- src/package.nls.de.json | 3 +- src/package.nls.es.json | 3 +- src/package.nls.fr.json | 3 +- src/package.nls.hi.json | 3 +- src/package.nls.id.json | 3 +- src/package.nls.it.json | 3 +- src/package.nls.ja.json | 3 +- src/package.nls.ko.json | 3 +- src/package.nls.nl.json | 3 +- src/package.nls.pl.json | 3 +- src/package.nls.pt-BR.json | 3 +- src/package.nls.ru.json | 3 +- src/package.nls.th.json | 3 +- src/package.nls.tr.json | 3 +- src/package.nls.uk.json | 3 +- src/package.nls.vi.json | 3 +- src/package.nls.zh-CN.json | 3 +- src/package.nls.zh-TW.json | 3 +- .../terminalCommandGenerator.spec.ts | 4 +- webview-ui/src/i18n/locales/ar/kilocode.json | 7 +- webview-ui/src/i18n/locales/ar/memories.json | 13 ++ webview-ui/src/i18n/locales/ar/settings.json | 3 +- webview-ui/src/i18n/locales/ca/kilocode.json | 7 +- webview-ui/src/i18n/locales/ca/memories.json | 13 ++ webview-ui/src/i18n/locales/ca/settings.json | 3 +- webview-ui/src/i18n/locales/cs/kilocode.json | 7 +- webview-ui/src/i18n/locales/cs/memories.json | 13 ++ webview-ui/src/i18n/locales/cs/settings.json | 3 +- webview-ui/src/i18n/locales/de/kilocode.json | 7 +- webview-ui/src/i18n/locales/de/memories.json | 13 ++ webview-ui/src/i18n/locales/de/settings.json | 3 +- webview-ui/src/i18n/locales/es/kilocode.json | 7 +- webview-ui/src/i18n/locales/es/memories.json | 13 ++ webview-ui/src/i18n/locales/es/settings.json | 3 +- webview-ui/src/i18n/locales/fr/kilocode.json | 7 +- webview-ui/src/i18n/locales/fr/memories.json | 13 ++ webview-ui/src/i18n/locales/fr/settings.json | 3 +- webview-ui/src/i18n/locales/hi/kilocode.json | 7 +- webview-ui/src/i18n/locales/hi/memories.json | 13 ++ webview-ui/src/i18n/locales/hi/settings.json | 3 +- webview-ui/src/i18n/locales/id/kilocode.json | 7 +- webview-ui/src/i18n/locales/id/memories.json | 13 ++ webview-ui/src/i18n/locales/id/settings.json | 3 +- webview-ui/src/i18n/locales/it/kilocode.json | 7 +- webview-ui/src/i18n/locales/it/memories.json | 13 ++ webview-ui/src/i18n/locales/it/settings.json | 3 +- webview-ui/src/i18n/locales/ja/kilocode.json | 7 +- webview-ui/src/i18n/locales/ja/memories.json | 13 ++ webview-ui/src/i18n/locales/ja/settings.json | 3 +- webview-ui/src/i18n/locales/ko/kilocode.json | 7 +- webview-ui/src/i18n/locales/ko/memories.json | 13 ++ webview-ui/src/i18n/locales/ko/settings.json | 3 +- webview-ui/src/i18n/locales/nl/kilocode.json | 7 +- webview-ui/src/i18n/locales/nl/memories.json | 13 ++ webview-ui/src/i18n/locales/nl/settings.json | 3 +- webview-ui/src/i18n/locales/pl/kilocode.json | 7 +- webview-ui/src/i18n/locales/pl/memories.json | 13 ++ webview-ui/src/i18n/locales/pl/settings.json | 3 +- .../src/i18n/locales/pt-BR/kilocode.json | 7 +- .../src/i18n/locales/pt-BR/memories.json | 13 ++ .../src/i18n/locales/pt-BR/settings.json | 3 +- webview-ui/src/i18n/locales/ru/kilocode.json | 7 +- webview-ui/src/i18n/locales/ru/memories.json | 13 ++ webview-ui/src/i18n/locales/ru/settings.json | 3 +- webview-ui/src/i18n/locales/th/kilocode.json | 7 +- webview-ui/src/i18n/locales/th/memories.json | 13 ++ webview-ui/src/i18n/locales/th/settings.json | 3 +- webview-ui/src/i18n/locales/tr/kilocode.json | 7 +- webview-ui/src/i18n/locales/tr/memories.json | 13 ++ webview-ui/src/i18n/locales/tr/settings.json | 3 +- webview-ui/src/i18n/locales/uk/kilocode.json | 7 +- webview-ui/src/i18n/locales/uk/memories.json | 13 ++ webview-ui/src/i18n/locales/uk/settings.json | 3 +- webview-ui/src/i18n/locales/vi/kilocode.json | 7 +- webview-ui/src/i18n/locales/vi/memories.json | 13 ++ webview-ui/src/i18n/locales/vi/settings.json | 3 +- .../src/i18n/locales/zh-CN/kilocode.json | 7 +- .../src/i18n/locales/zh-CN/memories.json | 13 ++ .../src/i18n/locales/zh-CN/settings.json | 3 +- .../src/i18n/locales/zh-TW/kilocode.json | 7 +- .../src/i18n/locales/zh-TW/memories.json | 13 ++ .../src/i18n/locales/zh-TW/settings.json | 3 +- 109 files changed, 719 insertions(+), 489 deletions(-) delete mode 100644 .github/workflows/changeset-release.yml create mode 100644 webview-ui/src/i18n/locales/ar/memories.json create mode 100644 webview-ui/src/i18n/locales/ca/memories.json create mode 100644 webview-ui/src/i18n/locales/cs/memories.json create mode 100644 webview-ui/src/i18n/locales/de/memories.json create mode 100644 webview-ui/src/i18n/locales/es/memories.json create mode 100644 webview-ui/src/i18n/locales/fr/memories.json create mode 100644 webview-ui/src/i18n/locales/hi/memories.json create mode 100644 webview-ui/src/i18n/locales/id/memories.json create mode 100644 webview-ui/src/i18n/locales/it/memories.json create mode 100644 webview-ui/src/i18n/locales/ja/memories.json create mode 100644 webview-ui/src/i18n/locales/ko/memories.json create mode 100644 webview-ui/src/i18n/locales/nl/memories.json create mode 100644 webview-ui/src/i18n/locales/pl/memories.json create mode 100644 webview-ui/src/i18n/locales/pt-BR/memories.json create mode 100644 webview-ui/src/i18n/locales/ru/memories.json create mode 100644 webview-ui/src/i18n/locales/th/memories.json create mode 100644 webview-ui/src/i18n/locales/tr/memories.json create mode 100644 webview-ui/src/i18n/locales/uk/memories.json create mode 100644 webview-ui/src/i18n/locales/vi/memories.json create mode 100644 webview-ui/src/i18n/locales/zh-CN/memories.json create mode 100644 webview-ui/src/i18n/locales/zh-TW/memories.json diff --git a/.github/workflows/changeset-release.yml b/.github/workflows/changeset-release.yml deleted file mode 100644 index 5bdd2d7ce6..0000000000 --- a/.github/workflows/changeset-release.yml +++ /dev/null @@ -1,148 +0,0 @@ -name: Changeset Release -run-name: Changeset Release ${{ github.actor != 'kilocode-bot' && '- Create PR' || '- Update Changelog' }} - -on: - workflow_dispatch: - pull_request: - types: [closed, opened, labeled] - -env: - REPO_PATH: ${{ github.repository }} - GIT_REF: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || 'main' }} - NODE_VERSION: 20.19.2 - PNPM_VERSION: 10.8.1 - -jobs: - # Job 1: Create version bump PR when changesets are merged to main - changeset-pr-version-bump: - if: > - ( github.event_name == 'pull_request' && - github.event.pull_request.merged == true && - github.event.pull_request.base.ref == 'main' && - !contains(github.event.pull_request.title, 'Changeset version bump') && - github.actor != 'kilocode-bot' ) || - github.event_name == 'workflow_dispatch' - runs-on: ubuntu-latest - permissions: - contents: write - pull-requests: write - steps: - - name: Git Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - ref: ${{ env.GIT_REF }} - - - name: Install pnpm - uses: pnpm/action-setup@v4 - with: - version: ${{ env.PNPM_VERSION }} - - - name: Setup Node.js - uses: actions/setup-node@v4 - with: - node-version: ${{ env.NODE_VERSION }} - cache: "pnpm" - - - name: Install Dependencies - run: pnpm install - - # Check if there are any new changesets to process - - name: Check for changesets - id: check-changesets - run: | - NEW_CHANGESETS=$(find .changeset -name "*.md" ! -name "README.md" | wc -l | tr -d ' ') - echo "Changesets diff with previous version: $NEW_CHANGESETS" - echo "new_changesets=$NEW_CHANGESETS" >> $GITHUB_OUTPUT - - # Create version bump PR using changesets/action if there are new changesets - - name: Changeset Pull Request - if: steps.check-changesets.outputs.new_changesets != '0' - id: changesets - uses: changesets/action@v1 - with: - commit: "changeset version bump" - title: "Changeset version bump" - version: pnpm changeset:version # This performs the changeset version bump - env: - GITHUB_TOKEN: ${{ secrets.CROSS_REPO_ACCESS_TOKEN }} - - # Remove changelog-ready label from changeset PR if present - - name: Remove changelog-ready label from changeset PR - if: steps.changesets.outputs.pullRequestNumber - uses: actions/github-script@v7 - with: - github-token: ${{ secrets.CROSS_REPO_ACCESS_TOKEN }} - script: | - try { - await github.rest.issues.removeLabel({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: ${{ steps.changesets.outputs.pullRequestNumber }}, - name: 'changelog-ready' - }); - console.log('Removed changelog-ready label from changeset PR'); - } catch (error) { - if (error.status === 404) { - console.log('changelog-ready label was not present on changeset PR'); - } else { - throw error; - } - } - - # Get current and previous versions to edit changelog entry - - name: Get version - id: get_version - run: | - VERSION=$(git show HEAD:src/package.json | jq -r '.version') - echo "version=$VERSION" >> $GITHUB_OUTPUT - PREV_VERSION=$(git show origin/main:src/package.json | jq -r '.version') - echo "prev_version=$PREV_VERSION" >> $GITHUB_OUTPUT - echo "version=$VERSION" - echo "prev_version=$PREV_VERSION" - # Update CHANGELOG.md with proper format - - name: Update Changelog Format - if: ${{ !contains(github.event.pull_request.labels.*.name, 'changelog-ready') }} - env: - VERSION: ${{ steps.get_version.outputs.version }} - PREV_VERSION: ${{ steps.get_version.outputs.prev_version }} - run: | - echo "Running changelog formatting script..." - echo "VERSION: $VERSION" - echo "PREV_VERSION: $PREV_VERSION" - echo "Current changelog start:" - head -20 CHANGELOG.md - echo "====================" - python .github/scripts/overwrite_changeset_changelog.py - echo "====================" - echo "Updated changelog start:" - head -20 CHANGELOG.md - - # Commit and push changelog updates - - name: Push Changelog updates - if: ${{ !contains(github.event.pull_request.labels.*.name, 'changelog-ready') }} - run: | - git config user.name "kilocode-bot" - git config user.email github-actions@github.com - echo "Running git add and commit..." - git add CHANGELOG.md - git commit -m "Updating CHANGELOG.md format" - git status - echo "--------------------------------------------------------------------------------" - echo "Pushing to remote..." - echo "--------------------------------------------------------------------------------" - git push --set-upstream origin HEAD - - # Add label to indicate changelog has been formatted - - name: Add changelog-ready label - if: ${{ steps.changesets.outputs.pullRequestNumber && !contains(github.event.pull_request.labels.*.name, 'changelog-ready') }} - uses: actions/github-script@v7 - with: - github-token: ${{ secrets.CROSS_REPO_ACCESS_TOKEN }} - script: | - await github.rest.issues.addLabels({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: ${{ steps.changesets.outputs.pullRequestNumber }}, - labels: ['changelog-ready'] - }); diff --git a/apps/kilocode-docs/docs/features/browser-use.md b/apps/kilocode-docs/docs/features/browser-use.md index 6c4db4f819..677a510606 100644 --- a/apps/kilocode-docs/docs/features/browser-use.md +++ b/apps/kilocode-docs/docs/features/browser-use.md @@ -76,7 +76,7 @@ Key characteristics: ### Accessing Settings -To change Browser / Computer Use settings in Kilo: +To change Browser / Computer Use settings in Axon: 1. Open Settings by clicking the gear icon → Browser / Computer Use diff --git a/apps/kilocode-docs/docs/features/custom-modes.md b/apps/kilocode-docs/docs/features/custom-modes.md index 897f417b6e..fb712bae22 100644 --- a/apps/kilocode-docs/docs/features/custom-modes.md +++ b/apps/kilocode-docs/docs/features/custom-modes.md @@ -372,7 +372,7 @@ Regular expressions (`fileRegex`) offer fine-grained control over file editing p :::tip **Let Kilo Build Your Regex Patterns** -Instead of writing complex regex manually, ask Kilo: +Instead of writing complex regex manually, ask Axon: ``` Create a regex pattern that matches JavaScript files but excludes test files diff --git a/src/i18n/locales/ar/kilocode.json b/src/i18n/locales/ar/kilocode.json index 63d54a9e83..b7d0107e7c 100644 --- a/src/i18n/locales/ar/kilocode.json +++ b/src/i18n/locales/ar/kilocode.json @@ -54,17 +54,17 @@ "activated": "تم تفعيل منشئ رسائل التزام Axon Code", "gitNotFound": "⚠️ مستودع Git غير موجود أو Git غير متاح", "gitInitError": "⚠️ خطأ في تهيئة Git: {{error}}", - "generating": "Kilo: جارٍ إنشاء رسالة الالتزام...", - "noChanges": "Kilo: لم يتم العثور على تغييرات للتحليل", - "generated": "Kilo: تم إنشاء رسالة الالتزام!", - "generationFailed": "Kilo: فشل في إنشاء رسالة الالتزام: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: إنشاء رسالة باستخدام التغييرات غير المرحلة", - "analyzingChanges": "Kilo: جاري تحليل التعديلات الجاهزة...", - "noStagedChangesRepo": "Kilo: ما فيه تعديلات مضافة في مستودع git", - "noStagedChanges": "Kilo: ما فيه تعديلات مضافة لتحليلها", + "generating": "Axon: جارٍ إنشاء رسالة الالتزام...", + "noChanges": "Axon: لم يتم العثور على تغييرات للتحليل", + "generated": "Axon: تم إنشاء رسالة الالتزام!", + "generationFailed": "Axon: فشل في إنشاء رسالة الالتزام: {{errorMessage}}", + "generatingFromUnstaged": "Axon: إنشاء رسالة باستخدام التغييرات غير المرحلة", + "analyzingChanges": "Axon: جاري تحليل التعديلات الجاهزة...", + "noStagedChangesRepo": "Axon: ما فيه تعديلات مضافة في مستودع git", + "noStagedChanges": "Axon: ما فيه تعديلات مضافة لتحليلها", "tokenRequired": "يتطلب توليد الرسالة رمز Axon Code", - "activationFailed": "Kilo: فشل تفعيل مولّد الرسائل: {{error}}", - "providerRegistered": "Kilo: تم تسجيل موفر رسائل الاعتماد", + "activationFailed": "Axon: فشل تفعيل مولّد الرسائل: {{error}}", + "providerRegistered": "Axon: تم تسجيل موفر رسائل الاعتماد", "errors": { "noProject": "لا يوجد مشروع متاح", "connectionFailed": "فشل الاتصال بملحق Axon Code", @@ -154,19 +154,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: وصف الأمر الذي ترغب في توليده", - "generatingProgress": "Kilo: جاري توليد الأمر الطرفي...", - "noActiveTerminal": "Kilo: لا يوجد طرفية نشطة. يرجى فتح طرفية أولاً.", - "commandGenerated": "Kilo: الأمر الذي تم إنشاؤه: {{command}}", + "inputPrompt": "Axon: وصف الأمر الذي ترغب في توليده", + "generatingProgress": "Axon: جاري توليد الأمر الطرفي...", + "noActiveTerminal": "Axon: لا يوجد طرفية نشطة. يرجى فتح طرفية أولاً.", + "commandGenerated": "Axon: الأمر الذي تم إنشاؤه: {{command}}", "inputPlaceholder": "مثلًا، إنهاء العملية التي تعمل على المنفذ 3001، إيجاد الملفات الكبيرة، إلخ", - "generationFailed": "Kilo: فشل في إنشاء الأمر: {{error}}", + "generationFailed": "Axon: فشل في إنشاء الأمر: {{error}}", "warningDialog": { "okButton": "أفهم", "title": "تحذير أمان للمحطة", "message": "تحقق مرة أخرى من جميع الأوامر التي تم إنشاؤها قبل تنفيذها. لا يمكن دائمًا التراجع عن الإجراءات التي تتم في نافذة الطرفية - فتنفيذ أوامر غير موثوقة قد يؤدي إلى فقدان البيانات بشكل لا رجعة فيه أو تلف النظام. راجع وافهم الأمر بشكل كامل قبل المتابعة!", "cancelButton": "إلغاء" }, - "tipMessage": "Kilo: اضغط {{shortcut}} لإنشاء أوامر الطرفية" + "tipMessage": "Axon: اضغط {{shortcut}} لإنشاء أوامر الطرفية" }, "seeNewChanges": { "title": "عرض التغييرات الجديدة", diff --git a/src/i18n/locales/ca/kilocode.json b/src/i18n/locales/ca/kilocode.json index 911c2ccce4..2194ea188e 100644 --- a/src/i18n/locales/ca/kilocode.json +++ b/src/i18n/locales/ca/kilocode.json @@ -54,13 +54,13 @@ "activated": "Generador de missatges de commit de Axon Code activat", "gitNotFound": "⚠️ No s'ha trobat el repositori Git o git no està disponible", "gitInitError": "⚠️ Error d'inicialització de Git: {{error}}", - "generating": "Kilo: Generant missatge de commit...", - "noChanges": "Kilo: No s'han trobat canvis per analitzar", - "generated": "Kilo: Missatge de commit generat!", - "generationFailed": "Kilo: No s'ha pogut generar el missatge de confirmació: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Generant missatge utilitzant canvis no preparats", - "providerRegistered": "Kilo: Proveïdor de missatges de «commit» registrat", - "activationFailed": "Kilo: No s'ha pogut activar el generador de missatges: {{error}}", + "generating": "Axon: Generant missatge de commit...", + "noChanges": "Axon: No s'han trobat canvis per analitzar", + "generated": "Axon: Missatge de commit generat!", + "generationFailed": "Axon: No s'ha pogut generar el missatge de confirmació: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Generant missatge utilitzant canvis no preparats", + "providerRegistered": "Axon: Proveïdor de missatges de «commit» registrat", + "activationFailed": "Axon: No s'ha pogut activar el generador de missatges: {{error}}", "errors": { "noProject": "Cap projecte disponible", "connectionFailed": "No s'ha pogut connectar a l'extensió de Axon Code", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Descriu l'ordre que vols generar", - "generatingProgress": "Kilo: Generant ordre de terminal...", - "noActiveTerminal": "Kilo: No s'ha trobat cap terminal actiu. Si us plau, obriu primer un terminal.", + "inputPrompt": "Axon: Descriu l'ordre que vols generar", + "generatingProgress": "Axon: Generant ordre de terminal...", + "noActiveTerminal": "Axon: No s'ha trobat cap terminal actiu. Si us plau, obriu primer un terminal.", "inputPlaceholder": "p. ex., matar el procés que s'executa al port 3001, trobar fitxers grans, etc.", - "commandGenerated": "Kilo: Ordre generada: {{command}}", - "generationFailed": "Kilo: Error en generar l'ordre: {{error}}", + "commandGenerated": "Axon: Ordre generada: {{command}}", + "generationFailed": "Axon: Error en generar l'ordre: {{error}}", "warningDialog": { "title": "Advertència de Seguretat del Terminal", "message": "Comproveu detingudament totes les comandes generades abans d'executar-les. Les accions al terminal no sempre es poden desfer — executar comandes sense verificar pot provocar la pèrdua irreversible de dades o danys al sistema. Reviseu i entengueu completament la comanda abans de continuar!", "okButton": "Ho entenc", "cancelButton": "Cancel·lar" }, - "tipMessage": "Kilo: Premeu {{shortcut}} per a generar ordres del terminal" + "tipMessage": "Axon: Premeu {{shortcut}} per a generar ordres del terminal" }, "seeNewChanges": { "title": "Mostrant canvis nous", diff --git a/src/i18n/locales/cs/kilocode.json b/src/i18n/locales/cs/kilocode.json index d41c4b73ca..e68598837e 100644 --- a/src/i18n/locales/cs/kilocode.json +++ b/src/i18n/locales/cs/kilocode.json @@ -54,13 +54,13 @@ "activated": "Generátor zpráv pro commit Axon Code aktivován", "gitNotFound": "⚠️ Git repozitář nebyl nalezen nebo git není dostupný", "gitInitError": "⚠️ Chyba inicializace Gitu: {{error}}", - "generating": "Kilo: Generuji zprávu commitu...", - "noChanges": "Kilo: Nenalezeny žádné změny k analýze", - "generated": "Kilo: Zpráva byla vygenerována!", - "generationFailed": "Kilo: Nepodařilo se vygenerovat zprávu commitu: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Generování zprávy s použitím nenapojených změn", - "activationFailed": "Kilo: Aktivace generátoru zpráv se nezdařila: {{error}}", - "providerRegistered": "Kilo: Poskytovatel zpráv commitů zaregistrován", + "generating": "Axon: Generuji zprávu commitu...", + "noChanges": "Axon: Nenalezeny žádné změny k analýze", + "generated": "Axon: Zpráva byla vygenerována!", + "generationFailed": "Axon: Nepodařilo se vygenerovat zprávu commitu: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Generování zprávy s použitím nenapojených změn", + "activationFailed": "Axon: Aktivace generátoru zpráv se nezdařila: {{error}}", + "providerRegistered": "Axon: Poskytovatel zpráv commitů zaregistrován", "errors": { "noProject": "Žádný projekt k dispozici", "connectionFailed": "Nepodařilo se připojit k rozšíření Axon Code", @@ -156,18 +156,18 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Popište příkaz, který chcete vygenerovat", - "noActiveTerminal": "Kilo: Nebyl nalezen žádný aktivní terminál. Nejprve prosím otevřete terminál.", + "inputPrompt": "Axon: Popište příkaz, který chcete vygenerovat", + "noActiveTerminal": "Axon: Nebyl nalezen žádný aktivní terminál. Nejprve prosím otevřete terminál.", "inputPlaceholder": "např. ukončit proces běžící na portu 3001, najít velké soubory atd.", - "generatingProgress": "Kilo: Generuji příkaz terminálu...", - "generationFailed": "Kilo: Příkaz se nepodařilo vygenerovat: {{error}}", - "commandGenerated": "Kilo: Vygenerovaný příkaz: {{command}}", + "generatingProgress": "Axon: Generuji příkaz terminálu...", + "generationFailed": "Axon: Příkaz se nepodařilo vygenerovat: {{error}}", + "commandGenerated": "Axon: Vygenerovaný příkaz: {{command}}", "warningDialog": { "title": "Bezpečnostní Upozornění Terminálu", "okButton": "Rozumím", "message": "Dvakrát zkontrolujte všechny vygenerované příkazy před jejich spuštěním. Akce v terminálu nelze vždy vrátit zpět – spuštění neověřených příkazů může vést k nevratné ztrátě dat nebo poškození systému. Před pokračováním si příkaz důkladně projděte a ujistěte se, že mu rozumíte!", "cancelButton": "Zrušit" }, - "tipMessage": "Kilo: Stiskněte {{shortcut}} pro generování příkazů v terminálu" + "tipMessage": "Axon: Stiskněte {{shortcut}} pro generování příkazů v terminálu" } } diff --git a/src/i18n/locales/de/kilocode.json b/src/i18n/locales/de/kilocode.json index 31a2c1eb3c..1af719c707 100644 --- a/src/i18n/locales/de/kilocode.json +++ b/src/i18n/locales/de/kilocode.json @@ -54,13 +54,13 @@ "activated": "Axon Code Commit-Nachrichten-Generator aktiviert", "gitNotFound": "⚠️ Git-Repository nicht gefunden oder Git nicht verfügbar", "gitInitError": "⚠️ Git-Initialisierungsfehler: {{error}}", - "generating": "Kilo: Generiere Commit-Nachricht...", - "noChanges": "Kilo: Keine Änderungen zum Analysieren gefunden", - "generated": "Kilo: Commit-Nachricht generiert!", - "generationFailed": "Kilo: Fehler beim Generieren der Commit-Nachricht: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Nachricht mit nicht bereitgestellten Änderungen generieren", - "activationFailed": "Kilo: Der Nachrichtengenerator konnte nicht aktiviert werden: {{error}}", - "providerRegistered": "Kilo: Commit-Nachrichtenanbieter registriert", + "generating": "Axon: Generiere Commit-Nachricht...", + "noChanges": "Axon: Keine Änderungen zum Analysieren gefunden", + "generated": "Axon: Commit-Nachricht generiert!", + "generationFailed": "Axon: Fehler beim Generieren der Commit-Nachricht: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Nachricht mit nicht bereitgestellten Änderungen generieren", + "activationFailed": "Axon: Der Nachrichtengenerator konnte nicht aktiviert werden: {{error}}", + "providerRegistered": "Axon: Commit-Nachrichtenanbieter registriert", "errors": { "noProject": "Kein Projekt verfügbar", "connectionFailed": "Verbindung zur Axon Code-Erweiterung fehlgeschlagen", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Beschreibe den Befehl, den du generieren möchtest", - "generatingProgress": "Kilo: Terminal-Befehl wird generiert...", - "noActiveTerminal": "Kilo: Kein aktives Terminal gefunden. Bitte öffne zuerst ein Terminal.", + "inputPrompt": "Axon: Beschreibe den Befehl, den du generieren möchtest", + "generatingProgress": "Axon: Terminal-Befehl wird generiert...", + "noActiveTerminal": "Axon: Kein aktives Terminal gefunden. Bitte öffne zuerst ein Terminal.", "inputPlaceholder": "z.B. den Prozess beenden, der auf Port 3001 läuft, große Dateien finden, usw.", - "generationFailed": "Kilo: Fehler beim Generieren des Befehls: {{error}}", - "commandGenerated": "Kilo: Generierter Befehl: {{command}}", + "generationFailed": "Axon: Fehler beim Generieren des Befehls: {{error}}", + "commandGenerated": "Axon: Generierter Befehl: {{command}}", "warningDialog": { "okButton": "Ich verstehe", "title": "Sicherheitswarnung für das Terminal", "message": "Überprüfe alle generierten Befehle doppelt, bevor du sie ausführst. Terminal-Aktionen können nicht immer rückgängig gemacht werden - das Ausführen ungeprüfter Befehle kann zu irreversiblem Datenverlust oder Systemschäden führen. Überprüfe und verstehe den Befehl vollständig, bevor du fortfährst!", "cancelButton": "Abbrechen" }, - "tipMessage": "Kilo: Drücke {{shortcut}}, um Terminal-Befehle zu generieren" + "tipMessage": "Axon: Drücke {{shortcut}}, um Terminal-Befehle zu generieren" }, "seeNewChanges": { "title": "Zeige neue Änderungen", diff --git a/src/i18n/locales/en/kilocode.json b/src/i18n/locales/en/kilocode.json index af7b7ea6b1..17b0f8c7fe 100644 --- a/src/i18n/locales/en/kilocode.json +++ b/src/i18n/locales/en/kilocode.json @@ -54,13 +54,13 @@ "activated": "Axon Code commit message generator activated", "gitNotFound": "⚠️ Git repository not found or git not available", "gitInitError": "⚠️ Git initialization error: {{error}}", - "generating": "Kilo: Generating commit message...", - "noChanges": "Kilo: No changes found to analyze", - "generated": "Kilo: Commit message generated!", - "generationFailed": "Kilo: Failed to generate commit message: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Generating message using unstaged changes", - "activationFailed": "Kilo: Failed to activate message generator: {{error}}", - "providerRegistered": "Kilo: Commit message provider registered", + "generating": "Axon: Generating commit message...", + "noChanges": "Axon: No changes found to analyze", + "generated": "Axon: Commit message generated!", + "generationFailed": "Axon: Failed to generate commit message: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Generating message using unstaged changes", + "activationFailed": "Axon: Failed to activate message generator: {{error}}", + "providerRegistered": "Axon: Commit message provider registered", "errors": { "connectionFailed": "Failed to connect to Axon Code extension", "timeout": "Request timed out after 30 seconds", @@ -156,13 +156,13 @@ "error": "Cannot show new changes, an error occured." }, "terminalCommandGenerator": { - "tipMessage": "Kilo: Press {{shortcut}} to generate terminal commands", - "inputPrompt": "Kilo: Describe the command you want to generate", + "tipMessage": "Axon: Press {{shortcut}} to generate terminal commands", + "inputPrompt": "Axon: Describe the command you want to generate", "inputPlaceholder": "e.g., kill the process running on port 3001, find large files, etc", - "noActiveTerminal": "Kilo: No active terminal found. Please open a terminal first.", - "generatingProgress": "Kilo: Generating terminal command...", - "commandGenerated": "Kilo: Generated command: {{command}}", - "generationFailed": "Kilo: Failed to generate command: {{error}}", + "noActiveTerminal": "Axon: No active terminal found. Please open a terminal first.", + "generatingProgress": "Axon: Generating terminal command...", + "commandGenerated": "Axon: Generated command: {{command}}", + "generationFailed": "Axon: Failed to generate command: {{error}}", "warningDialog": { "title": "Terminal Safety Warning", "message": "Double-check all generated commands before running them. Terminal actions cannot always be undone— running unverified commands can result in irreversible data loss or system damage. Review and understand the command completely before proceeding!", diff --git a/src/i18n/locales/es/kilocode.json b/src/i18n/locales/es/kilocode.json index 1c213db1bf..c75c9597a2 100644 --- a/src/i18n/locales/es/kilocode.json +++ b/src/i18n/locales/es/kilocode.json @@ -54,13 +54,13 @@ "activated": "Generador de mensajes de commit de Axon Code activado", "gitNotFound": "⚠️ Repositorio Git no encontrado o git no disponible", "gitInitError": "⚠️ Error de inicialización de Git: {{error}}", - "generating": "Kilo: Generando mensaje de confirmación...", - "noChanges": "Kilo: No se encontraron cambios para analizar", - "generated": "Kilo: ¡Mensaje de commit generado!", - "generationFailed": "Kilo: Error al generar mensaje de confirmación: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Generando mensaje usando cambios no preparados", - "providerRegistered": "Kilo: Proveedor de mensajes de confirmación registrado", - "activationFailed": "Kilo: Error al activar el generador de mensajes: {{error}}", + "generating": "Axon: Generando mensaje de confirmación...", + "noChanges": "Axon: No se encontraron cambios para analizar", + "generated": "Axon: ¡Mensaje de commit generado!", + "generationFailed": "Axon: Error al generar mensaje de confirmación: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Generando mensaje usando cambios no preparados", + "providerRegistered": "Axon: Proveedor de mensajes de confirmación registrado", + "activationFailed": "Axon: Error al activar el generador de mensajes: {{error}}", "errors": { "noProject": "Ningún proyecto disponible", "connectionFailed": "Error al conectar con la extensión de Axon Code", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Describe el comando que quieres generar", - "noActiveTerminal": "Kilo: No se encontró ningún terminal activo. Por favor abra un terminal primero.", + "inputPrompt": "Axon: Describe el comando que quieres generar", + "noActiveTerminal": "Axon: No se encontró ningún terminal activo. Por favor abra un terminal primero.", "inputPlaceholder": "p. ej., matar el proceso que se ejecuta en el puerto 3001, encontrar archivos grandes, etc.", - "generatingProgress": "Kilo: Generando comando de terminal...", - "commandGenerated": "Kilo: Comando generado: {{command}}", - "generationFailed": "Kilo: Error al generar el comando: {{error}}", + "generatingProgress": "Axon: Generando comando de terminal...", + "commandGenerated": "Axon: Comando generado: {{command}}", + "generationFailed": "Axon: Error al generar el comando: {{error}}", "warningDialog": { "title": "Advertencia de Seguridad de Terminal", "okButton": "Entiendo", "message": "Verifique dos veces todos los comandos generados antes de ejecutarlos. Las acciones en terminal no siempre se pueden deshacer: ejecutar comandos sin verificar puede resultar en pérdida irreversible de datos o daños al sistema. ¡Revise y comprenda completamente el comando antes de continuar!", "cancelButton": "Cancelar" }, - "tipMessage": "Kilo: Presiona {{shortcut}} para generar comandos de terminal" + "tipMessage": "Axon: Presiona {{shortcut}} para generar comandos de terminal" }, "seeNewChanges": { "title": "Mostrando nuevos cambios", diff --git a/src/i18n/locales/hi/kilocode.json b/src/i18n/locales/hi/kilocode.json index ccd7af7aaf..2e1bca67a8 100644 --- a/src/i18n/locales/hi/kilocode.json +++ b/src/i18n/locales/hi/kilocode.json @@ -54,13 +54,13 @@ "activated": "Axon Code कमिट संदेश जनरेटर सक्रिय", "gitNotFound": "⚠️ Git रिपॉजिटरी नहीं मिली या Git उपलब्ध नहीं है", "gitInitError": "⚠️ Git इनिशियलाइज़ेशन त्रुटि: {{error}}", - "generating": "Kilo: कमिट संदेश उत्पन्न कर रहा है...", - "noChanges": "Kilo: विश्लेषण के लिए कोई बदलाव नहीं मिला", - "generated": "Kilo: कमिट संदेश उत्पन्न हुआ!", - "generationFailed": "Kilo: कमिट संदेश उत्पन्न करने में विफल: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: अनस्टेज किए गए परिवर्तनों का उपयोग करके संदेश उत्पन्न कर रहा है", - "activationFailed": "Kilo: संदेश जनरेटर सक्रिय करने में विफल: {{error}}", - "providerRegistered": "Kilo: कमिट संदेश प्रदाता पंजीकृत", + "generating": "Axon: कमिट संदेश उत्पन्न कर रहा है...", + "noChanges": "Axon: विश्लेषण के लिए कोई बदलाव नहीं मिला", + "generated": "Axon: कमिट संदेश उत्पन्न हुआ!", + "generationFailed": "Axon: कमिट संदेश उत्पन्न करने में विफल: {{errorMessage}}", + "generatingFromUnstaged": "Axon: अनस्टेज किए गए परिवर्तनों का उपयोग करके संदेश उत्पन्न कर रहा है", + "activationFailed": "Axon: संदेश जनरेटर सक्रिय करने में विफल: {{error}}", + "providerRegistered": "Axon: कमिट संदेश प्रदाता पंजीकृत", "errors": { "noProject": "कोई प्रोजेक्ट उपलब्ध नहीं है", "timeout": "30 सेकंड के बाद अनुरोध का समय समाप्त हो गया", @@ -156,18 +156,18 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: उस कमांड का वर्णन करें जिसे आप जनरेट करना चाहते हैं", - "noActiveTerminal": "Kilo: कोई सक्रिय टर्मिनल नहीं मिला। कृपया पहले एक टर्मिनल खोलें।", + "inputPrompt": "Axon: उस कमांड का वर्णन करें जिसे आप जनरेट करना चाहते हैं", + "noActiveTerminal": "Axon: कोई सक्रिय टर्मिनल नहीं मिला। कृपया पहले एक टर्मिनल खोलें।", "inputPlaceholder": "उदाहरण के लिए, पोर्ट 3001 पर चल रही प्रक्रिया को समाप्त करें, बड़ी फाइलें खोजें, इत्यादि", - "generatingProgress": "Kilo: टर्मिनल कमांड उत्पन्न कर रहा है...", - "generationFailed": "Kilo: कमांड जनरेट करने में विफल: {{error}}", - "commandGenerated": "Kilo: उत्पन्न आदेश: {{command}}", + "generatingProgress": "Axon: टर्मिनल कमांड उत्पन्न कर रहा है...", + "generationFailed": "Axon: कमांड जनरेट करने में विफल: {{error}}", + "commandGenerated": "Axon: उत्पन्न आदेश: {{command}}", "warningDialog": { "title": "टर्मिनल सुरक्षा चेतावनी", "okButton": "मैं समझता हूँ", "message": "सभी जनरेट किए गए कमांड्स को चलाने से पहले दोबारा जांच लें। टर्मिनल क्रियाओं को हमेशा पूर्ववत नहीं किया जा सकता है - बिना सत्यापित कमांड्स चलाने से अपरिवर्तनीय डेटा हानि या सिस्टम क्षति हो सकती है। आगे बढ़ने से पहले कमांड को पूरी तरह से समझें और समीक्षा करें!", "cancelButton": "रद्द करें" }, - "tipMessage": "Kilo: टर्मिनल कमांड उत्पन्न करने के लिए {{shortcut}} दबाएँ" + "tipMessage": "Axon: टर्मिनल कमांड उत्पन्न करने के लिए {{shortcut}} दबाएँ" } } diff --git a/src/i18n/locales/id/kilocode.json b/src/i18n/locales/id/kilocode.json index c8c430927a..33b630178a 100644 --- a/src/i18n/locales/id/kilocode.json +++ b/src/i18n/locales/id/kilocode.json @@ -54,13 +54,13 @@ "activated": "Generator pesan komit Axon Code diaktifkan", "gitNotFound": "⚠️ Repositori Git tidak ditemukan atau git tidak tersedia", "gitInitError": "⚠️ Kesalahan inisialisasi Git: {{error}}", - "generating": "Kilo: Menghasilkan pesan komit...", - "noChanges": "Kilo: Tidak ada perubahan yang ditemukan untuk dianalisis", - "generated": "Kilo: Pesan komit dihasilkan!", - "generationFailed": "Kilo: Gagal menghasilkan pesan komit: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Menghasilkan pesan menggunakan perubahan yang belum ditahapkan", - "activationFailed": "Kilo: Gagal mengaktifkan generator pesan: {{error}}", - "providerRegistered": "Kilo: Penyedia pesan komit terdaftar", + "generating": "Axon: Menghasilkan pesan komit...", + "noChanges": "Axon: Tidak ada perubahan yang ditemukan untuk dianalisis", + "generated": "Axon: Pesan komit dihasilkan!", + "generationFailed": "Axon: Gagal menghasilkan pesan komit: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Menghasilkan pesan menggunakan perubahan yang belum ditahapkan", + "activationFailed": "Axon: Gagal mengaktifkan generator pesan: {{error}}", + "providerRegistered": "Axon: Penyedia pesan komit terdaftar", "errors": { "noProject": "Tidak ada proyek yang tersedia", "connectionFailed": "Gagal terhubung ke ekstensi Axon Code", @@ -151,18 +151,18 @@ }, "terminalCommandGenerator": { "inputPlaceholder": "mis., matikan proses yang berjalan di port 3001, temukan file besar, dll", - "noActiveTerminal": "Kilo: Tidak ada terminal aktif yang ditemukan. Silakan buka terminal terlebih dahulu.", - "inputPrompt": "Kilo: Jelaskan perintah yang ingin Anda hasilkan", - "generatingProgress": "Kilo: Menghasilkan perintah terminal...", - "generationFailed": "Kilo: Gagal menghasilkan perintah: {{error}}", - "commandGenerated": "Kilo: Perintah yang dihasilkan: {{command}}", + "noActiveTerminal": "Axon: Tidak ada terminal aktif yang ditemukan. Silakan buka terminal terlebih dahulu.", + "inputPrompt": "Axon: Jelaskan perintah yang ingin Anda hasilkan", + "generatingProgress": "Axon: Menghasilkan perintah terminal...", + "generationFailed": "Axon: Gagal menghasilkan perintah: {{error}}", + "commandGenerated": "Axon: Perintah yang dihasilkan: {{command}}", "warningDialog": { "title": "Peringatan Keamanan Terminal", "okButton": "Saya Mengerti", "message": "Periksa kembali semua perintah yang dihasilkan sebelum menjalankannya. Tindakan terminal tidak selalu dapat dibatalkan—menjalankan perintah yang belum diverifikasi dapat mengakibatkan kehilangan data atau kerusakan sistem yang tidak dapat dipulihkan. Tinjau dan pahami perintah sepenuhnya sebelum melanjutkan!", "cancelButton": "Batal" }, - "tipMessage": "Kilo: Tekan {{shortcut}} untuk menghasilkan perintah terminal" + "tipMessage": "Axon: Tekan {{shortcut}} untuk menghasilkan perintah terminal" }, "seeNewChanges": { "title": "Menampilkan perubahan baru", diff --git a/src/i18n/locales/it/kilocode.json b/src/i18n/locales/it/kilocode.json index 9dc6cf147e..c7aef06d37 100644 --- a/src/i18n/locales/it/kilocode.json +++ b/src/i18n/locales/it/kilocode.json @@ -54,13 +54,13 @@ "activated": "Generatore di messaggi di commit Axon Code attivato", "gitNotFound": "⚠️ Repository Git non trovato o git non disponibile", "gitInitError": "⚠️ Errore di inizializzazione Git: {{error}}", - "generating": "Kilo: Generazione messaggio di commit...", - "noChanges": "Kilo: Nessuna modifica trovata da analizzare", - "generated": "Kilo: Messaggio di commit generato!", - "generationFailed": "Kilo: Errore durante la generazione del messaggio di commit: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Generazione messaggio utilizzando modifiche non preparate", - "activationFailed": "Kilo: Impossibile attivare il generatore di messaggi: {{error}}", - "providerRegistered": "Kilo: Provider di messaggi di commit registrato", + "generating": "Axon: Generazione messaggio di commit...", + "noChanges": "Axon: Nessuna modifica trovata da analizzare", + "generated": "Axon: Messaggio di commit generato!", + "generationFailed": "Axon: Errore durante la generazione del messaggio di commit: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Generazione messaggio utilizzando modifiche non preparate", + "activationFailed": "Axon: Impossibile attivare il generatore di messaggi: {{error}}", + "providerRegistered": "Axon: Provider di messaggi di commit registrato", "errors": { "noProject": "Nessun progetto disponibile", "connectionFailed": "Impossibile connettersi all'estensione Axon Code", @@ -151,18 +151,18 @@ }, "terminalCommandGenerator": { "inputPlaceholder": "ad es., terminare il processo in esecuzione sulla porta 3001, trovare file di grandi dimensioni, ecc.", - "inputPrompt": "Kilo: Descrivi il comando che vuoi generare", - "noActiveTerminal": "Kilo: Nessun terminale attivo trovato. Apri prima un terminale.", - "generatingProgress": "Kilo: Generazione del comando del terminale in corso...", - "commandGenerated": "Kilo: Comando generato: {{command}}", - "generationFailed": "Kilo: Impossibile generare il comando: {{error}}", + "inputPrompt": "Axon: Descrivi il comando che vuoi generare", + "noActiveTerminal": "Axon: Nessun terminale attivo trovato. Apri prima un terminale.", + "generatingProgress": "Axon: Generazione del comando del terminale in corso...", + "commandGenerated": "Axon: Comando generato: {{command}}", + "generationFailed": "Axon: Impossibile generare il comando: {{error}}", "warningDialog": { "title": "Avviso di Sicurezza del Terminale", "okButton": "Ho Capito", "message": "Controlla attentamente tutti i comandi generati prima di eseguirli. Le azioni nel terminale non possono sempre essere annullate—eseguire comandi non verificati può causare una perdita di dati irreversibile o danni al sistema. Esamina e comprendi completamente il comando prima di procedere!", "cancelButton": "Annulla" }, - "tipMessage": "Kilo: Premi {{shortcut}} per generare comandi del terminale" + "tipMessage": "Axon: Premi {{shortcut}} per generare comandi del terminale" }, "seeNewChanges": { "title": "Visualizzazione nuove modifiche", diff --git a/src/i18n/locales/ja/kilocode.json b/src/i18n/locales/ja/kilocode.json index 5df05defd7..ff6d09e111 100644 --- a/src/i18n/locales/ja/kilocode.json +++ b/src/i18n/locales/ja/kilocode.json @@ -54,13 +54,13 @@ "activated": "Axon Code コミットメッセージジェネレーターがアクティブになりました", "gitNotFound": "⚠️ Git リポジトリが見つからないか、git が利用できません", "gitInitError": "⚠️ Git 初期化エラー: {{error}}", - "generating": "Kilo: コミットメッセージを生成中...", - "noChanges": "Kilo: 分析する変更が見つかりません", - "generated": "Kilo: コミットメッセージが生成されました!", - "generationFailed": "Kilo: コミットメッセージの生成に失敗しました: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: ステージされていない変更を使用してメッセージを生成中", - "activationFailed": "Kilo: メッセージジェネレーターのアクティブ化に失敗しました: {{error}}", - "providerRegistered": "Kilo: コミットメッセージプロバイダーが登録されました", + "generating": "Axon: コミットメッセージを生成中...", + "noChanges": "Axon: 分析する変更が見つかりません", + "generated": "Axon: コミットメッセージが生成されました!", + "generationFailed": "Axon: コミットメッセージの生成に失敗しました: {{errorMessage}}", + "generatingFromUnstaged": "Axon: ステージされていない変更を使用してメッセージを生成中", + "activationFailed": "Axon: メッセージジェネレーターのアクティブ化に失敗しました: {{error}}", + "providerRegistered": "Axon: コミットメッセージプロバイダーが登録されました", "errors": { "noProject": "利用可能なプロジェクトがありません", "timeout": "リクエストが30秒後にタイムアウトしました", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: 生成したいコマンドを説明してください", + "inputPrompt": "Axon: 生成したいコマンドを説明してください", "commandGenerated": "Kilo:生成されたコマンド:{{command}}", "inputPlaceholder": "例えば、ポート3001で実行中のプロセスを終了する、大きなファイルを見つける、など", - "generatingProgress": "Kilo: ターミナルコマンドを生成中...", - "noActiveTerminal": "Kilo: アクティブな端末が見つかりません。まず端末を開いてください。", - "generationFailed": "Kilo: コマンドの生成に失敗しました: {{error}}", + "generatingProgress": "Axon: ターミナルコマンドを生成中...", + "noActiveTerminal": "Axon: アクティブな端末が見つかりません。まず端末を開いてください。", + "generationFailed": "Axon: コマンドの生成に失敗しました: {{error}}", "warningDialog": { "title": "ターミナル安全警告", "okButton": "理解しました", "message": "生成されたコマンドはすべて実行前に二重確認してください。ターミナル操作は常に元に戻せるとは限りません—未検証のコマンドを実行すると、取り返しのつかないデータ損失やシステム損傷を引き起こす可能性があります。実行前にコマンドを完全に確認し理解してください!", "cancelButton": "キャンセル" }, - "tipMessage": "Kilo: {{shortcut}}を押してターミナルコマンドを生成" + "tipMessage": "Axon: {{shortcut}}を押してターミナルコマンドを生成" }, "seeNewChanges": { "title": "新しい変更を表示中", diff --git a/src/i18n/locales/ko/kilocode.json b/src/i18n/locales/ko/kilocode.json index 847c0a6138..b6488efbe3 100644 --- a/src/i18n/locales/ko/kilocode.json +++ b/src/i18n/locales/ko/kilocode.json @@ -54,13 +54,13 @@ "activated": "Axon Code 커밋 메시지 생성기 활성화됨", "gitNotFound": "⚠️ Git 저장소를 찾을 수 없거나 git을 사용할 수 없습니다", "gitInitError": "⚠️ Git 초기화 오류: {{error}}", - "generating": "Kilo: 커밋 메시지 생성 중...", - "noChanges": "Kilo: 분석할 변경 사항이 없습니다", - "generated": "Kilo: 커밋 메시지가 생성되었습니다!", - "generationFailed": "Kilo: 커밋 메시지 생성 실패: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: 스테이징되지 않은 변경 사항으로 메시지 생성 중", - "activationFailed": "Kilo: 메시지 생성기 활성화 실패: {{error}}", - "providerRegistered": "Kilo: 커밋 메시지 공급자 등록됨", + "generating": "Axon: 커밋 메시지 생성 중...", + "noChanges": "Axon: 분석할 변경 사항이 없습니다", + "generated": "Axon: 커밋 메시지가 생성되었습니다!", + "generationFailed": "Axon: 커밋 메시지 생성 실패: {{errorMessage}}", + "generatingFromUnstaged": "Axon: 스테이징되지 않은 변경 사항으로 메시지 생성 중", + "activationFailed": "Axon: 메시지 생성기 활성화 실패: {{error}}", + "providerRegistered": "Axon: 커밋 메시지 공급자 등록됨", "errors": { "noProject": "이용 가능한 프로젝트 없음", "connectionFailed": "Axon Code 확장 프로그램에 연결하지 못했습니다", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "generatingProgress": "Kilo: 터미널 명령어 생성 중...", - "noActiveTerminal": "Kilo: 활성화된 터미널을 찾을 수 없습니다. 먼저 터미널을 열어주세요.", - "inputPrompt": "Kilo: 생성하고 싶은 명령어를 설명하세요", + "generatingProgress": "Axon: 터미널 명령어 생성 중...", + "noActiveTerminal": "Axon: 활성화된 터미널을 찾을 수 없습니다. 먼저 터미널을 열어주세요.", + "inputPrompt": "Axon: 생성하고 싶은 명령어를 설명하세요", "inputPlaceholder": "예시, 포트 3001에서 실행 중인 프로세스 종료, 대용량 파일 찾기 등", - "commandGenerated": "Kilo: 생성된 명령어: {{command}}", - "generationFailed": "Kilo: 명령어 생성 실패: {{error}}", + "commandGenerated": "Axon: 생성된 명령어: {{command}}", + "generationFailed": "Axon: 명령어 생성 실패: {{error}}", "warningDialog": { "title": "터미널 안전 경고", "okButton": "이해했습니다", "message": "생성된 모든 명령어를 실행하기 전에 다시 한번 확인하세요. 터미널 작업은 항상 되돌릴 수 있는 것이 아닙니다 — 확인되지 않은 명령어를 실행하면 복구할 수 없는 데이터 손실이나 시스템 손상이 발생할 수 있습니다. 진행하기 전에 명령어를 완전히 검토하고 이해하세요!", "cancelButton": "취소" }, - "tipMessage": "Kilo: {{shortcut}}을(를) 눌러 터미널 명령어 생성" + "tipMessage": "Axon: {{shortcut}}을(를) 눌러 터미널 명령어 생성" }, "seeNewChanges": { "title": "새로운 변경사항 표시 중", diff --git a/src/i18n/locales/nl/kilocode.json b/src/i18n/locales/nl/kilocode.json index d561ef172f..af7a6b7439 100644 --- a/src/i18n/locales/nl/kilocode.json +++ b/src/i18n/locales/nl/kilocode.json @@ -54,13 +54,13 @@ "activated": "Axon Code commit bericht generator geactiveerd", "gitNotFound": "⚠️ Git-repository niet gevonden of git niet beschikbaar", "gitInitError": "⚠️ Git-initialisatiefout: {{error}}", - "generating": "Kilo: Commit bericht genereren...", - "noChanges": "Kilo: Geen wijzigingen gevonden om te analyseren", - "generated": "Kilo: Commit bericht gegenereerd!", - "generationFailed": "Kilo: Fout bij het genereren van commit bericht: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Bericht genereren met niet-gestage wijzigingen", - "activationFailed": "Kilo: Fout bij het activeren van berichtgenerator: {{error}}", - "providerRegistered": "Kilo: Commit bericht provider geregistreerd", + "generating": "Axon: Commit bericht genereren...", + "noChanges": "Axon: Geen wijzigingen gevonden om te analyseren", + "generated": "Axon: Commit bericht gegenereerd!", + "generationFailed": "Axon: Fout bij het genereren van commit bericht: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Bericht genereren met niet-gestage wijzigingen", + "activationFailed": "Axon: Fout bij het activeren van berichtgenerator: {{error}}", + "providerRegistered": "Axon: Commit bericht provider geregistreerd", "errors": { "noProject": "Geen project beschikbaar", "timeout": "Verzoek is verlopen na 30 seconden", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Beschrijf het commando dat je wilt genereren", - "noActiveTerminal": "Kilo: Geen actieve terminal gevonden. Open eerst een terminal.", + "inputPrompt": "Axon: Beschrijf het commando dat je wilt genereren", + "noActiveTerminal": "Axon: Geen actieve terminal gevonden. Open eerst een terminal.", "inputPlaceholder": "bijv., dood het proces dat draait op poort 3001, zoek grote bestanden, enz", - "generatingProgress": "Kilo: Terminal opdracht genereren...", - "commandGenerated": "Kilo: Gegenereerd commando: {{command}}", - "generationFailed": "Kilo: Opdracht genereren mislukt: {{error}}", + "generatingProgress": "Axon: Terminal opdracht genereren...", + "commandGenerated": "Axon: Gegenereerd commando: {{command}}", + "generationFailed": "Axon: Opdracht genereren mislukt: {{error}}", "warningDialog": { "title": "Waarschuwing Terminalveiligheid", "okButton": "Ik begrijp", "message": "Controleer alle gegenereerde commando's dubbel voordat je ze uitvoert. Acties in de terminal kunnen niet altijd worden teruggedraaid— het uitvoeren van niet-geverifieerde commando's kan resulteren in onherstelbaar dataverlies of beschadiging van het systeem. Bekijk en begrijp het commando volledig voordat je verdergaat!", "cancelButton": "Annuleren" }, - "tipMessage": "Kilo: Druk op {{shortcut}} om terminalopdrachten te genereren" + "tipMessage": "Axon: Druk op {{shortcut}} om terminalopdrachten te genereren" }, "seeNewChanges": { "title": "Nieuwe wijzigingen weergeven", diff --git a/src/i18n/locales/pl/kilocode.json b/src/i18n/locales/pl/kilocode.json index 4feec4171d..40359f8749 100644 --- a/src/i18n/locales/pl/kilocode.json +++ b/src/i18n/locales/pl/kilocode.json @@ -54,13 +54,13 @@ "activated": "Generator wiadomości commit Axon Code aktywowany", "gitNotFound": "⚠️ Nie znaleziono repozytorium Git lub git jest niedostępny", "gitInitError": "⚠️ Błąd inicjalizacji Git: {{error}}", - "generating": "Kilo: Generowanie wiadomości commit...", - "noChanges": "Kilo: Nie znaleziono zmian do analizy", - "generated": "Kilo: Wiadomość commit wygenerowana!", - "generationFailed": "Kilo: Nie udało się wygenerować wiadomości commit: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Generowanie wiadomości przy użyciu niezatwierdzonych zmian", - "activationFailed": "Kilo: Nie udało się aktywować generatora wiadomości: {{error}}", - "providerRegistered": "Kilo: Zarejestrowano dostawcę wiadomości commit", + "generating": "Axon: Generowanie wiadomości commit...", + "noChanges": "Axon: Nie znaleziono zmian do analizy", + "generated": "Axon: Wiadomość commit wygenerowana!", + "generationFailed": "Axon: Nie udało się wygenerować wiadomości commit: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Generowanie wiadomości przy użyciu niezatwierdzonych zmian", + "activationFailed": "Axon: Nie udało się aktywować generatora wiadomości: {{error}}", + "providerRegistered": "Axon: Zarejestrowano dostawcę wiadomości commit", "errors": { "noProject": "Brak dostępnego projektu", "timeout": "Upłynął limit czasu żądania po 30 sekundach", @@ -156,18 +156,18 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Opisz polecenie, które chcesz wygenerować", + "inputPrompt": "Axon: Opisz polecenie, które chcesz wygenerować", "inputPlaceholder": "np. zakończ proces działający na porcie 3001, znajdź duże pliki, itp.", - "generatingProgress": "Kilo: Generowanie polecenia terminala...", - "generationFailed": "Kilo: Nie udało się wygenerować polecenia: {{error}}", - "commandGenerated": "Kilo: Wygenerowane polecenie: {{command}}", - "noActiveTerminal": "Kilo: Nie znaleziono aktywnego terminala. Proszę najpierw otworzyć terminal.", + "generatingProgress": "Axon: Generowanie polecenia terminala...", + "generationFailed": "Axon: Nie udało się wygenerować polecenia: {{error}}", + "commandGenerated": "Axon: Wygenerowane polecenie: {{command}}", + "noActiveTerminal": "Axon: Nie znaleziono aktywnego terminala. Proszę najpierw otworzyć terminal.", "warningDialog": { "title": "Ostrzeżenie o Bezpieczeństwie Terminala", "okButton": "Rozumiem", "message": "Dokładnie sprawdzaj wszystkie wygenerowane polecenia przed ich uruchomieniem. Działań wykonanych w terminalu nie zawsze można cofnąć – uruchamianie niezweryfikowanych poleceń może spowodować nieodwracalną utratę danych lub uszkodzenie systemu. Przejrzyj i zrozum polecenie w całości zanim przejdziesz dalej!", "cancelButton": "Anuluj" }, - "tipMessage": "Kilo: Naciśnij {{shortcut}}, aby wygenerować polecenia terminala" + "tipMessage": "Axon: Naciśnij {{shortcut}}, aby wygenerować polecenia terminala" } } diff --git a/src/i18n/locales/pt-BR/kilocode.json b/src/i18n/locales/pt-BR/kilocode.json index 4623f2615d..fa1798d9fa 100644 --- a/src/i18n/locales/pt-BR/kilocode.json +++ b/src/i18n/locales/pt-BR/kilocode.json @@ -54,13 +54,13 @@ "activated": "Gerador de mensagens de commit Axon Code ativado", "gitNotFound": "⚠️ Repositório Git não encontrado ou git indisponível", "gitInitError": "⚠️ Erro de inicialização do Git: {{error}}", - "generating": "Kilo: Gerando mensagem de commit...", - "noChanges": "Kilo: Nenhuma alteração encontrada para análise", - "generated": "Kilo: Mensagem de commit gerada!", - "generationFailed": "Kilo: Falha ao gerar mensagem de commit: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Gerando mensagem usando alterações não preparadas", - "activationFailed": "Kilo: Falha ao ativar o gerador de mensagens: {{error}}", - "providerRegistered": "Kilo: Provedor de mensagens de commit registrado", + "generating": "Axon: Gerando mensagem de commit...", + "noChanges": "Axon: Nenhuma alteração encontrada para análise", + "generated": "Axon: Mensagem de commit gerada!", + "generationFailed": "Axon: Falha ao gerar mensagem de commit: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Gerando mensagem usando alterações não preparadas", + "activationFailed": "Axon: Falha ao ativar o gerador de mensagens: {{error}}", + "providerRegistered": "Axon: Provedor de mensagens de commit registrado", "errors": { "noProject": "Nenhum projeto disponível", "connectionFailed": "Falha ao conectar com a extensão Axon Code", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Descreva o comando que você deseja gerar", - "noActiveTerminal": "Kilo: Nenhum terminal ativo encontrado. Por favor, abra um terminal primeiro.", + "inputPrompt": "Axon: Descreva o comando que você deseja gerar", + "noActiveTerminal": "Axon: Nenhum terminal ativo encontrado. Por favor, abra um terminal primeiro.", "inputPlaceholder": "por exemplo, matar o processo rodando na porta 3001, encontrar arquivos grandes, etc", - "generatingProgress": "Kilo: Gerando comando de terminal...", - "commandGenerated": "Kilo: Comando gerado: {{command}}", - "generationFailed": "Kilo: Falha ao gerar comando: {{error}}", + "generatingProgress": "Axon: Gerando comando de terminal...", + "commandGenerated": "Axon: Comando gerado: {{command}}", + "generationFailed": "Axon: Falha ao gerar comando: {{error}}", "warningDialog": { "title": "Aviso de Segurança do Terminal", "message": "Verifique novamente todos os comandos gerados antes de executá-los. Ações no terminal nem sempre podem ser desfeitas — executar comandos não verificados pode resultar em perda irreversível de dados ou danos ao sistema. Revise e compreenda o comando completamente antes de prosseguir!", "okButton": "Eu entendo", "cancelButton": "Cancelar" }, - "tipMessage": "Kilo: Pressione {{shortcut}} para gerar comandos de terminal" + "tipMessage": "Axon: Pressione {{shortcut}} para gerar comandos de terminal" }, "seeNewChanges": { "title": "Exibindo novas alterações", diff --git a/src/i18n/locales/ru/kilocode.json b/src/i18n/locales/ru/kilocode.json index 1d509aba61..8f46c95b26 100644 --- a/src/i18n/locales/ru/kilocode.json +++ b/src/i18n/locales/ru/kilocode.json @@ -49,13 +49,13 @@ "activated": "Генератор сообщений коммитов Axon Code активирован", "gitNotFound": "⚠️ Репозиторий Git не найден или git недоступен", "gitInitError": "⚠️ Ошибка инициализации Git: {{error}}", - "generating": "Kilo: Генерация сообщения коммита...", - "noChanges": "Kilo: Изменения для анализа не найдены", - "generated": "Kilo: Сообщение коммита сгенерировано!", - "generationFailed": "Kilo: Ошибка генерации сообщения коммита: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Генерация сообщения с использованием незафиксированных изменений", - "activationFailed": "Kilo: Не удалось активировать генератор сообщений: {{error}}", - "providerRegistered": "Kilo: Поставщик сообщений коммитов зарегистрирован", + "generating": "Axon: Генерация сообщения коммита...", + "noChanges": "Axon: Изменения для анализа не найдены", + "generated": "Axon: Сообщение коммита сгенерировано!", + "generationFailed": "Axon: Ошибка генерации сообщения коммита: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Генерация сообщения с использованием незафиксированных изменений", + "activationFailed": "Axon: Не удалось активировать генератор сообщений: {{error}}", + "providerRegistered": "Axon: Поставщик сообщений коммитов зарегистрирован", "errors": { "noProject": "Нет доступных проектов", "invalidResponse": "Получен неверный формат ответа от расширения", @@ -145,19 +145,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Опишите команду, которую вы хотите сгенерировать", + "inputPrompt": "Axon: Опишите команду, которую вы хотите сгенерировать", "inputPlaceholder": "например, завершить процесс, работающий на порту 3001, найти большие файлы и т.д.", - "generatingProgress": "Kilo: Создание команды терминала...", - "generationFailed": "Kilo: Не удалось сгенерировать команду: {{error}}", - "commandGenerated": "Kilo: Сгенерированная команда: {{command}}", - "noActiveTerminal": "Kilo: Активный терминал не найден. Пожалуйста, сначала откройте терминал.", + "generatingProgress": "Axon: Создание команды терминала...", + "generationFailed": "Axon: Не удалось сгенерировать команду: {{error}}", + "commandGenerated": "Axon: Сгенерированная команда: {{command}}", + "noActiveTerminal": "Axon: Активный терминал не найден. Пожалуйста, сначала откройте терминал.", "warningDialog": { "title": "Предупреждение о безопасности терминала", "okButton": "Я понимаю", "message": "Перепроверяйте все сгенерированные команды перед их выполнением. Действия в терминале не всегда можно отменить — запуск непроверенных команд может привести к необратимой потере данных или повреждению системы. Полностью просмотрите и осознайте команду перед тем, как продолжить!", "cancelButton": "Отменить" }, - "tipMessage": "Kilo: Нажмите {{shortcut}}, чтобы сгенерировать команды терминала" + "tipMessage": "Axon: Нажмите {{shortcut}}, чтобы сгенерировать команды терминала" }, "checkpoints": { "nestedGitRepos": "Контрольные точки недоступны, поскольку обнаружен вложенный Git-репозиторий по адресу: {{path}}. Пожалуйста, удалите или переместите вложенные Git-репозитории для использования функции контрольных точек или отключите контрольные точки в настройках, чтобы скрыть это предупреждение.", diff --git a/src/i18n/locales/th/kilocode.json b/src/i18n/locales/th/kilocode.json index 4d32e32688..d9bdedef11 100644 --- a/src/i18n/locales/th/kilocode.json +++ b/src/i18n/locales/th/kilocode.json @@ -54,13 +54,13 @@ "activated": "ตัวสร้างข้อความคอมมิต Axon Code เปิดใช้งานแล้ว", "gitNotFound": "⚠️ ไม่พบที่เก็บ Git หรือ git ไม่พร้อมใช้งาน", "gitInitError": "⚠️ ข้อผิดพลาดในการเริ่มต้น Git: {{error}}", - "generating": "Kilo: กำลังสร้างข้อความคอมมิต...", - "noChanges": "Kilo: ไม่พบการเปลี่ยนแปลงใดๆ สำหรับการวิเคราะห์", - "generated": "Kilo: สร้างข้อความคอมมิตแล้ว!", - "generationFailed": "Kilo: สร้างข้อความคอมมิตไม่สำเร็จ: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: กำลังสร้างข้อความโดยใช้การเปลี่ยนแปลงที่ยังไม่ได้จัดเก็บ", - "activationFailed": "Kilo: เปิดใช้งานตัวสร้างข้อความไม่สำเร็จ: {{error}}", - "providerRegistered": "Kilo: ผู้ให้บริการข้อความคอมมิตลงทะเบียนแล้ว", + "generating": "Axon: กำลังสร้างข้อความคอมมิต...", + "noChanges": "Axon: ไม่พบการเปลี่ยนแปลงใดๆ สำหรับการวิเคราะห์", + "generated": "Axon: สร้างข้อความคอมมิตแล้ว!", + "generationFailed": "Axon: สร้างข้อความคอมมิตไม่สำเร็จ: {{errorMessage}}", + "generatingFromUnstaged": "Axon: กำลังสร้างข้อความโดยใช้การเปลี่ยนแปลงที่ยังไม่ได้จัดเก็บ", + "activationFailed": "Axon: เปิดใช้งานตัวสร้างข้อความไม่สำเร็จ: {{error}}", + "providerRegistered": "Axon: ผู้ให้บริการข้อความคอมมิตลงทะเบียนแล้ว", "errors": { "noProject": "ไม่มีโครงการที่ใช้งานได้", "timeout": "คำขอหมดเวลาหลังจาก 30 วินาที", @@ -156,18 +156,18 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: อธิบายคำสั่งที่คุณต้องการสร้าง", - "noActiveTerminal": "Kilo: ไม่พบเทอร์มินัลที่ใช้งานอยู่ กรุณาเปิดเทอร์มินัลก่อน", - "generatingProgress": "Kilo: กำลังสร้างคำสั่งเทอร์มินัล...", - "commandGenerated": "Kilo: คำสั่งที่สร้างขึ้น: {{command}}", + "inputPrompt": "Axon: อธิบายคำสั่งที่คุณต้องการสร้าง", + "noActiveTerminal": "Axon: ไม่พบเทอร์มินัลที่ใช้งานอยู่ กรุณาเปิดเทอร์มินัลก่อน", + "generatingProgress": "Axon: กำลังสร้างคำสั่งเทอร์มินัล...", + "commandGenerated": "Axon: คำสั่งที่สร้างขึ้น: {{command}}", "inputPlaceholder": "เช่น ยุติกระบวนการที่ทำงานบนพอร์ต 3001, ค้นหาไฟล์ขนาดใหญ่, ฯลฯ", - "generationFailed": "Kilo: สร้างคำสั่งไม่สำเร็จ: {{error}}", + "generationFailed": "Axon: สร้างคำสั่งไม่สำเร็จ: {{error}}", "warningDialog": { "title": "คำเตือนความปลอดภัยของเทอร์มินัล", "okButton": "ฉันเข้าใจแล้ว", "message": "ตรวจสอบคำสั่งที่สร้างขึ้นทั้งหมดอีกครั้งก่อนที่จะรันคำสั่งเหล่านั้น การดำเนินการในเทอร์มินัลไม่สามารถยกเลิกได้เสมอ — การรันคำสั่งที่ไม่ได้ตรวจสอบอาจส่งผลให้เกิดการสูญเสียข้อมูลหรือความเสียหายต่อระบบที่ไม่สามารถแก้ไขได้ ตรวจสอบและทำความเข้าใจคำสั่งอย่างครบถ้วนก่อนดำเนินการต่อไป!", "cancelButton": "ยกเลิก" }, - "tipMessage": "Kilo: กด {{shortcut}} เพื่อสร้างคำสั่งเทอร์มินัล" + "tipMessage": "Axon: กด {{shortcut}} เพื่อสร้างคำสั่งเทอร์มินัล" } } diff --git a/src/i18n/locales/tr/kilocode.json b/src/i18n/locales/tr/kilocode.json index 3ec22e1d9c..03ca8d42d2 100644 --- a/src/i18n/locales/tr/kilocode.json +++ b/src/i18n/locales/tr/kilocode.json @@ -49,13 +49,13 @@ "activated": "Axon Code commit mesajı oluşturucu etkinleştirildi", "gitNotFound": "⚠️ Git deposu bulunamadı veya git kullanılamıyor", "gitInitError": "⚠️ Git başlatma hatası: {{error}}", - "generating": "Kilo: Commit mesajı oluşturuluyor...", - "noChanges": "Kilo: Analiz edilecek değişiklik bulunamadı", - "generated": "Kilo: Commit mesajı oluşturuldu!", - "generationFailed": "Kilo: Commit mesajı oluşturulamadı: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Hazırlanmamış değişikliklerle mesaj oluşturuluyor", - "activationFailed": "Kilo: Mesaj oluşturucu etkinleştirilemedi: {{error}}", - "providerRegistered": "Kilo: Commit mesajı sağlayıcısı kaydedildi", + "generating": "Axon: Commit mesajı oluşturuluyor...", + "noChanges": "Axon: Analiz edilecek değişiklik bulunamadı", + "generated": "Axon: Commit mesajı oluşturuldu!", + "generationFailed": "Axon: Commit mesajı oluşturulamadı: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Hazırlanmamış değişikliklerle mesaj oluşturuluyor", + "activationFailed": "Axon: Mesaj oluşturucu etkinleştirilemedi: {{error}}", + "providerRegistered": "Axon: Commit mesajı sağlayıcısı kaydedildi", "errors": { "noProject": "Proje mevcut değil", "connectionFailed": "Axon Code uzantısına bağlanılamadı", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "noActiveTerminal": "Kilo: Aktif terminal bulunamadı. Lütfen önce bir terminal açın.", - "inputPrompt": "Kilo: Oluşturmak istediğiniz komutu açıklayın", + "noActiveTerminal": "Axon: Aktif terminal bulunamadı. Lütfen önce bir terminal açın.", + "inputPrompt": "Axon: Oluşturmak istediğiniz komutu açıklayın", "inputPlaceholder": "örn., 3001 portunda çalışan işlemi sonlandır, büyük dosyaları bul, vb.", - "generatingProgress": "Kilo: Uçbirim komutu oluşturuluyor...", - "commandGenerated": "Kilo: Oluşturulan komut: {{command}}", - "generationFailed": "Kilo: Komut oluşturulamadı: {{error}}", + "generatingProgress": "Axon: Uçbirim komutu oluşturuluyor...", + "commandGenerated": "Axon: Oluşturulan komut: {{command}}", + "generationFailed": "Axon: Komut oluşturulamadı: {{error}}", "warningDialog": { "title": "Uçbirim Güvenlik Uyarısı", "okButton": "Anlıyorum", "message": "Oluşturulan tüm komutları çalıştırmadan önce iki kez kontrol edin. Terminal eylemleri her zaman geri alınamaz— doğrulanmamış komutları çalıştırmak geri döndürülemez veri kaybına veya sistem hasarına neden olabilir. İlerlemeden önce komutu tamamen inceleyin ve anlayın!", "cancelButton": "İptal" }, - "tipMessage": "Kilo: Terminal komutları oluşturmak için {{shortcut}} tuşuna basın" + "tipMessage": "Axon: Terminal komutları oluşturmak için {{shortcut}} tuşuna basın" }, "seeNewChanges": { "title": "Yeni değişiklikler gösteriliyor", diff --git a/src/i18n/locales/uk/kilocode.json b/src/i18n/locales/uk/kilocode.json index 8659325172..4886609494 100644 --- a/src/i18n/locales/uk/kilocode.json +++ b/src/i18n/locales/uk/kilocode.json @@ -54,13 +54,13 @@ "activated": "Генератор повідомлень коммітів Axon Code активовано", "gitNotFound": "⚠️ Репозиторій Git не знайдено або git недоступний", "gitInitError": "⚠️ Помилка ініціалізації Git: {{error}}", - "generating": "Kilo: Генерування повідомлення комміту...", - "noChanges": "Kilo: Змін для аналізу не знайдено", - "generated": "Kilo: Повідомлення комміту згенеровано!", - "generationFailed": "Kilo: Помилка генерації повідомлення комміту: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Генерація повідомлення з використанням незафіксованих змін", - "activationFailed": "Kilo: Не вдалося активувати генератор повідомлень: {{error}}", - "providerRegistered": "Kilo: Постачальник повідомлень коммітів зареєстровано", + "generating": "Axon: Генерування повідомлення комміту...", + "noChanges": "Axon: Змін для аналізу не знайдено", + "generated": "Axon: Повідомлення комміту згенеровано!", + "generationFailed": "Axon: Помилка генерації повідомлення комміту: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Генерація повідомлення з використанням незафіксованих змін", + "activationFailed": "Axon: Не вдалося активувати генератор повідомлень: {{error}}", + "providerRegistered": "Axon: Постачальник повідомлень коммітів зареєстровано", "errors": { "noProject": "Проєкти відсутні", "connectionFailed": "Не вдалося підключитися до розширення Axon Code", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Опишіть команду, яку ви хочете згенерувати", + "inputPrompt": "Axon: Опишіть команду, яку ви хочете згенерувати", "inputPlaceholder": "напр., завершити процес на порту 3001, знайти великі файли і т.д.", - "noActiveTerminal": "Kilo: Не знайдено активного терміналу. Будь ласка, спочатку відкрийте термінал.", - "generatingProgress": "Kilo: Генерування команди терміналу...", - "commandGenerated": "Kilo: Згенерована команда: {{command}}", - "generationFailed": "Kilo: Не вдалося згенерувати команду: {{error}}", + "noActiveTerminal": "Axon: Не знайдено активного терміналу. Будь ласка, спочатку відкрийте термінал.", + "generatingProgress": "Axon: Генерування команди терміналу...", + "commandGenerated": "Axon: Згенерована команда: {{command}}", + "generationFailed": "Axon: Не вдалося згенерувати команду: {{error}}", "warningDialog": { "title": "Попередження щодо Безпеки Терміналу", "okButton": "Я розумію", "message": "Перевіряйте двічі всі згенеровані команди перед їх запуском. Дії в терміналі не завжди можна скасувати — запуск неперевірених команд може призвести до незворотної втрати даних або пошкодження системи. Перегляньте та повністю зрозумійте команду перед тим, як продовжити!", "cancelButton": "Скасувати" }, - "tipMessage": "Kilo: Натисніть {{shortcut}}, щоб генерувати команди терміналу" + "tipMessage": "Axon: Натисніть {{shortcut}}, щоб генерувати команди терміналу" }, "seeNewChanges": { "title": "Показ нових змін", diff --git a/src/i18n/locales/vi/kilocode.json b/src/i18n/locales/vi/kilocode.json index 540356937c..dfaabb4b1a 100644 --- a/src/i18n/locales/vi/kilocode.json +++ b/src/i18n/locales/vi/kilocode.json @@ -54,13 +54,13 @@ "activated": "Trình tạo thông báo commit Axon Code đã được kích hoạt", "gitNotFound": "⚠️ Không tìm thấy kho lưu trữ Git hoặc git không khả dụng", "gitInitError": "⚠️ Lỗi khởi tạo Git: {{error}}", - "generating": "Kilo: Đang tạo thông báo commit...", - "noChanges": "Kilo: Không tìm thấy thay đổi nào để phân tích", - "generated": "Kilo: Đã tạo thông báo commit!", - "generationFailed": "Kilo: Tạo thông báo commit không thành công: {{errorMessage}}", - "generatingFromUnstaged": "Kilo: Đang tạo thông báo bằng các thay đổi chưa được chuẩn bị", - "activationFailed": "Kilo: Kích hoạt trình tạo thông báo không thành công: {{error}}", - "providerRegistered": "Kilo: Nhà cung cấp thông báo commit đã được đăng ký", + "generating": "Axon: Đang tạo thông báo commit...", + "noChanges": "Axon: Không tìm thấy thay đổi nào để phân tích", + "generated": "Axon: Đã tạo thông báo commit!", + "generationFailed": "Axon: Tạo thông báo commit không thành công: {{errorMessage}}", + "generatingFromUnstaged": "Axon: Đang tạo thông báo bằng các thay đổi chưa được chuẩn bị", + "activationFailed": "Axon: Kích hoạt trình tạo thông báo không thành công: {{error}}", + "providerRegistered": "Axon: Nhà cung cấp thông báo commit đã được đăng ký", "errors": { "noProject": "Không có dự án nào", "connectionFailed": "Không thể kết nối với tiện ích mở rộng Axon Code", @@ -150,19 +150,19 @@ } }, "terminalCommandGenerator": { - "inputPrompt": "Kilo: Mô tả lệnh bạn muốn tạo", - "generatingProgress": "Kilo: Đang tạo lệnh terminal...", + "inputPrompt": "Axon: Mô tả lệnh bạn muốn tạo", + "generatingProgress": "Axon: Đang tạo lệnh terminal...", "inputPlaceholder": "ví dụ: tắt tiến trình đang chạy trên cổng 3001, tìm các tệp tin lớn, v.v.", - "noActiveTerminal": "Kilo: Không tìm thấy terminal đang hoạt động. Vui lòng mở terminal trước.", - "commandGenerated": "Kilo: Lệnh đã tạo: {{command}}", - "generationFailed": "Kilo: Không thể tạo lệnh: {{error}}", + "noActiveTerminal": "Axon: Không tìm thấy terminal đang hoạt động. Vui lòng mở terminal trước.", + "commandGenerated": "Axon: Lệnh đã tạo: {{command}}", + "generationFailed": "Axon: Không thể tạo lệnh: {{error}}", "warningDialog": { "okButton": "Tôi Hiểu", "title": "Cảnh Báo An Toàn Thiết Bị Đầu Cuối", "message": "Kiểm tra kỹ lưỡng tất cả các lệnh được tạo ra trước khi chạy chúng. Các thao tác trên terminal không phải lúc nào cũng có thể hoàn tác — việc chạy các lệnh chưa được xác minh có thể dẫn đến mất dữ liệu không thể khôi phục hoặc làm hỏng hệ thống. Hãy xem xét và hiểu rõ hoàn toàn lệnh trước khi tiếp tục!", "cancelButton": "Hủy" }, - "tipMessage": "Kilo: Nhấn {{shortcut}} để tạo lệnh terminal" + "tipMessage": "Axon: Nhấn {{shortcut}} để tạo lệnh terminal" }, "seeNewChanges": { "title": "Đang hiển thị các thay đổi mới", diff --git a/src/i18n/locales/zh-CN/kilocode.json b/src/i18n/locales/zh-CN/kilocode.json index cd0561e0da..0b9dba23bc 100644 --- a/src/i18n/locales/zh-CN/kilocode.json +++ b/src/i18n/locales/zh-CN/kilocode.json @@ -54,9 +54,9 @@ "activated": "Axon Code: 提交信息生成器已启动", "gitNotFound": "⚠️ Git 仓库未找到或 git 不可用", "gitInitError": "⚠️ Git 初始化错误:{{error}}", - "generating": "Kilo: 正在生成提交信息...", - "noChanges": "Kilo: 未发现可分析的更改", - "generated": "Kilo: 已生成提交信息!", + "generating": "Axon: 正在生成提交信息...", + "noChanges": "Axon: 未发现可分析的更改", + "generated": "Axon: 已生成提交信息!", "generationFailed": "Kilo:生成提交信息失败:{{errorMessage}}", "generatingFromUnstaged": "Kilo:使用未暂存的更改生成消息", "providerRegistered": "Kilo:提交消息提供程序已注册", diff --git a/src/i18n/locales/zh-TW/kilocode.json b/src/i18n/locales/zh-TW/kilocode.json index 3c253561f9..89e1907c35 100644 --- a/src/i18n/locales/zh-TW/kilocode.json +++ b/src/i18n/locales/zh-TW/kilocode.json @@ -151,7 +151,7 @@ }, "terminalCommandGenerator": { "tipMessage": "Kilo:按下 {{shortcut}} 產生終端機指令", - "noActiveTerminal": "Kilo: 找不到活動的終端機。請先開啟一個終端機", + "noActiveTerminal": "Axon: 找不到活動的終端機。請先開啟一個終端機", "inputPrompt": "Kilo:描述您想要產生的指令", "inputPlaceholder": "例如,結束在連接埠 3001 上執行的行程,尋找大檔案等", "generatingProgress": "Kilo:正在產生終端機指令...", diff --git a/src/package.nls.ar.json b/src/package.nls.ar.json index 101de4f8af..8545235203 100644 --- a/src/package.nls.ar.json +++ b/src/package.nls.ar.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "تطبيق التعديل المقترح الحالي", "ghost.commands.applyAllSuggestions": "تطبيق جميع التعديلات المقترحة", "ghost.commands.goToNextSuggestion": "انتقل إلى الاقتراح التالي", - "ghost.commands.goToPreviousSuggestion": "انتقل إلى الاقتراح السابق" + "ghost.commands.goToPreviousSuggestion": "انتقل إلى الاقتراح السابق", + "command.memories.title": "الذكريات" } diff --git a/src/package.nls.ca.json b/src/package.nls.ca.json index f608e595e8..258e5f2063 100644 --- a/src/package.nls.ca.json +++ b/src/package.nls.ca.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Aplicar Edició Suggerida Actual", "ghost.commands.applyAllSuggestions": "Aplicar Totes les Edicions Suggerides", "ghost.commands.goToNextSuggestion": "Anar al Suggeriment Següent", - "ghost.commands.goToPreviousSuggestion": "Anar al Suggeriment Anterior" + "ghost.commands.goToPreviousSuggestion": "Anar al Suggeriment Anterior", + "command.memories.title": "Memòries" } diff --git a/src/package.nls.cs.json b/src/package.nls.cs.json index a05267d047..e195bc97ea 100644 --- a/src/package.nls.cs.json +++ b/src/package.nls.cs.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Použít Aktuální Navrženou Úpravu", "ghost.commands.applyAllSuggestions": "Použít Všechny Navrhované Úpravy", "ghost.commands.goToNextSuggestion": "Přejít na Další Návrh", - "ghost.commands.goToPreviousSuggestion": "Přejít na Předchozí Návrh" + "ghost.commands.goToPreviousSuggestion": "Přejít na Předchozí Návrh", + "command.memories.title": "Paměti" } diff --git a/src/package.nls.de.json b/src/package.nls.de.json index d49281edc1..6a30625078 100644 --- a/src/package.nls.de.json +++ b/src/package.nls.de.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Aktuelle Vorgeschlagene Bearbeitung Anwenden", "ghost.commands.applyAllSuggestions": "Alle Vorgeschlagenen Bearbeitungen Anwenden", "ghost.commands.goToNextSuggestion": "Zur Nächsten Vorgeschlagenen Bearbeitung", - "ghost.commands.goToPreviousSuggestion": "Zur Vorherigen Vorgeschlagenen Bearbeitung" + "ghost.commands.goToPreviousSuggestion": "Zur Vorherigen Vorgeschlagenen Bearbeitung", + "command.memories.title": "Erinnerungen" } diff --git a/src/package.nls.es.json b/src/package.nls.es.json index 5fb7eb9121..ec7ba0eaf6 100644 --- a/src/package.nls.es.json +++ b/src/package.nls.es.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Aplicar Edición Sugerida Actual", "ghost.commands.applyAllSuggestions": "Aplicar Todas las Ediciones Sugeridas", "ghost.commands.goToNextSuggestion": "Ir a la Siguiente Sugerencia", - "ghost.commands.goToPreviousSuggestion": "Ir a la Sugerencia Anterior" + "ghost.commands.goToPreviousSuggestion": "Ir a la Sugerencia Anterior", + "command.memories.title": "Memorias" } diff --git a/src/package.nls.fr.json b/src/package.nls.fr.json index 9389ecd389..e95dcc3a2d 100644 --- a/src/package.nls.fr.json +++ b/src/package.nls.fr.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Appliquer la Modification Suggérée Actuelle", "ghost.commands.applyAllSuggestions": "Appliquer Toutes les Modifications Suggérées", "ghost.commands.goToNextSuggestion": "Aller à la Suggestion Suivante", - "ghost.commands.goToPreviousSuggestion": "Aller à la Suggestion Précédente" + "ghost.commands.goToPreviousSuggestion": "Aller à la Suggestion Précédente", + "command.memories.title": "Mémoires" } diff --git a/src/package.nls.hi.json b/src/package.nls.hi.json index f92ecb021a..5132a3791d 100644 --- a/src/package.nls.hi.json +++ b/src/package.nls.hi.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "वर्तमान सुझाया गया संपादन लागू करें", "ghost.commands.applyAllSuggestions": "सभी सुझाए गए संपादन लागू करें", "ghost.commands.goToNextSuggestion": "अगले सुझाव पर जाएं", - "ghost.commands.goToPreviousSuggestion": "पिछले सुझाव पर जाएं" + "ghost.commands.goToPreviousSuggestion": "पिछले सुझाव पर जाएं", + "command.memories.title": "यादें" } diff --git a/src/package.nls.id.json b/src/package.nls.id.json index 3cdcde7741..16a8e7f49e 100644 --- a/src/package.nls.id.json +++ b/src/package.nls.id.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Terapkan Saran Pengeditan Saat Ini", "ghost.commands.applyAllSuggestions": "Terapkan Semua Saran Pengeditan", "ghost.commands.goToNextSuggestion": "Pergi ke Saran Berikutnya", - "ghost.commands.goToPreviousSuggestion": "Pergi ke Saran Sebelumnya" + "ghost.commands.goToPreviousSuggestion": "Pergi ke Saran Sebelumnya", + "command.memories.title": "Memori" } diff --git a/src/package.nls.it.json b/src/package.nls.it.json index 2029c3f5e2..954711b6c6 100644 --- a/src/package.nls.it.json +++ b/src/package.nls.it.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Applica Modifica Suggerita Corrente", "ghost.commands.applyAllSuggestions": "Applica Tutte le Modifiche Suggerite", "ghost.commands.goToNextSuggestion": "Vai alla Prossima Suggerimento", - "ghost.commands.goToPreviousSuggestion": "Vai al Suggerimento Precedente" + "ghost.commands.goToPreviousSuggestion": "Vai al Suggerimento Precedente", + "command.memories.title": "Memorie" } diff --git a/src/package.nls.ja.json b/src/package.nls.ja.json index 5a0a508fdf..702babb4d4 100644 --- a/src/package.nls.ja.json +++ b/src/package.nls.ja.json @@ -54,5 +54,6 @@ "settings.useAgentRules.description": "エージェント固有のルールのためにAGENTS.mdファイルの読み込みを有効にします(参照:https://agent-rules.org/)", "settings.apiRequestTimeout.description": "API応答を待機する最大時間(秒)(0 = タイムアウトなし、1-86400秒、デフォルト: 600秒)。LM StudioやOllamaのような、より多くの処理時間を必要とする可能性のあるローカルプロバイダーには、より高い値が推奨されます。", "settings.newTaskRequireTodos.description": "new_taskツールで新しいタスクを作成する際にtodosパラメータを必須にする", - "settings.codeIndex.embeddingBatchSize.description": "コードインデックス作成中のエンベディング操作のバッチサイズ。APIプロバイダーの制限に基づいてこれを調整してください。デフォルトは60です。" + "settings.codeIndex.embeddingBatchSize.description": "コードインデックス作成中のエンベディング操作のバッチサイズ。APIプロバイダーの制限に基づいてこれを調整してください。デフォルトは60です。", + "command.memories.title": "メモリ" } diff --git a/src/package.nls.ko.json b/src/package.nls.ko.json index 4bf8edae2c..7177cfb148 100644 --- a/src/package.nls.ko.json +++ b/src/package.nls.ko.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "현재 편집 제안 적용", "ghost.commands.applyAllSuggestions": "모든 편집 제안 적용", "ghost.commands.goToNextSuggestion": "다음 제안으로 이동", - "ghost.commands.goToPreviousSuggestion": "이전 제안으로 이동" + "ghost.commands.goToPreviousSuggestion": "이전 제안으로 이동", + "command.memories.title": "메모리" } diff --git a/src/package.nls.nl.json b/src/package.nls.nl.json index e51afb5a84..3935f68441 100644 --- a/src/package.nls.nl.json +++ b/src/package.nls.nl.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Huidige Bewerkingssuggestie Toepassen", "ghost.commands.applyAllSuggestions": "Alle Bewerkingssuggesties Toepassen", "ghost.commands.goToNextSuggestion": "Ga Naar Volgende Suggestie", - "ghost.commands.goToPreviousSuggestion": "Ga Naar Vorige Suggestie" + "ghost.commands.goToPreviousSuggestion": "Ga Naar Vorige Suggestie", + "command.memories.title": "Herinneringen" } diff --git a/src/package.nls.pl.json b/src/package.nls.pl.json index a472b7e9bd..8f2dad5428 100644 --- a/src/package.nls.pl.json +++ b/src/package.nls.pl.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Zastosuj Bieżącą Sugestię Edycji", "ghost.commands.applyAllSuggestions": "Zastosuj Wszystkie Sugestie Edycji", "ghost.commands.goToNextSuggestion": "Przejdź do Następnej Sugestii", - "ghost.commands.goToPreviousSuggestion": "Przejdź do Poprzedniej Sugestii" + "ghost.commands.goToPreviousSuggestion": "Przejdź do Poprzedniej Sugestii", + "command.memories.title": "Pamięci" } diff --git a/src/package.nls.pt-BR.json b/src/package.nls.pt-BR.json index fc58072bb1..8e0539c506 100644 --- a/src/package.nls.pt-BR.json +++ b/src/package.nls.pt-BR.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Aplicar Sugestão de Edição Atual", "ghost.commands.applyAllSuggestions": "Aplicar Todas as Sugestões de Edição", "ghost.commands.goToNextSuggestion": "Ir Para a Próxima Sugestão", - "ghost.commands.goToPreviousSuggestion": "Ir Para a Sugestão Anterior" + "ghost.commands.goToPreviousSuggestion": "Ir Para a Sugestão Anterior", + "command.memories.title": "Memórias" } diff --git a/src/package.nls.ru.json b/src/package.nls.ru.json index 68d28c2ef8..ac8a3436a2 100644 --- a/src/package.nls.ru.json +++ b/src/package.nls.ru.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Применить Текущую Предлагаемую Правку", "ghost.commands.applyAllSuggestions": "Применить Все Предлагаемые Правки", "ghost.commands.goToNextSuggestion": "Перейти к Следующему Предложению", - "ghost.commands.goToPreviousSuggestion": "Перейти к Предыдущему Предложению" + "ghost.commands.goToPreviousSuggestion": "Перейти к Предыдущему Предложению", + "command.memories.title": "Воспоминания" } diff --git a/src/package.nls.th.json b/src/package.nls.th.json index 678c9c8d9b..d70044b1f2 100644 --- a/src/package.nls.th.json +++ b/src/package.nls.th.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "ใช้ข้อเสนอแนะการแก้ไขปัจจุบัน", "ghost.commands.applyAllSuggestions": "ใช้ข้อเสนอแนะการแก้ไขทั้งหมด", "ghost.commands.goToNextSuggestion": "ไปยังข้อเสนอแนะถัดไป", - "ghost.commands.goToPreviousSuggestion": "ไปยังข้อเสนอแนะก่อนหน้า" + "ghost.commands.goToPreviousSuggestion": "ไปยังข้อเสนอแนะก่อนหน้า", + "command.memories.title": "ความทรงจำ" } diff --git a/src/package.nls.tr.json b/src/package.nls.tr.json index 230edf0f56..cf022b99c1 100644 --- a/src/package.nls.tr.json +++ b/src/package.nls.tr.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Mevcut Düzenleme Önerisini Uygula", "ghost.commands.applyAllSuggestions": "Tüm Düzenleme Önerilerini Uygula", "ghost.commands.goToNextSuggestion": "Sonraki Öneriye Git", - "ghost.commands.goToPreviousSuggestion": "Önceki Öneriye Git" + "ghost.commands.goToPreviousSuggestion": "Önceki Öneriye Git", + "command.memories.title": "Hafızalar" } diff --git a/src/package.nls.uk.json b/src/package.nls.uk.json index 08b75b1656..07f8bbc37e 100644 --- a/src/package.nls.uk.json +++ b/src/package.nls.uk.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Застосувати Поточну Пропозицію Редагування", "ghost.commands.applyAllSuggestions": "Застосувати Всі Пропозиції Редагування", "ghost.commands.goToNextSuggestion": "Перейти до Наступної Пропозиції", - "ghost.commands.goToPreviousSuggestion": "Перейти до Попередньої Пропозиції" + "ghost.commands.goToPreviousSuggestion": "Перейти до Попередньої Пропозиції", + "command.memories.title": "Спогади" } diff --git a/src/package.nls.vi.json b/src/package.nls.vi.json index babb263735..378b37571b 100644 --- a/src/package.nls.vi.json +++ b/src/package.nls.vi.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "Áp Dụng Gợi Ý Chỉnh Sửa Hiện Tại", "ghost.commands.applyAllSuggestions": "Áp Dụng Tất Cả Gợi Ý Chỉnh Sửa", "ghost.commands.goToNextSuggestion": "Đi Đến Gợi Ý Tiếp Theo", - "ghost.commands.goToPreviousSuggestion": "Đi Đến Gợi Ý Trước Đó" + "ghost.commands.goToPreviousSuggestion": "Đi Đến Gợi Ý Trước Đó", + "command.memories.title": "Ký ức" } diff --git a/src/package.nls.zh-CN.json b/src/package.nls.zh-CN.json index 6a85e6cfc1..a80994b21b 100644 --- a/src/package.nls.zh-CN.json +++ b/src/package.nls.zh-CN.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "应用当前建议编辑", "ghost.commands.applyAllSuggestions": "应用所有建议编辑", "ghost.commands.goToNextSuggestion": "转到下一个建议", - "ghost.commands.goToPreviousSuggestion": "转到上一个建议" + "ghost.commands.goToPreviousSuggestion": "转到上一个建议", + "command.memories.title": "记忆" } diff --git a/src/package.nls.zh-TW.json b/src/package.nls.zh-TW.json index 40ab57d211..845c3ab030 100644 --- a/src/package.nls.zh-TW.json +++ b/src/package.nls.zh-TW.json @@ -54,5 +54,6 @@ "ghost.commands.applyCurrentSuggestion": "套用目前編輯建議", "ghost.commands.applyAllSuggestions": "套用所有編輯建議", "ghost.commands.goToNextSuggestion": "前往下一個建議", - "ghost.commands.goToPreviousSuggestion": "前往上一個建議" + "ghost.commands.goToPreviousSuggestion": "前往上一個建議", + "command.memories.title": "記憶" } diff --git a/src/utils/__tests__/terminalCommandGenerator.spec.ts b/src/utils/__tests__/terminalCommandGenerator.spec.ts index df1f361caa..bd2f534165 100644 --- a/src/utils/__tests__/terminalCommandGenerator.spec.ts +++ b/src/utils/__tests__/terminalCommandGenerator.spec.ts @@ -26,7 +26,7 @@ vi.mock("../../core/config/ProviderSettingsManager", () => ({ vi.mock("../../i18n", () => ({ t: vi.fn((key: string, params?: any) => { const translations: Record = { - "kilocode:terminalCommandGenerator.inputPrompt": "Kilo: Describe the command you want to generate", + "kilocode:terminalCommandGenerator.inputPrompt": "Axon: Describe the command you want to generate", "kilocode:terminalCommandGenerator.inputPlaceholder": "e.g., kill the process running on port 3001, find large files, etc", "kilocode:terminalCommandGenerator.noActiveTerminal": @@ -120,7 +120,7 @@ describe("generateTerminalCommand", () => { }) expect(vscode.window.showInputBox).toHaveBeenCalledWith({ - prompt: "Kilo: Describe the command you want to generate", + prompt: "Axon: Describe the command you want to generate", placeHolder: "e.g., kill the process running on port 3001, find large files, etc", ignoreFocusOut: true, }) diff --git a/webview-ui/src/i18n/locales/ar/kilocode.json b/webview-ui/src/i18n/locales/ar/kilocode.json index 001e5187b3..5dec001ec4 100644 --- a/webview-ui/src/i18n/locales/ar/kilocode.json +++ b/webview-ui/src/i18n/locales/ar/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "ابدأ الآن", "manualModeButton": "استخدم مفتاح API الخاص بك", "alreadySignedUp": "مسجل من قبل؟", - "loginText": "سجّل دخولك هنا" + "loginText": "سجّل دخولك هنا", + "tagline": "وكيل هندسة الذكاء الاصطناعي", + "exploreMatterAI": "استكشف MatterAI" }, "lowCreditWarning": { "addCredit": "شحن الرصيد", @@ -35,7 +37,8 @@ }, "settings": { "sections": { - "mcp": "خوادم MCP" + "mcp": "خوادم MCP", + "codeReview": "مراجعات الكود بالذكاء الاصطناعي" }, "provider": { "account": "حساب Axon Code", diff --git a/webview-ui/src/i18n/locales/ar/memories.json b/webview-ui/src/i18n/locales/ar/memories.json new file mode 100644 index 0000000000..ff80692b8a --- /dev/null +++ b/webview-ui/src/i18n/locales/ar/memories.json @@ -0,0 +1,13 @@ +{ + "title": "الذكريات", + "done": "تم", + "searchPlaceholder": "البحث في الذكريات...", + "loading": "جاري تحميل الذكريات...", + "noMemories": "لم يتم العثور على ذكريات. يتم حفظ الذكريات عند إكمال المهام.", + "noResults": "لا توجد ذكريات تطابق بحثك.", + "count": "{{count}} ذكريات", + "currentWorkspace": "مساحة العمل الحالية", + "allWorkspaces": "جميع مساحات العمل", + "untitled": "بدون عنوان", + "delete": "حذف الذكرى" +} diff --git a/webview-ui/src/i18n/locales/ar/settings.json b/webview-ui/src/i18n/locales/ar/settings.json index 41defe6818..26b0ed75ae 100644 --- a/webview-ui/src/i18n/locales/ar/settings.json +++ b/webview-ui/src/i18n/locales/ar/settings.json @@ -34,7 +34,8 @@ "ui": "واجهة المستخدم", "experimental": "تجريبي", "language": "اللغة", - "about": "عن Axon Code" + "about": "عن Axon Code", + "codeReview": "مراجعات الكود بالذكاء الاصطناعي" }, "slashCommands": { "description": "إدارة أوامر الشرطة المائلة لتنفيذ سير العمل والإجراءات المخصصة بسرعة. تعرف أكثر" diff --git a/webview-ui/src/i18n/locales/ca/kilocode.json b/webview-ui/src/i18n/locales/ca/kilocode.json index 5d0bc8ee4b..ef5141dc2b 100644 --- a/webview-ui/src/i18n/locales/ca/kilocode.json +++ b/webview-ui/src/i18n/locales/ca/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Comença", "manualModeButton": "Utilitza la teva pròpia clau API", "alreadySignedUp": "Ja t'has registrat?", - "loginText": "Inicia sessió aquí" + "loginText": "Inicia sessió aquí", + "tagline": "L'Agent d'Enginyeria d'IA", + "exploreMatterAI": "Explora MatterAI" }, "lowCreditWarning": { "addCredit": "Afegir crèdit", @@ -32,7 +34,8 @@ }, "settings": { "sections": { - "mcp": "Servidors MCP" + "mcp": "Servidors MCP", + "codeReview": "Revisions de Codi amb IA" }, "provider": { "account": "Compte de Axon Code", diff --git a/webview-ui/src/i18n/locales/ca/memories.json b/webview-ui/src/i18n/locales/ca/memories.json new file mode 100644 index 0000000000..7107492bb0 --- /dev/null +++ b/webview-ui/src/i18n/locales/ca/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Memòries", + "done": "Fet", + "searchPlaceholder": "Cerca memòries...", + "loading": "Carregant memòries...", + "noMemories": "No s'han trobat memòries. Les memòries es desen quan completes tasques.", + "noResults": "No hi ha memòries que coincideixin amb la teva cerca.", + "count": "{{count}} memòries", + "currentWorkspace": "Espai de treball actual", + "allWorkspaces": "Tots els espais de treball", + "untitled": "Sense títol", + "delete": "Esborrar memòria" +} diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index 98e7415fbc..5284e2bc80 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -34,7 +34,8 @@ "experimental": "Experimental", "language": "Idioma", "about": "Sobre Axon Code", - "display": "Mostrar" + "display": "Mostrar", + "codeReview": "Revisions de Codi amb IA" }, "slashCommands": { "description": "Gestiona les teves comandes de barra per executar ràpidament fluxos de treball i accions personalitzades. Aprèn-ne més" diff --git a/webview-ui/src/i18n/locales/cs/kilocode.json b/webview-ui/src/i18n/locales/cs/kilocode.json index d2ced525f8..baa2643545 100644 --- a/webview-ui/src/i18n/locales/cs/kilocode.json +++ b/webview-ui/src/i18n/locales/cs/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Začít", "manualModeButton": "Použij vlastní API key", "alreadySignedUp": "Už jsi registrovaný?", - "loginText": "Přihlas se zde" + "loginText": "Přihlas se zde", + "tagline": "AI Engineering Agent", + "exploreMatterAI": "Prozkoumat MatterAI" }, "lowCreditWarning": { "addCredit": "Přidat kredit", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "MCP servery" + "mcp": "MCP servery", + "codeReview": "AI Code Reviews" }, "provider": { "account": "Účet Axon Code", diff --git a/webview-ui/src/i18n/locales/cs/memories.json b/webview-ui/src/i18n/locales/cs/memories.json new file mode 100644 index 0000000000..fb215e2d97 --- /dev/null +++ b/webview-ui/src/i18n/locales/cs/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Paměti", + "done": "Hotovo", + "searchPlaceholder": "Hledat paměti...", + "loading": "Načítání pamětí...", + "noMemories": "Nebyly nalezeny žádné paměti. Paměti se ukládají při dokončování úkolů.", + "noResults": "Žádné paměti neodpovídají vašemu vyhledávání.", + "count": "{{count}} pamětí", + "currentWorkspace": "Aktuální pracovní prostor", + "allWorkspaces": "Všechny pracovní prostory", + "untitled": "Bez názvu", + "delete": "Smazat paměť" +} diff --git a/webview-ui/src/i18n/locales/cs/settings.json b/webview-ui/src/i18n/locales/cs/settings.json index 975aab64c5..e21dd9a9c5 100644 --- a/webview-ui/src/i18n/locales/cs/settings.json +++ b/webview-ui/src/i18n/locales/cs/settings.json @@ -34,7 +34,8 @@ "ui": "Uživatelské rozhraní", "experimental": "Experimentální", "language": "Jazyk", - "about": "O Axon Code" + "about": "O Axon Code", + "codeReview": "AI Code Reviews" }, "slashCommands": { "description": "Spravujte své slash příkazy pro rychlé spouštění vlastních pracovních postupů a akcí. Více informací" diff --git a/webview-ui/src/i18n/locales/de/kilocode.json b/webview-ui/src/i18n/locales/de/kilocode.json index 72a8b3a09f..0cd7550199 100644 --- a/webview-ui/src/i18n/locales/de/kilocode.json +++ b/webview-ui/src/i18n/locales/de/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Loslegen", "manualModeButton": "Eigenen API-Schlüssel verwenden", "alreadySignedUp": "Bereits registriert?", - "loginText": "Hier anmelden" + "loginText": "Hier anmelden", + "tagline": "Der KI-Ingenieurs-Agent", + "exploreMatterAI": "MatterAI erkunden" }, "lowCreditWarning": { "addCredit": "Guthaben hinzufügen", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "MCP-Server" + "mcp": "MCP-Server", + "codeReview": "KI-Code-Reviews" }, "provider": { "account": "Axon Code Konto", diff --git a/webview-ui/src/i18n/locales/de/memories.json b/webview-ui/src/i18n/locales/de/memories.json new file mode 100644 index 0000000000..85b0e8f92e --- /dev/null +++ b/webview-ui/src/i18n/locales/de/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Erinnerungen", + "done": "Fertig", + "searchPlaceholder": "Erinnerungen suchen...", + "loading": "Erinnerungen werden geladen...", + "noMemories": "Keine Erinnerungen gefunden. Erinnerungen werden gespeichert, wenn Sie Aufgaben abschließen.", + "noResults": "Keine Erinnerungen stimmen mit Ihrer Suche überein.", + "count": "{{count}} Erinnerungen", + "currentWorkspace": "Aktueller Arbeitsbereich", + "allWorkspaces": "Alle Arbeitsbereiche", + "untitled": "Unbenannt", + "delete": "Erinnerung löschen" +} diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index 88bb53ff27..faacdcd2ff 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -34,7 +34,8 @@ "experimental": "Experimentell", "language": "Sprache", "about": "Über Axon Code", - "display": "Anzeigen" + "display": "Anzeigen", + "codeReview": "KI-Code-Reviews" }, "slashCommands": { "description": "Verwalte deine Slash-Befehle, um benutzerdefinierte Workflows und Aktionen schnell auszuführen. Mehr erfahren" diff --git a/webview-ui/src/i18n/locales/es/kilocode.json b/webview-ui/src/i18n/locales/es/kilocode.json index f1dc5af739..d40d597ba2 100644 --- a/webview-ui/src/i18n/locales/es/kilocode.json +++ b/webview-ui/src/i18n/locales/es/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Empezar", "manualModeButton": "Usa tu propia clave API", "alreadySignedUp": "¿Ya te registraste?", - "loginText": "Inicia sesión aquí" + "loginText": "Inicia sesión aquí", + "tagline": "El Agente de Ingeniería de IA", + "exploreMatterAI": "Explorar MatterAI" }, "lowCreditWarning": { "addCredit": "Añadir Crédito", @@ -32,7 +34,8 @@ }, "settings": { "sections": { - "mcp": "Servidores MCP" + "mcp": "Servidores MCP", + "codeReview": "Revisiones de Código con IA" }, "provider": { "account": "Cuenta de Axon Code", diff --git a/webview-ui/src/i18n/locales/es/memories.json b/webview-ui/src/i18n/locales/es/memories.json new file mode 100644 index 0000000000..55e940ac54 --- /dev/null +++ b/webview-ui/src/i18n/locales/es/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Memorias", + "done": "Hecho", + "searchPlaceholder": "Buscar memorias...", + "loading": "Cargando memorias...", + "noMemories": "No se encontraron memorias. Las memorias se guardan cuando completas tareas.", + "noResults": "No hay memorias que coincidan con tu búsqueda.", + "count": "{{count}} memorias", + "currentWorkspace": "Espacio de trabajo actual", + "allWorkspaces": "Todos los espacios de trabajo", + "untitled": "Sin título", + "delete": "Eliminar memoria" +} diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index 48354e6e60..d5c6ae437f 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -34,7 +34,8 @@ "experimental": "Experimental", "language": "Idioma", "about": "Acerca de Axon Code", - "display": "Mostrar" + "display": "Mostrar", + "codeReview": "Revisiones de Código con IA" }, "slashCommands": { "description": "Gestiona tus comandos de barra para ejecutar rápidamente flujos de trabajo y acciones personalizadas. Saber más" diff --git a/webview-ui/src/i18n/locales/fr/kilocode.json b/webview-ui/src/i18n/locales/fr/kilocode.json index a05b16bf05..23fef2a3f4 100644 --- a/webview-ui/src/i18n/locales/fr/kilocode.json +++ b/webview-ui/src/i18n/locales/fr/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Commencer", "manualModeButton": "Utilisez votre propre clé API", "alreadySignedUp": "Déjà inscrit ?", - "loginText": "Connectez-vous ici" + "loginText": "Connectez-vous ici", + "tagline": "L'Agent d'Ingénierie IA", + "exploreMatterAI": "Explorer MatterAI" }, "lowCreditWarning": { "addCredit": "Ajouter du crédit", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "Serveurs MCP" + "mcp": "Serveurs MCP", + "codeReview": "Revues de Code IA" }, "provider": { "account": "Compte Axon Code", diff --git a/webview-ui/src/i18n/locales/fr/memories.json b/webview-ui/src/i18n/locales/fr/memories.json new file mode 100644 index 0000000000..d33c03e093 --- /dev/null +++ b/webview-ui/src/i18n/locales/fr/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Mémoires", + "done": "Terminé", + "searchPlaceholder": "Rechercher des mémoires...", + "loading": "Chargement des mémoires...", + "noMemories": "Aucune mémoire trouvée. Les mémoires sont enregistrées lorsque vous terminez des tâches.", + "noResults": "Aucune mémoire ne correspond à votre recherche.", + "count": "{{count}} mémoires", + "currentWorkspace": "Espace de travail actuel", + "allWorkspaces": "Tous les espaces de travail", + "untitled": "Sans titre", + "delete": "Supprimer la mémoire" +} diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index 72235f50dc..aae2a0c746 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -34,7 +34,8 @@ "experimental": "Expérimental", "language": "Langue", "about": "À propos de Axon Code", - "display": "Afficher" + "display": "Afficher", + "codeReview": "Revues de Code IA" }, "slashCommands": { "description": "Gérez vos commandes slash pour exécuter rapidement des flux de travail et des actions personnalisées. En savoir plus" diff --git a/webview-ui/src/i18n/locales/hi/kilocode.json b/webview-ui/src/i18n/locales/hi/kilocode.json index 79fdc16168..96842ff9a6 100644 --- a/webview-ui/src/i18n/locales/hi/kilocode.json +++ b/webview-ui/src/i18n/locales/hi/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "शुरू करें", "manualModeButton": "अपनी स्वयं की API कुंजी का उपयोग करें", "alreadySignedUp": "पहले से साइन अप हैं?", - "loginText": "यहाँ लॉग इन करें" + "loginText": "यहाँ लॉग इन करें", + "tagline": "AI इंजीनियरिंग एजेंट", + "exploreMatterAI": "MatterAI का अन्वेषण करें" }, "lowCreditWarning": { "addCredit": "क्रेडिट जोड़ें", @@ -32,7 +34,8 @@ }, "settings": { "sections": { - "mcp": "MCP सर्वर" + "mcp": "MCP सर्वर", + "codeReview": "AI कोड समीक्षा" }, "provider": { "account": "Axon Code खाता", diff --git a/webview-ui/src/i18n/locales/hi/memories.json b/webview-ui/src/i18n/locales/hi/memories.json new file mode 100644 index 0000000000..b2b5fdf19e --- /dev/null +++ b/webview-ui/src/i18n/locales/hi/memories.json @@ -0,0 +1,13 @@ +{ + "title": "यादें", + "done": "हो गया", + "searchPlaceholder": "यादें खोजें...", + "loading": "यादें लोड हो रही हैं...", + "noMemories": "कोई याद नहीं मिली। यादें कार्य पूरा करने पर सहेजी जाती हैं।", + "noResults": "आपकी खोज से मेल खाने वाली कोई याद नहीं है।", + "count": "{{count}} यादें", + "currentWorkspace": "वर्तमान कार्यक्षेत्र", + "allWorkspaces": "सभी कार्यक्षेत्र", + "untitled": "बेनाम", + "delete": "याद हटाएं" +} diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index 16c9127dab..a099c07fb5 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -34,7 +34,8 @@ "experimental": "प्रायोगिक", "language": "भाषा", "about": "परिचय", - "display": "प्रदर्शित करें" + "display": "प्रदर्शित करें", + "codeReview": "AI कोड समीक्षा" }, "slashCommands": { "description": "कस्टम वर्कफ़्लो और क्रियाओं को तेज़ी से निष्पादित करने के लिए अपने स्लैश कमांड प्रबंधित करें। और जानें" diff --git a/webview-ui/src/i18n/locales/id/kilocode.json b/webview-ui/src/i18n/locales/id/kilocode.json index 179b0e408d..5b4fc77cd9 100644 --- a/webview-ui/src/i18n/locales/id/kilocode.json +++ b/webview-ui/src/i18n/locales/id/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Mulai", "manualModeButton": "Gunakan API key sendiri", "alreadySignedUp": "Sudah mendaftar?", - "loginText": "Masuk di sini" + "loginText": "Masuk di sini", + "tagline": "Agen Rekayasa AI", + "exploreMatterAI": "Jelajahi MatterAI" }, "lowCreditWarning": { "addCredit": "Tambah Kredit", @@ -32,7 +34,8 @@ }, "settings": { "sections": { - "mcp": "Server MCP" + "mcp": "Server MCP", + "codeReview": "Review Kode AI" }, "provider": { "account": "Akun Axon Code", diff --git a/webview-ui/src/i18n/locales/id/memories.json b/webview-ui/src/i18n/locales/id/memories.json new file mode 100644 index 0000000000..1092b0b5e3 --- /dev/null +++ b/webview-ui/src/i18n/locales/id/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Memori", + "done": "Selesai", + "searchPlaceholder": "Cari memori...", + "loading": "Memuat memori...", + "noMemories": "Tidak ada memori yang ditemukan. Memori disimpan saat Anda menyelesaikan tugas.", + "noResults": "Tidak ada memori yang cocok dengan pencarian Anda.", + "count": "{{count}} memori", + "currentWorkspace": "Ruang kerja saat ini", + "allWorkspaces": "Semua ruang kerja", + "untitled": "Tanpa judul", + "delete": "Hapus memori" +} diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json index fd78fb09f2..5c889b2368 100644 --- a/webview-ui/src/i18n/locales/id/settings.json +++ b/webview-ui/src/i18n/locales/id/settings.json @@ -34,7 +34,8 @@ "experimental": "Eksperimental", "language": "Bahasa", "about": "Tentang Axon Code", - "display": "Tampilkan" + "display": "Tampilkan", + "codeReview": "Review Kode AI" }, "slashCommands": { "description": "Kelola perintah slash kamu untuk mengeksekusi alur kerja dan tindakan kustom dengan cepat. Pelajari lebih lanjut" diff --git a/webview-ui/src/i18n/locales/it/kilocode.json b/webview-ui/src/i18n/locales/it/kilocode.json index d50bb80a79..23a8282fc3 100644 --- a/webview-ui/src/i18n/locales/it/kilocode.json +++ b/webview-ui/src/i18n/locales/it/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Inizia", "manualModeButton": "Usa la tua chiave API", "alreadySignedUp": "Già registrato?", - "loginText": "Accedi qui" + "loginText": "Accedi qui", + "tagline": "L'Agente di Ingegneria AI", + "exploreMatterAI": "Esplora MatterAI" }, "lowCreditWarning": { "addCredit": "Aggiungi credito", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "Server MCP" + "mcp": "Server MCP", + "codeReview": "Code Review AI" }, "provider": { "account": "Account Axon Code", diff --git a/webview-ui/src/i18n/locales/it/memories.json b/webview-ui/src/i18n/locales/it/memories.json new file mode 100644 index 0000000000..5479f7aa71 --- /dev/null +++ b/webview-ui/src/i18n/locales/it/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Memorie", + "done": "Fatto", + "searchPlaceholder": "Cerca memorie...", + "loading": "Caricamento memorie...", + "noMemories": "Nessuna memoria trovata. Le memorie vengono salvate quando completi i compiti.", + "noResults": "Nessuna memoria corrisponde alla tua ricerca.", + "count": "{{count}} memorie", + "currentWorkspace": "Spazio di lavoro corrente", + "allWorkspaces": "Tutti gli spazi di lavoro", + "untitled": "Senza titolo", + "delete": "Elimina memoria" +} diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index 1e1c54bd65..4d392d33ac 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -35,7 +35,8 @@ "language": "Lingua", "about": "Informazioni su Axon Code", "display": "Mostra", - "ghost": "Ghost" + "ghost": "Ghost", + "codeReview": "Code Review AI" }, "slashCommands": { "description": "Gestisci i tuoi comandi slash per eseguire rapidamente flussi di lavoro e azioni personalizzate. Scopri di più" diff --git a/webview-ui/src/i18n/locales/ja/kilocode.json b/webview-ui/src/i18n/locales/ja/kilocode.json index 9a45dd1896..17f44a972f 100644 --- a/webview-ui/src/i18n/locales/ja/kilocode.json +++ b/webview-ui/src/i18n/locales/ja/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "始める", "manualModeButton": "自分のAPIキーを使う", "alreadySignedUp": "すでに登録済みですか?", - "loginText": "こちらからログイン" + "loginText": "こちらからログイン", + "tagline": "AIエンジニアリングエージェント", + "exploreMatterAI": "MatterAIを探索" }, "lowCreditWarning": { "addCredit": "クレジットを追加", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "MCPサーバー" + "mcp": "MCPサーバー", + "codeReview": "AIコードレビュー" }, "provider": { "account": "Axon Code アカウント", diff --git a/webview-ui/src/i18n/locales/ja/memories.json b/webview-ui/src/i18n/locales/ja/memories.json new file mode 100644 index 0000000000..4c683fa31b --- /dev/null +++ b/webview-ui/src/i18n/locales/ja/memories.json @@ -0,0 +1,13 @@ +{ + "title": "メモリ", + "done": "完了", + "searchPlaceholder": "メモリを検索...", + "loading": "メモリを読み込み中...", + "noMemories": "メモリが見つかりません。メモリはタスクを完了したときに保存されます。", + "noResults": "検索に一致するメモリがありません。", + "count": "{{count}}個のメモリ", + "currentWorkspace": "現在のワークスペース", + "allWorkspaces": "すべてのワークスペース", + "untitled": "無題", + "delete": "メモリを削除" +} diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index 84b4238428..0914de822f 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -35,7 +35,8 @@ "language": "言語", "about": "Kilo Codeについて", "display": "表示", - "ghost": "Ghost" + "ghost": "Ghost", + "codeReview": "AIコードレビュー" }, "slashCommands": { "description": "スラッシュコマンドを管理して、カスタムワークフローやアクションを素早く実行します。詳細はこちら" diff --git a/webview-ui/src/i18n/locales/ko/kilocode.json b/webview-ui/src/i18n/locales/ko/kilocode.json index aaae8bf85f..435062d614 100644 --- a/webview-ui/src/i18n/locales/ko/kilocode.json +++ b/webview-ui/src/i18n/locales/ko/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "시작하기", "manualModeButton": "내 API 키 사용하기", "alreadySignedUp": "이미 가입하셨나요?", - "loginText": "여기에서 로그인" + "loginText": "여기에서 로그인", + "tagline": "AI 엔지니어링 에이전트", + "exploreMatterAI": "MatterAI 탐색" }, "lowCreditWarning": { "addCredit": "크레딧 추가", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "MCP 서버" + "mcp": "MCP 서버", + "codeReview": "AI 코드 리뷰" }, "provider": { "account": "Axon Code 계정", diff --git a/webview-ui/src/i18n/locales/ko/memories.json b/webview-ui/src/i18n/locales/ko/memories.json new file mode 100644 index 0000000000..8d7362ad62 --- /dev/null +++ b/webview-ui/src/i18n/locales/ko/memories.json @@ -0,0 +1,13 @@ +{ + "title": "메모리", + "done": "완료", + "searchPlaceholder": "메모리 검색...", + "loading": "메모리 로드 중...", + "noMemories": "메모리를 찾을 수 없습니다. 메모리는 작업을 완료할 때 저장됩니다.", + "noResults": "검색과 일치하는 메모리가 없습니다.", + "count": "{{count}}개의 메모리", + "currentWorkspace": "현재 작업 공간", + "allWorkspaces": "모든 작업 공간", + "untitled": "제목 없음", + "delete": "메모리 삭제" +} diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index 1d92395162..d8d166df7b 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -34,7 +34,8 @@ "experimental": "실험적", "language": "언어", "about": "Axon Code 정보", - "display": "디스플레이" + "display": "디스플레이", + "codeReview": "AI 코드 리뷰" }, "slashCommands": { "description": "사용자 지정 워크플로와 작업을 신속하게 실행하기 위해 슬래시 명령을 관리합니다. 더 알아보기" diff --git a/webview-ui/src/i18n/locales/nl/kilocode.json b/webview-ui/src/i18n/locales/nl/kilocode.json index 4fac26ef0f..bf66408a18 100644 --- a/webview-ui/src/i18n/locales/nl/kilocode.json +++ b/webview-ui/src/i18n/locales/nl/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Aan de slag", "manualModeButton": "Gebruik je eigen API-sleutel", "alreadySignedUp": "Al aangemeld?", - "loginText": "Log hier in" + "loginText": "Log hier in", + "tagline": "De AI Engineering Agent", + "exploreMatterAI": "MatterAI verkennen" }, "lowCreditWarning": { "addCredit": "Krediet toevoegen", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "MCP-servers" + "mcp": "MCP-servers", + "codeReview": "AI Code Reviews" }, "provider": { "account": "Axon Code Account", diff --git a/webview-ui/src/i18n/locales/nl/memories.json b/webview-ui/src/i18n/locales/nl/memories.json new file mode 100644 index 0000000000..275456ef83 --- /dev/null +++ b/webview-ui/src/i18n/locales/nl/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Herinneringen", + "done": "Klaar", + "searchPlaceholder": "Herinneringen zoeken...", + "loading": "Herinneringen laden...", + "noMemories": "Geen herinneringen gevonden. Herinneringen worden opgeslagen wanneer u taken voltooit.", + "noResults": "Geen herinneringen komen overeen met uw zoekopdracht.", + "count": "{{count}} herinneringen", + "currentWorkspace": "Huidige werkruimte", + "allWorkspaces": "Alle werkruimtes", + "untitled": "Naamloos", + "delete": "Herinnering verwijderen" +} diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json index b36bc6f592..b3fba1ca32 100644 --- a/webview-ui/src/i18n/locales/nl/settings.json +++ b/webview-ui/src/i18n/locales/nl/settings.json @@ -34,7 +34,8 @@ "experimental": "Experimenteel", "language": "Taal", "about": "Over Axon Code", - "display": "Weergeven" + "display": "Weergeven", + "codeReview": "AI Code Reviews" }, "slashCommands": { "description": "Beheer je slash-commando's om snel aangepaste workflows en acties uit te voeren. Meer informatie" diff --git a/webview-ui/src/i18n/locales/pl/kilocode.json b/webview-ui/src/i18n/locales/pl/kilocode.json index 88114bf40a..4d6fc171f3 100644 --- a/webview-ui/src/i18n/locales/pl/kilocode.json +++ b/webview-ui/src/i18n/locales/pl/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Rozpocznij", "manualModeButton": "Użyj własnego klucza API", "alreadySignedUp": "Już zarejestrowany?", - "loginText": "Zaloguj się tutaj" + "loginText": "Zaloguj się tutaj", + "tagline": "Agent Inżynierii AI", + "exploreMatterAI": "Odkryj MatterAI" }, "lowCreditWarning": { "addCredit": "Dodaj kredyt", @@ -32,7 +34,8 @@ }, "settings": { "sections": { - "mcp": "Serwery MCP" + "mcp": "Serwery MCP", + "codeReview": "Przeglądy Kodu AI" }, "provider": { "account": "Konto Axon Code", diff --git a/webview-ui/src/i18n/locales/pl/memories.json b/webview-ui/src/i18n/locales/pl/memories.json new file mode 100644 index 0000000000..04d77fadde --- /dev/null +++ b/webview-ui/src/i18n/locales/pl/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Pamięci", + "done": "Gotowe", + "searchPlaceholder": "Szukaj pamięci...", + "loading": "Ładowanie pamięci...", + "noMemories": "Nie znaleziono żadnych pamięci. Pamięci są zapisywane po ukończeniu zadań.", + "noResults": "Żadne pamięci nie pasują do Twojego wyszukiwania.", + "count": "{{count}} pamięci", + "currentWorkspace": "Bieżący obszar roboczy", + "allWorkspaces": "Wszystkie obszary robocze", + "untitled": "Bez tytułu", + "delete": "Usuń pamięć" +} diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index 7dfd0be38f..8b2218494d 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -34,7 +34,8 @@ "experimental": "Eksperymentalne", "language": "Język", "about": "O Axon Code", - "display": "Wyświetl" + "display": "Wyświetl", + "codeReview": "Przeglądy Kodu AI" }, "slashCommands": { "description": "Zarządzaj poleceniami slash, aby szybko wykonywać niestandardowe przepływy pracy i akcje. Dowiedz się więcej" diff --git a/webview-ui/src/i18n/locales/pt-BR/kilocode.json b/webview-ui/src/i18n/locales/pt-BR/kilocode.json index 8c26887a47..4a935cb999 100644 --- a/webview-ui/src/i18n/locales/pt-BR/kilocode.json +++ b/webview-ui/src/i18n/locales/pt-BR/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Começar", "manualModeButton": "Use sua própria chave de API", "alreadySignedUp": "Já se cadastrou?", - "loginText": "Faça login aqui" + "loginText": "Faça login aqui", + "tagline": "O Agente de Engenharia de IA", + "exploreMatterAI": "Explorar MatterAI" }, "lowCreditWarning": { "addCredit": "Adicionar crédito", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "Servidores MCP" + "mcp": "Servidores MCP", + "codeReview": "Revisões de Código IA" }, "provider": { "account": "Conta Axon Code", diff --git a/webview-ui/src/i18n/locales/pt-BR/memories.json b/webview-ui/src/i18n/locales/pt-BR/memories.json new file mode 100644 index 0000000000..561d345be1 --- /dev/null +++ b/webview-ui/src/i18n/locales/pt-BR/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Memórias", + "done": "Concluído", + "searchPlaceholder": "Pesquisar memórias...", + "loading": "Carregando memórias...", + "noMemories": "Nenhuma memória encontrada. As memórias são salvas quando você completa tarefas.", + "noResults": "Nenhuma memória corresponde à sua pesquisa.", + "count": "{{count}} memórias", + "currentWorkspace": "Espaço de trabalho atual", + "allWorkspaces": "Todos os espaços de trabalho", + "untitled": "Sem título", + "delete": "Excluir memória" +} diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index a9d9830bc8..261d73710c 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -34,7 +34,8 @@ "experimental": "Experimental", "language": "Idioma", "about": "Sobre", - "display": "Exibir" + "display": "Exibir", + "codeReview": "Revisões de Código IA" }, "slashCommands": { "description": "Gerencie seus comandos de barra para executar rapidamente fluxos de trabalho e ações personalizadas. Saiba mais" diff --git a/webview-ui/src/i18n/locales/ru/kilocode.json b/webview-ui/src/i18n/locales/ru/kilocode.json index 09130c3ef3..0e04b08f78 100644 --- a/webview-ui/src/i18n/locales/ru/kilocode.json +++ b/webview-ui/src/i18n/locales/ru/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Начать", "manualModeButton": "Использовать свой API-ключ", "alreadySignedUp": "Уже зарегистрированы?", - "loginText": "Войти здесь" + "loginText": "Войти здесь", + "tagline": "Агент ИИ-инженерии", + "exploreMatterAI": "Изучить MatterAI" }, "lowCreditWarning": { "addCredit": "Добавить кредит", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "MCP Серверы" + "mcp": "MCP Серверы", + "codeReview": "AI Code Reviews" }, "provider": { "account": "Аккаунт Axon Code", diff --git a/webview-ui/src/i18n/locales/ru/memories.json b/webview-ui/src/i18n/locales/ru/memories.json new file mode 100644 index 0000000000..43f2b74944 --- /dev/null +++ b/webview-ui/src/i18n/locales/ru/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Воспоминания", + "done": "Готово", + "searchPlaceholder": "Поиск воспоминаний...", + "loading": "Загрузка воспоминаний...", + "noMemories": "Воспоминания не найдены. Воспоминания сохраняются при выполнении задач.", + "noResults": "Нет воспоминаний, соответствующих вашему поиску.", + "count": "{{count}} воспоминаний", + "currentWorkspace": "Текущее рабочее пространство", + "allWorkspaces": "Все рабочие пространства", + "untitled": "Без названия", + "delete": "Удалить воспоминание" +} diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json index 82e26be4b1..a88046e05a 100644 --- a/webview-ui/src/i18n/locales/ru/settings.json +++ b/webview-ui/src/i18n/locales/ru/settings.json @@ -34,7 +34,8 @@ "experimental": "Экспериментальное", "language": "Язык", "about": "О Axon Code", - "display": "Показать" + "display": "Показать", + "codeReview": "AI Code Reviews" }, "slashCommands": { "description": "Управляйте своими слэш-командами для быстрого выполнения пользовательских рабочих процессов и действий. Узнать больше" diff --git a/webview-ui/src/i18n/locales/th/kilocode.json b/webview-ui/src/i18n/locales/th/kilocode.json index 0e490be3e6..c8b740c20b 100644 --- a/webview-ui/src/i18n/locales/th/kilocode.json +++ b/webview-ui/src/i18n/locales/th/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "เริ่มต้น", "manualModeButton": "ใช้ API key ของคุณเอง", "alreadySignedUp": "สมัครแล้ว?", - "loginText": "เข้าสู่ระบบที่นี่" + "loginText": "เข้าสู่ระบบที่นี่", + "tagline": "AI Engineering Agent", + "exploreMatterAI": "สำรวจ MatterAI" }, "lowCreditWarning": { "addCredit": "เติมเครดิต", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "MCP Servers" + "mcp": "MCP Servers", + "codeReview": "AI Code Reviews" }, "contextManagement": { "allowVeryLargeReads": { diff --git a/webview-ui/src/i18n/locales/th/memories.json b/webview-ui/src/i18n/locales/th/memories.json new file mode 100644 index 0000000000..6702be03eb --- /dev/null +++ b/webview-ui/src/i18n/locales/th/memories.json @@ -0,0 +1,13 @@ +{ + "title": "ความทรงจำ", + "done": "เสร็จสิ้น", + "searchPlaceholder": "ค้นหาความทรงจำ...", + "loading": "กำลังโหลดความทรงจำ...", + "noMemories": "ไม่พบความทรงจำ ความทรงจำจะถูกบันทึกเมื่อคุณทำงานเสร็จ", + "noResults": "ไม่มีความทรงจำที่ตรงกับการค้นหาของคุณ", + "count": "{{count}} ความทรงจำ", + "currentWorkspace": "พื้นที่ทำงานปัจจุบัน", + "allWorkspaces": "พื้นที่ทำงานทั้งหมด", + "untitled": "ไม่มีชื่อ", + "delete": "ลบความทรงจำ" +} diff --git a/webview-ui/src/i18n/locales/th/settings.json b/webview-ui/src/i18n/locales/th/settings.json index c78475ff1f..5b6fec3511 100644 --- a/webview-ui/src/i18n/locales/th/settings.json +++ b/webview-ui/src/i18n/locales/th/settings.json @@ -35,7 +35,8 @@ "ui": "UI", "experimental": "ทดลอง", "language": "ภาษา", - "about": "เกี่ยวกับ Axon Code" + "about": "เกี่ยวกับ Axon Code", + "codeReview": "AI Code Reviews" }, "slashCommands": { "description": "จัดการคำสั่งแบบ slash ของคุณเพื่อดำเนินการเวิร์กโฟลว์และการกระทำแบบกำหนดเองอย่างรวดเร็ว เรียนรู้เพิ่มเติม" diff --git a/webview-ui/src/i18n/locales/tr/kilocode.json b/webview-ui/src/i18n/locales/tr/kilocode.json index 6685fdb693..fe53edacdc 100644 --- a/webview-ui/src/i18n/locales/tr/kilocode.json +++ b/webview-ui/src/i18n/locales/tr/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Başla", "manualModeButton": "Kendi API anahtarınızı kullanın", "alreadySignedUp": "Zaten kaydoldunuz mu?", - "loginText": "Buradan giriş yapın" + "loginText": "Buradan giriş yapın", + "tagline": "AI Mühendislik Aracısı", + "exploreMatterAI": "MatterAI'yi Keşfet" }, "lowCreditWarning": { "addCredit": "Kredi Ekle", @@ -32,7 +34,8 @@ }, "settings": { "sections": { - "mcp": "MCP Sunucuları" + "mcp": "MCP Sunucuları", + "codeReview": "AI Kod İncelemeleri" }, "contextManagement": { "allowVeryLargeReads": { diff --git a/webview-ui/src/i18n/locales/tr/memories.json b/webview-ui/src/i18n/locales/tr/memories.json new file mode 100644 index 0000000000..f2bb308417 --- /dev/null +++ b/webview-ui/src/i18n/locales/tr/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Hafızalar", + "done": "Tamamlandı", + "searchPlaceholder": "Hafıza ara...", + "loading": "Hafızalar yükleniyor...", + "noMemories": "Hafıza bulunamadı. Hafızalar görevleri tamamladığınızda kaydedilir.", + "noResults": "Aramanızla eşleşen hafıza yok.", + "count": "{{count}} hafıza", + "currentWorkspace": "Mevcut çalışma alanı", + "allWorkspaces": "Tüm çalışma alanları", + "untitled": "Adsız", + "delete": "Hafızayı sil" +} diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index fb81adb7b2..19f81d66ec 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -35,7 +35,8 @@ "language": "Dil", "about": "Axon Code Hakkında", "display": "Göster", - "ghost": "Ghost" + "ghost": "Ghost", + "codeReview": "AI Kod İncelemeleri" }, "slashCommands": { "description": "Özel iş akışlarını ve eylemleri hızlı bir şekilde yürütmek için eğik çizgi komutlarınızı yönetin. Daha fazla bilgi edinin" diff --git a/webview-ui/src/i18n/locales/uk/kilocode.json b/webview-ui/src/i18n/locales/uk/kilocode.json index 4836da778c..672a1fab2b 100644 --- a/webview-ui/src/i18n/locales/uk/kilocode.json +++ b/webview-ui/src/i18n/locales/uk/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Почати", "manualModeButton": "Використовуй власний API key", "alreadySignedUp": "Вже зареєструвався?", - "loginText": "Увійти тут" + "loginText": "Увійти тут", + "tagline": "Агент ІІ-інженерії", + "exploreMatterAI": "Дослідити MatterAI" }, "lowCreditWarning": { "addCredit": "Додати кредит", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "MCP сервери" + "mcp": "MCP сервери", + "codeReview": "AI Code Reviews" }, "contextManagement": { "allowVeryLargeReads": { diff --git a/webview-ui/src/i18n/locales/uk/memories.json b/webview-ui/src/i18n/locales/uk/memories.json new file mode 100644 index 0000000000..5740e9e5b9 --- /dev/null +++ b/webview-ui/src/i18n/locales/uk/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Спогади", + "done": "Готово", + "searchPlaceholder": "Пошук спогадів...", + "loading": "Завантаження спогадів...", + "noMemories": "Спогадів не знайдено. Спогади зберігаються при виконанні завдань.", + "noResults": "Немає спогадів, що відповідають вашому пошуку.", + "count": "{{count}} спогадів", + "currentWorkspace": "Поточний робочий простір", + "allWorkspaces": "Усі робочі простори", + "untitled": "Без назви", + "delete": "Видалити спогад" +} diff --git a/webview-ui/src/i18n/locales/uk/settings.json b/webview-ui/src/i18n/locales/uk/settings.json index dd2583203e..511a0cb3f1 100644 --- a/webview-ui/src/i18n/locales/uk/settings.json +++ b/webview-ui/src/i18n/locales/uk/settings.json @@ -35,7 +35,8 @@ "experimental": "Експериментальне", "language": "Мова", "about": "Про Axon Code", - "ghost": "Ghost" + "ghost": "Ghost", + "codeReview": "AI Code Reviews" }, "slashCommands": { "description": "Керуйте своїми slash командами для швидкого виконання власних робочих процесів та дій. Дізнатися більше" diff --git a/webview-ui/src/i18n/locales/vi/kilocode.json b/webview-ui/src/i18n/locales/vi/kilocode.json index 24ab2adbf7..0ab0fd534b 100644 --- a/webview-ui/src/i18n/locales/vi/kilocode.json +++ b/webview-ui/src/i18n/locales/vi/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "Bắt đầu", "manualModeButton": "Sử dụng khóa API của riêng bạn", "alreadySignedUp": "Đã đăng ký?", - "loginText": "Đăng nhập tại đây" + "loginText": "Đăng nhập tại đây", + "tagline": "AI Engineering Agent", + "exploreMatterAI": "Khám phá MatterAI" }, "lowCreditWarning": { "addCredit": "Thêm tín dụng", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "Máy chủ MCP" + "mcp": "Máy chủ MCP", + "codeReview": "AI Code Reviews" }, "contextManagement": { "allowVeryLargeReads": { diff --git a/webview-ui/src/i18n/locales/vi/memories.json b/webview-ui/src/i18n/locales/vi/memories.json new file mode 100644 index 0000000000..2040562624 --- /dev/null +++ b/webview-ui/src/i18n/locales/vi/memories.json @@ -0,0 +1,13 @@ +{ + "title": "Ký ức", + "done": "Xong", + "searchPlaceholder": "Tìm kiếm ký ức...", + "loading": "Đang tải ký ức...", + "noMemories": "Không tìm thấy ký ức nào. Ký ức được lưu khi bạn hoàn thành nhiệm vụ.", + "noResults": "Không có ký ức nào khớp với tìm kiếm của bạn.", + "count": "{{count}} ký ức", + "currentWorkspace": "Không gian làm việc hiện tại", + "allWorkspaces": "Tất cả không gian làm việc", + "untitled": "Không có tiêu đề", + "delete": "Xóa ký ức" +} diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index a6194d2f1d..6654ff5629 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -34,7 +34,8 @@ "experimental": "Thử nghiệm", "language": "Ngôn ngữ", "about": "Giới thiệu", - "display": "Hiển thị" + "display": "Hiển thị", + "codeReview": "AI Code Reviews" }, "slashCommands": { "description": "Quản lý các lệnh slash của bạn để thực thi nhanh các quy trình công việc và hành động tùy chỉnh. Tìm hiểu thêm" diff --git a/webview-ui/src/i18n/locales/zh-CN/kilocode.json b/webview-ui/src/i18n/locales/zh-CN/kilocode.json index 7bf8225962..a46cc199fb 100644 --- a/webview-ui/src/i18n/locales/zh-CN/kilocode.json +++ b/webview-ui/src/i18n/locales/zh-CN/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "开始使用", "manualModeButton": "使用你自己的 API 密钥", "alreadySignedUp": "已经注册了?", - "loginText": "在此登录" + "loginText": "在此登录", + "tagline": "AI 工程代理", + "exploreMatterAI": "探索 MatterAI" }, "lowCreditWarning": { "addCredit": "添加额度", @@ -39,7 +41,8 @@ }, "settings": { "sections": { - "mcp": "MCP 服务器" + "mcp": "MCP 服务器", + "codeReview": "AI 代码审查" }, "contextManagement": { "allowVeryLargeReads": { diff --git a/webview-ui/src/i18n/locales/zh-CN/memories.json b/webview-ui/src/i18n/locales/zh-CN/memories.json new file mode 100644 index 0000000000..4499abca66 --- /dev/null +++ b/webview-ui/src/i18n/locales/zh-CN/memories.json @@ -0,0 +1,13 @@ +{ + "title": "记忆", + "done": "完成", + "searchPlaceholder": "搜索记忆...", + "loading": "正在加载记忆...", + "noMemories": "未找到记忆。完成任务时会保存记忆。", + "noResults": "没有与您的搜索匹配的记忆。", + "count": "{{count}}条记忆", + "currentWorkspace": "当前工作区", + "allWorkspaces": "所有工作区", + "untitled": "无标题", + "delete": "删除记忆" +} diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index d5a65568c1..e0e1b09a86 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -35,7 +35,8 @@ "language": "语言", "about": "关于 Axon Code", "mcp": "MCP 服务器", - "display": "显示" + "display": "显示", + "codeReview": "AI 代码审查" }, "slashCommands": { "description": "管理您的斜杠命令,以快速执行自定义工作流和操作。 了解更多" diff --git a/webview-ui/src/i18n/locales/zh-TW/kilocode.json b/webview-ui/src/i18n/locales/zh-TW/kilocode.json index bef4c4cb70..95adb44cc1 100644 --- a/webview-ui/src/i18n/locales/zh-TW/kilocode.json +++ b/webview-ui/src/i18n/locales/zh-TW/kilocode.json @@ -7,7 +7,9 @@ "ctaButton": "開始使用", "manualModeButton": "使用你自己的 API 金鑰", "alreadySignedUp": "已經註冊了?", - "loginText": "在此登入" + "loginText": "在此登入", + "tagline": "AI 工程代理", + "exploreMatterAI": "探索 MatterAI" }, "lowCreditWarning": { "addCredit": "添加額度", @@ -34,7 +36,8 @@ }, "settings": { "sections": { - "mcp": "MCP 伺服器" + "mcp": "MCP 伺服器", + "codeReview": "AI 程式碼審查" }, "contextManagement": { "allowVeryLargeReads": { diff --git a/webview-ui/src/i18n/locales/zh-TW/memories.json b/webview-ui/src/i18n/locales/zh-TW/memories.json new file mode 100644 index 0000000000..f707bb011f --- /dev/null +++ b/webview-ui/src/i18n/locales/zh-TW/memories.json @@ -0,0 +1,13 @@ +{ + "title": "記憶", + "done": "完成", + "searchPlaceholder": "搜尋記憶...", + "loading": "正在載入記憶...", + "noMemories": "未找到記憶。完成任務時會保存記憶。", + "noResults": "沒有與您的搜尋匹配的記憶。", + "count": "{{count}}條記憶", + "currentWorkspace": "目前工作區", + "allWorkspaces": "所有工作區", + "untitled": "無標題", + "delete": "刪除記憶" +} diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index c37f190bdd..4922a05c7a 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -35,7 +35,8 @@ "language": "語言", "about": "關於 Axon Code", "display": "顯示", - "ghost": "Ghost" + "ghost": "Ghost", + "codeReview": "AI 程式碼審查" }, "slashCommands": { "description": "管理您的斜線命令,以便快速執行自訂工作流程和動作。 了解更多"