feat(vscode): open config files from settings (#9548)

* feat(vscode): open config files from settings

* fix(vscode): localize config file picker

* chore(kilo-docs): update source links

* fix(vscode): reuse settings translations for config picker

* chore: update kilo-vscode visual regression baselines

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Marius
2026-04-27 12:00:14 +02:00
committed by GitHub
parent dddc92a01a
commit c5614cc54e
27 changed files with 727 additions and 3 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"kilo-code": minor
---
Add Settings header buttons to open the project and global Kilo config files directly in VS Code.
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4524d1fe8b44cf2cce15bdf3ad100572b57fa479fefe456f1c141ebca8d5187d
size 28078
oid sha256:16e602e6a870e4b66a466a0895f92e9df117f6137809c79ed797f24d2b6a1e88
size 31028
+1
View File
@@ -16,6 +16,7 @@
<!-- packages/opencode/src/kilocode/components/dialog-claw-setup.tsx -->
<!-- packages/opencode/src/kilocode/components/dialog-claw-upgrade.tsx -->
- <https://app.kilo.ai/config.json>
<!-- packages/kilo-vscode/src/kilo-provider/config-file.ts -->
<!-- packages/opencode/src/config/config.ts -->
- <https://app.kilo.ai/credits>
<!-- packages/kilo-vscode/src/services/autocomplete/AutocompleteServiceManager.ts -->
+4
View File
@@ -64,6 +64,7 @@ import {
} from "./services/autocomplete/settings"
import * as ModelState from "./kilo-provider/model-state"
import { handleForkSession } from "./kilo-provider/fork-session"
import { openConfig } from "./kilo-provider/open-config"
import { retryable, backoff, MAX_RETRIES } from "./util/retry"
import { hasGit } from "./kilo-provider/git-status"
// legacy-migration start
@@ -697,6 +698,9 @@ export class KiloProvider implements vscode.WebviewViewProvider, TelemetryProper
case "openVSCodeSettings":
vscode.commands.executeCommand("workbench.action.openSettings", message.query)
break
case "openConfigFile":
await openConfig(message.scope, message.labels, this.getProjectDirectory(this.currentSession?.id))
break
case "openMarketplacePanel":
vscode.commands.executeCommand("kilo-code.new.marketplaceButtonClicked", this.projectDirectory)
break
@@ -0,0 +1,117 @@
import { existsSync } from "fs"
import * as os from "os"
import * as path from "path"
export type Scope = "global" | "local"
export type Source =
| "sourceXdg"
| "sourceHomeKilo"
| "sourceHomeKilocode"
| "sourceHomeOpencode"
| "sourceEnvFile"
| "sourceEnvDir"
| "sourceEnvContent"
| "sourceProjectKilo"
| "sourceProjectRoot"
| "sourceProjectKilocode"
| "sourceProjectOpencode"
export interface Entry {
file?: string
name: string
source: Source
exists: boolean
loaded: boolean
legacy?: boolean
recommended?: boolean
virtual?: boolean
}
const SCHEMA = "https://app.kilo.ai/config.json"
const MODERN = ["kilo.jsonc", "kilo.json"]
const LEGACY = ["opencode.jsonc", "opencode.json"]
const FILES = [...MODERN, ...LEGACY]
const GLOBAL = ["kilo.jsonc", "kilo.json", "opencode.jsonc", "opencode.json", "config.json"]
const HOME = [".kilo", ".kilocode", ".opencode"]
const SOURCES: Record<string, Source> = {
".kilo": "sourceHomeKilo",
".kilocode": "sourceHomeKilocode",
".opencode": "sourceHomeOpencode",
}
function row(file: string, source: Source, loaded = true, recommended = false): Entry {
const name = path.basename(file)
return {
file,
name,
source,
exists: existsSync(file),
loaded: loaded && existsSync(file),
legacy: name.startsWith("opencode") || name === "config.json" || file.includes(`${path.sep}.kilocode${path.sep}`),
recommended,
}
}
function ensure(list: Entry[], file: string, source: Source) {
if (list.some((item) => item.file === file)) return list
return [...list, row(file, source, true, true)]
}
export function globalFiles() {
const root = path.join(process.env.XDG_CONFIG_HOME || path.join(os.homedir(), ".config"), "kilo")
const base = GLOBAL.map((file) => row(path.join(root, file), "sourceXdg")).filter((item) => item.exists)
const dirs = HOME.flatMap((dir) => {
const base = path.join(os.homedir(), dir)
if (!existsSync(base)) return []
return FILES.map((file) => row(path.join(base, file), SOURCES[dir])).filter((item) => item.exists)
})
const env = process.env.KILO_CONFIG ? [row(process.env.KILO_CONFIG, "sourceEnvFile")] : []
const extra = process.env.KILO_CONFIG_DIR
const dir = extra
? ensure(
FILES.map((file) => row(path.join(extra, file), "sourceEnvDir")).filter((item) => item.exists),
path.join(extra, "kilo.jsonc"),
"sourceEnvDir",
)
: []
const virtual: Entry[] = process.env.KILO_CONFIG_CONTENT
? [
{
name: "KILO_CONFIG_CONTENT",
source: "sourceEnvContent",
exists: true,
loaded: true,
virtual: true,
},
]
: []
return ensure([...base, ...dirs, ...env, ...dir, ...virtual], path.join(root, "kilo.jsonc"), "sourceXdg")
}
export function localFiles(root: string) {
const enabled = !process.env.KILO_DISABLE_PROJECT_CONFIG
const dirs = [path.join(root, ".kilo"), root, path.join(root, ".kilocode"), path.join(root, ".opencode")]
const list = dirs.flatMap((dir) => FILES.map((file) => row(path.join(dir, file), localSource(root, dir), enabled)))
return ensure(
list.filter((item) => item.exists),
path.join(root, ".kilo", "kilo.jsonc"),
"sourceProjectKilo",
).map((item) => (enabled ? item : { ...item, loaded: false }))
}
function localSource(root: string, dir: string) {
if (dir === root) return "sourceProjectRoot"
if (dir.endsWith(`${path.sep}.kilo`)) return "sourceProjectKilo"
if (dir.endsWith(`${path.sep}.kilocode`)) return "sourceProjectKilocode"
return "sourceProjectOpencode"
}
export function content() {
return `{
"$schema": "${SCHEMA}"
}
`
}
@@ -0,0 +1,72 @@
import * as path from "path"
import * as vscode from "vscode"
import { content, globalFiles, localFiles, type Entry, type Scope, type Source } from "./config-file"
interface Labels extends Record<Source, string> {
scope: string
statusLoaded: string
statusLoadedLegacy: string
statusNotLoaded: string
statusCreate: string
title: string
placeholder: string
noWorkspace: string
openFailed: string
}
export async function openConfig(scope: Scope, labels: Labels, root?: string): Promise<void> {
if (scope === "local" && !root) {
void vscode.window.showWarningMessage(labels.noWorkspace)
return
}
const list = scope === "global" ? globalFiles() : localFiles(root!)
const picked = await pick(list, labels)
if (!picked?.file) return
await open(picked.file, labels)
}
async function pick(list: Entry[], labels: Labels) {
const editable = list.filter((item) => !item.virtual)
if (editable.length === 1) return editable[0]
const picked = await vscode.window.showQuickPick(
editable.map((item) => ({
label: item.recommended && !item.exists ? `$(add) ${item.name}` : `$(json) ${item.name}`,
description: item.exists ? status(item, labels) : labels.statusCreate,
detail: `${labels[item.source]} - ${item.file}`,
item,
})),
{
title: labels.title,
placeHolder: labels.placeholder,
},
)
return picked?.item
}
function status(item: Entry, labels: Labels) {
if (!item.loaded) return labels.statusNotLoaded
if (item.legacy) return labels.statusLoadedLegacy
return labels.statusLoaded
}
async function open(file: string, labels: Labels) {
const uri = vscode.Uri.file(file)
try {
await vscode.workspace.fs.createDirectory(vscode.Uri.file(path.dirname(file)))
const exists = await vscode.workspace.fs.stat(uri).then(
() => true,
() => false,
)
if (!exists) await vscode.workspace.fs.writeFile(uri, Buffer.from(content()))
const doc = await vscode.workspace.openTextDocument(uri)
await vscode.window.showTextDocument(doc, { preview: false })
} catch (err) {
const msg = err instanceof Error ? err.message : String(err)
console.error("[Kilo New] Failed to open config file:", file, err)
void vscode.window.showErrorMessage(labels.openFailed.replace("{{message}}", () => msg))
}
}
@@ -59,6 +59,37 @@ const Settings: Component<SettingsProps> = (props) => {
})
}
const open = (scope: "local" | "global") => {
const label =
scope === "global" ? language.t("settings.config.scope.global") : language.t("settings.config.scope.local")
vscode.postMessage({
type: "openConfigFile",
scope,
labels: {
scope: label,
statusLoaded: language.t("settings.config.status.loaded"),
statusLoadedLegacy: language.t("settings.config.status.loadedLegacy"),
statusNotLoaded: language.t("settings.config.status.notLoaded"),
statusCreate: language.t("settings.config.status.create"),
title: language.t("settings.config.title", { scope: label }),
placeholder: language.t("settings.config.placeholder"),
noWorkspace: language.t("settings.config.noWorkspace"),
openFailed: language.t("settings.config.openFailed", { scope: label, message: "{{message}}" }),
sourceXdg: language.t("settings.config.source.xdg"),
sourceHomeKilo: language.t("settings.config.source.homeKilo"),
sourceHomeKilocode: language.t("settings.config.source.homeKilocode"),
sourceHomeOpencode: language.t("settings.config.source.homeOpencode"),
sourceEnvFile: language.t("settings.config.source.envFile"),
sourceEnvDir: language.t("settings.config.source.envDir"),
sourceEnvContent: language.t("settings.config.source.envContent"),
sourceProjectKilo: language.t("settings.config.source.projectKilo"),
sourceProjectRoot: language.t("settings.config.source.projectRoot"),
sourceProjectKilocode: language.t("settings.config.source.projectKilocode"),
sourceProjectOpencode: language.t("settings.config.source.projectOpencode"),
},
})
}
// Sync when the parent changes the tab prop (e.g. via navigate message)
createEffect(
on(
@@ -84,10 +115,19 @@ const Settings: Component<SettingsProps> = (props) => {
"border-bottom": "1px solid var(--border-weak-base)",
display: "flex",
"align-items": "center",
"flex-wrap": "wrap",
gap: "8px",
}}
>
<h2 style={{ "font-size": "16px", "font-weight": "600", margin: 0 }}>{language.t("sidebar.settings")}</h2>
<h2 style={{ "font-size": "16px", "font-weight": "600", margin: 0, flex: 1 }}>
{language.t("sidebar.settings")}
</h2>
<Button variant="secondary" size="small" icon="edit" onClick={() => open("local")}>
{language.t("settings.openLocalConfig")}
</Button>
<Button variant="secondary" size="small" icon="edit" onClick={() => open("global")}>
{language.t("settings.openGlobalConfig")}
</Button>
</div>
{/* Settings tabs */}
+23
View File
@@ -822,6 +822,29 @@ export const dict = {
"provider.custom.error.baseURL.format": "يجب أن يبدأ بـ http:// أو https://",
"provider.custom.error.required": "مطلوب",
"provider.custom.error.duplicate": "مكرر",
"settings.openLocalConfig": "تكوين محلي",
"settings.openGlobalConfig": "تكوين عام",
"settings.config.scope.local": "محلي",
"settings.config.scope.global": "عالمي",
"settings.config.status.loaded": "محمل",
"settings.config.status.loadedLegacy": "محمل تكوين قديم",
"settings.config.status.notLoaded": "غير محمل",
"settings.config.status.create": "غير موجود - قم بإنشاء هذا الملف",
"settings.config.title": "فتح ملف تكوين Kilo {{scope}}",
"settings.config.placeholder": "يتم دمج ملفات التكوين بالترتيب؛ الملفات المحددة كمحملة تؤثر حاليًا على الإعدادات.",
"settings.config.noWorkspace": "افتح مجلد مساحة عمل لتحرير ملف تكوين Kilo المحلي.",
"settings.config.openFailed": "فشل فتح ملف تكوين Kilo {{scope}}: {{message}}",
"settings.config.source.xdg": "تكوين XDG العالمي",
"settings.config.source.homeKilo": "تكوين .kilo في Home",
"settings.config.source.homeKilocode": "تكوين .kilocode في Home",
"settings.config.source.homeOpencode": "تكوين .opencode في Home",
"settings.config.source.envFile": "ملف بيئة KILO_CONFIG",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "تكوين البيئة المضمن",
"settings.config.source.projectKilo": "تكوين .kilo للمشروع",
"settings.config.source.projectRoot": "تكوين جذر المشروع",
"settings.config.source.projectKilocode": "تكوين .kilocode القديم",
"settings.config.source.projectOpencode": "تكوين .opencode القديم",
"settings.models.title": "النماذج",
"settings.models.description": "ستكون إعدادات النموذج قابلة للتكوين هنا.",
"settings.agents.title": "الوكلاء",
+25
View File
@@ -830,6 +830,31 @@ export const dict = {
"provider.custom.error.baseURL.format": "Deve começar com http:// ou https://",
"provider.custom.error.required": "Obrigatório",
"provider.custom.error.duplicate": "Duplicado",
"settings.openLocalConfig": "Config Local",
"settings.openGlobalConfig": "Config Global",
"settings.config.scope.local": "Local",
"settings.config.scope.global": "Global",
"settings.config.status.loaded": "carregado",
"settings.config.status.loadedLegacy": "configuração legada carregada",
"settings.config.status.notLoaded": "não carregado",
"settings.config.status.create": "não encontrado - criar este arquivo",
"settings.config.title": "Abrir arquivo de configuração {{scope}} do Kilo",
"settings.config.placeholder":
"Os arquivos de configuração são mesclados em ordem; os arquivos marcados como carregados afetam atualmente as configurações.",
"settings.config.noWorkspace":
"Abra uma pasta de espaço de trabalho para editar o arquivo de configuração local do Kilo.",
"settings.config.openFailed": "Falha ao abrir o arquivo de configuração {{scope}} do Kilo: {{message}}",
"settings.config.source.xdg": "Configuração global do XDG",
"settings.config.source.homeKilo": "Configuração .kilo da Home",
"settings.config.source.homeKilocode": "Configuração .kilocode da Home",
"settings.config.source.homeOpencode": "Configuração .opencode da Home",
"settings.config.source.envFile": "Arquivo de ambiente KILO_CONFIG",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Configuração de ambiente embutida",
"settings.config.source.projectKilo": "Configuração .kilo do projeto",
"settings.config.source.projectRoot": "Configuração raiz do projeto",
"settings.config.source.projectKilocode": "Configuração .kilocode legada",
"settings.config.source.projectOpencode": "Configuração .opencode legada",
"settings.models.title": "Modelos",
"settings.models.description": "Configurações de modelos estarão disponíveis aqui.",
"settings.agents.title": "Agentes",
+24
View File
@@ -836,6 +836,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "Mora početi sa http:// ili https://",
"provider.custom.error.required": "Obavezno",
"provider.custom.error.duplicate": "Duplikat",
"settings.openLocalConfig": "Lokalna konfig.",
"settings.openGlobalConfig": "Globalna konfig.",
"settings.config.scope.local": "Lokalno",
"settings.config.scope.global": "Globalno",
"settings.config.status.loaded": "učitano",
"settings.config.status.loadedLegacy": "učitana zastarjela konfiguracija",
"settings.config.status.notLoaded": "nije učitano",
"settings.config.status.create": "nije pronađeno - kreiraj ovu datoteku",
"settings.config.title": "Otvori {{scope}} Kilo konfiguracijsku datoteku",
"settings.config.placeholder":
"Konfiguracijske datoteke se spajaju po redu; datoteke označene kao učitane trenutno utiču na postavke.",
"settings.config.noWorkspace": "Otvorite fasciklu radnog prostora da uredite lokalnu Kilo konfiguracijsku datoteku.",
"settings.config.openFailed": "Nije uspjelo otvaranje {{scope}} Kilo konfiguracijske datoteke: {{message}}",
"settings.config.source.xdg": "XDG globalna konfiguracija",
"settings.config.source.homeKilo": "Home .kilo konfiguracija",
"settings.config.source.homeKilocode": "Home .kilocode konfiguracija",
"settings.config.source.homeOpencode": "Home .opencode konfiguracija",
"settings.config.source.envFile": "KILO_CONFIG datoteka okruženja",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Ugrađena konfiguracija okruženja",
"settings.config.source.projectKilo": "Projektna .kilo konfiguracija",
"settings.config.source.projectRoot": "Konfiguracija korijena projekta",
"settings.config.source.projectKilocode": "Zastarjela .kilocode konfiguracija",
"settings.config.source.projectOpencode": "Zastarjela .opencode konfiguracija",
"settings.models.title": "Modeli",
"settings.models.description": "Postavke modela će se ovdje moći podešavati.",
"settings.agents.title": "Agenti",
+24
View File
@@ -829,6 +829,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "Skal starte med http:// eller https://",
"provider.custom.error.required": "Påkrævet",
"provider.custom.error.duplicate": "Duplikat",
"settings.openLocalConfig": "Lokal konfig",
"settings.openGlobalConfig": "Global konfig",
"settings.config.scope.local": "Lokal",
"settings.config.scope.global": "Global",
"settings.config.status.loaded": "indlæst",
"settings.config.status.loadedLegacy": "indlæst forældet konfiguration",
"settings.config.status.notLoaded": "ikke indlæst",
"settings.config.status.create": "ikke fundet - opret denne fil",
"settings.config.title": "Åbn {{scope}} Kilo konfigurationsfil",
"settings.config.placeholder":
"Konfigurationsfiler flettes i rækkefølge; filer markeret som indlæst påvirker i øjeblikket indstillingerne.",
"settings.config.noWorkspace": "Åbn en arbejdsområdemappe for at redigere den lokale Kilo konfigurationsfil.",
"settings.config.openFailed": "Kunne ikke åbne {{scope}} Kilo konfigurationsfil: {{message}}",
"settings.config.source.xdg": "XDG global konfiguration",
"settings.config.source.homeKilo": "Home .kilo konfiguration",
"settings.config.source.homeKilocode": "Home .kilocode konfiguration",
"settings.config.source.homeOpencode": "Home .opencode konfiguration",
"settings.config.source.envFile": "KILO_CONFIG miljøfil",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Indbygget miljøkonfiguration",
"settings.config.source.projectKilo": "Projekt .kilo konfiguration",
"settings.config.source.projectRoot": "Projekt rodkonfiguration",
"settings.config.source.projectKilocode": "Forældet .kilocode konfiguration",
"settings.config.source.projectOpencode": "Forældet .opencode konfiguration",
"settings.models.title": "Modeller",
"settings.models.description": "Modelindstillinger vil kunne konfigureres her.",
"settings.agents.title": "Agenter",
+25
View File
@@ -841,6 +841,31 @@ export const dict = {
"provider.custom.error.baseURL.format": "Muss mit http:// oder https:// beginnen",
"provider.custom.error.required": "Erforderlich",
"provider.custom.error.duplicate": "Duplikat",
"settings.openLocalConfig": "Lokale Config",
"settings.openGlobalConfig": "Globale Config",
"settings.config.scope.local": "Lokal",
"settings.config.scope.global": "Global",
"settings.config.status.loaded": "geladen",
"settings.config.status.loadedLegacy": "veraltete Konfiguration geladen",
"settings.config.status.notLoaded": "nicht geladen",
"settings.config.status.create": "nicht gefunden - diese Datei erstellen",
"settings.config.title": "{{scope}} Kilo-Konfigurationsdatei öffnen",
"settings.config.placeholder":
"Konfigurationsdateien werden der Reihe nach zusammengeführt; als geladen markierte Dateien wirken sich aktuell auf die Einstellungen aus.",
"settings.config.noWorkspace":
"Öffnen Sie einen Arbeitsbereichsordner, um die lokale Kilo-Konfigurationsdatei zu bearbeiten.",
"settings.config.openFailed": "Fehler beim Öffnen der {{scope}} Kilo-Konfigurationsdatei: {{message}}",
"settings.config.source.xdg": "Globale XDG-Konfiguration",
"settings.config.source.homeKilo": "Home .kilo-Konfiguration",
"settings.config.source.homeKilocode": "Home .kilocode-Konfiguration",
"settings.config.source.homeOpencode": "Home .opencode-Konfiguration",
"settings.config.source.envFile": "KILO_CONFIG Umgebungsdatei",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Inline-Umgebungskonfiguration",
"settings.config.source.projectKilo": "Projekt .kilo-Konfiguration",
"settings.config.source.projectRoot": "Projektstamm-Konfiguration",
"settings.config.source.projectKilocode": "Veraltete .kilocode-Konfiguration",
"settings.config.source.projectOpencode": "Veraltete .opencode-Konfiguration",
"settings.models.title": "Modelle",
"settings.models.description": "Modelleinstellungen können hier konfiguriert werden.",
"settings.agents.title": "Agenten",
@@ -830,6 +830,29 @@ export const dict = {
"provider.custom.error.baseURL.format": "Must start with http:// or https://",
"provider.custom.error.required": "Required",
"provider.custom.error.duplicate": "Duplicate",
"settings.openLocalConfig": "Local Config",
"settings.openGlobalConfig": "Global Config",
"settings.config.scope.local": "Local",
"settings.config.scope.global": "Global",
"settings.config.status.loaded": "loaded",
"settings.config.status.loadedLegacy": "loaded legacy config",
"settings.config.status.notLoaded": "not loaded",
"settings.config.status.create": "not found - create this file",
"settings.config.title": "Open {{scope}} Kilo config file",
"settings.config.placeholder": "Config files are merged in order; files marked loaded currently affect settings.",
"settings.config.noWorkspace": "Open a workspace folder to edit the local Kilo config file.",
"settings.config.openFailed": "Failed to open {{scope}} Kilo config file: {{message}}",
"settings.config.source.xdg": "XDG global config",
"settings.config.source.homeKilo": "Home .kilo config",
"settings.config.source.homeKilocode": "Home .kilocode config",
"settings.config.source.homeOpencode": "Home .opencode config",
"settings.config.source.envFile": "KILO_CONFIG environment file",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Inline environment config",
"settings.config.source.projectKilo": "Project .kilo config",
"settings.config.source.projectRoot": "Project root config",
"settings.config.source.projectKilocode": "Legacy .kilocode config",
"settings.config.source.projectOpencode": "Legacy .opencode config",
"settings.models.title": "Models",
"settings.models.description": "Model settings will be configurable here.",
"settings.agents.title": "Agents",
+25
View File
@@ -836,6 +836,31 @@ export const dict = {
"provider.custom.error.baseURL.format": "Debe empezar con http:// o https://",
"provider.custom.error.required": "Obligatorio",
"provider.custom.error.duplicate": "Duplicado",
"settings.openLocalConfig": "Config local",
"settings.openGlobalConfig": "Config global",
"settings.config.scope.local": "Local",
"settings.config.scope.global": "Global",
"settings.config.status.loaded": "cargado",
"settings.config.status.loadedLegacy": "configuración heredada cargada",
"settings.config.status.notLoaded": "no cargado",
"settings.config.status.create": "no encontrado - crear este archivo",
"settings.config.title": "Abrir archivo de configuración Kilo {{scope}}",
"settings.config.placeholder":
"Los archivos de configuración se combinan en orden; los archivos marcados como cargados afectan actualmente a los ajustes.",
"settings.config.noWorkspace":
"Abre una carpeta de espacio de trabajo para editar el archivo de configuración Kilo local.",
"settings.config.openFailed": "Error al abrir el archivo de configuración Kilo {{scope}}: {{message}}",
"settings.config.source.xdg": "Configuración global XDG",
"settings.config.source.homeKilo": "Configuración .kilo de Home",
"settings.config.source.homeKilocode": "Configuración .kilocode de Home",
"settings.config.source.homeOpencode": "Configuración .opencode de Home",
"settings.config.source.envFile": "Archivo de entorno KILO_CONFIG",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Configuración de entorno en línea",
"settings.config.source.projectKilo": "Configuración .kilo del proyecto",
"settings.config.source.projectRoot": "Configuración raíz del proyecto",
"settings.config.source.projectKilocode": "Configuración heredada .kilocode",
"settings.config.source.projectOpencode": "Configuración heredada .opencode",
"settings.models.title": "Modelos",
"settings.models.description": "La configuración de modelos estará disponible aquí.",
"settings.agents.title": "Agentes",
+25
View File
@@ -841,6 +841,31 @@ export const dict = {
"provider.custom.error.baseURL.format": "Doit commencer par http:// ou https://",
"provider.custom.error.required": "Requis",
"provider.custom.error.duplicate": "Doublon",
"settings.openLocalConfig": "Config locale",
"settings.openGlobalConfig": "Config globale",
"settings.config.scope.local": "Local",
"settings.config.scope.global": "Global",
"settings.config.status.loaded": "chargé",
"settings.config.status.loadedLegacy": "configuration obsolète chargée",
"settings.config.status.notLoaded": "non chargé",
"settings.config.status.create": "introuvable - créer ce fichier",
"settings.config.title": "Ouvrir le fichier de configuration Kilo {{scope}}",
"settings.config.placeholder":
"Les fichiers de configuration sont fusionnés dans l'ordre ; les fichiers marqués comme chargés affectent actuellement les paramètres.",
"settings.config.noWorkspace":
"Ouvrez un dossier d'espace de travail pour modifier le fichier de configuration Kilo local.",
"settings.config.openFailed": "Échec de l'ouverture du fichier de configuration Kilo {{scope}} : {{message}}",
"settings.config.source.xdg": "Configuration globale XDG",
"settings.config.source.homeKilo": "Configuration .kilo de Home",
"settings.config.source.homeKilocode": "Configuration .kilocode de Home",
"settings.config.source.homeOpencode": "Configuration .opencode de Home",
"settings.config.source.envFile": "Fichier d'environnement KILO_CONFIG",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Configuration d'environnement en ligne",
"settings.config.source.projectKilo": "Configuration .kilo du projet",
"settings.config.source.projectRoot": "Configuration racine du projet",
"settings.config.source.projectKilocode": "Configuration obsolète .kilocode",
"settings.config.source.projectOpencode": "Configuration obsolète .opencode",
"settings.models.title": "Modèles",
"settings.models.description": "Les paramètres des modèles seront configurables ici.",
"settings.agents.title": "Agents",
+24
View File
@@ -827,6 +827,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "http:// または https:// で始まる必要があります",
"provider.custom.error.required": "必須",
"provider.custom.error.duplicate": "重複",
"settings.openLocalConfig": "ローカル設定",
"settings.openGlobalConfig": "グローバル設定",
"settings.config.scope.local": "ローカル",
"settings.config.scope.global": "グローバル",
"settings.config.status.loaded": "読み込み済み",
"settings.config.status.loadedLegacy": "旧構成を読み込み済み",
"settings.config.status.notLoaded": "読み込まれていません",
"settings.config.status.create": "見つかりません - このファイルを作成する",
"settings.config.title": "{{scope}}のKilo構成ファイルを開く",
"settings.config.placeholder":
"構成ファイルは順番にマージされます。読み込み済みとしてマークされているファイルが現在設定に影響しています。",
"settings.config.noWorkspace": "ローカルのKilo構成ファイルを編集するには、ワークスペースフォルダーを開いてください。",
"settings.config.openFailed": "{{scope}}のKilo構成ファイルを開けませんでした: {{message}}",
"settings.config.source.xdg": "XDGグローバル構成",
"settings.config.source.homeKilo": "Homeの.kilo構成",
"settings.config.source.homeKilocode": "Homeの.kilocode構成",
"settings.config.source.homeOpencode": "Homeの.opencode構成",
"settings.config.source.envFile": "KILO_CONFIG環境ファイル",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "インライン環境構成",
"settings.config.source.projectKilo": "プロジェクトの.kilo構成",
"settings.config.source.projectRoot": "プロジェクトルート構成",
"settings.config.source.projectKilocode": "旧.kilocode構成",
"settings.config.source.projectOpencode": "旧.opencode構成",
"settings.models.title": "モデル",
"settings.models.description": "モデル設定はここで構成できます。",
"settings.agents.title": "エージェント",
+24
View File
@@ -827,6 +827,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "http:// 또는 https://로 시작해야 합니다",
"provider.custom.error.required": "필수",
"provider.custom.error.duplicate": "중복",
"settings.openLocalConfig": "로컬 설정",
"settings.openGlobalConfig": "전역 설정",
"settings.config.scope.local": "로컬",
"settings.config.scope.global": "글로벌",
"settings.config.status.loaded": "로드됨",
"settings.config.status.loadedLegacy": "레거시 구성 로드됨",
"settings.config.status.notLoaded": "로드되지 않음",
"settings.config.status.create": "찾을 수 없음 - 이 파일 만들기",
"settings.config.title": "{{scope}} Kilo 구성 파일 열기",
"settings.config.placeholder":
"구성 파일은 순서대로 병합됩니다. 로드됨으로 표시된 파일이 현재 설정에 영향을 미칩니다.",
"settings.config.noWorkspace": "로컬 Kilo 구성 파일을 편집하려면 작업 영역 폴더를 엽니다.",
"settings.config.openFailed": "{{scope}} Kilo 구성 파일을 열지 못했습니다: {{message}}",
"settings.config.source.xdg": "XDG 글로벌 구성",
"settings.config.source.homeKilo": "Home .kilo 구성",
"settings.config.source.homeKilocode": "Home .kilocode 구성",
"settings.config.source.homeOpencode": "Home .opencode 구성",
"settings.config.source.envFile": "KILO_CONFIG 환경 파일",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "인라인 환경 구성",
"settings.config.source.projectKilo": "프로젝트 .kilo 구성",
"settings.config.source.projectRoot": "프로젝트 루트 구성",
"settings.config.source.projectKilocode": "레거시 .kilocode 구성",
"settings.config.source.projectOpencode": "레거시 .opencode 구성",
"settings.models.title": "모델",
"settings.models.description": "모델 설정은 여기서 구성할 수 있습니다.",
"settings.agents.title": "에이전트",
+24
View File
@@ -830,6 +830,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "Moet beginnen met http:// of https://",
"provider.custom.error.required": "Vereist",
"provider.custom.error.duplicate": "Duplicaat",
"settings.openLocalConfig": "Lokale config",
"settings.openGlobalConfig": "Globale config",
"settings.config.scope.local": "Lokaal",
"settings.config.scope.global": "Globaal",
"settings.config.status.loaded": "geladen",
"settings.config.status.loadedLegacy": "verouderde configuratie geladen",
"settings.config.status.notLoaded": "niet geladen",
"settings.config.status.create": "niet gevonden - maak dit bestand",
"settings.config.title": "Open {{scope}} Kilo-configuratiebestand",
"settings.config.placeholder":
"Configuratiebestanden worden op volgorde samengevoegd; bestanden gemarkeerd als geladen hebben momenteel invloed op de instellingen.",
"settings.config.noWorkspace": "Open een werkruimtemap om het lokale Kilo-configuratiebestand te bewerken.",
"settings.config.openFailed": "Kan {{scope}} Kilo-configuratiebestand niet openen: {{message}}",
"settings.config.source.xdg": "XDG globale configuratie",
"settings.config.source.homeKilo": "Home .kilo-configuratie",
"settings.config.source.homeKilocode": "Home .kilocode-configuratie",
"settings.config.source.homeOpencode": "Home .opencode-configuratie",
"settings.config.source.envFile": "KILO_CONFIG omgevingsbestand",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Inline omgevingsconfiguratie",
"settings.config.source.projectKilo": "Project .kilo-configuratie",
"settings.config.source.projectRoot": "Project root configuratie",
"settings.config.source.projectKilocode": "Verouderde .kilocode-configuratie",
"settings.config.source.projectOpencode": "Verouderde .opencode-configuratie",
"settings.models.title": "Modellen",
"settings.models.description": "Model-instellingen zullen hier configureerbaar zijn.",
"settings.agents.title": "Agenten",
+24
View File
@@ -833,6 +833,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "Må starte med http:// eller https://",
"provider.custom.error.required": "Påkrevd",
"provider.custom.error.duplicate": "Duplikat",
"settings.openLocalConfig": "Lokal konfig",
"settings.openGlobalConfig": "Global konfig",
"settings.config.scope.local": "Lokal",
"settings.config.scope.global": "Global",
"settings.config.status.loaded": "lastet",
"settings.config.status.loadedLegacy": "lastet inn eldre konfigurasjon",
"settings.config.status.notLoaded": "ikke lastet",
"settings.config.status.create": "ikke funnet - opprett denne filen",
"settings.config.title": "Åpne {{scope}} Kilo-konfigurasjonsfil",
"settings.config.placeholder":
"Konfigurasjonsfiler slås sammen i rekkefølge; filer merket som lastet påvirker for øyeblikket innstillingene.",
"settings.config.noWorkspace": "Åpne en arbeidsområdemappe for å redigere den lokale Kilo-konfigurasjonsfilen.",
"settings.config.openFailed": "Klarte ikke å åpne {{scope}} Kilo-konfigurasjonsfil: {{message}}",
"settings.config.source.xdg": "XDG global konfigurasjon",
"settings.config.source.homeKilo": "Home .kilo-konfigurasjon",
"settings.config.source.homeKilocode": "Home .kilocode-konfigurasjon",
"settings.config.source.homeOpencode": "Home .opencode-konfigurasjon",
"settings.config.source.envFile": "KILO_CONFIG miljøfil",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Innebygd miljøkonfigurasjon",
"settings.config.source.projectKilo": "Prosjekt .kilo-konfigurasjon",
"settings.config.source.projectRoot": "Prosjektets rotkonfigurasjon",
"settings.config.source.projectKilocode": "Eldre .kilocode-konfigurasjon",
"settings.config.source.projectOpencode": "Eldre .opencode-konfigurasjon",
"settings.models.title": "Modeller",
"settings.models.description": "Modellinnstillinger vil kunne konfigureres her.",
"settings.agents.title": "Agenter",
+24
View File
@@ -834,6 +834,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "Musi zaczynać się od http:// lub https://",
"provider.custom.error.required": "Wymagane",
"provider.custom.error.duplicate": "Duplikat",
"settings.openLocalConfig": "Konfig. lokalna",
"settings.openGlobalConfig": "Konfig. globalna",
"settings.config.scope.local": "Lokalne",
"settings.config.scope.global": "Globalne",
"settings.config.status.loaded": "wczytano",
"settings.config.status.loadedLegacy": "wczytano przestarzałą konfigurację",
"settings.config.status.notLoaded": "nie wczytano",
"settings.config.status.create": "nie znaleziono - utwórz ten plik",
"settings.config.title": "Otwórz plik konfiguracyjny Kilo ({{scope}})",
"settings.config.placeholder":
"Pliki konfiguracyjne są scalane po kolei; pliki oznaczone jako wczytane mają obecnie wpływ na ustawienia.",
"settings.config.noWorkspace": "Otwórz folder obszaru roboczego, aby edytować lokalny plik konfiguracyjny Kilo.",
"settings.config.openFailed": "Nie udało się otworzyć pliku konfiguracyjnego Kilo ({{scope}}): {{message}}",
"settings.config.source.xdg": "Globalna konfiguracja XDG",
"settings.config.source.homeKilo": "Konfiguracja .kilo (Home)",
"settings.config.source.homeKilocode": "Konfiguracja .kilocode (Home)",
"settings.config.source.homeOpencode": "Konfiguracja .opencode (Home)",
"settings.config.source.envFile": "Plik środowiskowy KILO_CONFIG",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Wbudowana konfiguracja środowiska",
"settings.config.source.projectKilo": "Konfiguracja .kilo projektu",
"settings.config.source.projectRoot": "Konfiguracja główna projektu",
"settings.config.source.projectKilocode": "Przestarzała konfiguracja .kilocode",
"settings.config.source.projectOpencode": "Przestarzała konfiguracja .opencode",
"settings.models.title": "Modele",
"settings.models.description": "Ustawienia modeli będą tutaj konfigurowalne.",
"settings.agents.title": "Agenci",
+25
View File
@@ -835,6 +835,31 @@ export const dict = {
"provider.custom.error.baseURL.format": "Должен начинаться с http:// или https://",
"provider.custom.error.required": "Обязательно",
"provider.custom.error.duplicate": "Дубликат",
"settings.openLocalConfig": "Локальный конфиг",
"settings.openGlobalConfig": "Глобальный конфиг",
"settings.config.scope.local": "Локальный",
"settings.config.scope.global": "Глобальный",
"settings.config.status.loaded": "загружено",
"settings.config.status.loadedLegacy": "загружена устаревшая конфигурация",
"settings.config.status.notLoaded": "не загружено",
"settings.config.status.create": "не найдено - создать этот файл",
"settings.config.title": "Открыть файл конфигурации Kilo ({{scope}})",
"settings.config.placeholder":
"Файлы конфигурации объединяются по порядку; файлы, отмеченные как загруженные, в данный момент влияют на настройки.",
"settings.config.noWorkspace":
"Откройте папку рабочей области для редактирования локального файла конфигурации Kilo.",
"settings.config.openFailed": "Не удалось открыть файл конфигурации Kilo ({{scope}}): {{message}}",
"settings.config.source.xdg": "Глобальная конфигурация XDG",
"settings.config.source.homeKilo": "Конфигурация .kilo (Home)",
"settings.config.source.homeKilocode": "Конфигурация .kilocode (Home)",
"settings.config.source.homeOpencode": "Конфигурация .opencode (Home)",
"settings.config.source.envFile": "Файл среды KILO_CONFIG",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Встроенная конфигурация среды",
"settings.config.source.projectKilo": "Конфигурация .kilo проекта",
"settings.config.source.projectRoot": "Корневая конфигурация проекта",
"settings.config.source.projectKilocode": "Устаревшая конфигурация .kilocode",
"settings.config.source.projectOpencode": "Устаревшая конфигурация .opencode",
"settings.models.title": "Модели",
"settings.models.description": "Настройки моделей будут доступны здесь.",
"settings.agents.title": "Агенты",
+24
View File
@@ -826,6 +826,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "ต้องขึ้นต้นด้วย http:// หรือ https://",
"provider.custom.error.required": "จำเป็น",
"provider.custom.error.duplicate": "ซ้ำ",
"settings.openLocalConfig": "คอนฟิก Local",
"settings.openGlobalConfig": "คอนฟิก Global",
"settings.config.scope.local": "ภายใน",
"settings.config.scope.global": "ทั่วโลก",
"settings.config.status.loaded": "โหลดแล้ว",
"settings.config.status.loadedLegacy": "โหลดการตั้งค่าแบบเก่าแล้ว",
"settings.config.status.notLoaded": "ยังไม่ได้โหลด",
"settings.config.status.create": "ไม่พบ - สร้างไฟล์นี้",
"settings.config.title": "เปิดไฟล์การตั้งค่า Kilo ({{scope}})",
"settings.config.placeholder":
"ไฟล์การตั้งค่าจะถูกผสานตามลำดับ ไฟล์ที่ถูกทำเครื่องหมายว่าโหลดแล้วจะมีผลกับการตั้งค่าในปัจจุบัน",
"settings.config.noWorkspace": "เปิดโฟลเดอร์พื้นที่ทำงานเพื่อแก้ไขไฟล์การตั้งค่า Kilo ภายใน",
"settings.config.openFailed": "ไม่สามารถเปิดไฟล์การตั้งค่า Kilo ({{scope}}): {{message}}",
"settings.config.source.xdg": "การตั้งค่า XDG ทั่วโลก",
"settings.config.source.homeKilo": "การตั้งค่า .kilo ของ Home",
"settings.config.source.homeKilocode": "การตั้งค่า .kilocode ของ Home",
"settings.config.source.homeOpencode": "การตั้งค่า .opencode ของ Home",
"settings.config.source.envFile": "ไฟล์สภาพแวดล้อม KILO_CONFIG",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "การตั้งค่าสภาพแวดล้อมแบบอินไลน์",
"settings.config.source.projectKilo": "การตั้งค่า .kilo ของโปรเจกต์",
"settings.config.source.projectRoot": "การตั้งค่ารูทของโปรเจกต์",
"settings.config.source.projectKilocode": "การตั้งค่า .kilocode แบบเก่า",
"settings.config.source.projectOpencode": "การตั้งค่า .opencode แบบเก่า",
"settings.models.title": "โมเดล",
"settings.models.description": "การตั้งค่าโมเดลจะสามารถกำหนดค่าได้ที่นี่",
"settings.agents.title": "เอเจนต์",
+24
View File
@@ -832,6 +832,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "http:// veya https:// ile başlamalı",
"provider.custom.error.required": "Gerekli",
"provider.custom.error.duplicate": "Tekrar",
"settings.openLocalConfig": "Yerel Config",
"settings.openGlobalConfig": "Global Config",
"settings.config.scope.local": "Yerel",
"settings.config.scope.global": "Küresel",
"settings.config.status.loaded": "yüklendi",
"settings.config.status.loadedLegacy": "eski yapılandırma yüklendi",
"settings.config.status.notLoaded": "yüklenmedi",
"settings.config.status.create": "bulunamadı - bu dosyayı oluştur",
"settings.config.title": "{{scope}} Kilo yapılandırma dosyasını aç",
"settings.config.placeholder":
"Yapılandırma dosyaları sırayla birleştirilir; yüklendi olarak işaretlenen dosyalar şu anda ayarları etkiler.",
"settings.config.noWorkspace": "Yerel Kilo yapılandırma dosyasını düzenlemek için bir çalışma alanı klasörü açın.",
"settings.config.openFailed": "{{scope}} Kilo yapılandırma dosyası açılamadı: {{message}}",
"settings.config.source.xdg": "XDG küresel yapılandırma",
"settings.config.source.homeKilo": "Home .kilo yapılandırması",
"settings.config.source.homeKilocode": "Home .kilocode yapılandırması",
"settings.config.source.homeOpencode": "Home .opencode yapılandırması",
"settings.config.source.envFile": "KILO_CONFIG ortam dosyası",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Satır içi ortam yapılandırması",
"settings.config.source.projectKilo": "Proje .kilo yapılandırması",
"settings.config.source.projectRoot": "Proje kök yapılandırması",
"settings.config.source.projectKilocode": "Eski .kilocode yapılandırması",
"settings.config.source.projectOpencode": "Eski .opencode yapılandırması",
"settings.models.title": "Modeller",
"settings.models.description": "Model ayarları burada yapılandırılabilecek.",
"settings.agents.title": "Ajanlar",
+24
View File
@@ -832,6 +832,30 @@ export const dict = {
"provider.custom.error.baseURL.format": "Має починатися з http:// або https://",
"provider.custom.error.required": "Обов'язкове поле",
"provider.custom.error.duplicate": "Дублікат",
"settings.openLocalConfig": "Локальний конфіг",
"settings.openGlobalConfig": "Глобальний конфіг",
"settings.config.scope.local": "Локальний",
"settings.config.scope.global": "Глобальний",
"settings.config.status.loaded": "завантажено",
"settings.config.status.loadedLegacy": "завантажено застарілу конфігурацію",
"settings.config.status.notLoaded": "не завантажено",
"settings.config.status.create": "не знайдено - створити цей файл",
"settings.config.title": "Відкрити файл конфігурації Kilo ({{scope}})",
"settings.config.placeholder":
"Файли конфігурації об'єднуються по порядку; файли, позначені як завантажені, наразі впливають на налаштування.",
"settings.config.noWorkspace": "Відкрийте папку робочої області, щоб відредагувати локальний файл конфігурації Kilo.",
"settings.config.openFailed": "Не вдалося відкрити файл конфігурації Kilo ({{scope}}): {{message}}",
"settings.config.source.xdg": "Глобальна конфігурація XDG",
"settings.config.source.homeKilo": "Конфігурація .kilo (Home)",
"settings.config.source.homeKilocode": "Конфігурація .kilocode (Home)",
"settings.config.source.homeOpencode": "Конфігурація .opencode (Home)",
"settings.config.source.envFile": "Файл середовища KILO_CONFIG",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "Вбудована конфігурація середовища",
"settings.config.source.projectKilo": "Конфігурація .kilo проєкту",
"settings.config.source.projectRoot": "Коренева конфігурація проєкту",
"settings.config.source.projectKilocode": "Застаріла конфігурація .kilocode",
"settings.config.source.projectOpencode": "Застаріла конфігурація .opencode",
"settings.models.title": "Моделі",
"settings.models.description": "Тут можна буде налаштовувати параметри моделей.",
"settings.agents.title": "Агенти",
+23
View File
@@ -816,6 +816,29 @@ export const dict = {
"provider.custom.error.baseURL.format": "必须以 http:// 或 https:// 开头",
"provider.custom.error.required": "必填",
"provider.custom.error.duplicate": "重复",
"settings.openLocalConfig": "本地配置",
"settings.openGlobalConfig": "全局配置",
"settings.config.scope.local": "本地",
"settings.config.scope.global": "全局",
"settings.config.status.loaded": "已加载",
"settings.config.status.loadedLegacy": "已加载旧版配置",
"settings.config.status.notLoaded": "未加载",
"settings.config.status.create": "未找到 - 创建此文件",
"settings.config.title": "打开 {{scope}} Kilo 配置文件",
"settings.config.placeholder": "配置文件按顺序合并;标记为已加载的文件目前会影响设置。",
"settings.config.noWorkspace": "打开工作区文件夹以编辑本地 Kilo 配置文件。",
"settings.config.openFailed": "无法打开 {{scope}} Kilo 配置文件:{{message}}",
"settings.config.source.xdg": "XDG 全局配置",
"settings.config.source.homeKilo": "主目录 .kilo 配置",
"settings.config.source.homeKilocode": "主目录 .kilocode 配置",
"settings.config.source.homeOpencode": "主目录 .opencode 配置",
"settings.config.source.envFile": "KILO_CONFIG 环境变量文件",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "内联环境配置",
"settings.config.source.projectKilo": "项目 .kilo 配置",
"settings.config.source.projectRoot": "项目根目录配置",
"settings.config.source.projectKilocode": "旧版 .kilocode 配置",
"settings.config.source.projectOpencode": "旧版 .opencode 配置",
"settings.models.title": "模型",
"settings.models.description": "模型设置将在此处可配置。",
"settings.agents.title": "智能体",
+23
View File
@@ -818,6 +818,29 @@ export const dict = {
"provider.custom.error.baseURL.format": "必須以 http:// 或 https:// 開頭",
"provider.custom.error.required": "必填",
"provider.custom.error.duplicate": "重複",
"settings.openLocalConfig": "本機設定",
"settings.openGlobalConfig": "全域設定",
"settings.config.scope.local": "本地",
"settings.config.scope.global": "全域",
"settings.config.status.loaded": "已載入",
"settings.config.status.loadedLegacy": "已載入舊版設定",
"settings.config.status.notLoaded": "未載入",
"settings.config.status.create": "找不到 - 建立此檔案",
"settings.config.title": "開啟 {{scope}} Kilo 設定檔",
"settings.config.placeholder": "設定檔會按順序合併;標記為已載入的檔案目前會影響設定。",
"settings.config.noWorkspace": "開啟工作區資料夾以編輯本地 Kilo 設定檔。",
"settings.config.openFailed": "無法開啟 {{scope}} Kilo 設定檔:{{message}}",
"settings.config.source.xdg": "XDG 全域設定",
"settings.config.source.homeKilo": "主目錄 .kilo 設定",
"settings.config.source.homeKilocode": "主目錄 .kilocode 設定",
"settings.config.source.homeOpencode": "主目錄 .opencode 設定",
"settings.config.source.envFile": "KILO_CONFIG 環境變數檔案",
"settings.config.source.envDir": "KILO_CONFIG_DIR",
"settings.config.source.envContent": "內聯環境設定",
"settings.config.source.projectKilo": "專案 .kilo 設定",
"settings.config.source.projectRoot": "專案根目錄設定",
"settings.config.source.projectKilocode": "舊版 .kilocode 設定",
"settings.config.source.projectOpencode": "舊版 .opencode 設定",
"settings.models.title": "模型",
"settings.models.description": "可在此調整模型設定。",
"settings.agents.title": "代理程式",
@@ -163,6 +163,33 @@ export interface OpenVSCodeSettingsRequest {
query: string
}
export interface OpenConfigFileRequest {
type: "openConfigFile"
scope: "local" | "global"
labels: {
scope: string
statusLoaded: string
statusLoadedLegacy: string
statusNotLoaded: string
statusCreate: string
title: string
placeholder: string
noWorkspace: string
openFailed: string
sourceXdg: string
sourceHomeKilo: string
sourceHomeKilocode: string
sourceHomeOpencode: string
sourceEnvFile: string
sourceEnvDir: string
sourceEnvContent: string
sourceProjectKilo: string
sourceProjectRoot: string
sourceProjectKilocode: string
sourceProjectOpencode: string
}
}
export interface OpenMarketplacePanelRequest {
type: "openMarketplacePanel"
}
@@ -901,6 +928,7 @@ export type WebviewMessage =
| OpenExternalRequest
| OpenSettingsPanelRequest
| OpenVSCodeSettingsRequest
| OpenConfigFileRequest
| OpenMarketplacePanelRequest
| OpenFileRequest
| CancelLoginRequest